function checkboxswitch(box1,box2)
{
	if (document.getElementById(box1).checked)
		{
			document.getElementById(box2).checked=false;
		}
}

function switchvisibleandnot(arg) 
{
	
	if (document.getElementById(arg).style.display == 'inline') 
	{ 	
		document.getElementById(arg).style.display = 'none';
	} 
	else 
	{
		document.getElementById(arg).style.display = 'inline';
	}
}

function confirmDelete(name,xhr_addr)
{                                                                      
	if (confirm('Confirm remove ' + name))
	{
		document.location.href=xhr_addr;
	}
}

function myrefresh()
{
	g_waittime++;
	mydiv=document.getElementById('wait');
	if (g_waittime!=60) 
	{
		mydiv.innerHTML='Start - ';
		if (g_waittime>=10) mydiv.innerHTML='Update company - ';
		if (g_waittime>=20) mydiv.innerHTML='Update user - ';
		if (g_waittime>=30) mydiv.innerHTML='Update key - ';
		if (g_waittime>=40) mydiv.innerHTML='Compute key - ';
		if (g_waittime>=50) mydiv.innerHTML='Send mail - ';
		g_compute=Math.round((g_waittime*100)/60);
		mydiv.innerHTML=mydiv.innerHTML+ g_compute + '%';
		if (g_waittime==60) mydiv.innerHTML='<a href="./index.php?module=cle&amp;action=displayActive" >Update done</a>';
	}
	else document.location = './index.php?module=cle&action=displayActive';
	setTimeout('myrefresh()', 1000);
}

function generateImage()
{
	var childToRem = document.getElementById("getSecurityCode").firstChild;
	document.getElementById("getSecurityCode").removeChild(childToRem);
	iamgeName = getHTTPValue("./index.php?module=user&action=createSecurityImg");
	var img = document.createElement("IMG");
	img.src = iamgeName;
	document.getElementById("getSecurityCode").appendChild(img);
	getHTTPValue("./index.php?module=user&action=removeSecurityImg");
}

function check_securityCode(formulaire)
{
	securityCode = getHTTPValue("./index.php?module=user&action=getSecurityCode");
	myform=document.getElementById(formulaire);
	if (myform.securityCode.value == securityCode)
	{
		var childTorem = document.getElementById("btnGenerate");
		childTorem.parentNode.removeChild(childTorem);
		myform.securityCode.disabled = true;
		myform.logon.disabled = false;
		myform.company_name.disabled = false;
		myform.logon.disabled = false;
		myform.title.disabled = false;
		myform.nom.disabled = false;
		myform.prenom.disabled = false;
		myform.email.disabled = false;	
		myform.job.disabled = false;
		myform.phone.disabled = false;
		myform.personalphone.disabled = false;
		myform.etat.disabled = false;
		myform.lang.disabled = false;
		myform.address1.disabled = false;
		myform.address2.disabled = false;
		myform.address3.disabled = false;
		myform.zipcode.disabled = false;
		myform.town.disabled = false;
		myform.region.disabled = false;
		myform.country.disabled = false;
		myform.fax.disabled = false;
		myform.detail.disabled = false;
		
		myform.securityCode.style.backgroundColor = "#CCCCCC";
		myform.logon.style.backgroundColor = "#FFFFFF";
		myform.company_name.style.backgroundColor = "#FFFFFF";
		myform.logon.style.backgroundColor = "#FFFFFF";
		myform.title.style.backgroundColor = "#FFFFFF";
		myform.nom.style.backgroundColor = "#FFFFFF";
		myform.prenom.style.backgroundColor = "#FFFFFF";
		myform.email.style.backgroundColor = "#FFFFFF";	
		myform.job.style.backgroundColor = "#FFFFFF";
		myform.phone.style.backgroundColor = "#FFFFFF";
		myform.personalphone.style.backgroundColor = "#FFFFFF";
		myform.etat.style.backgroundColor = "#FFFFFF";
		myform.lang.style.backgroundColor = "#FFFFFF";
		myform.address1.style.backgroundColor = "#FFFFFF";
		myform.address2.style.backgroundColor = "#FFFFFF";
		myform.address3.style.backgroundColor = "#FFFFFF";
		myform.zipcode.style.backgroundColor = "#FFFFFF";
		myform.town.style.backgroundColor = "#FFFFFF";
		myform.region.style.backgroundColor = "#FFFFFF";
		myform.country.style.backgroundColor = "#FFFFFF";
		myform.fax.style.backgroundColor = "#FFFFFF";
		myform.detail.style.backgroundColor = "#FFFFFF";
		myform.company_name.focus();
	}
}

