/******************** GLOBAL FUNCTIONS ********************/
// PRINT WINDOW
function printWindow(){
   bV = parseInt(navigator.appVersion)
   if (bV >= 4) window.print()
}

// LET USER CONFIRM; FORM SUBMIT 
function isOKFormSubmit (sFormName,sMessage) 
	{ if(confirm(sMessage)) window.document.forms[sFormName].submit(); }

// LET USER CONFIRM; FORM SUBMIT 2
function isOKFormSubmit2 (sFormName,sMessage, val) 
    { if(confirm(sMessage)){
      window.document.forms[sFormName].fld_action.value=val;
      window.document.forms[sFormName].submit();
    } 
}

// LET USER CONFIRM; FORM SUBMIT 3
function isOKFormSubmit3 (sForm, sMessage, val){
 if(confirm(sMessage)){
      sForm.form.fld_action.value=val;
      sForm.form.submit();
    } 
}

// LET USER CONFIRM; LOCATION   
function isOKlocation (sURL, sMessage) 
	{ if(confirm(sMessage)) {location.href = sURL;} }

// CHECK / UNCHECK ALL CHECKBOXES IN FORM
// SFROMNAME =  FORM NAME (STRING)
// SCHECKBOXNAME = CHECKBOX FIELD NAME (STRING)
// BCHECKED = CHECKED OR NOT (BOOLEAN : TRUE/FALSE)
function checkAllBoxes (sFormName, sCheckboxName, bChecked) 
	{ 
	iUpperBound = document.forms[sFormName].elements[sCheckboxName].length;		
	for(var iX = 0; iX < iUpperBound; iX++)
		document.forms[sFormName].elements[sCheckboxName][iX].checked = bChecked;
	} 	

// RESIZER OF ELEMENTS  
var DHTML = (document.getElementById || document.all || document.layers);
function getObj(name){
    if (document.getElementById){
        this.obj = document.getElementById(name);
        this.style = document.getElementById(name).style;
    }
    else if (document.all){
        this.obj = document.all[name];
        this.style = document.all[name].style;
    }
    else if (document.layers){
        this.obj = document.layers[name];
        this.style = document.layers[name];
    }
}
// SET OBJECT LEFT
function setLeft(name_, pos){
    if (!DHTML) return;
    var x = new getObj(name_);
    if (NS4) {
        x.obj.left = pos;
    } else {
        x.style.pixelLeft = pos;
    }
}

// COUNT CHARACTER IN FIELD
function calcCharLeft(target,maxChar,fname,maxLenField) {
	var maxLength = maxChar;
	if (target.value.length > maxLength) {
	  target.value = target.value.substring(0,maxLength);
	  charleft = 0;
	}else{
	  charleft = maxLength - target.value.length;
	}
	document.forms[fname].elements[maxLenField].value = charleft;
}

function resetForm(fname){
    document.forms[fname].reset();
}

function doUnsubscribe(fname){
    var fname = document.forms[fname];
    fname.submit();
}
	/******************** POPUP FUNCTIONS ********************/ 
// ASK THE EXPERT WINDOW
function askTheExpert(aoid){
	if(aoid == undefined){
		aoid = "";
	}
	var newWind=window.open('/app/article/expert.cfm?aoid='+aoid+'&refresh=true','remote','width=576,height=530 top=0 left=0');
	if (newWind.opener == null){ 
		newWind.opener = window; 
	}
}
// window open for the image gallery
function ImageGallery(link){
	var w=window.open(link,"Gallery","scrollbars=no,resizable=yes,width=576,height=530")
	w.focus();
}
// window open for Image Detail display
function ImageDetail(link){
	var w=window.open(link,"ImageDetail","scrollbars=no,resizable=yes,width=860,height=530")
	w.focus();
}
// open window for the sauber quiz    
function OpenQuiz(link){
	var w=window.open(link,"Gallery","scrollbars=no,resizable=no,width=650,height=490")
	w.focus();
}
// open window for the help 
function OpenHelp(link){
	var w=window.open(link,"helpScreen","scrollbars=yes,resizable=yes,width=550,height=500,left=100,top=100,toolbar=no,status=yes")
	w.focus();
}
// open window for communication quiz
function openCom(u){
  var newWind=window.open(u,'remote_com_quiz','resizable=yes,width=1024,height=768 top=0 left=0');
  if (newWind.opener == null){ 
			newWind.opener = window; 
		}
}
// open window for flash
function PopupFlash(link){
	var w=window.open(link,"flash","scrollbars=yes,resizable=no,width=1024,height=768")
	w.focus();
}

