/*********************/
/*    FUNCTIONS      */
/*********************/
/* Popup AddPet */
function addPets(uid, petsType) {
    var nWin = window.open("pop_pets.asp?uid="+ uid +"&pType="+ petsType, "Popup_More_Pets","width=380,height=300,resizable=0,toolbar=0,scrollbars=1,status=0,menubar=0").focus();
}

function PopCnil() {
    var nWin = window.open("cnil.asp","Popup_CNIL","width=410,height=480,resizable=0,toolbar=0,scrollbars=yes,status=0,menubar=0").focus();
}


/*********************/
/*    CHECK FORMS    */
/*********************/
/* 
Check Jeu : /jeu/form.asp 
*/
function checkJeuForm(form) {
    var errmsg = "Merci de remplir l'intégralité des champs marqués d'un astérisque: \n";
	var lenInit = errmsg.length;
	var cDate = new Date();
	var dChien = new Date(parseInt(form.Pet1_year[form.Pet1_year.selectedIndex].value), parseInt(form.Pet1_month[form.Pet1_month.selectedIndex].value), 1);
		alert(parseInt(dChien) - parseInt(cDate));
		
	if (!isChecked(form.Reg_TitleId))	errmsg +=" - Votre civilité\n";
	if (isEmpty(form.Reg_SurName)) 			errmsg +=" - Votre nom\n";
	if (isEmpty(form.Reg_FirstName)) 		errmsg +=" - Votre prénom\n";
	if (!isEmail(form.Reg_Username))		errmsg +=" - Votre email\n";
	if (isEmpty(form.Reg_StreetAddress1))		errmsg +=" - Votre adresse\n";
	if (!isCodePostal(form.Reg_PostCode))		errmsg +=" - Votre code postal\n";
	if (isEmpty(form.Reg_City))		errmsg +=" - Votre ville\n";
	if (!checkDate(form.day[form.day.selectedIndex].value, form.month[form.month.selectedIndex].value, form.year[form.year.selectedIndex].value)) errmsg +=" - Votre date de naissance\n";
	if (form.Reg_NumChildren.selectedIndex ==0)	errmsg +=" - Le nombre d'enfants au foyer\n";
	if (form.Reg_NumCats[form.Reg_NumCats.selectedIndex].value =="-1") errmsg +=" - Le nombre de chats au foyer\n";
	if ( (parseInt(form.Reg_NumCats[form.Reg_NumCats.selectedIndex].value) > 0)&&((form.Pet2_year.selectedIndex==0)||(form.Pet2_month.selectedIndex==0) )) errmsg +=" - La date de naissance de votre plus jeune chat\n";
	if (parseInt(form.Reg_NumCats[form.Reg_NumCats.selectedIndex].value) > 0)
	{
	    var dChat = new Date(parseInt(form.Pet2_year[form.Pet2_year.selectedIndex].value), parseInt(form.Pet2_month[form.Pet2_month.selectedIndex].value), 1);
	}
	
	if ( (parseInt(form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value) >0)&&(form.frequence.selectedIndex==0) )	errmsg +=" - La fréquence à laquelle vous donnez des produits Cesar® à votre chien\n";

	if (parseInt(form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value) >0)
	{
	    var dChien = new Date(parseInt(form.Pet1_year[form.Pet1_year.selectedIndex].value), parseInt(form.Pet1_month[form.Pet1_month.selectedIndex].value), 1);
		alert(parseInt(dChien) - parseInt(cDate));
	}
	if (form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value =="-1") errmsg +=" - Le nombre de chiens au foyer\n";
	if ( (parseInt(form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value) > 0)&&((form.Pet1_year.selectedIndex==0)||(form.Pet1_month.selectedIndex==0) )) errmsg +=" - La date de naissance de votre plus jeune chien\n";
	if ( (parseInt(form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value) >0)&&(form.Pet1_SizeID.selectedIndex==0) )	errmsg +=" - Le poids de votre plus jeune chien\n";
	if (!isChecked(form.COM_marketingWantsEmail))		errmsg +=" - Souhaitez vous bénéficier d’informations et de bons de réduction \nde la part de Cesar® et des marques Masterfoods ?\n";
	if (errmsg.length > lenInit) {
	    alert(errmsg);
		return false;
	} else return true;
}


