

/* --------------------------------------------------------------------------------------------------------------- */
/*                                                 Ajax_Send_Data                                                  */
/* --------------------------------------------------------------------------------------------------------------- */
	// - Nombre de la funcion : Ajax_Send_Data(Array_Var,Requete_php)
	// - Fecha de creacin : 19/06/2007
	// - Fecha de modificacion : 19/06/2007
	// - Version : 1.0.0
	/* ----------------------------------------------------------------------------------------------------------- */
	// - Nombre del autor : Lemarinel Sébastien
	// - Puesto : Encaragdo informatico
	// - Empresa : Eventquoter
	/* ----------------------------------------------------------------------------------------------------------- */
	// - Nombre : Ajax_Send_Data(Array_Var,Requete_php)
	// - Compatible : JAVASCRIPT
	// - Descripcion : Envia los datos con Ajax
	// - Parametros : 
			// -> Ajax_Send_Data : Lista de parametros a enviar (es un string de este formato : Indice1=Param1|Indice2=Param2|...|IndiceN=ParamN)
			// -> Requete_php : Direccion del fichero php que va recibir las datos
	//
/* --------------------------------------------------------------------------------------------------------------- */

function Ajax_Spiner(State){
	
	if(State==true){
		
		window.document.getElementById('Fog_Layer').style.display='block';
		
		var sHtml;
		sHtml = '<div style="text-align:center; margin-top:200px;"><div style="height:70px; width:300px; background-color:#FFFFFF; margin-left:auto; margin-right:auto; border: 3px solid #D66327; 	-moz-border-radius : 10px ;	-webkit-border-radius: 10px; -khtml-border-radius: 10px ; border-radius : 10px ;	"><div style="margin-top:10px;"><span style="font-weight:bold;">Please wait...</span></div><div><img src="../Img/please_wait_01.gif"/></div></div></div>'; 
		
		window.document.getElementById('Fog_Layer').innerHTML=sHtml;
	
		
	}else{
		window.document.getElementById('Fog_Layer').innerHTML="";
		
		window.document.getElementById('Fog_Layer').style.display='none';
	}
	
}

function Ajax_Send_Data(Array_Php_Var,Requete_php){

	var Array_Data=new Array() ;
	var i;
	var String_Post=new String();
	var Add_and="";

	Array_Data=Array_Php_Var.split('|');
	
	for(i=0;i<Array_Data.length;i++){
		//alert (Array_Campo_Form[i].value);
		String_Post=String_Post+Add_and+Array_Data[i] ;
		Add_and="&";
	}

	//Initialisation de l'objet XHR
	var xhr_object = null;

	//
	xhr_object=Ajax_Connect(Requete_php);

	//on envoi les donne via la methode POST
	xhr_object.send(String_Post);

	//document.getElementById('Fog_Layer').style.display ='none';
}
/* --------------------------------------------------------------------------------------------------------------- */
/*                                                   Send_Data                                                     */
/* --------------------------------------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------------------------- */
/*                                                   Send_Form                                                     */
/* --------------------------------------------------------------------------------------------------------------- */
	// - Nombre de la funcion : Send_Form(Id_Form,Array_Var,Requete_php)
	// - Fecha de creacin : 19/06/2007
	// - Fecha de modificacion : 19/06/2007
	// - Version : 1.0.0
	/* ----------------------------------------------------------------------------------------------------------- */
	// - Nombre del autor : Lemarinel Sébastien
	// - Puesto : Encaragdo informatico
	// - Empresa : Eventquoter
	/* ----------------------------------------------------------------------------------------------------------- */
	// - Nombre : Send_Form(Id_Form,Array_Var,Requete_php)
	// - Compatible : JAVASCRIPT
	// - Descripcion : Permite de enviar el contenido de une formulario con Ajax
	// - Parametros : 
			// -> Id_Form : Id del formulario
			// -> Array_Var : Tabla con las otras variables que quieremos enviar
			// -> Requete_php : Dirrecion del fichero php que va recibir las datos
	//