function check_Register(formulaire)
{
	retour=true;
	securityCode = getHTTPValue("./index.php?module=user&action=getSecurityCode");
	myform=document.getElementById(formulaire);
	if (myform.securityCode.value!=securityCode) retour=false;
	if (myform.company_name.value=="") retour=false;
	if (myform.logon.value=="") retour=false;
	if (myform.nom.value=="") retour=false;
	if (myform.prenom.value=="") retour=false;
	if (myform.email.value=="")  retour=false;
  if ((myform.email.value.indexOf("@")>=0)&&(myform.email.value.indexOf(".")>=0)) {
     return true
  } else {
     alert("Mail invalide !");
     return false
  }

	if (myform.phone.value=="") retour=false;
	if (myform.etat.value=="") retour=false;
	if (myform.lang.value=="") retour=false;
	if (myform.job.value=="") retour=false;
	if (myform.country.value=="") retour=false;
	return retour;
}

function check_user(formulaire)
{
	myform=document.getElementById(formulaire);
	if (myform.nom.value!="")
	{
		if (myform.prenom.value!="")
		{
			if (myform.logon.value!="")
			{
				if (myform.email.value!="")
				{
					urlToCheck="./index.php?module=user&action=check_user&logon="+myform.logon.value;
					retour=getHTTPValue(urlToCheck);
					if (retour!="OK")
					{
						alert(retour);
						return false;
					}
					urlToCheck="./index.php?module=user&action=check_email&email="+myform.email.value;
					retour=getHTTPValue(urlToCheck);
					if (retour!="OK")
					{
						alert(retour);
						return false;
					}
						return true;
				}
			}
		}
	}
	alert("Please Fill the firstname,lastname,logon and email");
	return false;
}

function check_user2(formulaire)
{
	myform=document.getElementById(formulaire);
	if (myform.nom.value!="")
	{
		if (myform.prenom.value!="")
		{
			if (myform.logon.value!="")
			{
				if (myform.email.value!="")
				{
					return true;
				}
			}
		}
	}
	alert("Please Fill the firstname,lastname,logon and email");
	return false;
}


function check_ticket(formulaire)
{
	myform=document.getElementById(formulaire);
	if (myform.ticket_summary.value!="")
	{
		if (myform.ticket_description.value!="")
		{
			return true;
		}
	}
	alert("Please fill all need information");
	return false;
}

function check_company(formulaire)
{
	myform=document.getElementById(formulaire);
	if (myform.company_name.value!="")
	{
		return true;
	}
	alert("Please Fill the company name");
	return false;
}
function check_serial_number(formulaire,type_cle)
{
	myCheck=document.getElementById('accept');
	if (myCheck.checked==false) return false;
	if (type_cle=='any')
	{
		myform=document.getElementById(formulaire);
		if (myform.serial_number.value!="")
		{
			return true;
		}
	}
	if (type_cle=='iseries')
	{
		myform=document.getElementById(formulaire);
		if (myform.serial_number.value!="")
		{
			if (myform.model.value!="")
			{
				if (myform.processor.value!="")
				{
					return true;
				}
			}
		}
	}
	if (type_cle=='unix')
	{
		myform=document.getElementById(formulaire);
		if (myform.serial_number.value!="")
		{
			if (myform.model.value!="")
			{
				return true;
			}
		}
	}
	if (type_cle=='pc')
	{
		myform=document.getElementById(formulaire);
		if (myform.serial_number.value!="")
		{
			return true;
		}
	}
	if (type_cle=='win32')
	{
		myform=document.getElementById(formulaire);
		if (myform.serial_number.value!="")
		{
			return true;
		}
	}
	if (type_cle=='refill')
	{
		myform=document.getElementById(formulaire);
		if (myform.serial_number.value!="")
		{
			return true;
		}
	}
	return false;
}

		function check_accept()
		{
			myCheck=document.getElementById('accept');
			return myCheck.checked;
		}
		function ShowHide(Div,Div2) 
		{ 
			myDiv=document.getElementById(Div);
			myDiv2=document.getElementById(Div2);
			myDiv.style.display='none'; 
			myDiv2.style.display='inline';
		}

