var jFormsJQ={_forms:{},tForm:null,selectFillUrl:'',autocompleteUrl:'',config:{},_submitListener:function(ev){var frm=jFormsJQ.getForm(ev.target.attributes.getNamedItem("id").value);jQuery(ev.target).trigger('jFormsUpdateFields');var submitOk=true;try{for(var i=0;i<frm.preSubmitHandlers.length;i++){if(!frm.preSubmitHandlers[i](ev))submitOk=false}if(!jFormsJQ.verifyForm(ev.target))submitOk=false;for(var j=0;j<frm.postSubmitHandlers.length;j++){if(!frm.postSubmitHandlers[j](ev))submitOk=false}}catch(e){return false}if(submitOk)jQuery(ev.target).trigger('jForms-submit');return submitOk},declareForm:function(aForm){this._forms[aForm.name]=aForm;jQuery('#'+aForm.name).bind('submit',jFormsJQ._submitListener)},getForm:function(name){return this._forms[name]},verifyForm:function(frmElt){this.tForm=this._forms[frmElt.attributes.getNamedItem("id").value];var msg='';var valid=true;this.tForm.errorDecorator.start(this.tForm);for(var i=0;i<this.tForm.controls.length;i++){if(!this.verifyControl(this.tForm.controls[i],this.tForm))valid=false}if(!valid)this.tForm.errorDecorator.end();return valid},verifyControl:function(ctrl,frm){if(ctrl.disabled)return true;var val;if(typeof ctrl.getValue=='function'){val=ctrl.getValue()}else{var elt=frm.element.elements[ctrl.name];if(!elt)return true;val=this.getValue(elt)}if(val===null||val===false){if(ctrl.required){frm.errorDecorator.addError(ctrl,1);return false}}else{if(!ctrl.check(val,frm)){frm.errorDecorator.addError(ctrl,2);return false}}return true},getValue:function(elt){if(elt.nodeType){switch(elt.nodeName.toLowerCase()){case"input":if(elt.getAttribute('type')=='checkbox')return elt.checked?elt.getAttribute('value'):false;case"textarea":var val=jQuery.trim(elt.value);return(val!==''?val:null);case"select":if(!elt.multiple)return(elt.value!==''?elt.value:null);var values=[];for(var i=0;i<elt.options.length;i++){if(elt.options[i].selected)values.push(elt.options[i].value)}if(values.length)return values;return null}}else if(this.isCollection(elt)){var values=[];for(var i=0;i<elt.length;i++){var item=elt[i];if(item.checked)values.push(item.value)}if(values.length){if(elt[0].getAttribute('type')=='radio')return values[0];return values}}return null},hasClass:function(elt,clss){return jQuery(elt).hasClass(clss)},addClass:function(elt,clss){if(this.isCollection(elt)){for(var j=0;j<elt.length;j++){jQuery(elt[j]).addClass(clss)}}else{jQuery(elt).addClass(clss)}},removeClass:function(elt,clss){if(this.isCollection(elt)){for(var j=0;j<elt.length;j++){jQuery(elt[j]).removeClass(clss)}}else{jQuery(elt).removeClass(clss)}},setAttribute:function(elt,name,value){if(this.isCollection(elt)){for(var j=0;j<elt.length;j++){elt[j].setAttribute(name,value)}}else{elt.setAttribute(name,value)}},removeAttribute:function(elt,name){if(this.isCollection(elt)){for(var j=0;j<elt.length;j++){elt[j].removeAttribute(name)}}else{elt.removeAttribute(name)}},isCollection:function(elt){if(typeof HTMLCollection!="undefined"&&elt instanceof HTMLCollection){return true}if(typeof NodeList!="undefined"&&elt instanceof NodeList){return true}if(elt instanceof Array)return true;if(elt.length!=undefined&&(elt.localName==undefined||elt.localName=='SELECT'||elt.localName!='select'))return true;return false}};function jFormsJQForm(name,selector,id){this.selector=selector;this.formId=id;this.name=name;this.controls=[];this.errorDecorator=new jFormsJQErrorDecoratorHtml();this.element=jQuery('#'+name).get(0);this.isAjax=false;this.allDependencies={};this.updateInProgress=false;this.controlsToUpdate=[];this.preSubmitHandlers=[];this.postSubmitHandlers=[];var me=this;jQuery(function(){for(var i in me.allDependencies)me.updateLinkedElements(i)})};jFormsJQForm.prototype={addControl:function(ctrl){this.controls.push(ctrl);ctrl.formName=this.name},setErrorDecorator:function(decorator){this.errorDecorator=decorator},getControl:function(aControlName){var ctrls=this.controls;for(var i=0;i<ctrls.length;i++){if(ctrls[i].name==aControlName){return ctrls[i]}}return null},declareDynamicFill:function(controlName){var elt=this.element.elements[controlName];var ctrl=this.getControl(controlName);if(!ctrl.dependencies)return;var me=this;for(var i=0;i<ctrl.dependencies.length;i++){var depName=ctrl.dependencies[i];var dep=this.element.elements[depName];if(this.allDependencies[depName]===undefined){this.allDependencies[depName]=[controlName];jQuery(dep).change(function(){me.updateLinkedElements(depName)})}else{this.allDependencies[depName].push(controlName)}}},updateLinkedElements:function(controlName){if(this.updateInProgress)return;this.updateInProgress=true;this.buildOrderedControlsList(controlName);this.dynamicFillAjax()},buildOrderedControlsList:function(controlName){this.controlsToUpdate=[];var alreadyCheckedControls=[];var checkedCircularDependency=[];var me=this;var buildListDependencies=function(controlName){if(checkedCircularDependency[controlName]===true)throw"Circular reference !";checkedCircularDependency[controlName]=true;var list=me.allDependencies[controlName];if(list!==undefined){for(var j=0;j<list.length;j++){if(alreadyCheckedControls[list[j]]!==true){buildListDependencies(list[j])}}};checkedCircularDependency[controlName]=false;alreadyCheckedControls[controlName]=true;me.controlsToUpdate.push(controlName)};var list=this.allDependencies[controlName];if(list!==undefined){for(var i=0;i<list.length;i++){checkedCircularDependency=[];if(alreadyCheckedControls[list[i]]!==true){buildListDependencies(list[i])}}}},dynamicFillAjax:function(){var ctrlname=this.controlsToUpdate.pop();if(!ctrlname){this.updateInProgress=false;this.controlsToUpdate=[];return}var ctrl=this.getControl(ctrlname);var token=this.element.elements['__JFORMS_TOKEN__'];if(typeof token=="undefined"){token=''}else token=token.value;var param={'__form':this.selector,'__formid':this.formId,'__JFORMS_TOKEN__':token,'__ref':ctrl.name.replace(/\[\]/,'')};for(var i=0;i<ctrl.dependencies.length;i++){var n=ctrl.dependencies[i];param[n]=jFormsJQ.getValue(this.element.elements[n])}var elt=this.element.elements[ctrl.name];var me=this;var currentValues=$(elt).val();jQuery.post(jFormsJQ.selectFillUrl,param,function(data){if(typeof data.data=="undefined")return;if(elt.nodeType&&elt.nodeName.toLowerCase()=='select'){var emptyitem=jQuery('option[value=""]',elt);jQuery(elt).empty();var opt;if(0<emptyitem.length){opt=document.createElement('option');opt.value=emptyitem.val();opt.appendChild(document.createTextNode(emptyitem.text()));elt.appendChild(opt)}var val;for(val in data.data){if(typeof data.data[val]=="string"){opt=document.createElement('option');opt.setAttribute('value',val);opt.appendChild(document.createTextNode(data.data[val]));elt.appendChild(opt)}else if(typeof data.data[val]=="object"){var val2,optgrp;if(val==""){for(val2 in data.data[val]){opt=document.createElement('option');opt.setAttribute('value',val2);opt.appendChild(document.createTextNode(data.data[val][val2]));elt.appendChild(opt)}}else{optgrp=document.createElement('optgroup');optgrp.setAttribute('label',val);for(val2 in data.data[val]){opt=document.createElement('option');opt.setAttribute('value',val2);opt.appendChild(document.createTextNode(data.data[val][val2]));optgrp.appendChild(opt)}elt.appendChild(optgrp)}}}$(elt).val(currentValues)}if(me.controlsToUpdate.length){me.dynamicFillAjax()}else{me.updateInProgress=false}},"json")},addSubmitHandler:function(handler,beforeCheck){if(beforeCheck){this.preSubmitHandlers.push(handler)}else this.postSubmitHandlers.push(handler)},autocomplete:function(controlName){var token=this.element.elements['__JFORMS_TOKEN__'];if(typeof token=="undefined"){token=''}else token=token.value;var param={'__form':this.selector,'__formid':this.formId,'__JFORMS_TOKEN__':token,'__ref':controlName};var elt=jQuery('#'+this.name+'_'+controlName).eq(0);elt.after('<input style="display:none" type="text" id="'+this.name+'_'+controlName+'_jFormsAutocomplete"/>');var elt2=jQuery('#'+this.name+'_'+controlName+'_jFormsAutocomplete').eq(0);var value=elt.val();if(value&&parseInt(value,10)){elt2.val('jelixAutocompleteRef:'+value);param.__getlabelforkey=value;jQuery.ajax({url:jFormsJQ.autocompleteUrl,dataType:'json',data:param,success:function(data){elt.val(data)}});delete param.__getlabelforkey}elt.autocomplete({source:function(request,response){param.__q=request.term;jQuery.ajax({url:jFormsJQ.autocompleteUrl,dataType:'json',data:param,success:function(data){var d=[];for(var i in data)d.push({label:data[i],value:i});response(d)}})},select:function(event,ui){elt.val(ui.item.label);elt2.val('jelixAutocompleteRef:'+ui.item.value);return false},focus:function(event,ui){return false},search:function(event,ui){elt2.val('')},minLength:2,delay:100});jQuery('#'+this.name).bind('jForms-submit',function(e){var v1=elt.val();var v2=elt2.val();if(v1!=''&&v2=='')v2=v1;elt2.val(v1).show();elt.hide().val(v2)})},getData:function(){var data={};for(var i in this.controls){if(typeof this.controls[i].getData=='function')data[this.controls[i].name]=this.controls[i].getData();else if(typeof this.controls[i].choiceItems!='undefined'){var elt=this.element.elements[this.controls[i].name];for(var j=0;j<elt.length;j++){if(elt[j].checked==true){data[this.controls[i].name]=elt[j].value;for(var k=0;k<this.controls[i].choiceItems[elt[j].value].length;k++){var control=this.controls[i].choiceItems[elt[j].value][k];if(typeof control.getData=='function')data[control.name]=control.getData();else{var elt2=this.element.elements[control.name];if(typeof elt2!='undefined')data[control.name]=jFormsJQ.getValue(elt2)}}break}}}else{var elt=this.element.elements[this.controls[i].name];if(typeof elt!='undefined')data[this.controls[i].name]=jFormsJQ.getValue(elt)}}jQuery(this.element).find('.jforms-hiddens input').each(function(i){data[this.getAttribute('name')]=this.value});return data},ajaxActivate:function(successCallback){var form=this;this.isAjax=true;jQuery(this.element).bind('submit',function(e){e.preventDefault();jQuery(e.target).trigger('jFormsUpdateFields');if(!jFormsJQ.verifyForm(e.target)){e.stopPropagation();return}var d=form.getData();var data={};for(var i in d){if(typeof d[i]=='string')data[i]=d[i];else{for(var j in d[i]){var k=i+'['+j+']';data[k]=d[i][j]}}}data.__JFORMS_AJAX__=true;var url=jQuery(this).attr('action');jQuery.ajax({url:url,type:"POST",data:data,dataType:"json",error:function(XMLHttpRequest,textStatus,errorThrown){var token=form.element.elements['__JFORMS_TOKEN__'];if(typeof token=="undefined")token='';else token=token.value;jQuery.getJSON(jFormsJQ.getErrorsUrl,{'__form':form.selector,'__formid':form.formId,'__JFORMS_TOKEN__':token},function(errors){form.errorDecorator.start(form);for(var i in errors){if(errors[i]==1||errors[i]==2)form.errorDecorator.addError(form.getControl(i),errors[i]);else form.errorDecorator.addError(form.getControl(i),null,errors[i])}form.errorDecorator.end()})},success:successCallback})})}};function jFormsJQControlString(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.minLength=-1;this.maxLength=-1;this.regexp=null};jFormsJQControlString.prototype.check=function(val,jfrm){if(this.minLength!=-1&&val.length<this.minLength)return false;if(this.maxLength!=-1&&val.length>this.maxLength)return false;if(this.regexp&&!this.regexp.test(val))return false;return true};function jFormsJQControlHtml(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.minLength=-1;this.maxLength=-1};jFormsJQControlHtml.prototype.check=function(val,jfrm){if(this.minLength!=-1&&val.length<this.minLength)return false;if(this.maxLength!=-1&&val.length>this.maxLength)return false;return true};jFormsJQControlHtml.prototype.getValue=function(){var frm=jFormsJQ.getForm(this.formName);var elt=frm.element.elements[this.name];if(!elt)return null;val=jFormsJQ.getValue(elt);if(val==null)return null;val=val.replace(/<(img|object|video|svg|embed)[^>]*>/gi,'TAG');val=val.replace(/<\/?[\S][^>]*>/gi,'');val=val.replace(/&[a-z]+;/gi,'');val=jQuery.trim(val);if(val=='')return null;return val};function jFormsJQControlSecret(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.minLength=-1;this.maxLength=-1;this.regexp=null};jFormsJQControlSecret.prototype.check=function(val,jfrm){if(this.minLength!=-1&&val.length<this.minLength)return false;if(this.maxLength!=-1&&val.length>this.maxLength)return false;if(this.regexp&&!this.regexp.test(val))return false;return true};function jFormsJQControlConfirm(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this._masterControl=name.replace(/_confirm$/,'')};jFormsJQControlConfirm.prototype.check=function(val,jfrm){if(jFormsJQ.getValue(jfrm.element.elements[this._masterControl])!==val)return false;return true};function jFormsJQControlBoolean(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlBoolean.prototype.check=function(val,jfrm){return(val==true||val==false)};function jFormsJQControlDecimal(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlDecimal.prototype.check=function(val,jfrm){return(-1!=val.search(/^\s*[\+\-]?\d+(\.\d+)?\s*$/))};function jFormsJQControlInteger(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlInteger.prototype.check=function(val,jfrm){return(-1!=val.search(/^\s*[\+\-]?\d+\s*$/))};function jFormsJQControlHexadecimal(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlHexadecimal.prototype.check=function(val,jfrm){return(val.search(/^0x[a-f0-9A-F]+$/)!=-1)};function jFormsJQControlDatetime(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.minDate=null;this.maxDate=null;this.multiFields=false;this.disabled=false};jFormsJQControlDatetime.prototype.check=function(val,jfrm){var t=val.match(/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2})(:(\d{2}))?$/);if(t==null)return false;var yy=parseInt(t[1],10);var mm=parseInt(t[2],10)-1;var dd=parseInt(t[3],10);var th=parseInt(t[4],10);var tm=parseInt(t[5],10);var ts=0;if(t[7]!=null&&t[7]!="")ts=parseInt(t[7],10);var dt=new Date(yy,mm,dd,th,tm,ts);if(yy!=dt.getFullYear()||mm!=dt.getMonth()||dd!=dt.getDate()||th!=dt.getHours()||tm!=dt.getMinutes()||ts!=dt.getSeconds())return false;else if((this.minDate!==null&&val<this.minDate)||(this.maxDate!==null&&val>this.maxDate))return false;return true};jFormsJQControlDatetime.prototype.getValue=function(){if(!this.multiFields){var val=jQuery.trim(jQuery('#'+this.formName+'_'+this.name).val());return(val!==''?val:null)}var controlId='#'+this.formName+'_'+this.name;var v=jQuery(controlId+'_year').val()+'-'+jQuery(controlId+'_month').val()+'-'+jQuery(controlId+'_day').val()+' '+jQuery(controlId+'_hour').val()+':'+jQuery(controlId+'_minutes').val();var secondsControl=jQuery('#'+this.formName+'_'+this.name+'_seconds');if(secondsControl.attr('type')!=='hidden'){v+=':'+secondsControl.val();if(v=='-- ::')return null}else if(v=='-- :')return null;return v};jFormsJQControlDatetime.prototype.deactivate=function(deactivate){this.disabled=deactivate;var controlId='#'+this.formName+'_'+this.name;if(deactivate){if(!this.multiFields)jQuery(controlId).attr('disabled','disabled').addClass('jforms-disabled').trigger('jFormsActivateControl',false);else{jQuery(controlId+'_year').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_month').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_day').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_hour').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_minutes').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_seconds').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_hidden').trigger('jFormsActivateControl',false)}}else{if(!this.multiFields)jQuery(controlId).removeAttr('disabled').removeClass('jforms-disabled').trigger('jFormsActivateControl',true);else{jQuery(controlId+'_year').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_month').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_day').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_hour').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_minutes').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_seconds').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_hidden').trigger('jFormsActivateControl',true)}}};jFormsJQControlDatetime.prototype.getData=function(){if(!this.multiFields){var val=jQuery.trim(jQuery('#'+this.formName+'_'+this.name).val());return(val!==''?val:null)}var controlId='#'+this.formName+'_'+this.name;var v={year:jQuery(controlId+'_year').val(),month:jQuery(controlId+'_month').val(),day:jQuery(controlId+'_day').val(),hour:jQuery(controlId+'_hour').val(),minutes:jQuery(controlId+'_minutes').val(),seconds:jQuery(controlId+'_seconds').val()};return v};function jFormsJQControlDate(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.multiFields=false;this.minDate=null;this.maxDate=null;this.disabled=false};jFormsJQControlDate.prototype.check=function(val,jfrm){var t=val.match(/^(\d{4})\-(\d{2})\-(\d{2})$/);if(t==null)return false;var yy=parseInt(t[1],10);var mm=parseInt(t[2],10)-1;var dd=parseInt(t[3],10);var dt=new Date(yy,mm,dd,0,0,0);if(yy!=dt.getFullYear()||mm!=dt.getMonth()||dd!=dt.getDate())return false;else if((this.minDate!==null&&val<this.minDate)||(this.maxDate!==null&&val>this.maxDate))return false;return true};jFormsJQControlDate.prototype.getValue=function(){if(!this.multiFields){var val=jQuery.trim(jQuery('#'+this.formName+'_'+this.name).val());return(val!==''?val:null)}var controlId='#'+this.formName+'_'+this.name;var v=jQuery(controlId+'_year').val()+'-'+jQuery(controlId+'_month').val()+'-'+jQuery(controlId+'_day').val();if(v=='--')return null;return v};jFormsJQControlDate.prototype.deactivate=function(deactivate){this.disabled=deactivate;var controlId='#'+this.formName+'_'+this.name;if(deactivate){if(!this.multiFields)jQuery(controlId).attr('disabled','disabled').addClass('jforms-disabled').trigger('jFormsActivateControl',false);else{jQuery(controlId+'_year').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_month').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_day').attr('disabled','disabled').addClass('jforms-disabled');jQuery(controlId+'_hidden').trigger('jFormsActivateControl',false)}}else{if(!this.multiFields)jQuery(controlId).removeAttr('disabled').removeClass('jforms-disabled').trigger('jFormsActivateControl',true);else{jQuery(controlId+'_year').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_month').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_day').removeAttr('disabled').removeClass('jforms-disabled');jQuery(controlId+'_hidden').trigger('jFormsActivateControl',true)}}};jFormsJQControlDate.prototype.getData=function(){if(!this.multiFields){var val=jQuery.trim(jQuery('#'+this.formName+'_'+this.name).val());return(val!==''?val:null)}var controlId='#'+this.formName+'_'+this.name;var v={year:jQuery(controlId+'_year').val(),month:jQuery(controlId+'_month').val(),day:jQuery(controlId+'_day').val()};return v};function jFormsJQControlTime(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlTime.prototype.check=function(val,jfrm){var t=val.match(/^(\d{2}):(\d{2})(:(\d{2}))?$/);if(t==null)return false;var th=parseInt(t[1],10);var tm=parseInt(t[2],10);var ts=0;if(t[4]!=null)ts=parseInt(t[4],10);var dt=new Date(2007,05,02,th,tm,ts);if(th!=dt.getHours()||tm!=dt.getMinutes()||ts!=dt.getSeconds())return false;else return true};function jFormsJQControlLocaleDatetime(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.lang=''};jFormsJQControlLocaleDatetime.prototype.check=function(val,jfrm){var yy,mm,dd,th,tm,ts;if(this.lang.indexOf('fr_')==0){var t=val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})(:(\d{2}))?$/);if(t==null)return false;yy=parseInt(t[3],10);mm=parseInt(t[2],10)-1;dd=parseInt(t[1],10);th=parseInt(t[4],10);tm=parseInt(t[5],10);ts=0;if(t[7]!=null)ts=parseInt(t[7],10)}else{var t=val.match(/^(\d{2})\/(\d{2})\/(\d{4}) (\d{2}):(\d{2})(:(\d{2}))?$/);if(t==null)return false;yy=parseInt(t[3],10);mm=parseInt(t[1],10)-1;dd=parseInt(t[2],10);th=parseInt(t[4],10);tm=parseInt(t[5],10);ts=0;if(t[7]!=null)ts=parseInt(t[7],10)}var dt=new Date(yy,mm,dd,th,tm,ts);if(yy!=dt.getFullYear()||mm!=dt.getMonth()||dd!=dt.getDate()||th!=dt.getHours()||tm!=dt.getMinutes()||ts!=dt.getSeconds())return false;else return true};function jFormsJQControlLocaleDate(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.lang=''};jFormsJQControlLocaleDate.prototype.check=function(val,jfrm){var yy,mm,dd;if(this.lang.indexOf('fr_')==0){var t=val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);if(t==null)return false;yy=parseInt(t[3],10);mm=parseInt(t[2],10)-1;dd=parseInt(t[1],10)}else{var t=val.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);if(t==null)return false;yy=parseInt(t[3],10);mm=parseInt(t[1],10)-1;dd=parseInt(t[2],10)}var dt=new Date(yy,mm,dd,0,0,0);if(yy!=dt.getFullYear()||mm!=dt.getMonth()||dd!=dt.getDate())return false;else return true};function jFormsJQControlUrl(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlUrl.prototype.check=function(val,jfrm){return(val.search(/^[a-z]+:\/\/((((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))((\/)|$)/)!=-1)};function jFormsJQControlEmail(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlEmail.prototype.check=function(val,jfrm){return(val.search(/^((\"[^\"f\n\r\t\b]+\")|([\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&\'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/)!=-1)};function jFormsJQControlIpv4(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlIpv4.prototype.check=function(val,jfrm){var t=val.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);if(t)return(t[1]<256&&t[2]<256&&t[3]<256&&t[4]<256);return false};function jFormsJQControlIpv6(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired=''};jFormsJQControlIpv6.prototype.check=function(val,jfrm){return(val.search(/^([a-f0-9]{1,4})(:([a-f0-9]{1,4})){7}$/i)!=-1)};function jFormsJQControlChoice(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';this.choiceItems={}};jFormsJQControlChoice.prototype={addControl:function(ctrl,itemValue){if(this.choiceItems[itemValue]==undefined)this.choiceItems[itemValue]=[];this.choiceItems[itemValue].push(ctrl);ctrl.formName=this.formName;jFormsJQ.getForm(this.formName).addControl(ctrl)},check:function(val,jfrm){if(this.choiceItems[val]==undefined)return false;return true},activate:function(val){var frmElt=document.getElementById(this.formName);for(var j in this.choiceItems){var list=this.choiceItems[j];for(var i=0;i<list.length;i++){if(typeof list[i].deactivate=='function'){list[i].deactivate(val!=j);continue}var elt=frmElt.elements[list[i].name];if(val==j){jFormsJQ.removeAttribute(elt,"disabled");jFormsJQ.removeClass(elt,"jforms-disabled");list[i].disabled=false}else{jFormsJQ.setAttribute(elt,"disabled","disabled");jFormsJQ.addClass(elt,"jforms-disabled");list[i].disabled=true}}}}};function jFormsJQControlAutocomplete(name,label){this.name=name;this.label=label;this.required=false;this.errInvalid='';this.errRequired='';var me=this;jQuery(function(){me.init()})};jFormsJQControlAutocomplete.prototype={init:function(){jFormsJQ.getForm(this.formName).autocomplete(this.name)},check:function(val,jfrm){return true}};function jFormsJQErrorDecoratorAlert(){this.message=''};jFormsJQErrorDecoratorAlert.prototype={start:function(form){this.message=''},addError:function(control,messageType){if(messageType==1){this.message+="* "+control.errRequired+"\n"}else if(messageType==2){this.message+="* "+control.errInvalid+"\n"}else{this.message+="* Error on '"+control.label+"' field\n"}},end:function(){if(this.message!=''){alert(this.message)}}};function jFormsJQErrorDecoratorHtml(){this.message=''};jFormsJQErrorDecoratorHtml.prototype={start:function(form){this.message='';this.form=form;jQuery("#"+form.name+" .jforms-error").removeClass('jforms-error')},addError:function(control,messageType,customMessage){var elt=this.form.element.elements[control.name];if(elt&&elt.nodeType){jQuery(elt).addClass('jforms-error')}var name=control.name.replace(/\[\]/,'');jQuery("#"+this.form.name+"_"+name+"_label").addClass('jforms-error');if(messageType==1){this.message+='<li class="error"> '+control.errRequired+"</li>"}else if(messageType==2){this.message+='<li class="error"> '+control.errInvalid+"</li>"}else if(customMessage){this.message+='<li class="error"> '+customMessage+"</li>"}else{this.message+='<li class="error"> Error on \''+control.label+"' </li>"}},end:function(){var errid=this.form.name+'_errors';var ul=document.getElementById(errid);if(this.message!=''){if(!ul){ul=document.createElement('ul');ul.setAttribute('class','jforms-error-list');ul.setAttribute('id',errid);jQuery(this.form.element).first().before(ul)}var jul=jQuery(ul);location.hash="#"+errid;jul.hide().html(this.message).fadeIn()}else if(ul){jQuery(ul).hide()}}};jQuery(function($){$('* > span.jforms-chkbox:last-child').after('<p class="jforms-checkboxes-selctrl"><a href="#">Tous</a> <a href="#">Aucun</a> <a href="#">Inverser</a></p>');$('p.jforms-checkboxes-selctrl').each(function(i){var me=$(this);var links=me.find('a').click(function(e){e.preventDefault()});var checkboxes=me.siblings('span.jforms-chkbox').children('input');links.eq(0).click(function(e){checkboxes.prop('checked',true).trigger('change')});links.eq(1).click(function(e){checkboxes.removeProp('checked').trigger('change')});links.eq(2).click(function(e){checkboxes.each(function(i){this.checked=!this.checked});checkboxes.trigger('change')})})});