/* --------------------------------------------------------------------------------------------------------------- */
function Ajax_Send_Form(Id_Form,Array_Php_Var,Requete_php){

	
	var Add_and,Add_and_Data,String_Form_Post,String_Var_Post=new String();
	var Array_Campo_Form=new Array() ;
	var Array_Data=new Array() ;
	var i;

	Add_and="";
	Add_and_Data="";
	String_Form_Post="";
	String_Var_Post="";


	if(Array_Php_Var!=''){
		Array_Data=Array_Php_Var.split('|');
	
	
		Add_and_Data="&";
		for(i=0;i<Array_Data.length;i++){
			//alert (Array_Campo_Form[i].value);
			String_Var_Post=String_Var_Post+Add_and_Data+Array_Data[i] ;
			
		}
	}

	Array_Campo_Form=window.document.getElementById(Id_Form).elements;
	
	if(Id_Form!=''){
		//alert(Array_Campo_Form.length);
		for(i=0;i<Array_Campo_Form.length;i++){
			if(Array_Campo_Form[i].type == 'checkbox'){
				String_Form_Post=String_Form_Post+Add_and+Array_Campo_Form[i].name+"="+Array_Campo_Form[i].checked ;
			}else if(Array_Campo_Form[i].type == 'radio'){
				if(Array_Campo_Form[i].checked){
					String_Form_Post=String_Form_Post+Add_and+Array_Campo_Form[i].name+"="+Array_Campo_Form[i].value ;
				}
			}else{
				
				var String_Value=encodeURI(Array_Campo_Form[i].value);
				String_Form_Post=String_Form_Post+Add_and+Array_Campo_Form[i].name+"="+String_Value ;
			
			}
			Add_and="&";
			
			
			var intype = Array_Campo_Form[i].getAttribute('input_type');
			if(intype!=null)
				intype = intype.toUpperCase();
			var required = Array_Campo_Form[i].getAttribute('required');
			if(required!=null)
				required = required.toUpperCase();
			var ok = true;
			switch(intype)
			{
				case 'PRICE': 	ok = Verify_Price(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'EMAIL': 	ok = Verify_Email(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;				
				case 'WEBSITE': ok = Verify_Website(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;	
				case 'INTEGER': ok = Verify_Integer(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'TEXT': 	ok = Verify_Text(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'FLOAT': 	ok = Verify_Float(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'PHONE': 	ok = Verify_Phone(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'POSTCODE': ok = Verify_Postcode(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'PASSWORD': ok = Verify_Password(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;
				case 'DATE': ok = Verify_Date(Array_Campo_Form[i].id,Array_Campo_Form[i].value,required);
								break;																																			
				default: break;
			}
			if (!ok) {
				alert(Error_Message);
				return;
			}			
			
		}
	}
	//Initialisation de l'objet XHR
	var xhr_object = null;

	//
	xhr_object=Ajax_Connect(Requete_php);

	//on envoi les donne via la methode POST
	xhr_object.send(String_Form_Post+String_Var_Post);

	
}
/* --------------------------------------------------------------------------------------------------------------- */
/*                                                   Send_Form                                                     */
/* --------------------------------------------------------------------------------------------------------------- */


function Verify_Price(Id_Campo,Value_Price,required)
{
	var error=0;
	Error_Message=""; 
	
	if(isNaN(Value_Price) || Value_Price<0){ error=1 ; Error_Message="Incorrect Price"; }
	
	if(Value_Price.indexOf(".")=="-1" && Value_Price!="" && error!=1)
		document.getElementById(Id_Campo).value=Value_Price+".00";
	if(required == 'YES' && Value_Price=="") { error=1 ; Error_Message="Required Price"; }
	if(required != 'YES' && Value_Price=="") {error=0 ; Error_Message=""; }
			
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Email(Id_Campo,Value_Email,required)
{
	var error=0;
	Error_Message=""; 
	
	var expresion = /^([a-zA-Z0-9_\.\-^'])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!expresion.test(Value_Email)){ error=1 ; Error_Message="Incorrect E-mail"; }
	if(required == 'YES' && Value_Email=="") { error=1 ; Error_Message="Required E-mail"; }
	if(required != 'YES' && Value_Email=="") {error=0 ; Error_Message=""; }	
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Integer(Id_Campo,Value_Integer,required)
{
	var error=0;
	Error_Message=""; 
	
	if(isNaN(Value_Integer) || Value_Integer<0){ error=1 ; Error_Message="Incorrect value. Must be an integer."; }
	if(Value_Integer.indexOf(".")!="-1"){ error=1 ; Error_Message="Incorrect value. Must be an integer." }	
	if(required == 'YES' && Value_Integer=="") { error=1 ; Error_Message="Required Integer value"; }
	if(required != 'YES' && Value_Integer=="") {error=0 ; Error_Message=""; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Float(Id_Campo,Value_Float,required)
{
	var error=0;
	Error_Message=""; 
	
	if(isNaN(Value_Float) || Value_Float<0){ error=1 ; Error_Message="Incorrect value. It must be a real number.";}
	
	if(required == 'YES' && Value_Float=="") { error=1 ; Error_Message="Required real number value.";}
	if(required != 'YES' && Value_Float=="") {error=0 ; Error_Message=""; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Website(Id_Campo,Value_Website,required)
{
	var error=0;
	Error_Message=""; 
	
	var expresion = /^(?:(http|https):\/\/)?(?:[\w-]+\.)+[a-z]{2,6}$/;
	
	if(!expresion.test(Value_Website)){ error=1 ; Error_Message="Incorrect website value"; }
	if(required == 'YES' && Value_Website=="") { error=1 ; Error_Message="Required Website."; }
	if(required != 'YES' && Value_Website=="") {error=0 ; Error_Message=""; }	
		
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Text(Id_Campo,Value_Text,required)
{
	var error=0;
	Error_Message=""; 
	
	if(required == 'YES' && Value_Text=="") { error=1 ; Error_Message="Required text"; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Phone(Id_Campo,Value_Phone,required)
{
	var error=0;
	Error_Message=""; 
	
	//if(isNaN(Value_Phone) || Value_Phone<0){ error=1 ; }
	//if(Value_Phone.indexOf(".")!="-1"){ error=1 ; }
	if(Value_Phone.length<9 || Value_Phone.length>16) { error=1 ; Error_Message="Incorrect phone format";}
	if(required == 'YES' && Value_Phone=="") { error=1 ; Error_Message="Required Phone or Fax";}
	if(required != 'YES' && Value_Phone=="") {error=0 ; Error_Message=""; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Postcode(Id_Campo,Value_Postcode,required)
{
	var error=0;
	Error_Message=""; 
	
	var expresion = /^([a-zA-Z0-9])+$/;
	if(!expresion.test(Value_Postcode)){ error=1 ; Error_Message="Incorrect Postcode";}
	if(Value_Postcode.length>5) { error=1 ; Error_Message="Incorrect Postcode";}
	if(required == 'YES' && Value_Postcode=="") { error=1 ; Error_Message="Required Postcode";}
	if(required != 'YES' && Value_Postcode=="") {error=0 ; Error_Message=""; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Verify_Password(Id_Campo,Value_Password,required)
{
	var error=0;
	Error_Message=""; 
	
	var expresion = /^([a-zA-Z0-9])+$/;
	if(!expresion.test(Value_Password)){ error=1 ; Error_Message="Incorrect Password. Only alphanumeric passwords accepted";}
	if(Value_Password.length!=8) { error=1 ; Error_Message="Incorrect Password. The password must have 8 characters";}
	if(required == 'YES' && Value_Password=="") { error=1 ; Error_Message="Required Phone or Fax";}
	if(required != 'YES' && Value_Password=="") {error=0 ; Error_Message=""; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}

function Confirm_Password(Id_pwd_1,Id_pwd_2){
	var pwd1=document.getElementById(Id_pwd_1).value;
	var pwd2=document.getElementById(Id_pwd_2).value;
	
	if(pwd1==pwd2){
		document.getElementById(Id_pwd_1).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_pwd_1).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_pwd_1).style.borderStyle=Valid_Style;
		document.getElementById(Id_pwd_2).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_pwd_2).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_pwd_2).style.borderStyle=Valid_Style;
		Error_Message="";
		return true ;
	}else{
		document.getElementById(Id_pwd_1).style.borderColor=Error_Border_Color;
		document.getElementById(Id_pwd_1).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_pwd_1).style.borderStyle=Error_Style;
		document.getElementById(Id_pwd_2).style.borderColor=Error_Border_Color;
		document.getElementById(Id_pwd_2).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_pwd_2).style.borderStyle=Error_Style;
		Error_Message="Incorrect repited password.";
		alert(Error_Message);
		return false ;
	}
}

function Confirm_Email(Id_email_1,Id_email_2){
	var email1=document.getElementById(Id_email_1).value;
	var email2=document.getElementById(Id_email_2).value;
	
	if(email1==email2){
		document.getElementById(Id_email_1).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_email_1).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_email_1).style.borderStyle=Valid_Style;
		document.getElementById(Id_email_2).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_email_2).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_email_2).style.borderStyle=Valid_Style;
		Error_Message="";
		return true ;
	}else{
		document.getElementById(Id_email_1).style.borderColor=Error_Border_Color;
		document.getElementById(Id_email_1).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_email_1).style.borderStyle=Error_Style;
		document.getElementById(Id_email_2).style.borderColor=Error_Border_Color;
		document.getElementById(Id_email_2).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_email_2).style.borderStyle=Error_Style;
		Error_Message="Incorrect repited mail.";
		alert(Error_Message);
		return false ;
	}
}

function Verify_Date(Id_Campo,Value_Date,required)
{
	var error=0;
	Error_Message=""; 
	var expresion = /^\d{2}\-\d{2}\-\d{4}$/;
	if(!expresion.test(Value_Date)){ 
		var expresion = /^\d{4}-\d{2}\-\d{2}$/;
		if(!expresion.test(Value_Date)){ 
			error=1 ; Error_Message="Incorrect Date format.";
		}
		
	}
	if(required == 'YES' && Value_Date=="") { error=1 ; Error_Message="Required Date";}
	if(required != 'YES' && Value_Date=="") {error=0 ; Error_Message=""; }
	
	if(error==1){
		document.getElementById(Id_Campo).style.borderColor=Error_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Error_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Error_Style;
		return false;
	}else{
		Error_Message="";
		document.getElementById(Id_Campo).style.borderColor=Valid_Border_Color;
		document.getElementById(Id_Campo).style.backgroundColor=Valid_Backgroung_Color;
		document.getElementById(Id_Campo).style.borderStyle=Valid_Style;
		return true ;
	}
}
