ecommerce.alert = {
	
	open: function(zform) {
		var zpaid     = zform.down('input[name=package_id]').value ;
		var zref      = zform.down('input[name=package_gescom_ref]').value ;
		var ztitle    = zform.down('input[name=package_title]').value ;
		var zvignette = zform.down('input[name=package_vignette_src]').value ;	
		
		var zdiv = $('cssid_package_alert');
		var zclone = zdiv.cloneNode(true);
		
		zclone.down('div.cssclass_image').innerHTML = '<img src="'+zvignette+'" alt="'+ztitle+'" />';
		zclone.down('div.cssclass_title').innerHTML = ztitle;
		zclone.down('div.cssclass_subtitle').innerHTML = ecommerce.utils.translate('Référence#Reference')+' '+zref;
	
		zclone.down('form').down('input[name=package_id]').value = zpaid;
		
		zclone.down('a.cssclass_close').observe('click', ecommerce.alert.close.bind(this));
		zclone.down('form').down('input[name=alert_email]').observe('blur', ecommerce.alert.onEmailBlur.bind(this));
		zclone.down('form').observe('submit', ecommerce.alert.submit.bind(this));
		
		ecommerce.ajaxmask.show('',false);
		
		var zmodal = $('cssid_modal');
		
		zmodal.update(zclone);
		zmodal.show();
		zclone.show();
		zclone.setStyle( { width: zmodal.getWidth()+'px' } );
		new Effect.Move(zmodal, { x: document.viewport.getWidth()/2-(zmodal.getWidth()/2), y: document.viewport.getScrollOffsets().top+document.viewport.getHeight()/2-zmodal.getHeight()/2, mode: 'absolute' });
	},
	
	close: function(event) {
		var zmodal = $('cssid_modal');
		zmodal.hide();
		ecommerce.ajaxmask.hide();
		zmodal.update('');
	},
	
	submit: function(event) {
		Event.stop(event);
		
		var element = Event.element(event);
		if (element.tagName.toLowerCase()!='form') return ;
		
		var zform   = element ;
		var zinput;
		var zcontainer;
		var zmessage;
		
		var zmodal = $('cssid_modal');
		
		zinput = zform.down('input[name=alert_email]');
		if ( (!zinput.next('div.cssclass_mandatory').hasClassName('cssclass_verified')) &&
			 (ecommerce.alert.verifyEmail(zinput)==false) ) {
			alert(ecommerce.utils.translate('Veuillez saisir une adresse valide#Please enter a valid e-mail address'));
			zinput.focus();
			return false;
		}
		
		zmodal.hide();
		ecommerce.ajaxmask.showLoader(ecommerce.utils.translate('Envoi en cours...#Your request is being processed...'));
		
		var zi = '';
		var zj = '';
		var zk = '';
		
		// On mémorise la valeur actuelle de p 
		var zp_input   = $('cssid_selection_form_k').down('input[name=p]');
		var zp_saved   = zp_input.value;
		zp_input.value = zform.down('input[name=package_id]').value; // remplacement du p
		
		zform.down('input[name=k]').value = ecommerce.browsing.formToParam('k');
		zform.down('input[name=j]').value = ecommerce.browsing.formToParam('j');
		zform.down('input[name=i]').value = ecommerce.browsing.formToParam('i');
		
		zp_input.value = zp_saved; // restauration du p
		
		zdata = zform.serialize();
		
	    new Ajax.Request('/pc/ajax_pc_callback.php?action=package_alert',
						 { method: 'post',
						   parameters: zdata,
						   onSuccess: function(transport) {
						   		zcontainer = zform.up('div.cssclass_alert_form');
						   		zmessage = zcontainer.down('div.cssclass_message');
						   		if (transport.responseText=='ok') {
						   			zmessage.update(ecommerce.utils.translate('Votre demande a été prise en compte#Your request has been submitted'));
						   			zmessage.show();
						   			zform.hide();
						   			setTimeout("ecommerce.alert.close()",4000);
						   			
						   		} else {
						   			zmessage.update(ecommerce.utils.translate('Une erreur s\'est produite : #An error occured: ')+transport.responseText);
						   			zmessage.show();
						   			
						   		}
						   		ecommerce.ajaxmask.hideLoader();
						   		zmodal.show();
						   		
						 } } );
		return false;
	},
	
	onEmailBlur: function(event) {
		var element = Event.element(event);
		var zform  = element.up('form');
		var zinput = zform.down('input[name=alert_email]');
		ecommerce.alert.verifyEmail(zinput);
	},
	
	verifyEmail: function(zinput) {
		var zval ;
		var zret ;
		
		zinput.value = zinput.value.strip();
		zval = zinput.value ;
		
		zinput.disable();
		zinput.next('div[class=cssclass_ajaxloader]').show();
		
		if (ecommerce.utils.verifyEmail(zinput.value,true)!=zval) {
	 		zret = false;
			zinput.next('div').removeClassName('cssclass_verified');
 			if (zinput.value.length>0) {
 				zinput.next('div').update(ecommerce.utils.translate('adresse incorrecte#invalid address'));
 			} else {
 				zinput.next('div').update('');
 			}
 			zinput.enable() ;
 			zinput.focus() ;
		} else {
			zret = true;
			zinput.next('div').addClassName('cssclass_verified');
			zinput.next('div').update();
			zinput.enable() ;
		}
		
		zinput.next('div[class=cssclass_ajaxloader]').hide();
		
		return zret ;
	}
	
} ;