/*
Check Step1 : /club/inscription/form_step1.asp
*/
function checkStep1(form) {
	var longueur = form.Reg_Password.value.length;
    var errmsg = "Merci de remplir l'intégralité des champs marqués d'un astérisque: \n";
	var lenInit = errmsg.length;
	var cDate = new Date();
	var sYear="";
	if (!isChecked(form.Reg_TitleId))	errmsg +=" - Votre civilité\n";
	if (isEmpty(form.Reg_SurName)) 			errmsg +=" - Votre nom\n";
	if (isEmpty(form.Reg_FirstName)) 		errmsg +=" - Votre prénom\n";
	if (!isEmail(form.Reg_Username))		errmsg +=" - Votre email\n";
	if (isEmpty(form.Reg_StreetAddress1))		errmsg +=" - Votre adresse\n";
	if (!isCodePostal(form.Reg_PostCode))		errmsg +=" - Votre code postal\n";
	if (isEmpty(form.Reg_City))		errmsg +=" - Votre ville\n";
	if ((longueur < 6) == true) 	errmsg +=" - Votre mot de passe doit avoir entre 6 et 10 caractères\n";
	if (isEmpty(form.Reg_Password)==true) 	errmsg +=" - Veuillez saisir à nouveau votre mot de passe\n";
	if (isEqual(form.Reg_Password, form.RePwd)==false) 	errmsg +=" - Veuillez confirmer correctement votre mot de passe\n";

	if (!checkDate(form.day[form.day.selectedIndex].value, form.month[form.month.selectedIndex].value, form.year[form.year.selectedIndex].value)) {
		errmsg +=" - Votre date de naissance\n";
	}
	if (form.Reg_NumChildren[form.Reg_NumChildren.selectedIndex].value =="-1")	errmsg +=" - Le nombre d'enfants au foyer\n";
	if (form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value =="-1") {
		errmsg +=" - Le nombre de chiens au foyer\n";	
	} else if (parseInt(form.Reg_NumDogs[form.Reg_NumDogs.selectedIndex].value) >0) {	
	    if (isEmpty(form.Pet1_Name)) {
			errmsg +=" - Le nom de votre plus jeune chien\n";
		}
	}
	
	if (form.Reg_NumCats[form.Reg_NumCats.selectedIndex].value == "-1") {
		errmsg +=" - Le nombre de chats au foyer\n";
	} else if (parseInt(form.Reg_NumCats[form.Reg_NumCats.selectedIndex].value)>0) {
	     if (isEmpty(form.Pet2_Name)) {
		 	errmsg +=" - Le nom de votre plus jeune chat\n";
		}
	}
	if (!isChecked(form.COM_marketingWantsEmail)) {
		errmsg +=" - Souhaitez-vous bénéficier d’informations et de bons de réduction \nde la part de Cesar® et des marques Masterfoods ?\n";
	}
	
	var inpt1 = document.getElementById('marque1');
	var inpt2 = document.getElementById('marque2');
	var inpt3 = document.getElementById('marque3');
	var inpt4 = document.getElementById('marque4');
	var inpt5 = document.getElementById('marque5');
	if(inpt1.checked || inpt2.checked || inpt3.checked || inpt4.checked || inpt5.checked) {	
		var inputs = [[inpt1, 'marque1-line'], [inpt2, 'marque2-line'], [inpt3, 'marque3-line'], [inpt4, 'marque4-line'], [inpt5, 'marque5-line']];
		for(var i=0; i<inputs.length; ++i) {
			var el = inputs[i][0];
			if(!el.checked) continue;
			var line = document.getElementById(inputs[i][1]);
			var selects = line.getElementsByTagName('select');
			var s1 = selects[0];
			var s2 = selects[1];
			if(0 == s1.selectedIndex || 0 == s2.selectedIndex) {
				errmsg += "- Veuillez remplir la marque et la fréquence d'utilisation des types d'alimentations.\n";
				break;
			}
		}
	} else {
		errmsg += "- Vous devez renseigner au moins un type d'alimentation\n"
	}
	
	if (errmsg.length > lenInit) {
	    alert(errmsg);
		return false;
	} else {
		return true;
	}
}

function checkStep2(form) {
	var errmsg = "Merci de remplir l'intégralité des champs marqués d'un astérisque: \n";
	var lenInit = errmsg.length;
	var inpt01 = document.getElementById('SURV1_answer_free');
	var inpt02 = document.getElementById('SURV2_answer_free');
	var inpt03 = document.getElementById('SURV3_answer_free');
	var inpt04 = document.getElementById('SURV4_answer_free');
	var inpt05 = document.getElementById('SURV5_answer_free');
	var inpt06 = document.getElementById('SURV6_answer_free');
	if(inpt01.checked || inpt02.checked || inpt03.checked || inpt04.checked || inpt05.checked || inpt06.checked) {	}
	else {
		errmsg += "- Vous devez renseigner au minimum un avantage Toujours Complice\n"
	}

	var inpt10 = document.getElementById('Reg_Feedadvice_FK');
	if(inpt10.checked) {	}
	else {
		errmsg += "- Vous devez renseigner un argument santé\n"
	}
	
	var inpt100 = document.getElementById('Reg_PurchCriteria_FK');
	if(inpt100.checked) {	}
	else {
		errmsg += "- Vous devez renseigner au moins un critère de choix de nourriture\n"
	}
	
	if (errmsg.length > lenInit) {
		alert(errmsg);
		return false;
	} else {
		alert('form ok');
		return true;
	}
}

