(function($){$.fn.setField=function(field){if(field==undefined||field.length==0){field=this}if(field!=undefined&&field.length>0){field.attr("ctp:processing","0");field.keydown(function(e){field=$(this);rtn=(field.attr("ctp:processing")!="1");if(rtn&&e.which>47){type=field.attr("ctp:typevalue");signed=field.attr("ctp:signedvalue");switch(type){case"integer":rtn=false;if(e.which==14||e.which==27||(e.which>=48&&e.which<=57)||(e.which>=96&&e.which<=105)||(signed=="1"&&(e.which==56||e.which==109))||(e.which>=111&&e.which<=146)){rtn=true}break;case"float":rtn=false;if(e.which==14||e.which==27||(e.which>=48&&e.which<=57)||(e.which>=96&&e.which<=105)||e.which==190||e.which==110||e.which==188||(signed=="1"&&(e.which==56||e.which==109))||(e.which>=111&&e.which<=146)){rtn=true}break}}return rtn});field.bind("change keyup",function(e){force=(arguments[1]=="force");field=$(this);if(field.attr("ctp:processing")!="1"){field.attr("ctp:processing","1");val=field.val();initialval=val;min=field.attr("ctp:minvalue");min=min!=undefined&&!isNaN(min)?parseFloat(min,10):min;max=field.attr("ctp:maxvalue");max=max!=undefined&&!isNaN(max)?parseFloat(max,10):max;step=field.attr("ctp:stepvalue");step=step!=undefined?parseFloat(step,10):step;type=field.attr("ctp:typevalue");signed=field.attr("ctp:signedvalue");signed=(signed!=undefined&&signed==1);linkedto=field.attr("ctp:linkedto");zerovalue=field.attr("ctp:zerovalue");zerovalue=(zerovalue!=undefined&&zerovalue==1);zerofilling=field.attr("ctp:zerofillvalue");zerofilling=zerofilling!=undefined?parseInt(zerofilling,10):0;defaultvalue=field.attr("ctp:defaultvalue");if(undefined!=linkedto){linked_element=$("#"+linkedto);linked_val=linked_element.val();if(min=="same"){min=linked_val}if(max=="same"){max=linked_val}}if(type=="integer"||type=="float"){separator=(val.indexOf(",")>-1)?",":".";val=val.replace(",",".");decimal="";pointPosition=val.indexOf(".");if(type=="float"&&pointPosition>-1){val=val.substr(0,pointPosition+3);i=val.length>pointPosition+2?pointPosition+2:val.length-1;for(i;i>pointPosition;i--){if(val.charAt(i)=="0"){decimal+=(val.charAt(i)=="0"?"0":"")}else{break}}decimal=(i==pointPosition?".":"")+decimal}val=type=="integer"?parseInt(val,10):parseFloat(val,10);if(isNaN(val)){if(zerovalue){val=0}else{if(defaultvalue!=undefined&&!isNaN(defaultvalue)){val=defaultvalue}else{if(min!=undefined&&!isNaN(min)){val=min}else{val=0}}}}if(!(zerovalue&&val==0)){val=min!=undefined&&val<min?min:val}val=max!=undefined&&val>max?max:val;if(!signed&&val<0){if(defaultvalue!=undefined){val=defaultvalue}else{if(min!=undefined){val=min}else{val=0}}}val=addZero((val+decimal).replace(/\./,separator),zerofilling,separator);if(val!=initialval){if(initialval&&initialval!=""){field.val(val)}else{var f=field;var v=val;window.setTimeout(function(){if($(f).val()==""){$(f).val(v)}},1000)}}}if(linkedto&&!force){$("#"+linkedto).change()}linkedtothis=$('[ctp\\:linkedto="'+field.attr("id")+'"]');$(linkedtothis).trigger("change",["force"]);callback=field.attr("ctp:callback");if(callback){eval(callback)}field.attr("ctp:processing","0")}})}}})(jQuery);function addZero(x,n,separator){n=isNaN(n)?2:n;x=(isNaN(parseInt(x)))?0:x;if(!separator){separator=translation.decimalSeparator}x=new String(x);tmp=x.indexOf(separator,0)>-1?x.substr(x.indexOf(separator,0)):"";x=parseInt(x,10);if(!isNaN(x)&&x<Math.pow(10,n)){z=(x>0)?x*10:10;for(z;z<Math.pow(10,n);z*=10){x="0"+x}}return x+tmp}function formAddDefaultHover(){$("input.submit, button.submit").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});$("input.reset, button.reset").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});$("input.cancel, button.cancel").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});$("input.search, button.search").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")})}$.fn.clearForm=function(){return this.each(function(){type=this.type,tag=this.tagName.toLowerCase();if(tag=="form"||tag=="fieldset"){return $(":input",this).clearForm()}if(type=="text"||type=="hidden"||type=="password"||tag=="textarea"){this.value=""}else{if(type=="checkbox"||type=="radio"){this.checked=false}else{if(tag=="select"){this.selectedIndex=-1}}}})};$.fn.inhibitForm=function(){this.submit(function(){return false})};$.fn.disinhibitForm=function(){this.submit(function(){return true})};function updateDateSelects(Calendar,index,prefix,type,suffix,selectedDate,displayAlert){name=prefix!=""?prefix+"-":"";name+=type;name+=suffix!=""?"-"+suffix:"";yearSelect=$("#"+name+"-y");monthSelect=$("#"+name+"-m");daySelect=$("#"+name+"-d");if(typeof(selectedDate)!="object"||selectedDate==null||selectedDate=="null"){y=parseInt($(yearSelect).val(),10);m=parseInt($(monthSelect).val(),10);d=parseInt($(daySelect).val(),10)}else{y=selectedDate.getFullYear();m=selectedDate.getMonth()+1;d=selectedDate.getDate()}h=0;min=0;hidden=0;switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:hidden=0;break;case 4:case 6:case 9:case 11:hidden=1;break;case 2:hidden=((y%4)==0&&(y%100)!==0||(y%400)==0)?2:3;break}options=daySelect.children("option");optionsLength=options.length;newOptionsLength=31-hidden;if(d>newOptionsLength){d=newOptionsLength}if(optionsLength>newOptionsLength){for(i=optionsLength-1;i>=newOptionsLength;i--){$(options[i]).remove()}}else{if(optionsLength<newOptionsLength){for(i=optionsLength;i<newOptionsLength;i++){opt=document.createElement("option");opt=new Option((i+1),(i+1),false,false);opt.innerHTML=i+1;daySelect.append(opt)}}}yearSelect.val(y);monthSelect.val((m<10)?"0"+m:m);daySelect.val((d<10)?"0"+d:d);selectedDate=new Date(y,m-1,d,h,min);Calendar.setSelectedDate(selectedDate);return true};