// CALENDER FUNCTIONS
function calendarStart(){
	var newWind=window.open('dsp_publishstart.cfm','remote','width=220,height=250 top=150 left=400');
	if (newWind.opener == null)
	{ newWind.opener = window; }
}
		
function calendarEnd(){
	var newWind=window.open('dsp_PublishEnddate.cfm','remote','width=220,height=250 top=150 left=400');
	if (newWind.opener == null)
	{ newWind.opener = window; }
}   

/* ***************** POP UP CSFS ************************* */  
var tipWin = null;
function streamWin(str){
   	window.open(str,'tipWin','width=300,height=360,resizeable=no,scrollbars=no');
}
function streamWinInd(str){
 	window.open(str,'tipWin','width=300,height=420,resizeable=no,scrollbars=no');
}
function streamWint(str){
    window.open(str,'tipWin','width=300,height=365,resizeable=no,scrollbars=no');
}
function Popup(link){
	var w=window.open(link,"galerie","scrollbars=no,resizable=yes,width=500,height=550")
	w.focus();
}
function Popup2(link){
	var w=window.open(link,"galerie","scrollbars=no,resizable=yes,width=675,height=550")
	w.focus();
}
function Popup3(link){
	var w=window.open(link,"galerie","scrollbars=no,resizable=yes,width=670,height=620")
	w.focus();
}
function pup(where){ 
   var w = window.open(where, "graphic_win", "scrollbars=1,resizable=0,width=526,height=312")
   w.focus()
}
function pup2(where){ 
   var w = window.open(where, "graphic_win", "scrollbars=0,resizable=0,width=155,height=230")
   w.focus()
}
function pup3(where){ 
   var w = window.open(where, '', "scrollbars=0,resizable=0,width=430,height=480")
   w.focus()
}
// window open for sorgenbarometer
function openSB(link){
	var w=window.open(link,"Sorgenbarometer","scrollbars=no,resizable=yes,width=800,height=600")
	w.focus();
}
// window open for google map
function openGM(link){
	var w=window.open(link,"Googlemap","scrollbars=yes,toolbar=yes,status=yes,resizable=yes,width=650,height=550")
	w.focus();
}





/******************** SEARCH FORM FUNCTIONS ********************/
// QUICK SEARCH FORM
function qSearch(warning){
	if (document.frmQuickSearch.fld_searchValue.value.length < 3) {
		alert(warning);
		return false;
	} else { 
		document.frmQuickSearch.submit();
	}
}
// ADVANCED SEARCH FORM
function qSearch2(warning){
	if (document.frm_search.fld_searchValue.value.length < 3) {
		alert(warning);
		return false;
	} else { 
		document.frm_search.submit();
	}
}
/******************** ASK THE EXPRET FUNCTIONS ********************/
// ASK THE EXPERT VALIDATOR
function checkExpertForm(){
	if((document.forms[0].fld_name.value != "") && (document.forms[0].fld_question.value != "") && (document.forms[0].fld_email.value.indexOf('@') > 0 && document.forms[0].fld_email.value.indexOf('.') > 0 )){
		document.forms[0].submit();
	}else{
		alert('Veuillez remplir correctement tous les champs.');
	}
}