function checkCurrentDate(annee, mois) {
    var cDate = new Date();
	var fDate = new Date(annee, mois, 1);
	if (Date.parse(cDate) - Date.parse(fDate) > 0)
	    return true;
	else
	    return false;
}

/*********************/
/* GENERIC FUNCTIONS */
/*********************/
function isEmpty(elm) {
    var elmstr = elm.value + "";
    if (elmstr.length == 0) return true;
    else return false;
}

function ReplaceAcc(elm) {
	var are = /[àâä]/gi;
	var ere = /[éèêë]/gi;
	var ire = /[ïî]/gi;
	var ure = /[ùûü]/gi;
	elm = elm.replace(are,"a");
	elm = elm.replace(ere,"e");
	elm = elm.replace(ire,"i");
	elm = elm.replace(ure,"u");
	return (elm);	
}

function isValidDate(elm) {
	var elmstr = elm.value +"";
	var re = /[0-3][0-9]\/[0-1][0-9]\/[1-2][0-9]{3}/i;
	if (elmstr.search(re) == -1)	return false;
	return true;
}

/* is correct email */
function isEmail(elm) {
        if ((elm.value.indexOf(" ") + "" == "-1"
        && elm.value.indexOf("@") + "" != "-1"
		&& elm.value.indexOf("@") + "" != "0"
        && (elm.value.lastIndexOf(".") > elm.value.indexOf("@")+1)
		&& (elm.value.lastIndexOf(".") < elm.value.length-2)
		&& (isValidChar(elm) == true) && (isValidExt(elm) == true)
        && elm.value != "")) return true;
        else return false;
}

// Is the account valid?
function isValidChar(elm) {
	var elmstr = elm.value + "";
	elmstr = elmstr.substring(0,elmstr.indexOf("@"));
	var re = /[\s\'\"\|\?\,\;\:\!\/\`\\\[\]]/gi;
	if (elmstr.search(re) != -1  )		return false;
	return true;
}

//is the Ext valid?
function isValidExt(elm) {
	var elmstr = elm.value +"";
	elmstr = elmstr.substring(elmstr.lastIndexOf(".")+1, elmstr.length);
	var re1 = /[0-9]/gi;
	var re2 = /[\s\'\"\|\?\,\;\:\!\/\`\\\[\]]/gi;
	if ((elmstr.search(re1) != -1 )||(elmstr.search(re2) != -1 )) 		return false;
	return true;
}

function isCodePostal(elm) {
    var elmstr = elm.value +"";
	var re = /[0-9]{5}/gi;
	if (elmstr.length != 5)
	    return false;
	else {
	    if (elmstr.search(re) == -1) return false;
		else return true;
	}
}

// check that one checkbox is checked
function isChecked(elm) {
       for (var i=0; i<elm.length; i++) {
         if (elm[i].checked==true) return true;
       }
       return false;
}

//Check if the radio is checked with the txt value
function isCheckValue(elm,txt) {
var valeur = new String();
valeur = txt;
    for (var i=0; i<elm.length; i++) {
      if ( (elm[i].checked==true)&& (elm[i].value==valeur)) return true;
    }
    return false;
  }

function isDate(day, month, year) {
 if (month.value>=1 && month.value <=12 && year.value>1753 && year.value<9999) {
     if( month.value==2 && day.value>29 ) return false;
     else if ((month.value == 1 ||month.value == 3 || month.value == 5|| month.value == 7|| month.value == 8|| month.value == 10|| month.value == 12) && day.value>31) return false;
     else if(day.value >30) return false;
     return true;
 }
 return false;
}

function checkDate(jour, mois, annee) {
if ( (mois >= 1 && mois <= 12)&&(annee > 1899 && annee < 2500) ) {
    if (mois == 2 && jour > 29)  return false; 
	else if ( ((mois == 1)||(mois==3)||(mois == 5)||(mois == 7)||(mois == 8)||(mois==10)||(mois == 12))&&(jour > 31))
	 return false;
	else if ( ((mois == 4) ||(mois==6)||(mois==9)||(mois==11))&&(jour>30)) return false;
	return true;
}
return false;
}

function checkRadio( radio ) {
 for( i = 0; i < radio.length && radio[i].checked == false; i++ ) ;
       return i < radio.length ;
}

//Check if the radio is checked with the txt value
function isCheckValue(elm,txt) {
var valeur = new String();
valeur = txt;
    for (var i=0; i<elm.length; i++) {
      if ( (elm[i].checked==true)&& (elm[i].value==valeur)) return true;
    }
    return false;
  }

function getRadioValue(elm) {
    for(var i=0; i<elm.length;i++)
	   if(elm[i].checked == true) return elm[i].value;
	return null;
}

//Teste si les valeurs des 2 champs pwd et confpwd sont identiques
function isEqual(elm1,elm2) {
       if (elm1.value.toUpperCase() != elm2.value.toUpperCase()) return false;
       return true;
}