function validateEmail(emailAddress) {
   var match = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/.test(emailAddress);
   return match;
}

function isEmail(form,string) {
	string = trimAll(string);
	form2submit = "window.document."+form+".submit()";
if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	eval(form2submit);
else{
	alert("Please enter a valid email address!");
	return false;
}

}
function checkNameForm(form){
	if ((form.fname.value == "" || form.fname.value == null) && (form.lname.value == "" || form.lname.value == null)){
		alert("You must fill one or both of the fields!");
		form.fname.focus();
		
		return false;
	}
	document.formulaireName.submit();
	return true;
}

function changecontent(){
var today = new Date()
var month = today.getMonth() + 1
if (month<10) {
 month = "0"+month	
}
var day = today.getDate()
var year = today.getFullYear()
var s = "-"

window.document.detailedForm.lastCalledYear.value = year 
window.document.detailedForm.lastCalledMonth.value = month 
window.document.detailedForm.lastCalledDay.value = day 
}
function soumettreAreaCode(textfield) {
	//alert( "Please enter only numbers!" );
    var string = trimAll(textfield.value);
	if ((string != "") && (string!= null) && (string.length == 3 || string == 1)){
    	for (var i=0;i < string.length;i++)
        	if ((string.substring(i,i+1) < '0') || (string.substring(i,i+1) > '9')) {
		 		alert( "Please enter numbers only!" );
				textfield.focus();
				return false;
			}
	//window.location="queries.php?fonction=DisplaybyAreaCode&code="+string;	
	document.formulaireAreaCode.submit();
	}else alert( "Invalid Format!" ); 
	
}
function soumettreYearMonth(textfield){
	var year = trimAll(textfield.value)
	var month = window.document.formulaire.month.value
	var day = window.document.formulaire.day.value
	
	window.location="queries.php?fonction=DisplaybyYearMonth&year="+year+"&month="+month+"&day="+day;
	
}
function soumettreTelemarketer(){
	var uid = window.document.formulaire.telemarketername.value;
	var year = window.document.formulaire.adminyear.value;
	var month = window.document.formulaire.adminmonth.value;
	var day = window.document.formulaire.adminday.value;
	
	window.location="admin.php?fonction=DisplaybyTelemarketer&telemarketerid="+uid+"&year="+year+"&month="+month+"&day="+day;
	
}
function soumettreTelemarketerCode(){
	var code = window.document.formulaire.telemarketercode.value;
	var year = window.document.formulaire.codeyear.value;
	var month = window.document.formulaire.codemonth.value;
	var day = window.document.formulaire.codeday.value;
	
	window.location="admin.php?fonction=DisplaybyTelemarketerCode&code="+code+"&year="+year+"&month="+month+"&day="+day;
}
function trimAll(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
return sString;
}

function emails(form, rows){
	var input, mails = "";
	 
	for (var i = 0; i < rows; i++){
		input = "window.document.formemails.email"+i+".value";
		
		if (i != (rows-1)) {
			 mails = mails + eval(input)+";";		
		}else mails = mails + eval(input);
	}
	
	location="mailto:?bcc="+mails;
	
	return true;
}