/******************** QUIZ WIZARD FUNCTIONS ********************/
// CHECK QUIZ FORM
function checkQuizForm(e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,hmq){

    //alert("enabled list:" + e1+","+e2+","+e3+","+e4+","+e5+","+e6+","+e7+","+e8+","+e9+","+e10);
    //alert("required list:" + r1+","+r2+","+r3+","+r4+","+r5+","+r6+","+r7+","+r8+","+r9+","+r10);

    // set form name
    if(!fname){
        var fname = 'frm_quizform';
    } else {
        var fname = fname;
    }
    // set how many quetsions
    var howManyQuestions = hmq;

		//check salutation 
        // loop radiobuttons
		if (document.forms[fname].fld_salutation != undefined){
			for (i=1; i < 2; i++){
				var vaQuest = getSelectedRadio(eval('document.forms[fname].fld_salutation'));
				if (vaQuest==-1) {
					alert('Veuillez indiquer votre en-tête');
					return;
				}
			}
		}
        /* check surname */
        if(e1==true&&r1==true){
            var vaFName = document.forms[fname].fld_qf_surname.value;
            if (vaFName == ''){
    			alert ('Veuillez indiquer votre nom.');
    			document.forms[fname].fld_qf_surname.focus();
    			return;}
        }
		/* check name */
        if(e2==true&&r2==true){
            var vaLName = document.forms[fname].fld_qf_name.value;
            if (vaLName == ''){
    			alert ('Veuillez indiquer votre prénom.');
    			document.forms[fname].fld_qf_name.focus();
    			return;}
        }
        /* check address */
        if(e3==true&&r3==true){
            var vaAddress = document.forms[fname].fld_qf_address.value;
    		if (vaAddress == ''){
    			alert ('Veuillez indiquer votre adresse.');
    			document.forms[fname].fld_qf_address.focus();
    			return;}
        }
        /* check postal code */
        if(e4==true&&r4==true){
    		var vaPLZ = document.forms[fname].fld_qf_plz.value;
            if (vaPLZ == ''){
    			alert ('Veuillez indiquer votre numéro postal d\'acheminement ');
    			document.forms[fname].fld_qf_plz.focus();
    			return;}
        }
        /* check city */
        if(e5==true&&r5==true){
		    var vaCity = document.forms[fname].fld_qf_city.value;	
        	if (vaCity == ''){
			    alert ('Veuillez indiquer votre ville');
			    document.forms[fname].fld_qf_city.focus();
			    return;}
        }    
        /* check country */
        if(e6==true&&r6==true){
		    var vaCountry = document.forms[fname].fld_qf_country.selectedIndex;	
            if (vaCountry == 0){
			    alert ('Veuillez sélectionner votre pays');
			    document.forms[fname].fld_qf_country.focus();
			    return;}
        }             
        /* check email */    
        if(e7==true&&r7==true){
            var vaEMail = document.forms[fname].fld_qf_email.value;
            if (vaEMail == ''){
			    alert ('Veuillez indiquer votre adresse e-mail');
			    document.forms[fname].fld_qf_email.focus();
			    return;}
            if (vaEMail != ''){
		        if (vaEMail.indexOf('@') == -1 && vaEMail.indexOf('.') == -1 ){
				    alert ('Veuillez indiquer une adresse e-mail valable');
				    document.forms[fname].fld_qf_email.focus();
				    return;}    
             }
        } 
        /* check tel */
        if(e8==true&&r8==true){
		    var vaTel = document.forms[fname].fld_qf_tel.value;	
        	if (vaTel == ''){
			    alert ('Veuillez indiquer votre numéro de téléphone');
			    document.forms[fname].fld_qf_tel.focus();
			    return;}
        } 
        
        /* check newsletter
        if(e9==true&&r9==true){
            var vaNewsletter = document.forms[fname].fld_qf_newsletter.checked;
            if (vaNewsletter != 1){
			    alert ('Bitte Abonnieren Sie den Newsletter.');
			    document.forms[fname].fld_qf_tel.focus();
			    return;}
        }
 		*/
        // loop radiobuttons
        for (i=1; i < howManyQuestions+1; i++){
            var vaQuest = getSelectedRadio(eval('document.forms[fname].fld_answer'+i));
            if (vaQuest==-1) {
				var errorMessage = "Veuillez sélectionner une réponse à la question!";
                alert(errorMessage);
                return;
            }
        }
		//alert('the form will be submitted now !');
        // submit
        window.document.forms[fname].submit();
}

