$(function(){
	//submenus (IE z-index fix):
	if($.browser.msie){
		//check if present:
		if($('*').index($('#navmenu')[0]) > -1) {
		  $('#navmenu ul li').css("position", "relative");
		  var zIndexNumber = 8000;
		  $('#navmenu ul li').each(function() {
			  $(this).css('z-index', zIndexNumber);
			  zIndexNumber -= 1;
		  });
		  
		  navHover();
		}
	}
	
	//prettyPhoto:
	$("a[rel^='prettyPhoto']").prettyPhoto();
	
	//homepage effects:
	$('#homeBannerContainer').cycle({ 
    	fx: 'fade',
		timeout:  6000
	});
	
	$('#homeSolutions').cycle({ 
    	fx: 'fade',
		timeout:  5000,
    	pause: 1 
	});
	
	$('#homeNews').cycle({ 
    	fx: 'scrollUp',
    	pause: 1 
	});
	
	$('.homeClientsImg .images').cycle({ 
    	fx: 'cover',
		timeout:  2000,
		random:  1
	});
	
	//inner banner effects:
	$('.rightColImage').cycle({ 
    	fx: 'fade',
		timeout:  6000
	});
	
});

navHover = function() {
	var lis = document.getElementById("navmenu").getElementsByTagName("LI");
	for (var i=0; i<lis.length; i++) {
		lis[i].onmouseover=function() {
			if(this.className.indexOf('active')<0) this.className+=" iehover";
		}
		lis[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
		}
	}
}

