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;
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){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)
}}FormValidator.prototype.setAction=function(b){var a=this.getElement("_oldAction");
if(a!=null){a.set(this.element.action)
}this.element.action=b
};
FormValidator.prototype.getElement=function(a){return this.childElements[a]
};
FormValidator.prototype.getValue=function(a){var b=this.getElement(a);
return b==null?null:b.get()
};
FormValidator.prototype.setValue=function(a,b){return this.getElement(a).set(b)
};
FormValidator.prototype.displayError=function(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
}};
FormValidator.prototype.setValidation=function(a,b,d){var c=this.childElements[a];
if(c){return c.setValidation(b,d)
}else{return null
}};
FormValidator.prototype.validate=function(){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);
return a.invalidCount==0
};
FormValidator.prototype.introspectElements=function(){var b=this,c=b.element;
b.childElements=new Array();
$(c).find(":input").each(function(){var f=this,e=f.name,g=f.type;
if((e!=null&&e.length>0)&&(g!=null&&g.length>0)&&g!="button"&&g!="submit"&&g!="reset"&&g!="image"){var d=b.childElements[e];
if(d==null){d=new FormElementWrapper(f,b);
b.childElements[e]=d
}else{d.addElement(f)
}if((focusField==true&&g!="hidden")||focusField==e){if(focusField==e||getAndSetType(g)!="select"){d.focus()
}focusField=null
}}}).bind("focus click",function(){a($(this))
}).blur(function(){$("#fieldMessage").hide()
}).filter("[maxlength]").keyup(function(){var d=$(this);
a(d,d.attr("maxlength"))
});
function a(f,d){var e=null;
if(d){e=d-f.val().length
}var g=f.closest("form").attr("name"),h=getFormObj(g).getElement(f.attr("name")),j=h?h.message:null;
if(h&&h.maxLength&&h.type=="textarea"&&!h.keyupStarted){h.keyupStarted=true;
d=h.maxLength;
f.keyup(function(){a(f,h.maxLength)
})
}if(j&&j.length>0){fieldMessage(j,f)
}else{if(e!=null){if(e<0){fieldMessage((-e)+" characters too many.",f)
}else{if(e<=(d>500?50:d>30?d/10:3)){fieldMessage(e+" characters left.",f)
}else{fieldMessage()
}}}else{fieldMessage()
}}}};
FormValidator.prototype.changeRequired=function(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(c,a){var b=this;
b.formObj=a;
b.name=c.name;
b.type=c.type;
b.events=new Array();
var d=getAndSetType(b.type);
b.initSetGet(d);
if(b.type=="checkbox"||b.type=="radio"){b.element=new Array();
b.element[0]=c
}else{b.element=c
}if(d=="select"){b.numSelected=numSelectedselectFEW;
if(_SELECT_TOOLS_==true){addAdvancedProperties(this)
}}else{if(d=="check"){b.numSelected=numSelectedcheckFEW
}}b.init()
}FormElementWrapper.prototype.addElement=addElementFEW;
FormElementWrapper.prototype.setValidation=setValidationFEW;
FormElementWrapper.prototype.validate=validateFEW;
FormElementWrapper.prototype.addEvent=addEventFEW;
FormElementWrapper.prototype.focus=focusFEW;
FormElementWrapper.prototype.trapEvents=trapEventsFEW;
FormElementWrapper.prototype.trapEvent=trapEventFEW;
FormElementWrapper.prototype.registerEvent=registerEventFEW;
FormElementWrapper.prototype.executeEvent=executeEventFEW;
FormElementWrapper.prototype.forceError=forceErrorFEW;
FormElementWrapper.prototype.showStatus=showStatusFEW;
FormElementWrapper.prototype.setRequired=setRequiredFEW;
FormElementWrapper.prototype.getSibling=getSiblingFEW;
FormElementWrapper.prototype.validateSibling=validateSiblingFEW;
FormElementWrapper.prototype.setMessage=setMessageFEW;
FormElementWrapper.prototype.compare=compareStubFEW;
FormElementWrapper.prototype.compareNullable=compareNullableFEW;
FormElementWrapper.prototype.hasChanged=hasChangedFEW;
FormElementWrapper.prototype.init=initFEW;
FormElementWrapper.prototype.initSetGet=function(b){var a=this;
switch(b){case"select":a.get=getselectFEW;
a.set=setselectFEW;
break;
case"check":a.get=getcheckFEW;
a.set=setcheckFEW;
break;
case"file":a.get=getfileFEW;
a.set=setfileFEW;
break;
case"textarea":a.get=gettextareaFEW;
a.set=settextareaFEW;
break;
case"text":a.get=gettextFEW;
a.set=settextFEW;
break
}};
function initFEW(){var b=this;
b.lastVal=b.get();
b.trapEvents();
var a=b.formObj.imgPrefix+b.name;
b.image=document.images[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(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"){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(c,d,e){var b=(e==null)?this.element:this.element[e],a=getEventFn(b,c);
if(a!=null){this.registerEvent(a,d,e)
}setGenericEvent(b,c)
}function setGenericEvent(a,b){switch(b){case"focus":a.onfocus=genericFormEventHandler;
break;
case"blur":a.onblur=genericFormEventHandler;
break;
case"click":a.onclick=genericFormEventHandler;
break;
case"change":a.onchange=genericFormEventHandler;
break
}}function getEventFn(a,b){var c=null;
switch(b){case"focus":c=a.onfocus;
break;
case"blur":c=a.onblur;
break;
case"click":c=a.onclick;
break;
case"change":c=a.onchange;
break
}return c
}function doGenericEvent(b,a){switch(b){case"blur":generic_blur(a);
break;
case"change":generic_change(a);
break;
case"click":generic_click(a);
break;
case"focus":generic_focus(a);
break
}}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"){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(d,e){var c,b=this;
doGenericEvent(d,b);
var a=b.events;
for(c in a){if(a[c].type==d&&(a[c].which==null||a[c].which==e)){executeCode(b,b.formObj.element,b.element,a[c].getCode())
}}}var thisObj,form;
function executeCode(c,e,b,d){var a=thisObj,g=form;
thisObj=c;
form=e;
d.call(b);
thisObj=a;
form=g
}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.code=b;
this.type=a.toLowerCase();
this.which=c
}EventObject.prototype.getCode=function(){if(typeof this.code!="function"){eval("this.code = function() {"+this.code+"}")
}return this.code
};
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
}else{if(a!=null&&typeof(a)!="string"){return null
}}thisValue=this.get();
if(a==null){return thisValue==""||thisValue==null?0:null
}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 a==thisValue?0:null
}return thisValue-a
}function compareNullableFEW(b,e,a){var d=this.compare(b);
if(d==null){return a==null?e=="!=":a
}switch(e){case"==":return d==0;
break;
case"!=":return d!=0;
break;
case">=":return d>=0;
break;
case"<=":return d<=0;
break;
case">":return d>0;
break;
case"<":return d<0;
break
}}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;
function genericFormEventHandler(c){if(isIE){c=event
}if(c==null||typeof(c)!="object"){return
}var d=getFormElementWrapper(this),b=c.type;
doGenericEvent(b,d);
var a=d.events;
for(i in a){if(b==a[i].type&&(a[i].which==null||d.element[a[i].which]==this)){executeCode(d,d.formObj.element,this,a[i].getCode())
}}}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(c){var b,a=c.events;
for(b in a){if(a[b].type=="submit"){executeCode(c,c.formObj.element,this,a[b].getCode())
}}}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()
}}var _SR_;
if(_SR_!=null){_SR_.notify("errorreporter.js")
};