function reverse_selection(objname)
			{
				try
				{
					var elt = document.getElementById(objname);
					if ((elt.style.display=='none')||(elt.style.display=='')) elt.style.display= 'block';
					else elt.style.display= 'none';
				}
				catch(err)
				{
				}
			}
			function set_icon(divref,imagename)
			{
				try
				{
					var elt = document.getElementById(divref);
					var eltimg = document.getElementById(imagename);
					if ((elt.style.display=='none')||(elt.style.display=='')) 
					{
						eltimg.src="./images/+.gif";
					}
					else 
					{
						eltimg.src="./images/-.gif";
					}
				}
				catch(err)
				{
				}
			}
			function doLoadPages(div_name, xhr_addr, reverse)
			{
				var divResult = document.getElementById( div_name );
				if ((!reverse) || (divResult.innerHTML == ""))
				{
					var xhr_object = null;
	
					if ( window.XMLHttpRequest )
					{
						xhr_object = new XMLHttpRequest();
					}
					else if(window.ActiveXObject)
					{
		       	try {
		        	xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
		      	} catch(e) {
		        	try {
		          		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
		        	} catch(e) {
		          		xhr_object = null;
		        	}
		        }
					}
					
					if (xhr_object != null)
					{
						xhr_object.open( 'GET', xhr_addr, true );
						if (reverse) reverse_selection(div_name);
						xhr_object.onreadystatechange = function ()
						{
								switch( xhr_object.readyState)
								{
									case 1:divResult.innerHTML = "Opening ...";
													break;
									case 2:divResult.innerHTML = "Sending ...";
													break;
									case 3:divResult.innerHTML = "Loading ...";
													break;
									case 4:
												divResult.innerHTML = xhr_object.responseText;
												break;
								}
						}
						xhr_object.send( null );
					}
				}
				else
				{
					if (reverse) reverse_selection(div_name);
				}
			}
			
			function URLEncode(dataToEncode)
			{
				// The Javascript escape and unescape functions do not correspond
				// with what browsers actually do...
				var SAFECHARS = "0123456789" +					// Numeric
								"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
								"abcdefghijklmnopqrstuvwxyz" +
								"-_.!~*'()";					// RFC2396 Mark characters
				var HEX = "0123456789ABCDEF";
			
				var plaintext = dataToEncode;
				var encoded = "";
				for (var i = 0; i < plaintext.length; i++ ) {
					var ch = plaintext.charAt(i);
				    if (ch == " ") {
					    encoded += "+";				// x-www-urlencoded, rather than %20
					} else if (SAFECHARS.indexOf(ch) != -1) {
					    encoded += ch;
					} else {
					    var charCode = ch.charCodeAt(0);
						if (charCode > 255) {
						    alert( "Unicode Character '" 
			                        + ch 
			                        + "' cannot be encoded using standard URL encoding.\n" +
							          "(URL encoding only supports 8-bit characters.)\n" +
									  "A space (+) will be substituted." );
							encoded += "+";
						} else {
							encoded += "%";
							encoded += HEX.charAt((charCode >> 4) & 0xF);
							encoded += HEX.charAt(charCode & 0xF);
						}
					}
				} // for
				return encoded;
			}
			function doPostInfo(class_name1,obj_name1,class_name2,obj_name2,xhr_addr,show)
			{
				if (class_name1!="NULL") 
				{
					objToRetrieve1 = document.getElementById( obj_name1 );
					if (!objToRetrieve1) alert("unable to get object "+obj_name1);
				}
				if (class_name2!="NULL") 
				{
					objToRetrieve2 = document.getElementById( obj_name2 );
					if ( !objToRetrieve2) alert("unable to get object "+obj_name2);
				}
				
				
				
				var xhr_object = null;

				if ( window.XMLHttpRequest )
				{
					xhr_object = new XMLHttpRequest();
				}
				else if(window.ActiveXObject)
				{
	       	try {
	        	xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
	      	} catch(e) {
	        	try {
	          		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	        	} catch(e) {
	          		xhr_object = null;
	        	}
	        }
				}
				
				if (xhr_object != null)
				{
					var toSend = "";
					xhr_object.open( 'POST', xhr_addr, false );
					xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					if (class_name1!="NULL") toSend = objToRetrieve1.name+"="+URLEncode(objToRetrieve1.value);
					
					if (toSend!="") toSend += "&";
					if (class_name2!="NULL") toSend += objToRetrieve2.name+"="+URLEncode(objToRetrieve2.value);
					
					xhr_object.send(toSend);
					
					if (xhr_object.status==200) 
					{
						if (class_name1!="NULL") objToRetrieve1.className=class_name1;
						if (class_name2!="NULL") objToRetrieve2.className=class_name2;
						alert("Update Done");
					}
					else alert("Update Failed");
					
					displayDebug(xhr_object.responseText);
				}
			}
			
			function displayDebug(dumptext)
			{
				divResult = document.getElementById('script_div');

				if (divResult!=null && dumptext!=null)
				{
					divResult.innerHTML = dumptext;
				}

			}
			
			function protectChar(objForm)
			{
				var regle = new RegExp("^[A-Za-z0-9àáâãäçèéêëìíîïñòóôõöøùúûüýÿ. -]+$", "g");
				var regleMail = new RegExp("^[A-Za-z0-9àáâãäçèéêëìíîïñòóôõöøùúûüýÿ@. -]+$", "g");
				var inputs = objForm.elements;
				var Result = true;
				
				for(var i = 0; i < inputs.length; i++)
				{
					if(inputs[i].type == 'text')
					{
						if(inputs[i].value != '')
						{
							if(inputs[i].name == 'emailUser')
							{
								if(inputs[i].value.match(regleMail) == null)
								{
									alert("Char error");
									Result = false;
									break;
								}
							}
							else
							{
								if(inputs[i].value.match(regle) == null)
								{
									alert("Char error");
									Result = false;
									break;
								}
							}
						}
					}
				}
				return Result;
			}
			
			function getHTTPValue(xhr_addr)
			{
				/*var retour = "failed"
				var xhr_object = null;

				if ( window.XMLHttpRequest )
				{
					xhr_object = new XMLHttpRequest();
				}
				else if(window.ActiveXObject)
				{
	       	try {
	        	xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
	      	} catch(e) {
	        	try {
	          		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	        	} catch(e) {
	          		xhr_object = null;
	        	}
	        }
				}
				
				if (xhr_object != null)
				{
					xhr_object.open( 'GET', xhr_addr, true );
					xhr_object.onreadystatechange = function ()
					{
							switch( xhr_object.readyState)
							{
								case 1:retour="1"
												break;
								case 2:retour="2";
												break;
								case 3:retour="3";
												break;
								case 4:
											retour = xhr_object.responseText;
											break;
							}
					}
					xhr_object.send( null );
				}
				return retour;*/
				var ajaxRequest;  
				var response = "failed";
		
				try
				{
					// Opera 8.0+, Firefox, Safari
					ajaxRequest = new XMLHttpRequest();
				} 
				catch (e)
				{
					// Internet Explorer Browsers
					try
					{
						ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
					} 
					catch (e) 
					{
						try
						{
							ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
						} 
						catch (e)
						{
							alert("Your browser broke!");
							return false;
						}
					}
				}
				//ajaxRequest.overrideMimeType('text/html; charset=ISO-8859-1'); 
				ajaxRequest.open("POST", xhr_addr, false);
				ajaxRequest.send(null);
				response = ajaxRequest.responseText;
				return response;
			}
			
			function SetCurrentComboValue(nameToFind,valueToSelect)
			{
				var bFind=0;
				myCombo=document.getElementById(nameToFind);
				if (myCombo!=null)
				{
					var inputs = myCombo.options;
					for(var i = 0; i < inputs.length; i++)
					{
						var myinput=inputs[i];
						if (myinput.value==valueToSelect)
						{
							myinput.selected=true;
							bFind=1;
						}
					}
				}
				if (valueToSelect!="")
				{
					if (bFind==0) alert('not able to find ' + valueToSelect +' in '+nameToFind);
				}
			}
			function SelectCheckbox(nameToFind,valueToSelect)
			{
				var bFind=0;
				myCheckBox=document.getElementById(nameToFind);
				if (myCheckBox!=null)
				{
					if (valueToSelect==1) myCheckBox.checked=1;
					else myCheckBox.checked=0;
					bFind=1;
				}
				if (valueToSelect!="")
				{
					if (bFind==0) alert('not able to find ' + valueToSelect +' in '+nameToFind);
				}
			}
			
			function convertParentObjectTo(nameToConvert,newHTML)
			{
				var bFind=0;
				myCombo=document.getElementById(nameToConvert);
				if(nameToConvert == "changelog_option")
				{
					var RecupDivListSelect = myCombo.parentNode.innerHTML;
					document.getElementById("RecupOption").value = RecupDivListSelect;
				}
				else if (nameToConvert == "changelog_version")
				{
						var RecupDivListSelect = myCombo.parentNode.innerHTML;
						document.getElementById("RecupVersion").value = RecupDivListSelect;
				}
				if (myCombo!=null)
				{
					document.getElementById(nameToConvert).parentNode.innerHTML=newHTML;
				}
				
			}

			function RetablishSelectList(nameToConvert)
			{
				myCombo=document.getElementById(nameToConvert);
				if (myCombo!=null)
				{
					if(nameToConvert == "changelog_option")
					{
						myCombo.parentNode.innerHTML=document.getElementById("RecupOption").value;
					}
					else if (nameToConvert == "changelog_version")
					{
						myCombo.parentNode.innerHTML=document.getElementById("RecupVersion").value;
					}
				}
			}
			
			function DisplayDiv(DivName, ActualObject)
			{
				myDiv=document.getElementById(DivName);
				document.getElementById("TabDescFR").style.backgroundColor = '#D7DFEE';
				document.getElementById("TabDescEN").style.backgroundColor = '#D7DFEE';
				document.getElementById("TabPatch").style.backgroundColor = '#D7DFEE';
				if(document.getElementById("TabDescFR").parentNode.cells.length > 3)
				{
					document.getElementById("TabInfos").style.backgroundColor = '#D7DFEE';
					document.getElementById("TabUpload").style.backgroundColor = '#D7DFEE';
					document.getElementById('Infos').style.display = 'none';
					document.getElementById('Upload').style.display = 'none';
				}
				ActualObject.parentNode.parentNode.style.backgroundColor = '#64799C';
				document.getElementById('DescriptionFR').style.display = 'none';
				document.getElementById('DescriptionEN').style.display = 'none';
				document.getElementById('Patch').style.display = 'none';
				
				myDiv.style.display = 'block';
			}
			
			function NotSaved(ActualObject, type)
			{
				 if (navigator.appName=="Microsoft Internet Explorer")
				 {
						if(type == 1)
							ActualObject.parentNode.parentNode.childNodes[0].innerHTML = "<b>"+ ActualObject.parentNode.parentNode.childNodes[0].innerHTML + "</b>";
						else if(type == 2)
							ActualObject.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.childNodes[0].innerHTML = "<b>"+ ActualObject.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.childNodes[0].innerHTML + "</b>";
						else if(type == 3)
							ActualObject.parentNode.parentNode.childNodes[1].innerHTML = "<b>"+ ActualObject.parentNode.parentNode.childNodes[1].innerHTML + "</b>";
					}			
			}
			
			function SendMailAskDev(PatchName)
			{
				urlToCheck="./index.php?module=ChangeLog&action=GetInfoUser";
				Body=getHTTPValue(urlToCheck);
				window.open("mailto:dgrigy@mappingsuite.com;?subject=Demande Patch – "+PatchName+"&Body="+Body+"%0A%0APatch demandé : "+PatchName+"%0A%0A%0ABut de la demande :");
			}