function checkscript(){
	var d = new Date();
	var curr_year = d.getFullYear();
	var curr_month = d.getMonth();
	curr_month++;
	var curr_day = d.getDate();
	var curr_hour = d.getHours();
	var curr_min = d.getMinutes();
	var val = "";
		
	for (var i=0; i<window.document.detailedForm.code.length; i++)  { 
		if (window.document.detailedForm.code[i].checked)  {
			val = window.document.detailedForm.code[i].value;
		}
	}
	
	if (val == "") {
		alert("Select a code !");
		return false;
	}else if (val =="CBL"){
		var sel_hour = parseInt(window.document.detailedForm.hourCBL.value);
		var sel_min = parseInt(window.document.detailedForm.minutesCBL.value);
		//alert("val= "+val);
		if (sel_hour < curr_hour) {
			alert("Time has to be later today!"); 
			return false;
		}else if (sel_hour == curr_hour && sel_min <= curr_min) {
			alert("Time has to be later today!");
			return false;
		}
		
	}else if (val == "CB"){
		var sel_hour = window.document.detailedForm.hourCB.value;
		var sel_min = window.document.detailedForm.minutesCB.value;
		var sel_year = window.document.detailedForm.yearCB.value;
		
		if (sel_year<curr_year) {
			alert("Cannot be a previous year!");
			return false;
		}else if (sel_year==curr_year && sel_month< curr_month) {
			alert("Cannot be a previous month!");
			return false;
		}else if (sel_year==curr_year && sel_month == curr_month && sel_day<=curr_day) {
			alert("Cannot be a previous or cuurent day!");
			return false;
		}
		
		
	}else if (val == "WCB"){
		var sel_year = window.document.detailedForm.yearWCB.value;
		var sel_month = window.document.detailedForm.monthWCB.value;
		var sel_day = window.document.detailedForm.dayWCB.value;
		if (sel_year<curr_year) {
			alert("Cannot be a previous year!");
			return false;
		}else if (sel_year==curr_year && sel_month< curr_month) {
			alert("Cannot be a previous month!");
			return false;
		}else if (sel_year==curr_year && sel_month == curr_month && sel_day<curr_day) {
			alert("Cannot be a previous day!");
			return false;
		}
	}
	
	//alert(val + " "+curr_year +" "+ curr_month +" "+curr_day+ " " + curr_hour+" " + curr_min);
	return true;
}

function isBissextile(an) {  return  ((( an % 4 == 0 ) && ( an % 100 != 0 || an % 400 == 0 )) ? true : false ); }


function checkDate(an,mois,day){
	
	if(mois == 1 || mois == 3 || mois == 5 || mois == 7 || mois == 8 || mois == 10 || mois == 12){
		day.options[28]=new Option("29", "29", false, false);
		day.options[29]=new Option("30", "30", false, false);
		day.options[30]=new Option("31", "31", false, false);
		
	}else if (mois == 4 || mois == 6 || mois == 9 || mois == 11){
		day.options[28]=new Option("29", "29", false, false);
		day.options[29]=new Option("30", "30", false, false);
		day.options.length = 30;
		
	}else if (mois == 2 && isBissextile(an)){
		day.options[28]=new Option("29", "29", false, false);
		day.options.length = 29;
				
	}else day.options.length = 28;
		
	
}

function HideOrShowStuff(controlToHide)
{
    if (document.getElementById)
    {

       if(controlToHide==1){
            document.getElementById('bill_area').disabled = false;
            document.getElementById('bill_area').style.backgroundColor = 'white';

            document.getElementById('bill_phone1').disabled = false;
            document.getElementById('bill_phone1').style.backgroundColor = 'white';
			
			document.getElementById('bill_phone2').disabled = false;
            document.getElementById('bill_phone2').style.backgroundColor = 'white';

            document.getElementById('bill_ext').disabled = false;
            document.getElementById('bill_ext').style.backgroundColor = 'white';


            document.getElementById('bill_other').disabled = true;
            document.getElementById('bill_other').style.backgroundColor = 'gray';
            document.getElementById('bill_other').value ="";

        }else if(controlToHide == 2) {
            document.getElementById('bill_other').disabled = false;
            document.getElementById('bill_other').style.backgroundColor = 'white';


            document.getElementById('bill_area').disabled = true;
            document.getElementById('bill_area').style.backgroundColor = 'gray';
            document.getElementById('bill_area').value ="";
            document.getElementById('bill_phone1').disabled = true;
            document.getElementById('bill_phone1').style.backgroundColor = 'gray';
            document.getElementById('bill_phone1').value ="";
			document.getElementById('bill_phone2').disabled = true;
            document.getElementById('bill_phone2').style.backgroundColor = 'gray';
            document.getElementById('bill_phone2').value ="";
            document.getElementById('bill_ext').disabled = true;
            document.getElementById('bill_ext').style.backgroundColor = 'gray';
            document.getElementById('bill_ext').value ="";
        }
    }
    else
    {
        alert('Sorry, your browser doesn\'t support this');
    }
}