//contacts form:
function validateContactsForm(pLang) {
	//valida os campos: (apenas os obrigatórios):
	formList = [];

	formList[0] = $("#name").val();
	formList[1] = $("#company").val();
	formList[2] = $("#email").val();
	formList[3] = $("#subject").val();

	
	
	//algum campo vazio:
	showWarning = 0;
	i = formList.length;
	
	while(i>=0){
		if(formList[i] == 0) {
			showWarning = 1;
			break;
		}
		i--
	}
	
	//[tb no caso do email não estar em branco, pode estar mal preechido]
	if(showWarning == 1 || checkInvalidEmail() == 1){
	
		//coloca a class do mandatory:
		//vai aos casos em que tem o mandatory e o val() == 0, assim é automático:
		//primeiro retiro a class:
		$($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");
		
		//em cada input, se estiver vazio, vai colocar a class do mandatory
		$($("label .mandatory").parent(), $("input").siblings()).each(function(){
			if($("input", $(this).parent()).val() == 0){
				$(this).addClass("mandatory");
			}
		});
		
		//para o email:
		checkInvalidEmail();
			
		//combos:
		$($("label .mandatory").parent(), $("select").siblings()).each(function(){
			if($("select", $(this).parent()).val() == 0){
				$(this).addClass("mandatory");
			}
		});

		if (pLang == "PT")
		    alert("Por favor preencha/corrija os campos assinalados a vermelho");
		else if (pLang == "EN")
		    alert("Please fill in/correct the fields highlighted in red");
		else if (pLang = "SP")
		    alert("Por favor rellene/corrija los campos marcados en rojo");
		
	} else {
		
		//todos os campos obrigatórios estão preenchidos :)
		/*
		$(".avisoCampos").hide();
		$($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");
		$($("label .mandatory").parent(), $("select").siblings()).removeClass("mandatory");
		*/
		
		//submit do form:
		$("#contactsForm").submit();
	}
		
			
}

//demo request form:
function validateDemoRequestForm(pLang){
	//valida os campos: (apenas os obrigatórios):
	formList = [];

	formList[0] = $("#name").val();
	formList[1] = $("#BI").val();
	formList[2] = $("#address").val();
	formList[3] = $("#zip").val();
	formList[4] = $("#localidade").val();
	formList[5] = $("#email").val();
	formList[6] = $("#codigo").val();
	formList[7] = $("#escola").val();
	formList[8] = $("#escolaridade").val();
	formList[9] = $("#uploadedFile").val();


	

	//algum campo vazio:
	showWarning = 0;
	i = formList.length;
	
	while(i>=0){
		if(formList[i] == 0) {
			showWarning = 1;
			break;
		}
		i--
	}
	
	//[tb no caso do email não estar em branco, pode estar mal preechido]
	if(showWarning == 1 || checkInvalidEmail() == 1){
	
		//coloca a class do mandatory:
		//vai aos casos em que tem o mandatory e o val() == 0, assim é automático:
		//primeiro retiro a class:
		$($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");
		
		//em cada input, se estiver vazio, vai colocar a class do mandatory
		$($("label .mandatory").parent(), $("input").siblings()).each(function(){
			if($("input", $(this).parent()).val() == 0){
				$(this).addClass("mandatory");
			}
		});
		
		//para o email:
		checkInvalidEmail();
			
		//combos:
		$($("label .mandatory").parent(), $("select").siblings()).each(function(){
			if($("select", $(this).parent()).val() == 0){
				$(this).addClass("mandatory");
			}
		});
		
		if(pLang == "PT")
		    alert("Por favor preencha/corrija os campos assinalados a vermelho");
		else if (pLang == "EN")
		    alert("Please fill in/correct the fields highlighted in red");
		    else if (pLang = "SP")
		        alert("Por favor rellene/corrija los campos marcados en rojo");
		
	} else {
		
		//todos os campos obrigatórios estão preenchidos :)
		/*
		$(".avisoCampos").hide();
		$($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");
		$($("label .mandatory").parent(), $("select").siblings()).removeClass("mandatory");
		*/
		
		//submit do form:
		$("#contactsForm").submit();
	}
}


//Order Form
//demo request form:
function validateOrderForm(pLang) {
    //valida os campos: (apenas os obrigatórios):
    formList = [];

    formList[0] = $("#frmname").val();
    formList[1] = $("#frmBI").val();
    formList[2] = $("#frmaddress").val();
    formList[3] = $("#frmzip").val();
    formList[4] = $("#frmlocalidade").val();
    formList[5] = $("#frmemail").val();
    formList[6] = $("#frmtel").val();
    formList[7] = $("#frmcodigo").val();
    formList[8] = $("#frmescola_X").val();
    //formList[9] = $("#frmescolaridade_X").val();
    formList[9] = $("#cbTermsConditions").is(':checked')
    formList[10] = $("#frmNIF").val();
    formList[11] = $("#OS2").val();
    formList[12] = $("#Programa").val();
    formList[13] = $("#Kanguru").val();

    
    if (formList[13] == "Sim") {
        formList[14] = $("#acceptEquipment").is(':checked')
    }
    else {

            formList[14] = $("#documento2").val();
            formList[15] = $("#frmescola").val();
            formList[16] = $("#frmescolaridade").val();
    }

  


    
    
    //algum campo vazio:
    showWarning = 0;
    i = formList.length;

    while (i >= 0) {
        if (formList[i] == 0) {
            showWarning = 1;
            break;
            
        }
        i--
    }
    
    //[tb no caso do email não estar em branco, pode estar mal preechido]
    if (showWarning == 1 || checkInvalidEmailOrder() == 1) {
    

        //coloca a class do mandatory:
        //vai aos casos em que tem o mandatory e o val() == 0, assim é automático:
        //primeiro retiro a class:
        $($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");

        //em cada input, se estiver vazio, vai colocar a class do mandatory
        $($("label .mandatory").parent(), $("input").siblings()).each(function() {
            if ($("input", $(this).parent()).val() == 0) {
                $(this).addClass("mandatory");
            }
        });

        

        //para o email:
        checkInvalidEmailOrder();

        //combos:
        $($("label .mandatory").parent(), $("select").siblings()).each(function() {
            if ($("select", $(this).parent()).val() == 0) {
                $(this).addClass("mandatory");
            }
        });

        if (pLang == "PT")
            alert("Por favor preencha/corrija os campos assinalados a vermelho");
        else if (pLang == "EN")
            alert("Please fill in/correct the fields highlighted in red");
        else if (pLang = "SP")
            alert("Por favor rellene/corrija los campos marcados en rojo");

    } else {
   
        //todos os campos obrigatórios estão preenchidos :)
        /*
        $(".avisoCampos").hide();
        $($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");
        $($("label .mandatory").parent(), $("select").siblings()).removeClass("mandatory");
        */

    //submit do form:
    $("#encomendaEescolas").submit();
    }
}


function validateOrderForm2(pLang) {

   

    //valida os campos: (apenas os obrigatórios):
    formList = [];

    formList[0] = $("#frmnameF2").val();
    formList[1] = $("#frmBIF2").val();
    formList[2] = $("#frmaddressF2").val();
    formList[3] = $("#frmzipF2").val();
    formList[4] = $("#frmlocalidadeF2").val();
    formList[5] = $("#frmemailF2").val();
    formList[6] = $("#frmtelF2").val();
    formList[7] = $("#frmescolaF2").val();
    formList[8] = $("#frmescolaridadeF2").val();
    formList[9] = $("#uploadedFile").val();
    formList[10] = $("#frmNIF2").val();
    formList[11] = $("#Kanguru2").val();
    formList[12] = $("#OS1").val();




    //algum campo vazio:
    showWarning = 0;
    i = formList.length;

    while (i >= 0) {
        if (formList[i] == 0) {
            showWarning = 1;
            break;
        }
        i--
    }

    //[tb no caso do email não estar em branco, pode estar mal preechido]
    if (showWarning == 1 || checkInvalidEmailOrder2() == 1) {
    

        //coloca a class do mandatory:
        //vai aos casos em que tem o mandatory e o val() == 0, assim é automático:
        //primeiro retiro a class:
        $($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");

        //em cada input, se estiver vazio, vai colocar a class do mandatory
        $($("label .mandatory").parent(), $("input").siblings()).each(function() {
            if ($("input", $(this).parent()).val() == 0) {
                $(this).addClass("mandatory");
            }
        });

        //para o email:
        checkInvalidEmailOrder2();

        //combos:
        $($("label .mandatory").parent(), $("select").siblings()).each(function() {
            if ($("select", $(this).parent()).val() == 0) {
                $(this).addClass("mandatory");
            }
        });

        if (pLang == "PT")
            alert("Por favor preencha/corrija os campos assinalados a vermelho");
        else if (pLang == "EN")
            alert("Please fill in/correct the fields highlighted in red");
        else if (pLang = "SP")
            alert("Por favor rellene/corrija los campos marcados en rojo");

    } else {

        //todos os campos obrigatórios estão preenchidos :)
        /*
        $(".avisoCampos").hide();
        $($("label .mandatory").parent(), $("input").siblings()).removeClass("mandatory");
        $($("label .mandatory").parent(), $("select").siblings()).removeClass("mandatory");
        */

        //submit do form:
    $("#encomendaAlunoProf").submit();
    }
}


function checkInvalidEmail(){
	invalidEmail = 0;
	AtPos = $("#email").val().indexOf("@");
	StopPos = $("#email").val().lastIndexOf(".");

	if (AtPos == -1 || StopPos == -1) {
		invalidEmail = 1;
	}

	else if (StopPos < AtPos) {
		invalidEmail = 1;
	}

	else if (StopPos - AtPos == 1) {
		invalidEmail = 1;
	}
	
	if(invalidEmail == 1){
		$("label", $("#email").parent()).addClass("mandatory");
	}
	
	return invalidEmail;
}

function checkInvalidEmailOrder() {
    invalidEmail = 0;
    AtPos = $("#frmemail").val().indexOf("@");
    StopPos = $("#frmemail").val().lastIndexOf(".");

    if (AtPos == -1 || StopPos == -1) {
        invalidEmail = 1;
    }

    else if (StopPos < AtPos) {
        invalidEmail = 1;
    }

    else if (StopPos - AtPos == 1) {
        invalidEmail = 1;
    }

    if (invalidEmail == 1) {
        $("label", $("#frmemail").parent()).addClass("mandatory");
    }

    return invalidEmail;
}

function checkInvalidEmailOrder2() {
    invalidEmail = 0;
    AtPos = $("#frmemailF2").val().indexOf("@");
    StopPos = $("#frmemailF2").val().lastIndexOf(".");

    if (AtPos == -1 || StopPos == -1) {
        invalidEmail = 1;
    }

    else if (StopPos < AtPos) {
        invalidEmail = 1;
    }

    else if (StopPos - AtPos == 1) {
        invalidEmail = 1;
    }

    if (invalidEmail == 1) {
        $("label", $("#frmemailF2").parent()).addClass("mandatory");
    }

    return invalidEmail;
}

function isNumericKeyStroke() {
    var returnValue = false;
    var keyCode = (window.event.which) ? window.event.which : window.event.keyCode;


    if (((keyCode >= 48) && (keyCode <= 57)) || // All numerics
                   (keyCode == 8) ||     // Backspace
                   (keyCode == 13) ||    // Carriage Return
                   (keyCode == 188))     // comma

        returnValue = true;

    if (window.event.returnValue)
        window.event.returnValue = returnValue;

    return returnValue;
}
