function LoadArrivalCities(departureId,destinationId)
{var selDest=document.getElementById(destinationId);var cityList=_cities[document.getElementById(departureId).value]['to'];selDest.options.length=0;for(var i=0;i<cityList.length;i++){var city=cityList[i];selDest.options[i]=new Option(city.name,city.code);}}
function GenerateUniqueId(leng)
{var idLength=leng||32;var chars="0123456789abcdefghijklmnopqurstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ";var id='';for(var i=0;i<=idLength;i++){id+=chars.substr(Math.floor(Math.random()*62),1);}
return(id);}
function Ajax(url,post,containerIds,callback)
{var xhr_object=null;var key=GenerateUniqueId(10);if(window.XMLHttpRequest)xhr_object=new XMLHttpRequest();else if(window.ActiveXObject)xhr_object=new ActiveXObject("Microsoft.XMLHTTP");else{window.alert("AJAX ERROR: Unsupported browser!");return false;}
xhr_object.open("POST",url,true);xhr_object.onreadystatechange=function()
{if(xhr_object.readyState==4)
{if(xhr_object.status!=200)
{var errorPopup=window.open("","errorPopup","");errorPopup.document.write(xhr_object.responseText);return false;}
var resArray=xhr_object.responseText.split(key);if(resArray)
{for(var i=0;i<resArray.length;i++){if(i<containerIds.length)
var elem=document.getElementById(containerIds[i])
if(elem)
elem.innerHTML=resArray[i];else{if(callback==null)eval(resArray[i]);else callback(resArray[i]);}}}}}
xhr_object.setRequestHeader("Content-type","application/x-www-form-urlencoded");post+=(post!=""?"&":"")+"_k="+key;xhr_object.send(post);return true;}
function EncURL(s)
{s=encodeURI(s);s=s.replace(/&/g,"%26");s=s.replace(/=/g,"%3D");s=s.replace(/\+/g,"%2B");return s;}
function DecURL(s)
{s=decodeURI(s);s=s.replace(/\%26/g,"&");s=s.replace(/\%3D/g,"=");s=s.replace(/\%2B/g,"+");return s;}
function GetSelectedChecks(name,separator){var checks=document.getElementsByName(name);var string="";var checkedCount=0;for(var i=0;i<checks.length;i++){var chk=checks[i];if(chk.checked){string+=(checkedCount>0?separator:"")+chk.value;checkedCount++;}}
return string;}
function GetSelectedRadioValue(name){var radios=document.getElementsByName(name);for(var i=0;i<radios.length;i++){var r=radios[i];if(r.checked)return r.value;}
return null;}
function GetSelectedRadioValue(name,defaultvalue){var radios=document.getElementsByName(name);for(var i=0;i<radios.length;i++){var r=radios[i];if(r.checked)return r.value;}
return defaultvalue;}
function byId(id){return document.getElementById(id);}
function ArrayIndexOf(array,value)
{if(array.indexOf)
{return array.indexOf(value);}
else
{len=array.length;for(var i=0;i<len;i++)
{if(array[i]==value)
{return i;}}
return-1;}}
function DestinationChanged(destCode,citySelectId,cityArray)
{var citySelect=byId(citySelectId);var lastSelectedValue=citySelect.value;if(!cityArray[destCode]){alert("Il n'y a aucune ville destination pour cette destination !");return;}
var arr=cityArray[destCode];citySelect.options.length=0;for(var i=0;i<arr.length;i++){var prop=arr[i].split(";");var opt=new Option(prop[1],prop[0]);if(prop[0]==lastSelectedValue)opt.selected=true;citySelect.options[i]=opt;}}
function RedirectWithParams(pagename,parameters)
{alert(pagename+parameters);window.location=pagename+parameters;}
function IsValidEmail(strEmail)
{validRegExp=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(strEmail.search(validRegExp)==-1)
{return false;}
return true;}
function createCookie(name,value,days)
{if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else var expires="";document.cookie=name+"="+value+expires+"; path=/";}
function readCookie(name)
{var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}
return null;}
function eraseCookie(name)
{createCookie(name,"",-1);}
function RemoveAccent(charValue,upper){charValue=charValue.toUpperCase();switch(charValue){case"À":charValue="A";break;case"Á":charValue="A";break;case"Â":charValue="A";break;case"Ä":charValue="A";break;case"A":charValue="A";break;case"B":charValue="B";break;case"C":charValue="C";break;case"Ç":charValue="C";break;case"D":charValue="D";break;case"È":charValue="E";break;case"É":charValue="E";break;case"Ê":charValue="E";break;case"Ë":charValue="E";break;case"E":charValue="E";break;case"F":charValue="F";break;case"G":charValue="G";break;case"H":charValue="H";break;case"Î":charValue="I";break;case"Ï":charValue="I";break;case"Í":charValue="I";break;case"Ì":charValue="I";break;case"?":charValue="I";break;case"?":charValue="I";break;case"I":charValue="I";break;case"J":charValue="J";break;case"K":charValue="K";break;case"L":charValue="L";break;case"M":charValue="M";break;case"N":charValue="N";break;case"O":charValue="O";break;case"Ó":charValue="O";break;case"Ô":charValue="O";break;case"Ò":charValue="O";break;case"Õ":charValue="O";break;case"Ö":charValue="O";break;case"P":charValue="P";break;case"Q":charValue="Q";break;case"R":charValue="R";break;case"S":charValue="S";break;case"T":charValue="T";break;case"U":charValue="U";break;case"Ú":charValue="U";break;case"Û":charValue="U";break;case"Ü":charValue="U";break;case"Ù":charValue="U";break;case"?":charValue="U";break;case"V":charValue="V";break;case"W":charValue="W";break;case"X":charValue="X";break;case"Y":charValue="Y";break;case"Ÿ":charValue="Y";break;case"Z":charValue="Z";break;}
if(upper){return charValue;}
else return charValue.toLowerCase();}
function GetCaretPosition(oField){var iCaretPos=0;if(document.selection){oField.focus();var oSel=document.selection.createRange();oSel.moveStart('character',-oField.value.length);iCaretPos=oSel.text.length;}
else if(oField.selectionStart||oField.selectionStart=='0')
iCaretPos=oField.selectionStart;return(iCaretPos);}
function SetCaretPosition(oField,iCaretPos){if(document.selection){oField.focus();var oSel=document.selection.createRange();oSel.moveStart('character',-oField.value.length);oSel.moveStart('character',iCaretPos);oSel.moveEnd('character',0);oSel.select();}
else if(oField.selectionStart||oField.selectionStart=='0'){oField.selectionStart=iCaretPos;oField.selectionEnd=iCaretPos;oField.focus();}}
function InsertAtCursor(myField,myValue){if(document.selection){myField.focus();sel=document.selection.createRange();sel.text=myValue;}
else if(myField.selectionStart||myField.selectionStart==0){var startPos=myField.selectionStart;var endPos=myField.selectionEnd;myField.value=myField.value.substring(0,startPos)
+myValue
+myField.value.substring(endPos,myField.value.length);SetCaretPosition(myField,endPos+1);}
else{myField.value+=myValue;}}
function OnKeyToUpperWithoutAccent(e,input){var e=window.event||e
var keyunicode=e.charCode||e.keyCode
var charValue=String.fromCharCode(keyunicode);var modCharValue=RemoveAccent(charValue,true);if(charValue!=modCharValue){InsertAtCursor(input,modCharValue);}
else return true;return false;}
function OnKeyEmail(e,input){var e=window.event||e
var keyunicode=e.charCode||e.keyCode
var charValue=String.fromCharCode(keyunicode);var modCharValue=RemoveAccent(charValue,false);if(charValue!=modCharValue){InsertAtCursor(input,modCharValue);}
else return true;return false;}