function checkfocus(now,len,next){
	//alert(now.value.length);
	if (now.value.length == len) next.focus();	

}

function initialize(){
	var course2 = "", product2 = "";

	for (var k=0; k<document.orderform.numCourses.value; k++){
		course2 = eval("document.orderform.course"+k);
		if(course2.checked)	course2.checked = false;
	}
	
	for (var k=0; k<document.orderform.numProducts.value; k++){
		product2 = eval("document.orderform.product"+k);
		if(product2.checked) product2.checked = false;		
	}
	
	document.orderform.rvarStudentDiscount.checked = false;
	document.orderform.rvarOnlineDiscount.checked = false;
	document.orderform.rvarMultipleClassDiscount.checked = false;
	document.orderform.studentstate.otions[0].selected =true;
	document.orderform.Save.value = "";
	document.orderform.Total.value = "";
	document.orderform.GST.value = "";
	document.orderform.GrandTotal.value = "";

}

var Cost=0, Taxes=0, Save=0, Grand_Total=0, NumCourses=0, RebateOnline=false, RebateMult=false, RebateStudent=false;

function tally(amount2add, checkbox, checkbox_date , add, course){
	
	if (checkbox.checked) {
		if (checkbox_date != null) checkbox_date.disabled = false;
		if (add) Cost = Cost + amount2add;
		else Save = Save + amount2add;
		if (course) NumCourses++;
	}else if (Cost>0){
		if (checkbox_date != null) {
			checkbox_date.value = "not_selected";
			checkbox_date.disabled = true;
		}
		if (add) Cost = Cost - amount2add;
		else Save = Save - amount2add;
		if (course) NumCourses--;
	}
	
	if (NumCourses > 0 && !RebateStudent) {
		document.orderform.rvarStudentDiscount.disabled = false;
		RebateStudent = true;
	}else if(NumCourses == 0 && RebateStudent){
		if (document.orderform.rvarStudentDiscount.checked) {
			document.orderform.rvarStudentDiscount.checked = false;
			Save = Save - 12;
		}
		document.orderform.rvarStudentDiscount.disabled = true;
		RebateStudent = false;
		
	}
	
	/*if(NumCourses > 0) {
		document.orderform.studentstate.options[0].selected = true;
		document.orderform.studentstate.disabled =true;
	}else document.orderform.studentstate.disabled = false;*/
	
	/*if (NumCourses > 0 && !RebateOnline) {
		document.orderform.rvarOnlineDiscount.checked = true;
		RebateOnline = true;
		Save = Save + 10;
	}else if(NumCourses == 0 && RebateOnline){
		document.orderform.rvarOnlineDiscount.checked = false;
		RebateOnline = false;
		Save = Save - 10;
	}*/
	
	if (NumCourses > 1 && !RebateMult) {
		document.orderform.rvarMultipleClassDiscount.checked = true;
		RebateMult = true;
		Save = Save + 35;
	}else if(NumCourses == 1 && RebateMult) {
		document.orderform.rvarMultipleClassDiscount.checked = false;
		RebateMult = false;
		Save = Save - 35;
	}
	
	Cost = parseFloat(Cost);
	Save = parseFloat(Save);
	Taxes = parseFloat(Cost * 0.15025);
	
	Cost = Math.round(Cost * 100) / 100; 
	Save = Math.round(Save * 100) / 100; 
	Taxes = Math.round(Taxes * 100) / 100; 
	
	Grand_Total = Math.round((Cost + Taxes - Save)*100)/100;
	
	document.orderform.Save.value = Save;
	document.orderform.Total.value = Cost;
	document.orderform.GST.value = Taxes;
	document.orderform.GrandTotal.value = Grand_Total;
	//alert(Cost+"   "+Save+"   "+NumCourses+"   "+Taxes+"   "+Grand_Total);
		
}

function isFormEmail(string) {
string = trimAll(string);
if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	return true;
return false;

}

function trimAll(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
return sString;
}

