(function($){$.cpFormHandler={currentUrlParams:null,options:{delimiter:",",preSubmitCall:null,reqFieldCallback:null,isSearch:false,loadUsedValues:false,dateRangeFields:null,noTermsCallback:null},buildSearchHandler:function(options){this.buildFormHandler($.extend(options,{isSearch:true}||{}))},buildFormHandler:function(options){return this.each(function(){var fhWrapper=this;fhWrapper.options=$.extend(true,{},$.cpFormHandler.options);fhWrapper.options=$.extend(fhWrapper.options,options||{});if(fhWrapper.options.isSearch&&fhWrapper.options.loadUsedValues&&$.cpFormHandler.currentUrlParams==null){$.cpFormHandler.getUrlParams()}var submitButton=$(this).find('a[fhType=submitbutton]');var fhUrl=submitButton.attr("fhUrl");fhUrl=(fhUrl?fhUrl:(submitButton.attr("href").indexOf("?")>0?submitButton.attr("href").substring(0,submitButton.attr("href").indexOf("?")):submitButton.attr("href")));submitButton.attr("href",fhUrl);$(this).find('a[fhType=submitbutton]').click(function(){$.cpFormHandler.formSubmit(fhWrapper,fhUrl);return false});$(this).find('a[fhType=resetbutton]').click(function(){$.cpFormHandler.formReset(fhWrapper);return false});$(this).find(':input:not(.fhIgnore)').each(function(){if(this.tagName=="INPUT"&&this.type=="checkbox"){if(fhWrapper.options.isSearch&&fhWrapper.options.loadUsedValues&&$.cpFormHandler.currentUrlParams[this.name]){this.checked=((fhWrapper.options.delimiter+$.cpFormHandler.currentUrlParams[this.name].toLowerCase()+fhWrapper.options.delimiter).indexOf(fhWrapper.options.delimiter+this.value.toLowerCase()+fhWrapper.options.delimiter)>=0)}}else if((this.tagName=="INPUT"&&this.type!="checkbox")||this.tagName=="TEXTAREA"){this.defValue=$(this).attr("defValue");if(this.defValue){$(this).focus(function(){if(this.value==this.defValue){this.value=""}});$(this).blur(function(){if(this.value==""){this.value=this.defValue}})}if(this.tagName=="INPUT"&&this.type!="checkbox"){$(this).keypress(function(e){if(e.keyCode==13){e.returnValue=false;e.cancelBubble=true;$.cpFormHandler.formSubmit(fhWrapper,fhUrl);return false}})}if(fhWrapper.options.isSearch&&fhWrapper.options.loadUsedValues&&$.cpFormHandler.currentUrlParams[this.name]){this.value=$.cpFormHandler.currentUrlParams[this.name]}}else if(this.tagName=="SELECT"){this.defValue=$(this).find("option:first").value;if(fhWrapper.options.isSearch&&fhWrapper.options.loadUsedValues&&$.cpFormHandler.currentUrlParams[this.name]){this.value=$.cpFormHandler.currentUrlParams[this.name]}}});if(jQuery().datepicker){$(this).find('.fhDateWrapper').each(function(){var dateField=$(this).find('input:not(.fhIgnore)').get(0);var dateLink=$(this).find('a:not(.fhIgnore)').get(0);var dateHidden=document.createElement("input");dateHidden.setAttribute("type","hidden");$(dateHidden).css("display","none");$(dateHidden).addClass("fhIgnore");$(dateHidden).val($(dateField).val());$(dateLink).parent().prepend(dateHidden);$(dateField).attr("fhType","dateField");if(fhWrapper.options.isSearch&&fhWrapper.options.loadUsedValues){var drPos=(fhWrapper.options.dateRangeFields?((fhWrapper.options.dateRangeFields+",").replace("=>","||").replace(",","|")).indexOf("|"+dateField.name+"|"):0);var dateVal=null;if(drPos>0){var isFrom=(fhWrapper.options.dateRangeFields.substring(drPos,drPos+1)==">");var dateStr=(","+fhWrapper.options.dateRangeFields.substring(0,drPos+1));dateStr=dateStr.substring(dateStr.lastIndexOf(",")+1,dateStr.lastIndexOf("=>"));if($.cpFormHandler.currentUrlParams[dateStr]&&$.cpFormHandler.currentUrlParams[dateStr].indexOf("@")==0){var paramStr=$.cpFormHandler.currentUrlParams[dateStr].substring(1);if(paramStr.indexOf("_")>=0){dateVal=paramStr.split("_")[(isFrom?0:1)];if(dateVal.length!=8){dateVal=null}}else if(paramStr.length==8){dateVal=paramStr}}}else if($.cpFormHandler.currentUrlParams[dateField.name]&&$.cpFormHandler.currentUrlParams[dateField.name].length==9&&$.cpFormHandler.currentUrlParams[dateField.name].indexOf("@")==0){dateVal=$.cpFormHandler.currentUrlParams[dateField.name].substring(1)}if(dateVal){dateField.value=dateVal.substring(4,6)+"/"+dateVal.substring(6,8)+"/"+dateVal.substring(0,4)}else{dateField.value=dateField.defValue}}$(dateHidden).datepicker({showOtherMonths:true,selectOtherMonths:true,changeMonth:true,changeYear:true,showAnim:""});$(dateLink).click(function(){$(dateHidden).focus();return false});$(dateHidden).change(function(){$(dateField).val($(dateHidden).val())});$(dateField).keyup(function(e){$(dateHidden).val($(dateField).val())})})}})},formSubmit:function formSubmit(fhWrapper,fhUrl){if(fhWrapper.options.preSubmitCall!=null){fhWrapper.options.preSubmitCall(fhWrapper)}var keywordSet=false;var paramValues=new Array();var checkBoxValues=new Array();var formRequiredFields=new Array();var comboFieldSources=new Array();var comboFieldTargets=new Array();if(fhWrapper.options.isSearch&&fhWrapper.options.dateRangeFields){var drSplit=fhWrapper.options.dateRangeFields.split(",");for(i=0;i");if(arr1.length==2){var drTarget=arr1[0];var arr2=arr1[1].split("|");if(arr2.length==2){var drFrom=arr2[0];var drTo=arr2[1];if(drFrom!=""){comboFieldSources[drFrom]=(drTo==""?"_":"")+"F"+drTarget}if(drTo!=""){comboFieldSources[drTo]=(drFrom==""?"_":"")+"T"+drTarget}comboFieldTargets[drTarget]=null}}}}$(fhWrapper).find(':input:not(.fhIgnore)').each(function(){if(this.tagName=="INPUT"&&this.type=="checkbox"){var fhreq=$(this).attr("fhrequired");if(fhreq&&!formRequiredFields[this.name]&&!paramValues[this.name]){formRequiredFields[this.name]=this}if(this.checked){if(fhreq){formRequiredFields[this.name]=null}if(!paramValues[this.name]){paramValues[this.name]=""}paramValues[this.name]+=(paramValues[this.name]!=""?fhWrapper.options.delimiter:"")+this.value}}else if(this.tagName=="INPUT"||this.tagName=="TEXTAREA"||this.tagName=="SELECT"){var fieldValue=this.value;var isFieldSet=(fieldValue!=""&&this.defValue!=fieldValue&&fieldValue.replace(/(^\s*)|(\s*$)/g,"").length>0);var isDateField=($(this).attr("fhType")=="dateField");var fhreq=$(this).attr("fhrequired");if(fhreq&&!formRequiredFields[this.name]){formRequiredFields[this.name]=this}if(isFieldSet||isDateField){fieldValue=(isFieldSet?fieldValue.replace(/(^\s*)/g,"").replace(/(\s*$)/g,""):"");if(isDateField){if(isFieldSet){fieldValue=fieldValue.replace(/[^0-9|\/]/g,'');fieldValue=fieldValue.split("/")[2]+fieldValue.split("/")[0]+fieldValue.split("/")[1];if(fieldValue.length!=8){fieldValue=""}}if(comboFieldSources[this.name]){var drTarget;if(comboFieldSources[this.name].substring(0,1)=="_"){comboFieldSources[this.name]=comboFieldSources[this.name].substring(1);drTarget=comboFieldSources[this.name].substring(1);comboFieldTargets[drTarget]=""}else{drTarget=comboFieldSources[this.name].substring(1)}var isFrom=(comboFieldSources[this.name].substring(0,1)=="F");if(comboFieldTargets[drTarget]==null){comboFieldTargets[drTarget]=fieldValue}else{var drFrom=(isFrom?fieldValue:comboFieldTargets[drTarget]);var drTo=(isFrom?comboFieldTargets[drTarget]:fieldValue);if(drFrom!=""){paramValues[drTarget]="@"+drFrom;if(drFrom==drTo){drTo=""}else{paramValues[drTarget]+="_";if(drTo==""||drTo=drFrom)){if(drFrom==""){paramValues[drTarget]="@_"}paramValues[drTarget]+=drTo}}fieldValue=""}else if(fieldValue!=""){fieldValue="@"+fieldValue}}if(fieldValue!=""){if(fhreq){formRequiredFields[this.name]=null}paramValues[this.name]=fieldValue;if(this.name=="search"){keywordSet=true}}}}});var allFormPass=true;var invalidActionTaken=false;for(var i in formRequiredFields){if(formRequiredFields[i]!=null){allFormPass=false;if(fhWrapper.options.reqFieldCallback!=null){fhWrapper.options.reqFieldCallback(fhWrapper,formRequiredFields[i]);invalidActionTaken=true}}}if(!allFormPass&&fhWrapper.options.noTermsCallback!=null){fhWrapper.options.noTermsCallback(fhWrapper);invalidActionTaken=true}if(!allFormPass){if(!invalidActionTaken){alert("Invalid form parameter(s).")}}else if(fhWrapper.options.isSearch){var paramString=(!keywordSet?"&search=":"");for(var i in paramValues){paramString+="&"+i+"="+escape(paramValues[i])}if(fhWrapper.options.noTermsCallback!=null&¶mString=="&search="){fhWrapper.options.noTermsCallback(fhWrapper)}else{window.location=fhUrl+(fhUrl.indexOf("?")>=0?paramString:("?"+paramString.substring(1)))}}else{var submitForm=document.createElement("FORM");$(submitForm).attr({action:fhUrl,method:"POST",style:"display: none;"});paramValues["vhtml"]="3.0";for(var i in paramValues){var formElement=document.createElement("INPUT");$(formElement).attr({type:"hidden",name:i,value:paramValues[i]});$(submitForm).append(formElement)}$(document.body).append(submitForm);submitForm.submit()}},formReset:function formSubmit(fhWrapper){$(fhWrapper).find(':input:not(.fhIgnore)').each(function(){if(this.tagName=="INPUT"&&this.type=="checkbox"){this.checked=this.defaultChecked}else if(this.tagName=="INPUT"||this.tagName=="TEXTAREA"||this.tagName=="SELECT"){this.value=(this.defValue?this.defValue:"")}})},getUrlParams:function getUrlParams(){$.cpFormHandler.currentUrlParams=new Object();if(window.location.search.length<=1){return}var queryString=window.location.search.substring(1);var pairs=queryString.split('&');for(var i=0;i