var _ERROR_REPORTER_=true,_SELECT_TOOLS_,_VALIDATE_GROUP_,_CM_,fieldProblem="fieldproblem.gif",fieldOff="fieldoff.gif",fieldRequiredRed="fieldrequiredblack.gif",fieldRequiredBlack="fieldrequiredblack.gif",formProblem="formproblem.gif",formOff="formoff.gif",formRequired="formrequired.gif",formElements=new Array(),formObjs=new Array(),curFormObj,curField=null,firstField,focusField,errorImgPath,validateIsOff=false,mssgWin,debug=false,submitInitiated=false,VALUE_SPACER=",",processSubmitParams;
if(focusField==null){focusField=(firstField!=null)?firstField:true
}function getFormObj(a){return formObjs[a]
}function getElementObj(a){var b;
for(b in formObjs){if(formObjs[b].getElement(a)!=null){return formObjs[b].getElement(a)
}}return null
}function getValue(a){var b=getElementObj(a);
return b==null?null:b.get()
}function setValue(a,b){return getElementObj(a).set(b)
}function getFormValidator(a){return getFormObj(a.name)
}function getFormElementWrapper(c){var b=c.form.name,a=c.name;
return getFormObj(b).getElement(a)
}function enableValidation(){validateIsOff=false;
for(var c in formObjs){var b=formObjs[c].childElements;
for(var a in b){b[a].showStatus()
}}}function disableValidation(){validateIsOff=true;
for(var d in formObjs){var a=formObjs[d],c=a.childElements,e=a.fieldErrorOff.src;
for(var b in c){c[b].isValid=true;
if(c[b].image){c[b].image.src=e
}}a.invalidCount=0;
a.displayError(false)
}}function setImagePath(a){errorImgPath=a
}function submitForm(b,c,a){if(b!=null&&b>""){curFormObj=getFormObj(b)
}c=(c==null)?"null":("'"+c+"'");
a=(a==null)?"null":("'"+a+"'");
submitInitiated=false;
window.setTimeout("if(doSubmit("+c+", "+a+")) curFormObj.element.submit();",100);
return void (null)
}var LOWERALPHA="abcdefghijklmnopqrstuvwxyz",UPPERALPHA="ABCDEFGHIJKLMNOPQRSTUVWXYZ",ALPHA=LOWERALPHA+UPPERALPHA,NUMERIC="0123456789",ALPHANUMERIC=ALPHA+NUMERIC;
function extract(d,a){var b="";
for(var c=0;
c<d.length;
c++){if(a.indexOf(d.charAt(c))!=-1){b+=d.charAt(c)
}}return b
}function strip(d,a){var b="";
for(var c=0;
c<d.length;
c++){if(a.indexOf(d.charAt(c))==-1){b+=d.charAt(c)
}}return b
}function replace(b,d,c){for(var a=b.indexOf(d);
a!=-1;
a=b.indexOf(d,a)){b=b.substring(0,a)+c+b.substring(a+d.length);
a+=c.length
}return b
}function preloadImg(b){var a=new Image();
a.src=b;
return a
}function makeSet(b){var e=(typeof(b)=="object")?b:makeSet.arguments,a=e.length,d=new Array();
for(var c=0;
c<a;
c++){d[e[c]]=true
}return d
}function validateRequired(){var b=this.get().length,a=this.maxLength;
if(a&&b>a){return this.setMessage("The entry cannot be longer than "+a+" character"+(a>1?"s":"")+".")
}return this.setMessage(this.required&&this.get()==""?"This is a required field.":"")
}function FormValidator(d,f,a,e){formElement=document.forms[d];
if(f==null){f="I_"
}var c=this;
c.name=d;
c.element=formElement;
c.imgPrefix=f;
c.changeManagement=e;
c.formErrorImage=new Array();
var b=0;
do{c.formErrorImage[b]=document.images[UPPERALPHA.charAt(b)+f+d]
}while(c.formErrorImage[b++]!=null);
c.invalidCount=0;
c.requiredCount=0;
c.setAction=setActionFV;
c.getElement=getElementFV;
c.getValue=getValueFV;
c.setValue=setValueFV;
c.displayError=displayErrorFV;
c.setValidation=setValidationFV;
c.validate=validateFV;
c.introspectElements=introspectElementsFV;
c.changeRequired=changeRequiredFV;
if(_VALIDATE_GROUP_==true){c.createGroup=createGroupFV
}formElement.onsubmit=submitEvent;
formObjs[d]=this;
curFormObj=this;
c.fieldErrorOn=preloadImg(errorImgPath+fieldProblem);
c.fieldErrorOff=preloadImg(errorImgPath+fieldOff);
c.fieldErrorRequiredRed=preloadImg(errorImgPath+((a)?fieldOff:fieldRequiredRed));
c.fieldErrorRequiredBlack=preloadImg(errorImgPath+((a)?fieldOff:fieldRequiredBlack));
if(c.formErrorImage[0]==null){if(debug){alert("Missing form error image: A"+f+d)
}c.formErrorOn=c.formErrorOff=c.formErrorRequired=preloadImg(errorImgPath+formOff)
}else{c.formErrorOn=preloadImg(errorImgPath+formProblem);
c.formErrorOff=preloadImg(errorImgPath+formOff);
c.formErrorRequired=preloadImg(errorImgPath+((a)?formOff:formRequired));
c.errorImageOn=c.formErrorOff.src
}c.introspectElements();
if(_CM_){_CM_.registerForm(this)
}}function setActionFV(b){var a=this.getElement("_oldAction");
if(a!=null){a.set(this.element.action)
}this.element.action=b
}function getElementFV(a){return this.childElements[a]
}function getValueFV(a){var b=this.getElement(a);
return b==null?null:b.get()
}function setValueFV(a,b){return this.getElement(a).set(b)
}function displayErrorFV(a){var c=this,d=c.formErrorOn.src;
if(a==false){d=(c.requiredCount>0)?c.formErrorRequired.src:c.formErrorOff.src
}if(c.errorImageOn!=d&&c.formErrorImage[0]!=null){for(var b in c.formErrorImage){if(c.formErrorImage[b]!=null){c.formErrorImage[b].src=d
}}c.errorImageOn=d
}}function setValidationFV(a,b,c){return this.childElements[a].setValidation(b,c)
}function validateFV(){if(validateIsOff){return true
}var b,c=true,a=this;
for(b in a.childElements){if(!a.childElements[b].validate()&&c){window.setTimeout("getFormObj('"+a.name+"').getElement('"+b+"').focus();",(a.formErrorImage[0]!=null)?1500:100);
c=false
}}a.displayError(a.invalidCount>0);
if(debug){window.status=a.invalidCount+" invalid fields found."
}return a.invalidCount==0
}function introspectElementsFV(){var d,a,f,c=this,e=c.element;
c.childElements=new Array();
for(var b=0;
b<e.elements.length;
b++){d=e.elements[b];
a=d.name;
f=d.type;
if(a>""&&f>""&&f!="button"&&f!="submit"&&f!="reset"&&f!="image"){if(c.childElements[a]==null){c.childElements[a]=new FormElementWrapper(d,this)
}else{c.childElements[a].addElement(d)
}if((focusField==true&&f!="hidden")||focusField==a){if(focusField==a||getAndSetType(f)!="select"){c.childElements[a].focus()
}focusField=null
}}}}function changeRequiredFV(c){var a=this,b=(a.requiredCount==0&&c>0)||(a.requiredCount>0&&a.requiredCount+c==0);
a.requiredCount+=c;
if(b&&a.errorImage!=a.formErrorOn.src){a.displayError(false)
}}function FormElementWrapper(element,formObj){if(debug){window.status="Adding "+element.name
}var t=this;
t.formObj=formObj;
t.name=element.name;
t.type=element.type;
if(t.type=="checkbox"||t.type=="radio"){t.element=new Array();
t.element[0]=element
}else{t.element=element
}t.events=new Array();
type=getAndSetType(t.type);
eval("this.get = get"+type+"FEW");
eval("this.set = set"+type+"FEW");
if(type=="select"){t.numSelected=numSelectedselectFEW;
if(_SELECT_TOOLS_==true){addAdvancedProperties(this)
}}if(type=="check"){t.numSelected=numSelectedcheckFEW
}t.addElement=addElementFEW;
t.setValidation=setValidationFEW;
t.validate=validateFEW;
t.addEvent=addEventFEW;
t.focus=focusFEW;
t.trapEvents=trapEventsFEW;
t.trapEvent=trapEventFEW;
t.registerEvent=registerEventFEW;
t.executeEvent=executeEventFEW;
t.forceError=forceErrorFEW;
t.showStatus=showStatusFEW;
t.setRequired=setRequiredFEW;
t.getSibling=getSiblingFEW;
t.validateSibling=validateSiblingFEW;
t.setMessage=setMessageFEW;
t.compare=compareStubFEW;
t.compareNullable=compareNullableFEW;
t.hasChanged=hasChangedFEW;
t.init=initFEW;
t.init()
}function initFEW(){var b=this;
b.lastVal=b.get();
b.trapEvents();
if(debug){window.status="Adding validation to: "+b.name+" in "+b.formObj.name
}var a=b.formObj.imgPrefix+b.name;
b.image=document.images[a];
if(debug&&b.image==null&&b.type!="hidden"){alert("Missing image: "+a)
}b.checkValid=validateRequired;
b.message="";
b.required=false;
b.isValid=true;
b.showStatus()
}function addElementFEW(d){var c=this,b=getAndSetType(c.type),a=getAndSetType(d.type);
if(b=="check"){if(c.type==d.type){c.element[c.element.length]=d;
c.trapEvents()
}}else{if(c.type=="hidden"&&a=="check"){c.type=d.type;
c.element=new Array();
c.element[0]=d;
c.get=getcheckFEW;
c.set=setcheckFEW;
c.trapEvents();
c.numSelected=numSelectedcheckFEW
}else{if(c.type=="hidden"&&a=="select"){c.type=d.type;
c.element=d;
c.get=getselectFEW;
c.set=setselectFEW;
c.trapEvents();
c.numSelected=numSelectedselectFEW;
if(_SELECT_TOOLS_==true){addAdvancedProperties(this)
}}}}c.lastVal=c.get()
}function setValidationFEW(a,c){var b=this;
if(debug){window.status="Setting validation on: "+b.name+" in "+b.formObj.name
}if(a!=null){b.checkValid=a
}if(b.required!=!(c==false)){b.formObj.changeRequired(b.required?-1:1)
}b.required=!(c==false);
b.showStatus();
return this
}function setRequiredFEW(a){return this.setValidation(null,a)
}function validateFEW(){var b=this,a=b.formObj;
if(_CM_){_CM_.suspend(this)
}var c=((!b.required&&b.get()=="")||b.checkValid());
if(_CM_){_CM_.resume(this)
}if(c!=b.isValid){b.isValid=c;
a.invalidCount+=c?-1:1;
if(a.invalidCount==0){a.displayError(false)
}}if(c){b.message=""
}b.showStatus();
if(aggressiveChangeInProgress!=b.name){b.lastVal=b.get()
}return c
}function addEventFEW(a,b){a=a.toLowerCase();
this.registerEvent(b+"(thisObj)",a,null)
}function focusFEW(){var b=this;
if(b.type=="hidden"){return
}curField=this;
if(getAndSetType(b.type)=="check"){for(var a=0;
a<b.element.length;
a++){if(b.element[a].checked){b.element[a].focus();
return
}}b.element[0].focus()
}else{b.element.focus()
}}function trapEventsFEW(){var c=null,b=this,a=getAndSetType(b.type);
if(a=="check"){c=(b.trappedElements==null)?0:b.trappedElements+1;
b.trappedElements=c;
element=b.element[c];
if(b.element.length>c+1){b.trapEvents()
}}else{element=b.element
}if(b.type!="button"&&b.type!="submit"&&b.type!="reset"&&b.type!="image"&&b.type!="hidden"){if(debug){window.status="Adding event trapping to "+b.name
}b.trapEvent("focus","focus",c);
b.trapEvent("blur","blur",c);
if(a=="check"){b.trapEvent("click","click",c)
}else{b.trapEvent("change","change",c)
}}}function trapEventFEW(event,saveAsEvent,which){var element=(which==null)?this.element:this.element[which],existingEvent=getExistingEvent(element,event);
if(existingEvent!=null){this.registerEvent(existingEvent,saveAsEvent,which)
}eval("element.on"+event+" = genericFormEventHandler")
}function registerEventFEW(b,a,c){a=a.toLowerCase();
if(a.substring(0,2)=="on"){a=a.subString(2)
}if(a!="click"&&a!="change"&&a!="blur"&&a!="focus"&&a!="submit"){if(debug){alert("Attempting to register invalid event type: "+a)
}return
}this.events[this.events.length]=new EventObject(b,a,c)
}function showStatusFEW(){var b=this;
if(b.image){b.image.src=b.isValid?(b.required?(b.get()==""?b.formObj.fieldErrorRequiredRed.src:b.formObj.fieldErrorRequiredBlack.src):b.formObj.fieldErrorOff.src):b.formObj.fieldErrorOn.src;
b.image.alt=b.message;
b.image.title=b.message
}if(curField==this){var a=null;
if(b.zesty){a=$(b.zesty.getContainer()).find(".mceLayout")
}fieldMessage(b.message,a)
}window.status=b.message
}function forceErrorFEW(b){var a=this;
if(a.isValid){a.formObj.invalidCount++;
a.isValid=false
}if(b!=null){a.setMessage(b)
}a.showStatus();
a.focus()
}function getSiblingFEW(a){return this.formObj.getElement(a)
}function validateSiblingFEW(a){if(typeof(a)=="string"){a=this.formObj.getElement(a)
}validateValue(a,this.name)
}function setMessageFEW(a){this.message=a;
return a==""||a==null
}function executeEventFEW(type,which){var i,e=null,t=this,thisObj=t,form=t.formObj.element,thisElement=t.element,fn=eval("generic_"+type);
if(typeof fn=="function"){fn(thisObj)
}var events=t.events;
for(i in events){if(events[i].type==type&&(events[i].which==null||events[i].which==which)){if(debug){window.status=t.name+"; Manual execute; Executing: "+events[i].code
}eval(replace(events[i].code,"this.","thisElement."))
}}}function getAndSetType(a){a=a.toLowerCase();
if(a.substring(0,6)=="select"){return"select"
}if(a=="radio"||a=="checkbox"){return"check"
}if(a=="file"){return"file"
}if(a=="hidden"||a=="textarea"){return"textarea"
}return"text"
}function getcheckFEW(d){var b=this;
if(d!=null){for(var a=0;
a<b.element.length;
a++){if(b.element[a].value==d){return b.element[a].checked?d:""
}}return""
}var c="";
for(var a=0;
a<b.element.length;
a++){if(b.element[a].checked){c+=VALUE_SPACER+b.element[a].value
}}return c.substring(1)
}function setcheckFEW(d,c){var b=this;
if(_CM_){_CM_.fieldChanged(this)
}if(c!=null){for(var a=0;
a<b.element.length;
a++){if(b.element[a].value==c){return b.element[a].checked=(d>"")
}}return
}d=VALUE_SPACER+d+VALUE_SPACER;
for(var a=0;
a<b.element.length;
a++){b.element[a].checked=(d.indexOf(VALUE_SPACER+b.element[a].value+VALUE_SPACER)!=-1)
}}function numSelectedcheckFEW(){var b=0;
for(var a=0;
a<this.element.length;
a++){if(this.element[a].checked){b++
}}return b
}function getselectFEW(d){var b=this;
if(d!=null){for(var a=0;
a<b.element.length;
a++){if(b.element.options[a].value==d){return b.element.options[a].selected?d:""
}}return""
}var c="";
for(var a=0;
a<b.element.length;
a++){if(b.element.options[a].selected){c+=VALUE_SPACER+b.element.options[a].value
}}return c.substring(1)
}function setselectFEW(d,c){var b=this;
if(_CM_){_CM_.fieldChanged(this)
}if(c!=null){for(var a=0;
a<b.element.length;
a++){if(b.element.options[a].value==c){return b.element.options[a].selected=(d>"")
}}return
}d=VALUE_SPACER+d+VALUE_SPACER;
for(var a=0;
a<b.element.length;
a++){b.element.options[a].selected=(d.indexOf(VALUE_SPACER+b.element.options[a].value+VALUE_SPACER)!=-1)
}}function numSelectedselectFEW(){var b=0;
for(var a=0;
a<this.element.length;
a++){if(this.element.options[a].selected){b++
}}return b
}function gettextFEW(){return this.element.value
}function settextFEW(b){if(aggressiveChangeInProgress==this.name){return
}if(_CM_){_CM_.fieldChanged(this)
}var a=this.element.maxLength;
if(a>0&&a<b.length){b=b.substring(0,a)
}this.element.value=b
}function gettextareaFEW(){return this.element.value
}function settextareaFEW(b){if(aggressiveChangeInProgress==this.name){return
}if(_CM_){_CM_.fieldChanged(this)
}var a=this.maxLength;
if(a&&a<b.length){b=b.substring(0,a)
}this.element.value=b
}function getfileFEW(){var a=this.element.value;
if(a>""){return a
}var b=this.getSibling("__"+this.name);
return b==null?"":b.get()
}function setfileFEW(a){var b=this.getSibling("__"+this.name);
if(b!=null){b.set(a)
}}function EventObject(b,a,c){this.type=a.toLowerCase();
this.code=b;
this.which=c
}function compareStubFEW(b){var a=this.checkValid(true);
this.compare=(typeof(a)=="function")?a:compareFEW;
return this.compare(b)
}function compareFEW(a){validateValue(a,this.name);
a=unwrapElement(a);
if(typeof(a)=="number"||typeof(a)=="boolean"){a=""+a
}if(a==null||typeof(a)!="string"){return null
}thisValue=this.get();
if(thisValue==a){return 0
}if(thisValue>a){return 1
}return -1
}function compareConvertedFEW(a){validateValue(a,this.name);
a=getValueFor(unwrapElement(a),this.converter);
thisValue=getValueFor(this.get(),this.converter);
if(a==null||thisValue==null){return null
}return thisValue-a
}function compareNullableFEW(val,operator,defaultRtn){var cmp=this.compare(val);
if(cmp==null){return defaultRtn==true
}return eval(cmp+operator+"0")
}var curValidate=new Array();
function validateValue(b,a){if(b!=null&&typeof(b)=="object"&&typeof(b.validate)=="function"&&typeof(b.get)=="function"&&b.get()>""&&!curValidate[b.name]){curValidate[a]=true;
b.validate();
curValidate[a]=null
}}function unwrapElement(a){if(a!=null&&typeof(a)=="object"&&typeof(a.get)=="function"){return a.get()
}return a
}function getValueFor(b,a){b=unwrapElement(b);
if(typeof(b)=="string"){return(b>"")?a(b):null
}return b
}function hasChangedFEW(a){return this.get()!=this.lastVal&&(a||this.type.indexOf("select")==-1)
}var isIE=document.all!=null;
var isIEMac=(isIE&&navigator.platform.toLowerCase().indexOf("mac")!=-1);
function getExistingEvent(element,event){if(isIEMac){event=" on"+event.toLowerCase();
var tag=element.outerHTML,end,start=tag.toLowerCase().indexOf(event);
if(start>-1){start+=event.length;
var WS_AND_EQUAL="\t\r\n =";
while(start<tag.length&&WS_AND_EQUAL.indexOf(tag.charAt(start))!=-1){start++
}var END_ATTRIB_VAL="\t\r\n >";
if(tag.charAt(start)=='"'||tag.charAt(start)=="'"){END_ATTRIB_VAL=tag.charAt(start);
start++
}end=start+1;
while(end<tag.length&&END_ATTRIB_VAL.indexOf(tag.charAt(end))==-1){end++
}return tag.substring(start,end)
}return null
}if(eval("element.on"+event+" != null")){var eventStr=eval("element.on"+event+".toString()"),srch="function(evt){",loc=eventStr.indexOf(srch),loc2=eventStr.indexOf("}).call(this, evt);");
if(loc==-1||loc2==-1){return eventStr.substring(eventStr.indexOf("{")+1,eventStr.lastIndexOf("}"))
}else{return eventStr.substring(loc+srch.length,loc2)
}}return null
}function genericFormEventHandler(e){if(isIE){e=event
}if(e==null||typeof(e)!="object"){return
}var thisObj=getFormElementWrapper(this),form=thisObj.formObj.element,type=e.type,fn=eval("generic_"+type);
if(typeof fn=="function"){fn(thisObj)
}var events=thisObj.events;
for(i in events){if(type==events[i].type&&(events[i].which==null||thisObj.element[events[i].which]==this)){if(debug){window.status=thisObj.name+"; "+e.type+"; Executing: "+events[i].code
}eval(events[i].code)
}}}function generic_click(a){a.executeEvent("change")
}function generic_focus(a){if(curField!=null&&curField.hasChanged(true)){curField.executeEvent("change")
}curField=a;
a.showStatus()
}function generic_blur(a){if(a.hasChanged(true)){a.executeEvent("change")
}if(_CM_){_CM_.fieldBlur(a)
}curField=null
}function generic_change(a){curField=a;
if(_CM_){_CM_.fieldChanged(a)
}a.validate()
}var aggressiveChangeInProgress="";
function aggressiveChange(a){aggressiveChangeInProgress=a.name;
a.executeEvent("change");
aggressiveChangeInProgress=""
}function submitEvent(){curFormObj=getFormObj(this.name);
return doSubmit(null,null)
}function doSubmit(c,a){if(!submitInitiated){submitInitiated=true;
if(_CM_){_CM_.suspend()
}if(curFormObj.validate()){var b,d=curFormObj.childElements;
for(b in d){runSubmitEvents(d[b])
}if(typeof(processSubmitParams)=="function"){processSubmitParams(curFormObj,c,a)
}if(_CM_){_CM_.record(curFormObj);
_CM_.allowLeave()
}return true
}if(_CM_){_CM_.resume()
}submitInitiated=false
}return false
}function runSubmitEvents(thisObj){var i,events=thisObj.events;
for(i in events){if(events[i].type=="submit"){if(debug){window.status=thisObj.name+"; submit; Executing: "+events[i].code
}eval(events[i].code)
}}}var lastKey=-1,prevKey=-1;
function keyDown(c){var b=isIE?event.keyCode:c.which;
if(curField){if(b==13&&curField.type!="textarea"&&curField!="radio"){var a=curField;
if(curField.type!="radio"&&curField.type!="checkbox"){curField.executeEvent("blur")
}submitForm(a.formObj.name)
}else{if((isIE?false:b!=9)||b==8||b==32||b==46||b>=48&&b<=57||b>=65&&b<=90||b>=96&&b<=111||b>=186&&b<=192||b>=219&&b<=222){if(_CM_){_CM_.keyPress()
}if(curField.aggressiveOnChange||curField.isValid==false){window.setTimeout("aggressiveChange(curField)",10)
}}}}if(window.routeEvent){routeEvent(c)
}}document.onkeydown=keyDown;
if(document.captureEvents){document.captureEvents(Event.KEYDOWN)
}function fieldMessage(c,b){var a=$("#fieldMessage");
if(a.length==0){return
}if(c&&c.length>0){if(b&&b.length>0){var d=b.position();
a.css({left:d.left+"px",top:d.top+b.outerHeight()+"px"})
}c=c.replace("/\\n/g","<br>");
a.html(c);
a.show()
}else{a.hide()
}}$(function(){$(":input").bind("focus click",function(){a($(this))
}).blur(function(){$("#fieldMessage").hide()
}).filter("[maxlength]").keyup(function(){var b=$(this);
a(b,b.attr("maxlength"))
});
function a(d,b){var c=null;
if(b){c=b-d.val().length
}var e=d.closest("form").attr("name"),f=getFormObj(e).getElement(d.attr("name")),g=f?f.message:null;
if(f&&f.maxLength&&f.type=="textarea"&&!f.keyupStarted){f.keyupStarted=true;
b=f.maxLength;
d.keyup(function(){a(d,f.maxLength)
})
}if(g&&g.length>0){fieldMessage(g,d)
}else{if(c!=null){if(c<0){fieldMessage((-c)+" characters too many.",d)
}else{if(c<=(b>500?50:b>30?b/10:3)){fieldMessage(c+" characters left.",d)
}else{fieldMessage()
}}}else{fieldMessage()
}}}});
var _SR_;
if(_SR_!=null){_SR_.notify("errorreporter.js")
};