// GET RADIO BUTTON GROUPS
function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function
// JS FILE
function checkFormContact(fname){ 
		var formName = "frm_quizform";
        var fname = document.forms[formName];

        // set variables
        var vaLName = fname.fld_lastname.value;
        var vaFName = fname.fld_name.value;
		var vaAddress = fname.fld_address.value;
		var vaPlz = fname.fld_plz.value;
		var vaCity = fname.fld_city.value;
		var vaLand = fname.fld_land.value;
		var vaEmail = fname.fld_customer_email.value;
        var vaPrivatePhone = fname.fld_telefon_private.value;
        var vaWorkPhone = fname.fld_telefon_g.value;
 	    var vaFax = fname.fld_fax.value;
		var vaReachedLen = fname.fld_reached_by.length;
        var vaReachedSelected = false;
        var vaReachedValue = "";

	var valegalInformation = fname.fld_legalInformation.checked;	 
		
		var vaGenderLen = fname.fld_salutation.length;
        var vaGenderSelected = false;
		
		// check gender
        for (count=0; count < vaGenderLen; count++){
            if(fname.fld_salutation[count].checked){
                vaGenderSelected = true;
                break;}
        }

        
		// check reachability
        for (count=0; count < vaReachedLen; count++){
            if(fname.fld_reached_by[count].checked){
                vaReachedSelected = true;
                vaReachedValue = fname.fld_reached_by[count].value;
                break;
            }
        } 
	

if (fname.fld_legalInformation.checked){
               var valegalInformation = true;
            }




		// check salutation 
        if ( ! vaGenderSelected){
            alert ("Veuillez indiquer votre en-tête");
            return false;}




		 // check first name
		if (vaFName == ""){
            alert ("Veuillez indiquer votre nom.");
            fname.fld_name.focus();
            return false;}
			
			// check last name 
        if (vaLName == ""){
            alert ("Veuillez indiquer votre prénom.");
            fname.fld_lastname.focus();
            return false;}
			
			// check address 
        if (vaAddress == ""){
            alert ("Veuillez indiquer votre adresse.");
            fname.fld_address.focus();
            return false;}
			
			// check plz 
        if (vaPlz == ""){
            alert ("Veuillez indiquer votre numéro postal d\'acheminement ");
            fname.fld_plz.focus();
            return false;}		
	
	// check city 
        if (vaCity == ""){
            alert ("Veuillez indiquer votre ville");
            fname.fld_city.focus();
            return false;}	
			
	// check land 
        if (vaLand == "pleaseSelectCountry"){
            alert ("Veuillez sélectionner votre pays");
            fname.fld_land.focus();
            return false;}	
		// check reached by 
        if ( ! vaReachedSelected){
            alert ("Veuillez indiquer de quelle manière vous souhaitez être contacté.");
            return false;
        }
        
        switch (vaReachedValue) {
            case "email" : {
            	// check customer email 
                    if (vaEmail == ""){
                        alert ("Veuillez indiquer votre adresse e-mail");
                        fname.fld_customer_email.focus();
                        return false;
                    }
                break;
            }
            case "phone_home" : {
            	// check customer priv phone 
                    if (vaPrivatePhone == ""){
                        alert ("Veuillez indiquer votre numéro de téléphone privé.");
                        fname.fld_telefon_private.focus();
                        return false;
                    }
                break;
            }
            case "phone_work" : {
            	// check customer work phone 
                    if (vaWorkPhone == ""){
                        alert ("Veuillez indiquer votre numéro professionnel.");
                        fname.fld_telefon_g.focus();
                        return false;
                    }
                break;
            }
			     case "fax" : {
            	// check customer fax 
                    if (vaFax == ""){
                        alert ("Veuillez indiquer votre numéro de fax");
                        fname.fld_fax.focus();
                        return false;
                    }
                break;
            }
        }	
if ( ! valegalInformation) {
            alert ("Veuillez accepter l'information juridique.");
            return false;}


			
        // send form    
        fname.submit();
		
		
} // JS FILE
function checkFormOpinion(fname){ 
		var formName = "frm_opinionform";
        var fname = document.forms[formName];

        // set variables
        var vaEmail = fname.fld_customer_email.value;
        var vaPrivatePhone = fname.fld_telefon_private.value;
        var vaWorkPhone = fname.fld_telefon_g.value;
 	    var vaFax = fname.fld_fax.value;
		var vaReachedLen = fname.fld_reached_by.length;
        var vaReachedSelected = false;
        var vaReachedValue = "";
		
		// check reachability
        for (count=0; count < vaReachedLen; count++){
            if(fname.fld_reached_by[count].checked){
                vaReachedSelected = true;
                vaReachedValue = fname.fld_reached_by[count].value;
                break;
            }
        } 

if (fname.fld_legalInformation.checked){
               var valegalInformation = true;
            }


 
		// check reached by 
        if ( ! vaReachedSelected){
            alert ("Veuillez indiquer de quelle manière vous souhaitez être contacté.");
            return false;
        }
        
        switch (vaReachedValue) {
            case "email" : {
            	// check customer email 
                    if (vaEmail == ""){
                        alert ("Veuillez indiquer votre adresse e-mail");
                        fname.fld_customer_email.focus();
                        return false;
                    }
                break;
            }
            case "phone_home" : {
            	// check customer priv phone 
                    if (vaPrivatePhone == ""){
                        alert ("Veuillez indiquer votre numéro de téléphone privé.");
                        fname.fld_telefon_private.focus();
                        return false;
                    }
                break;
            }
            case "phone_work" : {
            	// check customer work phone 
                    if (vaWorkPhone == ""){
                        alert ("Veuillez indiquer votre numéro professionnel.");
                        fname.fld_telefon_g.focus();
                        return false;
                    }
                break;
            }
			     case "fax" : {
            	// check customer fax 
                    if (vaFax == ""){
                        alert ("Veuillez indiquer votre numéro de fax");
                        fname.fld_fax.focus();
                        return false;
                    }
                break;
            }
        }
if ( ! valegalInformation) {
            alert ("Veuillez accepter l'information juridique.");
            return false;}

			
        // send form    
        fname.submit();
		
		
}