function validate(i,j){
	//alert (i+"   "+j+"   "+document.orderform.radio1[0].value);
	
	
	
	
	if (!checkInput(document.orderform.bill_first_name)) return false;
	else if (!checkInput(document.orderform.bill_last_name)) return false;
    //else if (!checkInput(document.orderform.bill_address_one)) return false;
    else if (!checkInput(document.orderform.bill_city)) return false;
    else if (document.orderform.bill_state_or_province.value == "not_selected"){
        alert("Please select a state");
        document.orderform.bill_state_or_province.focus();
        return false;
    }//else if (!checkInput(document.orderform.bill_postal_code)) return false;
    else if (!checkInput(document.orderform.bill_country)) return false;
    else if (!checkInput(document.orderform.email)) return false; 
	else if (!isFormEmail(document.orderform.email.value)){
		alert("Please enter a valid e-mail address.");
		orderform.email.focus();
        return false;
    }else if (document.orderform.howheard.value == "not_selected"){
        alert("Please select tell us how you heard about us");
        document.orderform.howheard.focus();
        return false;
	}
	if(document.orderform.radio1[0].checked){
		if(!checkPhone(document.orderform.bill_area,3)) return false;
		else if(!checkPhone(document.orderform.bill_phone1,3)) return false;
		else if(!checkPhone(document.orderform.bill_phone2,4)) return false;
	}else if(document.orderform.radio1[1].checked){
		var num = trimAll(document.orderform.bill_other.value);
		if(!checkPhone(document.orderform.bill_other,num.length)) return false;
	}
	
	if(NumCourses == 0 && document.orderform.studentstate.options[0].selected) {
		alert("Student cannot be in \"Inscrit\" MODE! \nPlease select between \"MI\", \"QI\" or \"HI\"!");
		document.orderform.studentstate.focus();
		return false;
	}else if(NumCourses == 0 && document.orderform.studentstate.options[1].selected) {
		alert("Student cannot be in \"Potentiel\" MODE! \nPlease select between \"MI\", \"QI\" or \"HI\"!");
		document.orderform.studentstate.focus();
		return false;
	}
	
	var course = "", course_date ="";
	for (var k=0; k<i ; k++){
		course = eval("document.orderform.course"+k);
		//alert(course);
		//return false;
		if(course.checked){
			course_date = eval("document.orderform.course_date"+k);
			//course_date = eval(course_date);
			if (course_date.value == "not_selected"){
				alert("Please choose a date for your selected course.");
				course_date.focus();
				return false;
			}
		}	
	}
    

	/*reDeposit = new RegExp(/^\d+\.?\d*$/);
	if (Grand_Total > 0){
	 if(document.orderform.charge_total.value.length == 0 || document.orderform.charge_total.value == "" || document.orderform.charge_total.value == null ) {
		alert("Please enter a deposit.");
		document.orderform.charge_total.focus();
        return false;
     }else if (!reDeposit.test(document.orderform.charge_total.value)) {
		alert("Please enter a deposit.");
		document.orderform.charge_total.focus();
        return false;
     }else if (document.orderform.charge_total.value < 20) {
		alert("Deposit too small. It has to be at least 20$");
		document.orderform.charge_total.focus();
       	return false;
	}else if (document.orderform.charge_total.value > Grand_Total) {
		alert("Deposit greater than total.");
		document.orderform.charge_total.focus();
        return false;
	}
   }else {
		alert("Please choose a course or a product.");
		return false;
	}*/

	return true;
}

function checkInput(input){
	var string = trimAll(input.value);	
	if (string.length == 0 || string == "" || string == null) {
		alert("Please fill out all required fields.");
        input.focus();
		return false;
	}
	return true;
}

function checkPhone(input, l){
	var string = trimAll(input.value);
	if((string != "") && (string != null) && (string.length == l)){
    	for (var i=0; i < string.length; i++){
        	if ((string.substring(i,i+1) < '0') || (string.substring(i,i+1) > '9')) {
		 		alert( "Please enter numbers only!" );
				input.focus();
				return false;
			}
		}
	}else {
		alert( "Invalid Format!" ); 
		input.focus();
		return false;
	}
	return true;
}

