bUnsent = new Boolean(true);
//Gets the browser specific XmlHttpRequest Object 
function getXmlHttpRequestObject() {
 if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); //Mozilla, Safari ...
 } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
 } else {
    //Display our error message
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

//Our XmlHttpRequest object
var receiveReq = getXmlHttpRequestObject();
var ret_test="no";

//Initiate the AJAX request
function makeRequest(url, param) {
//EB - On fait la requete en mode synchrone pour valider le formulaire

//If our readystate is either not started or finished, initiate a new request
 //if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
   //Set up the connection to captcha_test.html. True sets the request to asyncronous(default) 
   receiveReq.open("POST", url, false);
   //Set the function that will be called when the XmlHttpRequest objects state changes
   //receiveReq.onreadystatechange=updatePage; 
   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   //Make the request
   receiveReq.send(param);
   updatePage();
 //}   
}

//Called every time our XmlHttpRequest objects state changes
function updatePage() {
 //Check if our response is ready
 if (receiveReq.readyState == 4) {
   //Set the content of the DIV element with the response text
   //document.getElementById('result').innerHTML = receiveReq.responseText;
   if (receiveReq.responseText=="yes")
   {
	ret_test="yes";
	//alert("yes="+receiveReq.responseText);
	}
   else {
	//alert("no="+receiveReq.responseText);
	//Get a reference to CAPTCHA image
	img = document.getElementById('imgCaptcha'); 
	//alert("document.getElementById('imgCaptcha')"+document.getElementById('imgCaptcha'));
	//Change the image
	img.src = '/kinl/jgi/create_image.jgi?' + Math.random();
	ret_test="no";
	}
	
 }
}

//Called every time when form is perfomed
function getParam(theForm) {
 //Set the URL 
 var url = '/kinl/jgi/captcha.jgi';

 //Set up the parameters of our AJAX call
 var postStr = theForm.txtCaptcha.name + "=" + encodeURIComponent( theForm.txtCaptcha.value );
 
  //Call the function that initiate the AJAX request
 makeRequest(url, postStr);
}

function warning (field, msg) 
{
	alert ("Dieses Formular ist noch nicht vollstÃ¤ndig ausgefÃ¼llt.\n\n"+msg);
	field.focus();
}

function invalidPhone (field, msg) 
{
	var i, length = 7, symbols = " +-().0123456789";
	bContent = new Boolean(true);

	for (i = 0; i < field.value.length; i++) 
    	if (symbols.indexOf (field.value.charAt (i)) < 0 ) 
    	{
      		bContent = false;
      		break;      
      	}

	if (field.value.length >= length && bContent)
    	return false;
  	else 
  	{
    	warning (field, msg);
    	return true;
    }
}

function invalidEmail (field) 
{
  	var length = 4, pos = field.value.indexOf ("@");

  	if (field.value.length > length) 
  		if (pos > 0) 
      		if ( field.value.indexOf(".", pos) > pos + 1 )
        		return false;

  	warning (field, "Bitte geben Sie uns hier eine E-Mail Adresse an.");
  	return true;
}

// debut _BUG804_
// ********************** debut _BUG804_PHASE4 **********************
  var _lastValue="";
 
 function GetTextArea() 
 {
	if(document.forms["Formulaire"])
		return document.forms["Formulaire"].elements["_TexteMail"];
 }
 
 //WindowLoad(event);	// _BUG1781_ : provoque une erreur car le formulaire n'est pas encore chargé

 function WindowLoad(event) 
 {
 	//get pointer to text control:
 	var objTextArea=GetTextArea();
 	
 	//check if exists:
 	if (objTextArea) { 
		//bind events:
		objTextArea.onkeypress=TextareaKeyPress;
		objTextArea.onkeyup=TextareaKeyUp;
		objTextArea.onbeforepaste=TextareaPaste;
		objTextArea.onblur=TextareaBlur;	// _BUG1781_
		objTextArea.onkeyup();
	}
 }
 
 // deb _BUG1781_
 // -------------------------------------------------------------------------
 // Quand on quitte le textarea, controler la longueur du texte saisi.
 // Par exemple : un copier/coller passe au travers des autres controles.
 // -------------------------------------------------------------------------
  function TextareaBlur(event)
  {
   	//get pointer to text control:
 	var objTextArea=GetTextArea();
 	
 	//get value:
 	var strValue=objTextArea.value;
 	
 	//abort if no max chars defined:
 	if (!objTextArea.attributes['MaxChars'])
 		return false;
 	
 	//get max chars:
 	var maxChars=parseInt(objTextArea.attributes['MaxChars'].value);
 	
	// tronque si trop long
 	if (strValue.length >= maxChars) 
 	{
		objTextArea.value = strValue.substr(0, maxChars);
	}
 	
 	return true;
 }
 // fin _BUG1781_
 
 function TextareaKeyPress(event)
 {
 	//get pointer to text control:
 	var objTextArea=GetTextArea();
 	
 	//get value:
 	var strValue=objTextArea.value;
 	
 	//abort if no max chars defined:
 	if (!objTextArea.attributes['MaxChars'])
 		return false;
 	
 	//get max chars:
 	var maxChars=parseInt(objTextArea.attributes['MaxChars'].value);
 	
 	//check if exceeded:
 	if (strValue.length >= maxChars) {
 		//check if key pressed was arrow, backspace or such:
 		if ((!event)||(!event.keyCode))
 			return false;
 		
 		var arrAllowedChars=new Array(8, 9, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46);
 		return InArray(arrAllowedChars, event.keyCode);
 	}
 	
 	return true;
 }
 
 function TextareaKeyUp(event)
 {
 
 	//get pointer to text control:
 	var objTextArea=GetTextArea();
 	
 	//get id of control:
 	var strID=objTextArea.name+"_charsCount";
 	
 	//get pointer to text container:
 	var objSpan=document.getElementById(strID);
 	
 	//abort if not defined:
 	if (!objSpan)
 		return false;
 
 	//get value:
 	var strValue=objTextArea.value;
 	
 	//abort if no max chars defined:
 	if (!objTextArea.attributes['MaxChars'])
 		return false;
 	
 	//get max chars:
 	var maxChars=parseInt(objTextArea.attributes['MaxChars'].value);
 	
 	//check if exceeded:
 	if (strValue.length >= maxChars) {
 		if (_lastValue.length != strValue.length) {
 			//crop to maximum size:
 			objTextArea.value = strValue.substr(0, maxChars);
 		}
 		strValue=objTextArea.value;
 	}
 	
 	//store last value:
 	_lastValue = strValue;
 	
 	//set container text:
 	objSpan.innerHTML = (maxChars-strValue.length)+" Zeichen kÃ¶nnen hier eingeben werden..";
 }
 
 function TextareaPaste(event)
 {
 	//initiate keypress and keyup events:
 	var s1=setTimeout("TextareaKeyPress();", 100);
 	var s2=setTimeout("TextareaKeyUp();", 500);
 }
 
 function InArray(arr, key) 
 {
 	for (var i=0; i<arr.length; i++) {
 		if (arr[i] == key)
 			return true;
 	}
 	return false;
 }
// ********************** fin _BUG804_PHASE4 **********************

function trpub(mode)
{
	var msg;
	// pour la trace
	switch (mode)
	{
		case '0' : msg = "Afficher le message"; break;
		case '1' : msg = "Afficher la liste complete"; break;
		case '2' : msg = "Afficher la page de debit"; break;
	}
	//alert(msg);

	document.Formulaire.target="RSIFrame";
	
	if (mode == 1)	// user paying : afficher la liste complete
	{
		document.Formulaire._Action.value="81_email";
		document.Formulaire._Page.value="company_contact";
		document.Formulaire._Secteur.value="FICHE";
		document.Formulaire._Prevact.value="email";
		document.Formulaire.submit();
	}
	else
	{
		if (mode == 2)	// user a credits : afficher page de debit
		{			
			document.Formulaire._Action.value="44";
			document.Formulaire._Page.value="index_profile3";
			document.Formulaire._Prevact.value="email";

			document.Formulaire._Prod.value="FALSE";
			document.Formulaire._Panier.value="TRUE";
			document.Formulaire._Nbselect.value="1";

			document.Formulaire.submit();
		}
		else	// user free : afficher un message
		{
			document.getElementById('trpub').style.display="block";
		}
	}
	return false;
}
// fin _BUG804_

// debut _BUG804_
function setChkBox(nom)
{
        document.getElementById(nom).checked = true;
        return;
}
// fin _BUG804_

function VerifSaisie (thisForm)
{
// debut _BUG804_
	/*
	if (thisForm.Subject.value.length < 4) 
	{
		warning (thisForm.Subject, "Bitte geben Sie einen Begriff ein.");
		return false;
	}
	*/
// fin _BUG804_

	//EVO ROI
	getParam(thisForm);
	if (ret_test=="no" || ret_test=="") {
		return false;
	}

//fin EVO ROI
	sujet_OK = 0;
	for (i = 0; i < thisForm.Subject.length; i++)
	{
		if (thisForm.Subject[i].checked)
		{
			sujet_OK = 1;
		}
	}
	if (sujet_OK == 0) 
	{
		warning (thisForm.Subject[0], "Please select a subject. ");
		thisForm.Subject[0].focus();
		return false;
	}

  	if (thisForm._LName.value.length < 2) 
  	{
  		warning (thisForm._LName, "Bitte geben Sie Ihren Namen an.");
  		return false;
  	}

  	if (thisForm._CodPays.selectedIndex == 0) 
  	{
  		warning (thisForm._CodPays, "Bitte wÃ¤hlen Sie ein Land.");
  		return false;
  	}
  	
//DEB _RegionMail_
  	if (thisForm._RegionMail.value.length == 0) 
  	{
  		warning (thisForm._RegionMail, "Please complete the region field");
  		return false;
  	}
  	if (thisForm._Ville.value.length == 0) 
  	{
  		warning (thisForm._Ville, "Ort");
  		return false;
  	}  	
//Fin _RegionMail_  	

  	if (thisForm._Tel.value.length > 0) 
  		if (invalidPhone (thisForm._Tel, "Bitte geben Sie eine gÃ¼ltige Telefon-Nr. (ohne Slash) an. "))
  	  		return false;

  	if (thisForm.From.value.length > 0)
  	{
  		if (invalidEmail (thisForm.From))
  	  		return false;
  	}
  	else
  	{
  		warning (thisForm.From, "Bitte geben Sie uns hier eine E-Mail Adresse an.");
  		return false;
  	}  	

// debut _BUG804_
	/*
  	if (thisForm.Message.value.length < 2) 
  	{
  		warning (thisForm.Message, "Betreff-Feld bitte ausfÃ¼llen.");
  		return false;
  	}
	*/
// fin _BUG804_

// debut _BUG804_PHASE4
	// controler qu'un texte a ete saisi
	txt_saisi = 0;

 	//get pointer to text control:
 	var objTextArea=GetTextArea();

 	if (objTextArea) 
 	{
	 	//get value:
	 	if (objTextArea.value.length > 0)
	 	{
			txt_saisi=1;
		}
 	}

// fin _BUG804_PHASE4

	// sortir en erreur si aucune case cochee et pas de texte saisi
	if (txt_saisi == 0)
	{
 		warning (thisForm._TexteMail, "Please fill the description/comments field.");
  		return false;
	}
// fin _BUG804_

// debut _BUG804_
	// controler le format de date : jj-mm-aaaa
	if (thisForm._ReplyDate.value != "")
	{
		if (thisForm._ReplyDate.value.match(/(20[0-9]{2})-((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])|(0[469]|11)-(0[1-9]|[12][0-9]|30)|(02)-(0[1-9]|[12][0-9]))/)==null) 
		{
			alert("Bitte geben Sie ein gÃ¼ltiges Format fÃ¼r das Datum (jjjj-mm-tt / j=Jahr, m=Monat, t=Tag) ein.");
			thisForm._ReplyDate.value = "";
			thisForm._ReplyDate.focus();
			return false;
		}
	}
// fin _BUG804_

  	if (bUnsent)
  	{
  		bUnsent = false;
  		alert("Ihre Nachricht wurde gesendet. Danke fÃ¼r die Nutzung der Kompass Firmendatenbank.");
  		return true;
  	}
  	else
  		return false;

}

function userModify(formu)
{
 	//list  = "";
 	//list= '?_Action=42_GETINFOR&_Page=sign-inMOD&_Path=commun&_Version='+formu._Version.value+'&_Prevact=ENRMOD&_Urlok=<!--A-120-URLOK-->';
 	//self.location = 'KI_ENRaction.cgi'+list; 
 	self.location = "/kinl/static/de/membership/contact_details.html";
 	return true;
}

function disp_zl(obj,id)
{
	o = document.getElementById(id);
	
	if(obj.value == 1)
	{
		o.style.display = "block";
	}
	else
	{
		o.style.display = "none";
	}
}
