/**
*
* Biblioth�que de fonctions java employ�es au sein d'une application immobili�re.
*
* Nom du fichier : $Archive:   O:/Kernel Livraison/archives/kernel/www/scripts/immobilier.js-arc  $
* Version        : $Revision:   1.17  $
*
* Auteur         : SOPRA Group - $Author:   aDessert  $
* Modifi� le     : $Date:   Dec 10 2008 15:49:34  $
*
*/


var errorFields=null;var lastFocusedErrorFieldIndex=null;var ctrlPressed=false;var submitInProgress=false;var tabPressed=false;var shiftPressed=false;document.onkeydown=execkeydown;document.onkeyup=execkeyup;document.onclick=execonclick;if(typeof addEventHandler!='function'){var addEventHandler=function(el,type,fct){var eventName='on'+type;if(!el._events)
el._events={};if(!el._events[type]){el._events[type]=el[eventName]?{b:el[eventName]}:{};el[eventName]=new Function('e','var result = true;'+'var el = this;'+'var allEvents = el._events["'+type+'"];'+'var i;'+'for (i in allEvents) {'+'el._f = allEvents[i];'+'result = el._f(e || window.event) != false && result;'+'el._f = null;'+'}'+'return result;');if(type!='unload')
addEventHandler(window,'unload',function(){removeEventHandler(el,type,fct);});}
if(!fct._i)
fct._i=addEventHandler._i++;el._events[type][fct._i]=fct;};addEventHandler._i=1;var removeEventHandler=function(el,type,fct){if(el._events&&el._events[type]&&fct._i)
delete el._events[type][fct._i];};}
function getLayer(name){targetLayer=(document.getElementById)?document.getElementById(name):document.all(name);return targetLayer;}
if(typeof hideInProgress!='function'){var showInProgress=function(){var imgInProgress=getLayer("imgInProgress");if(imgInProgress){imgInProgress.className="inProgressShown";imgInProgress.style.top=document.body.scrollTop;}}
var hideInProgress=function(){var imgInProgress=getLayer("imgInProgress");if(imgInProgress)
imgInProgress.className="inProgressHidden";}
showInProgress();addEventHandler(window,'load',hideInProgress);addEventHandler(window,'unload',showInProgress);}
function jumpToFastInput(form,newAction,currentMapping,fastInputProperty,inAPopup){var targetWindow=null;if(inAPopup){if(window.name.indexOf("_ifrm")!=-1){window.parent.popupSetup({popupId:fastInputProperty});}else{window.popupSetup({popupId:fastInputProperty});}
targetWindow=fastInputProperty+"_ifrm";}
if(document.forms.length==1){form.action=newAction;form.elements['currentActionMapping'].value=currentMapping;form.elements['fastInputProperty'].value=fastInputProperty;if(inAPopup)
form.target=targetWindow;form.submit();}else{targetForm=null;targetFormName=null;if(typeof form.name=="undefined"){targetFormName=form[0].name;}else{targetFormName=form.name;}
for(i=document.forms.length-1;i>=0;i--){if(targetFormName==document.forms[i].name){for(j=0;j<document.forms[i].elements.length;j++){if('currentActionMapping'==document.forms[i].elements[j].name&&'hidden'==document.forms[i].elements[j].type){targetForm=document.forms[i];document.forms[i].elements[j].value=currentMapping;}else if('fastInputProperty'==document.forms[i].elements[j].name&&'hidden'==document.forms[i].elements[j].type){document.forms[i].elements[j].value=fastInputProperty;}}
if(targetForm!=null){targetForm.action=newAction;if(inAPopup)
targetForm.target=targetWindow;targetForm.submit();break;}}}}}
function resetFastInputLabel(form,labelName,labelSrc,hiddenLabelName){form.elements[hiddenLabelName].value='';document.images[labelName].src=labelSrc;}
function assignFormField(form,fieldName,fieldValue){form.elements[fieldName].value=fieldValue;}
function selectElement(form,newAction,properties,values,inAPopup){form.action=newAction;for(var i=0;i<properties.length;i++)
form.elements[properties[i]].value=values[i];if(inAPopup)
selectElementInPopup(form);}
function moveInList(form,properties,values){for(var i=0;i<properties.length;i++)
form.elements[properties[i]].value=values[i];}
function countElementsInList(form,newAction,properties,values){form.action=newAction;for(var i=0;i<properties.length;i++)
form.elements[properties[i]].value=values[i];}
function upperCase(field){field.value=field.value.toUpperCase();}
function lowerCase(field){field.value=field.value.toLowerCase();}
function formatDate(field){valeur=field.value;strA=valeur.split("/");if(strA.length==3){if((strA[2].length==4)){}else{if((strA[2].length==2)){if(strA[2]<"40"){retour=_validDate("20"+strA[2],strA[1],strA[0]);if(retour){field.value=strA[0]+"/"+strA[1]+"/"+"20"+strA[2]}
return retour;}else{retour=_validDate("19"+strA[2],strA[1],strA[0]);if(retour){field.value=strA[0]+"/"+strA[1]+"/"+"19"+strA[2]}
return retour;}}else{return false;}}}else{valeur=""+valeur;jour="";mois="";annee="";if(valeur.length==6||valeur.length==8){if(valeur.length==6){jour=valeur.substring(0,2);mois=valeur.substring(2,4);annee=valeur.substring(4);if(annee<"40")
annee="20"+annee;else
annee="19"+annee;valeur=jour+mois+annee;}else{jour=valeur.substring(0,2);mois=valeur.substring(2,4);annee=valeur.substring(4);}
retour=_validDate(annee,mois,jour);if(retour){field.value=jour+"/"+mois+"/"+annee;}
return retour;}else{return false;}}}
function _validDate(y,m,d){with(new Date(y,m-1,d)){return((getDate()==d)&&(getMonth()==(m-1)));}}
function gotoAnchor(anchor){window.location.hash=anchor;}
function formatNumber(field,useGrouping,fractionDigits,groupingCharacter,decimalCharacter){fieldValue=field.value;if(fieldValue.length!=0){formatValue="";integerValue="";fractionValue="";if('.'!=groupingCharacter&&'.'!=decimalCharacter){indexOfLastPoint=fieldValue.lastIndexOf('.');if(indexOfLastPoint!=-1)
fieldValue=fieldValue.substring(0,indexOfLastPoint)+decimalCharacter+fieldValue.substring(indexOfLastPoint+1,fieldValue.length);}
indexOfDecimalSeparator=fieldValue.lastIndexOf(decimalCharacter);if(indexOfDecimalSeparator!=-1){integerValue=fieldValue.substring(0,indexOfDecimalSeparator);fractionValue=fieldValue.substring(indexOfDecimalSeparator+1,fieldValue.length);}else{integerValue=fieldValue;fractionValue="";}
if(fractionDigits>0){for(i=fractionValue.length;i<fractionDigits;i++){fractionValue=fractionValue+"0";}}
if(fractionValue.length>0){isDecimal=parseInt(fractionValue);if(isNaN(isDecimal)){return;}}
isDecimal=parseInt(integerValue);if(isNaN(isDecimal)){return;}
if(useGrouping){trimedValue='';if(groupingCharacter==' '||groupingCharacter=='\240'){for(i=0;i<integerValue.length;i++){if(integerValue.charAt(i)!=' '&&integerValue.charAt(i)!='\240')
trimedValue=trimedValue+integerValue.charAt(i);}}else{for(i=0;i<integerValue.length;i++){if(integerValue.charAt(i)!=groupingCharacter)
trimedValue=trimedValue+integerValue.charAt(i);}}
integerValue=trimedValue;floatNumber=parseFloat(integerValue);prefixe='';if(floatNumber==0.00&&(integerValue.lastIndexOf('-')!=-1))prefixe='-';integerValue=prefixe+Math.floor(floatNumber);absoluteNumber=Math.abs(integerValue);if(absoluteNumber>=1000){integerLength=integerValue.length;formatValue="";for(i=1;i<integerLength;i++){if(absoluteNumber<Math.pow(10,(3*i)))
break;}
nbGroupingCharacters=i-1;if(nbGroupingCharacters>0){formatValue=integerValue;for(i=1;i<=nbGroupingCharacters;i++){formatValue=formatValue.substring(0,integerLength-(3*i))+
groupingCharacter+
formatValue.substring(integerLength-(3*i));}}
integerValue=formatValue;}}
if(fractionValue.length>0)
formatValue=integerValue+decimalCharacter+fractionValue;else
formatValue=integerValue;field.value=formatValue;}}
function firstLetterUpperCase(field){var firstLetter="";var otherLetters="";if(field.value.length>0)firstLetter=field.value.substring(0,1);if(field.value.length>1)otherLetters=field.value.substring(1,field.value.length);field.value=firstLetter.toUpperCase()+otherLetters.toLowerCase();}
function appendLeadingCharacter(field,desiredLength,paddingCharacter){var num=field.value;var newValue='';if((num!='')&&(num.indexOf('*')==-1)){var lengthOfValue=num.length;for(var i=lengthOfValue;i<desiredLength;i++){newValue=newValue+paddingCharacter;}
newValue=newValue+num;field.value=newValue;}}
function appendTrailingCharacter(field,desiredLength,paddingCharacter){var num=field.value;var newValue='';if((num!='')&&(num.indexOf('*')==-1)){var lengthOfValue=num.length;for(var i=lengthOfValue;i<desiredLength;i++){newValue=newValue+paddingCharacter;}
newValue=num+newValue;field.value=newValue;}}
function defineFocus(){var name='';var NUMForm=-1;window.focus();if(document.forms[1]!=null){NUMForm=1;if(document.forms[1].elements['returnFastInputPropertyFocusField']!=null&&document.forms[1].elements['returnFastInputPropertyFocusField'].value!=''){name=document.forms[NUMForm].elements['returnFastInputPropertyFocusField'].value;}}
else{if(document.forms[0]!=null){NUMForm=0;if(document.forms[0].elements['returnFastInputPropertyFocusField']!=null&&document.forms[0].elements['returnFastInputPropertyFocusField'].value!=''){name=document.forms[NUMForm].elements['returnFastInputPropertyFocusField'].value;}}}
if(NUMForm!=-1){if(name!=''){for(var i=0;i<document.forms[NUMForm].elements.length;i++){if(document.forms[NUMForm].elements[i].name==name){var tabindex=document.forms[NUMForm].elements[i].tabIndex;var positionnement=false;if(tabindex!=null){for(var j=0;j<document.forms[NUMForm].elements.length;j++){tabindex2=document.forms[NUMForm].elements[j].tabIndex;if(tabindex2!=null&&(tabindex2==tabindex+1)){gotoAnchor(name);document.forms[NUMForm].elements[j].focus();positionnement=true;break;}}}
if(positionnement==false){for(var j=i+1;j<document.forms[NUMForm].elements.length;j++){type=document.forms[NUMForm].elements[j].type;if(type!="hidden"&&type!="image"&&!document.forms[NUMForm].elements[j].disabled){try{gotoAnchor(name);document.forms[NUMForm].elements[j].focus();break;}
catch(ignoreEx){}}}
if(j>=document.forms[NUMForm].elements.length){gotoAnchor(name);document.forms[NUMForm].elements[i].focus();break;}}
else{break;}}}
document.forms[NUMForm].elements['returnFastInputPropertyFocusField'].value='';}
else{if(NUMForm==0){for(var i=0;i<document.forms[NUMForm].elements.length;i++){type=document.forms[NUMForm].elements[i].type;if(type!="hidden"&&type!="image"&&!document.forms[NUMForm].elements[i].disabled){try{document.forms[NUMForm].elements[i].focus();break;}
catch(ignoreEx){}}}}}}}
function setDateDuJourInField(field,e){if(ctrlPressed&&e.keyCode==74){var now=new Date();var day=now.getDate();if(day<10)day="0"+day;var month=now.getMonth()+1;if(month<10)month="0"+month;var year=now.getYear();if(year<2000){year=""+year;year="20"+year.substring(1,3);}
var dateValue=day+"/"+month+"/"+year;field.value=dateValue;}}
function setHeureDuJourInField(field,e){if(ctrlPressed&&e.keyCode==74){var now=new Date();var hours=now.getHours();if(hours<10)hours="0"+hours;var minutes=now.getMinutes();if(minutes<10)minutes="0"+minutes;var hoursValue=hours+":"+minutes;field.value=hoursValue;}}
function execkeyup(e){if(!e&&event)e=event;if(e.keyCode==17){ctrlPressed=false;}
if(e.keyCode==9){tabPressed=false;}
if(e.keyCode==16){shiftPressed=false;}}
function execkeydown(e){if(!e&&event)e=event;if(e.keyCode==16){shiftPressed=true;}
if(e.keyCode==9){tabPressed=true;}
if(e.keyCode==17){ctrlPressed=true;}
else if(ctrlPressed&&e.keyCode==75){var NUMForm=-1;var numOfField=null;if(document.forms[1]!=null){NUMForm=1;}
else{NUMForm=0;}
if(NUMForm!=-1){if(errorFields!=null&&errorFields.length>0){if(lastFocusedErrorFieldIndex==null){numOfField=0;}
else{for(var i=0;i<document.forms[NUMForm].elements.length;i++){if(document.forms[NUMForm].elements[i].name==lastFocusedErrorFieldIndex){numOfField=i;}}}
var theEnd=false;for(var i=numOfField+1;!theEnd;i++){if(i>=document.forms[NUMForm].elements.length){i=-1;}
else{if(isElementInArray(document.forms[NUMForm].elements[i].name,errorFields)&&document.forms[NUMForm].elements[i].type!="hidden"){document.forms[NUMForm].elements[i].focus();lastFocusedErrorFieldIndex=document.forms[NUMForm].elements[i].name;break;}}
if(i==numOfField){theEnd=true;}}}}}}
function isElementInArray(anElement,anArray){var isInArray=false;for(var i=0;i<anArray.length;i++){if(anArray[i]==anElement){isInArray=true;break;}}
return isInArray;}
function selectPanel(form,newAction,panelName){newAction=newAction+"?selectedPanelName="+panelName;form.action=newAction;form.submit();}
function resetForm(form){for(var i=0;i<form.elements.length;i++){if(form.elements[i].type=="text"){form.elements[i].value="";}
else if(form.elements[i].type=="checkbox"){form.elements[i].checked=false;}
else if(form.elements[i].type=="radio"){form.elements[i].checked=false;}
else if(form.elements[i].type=="select-one"){form.elements[i].selectedIndex=0;}}}
function catchKeyEvent(e,form){returnvalue=true;if(form.elements['isListe']!=null){if(!e&&event)e=event;if(e.keyCode==13){returnvalue=false;}}
return returnvalue;}
function controlSubmit(form){if(!submitInProgress){submitInProgress=true;document.body.className='sablier';}
for(var i=0;i<form.elements.length;i++){if(form.elements[i].type=="submit"){form.elements[i].disabled=true}}}
function execonclick(e){if(submitInProgress){return false;}else{if(!e)
var e=window.event;if(e.button==0){if(e.target)
targ=e.target;else if(e.srcElement)
targ=e.srcElement;var _inProgress=false;if(targ.tagName.toLowerCase()=="a"){_inProgress=(targ.className=="ALNK");}else{if(targ.tagName.toLowerCase()=="input"){if(targ.type.toLowerCase()=="image")
_inProgress=true;else if(targ.type.toLowerCase()=="submit")
_inProgress=true;}}
if(_inProgress)
showInProgress();}
return true;}}
function abort(pHref){if(confirm("Etes-vous s�r de vouloir abandonner la saisie en cours ?")){if(typeof hideSysnet=='function')
hideSysnet();document.location=pHref;}
else
return;}
function disableMouseWheel(element){window.scrollBy(0,-event.wheelDelta);return false;}
function topFrame(){if(self.parent.frames.length!=0){self.parent.location=document.location;}}
function getElementsByTagNames(list,obj){if(!obj)var obj=document;var tagNames=list.split(',');var resultArray=new Array();for(var i=0;i<tagNames.length;i++){var tags=obj.getElementsByTagName(tagNames[i]);for(var j=0;j<tags.length;j++){resultArray.push(tags[j]);}}
var testNode=resultArray[0];if(!testNode)
return[];if(testNode.sourceIndex){resultArray.sort(function(a,b){return a.sourceIndex-b.sourceIndex;});}
else if(testNode.compareDocumentPosition){resultArray.sort(function(a,b){return 3-(a.compareDocumentPosition(b)&6);});}
return resultArray;}
function getAbsolutePosition(el){var curleft=0;var curtop=0;if(el.offsetParent){curleft=el.offsetLeft;curtop=el.offsetTop;while(el=el.offsetParent){curleft+=el.offsetLeft;curtop+=el.offsetTop;}}
return({left:curleft,top:curtop});}
function hideShowCovered(idObject){var ie=(navigator.userAgent.toLowerCase().indexOf("msie")>=0);if(!ie)
return;function getVisib(el){var value=el.style.visibility;if(!value){if(el.currentStyle)
value=el.currentStyle.visibility;else
value='';}
return value;}
var el=document.getElementById(idObject);var tags=new Array("select");if(el!=null){var p=getAbsolutePosition(el);var EX1=p.left;var EX2=el.offsetWidth+EX1;var EY1=p.top;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=getAbsolutePosition(cc);var CX1=p.left;var CX2=cc.offsetWidth+CX1;var CY1=p.top;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc._save_visibility){cc._save_visibility=getVisib(cc);}
cc.style.visibility=cc._save_visibility;}else{if(!cc._save_visibility){cc._save_visibility=getVisib(cc);}
cc.style.visibility="hidden";}}}}}
function openSynthesis(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};var screenWidth=screen.width;var screenHeight=screen.height;param_default("target","fSynthesis");param_default("autoClose",true);param_default("width",Math.round((2*screenWidth)/3));param_default("height",Math.round((2*screenHeight)/3));param_default("top",Math.round(screenHeight/6));param_default("left",Math.round(screenWidth/6));param_default("toolbar","no");param_default("menubar","no");param_default("location","no");param_default("scrollbars","yes");param_default("resizable","yes");param_default("directories","no");param_default("status","no");var container=window;while(container.parent&&container.parent!=container)
container=container.parent;var popupWindow=container.open(params.URL,params.target,"width="+params.width+", height="+params.height+", top="+params.top+", left="+params.left+", toolbar="+params.toolbar+", menubar="+params.menubar+", location="+params.location+", scrollbars="+params.scrollbars+", resizable="+params.resizable+", directories="+params.directories+", status="+params.status);if(popupWindow.focus)
popupWindow.focus();if(params.autoClose){if(!container._fSynthesis){container._fSynthesis=popupWindow;addEventHandler(container,"unload",function(e){container._fSynthesis.close();});}}
return popupWindow;}
function autoTab(el){if(el.getAttribute&&el.value.length==el.getAttribute("maxlength")){if(!shiftPressed&&!tabPressed){var name=el.name;var formulaire=el.form;if(formulaire!=null){for(var i=0;i<formulaire.elements.length;i++){if(formulaire.elements[i].name==name){var tabindex=formulaire.elements[i].tabIndex;var positionnement=false;if(tabindex!=0){for(var j=0;j<formulaire.elements.length;j++){var tabindex2=formulaire.elements[j].tabIndex;if(tabindex2!=null&&(tabindex2==tabindex+1)){gotoAnchor(name);formulaire.elements[j].focus();positionnement=true;break;}}}
if(positionnement==false){for(var j=i+1;j<formulaire.elements.length;j++){type=formulaire.elements[j].type;if(type!="hidden"&&type!="image"&&!formulaire.elements[j].disabled){gotoAnchor(name);formulaire.elements[j].focus();break;}}
break;}else{break;}}}}}}}
function saveScrollingPosition(el){assignFormField(el.form,"scrollingPosition",document.body.scrollTop);}
function restoreScrollingPosition(position){if(position){if(position>0){var _eventHandlerCallback=function(e){document.body.scrollTop=position;}
addEventHandler(window,'load',_eventHandlerCallback);}}}
function checkMaxLength(controlID,msgID,maxLength){var textArea=getLayer(controlID);if(textArea){var msg=getLayer(msgID);if(textArea.value.length>maxLength){if(msg.className=="tHidden")
msg.className="tShown";}else{if(msg.className=="tShown")
msg.className="tHidden";}}}
function formatTime(field){var fieldValue=field.value;if(fieldValue.length!=0){var hours=0;var minutes=0;var strT=fieldValue.split(":");if(strT.length==2){if(!isAnInteger(strT[0]))
return;else{if(strT[0]=="")
hours=0;else
hours=parseInt(strT[0],10);}
if(!isAnInteger(strT[1]))
return;else{if(strT[1]=="")
minutes=0;else
minutes=parseInt(strT[1],10);}}else{if(strT.length==1){if(fieldValue.length==1){var digit=fieldValue.substring(0,1);if(!isAnInteger(digit))
return;else{fieldValue="0"+fieldValue+"00";}}else{var paddings=4-fieldValue.length;for(var i=0;i<paddings;i++)
fieldValue=fieldValue+"0";}
if(!isAnInteger(fieldValue.substring(0,2)))
return;else
hours=parseInt(fieldValue.substring(0,2),10);if(!isAnInteger(fieldValue.substring(2,fieldValue.length)))
return;else
minutes=parseInt(fieldValue.substring(2,fieldValue.length),10);}else{return;}}
var formatValue="";if(hours>23)
return;else{if(hours<10)
formatValue="0"+hours;else
formatValue=hours;}
formatValue=formatValue+":";if(minutes>59)
return;else{if(minutes<10)
formatValue=formatValue+"0"+minutes;else
formatValue=formatValue+minutes;}
field.value=formatValue;}}
function isAnInteger(value){var validCharacters="0123456789";var isAnInteger=true;for(i=0;i<value.length&&isAnInteger==true;i++){var character=value.charAt(i);if(validCharacters.indexOf(character)==-1)
isAnInteger=false;}
return isAnInteger;}
