var blnDone=false;function addItemToPanier(a_itemId,serviceId){a_rolloverItem=document.getElementById("panier-wrapper");var addSize=document.getElementById("addSize");var msgGrandeur="";var msgCouleur="";var msgQte="";var msgAdd="";if(document.getElementById("userLanguage").value=="fr"){msgGrandeur="Veuillez sélectionner une grandeur";msgCouleur="Veuillez sélectionner une couleur";msgQte="Veuillez entrer la quantité";msgAdd="L'item a été ajouté au panier"}else{msgGrandeur="Please choose a size";msgCouleur="Please choose a color";msgQte="Please enter the quantity to add";msgAdd="Item added"}if(addSize.selectedIndex==0){alert(msgGrandeur);return}var addColor=document.getElementById("addColor");if(addColor.selectedIndex==0){alert(msgCouleur);return}var addQte=document.getElementById("addQte");if(addQte.value==""){alert(msgQte);return}var size=addSize[addSize.selectedIndex].value;var color=addColor[addColor.selectedIndex].value;var qte=addQte.value;var params={size:size,color:color};TF_Panier.addItem(a_itemId,qte,serviceId,params,showNbItems);alert(msgAdd)}function showNbItems(data){dwr.util.setValue("nbItems",data)}function init(){if(blnDone){return}blnDone=true;var objPrint=document.getElementById("print-friendly");if(objPrint){objPrint.onclick=function(){printPage();return false}}var strRequiredFields="";var strRegExFields="";var objForms=document.getElementsByTagName("form");if(objForms){for(var i=0;i<objForms.length;i++){if(objForms[i].getAttribute("xhtmlValidate")){if(objForms[i].getAttribute("xhtmlValidate")=="true"){objForms[i].onsubmit=function(){if(doCustomOperation(this)){return validateForm(this)}else{return validateForm(this)}}}}}}var objShowNbItems=document.getElementById("nbItems");if(objShowNbItems){TF_Panier.getNbItems(showNbItems)}var objPanier=document.getElementById("panier");if(objPanier){Droppables.add(objPanier.id,{hoverclass:"panier-wrapper",onDrop:function(element,dropon,event){l_elementId=encodeURIComponent(element.id);l_itemId=l_elementId.substring(l_elementId.indexOf("_")+1);l_item=document.getElementById(l_itemId);addItemToPanier(l_item)}})}var objPanierItems=document.getElementsByName("itemImg");if(objPanierItems){for(var i=0;i<objPanierItems.length;i++){l_item=objPanierItems[i];new Draggable(l_item.getAttribute("id"),{revert:true})}}var objButtonAddItems=document.getElementsByName("addItemToPanier");if(objButtonAddItems){for(var i=0;i<objButtonAddItems.length;i++){l_item=objButtonAddItems[i];objButtonAddItems[i].onclick=function(){addItemToPanier(this)}}}var objClose=document.getElementById("close");if(objClose){objClose.onclick=function(){window.close()}}if(typeof customOnload=="function"){customOnload()}}function printPage(){window.print()}if(document.addEventListener){document.addEventListener("DOMContentLoaded",init,null)}window.onload=init;function validateForm(objForm){var strRequiredFields="";var strRegExFields="";var strValFuncFields="";var strRequiredSelect="";var strMaxLengthTextArea="";var blnValidationClear=false;if(objForm){var objInput=objForm.getElementsByTagName("input");var objPwd=objForm.getElementsByTagName("password");var objTextArea=objForm.getElementsByTagName("textarea");var objSelect=objForm.getElementsByTagName("select");var objInputTextArea=new Array(objInput.length+objPwd.length+objTextArea.length);for(i=0;i<objInput.length;i++){objInputTextArea[i]=objInput[i]}for(i=0;i<objPwd.length;i++){objInputTextArea[i+objInput.length]=objPwd[i]}for(i=0;i<objTextArea.length;i++){objInputTextArea[i+objInput.length+objPwd.length]=objTextArea[i];attrMaxLength=objTextArea[i].getAttribute("maxlength");if(attrMaxLength){strMaxLengthTextArea+=objTextArea[i].id+";"}}for(i=0;i<objSelect.length;i++){objInputTextArea[objInputTextArea.length]=objSelect[i]}if(objInputTextArea){for(i=0;i<objInputTextArea.length;i++){strFieldType=objInputTextArea[i].type;if(strFieldType=="hidden"||strFieldType=="password"||strFieldType=="textarea"){strFieldType="text"}switch(strFieldType){case"text":attrRequired=objInputTextArea[i].getAttribute("required");if(attrRequired&&attrRequired=="true"){strRequiredFields+=objInputTextArea[i].id+";"}attrRegex=objInputTextArea[i].getAttribute("regexp");attrRegexValidationFormat=objInputTextArea[i].getAttribute("regexpFormat");if(attrRegex&&attrRegex!=""){strRegExFields+=objInputTextArea[i].id+"$REGX$"+attrRegex+"$REGX$"+attrRegexValidationFormat+";"}attrValidationFunction=objInputTextArea[i].getAttribute("validationjsfunction");if(attrValidationFunction&&attrValidationFunction!=""){strValFuncFields+=objInputTextArea[i].id+"$VALFUNC$"+attrValidationFunction+";"}break;case"checkbox":break;case"select-one":attrRequired=objInputTextArea[i].getAttribute("required");if(attrRequired&&attrRequired=="true"){strRequiredSelect+=objInputTextArea[i].id+";"}break}}}}if(valideRequireFields(objForm,strRequiredFields)){if(valideRequireSelect(objForm,strRequiredSelect)){if(valideRegEx(objForm,strRegExFields)){if(valideSpecificFunction(objForm,strValFuncFields)){blnValidationClear=true}}}}if(!valideMaxLengthTextarea(objForm,strMaxLengthTextArea)){blnValidationClear=false}return blnValidationClear}function valideMaxLengthTextarea(objForm,strListFields){var blnValide=true;var blnLabelFound=false;var strLabel="";if(strListFields!=""){var arrField=strListFields.split(";");for(var i=0;blnValide&&i<arrField.length;i++){if(arrField[i]!=""){var value=document.getElementById(arrField[i]).value;var maxlength=document.getElementById(arrField[i]).getAttribute("maxlength");if(value.length>maxlength){strLabel=getLabel(objForm,arrField[i]);if(document.getElementById("userLanguage").value=="fr"){alert("La longueur du champ "+strLabel+" dépasse la limite autorisée. ("+maxlength+" caractères)")}else{alert("The length of the field "+strLabel+" exceed the limit. ("+maxlength+" characters)")}document.getElementById(arrField[i]).focus();blnValide=false}}}}return blnValide}function valideRequireFields(objForm,strListFields){var blnValide=true;var blnLabelFound=false;var strLabel="";if(strListFields!=""){var arrRequired=strListFields.split(";");for(var i=0;blnValide&&i<arrRequired.length;i++){if(arrRequired[i]!=""){if(trim(document.getElementById(arrRequired[i]).value)==""){strLabel=getLabel(objForm,arrRequired[i]);if(document.getElementById("userLanguage").value=="fr"){alert("Le champ "+strLabel+" est obligatoire.")}else{alert("The field "+strLabel+" is mandatory")}document.getElementById(arrRequired[i]).focus();blnValide=false}}}}return blnValide}function valideRegEx(objForm,strListFields){var blnValide=true;var blnLabelFound=false;var strLabel="";var arrRegExDetail;var blnRegExValid=true;var strFormat="";if(strListFields!=""){var arrRegEx=strListFields.split(";");for(var i=0;blnValide&&i<arrRegEx.length;i++){if(arrRegEx[i]!=""){arrRegExDetail=arrRegEx[i].split("$REGX$");blnRegExValid=validateRegEx(arrRegExDetail[0],arrRegExDetail[1]);if(!blnRegExValid){strLabel=getLabel(objForm,arrRegExDetail[0]);strFormat=arrRegExDetail[2];if(document.getElementById("userLanguage").value=="fr"){alert("Le format du champ "+strLabel+" est incorrect. Le format est : "+strFormat)}else{alert("The format of the field "+strLabel+" is incorrect. You must respect this format : "+strFormat)}document.getElementById(arrRegExDetail[0]).focus();blnValide=false}}}}return blnValide}function valideRequireSelect(objForm,strListFields){var blnValide=true;var blnLabelFound=false;var strLabel="";if(strListFields!=""){var arrRequired=strListFields.split(";");for(var i=0;blnValide&&i<arrRequired.length;i++){if(arrRequired[i]!=""){strLabel=getLabel(objForm,arrRequired[i]);var l_elements=document.getElementById(arrRequired[i]);if(l_elements[l_elements.selectedIndex].value==""){if(document.getElementById("userLanguage").value=="fr"){alert("Vous devez faire un choix pour le champs "+strLabel)}else{alert("You must select a choice for "+strLabel+" field")}blnValide=false}}}}return blnValide}function valideSpecificFunction(objForm,strListFields){var blnValide=true;var blnLabelFound=false;var strLabel="";var arrValFuncDetail;var blnValFuncValid=true;var strFormat="";if(strListFields!=""){var arrValFunc=strListFields.split(";");for(var i=0;blnValide&&i<arrValFunc.length;i++){if(arrValFunc[i]!=""){arrValFuncDetail=arrValFunc[i].split("$VALFUNC$");var strFunction=arrValFuncDetail[1]+"(objForm ,'"+arrValFuncDetail[0]+"','"+document.getElementById("userLanguage").value+"')";blnValFuncValid=eval(strFunction);if(!blnValFuncValid){blnValide=false}}}}return blnValide}function getInnerText(element){if(typeof element.innerText!="undefined"){return element.innerText}else{if(document.createRange){var range=document.createRange();range.selectNodeContents(element);return range.toString()}}}function getLabel(objFormElement,idToFound){var strLabel="";var blnLabelFound=false;if(objFormElement){var objLabels=objFormElement.getElementsByTagName("label");for(var y=0;!blnLabelFound&&y<objLabels.length;y++){if(objLabels[y].htmlFor==idToFound){strLabel=getInnerText(objLabels[y]);blnLabelFound=true}}}return strLabel}function validateDate(objFormVal,idField,language){blnRetour=false;strLabel=getLabel(objFormVal,idField);objDate=document.getElementById(idField);if(isDate(objDate)){blnRetour=true}else{if(language=="fr"){alert(strLabel+" : Cette date n'est pas valide")}else{alert(strLabel+" : This date is not valid.")}}return blnRetour}function validateRegEx(idField,regex){var reg=new RegExp(regex);return reg.test(document.getElementById(idField).value)}var dtCh="/";var minYear=1900;var maxYear=2157;function isInteger(s){var i;for(i=0;i<s.length;i++){var c=s.charAt(i);if(((c<"0")||(c>"9"))){return false}}return true}function stripCharsInBag(s,bag){var i;var returnString="";for(i=0;i<s.length;i++){var c=s.charAt(i);if(bag.indexOf(c)==-1){returnString+=c}}return returnString}function daysInFebruary(year){return(((year%4==0)&&((!(year%157==0))||(year%400==0)))?29:28)}function DaysArray(n){for(var i=1;i<=n;i++){this[i]=31;if(i==4||i==6||i==9||i==11){this[i]=30}if(i==2){this[i]=29}}return this}function isDate(a_dateField){dtStr=a_dateField.value;var daysInMonth=DaysArray(12);var pos1=dtStr.indexOf(dtCh);var pos2=dtStr.indexOf(dtCh,pos1+1);var strMonth=dtStr.substring(0,pos1);var strDay=dtStr.substring(pos1+1,pos2);var strYear=dtStr.substring(pos2+1);strYr=strYear;if(strDay.charAt(0)=="0"&&strDay.length>1){strDay=strDay.substring(1)}if(strMonth.charAt(0)=="0"&&strMonth.length>1){strMonth=strMonth.substring(1)}for(var i=1;i<=3;i++){if(strYr.charAt(0)=="0"&&strYr.length>1){strYr=strYr.substring(1)}}month=parseInt(strMonth);day=parseInt(strDay);year=parseInt(strYr);if(pos1==-1||pos2==-1){a_errField=document.getElementById(a_dateField.name+".MONTH");a_errField.focus();return false}if(strMonth.length<1||month<1||month>12){a_errField=document.getElementById(a_dateField.name+".MONTH");a_errField.focus();return false}if(strDay.length<1||day<1||day>31||(month==2&&day>daysInFebruary(year))||day>daysInMonth[month]){a_errField=document.getElementById(a_dateField.name+".DAY");a_errField.focus();return false}if(strYear.length!=4||year==0||year<minYear||year>maxYear){a_errField=document.getElementById(a_dateField.name+".YEAR");a_errField.focus();return false}if(dtStr.indexOf(dtCh,pos2+1)!=-1||isInteger(stripCharsInBag(dtStr,dtCh))==false){a_errField=document.getElementById(a_dateField.name+".YEAR");a_errField.focus();return false}return true}function validate2Dates(objFormVal,idFieldDate1,idFieldDate2,language){if(validateDate(objFormVal,idFieldDate1,language)){if(validateDate(objFormVal,idFieldDate2,language)){return true}}return false}var regExpBeginning=/^\s+/;var regExpEnd=/\s+$/;function trim(aString){return aString.replace(regExpBeginning,"").replace(regExpEnd,"")};