Ext.ns("RG");
RG.AjaxQueue=Ext.extend(Object,{constructor:function(a){a=a||{};
Ext.apply(this,a);
this.connection=Ext.Ajax;
this.queuedRequests=[];
this.currentRequest=null;
this.nextTxnId=1;
RG.AjaxQueue.superclass.constructor.apply(this,arguments);
this.connection.on({requestcomplete:{fn:this._handleNextRequest,scope:this},requestexception:{fn:this._handleNextRequest,scope:this}})
},execute:function(d){var a=this.queuedRequests.length;
if(this.currentRequest||a>0){var e;
for(e=a-1;
e>=0;
e--){var c=this.queuedRequests[e];
if(c.canBePreemptedBy&&typeof c.canBePreemptedBy=="function"){var b=c.canBePreemptedBy.apply(c.scope,[c,d]);
if(b){this.queuedRequests.splice(e,1)
}}}this.queuedRequests.push(d)
}else{this.currentRequest=d;
this._executeRequest()
}},_handleNextRequest:function(b,c,a){if(this.currentRequest&&a.requestQueueTxnId===this.currentRequest.requestQueueTxnId){if(this.queuedRequests.length>0){this.currentRequest=this.queuedRequests.shift();
this._executeRequest()
}else{this.currentRequest=null
}}},_executeRequest:function(){this.currentRequest.requestQueueTxnId=this.nextTxnId++;
this.connection.request(this.currentRequest)
},hasRequestsPending:function(){var a=false;
if(this.currentRequest||this.queuedRequests.length>0){a=true
}return a
}});
RG.Utils={};
RG.Utils.__trimPattern=new RegExp("(^\\s*)|(\\s*$)","g");
RG.Utils.capFirst=function(c){if(!c){return c
}var b=c.charAt(0).toUpperCase();
var a=c.substr(1);
c=b+a;
return c
};
RG.Utils.lineSplit=function(h){if(h.length>0){var f=h.charAt(h.length);
if(f!="\n"||f!="\r"){h=h+"\n"
}}var d=[];
var g=h.split("");
var b=[];
for(var e=0,a=g.length;
e<a;
++e){var j=g[e];
if(j=="\n"){b=b.join("");
d.push(b);
b=[]
}else{if(j=="\r"){if(((e+1)<a)&&g[e+1]=="\n"){++e
}b=b.join("");
d.push(b);
b=[]
}else{b.push(j)
}}}return d
};
RG.Utils.leftReplace=function(g,d,f){d=d||"";
f=f||" ";
var e=g.split("");
g=[];
var h;
var b=0;
var a=e.length;
while(b<a){h=e[b];
if(f.indexOf(h)!=-1){++b;
g.push(d)
}else{break
}}for(;
b<a;
++b){h=e[b];
g.push(h)
}g=g.join("");
return g
};
RG.Utils.createUuid=function(){var a=new Date();
var b=""+a.getTime()+""+Math.floor(1000*Math.random());
return b
};
RG.Utils.rightPad=function(f,a,e,b){var c="";
var g=0;
if(f){c=f;
g=f.length
}var d=a-g;
while(d>0){c=c+e;
d--
}if(b){c=b(c)
}return c
};
RG.Utils.trim=function(a){if(!a){return a
}a=a.replace(RG.Utils.__trimPattern,"");
return a
};
if(!RG.trim){RG.trim=RG.Utils.trim
}RG.Utils.getRelativeObject=function(c,e){var d;
var f;
if(e.indexOf(".")==-1){d=c;
f=c[e]
}else{var a=e.split(".");
d=c;
var b;
for(b=0;
b<(a.length-1);
b++){d=d[a[b]]
}f=d[a[b]]
}return{scope:d,object:f}
};
RG.Utils.stringStartsWith=function(b,a){return b.substring(0,a.length)===a
};
RG.Utils.stringEndsWith=function(b,a){return b.indexOf(a,b.length-a.length)!==-1
};
RG.Utils.countObjectProperties=function(c){var b=0,a;
for(a in c){if(c.hasOwnProperty(a)){b++
}}return b
};
Ext.ns("RG.util");
RG.util.Comparator={String:{alpha:function(c,b){var a=(c<b)?-1:(c==b)?0:1;
return a
}}};
RG.util.retryPhoto=function(d,f){if(f){var c=document.createElement("a");
c.href=f;
f=c.href;
if(f.indexOf("//")===-1){var e=document.createElement("div");
e.innerHTML='<a href="'+f+'">x</a>';
f=e.firstChild.href
}}if(d.src!==f){var b=d.src;
if(f){d.src=f
}var g=b.indexOf("?");
if(g>=0){b=b.substr(0,g)
}b=b+"?v="+new Date().getTime();
window.setTimeout(function(){d.src=b
},1000)
}};
RG.util.TimedConnection=Ext.extend(Ext.data.Connection,{constructor:function(a){RG.util.TimedConnection.superclass.constructor.apply(this,arguments);
this.addEvents(["datareceive","datareceived","response","timedout","timeout"])
},request:function(a){a=a||{};
var d=this,c=(new Date()).getTime(),e=(a.timeout||Ext.Ajax.timeout),g=(a.callback||Ext.emptyFn),b=(a.scope||d),f;
a.callback=function(h,o,i){var n=this,k=(new Date()).getTime(),j={},q=false,p={},r=null,m;
if(o===false&&(k-c)>e){n.fireEvent("timedout");
n.fireEvent("timeout",{opts:h,xmlHttpRequest:i});
return
}try{m=i.responseText;
r=Ext.decode(m);
if(RG.trim(m).indexOf("{")===0){if(r){if(r.data){j=r.data
}if(r.errors){p=r.errors
}if(r.success){q=r.success
}}}else{j=m
}}catch(l){q=false
}p.global=(p.global||[]);
p.field=(p.field||{});
g.call(b,h,o,i);
n.fireEvent("datareceived",h,q,i,j,p);
n.fireEvent("datareceive",{data:j,errors:p,opts:h,reqSuccess:o,success:q,xmlHttpRequest:i});
n.fireEvent("response",{json:r,opts:h,reqSuccess:o,xmlHttpRequest:i})
};
a.scope=d;
f=RG.util.TimedConnection.superclass.request.call(d,a);
return f
}});
Ext.ns("RG.validation");
RG.validation.Validator={Alpha:{isValid:function(b,a){var c=/^[a-z_]+$/i;
return c.test(b)
}},AlphaSpace:{isValid:function(b,a){var c=/^[ a-z_]+$/i;
return c.test(b)
}},AlphaNumeric:{isValid:function(b,a){var c=/^[\w_]+$/i;
return c.test(b)
}},AlphaNumericSpace:{isValid:function(b,a){var c=/^[ \w_]+$/i;
return c.test(b)
}},DateMDY:{isValid:function(h,b){var i=/^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4})$/;
var f=[null,31,29,31,30,31,30,31,31,30,31,30,31];
if(i.test(h)){var c=h.split("/");
if(c.length==3){var e=c[2];
var d=c[0];
var g=c[1];
var a=(e%4===0)&&(e%400!==0);
if(!(e<1776||e>2100||d<0||d>12||g<0||g>f[d]||(!a&&d==2&&g>=29))){return true
}}}return false
}},Decimal:{isValid:function(b,a){var d=/^[\+\-]?[0-9]*[\.]?[0-9]+$/;
var c=d.test(b);
if(c&&typeof a.maximum=="number"){c=b<=a.maximum
}if(c&&typeof a.maximumExcl=="number"){c=b<a.maximumExcl
}if(c&&typeof a.minimum=="number"){c=b>=a.minimum
}if(c&&typeof a.minimumExcl=="number"){c=b>a.minimumExcl
}return c
}},DecimalNegative:{isValid:function(b,a){var c=/^\-[0-9]*[\.]?[0-9]+$/;
return c.test(b)&&b<0
}},DecimalNonNegative:{isValid:function(b,a){var c=/^[0-9]*[\.]?[0-9]+$/;
return c.test(b)
}},DecimalNonPositive:{isValid:function(b,a){var c=/^[\-]?[0-9]*[\.]?[0-9]+$/;
return c.test(b)&&b<=0
}},DecimalPositive:{isValid:function(b,a){var c=/^[0-9]*[\.]?[0-9]+$/;
return c.test(b)&&b>0
}},Egg:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["egg"]})
}},Email:{isValid:function(e,c){var f=/^[\S]+@[\S]+\.[\S]+$/;
var g=e.split(/[,;\s]/);
if(g.length===0){return f.test(e)
}else{for(var d=0,a=g.length;
d<a;
d++){var b=RG.trim(g[d]);
if(!f.test(b)){return false
}}}return true
}},File:{isValid:function(f,b){var g=false;
if(f.indexOf("..")==-1){var d=b.exts;
if(d){for(var c=0,a=d.length;
c<a;
++c){var e=d[c];
if(f.indexOf("."+e)>=0){g=true;
break
}}}else{g=true
}}return g
}},FreeForm:{isValid:function(b,a){var c=/(<[a-zA-Z]{1,10}.*>.*)|([^ -_a-{}~])|\|/g;
if(c.test(b)){return false
}return true
}},Gif:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["gif"]})
}},Integer:{isValid:function(b,a){var d=/^[\+\-]?[0-9]+$/;
var c=d.test(b);
if(c&&typeof a.maximum=="number"){c=b<=a.maximum
}if(c&&typeof a.minimum=="number"){c=b>=a.minimum
}return c
}},IntegerNegative:{isValid:function(b,a){var c=/^\-[0-9]+$/;
return c.test(b)&&b<0
}},IntegerNonNegative:{isValid:function(b,a){var c=/^[0-9]+$/;
return c.test(b)
}},IntegerNonPositive:{isValid:function(b,a){var c=/^[\-]?[0-9]+$/;
return c.test(b)&&b<=0
}},IntegerPositive:{isValid:function(b,a){var c=/^[0-9]+$/;
return c.test(b)&&b>0
}},Ipx:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["ipx"]})
}},Ivr:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["ivr"]})
}},Jpg:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["jpg","jpeg"]})
}},Logo:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["gif","jpg","jpeg"]})
}},Money:{isValid:function(b,a){var d=/^[0-9]*[\.]*[0-9]{1,2}$/;
var c=d.test(b)&&b>=0;
if(c&&typeof a.maximum=="number"){c=b<=a.maximum
}if(c&&typeof a.maximumExcl=="number"){c=b<a.maximumExcl
}if(c&&typeof a.minimum=="number"){c=b>=a.minimum
}if(c&&typeof a.minimumExcl=="number"){c=b>a.minimumExcl
}return c
}},MoneyPositive:{isValid:function(b,a){var c=/^[\s]*[0-9]*[\.]*[0-9]{1,2}$/;
return c.test(b)&&b>0
}},Password:{isValid:function(b,a){var c=/[0-9]+/;
if((b.length>=8)&&(c.test(b))){return true
}return false
}},Pattern:{isValid:function(c,a){var b=a.pattern;
var e=a.attribs;
var d=new RegExp(b,e);
return d.test(c)
}},PatternNot:{isValid:function(c,a){var b=a.pattern;
var e=a.attribs;
var d=new RegExp(b,e);
return !d.test(c)
}},Pdf:{isValid:function(b,a){return RG.validation.Validator.File.isValid(b,{exts:["pdf"]})
}},Phone:{isValid:function(e,b){var d=0;
for(var c=0,a=e.length;
c<a&&d<11;
++c){var f=window.parseInt(e.charAt(c));
if(!window.isNaN(f)){++d
}}if(d==7||d==10){return true
}return false
}},Phone10:{isValid:function(e,b){var d=0;
for(var c=0,a=e.length;
c<a&&d<11;
++c){var f=window.parseInt(e.charAt(c));
if(!window.isNaN(f)){++d
}}if(d==10){return true
}return false
}},Phone7:{isValid:function(e,b){var d=0;
for(var c=0,a=e.length;
c<a&&d<8;
++c){var f=window.parseInt(e.charAt(c));
if(!window.isNaN(f)){++d
}}if(d==7){return true
}return false
}},Time:{isValid:function(d,c){var a,g,b;
var f=/^([0-9]{1,2}):([0-9]{2})(:([0-9]{2}))?(\s?(am|pm))?$/i;
if(f.test(d)){var e=d.split(":");
if(e.length==2){a=e[0];
g=e[1];
if(!(a>23||(a>12&&d.indexOf("m")!==-1)||g>59||g.length<2)){return true
}}else{if(e.length==3){a=e[0];
g=e[1];
b=e[2];
if(!(a>23||(a>12&&d.indexOf("m")!==-1)||g>59||g.length<2||b>59||b.length<2)){return true
}}}}return false
}},TimeHHMM:{isValid:function(c,b){var e=/^([0-9]{1,2}):([0-9]{2})(\s?(am|pm))?$/i;
if(e.test(c)){var d=c.split(":");
if(d.length==2){var a=d[0];
var f=d[1];
if(!(a>23||(a>12&&c.indexOf("m")!==-1)||f>59||f.length<2)){return true
}}}return false
}},UrlHttp:{isValid:function(b,a){var c=/^http:\/\/?/;
return c.test(b)
}},Year:{isValid:function(b,a){var c=/^[0-9]+$/;
return c.test(b)&&b>=1776&&b<=2100
}},Zip:{isValid:function(c,b){var a=b.plus4||"allowed";
var d=/^[0-9]{5}(-[0-9]{4})?$/;
if(a=="required"){d=/^[0-9]{5}-[0-9]{4}$/
}else{if(a=="none"){d=/^[0-9]{5}$/
}}return d.test(c)
}},ZipExt:{isValid:function(b,a){var c=/^[0-9]{4}$/;
return c.test(b)
}}};
Ext.ns("RG.html");
RG.html.Comparator={Option:{alphaByText:function(c,b){var a=RG.util.Comparator.String.alpha(c.text,b.text);
return a
},alphaNoCaseByText:function(c,b){var a=RG.util.Comparator.String.alpha(c.text.toLowerCase(),b.text.toLowerCase());
return a
}}};
RG.html.Utils={};
RG.html.Utils.isHtml5=(function(){var a=false;
var b=window.document.doctype;
if(b&&b.name.toLowerCase()=="html"&&(!b.publicId)&&(!b.systemId)){a=true
}else{a=Ext.getBody().dataset?true:false
}return a
})();
if(!RG.isHtml5){RG.isHtml5=RG.html.Utils.isHtml5
}RG.html.Utils.bustFrames=function(){var b=window,c=b.self,a=b.top;
if(a!=c){a.location.replace(c.location.href)
}};
if(!RG.bustFrames){RG.bustFrames=RG.html.Utils.bustFrames
}RG.html.Utils.setDomainWithoutHost=function(b){var a=b.location.hostname.split(".");
a.shift();
b.document.domain=a.join(".")
};
RG.html.Utils.getDom=function(e,c){c=(c||window);
if(!Ext.isArray(c)){c=[c]
}if(!e){return null
}var f=null;
if(e.dom){f=e.dom
}else{if(typeof e=="string"){var g=e;
for(var b=0,a=c.length;
b<a;
++b){var d=c[b].document;
if(d){f=d.getElementById(g);
if(f){break
}}}}else{f=e
}}return f
};
if(!RG.getDom){RG.getDom=RG.html.Utils.getDom
}RG.html.Utils.getValue=function(d,b,c){var e=null;
var f=RG.getDom(d,c);
function a(j,i){var g;
if(f[j]){g=f[j]
}else{if(f.dataset&&f.dataset[j]){g=f.dataset[j]
}else{if(f.getAttribute(j)){g=f.getAttribute(j)
}else{if(i!==true){var h=RG.html.Utils.toDataAttribute(j);
g=a(h,true)
}}}}return g
}e=a(b);
return e
};
if(!RG.getValue){RG.getValue=RG.html.Utils.getValue
}RG.html.Utils.toDataAttribute=function(g){var k="A".charCodeAt(0);
var h="Z".charCodeAt(0);
g=(g||"");
var e=/[A-Z]/g;
var b=["data-"];
for(var d=0,f=g.length;
d<f;
++d){var j=g.charAt(d);
var a=j.charCodeAt(0);
if(a>=k&&a<=h){if(d===0){b.push(j.toLowerCase())
}else{b.push("-"+j.toLowerCase())
}}else{b.push(j)
}}g=b.join("");
return g
};
RG.html.Utils.setDisplay=function(e,a,b,d){var f=RG.getDom(e,d);
if(f){if(a){if(!b){var c=f.tagName.toLowerCase();
switch(c){case"caption":b="table-caption";
break;
case"address":case"blockquote":case"dd":case"div":case"dl":case"dt":case"fieldset":case"form":case"frame":case"frameset":case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":case"hr":case"map":case"noframes":case"noscript":case"object":case"ol":case"optgroup":case"option":case"p":case"pre":case"ul":b="block";
break;
case"li":b="list-item";
break;
case"a":case"abbr":case"acronym":case"b":case"big":case"br":case"button":case"cite":case"code":case"del":case"dfn":case"em":case"i":case"iframe":case"img":case"input":case"ins":case"kbd":case"label":case"legend":case"q":case"samp":case"select":case"small":case"span":case"strong":case"sub":case"sup":case"textarea":case"tt":case"var":b="inline";
break;
case"table":b="table";
break;
case"tbody":b="table-row-group";
break;
case"tfoot":b="table-footer-group";
break;
case"thead":b="table-header-group";
break;
case"td":case"th":b="table-cell";
break;
case"tr":b="table-row";
break;
default:b="block"
}if(Ext.isIE6||Ext.isIE7){switch(c){case"table":case"td":case"th":case"tr":b="block";
break
}}}}else{b="none"
}b=(b||"none");
f.style.display=b
}return RG.html.Utils
};
if(!RG.setDisplay){RG.setDisplay=RG.html.Utils.setDisplay
}RG.html.Utils.print=function(a){a=(a||window);
a.focus();
if(Ext.isIE&&!Ext.isIE6){a.document.execCommand("print",false,null)
}else{a.print()
}a.focus()
};
if(!RG.print){RG.print=RG.html.Utils.print
}RG.html.Utils.getSelectedValues=function(b,e){b=RG.getDom(b,e);
var c=[];
for(var d=0,a=b.length;
d<a;
++d){var f=b.options[d];
if(f.selected===true){c.push(f.value)
}}return c
};
RG.html.Utils.getSelectedValuesCsv=function(a,c){var b=RG.html.Utils.getSelectedValues(a,c).join(",");
return b
};
RG.html.Utils.insertOptions=function(h,k,j,d){var e,f;
d=d||{};
var g=d.winCtx||window;
h=RG.getDom(h,g);
var a=h.options;
var c=h.length;
if(j<0){j=0
}else{if(j>c){j=c
}}var b=[];
for(e=j;
e<c;
++e){b.push(a[e])
}a.length=j;
for(e=0,f=k.length;
e<f;
++e){a[a.length]=k[e]
}for(e=0,f=b.length;
e<f;
++e){a[a.length]=b[e]
}};
RG.html.Utils.removeOptions=function(a,g,b){b=b||{};
var f=b.scope||this;
var e=b.winCtx||window;
a=RG.getDom(a,e);
var d,c;
for(d=0;
d<a.length;
){c=a.options[d];
if(g.call(f,c)){a.options[d]=null
}else{++d
}}};
(function(){var a=function(b){return b.selected
};
RG.html.Utils.removeSelectedOptions=function(b,c){RG.html.Utils.removeOptions(b,a,c)
}
})();
RG.html.Utils.buildPostString=function(b,g){g=(g===undefined)?true:g;
var e;
var a;
var k=[];
for(var f=0,c=b.elements.length;
f<c;
f++){e=b.elements[f];
if(e.disabled===false){switch(e.tagName){case"SELECT":for(var d=0,h=e.options.length;
d<h;
d++){if(e.options[d].selected){a=e.name;
if(!Ext.isEmpty(a)){k.push(window.escape(a)+"="+window.escape(e.options[d].value))
}}}continue;
case"INPUT":switch(e.type){case"file":case"hidden":case"text":case"password":if(!e.value&&!g){continue
}break;
case"radio":case"checkbox":if(!e.checked){continue
}break;
default:continue
}break;
case"TEXTAREA":if(!e.value&&!g){continue
}break;
default:continue
}a=e.name;
if(!Ext.isEmpty(a)){k.push(window.escape(a)+"="+window.escape(e.value))
}}}k=k.join("&");
return k
};
RG.html.Utils.extractFormValues=function(c,d){d=d||{};
var q=d.excludeBlank||false;
var l=d.winCtx||window;
var a=c.elements||(l.document.forms[c]||RG.getDom(c,l)).elements;
var n=false;
var o;
var p={};
function k(s,i,r,t){if(!t||!Ext.isEmpty(r)){var j=s[i];
if(j){if(!Ext.isArray(j)){s[i]=[j]
}s[i].push(r)
}else{s[i]=r
}}}for(var g=0;
g<a.length;
++g){var f=a[g];
var b=f.name;
var m=f.type;
if(!f.disabled&&b){if(/select-(one|multiple)/i.test(m)){for(var e=0;
e<f.options.length;
++e){var h=f.options[e];
if(h.selected){o=(h.hasAttribute?h.hasAttribute("value"):h.getAttribute("value")!==null)?h.value:h.text;
k(p,b,o,q)
}}}else{if(!/file|undefined|reset|button/i.test(m)){if(!(/radio|checkbox/i.test(m)&&!f.checked)&&!(m=="submit"&&n)){o=f.value;
k(p,b,o,q);
n=/submit/i.test(m)
}}}}}return p
};
RG.html.Utils.serializeFormValues=function(b,a){var d=RG.html.Utils.extractFormValues(b,a);
var c=RG.html.Utils.serializeExtractedFormValues(d);
return c
};
RG.html.Utils.serializeExtractedFormValues=function(g){var d=window.encodeURIComponent;
var f=[];
function h(i,j){return d(i)+"="+d(j)
}for(var b in g){var e=g[b];
if(Ext.isArray(e)){var a=e;
for(var c=0;
c<a.length;
++c){e=a[c];
f.push(h(b,e))
}}else{f.push(h(b,e))
}}f=f.join("&");
return f
};
RG.html.Utils.focusFirstField=function(a){function b(){for(var g=0;
g<a.length;
++g){var h=a[g].elements;
for(var d=0,c=h.length;
d<c;
++d){var f=h[d];
if(f.style.display!="none"&&f.style.visibility!="hidden"){if(!f.disabled&&f.type!="hidden"){try{f.focus();
break
}catch(k){}}}}}}window.setTimeout(b,1)
};
if(!RG.focusFirstField){RG.focusFirstField=RG.html.Utils.focusFirstField
}RG.html.Utils.sortSelect=function(c,f){f=f||{};
var h=f.winCtx||window;
c=RG.getDom(c,h);
var b=c.length;
if(b<=1){return
}var e=[];
for(var g=0;
g<b;
++g){e.push(c.options[g])
}var d=f.comparator||RG.html.Comparator.Option.alphaNoCaseByText;
e.sort(d);
c.options.length=0;
var a=f.order||"ASC";
if(a=="DESC"){e.reverse()
}for(g=0,b=e.length;
g<b;
++g){c.options[g]=e[g]
}};
RG.html.Utils.setInputEnterCallback=function(a,g,h){h=h||a;
g=g||a.submit;
var e=function(i){i=i||window.event;
if(i.keyCode==13){g.call(h);
return false
}};
var k=["button","checkbox","password","radio","text"];
var d=a.getElementsByTagName("input");
for(var c=0;
c<d.length;
c++){if(k.indexOf(d[c].type)>=0){d[c].onkeydown=e
}}var f=a.getElementsByTagName("select");
for(var b=0;
b<f.length;
b++){if(f[b].multiple){f[b].onkeydown=e
}}};
RG.html.Utils.createXMLHttpRequest=function(){var c=["MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
var b;
try{b=new window.XMLHttpRequest()
}catch(e){for(var a=0;
a<c;
++a){try{b=new window.ActiveXObject(c[a]);
break
}catch(d){}}}return b
};
RG.html.Utils.HttpRequest=function(c){c=c||{};
var b=c.asynchronous||false;
var i=c.method||"GET";
var a=c.url;
var g=c.params||"";
if((i==="GET"||c.data)&&g){g=(typeof g==="object"?Ext.urlEncode(g):g);
a+=(/\?/.test(a)?"&":"?")+g
}var d=RG.html.Utils.createXMLHttpRequest();
d.open(i,a,b);
if(c.headers){var f=c.headers;
for(var e in f){if(f.hasOwnProperty(e)){d.setRequestHeader(e,f[e])
}}}d.send(c.data||null);
return d
};
if(!RG.HttpRequest){RG.HttpRequest=RG.html.Utils.HttpRequest
}RG.html.WindowManager=Ext.extend(Ext.util.Observable,{constructor:function(b){b=b||{};
Ext.apply(this,b);
this.__wins=[];
if(this.wins){for(var c=0,a=this.wins.length;
c<a;
++c){this.addWindow(this.wins[c])
}}delete this.wins;
Ext.EventManager.on(this.parent,"unload",this.onParentUnload,this);
RG.html.WindowManager.superclass.constructor.apply(this)
},addWindow:function(a){this.__wins.push(a)
},closeAll:function(){var d=this.__wins;
for(var b=0,a=d.length;
b<a;
++b){try{d[b].close()
}catch(c){}}},onParentUnload:function(a,b){this.closeAll()
}});
RG.html.WindowMonitor=Ext.extend(Ext.util.Observable,{constructor:function(a){a=a||{};
a.winCtx=a.winCtx||window;
Ext.apply(this,a);
this.addEvents(["docready","docload"]);
RG.html.WindowMonitor.superclass.constructor.apply(this,arguments)
},fireDocLoad:function(a){a=a||this.winCtx;
this.fireEvent("docload",{winCtx:a,windowMonitor:this})
},fireDocReady:function(a){a=a||this.winCtx;
this.fireEvent("docready",{winCtx:a,windowMonitor:this})
}});
RG.html.WindowMonitor.getInstance=function(){var a=RG.html.WindowMonitor;
if(!a.SINGLETON){a.SINGLETON=new a()
}return a.SINGLETON
};
RG.html.WindowMonitor.notify=function(f){try{if(f&&f.RG&&f.RG.html&&f.RG.html.WindowMonitor){var a=f.RG.html.WindowMonitor.getInstance();
var c=false;
var b=false;
Ext.onReady(function(){if(!c){a.fireDocReady(window);
c=true
}if(b){a.fireDocLoad(window);
b=false
}});
Ext.EventManager.on(window,"load",function(){if(c){a.fireDocLoad(window);
b=false
}else{b=true
}})
}}catch(d){}};
RG.html.DocumentLoader=Ext.extend(Ext.util.Observable,{constructor:function(a){var b=this;
a=a||{};
Ext.apply(b,a);
Ext.apply(b,{state:"uninitialized",__destroyDelay:30000});
b.addEvents(["statechange","docload","docready"]);
RG.html.DocumentLoader.superclass.constructor.apply(b)
},abort:function(){var a=this;
if(a.state=="loading"){a.__cleanse();
a.state="aborted";
a.fireEvent("statechange",{loadConfig:a.__loadConfig,documentLoader:a})
}},destroy:function(){var a=this;
a.__stopDestroyTimeout();
if(!a.__destroyed){a.purgeListeners();
a.__cleanse();
a.__destroyed=true
}},__startDestroyTimeout:function(){var a=this;
a.__destroyId=window.setTimeout(function(){a.__onTargetLoad()
},a.__destroyDelay)
},__stopDestroyTimeout:function(){var a=this;
if(a.__destroyId){window.clearTimeout(a.__destroyId);
delete a.__destroyId
}},load:function(h,a){var f=this;
h=h||"_self";
var d=f.__loadConfig=Ext.apply({},a,{method:"GET",params:{}});
if(f.state=="loading"||f.state=="loaded"||f.state=="aborted"){throw new Error("load is not designed to be called multiple times per instance of RG.html.DocumentLoader.")
}f.state="loading";
f.fireEvent("statechange",{loadConfig:d,documentLoader:f});
try{var b=f.__getTargetName(h);
f.__target=f.__getTarget(h);
f.__targetWindow=f.__getTargetWindow(h);
f.__windowMonitor=RG.html.WindowMonitor.getInstance();
f.__windowMonitor.on("docready",f.__onDocReady,f,{single:true});
f.__windowMonitor.on("docload",f.__onDocLoad,f,{single:true});
f.__attachLoadEvent();
f.__startDestroyTimeout();
var c=f.__form=f.__createDocumentRequestForm(d.url,d.method,d.params,b);
(f.formParent?f.formParent:window.document.body).appendChild(c);
c.submit()
}catch(g){f.destroy();
throw g
}finally{f.__removeForm()
}return f
},__attachLoadEvent:function(){var a=this;
if(a.__target){var b=a.__target;
if(b.contentWindow){Ext.EventManager.on(b,"load",a.__onTargetLoad,a,{single:true})
}}},__removeLoadEvent:function(){var a=this;
if(a.__target){var b=a.__target;
if(b.contentWindow){Ext.EventManager.un(b,"load",a.__onTargetLoad)
}}},__onTargetLoad:function(a){var b=this;
b.__removeLoadEvent();
b.__onDocReady({winCtx:window,windowMonitor:b.__windowMonitor});
b.__onDocLoad({winCtx:window,windowMonitor:b.__windowMonitor})
},__onDocReady:function(a){var d=this;
if(d.state=="loading"&&!d.__docReady){var c=d.__loadConfig;
try{if(d.__targetWindow){var f=(c.callback||"initDocument");
var e=(c.callbackArgs||[{}]);
if(!Ext.isArray(e)){e=[e]
}var b=RG.Utils.getRelativeObject(d.__targetWindow,f);
if(b&&b.object&&typeof b.object==="function"){b.object.apply(d.__targetWindow,e)
}}}finally{d.fireEvent("docready",{loadConfig:c,documentLoader:d});
d.__docReady=true
}}},__onDocLoad:function(a){var c=this;
if(c.state=="loading"){if(!c.__docReady){c.__onDocReady(a)
}var b=c.__loadConfig;
try{c.state="loaded";
c.fireEvent("statechange",{loadConfig:b,documentLoader:c})
}finally{c.fireEvent("docload",{loadConfig:b,documentLoader:c})
}}c.destroy()
},__cleanse:function(){var a=this;
if(a.__target){try{a.__removeLoadEvent()
}catch(d){}delete a.__target
}if(a.__targetWindow){delete a.__targetWindow
}if(a.__windowMonitor){try{a.__windowMonitor.un("docready",a.__onDocReady)
}catch(c){}try{a.__windowMonitor.un("docload",a.__onDocLoad)
}catch(b){}delete a.__windowMonitor
}a.__removeForm()
},__removeForm:function(){var a=this;
if(a.__form){Ext.removeNode(a.__form);
delete a.__form
}},__getTargetName:function(c){var a="_self";
try{if(typeof c=="string"){a=c
}else{if(c.contentWindow){a=c.name
}else{if(c.name){a=c.name
}}}}catch(b){try{c.close();
a=c.name
}catch(d){a="_blank"
}}return a
},__getTarget:function(c){var a;
var b=window;
if(typeof c=="string"){if(c=="_self"){a=b
}else{if(c=="_parent"){a=b.parent
}else{if(c=="_top"){a=b.top
}}}}else{if(c.contentWindow){a=c
}else{if(c.window){a=c.window
}}}return a
},__getTargetWindow:function(b){var a;
if(typeof b=="string"){if(b=="_self"){a=window
}else{if(b=="_parent"){a=window.parent
}else{if(b=="_top"){a=window.top
}}}}else{if(b.contentWindow){a=b.contentWindow
}else{if(b){a=b
}}}return a
},__createDocumentRequestForm:function(c,h,f,a){var g=(new Date()).getTime()+"_"+RG.html.DocumentLoader.__id++;
var b=window.document.createElement("form");
b.action=c;
b.className="document-request-form";
b.id=g;
b.method=h;
if(a){b.target=a
}for(var e in f){if(f.hasOwnProperty(e)){var d=window.document.createElement("input");
d.type="hidden";
d.name=""+e;
d.value=""+f[e];
b.appendChild(d)
}}return b
}});
RG.html.DocumentLoader.__id=0;
RG.html.WindowOpener=Ext.extend(Ext.util.Observable,{constructor:function(a){a=a||{};
if(a.winMgr){this.__winMgr=a.winMgr;
delete a.winMgr
}else{this.__winMgr=new RG.html.WindowManager({parent:window})
}Ext.apply(this,a);
RG.html.WindowOpener.superclass.constructor.apply(this)
},open:function(c){var e,g;
c=c||{};
var f=c.data;
var b=c.url;
var d=this.__resolveType(c.type||"window");
switch(d){case"window":var a=c.name;
e=this.__createWindowFeatures(c);
g=window.open(b,a,e,c.replace);
if(g){this.__setData(g,f);
if(c.asNew){if(c.width&&c.height){g.resizeTo(c.width,c.height)
}if((c.top||c.top===0)&&(c.left||c.left===0)){g.moveTo(c.left,c.top)
}}}break;
case"modal":e=this.__createDialogFeatures(c);
window.showModalDialog(b,f,e);
break;
case"modeless":e=this.__createDialogFeatures(c);
g=window.showModelessDialog(b,f,e);
break
}if(g&&g.focus){g.focus()
}if(this.__winMgr&&g){this.__winMgr.addWindow(g)
}return g
},__setData:function(e,d){if(d===undefined){return
}var c=RG.html.WindowOpener;
var a=0;
var b=c.__dataPropertyNamePrefix;
while(typeof e[b+a]!="undefined"){++a
}e[b+a]=d
},__createWindowFeatures:function(b){var d=b.features||{};
var e=[];
e.push("location="+(d.location===false?"no":"yes"));
e.push("menubar="+(d.menubar===false?"no":"yes"));
e.push("resizable="+(d.resizable===false?"no":"yes"));
e.push("scrollbars="+(d.scrollbars===false?"no":"yes"));
e.push("status="+(d.status===false?"no":"yes"));
e.push("titlebar="+(d.titlebar===false?"no":"yes"));
e.push("toolbar="+(d.toolbar===false?"no":"yes"));
if(typeof d.alwaysRaised=="undefined"&&b.type=="modal"){e.push("alwaysRaised=yes")
}else{if(typeof d.alwaysRaised=="boolean"){e.push("alwaysRaised="+(d.alwaysRaised===true?"yes":"no"))
}}var c=b.width;
var a=b.height;
if(c){e.push("width="+c)
}if(a){e.push("height="+a)
}var g=b.top;
var f=b.left;
if(b.center!==false&&c>0&&a>0&&window.screen){g=(window.screen.availHeight-a)/2;
f=(window.screen.availWidth-c)/2
}if(g){e.push("top="+g)
}if(f){e.push("left="+f)
}e=e.join(",");
return e
},__createDialogFeatures:function(b){var e=b.features||{};
var c=[];
c.push("center:"+(b.center===false?"no":"yes"));
c.push("resizable:"+(e.resizable===false?"no":"yes"));
c.push("scroll:"+(e.scrollbars===false?"no":"yes"));
c.push("status:"+(e.status===false?"no":"yes"));
var d=b.width;
var a=b.height;
if(d){c.push("dialogWidth:"+d+"px")
}if(a){c.push("dialogHeight:"+a+"px")
}var g=b.top;
var f=b.left;
if(b.center!==false&&d>0&&a>0&&window.screen){g=(window.screen.availHeight-a)/2;
f=(window.screen.availWidth-d)/2
}if(g){c.push("dialogTop:"+g)
}if(f){c.push("dialogLeft:"+f)
}c=c.join(";");
return c
},__resolveType:function(a){if(a=="modal"){if(!window.showModalDialog){if(window.showModelessDialog){a="modeless"
}else{a="window"
}}}else{if(a=="modeless"){if(!window.showModelessDialog){if(window.showModalDialog){a="modal"
}else{a="window"
}}}else{a="window"
}}return a
}});
RG.html.WindowOpener.__MAX_DATA_IDX=10;
RG.html.WindowOpener.__dataPropertyNamePrefix="__windowOpenerData";
RG.html.WindowOpener.getData=function(f){var e=null;
if(f.dialogArguments){e=f.dialogArguments
}else{if(f){var d=RG.html.WindowOpener;
var a=0;
var b=d.__MAX_DATA_IDX;
var c=d.__dataPropertyNamePrefix;
while(a<=b){if(f[c+a]!="undefined"){e=f[c+a];
break
}++a
}}}return e
};
RG.html.FormValidator=Ext.extend(Ext.util.Observable,{attributesMap:{config:{name:"RG_Config",type:"json"},focus:{name:"RG_Focus"},label:{name:"RG_Label"},message:{name:"RG_Message"},required:{name:"RG_Required",type:"boolean"},trim:{name:"RG_Trim",type:"boolean"},validate:{name:"RG_Validate"}},baseFieldConfigs:(function(){var a=RG.validation.Validator;
return{alpha:{message:"{label} (Must only contain letters or _)",trim:true,validator:a.Alpha.isValid},alpha_space:{message:"{label} (Must only contain letters, _, or spaces)",trim:true,validator:a.AlphaSpace.isValid},alphanumeric:{message:"{label} (Must only contain letters, numbers, or _)",trim:true,validator:a.AlphaNumeric.isValid},alphanumeric_space:{message:"{label} (Must only contain letters, numbers, _, or spaces)",trim:true,validator:a.AlphaNumericSpace.isValid},date:{message:"{label} (Must be a valid date in mm/dd/yyyy format)",trim:true,validator:a.DateMDY.isValid},decimal:{message:"{label} (Must be a decimal number)",trim:true,validator:a.Decimal.isValid},decimal_between:{message:"{label} (Must be a decimal number between {minimum} and {maximum})",trim:true,validator:a.Decimal.isValid},decimal_gt:{message:"{label} (Must be a decimal number greater than {minimumExcl})",trim:true,validator:a.Decimal.isValid},decimal_gte:{message:"{label} (Must be a decimal number greater than or equal to {minimum})",trim:true,validator:a.Decimal.isValid},decimal_lt:{message:"{label} (Must be a decimal number less than {maximumExcl})",trim:true,validator:a.Decimal.isValid},decimal_lte:{message:"{label} (Must be a decimal number less than or equal to {maximum})",trim:true,validator:a.Decimal.isValid},decimal_neg:{message:"{label} (Must be a negative decimal number excluding 0)",trim:true,validator:a.DecimalNegative.isValid},decimal_nonneg:{message:"{label} (Must be a positive decimal number or 0)",trim:true,validator:a.DecimalNonNegative.isValid},decimal_nonpos:{message:"{label} (Must be a negative decimal number or 0)",trim:true,validator:a.DecimalNonPositive.isValid},decimal_pos:{message:"{label} (Must be a positive decimal number excluding 0)",trim:true,validator:a.DecimalPositive.isValid},egg:{message:"{label} (Must be a file with a .egg extension)",validator:a.Egg.isValid},email:{message:"{label} (Must be a valid email address)",trim:true,validator:a.Email.isValid},file:{message:"{label} (Must be a file with one of these extensions ({exts}))",validator:a.File.isValid},freeform:{message:"{label} (Must not contain HTML or special characters (incl. carriage return, tab, backtick, | ))",trim:true,validator:a.FreeForm.isValid},gif:{message:"{label} (Must be a file with a .gif extension)",validator:a.Gif.isValid},integer:{message:"{label} (Must be a whole number with (no commas, dollar signs, etc))",trim:true,validator:a.Integer.isValid},integer_between:{message:"{label} (Must be a whole number between {minimum} and {maximum} with (no commas, dollar signs, etc))",trim:true,validator:a.Integer.isValid},integer_gte:{message:"{label} (Must be a whole number greater than or equal to {minimum} with (no commas, dollar signs, etc))",trim:true,validator:a.Integer.isValid},integer_lte:{message:"{label} (Must be a whole number less than or equal to {maximum} with (no commas, dollar signs, etc))",trim:true,validator:a.Integer.isValid},integer_neg:{message:"{label} (Must be a negative whole number excluding 0 (no commas, dollar signs, etc))",trim:true,validator:a.IntegerNegative.isValid},integer_nonneg:{message:"{label} (Must be a positive whole number or 0 (no commas, dollar signs, etc))",trim:true,validator:a.IntegerNonNegative.isValid},integer_nonpos:{message:"{label} (Must be a negative whole number or 0 (no commas, dollar signs, etc))",trim:true,validator:a.IntegerNonPositive.isValid},integer_pos:{message:"{label} (Must be a positive whole number excluding 0 (no commas, dollar signs, etc))",trim:true,validator:a.IntegerPositive.isValid},ipx:{message:"{label} (Must be a file with a .ipx extension)",validator:a.Ipx.isValid},ivr:{message:"{label} (Must be a file with a .ivr extension)",validator:a.Ivr.isValid},jpeg:{message:"{label} (Must be a file with a .jpg or .jpeg extension that CANNOT contain double-periods (..))",validator:a.Jpg.isValid},logo:{message:"{label} (Must be a .gif or .jpg file)",validator:a.Logo.isValid},money:{message:"{label} (Must be a valid number with up to 2 decimal places and no commas or dollar signs)",trim:true,validator:a.Money.isValid},money_between:{message:"{label} (Must be a valid number between {minimum} and {maximum} with up to 2 decimal places and no commas or dollar signs)",trim:true,validator:a.Money.isValid},money_gt:{message:"{label} (Must be a valid number greater than {minimumExcl} with up to 2 decimal places and no commas or dollar signs)",trim:true,validator:a.Money.isValid},money_gte:{message:"{label} (Must be a valid number greater than or equal to {minimum} with up to 2 decimal places and no commas or dollar signs)",trim:true,validator:a.Money.isValid},money_lt:{message:"{label} (Must be a valid number less than {maximumExcl} with up to 2 decimal places and no commas or dollar signs)",trim:true,validator:a.Money.isValid},money_lte:{message:"{label} (Must be a valid number less than or equal to {maximum} with up to 2 decimal places and no commas or dollar signs)",trim:true,validator:a.Money.isValid},money_pos:{message:"{label} (Must be a valid number with up to 2 decimal places, no commas or dollar signs, and greater than zero)",trim:true,validator:a.MoneyPositive.isValid},password:{message:"{label} (Passwords must be at least 8 characters in length and contain 1 numeric)",trim:true,validator:a.Password.isValid},pattern:{message:"{label} (Contains invalid characters)",trim:true,validator:a.Pattern.isValid},pattern_not:{message:"{label} (Contains invalid characters)",trim:true,validator:a.PatternNot.isValid},pdf:{message:"{label} (Must be a file with a .pdf extension)",trim:true,validator:a.Pdf.isValid},phone:{message:"{label} (Must be a valid 7 or 10 digit phone number format)",trim:true,validator:a.Phone.isValid},phone_10:{message:"{label} (Must be a valid 10 digit phone number in XXX-XXX-XXXX format)",trim:true,validator:a.Phone10.isValid},phone_7:{message:"{label} (Must be a valid 7 digit phone number in XXX-XXXX format)",trim:true,validator:a.Phone7.isValid},time:{message:"{label} (Must be a valid time in hh:mm format with optional seconds)",trim:true,validator:a.Time.isValid},time_hhmm:{message:"{label} (Must be a valid time in hh:mm format excluding seconds)",trim:true,validator:a.TimeHHMM.isValid},url_http:{message:"{label} (Web address must be prefixed with http://)",trim:true,validator:a.UrlHttp.isValid},year:{message:"{label} (Years must be 4 digits in length and after 1776)",trim:true,validator:a.Year.isValid},zip:{message:"{label} (Must be a valid zip code with an optional extension in XXXXX-XXXX format)",trim:true,validator:a.Zip.isValid},zipext:{message:"{label} (Must be a valid zip code extension in XXXX format)",trim:true,validator:a.ZipExt.isValid},zip_plus4:{plus4:"required",message:"{label} (Must be a valid zip code with an extension in XXXXX-XXXX format)",trim:true,validator:a.Zip.isValid},zip_only:{plus4:"none",message:"{label} (Must be a valid zip code without an extension in XXXXX format)",trim:true,validator:a.Zip.isValid}}
})(),invalidCls:"invalid",missingCls:"missing",stopAfter:null,trim:{password:true,text:true,textarea:true},constructor:function(b){b=b||{};
Ext.apply(this,b);
if(!this.scope){this.scope=this
}RG.html.FormValidator.superclass.constructor.apply(this);
var d=this.form.elements;
for(var c=0,a=d.length;
c<a;
++c){var e=d[c];
Ext.fly(e).on("change",this.__onFieldChange,this)
}},destroy:function(){var c=this.form.elements;
for(var b=0,a=c.length;
b<a;
++b){var d=c[b];
Ext.fly(d).un("change",this.__onFieldChange)
}},isValid:function(a){a=a||this.form;
var d,c,e;
var h=true;
var g=[];
if(this.preValidate){this.preValidate.apply(this.scope,[{fieldErrors:g,form:a,formValidator:this}])
}if(this.shouldHandleErrors(a,g)){h=false;
d=this.handleErrors(a,g);
if(d){return false
}}var b=a.elements;
for(c=0,e=b.length;
c<e;
++c){var f=b[c];
var j=this.__validateField(f);
if(j&&(j.invalid||j.missing)){g.push(j);
if(this.shouldHandleErrors(a,g)){break
}}}if(this.shouldHandleErrors(a,g)){h=false;
d=this.handleErrors(a,g);
if(d){return false
}}if(this.postValidate){this.postValidate.apply(this.scope,[{fieldErrors:g,form:a,formValidator:this}])
}if(g.length>0){h=false;
d=this.handleErrors(a,g);
if(d){return false
}}return h
},afterValidateField:function(b,a){if(a.missing){}else{Ext.fly(b).removeClass(this.missingCls)
}if(a.invalid){Ext.fly(b).addClass(this.invalidCls)
}else{Ext.fly(b).removeClass(this.invalidCls)
}},handleErrors:function(a,h){var j,f,d,e;
var c=0;
var g=0;
var b=[];
b.push("The following fields are REQUIRED: \n");
for(d=0,e=h.length;
d<e;
++d){j=h[d];
f=j.field;
if(j.missing){++g;
Ext.fly(f).addClass(this.missingCls);
b.push("\n- "+(j.label||f.name));
if(this.stopAfter&&g>=this.stopAfter){break
}}else{Ext.fly(f).removeClass(this.missingCls)
}}if(g>0){b=b.join("");
window.alert(b);
for(d=0,e=h.length;
d<e;
++d){j=h[d];
if(j.missing){if(this.__focusErrantField(j,a)){break
}}}return true
}b=[];
b.push("The following fields DO NOT validate: \n");
for(d=0,e=h.length;
d<e;
++d){j=h[d];
f=j.field;
if(j.invalid){++c;
Ext.fly(f).addClass(this.invalidCls);
if(j.message){b.push("\n- "+j.message)
}if(this.stopAfter&&c>=this.stopAfter){break
}}else{Ext.fly(f).removeClass(this.invalidCls)
}}if(c>0){b=b.join("");
window.alert(b);
for(d=0,e=h.length;
d<e;
++d){j=h[d];
if(j.invalid){if(this.__focusErrantField(j,a)){break
}}}}return true
},preprocessField:function(a){return a
},resolveMessage:function(c,a){var b=(new Ext.Template(c)).apply(a);
return b
},shouldHandleErrors:function(c,a){var b=(this.stopAfter&&a.length>=this.stopAfter);
return b
},__validateField:function(e){var a=this.attributesMap.validate.name;
e=this.preprocessField(e);
var d=null;
var h=null;
var f=e.getAttribute(a);
if(f){f=f.toLowerCase();
d=this.baseFieldConfigs[f]
}else{d={}
}var b=this.__resolveFieldConfig(e,d);
if(b.trim||(this.trim[e.type]&&b.trim!==false)){e.value=RG.trim(e.value)
}var c=b.preConverter;
if(c){e.value=c.apply(this.scope,[e.value,b])
}var i={field:e,invalid:false,message:"",missing:false};
this.__doValidateField(e,b,i);
var g=b.postConverter;
if(g){e.value=g.apply(this.scope,[e.value,Ext.apply(i,b)])
}if(i.invalid||i.missing){i=Ext.applyIf(i,b)
}return i
},__doValidateField:function(c,b,a){if(typeof this.validateField=="function"){this.validateField(c,b,a)
}else{a.missing=this.__isMissing(c,b);
a.invalid=!this.__isValidField(c,b);
if(a.invalid){a.message=this.resolveMessage(b.message,b)
}}},__focusErrantField:function(k,a){var h=k.field;
var j=k.focus;
var g=[];
if(j&&a&&a[j]){g.push(a[j])
}g.push(h);
for(var b=0,d=g.length;
b<d;
++b){var c=g[b];
if(c.style.display!="none"&&c.style.visibility!="hidden"){if(!c.disabled&&c.type!="hidden"){try{c.focus();
return true
}catch(f){}}}}return false
},__isMissing:function(f,c){if(!c.required){return false
}var b,a;
switch(f.type){case"select-multiple":for(b=0,a=f.length;
b<a;
++b){var d=f.options[b];
if(d.selected===true){return false
}}return true;
case"select-one":if((f.selectedIndex>=0)&&(f.options[f.selectedIndex].value.length>0)){return false
}else{return true
}break;
case"file":case"password":case"text":case"textarea":return(f.value.length===0);
case"radio":var e=f.form[f.name];
for(b=0,a=e.length;
b<a;
++b){if(e[b].checked){return false
}}return true;
case"checkbox":return !f.checked
}return false
},__isValidField:function(b,a){switch(b.type){case"file":case"password":case"text":case"textarea":return this.__isValidType(b,a)
}return true
},__isValidType:function(e,b){var c=e.value;
if(c.length===0){return true
}var d=true;
var a=b.validator;
if(a){d=a.apply(this.scope,[c,b])
}return d
},__onFieldChange:function(a,d,c){if(this.validateOnChange!==false){var e=d;
var b=this.__validateField(e);
this.afterValidateField(e,b)
}},__resolveFieldConfig:function(f,c){var a,e;
var d=Ext.apply({},c);
for(var b in this.attributesMap){var g=this.attributesMap[b].name;
if(g!="config"&&g!="preConverter"&&g!="postConverter"&&g!="field"&&g!="validator"&&g!="value"){a=RG.getValue(f,g);
if(a){e=this.attributesMap[b].type;
if(e==="boolean"){a=a.toLowerCase();
if(a=="0"||a=="false"){a=false
}else{a=true
}}else{if(e==="int"){a=1*a
}else{if(e==="json"){a=Ext.decode(a)
}}}d[b]=a
}}}d.field=f;
d.value=f.value;
a=RG.getValue(f,this.attributesMap.config.name);
if(a){e=this.attributesMap.config.type;
if(e==="json"){a=Ext.decode(a);
Ext.applyIf(d,a)
}}if(d.label===undefined){d.label=f.name
}return d
}});
