/*
 * Autodata JS For Chrysler US Brands
 * version: 2.0.0.12
 * (c) 2008 Autodata Solutions. All Rights Reserved. This source code
 * is the confidential and proprietary information of Autodata. The user shall
 * not, in whole or in part, modify, copy, publish, disclose or make any use of
 * this source code unless specifically authorized in a written agreement with
 * Autodata.
 * 
 * Ext JS Library used by permission
 * Ext JS Library 2.1
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * http://extjs.com/license
 */


if(typeof ASC=='undefined'){var ASC=function(){};}
ASC.apply=function(o,c,defaults)
{if(defaults){ASC.apply(o,defaults);}
if(o&&c&&typeof c=='object')
{for(var p in c){o[p]=c[p];}}
return o;};ASC.apply(ASC,{namespace:function()
{var a=arguments,o=null,i,j,d;for(i=0;i<a.length;++i){d=a[i].split(".");o=ASC;for(j=(d[0]=="ASC")?1:0;j<d.length;++j){o[d[j]]=o[d[j]]||{};o=o[d[j]];}}
return o;},Version:{major:'2',minor:'0',revision:'0',toString:function(){return this.major+'.'+this.minor+'.'+this.revision;}},Browser:function(){var ua=navigator.userAgent.toLowerCase();return{isStrict:document.compatMode=="CSS1Compat",isOpera:ua.indexOf("opera")>-1,isSafari:(/webkit|khtml/).test(ua),isIE:ua.indexOf("msie")>-1,isIE7:ua.indexOf("msie 7")>-1,isIE6:ua.indexOf("msie 6")>-1,isGecko:!b.isSafari&&ua.indexOf("gecko")>-1,isBorderBox:b.isIE&&!b.isStrict,isWindows:(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1),isMac:(ua.indexOf("macintosh")!=-1||ua.indexOf("mac os x")!=-1),isSecure:window.location.href.toLowerCase().indexOf("https")===0};},cfg:{enableLogging:false},isString:function(a)
{return typeof a==='string'||a instanceof String;},isArray:function(a)
{return a&&typeof a.pop=='function';},isFunction:function(a)
{return typeof a=='function';},isObject:function(a)
{return(a&&typeof a=='object')||ASC.lib.isFunction(a);},clone:function(o)
{var clone=function(obj){if(!obj||typeof(obj)!=='object'){return obj;}
if(obj.nodeType&&obj.cloneNode){return obj.cloneNode(true);}
var newObj=obj.constructor();for(var key in obj){if(obj!==obj[key]){newObj[key]=clone(obj[key]);}else{newObj[key]=newObj;}}
return newObj;};return clone(o);},applyIf:function(o,c)
{return Ext.applyIf(o,c);},extend:function(subc,superc,overrides)
{return Ext.extend(subc,superc,overrides);},deprecated:function(behaviour,extra,removal)
{if(ASC.cfg.enableLogging&&window.console&&console.debug){var message="DEPRECATED: "+behaviour;if(extra){message+=" "+extra;}
if(removal){message+=" -- will be removed in version: "+removal;}
console.debug(message);}},log:function(str)
{if(ASC.cfg.enableLogging&&window.console&&console.log){console.log(str);}},override:function(origclass,overrides)
{Ext.override(origclass,overrides);},isEmpty:function(v,allowBlank)
{return Ext.isEmpty(v,allowBlank);},objectFromString:function(str,parent)
{var parts=str.split('.');var obj=parent||window;for(var i=0;i<parts.length;i++)
{obj=obj[parts[i]];if(!obj){alert('The string: '+str+' could not be converted to an object');return null;}}
return obj;},forEach:function(array,fn,scope)
{return Ext.each(array,fn,scope);}});(function(){var _idGenCounter=0;ASC.id=function(el,prefix)
{prefix=prefix||'asc-gen';el=document.getElementById(el);var id=prefix+(++_idGenCounter);return el?(el.id?el.id:(el.id=id)):id;};})();

if(typeof Ext=='undefined'){throw'Unable to load ASC JS Toolkit because the core Ext components cannot be found';}
ASC.namespace('ASC.lib');(function(){var isIE=ASC.Browser.isIE;var isOpera=ASC.Browser.isOpera;var EV=Ext.lib.Event;ASC.lib.util={getViewportHeight:function()
{var height=self.innerHeight;var mode=document.compatMode;if((mode||isIE)&&!isOpera){height=(mode=='CSS1Compat')?document.documentElement.clientHeight:document.body.clientHeight;}
return height;},getViewportWidth:function()
{var width=self.innerWidth;var mode=document.compatMode;if(mode||isIE){width=(mode=='CSS1Compat')?document.documentElement.clientWidth:document.body.clientWidth;}
return width;},getDocumentHeight:function()
{var scrollHeight=(document.compatMode!='CSS1Compat')?document.body.scrollHeight:document.documentElement.scrollHeight;var h=Math.max(scrollHeight,ASC.lib.getViewportHeight());return h;},getDocumentWidth:function()
{var scrollWidth=(document.compatMode!='CSS1Compat')?document.body.scrollWidth:document.documentElement.scrollWidth;var w=Math.max(scrollWidth,ASC.lib.getViewportWidth());return w;}};ASC.lib.Ajax={request:function(method,uri,cb,data,options)
{var _self=this;if(options){}
var requestOptions={url:uri,params:data,method:method.toUpperCase(),success:this.success,failure:this.failure,scope:this,argument:{handleAs:cb.argument.handleAs||'text',callback:cb,options:options}};var transactionId=Ext.Ajax.request(requestOptions);return{abort:function(){Ext.Ajax.abort(transactionId);}};},success:function(response,options)
{var arg=options.argument;if(arg.callback){var cb=arg.callback;delete arg.callback;response.argument=cb.argument;response.ioArgs={method:options.method,uri:options.url,data:options.params,options:arg.options};var jsonObj=null;var handler=ASC.lib.Ajax._jsonHandlers[arg.handleAs];if(handler){jsonObj=handler.call(ASC.lib.Ajax,response.responseText);}
response.responseJSON=jsonObj;cb.success(response);}},failure:function(response)
{var arg=response.argument;if(arg.callback){var cb=arg.callback;delete arg.callback;response.argument=cb.argument;response.ioArgs={method:arg.method,uri:arg.uri,data:arg.data,options:arg.options};cb.failure(response);}},_jsonHandlers:{'json':function(responseText)
{return Ext.util.JSON.decode(responseText);},'json-comment-filtered':function(responseText)
{var cStartIdx=responseText.indexOf("\u002f*");var cEndIdx=responseText.lastIndexOf("*\/");if(cStartIdx==-1||cEndIdx==-1){throw new Error("JSON was not comment filtered");}
return Ext.util.JSON.decode(responseText.substring(cStartIdx+2,cEndIdx));},'json-comment-optional':function(responseText)
{var handlers=this._contentHandlers;try{return handlers['json-comment-filtered'](responseText);}catch(e){return handlers['json'](responseText);}}}};})();

(function(){var urlCheck=/^http(s)?:\/\//;var defaultLang='en';var defaultCountryCode='CA';var lang=null;var countryCode=null;var contextPath='';var theme='default';var imgFolderName='images';var cssFolderName='css';var imgBasePathPattern='%contextPath%/resources/%imageFolderName%';var cssBasePathPattern='%contextPath%/resources/%cssFolderName%';var imgPathPattern='%imgBasePath%/%theme%';var imgLocalePathPattern='%imgBasePath%/%theme%/%lang%';var cssPathPattern='%cssBasePath%/%theme%';var jsPathPattern='%contextPath%/resources/js';var imgBasePath='/resources/'+imgFolderName;var cssBasePath='/resources/'+cssFolderName;var imgPath=imgBasePath+'/default';var imgLocalePath=imgPath+'/en';var cssPath=cssBasePath+'/default';var jsPath='/resources/js';function getLocale()
{return _getLocale(lang,countryCode);}
function _getLocale(language,code)
{var l=language||defaultLang;var c=code||defaultCountryCode;return{language:l,countryCode:c,toString:function(){return l+'_'+c;}};}
function _updatePaths()
{imgBasePath=pathFromPattern(imgBasePathPattern);cssBasePath=pathFromPattern(cssBasePathPattern);imgPath=pathFromPattern(imgPathPattern);imgLocalePath=pathFromPattern(imgLocalePathPattern);cssPath=pathFromPattern(cssPathPattern);jsPath=pathFromPattern(jsPathPattern);}
function pathFromPattern(pattern)
{return pattern.replace('%contextPath%',contextPath).replace('%imageFolderName%',imgFolderName).replace('%imgBasePath%',imgBasePath).replace('%cssFolderName%',cssFolderName).replace('%cssBasePath%',cssBasePath).replace('%locale%',getLocale().toString()).replace('%lang%',lang).replace('%countryCode%',countryCode).replace('%theme%',theme);}
function cleanupPath(path)
{if(path==null){path='';}
path=path.replace('\\','/').replace('//','/');;if(path.charAt(path.length)==='/'){path=path.substr(0,path.length-1);}
return path;};ASC.apply(ASC.cfg,{setContextPath:function(newPath)
{if(!urlCheck.test(newPath)){contextPath=cleanupPath(newPath);}else{contextPath=newPath;}
_updatePaths();},getContextPath:function()
{return contextPath;},setDefaultLang:function(newLang)
{if(typeof newLang!=='string'){return;}
defaultLang=newLang;_updatePaths();},setDefaultCountryCode:function(newCode)
{if(typeof newCode!=='string'){return;}
defaultCountryCode=newCode;_updatePaths();},setLang:function(newLang)
{if(newLang==null){return;}
lang=newLang.toLowerCase();_updatePaths();},setCountryCode:function(newCountryCode)
{if(typeof newCountryCode!=='string'){return;}
countryCode=newCountryCode.toUpperCase();_updatePaths();},setLocale:function(newLang,newCountry)
{this.setLang(newLang);this.setCountryCode(newCountry);_updatePaths();},getDefaultLocale:function()
{return _getLocale();},getLocale:function()
{return getLocale();},setTheme:function(newTheme)
{if(typeof theme!=='string'){return;}
theme=newTheme;_updatePaths();},setImgFolderName:function(folderName)
{if(typeof folderName!=='string'){return;}
imgFolderName=folderName;_updatePaths();},setCssFolderName:function(folderName)
{if(typeof folderName!=='string'){return;}
cssFolderName=folderName;_updatePaths();},setImgBasePathPattern:function(pattern)
{if(typeof pattern!=='string'){return;}
imgBasePathPattern=pattern;_updatePaths();},setCssBasePathPattern:function(pattern)
{if(typeof pattern!=='string'){return;}
cssBasePathPattern=pattern;_updatePaths();},setImgPathPattern:function(pattern)
{if(typeof pattern!=='string'){return;}
imgPathPattern=pattern;imgPath=pathFromPattern(imgPathPattern);},setImgLocalePathPattern:function(pattern)
{if(typeof pattern!=='string'){return;}
imgLocalePathPattern=pattern;imgLocalePath=pathFromPattern(imgLocalePathPattern);},setCssPathPattern:function(pattern)
{if(typeof pattern!=='string'){return;}
cssPathPattern=pattern;cssPath=pathFromPattern(cssPathPattern);},setJsPathPattern:function(pattern)
{if(typeof pattern!=='string'){return;}
jsPathPattern=pattern;jsPath=pathFromPattern(jsPathPattern);},getTheme:function()
{return theme;},getImgBasePath:function()
{return imgBasePath;},getCssBasePath:function()
{return cssBasePath;},getImgPath:function()
{return imgPath;},getImgLocalePath:function()
{return imgLocalePath;},getCssPath:function()
{return cssPath;},getJsPath:function()
{return jsPath;}});})();(function(){if(typeof ASC_config!=='undefined'){var AC=ASC_config;var cfg=ASC.cfg;if(AC.enableLogging===true){cfg.enableLogging=true;}
if(AC.defaultLang){cfg.setDefaultLang(AC.defaultLang);}
if(AC.defaultCountryCode){cfg.setDefaultCountryCode(AC.defaultCountryCode);}
if(AC.lang){cfg.setLang(AC.lang);}
if(AC.countryCode){cfg.setCountryCode(AC.countryCode);}
if(AC.contextPath){cfg.setContextPath(AC.contextPath);}
if(AC.theme){cfg.setTheme(AC.theme);}
if(AC.imageFolder){cfg.setImageFolderName(AC.imageFolder);}
if(AC.cssFolder){cfg.setCssFolderName(AC.cssFolder);}
if(AC.imgBasePathPattern){cfg.setImgBasePathPattern(AC.imgBasePathPattern);}
if(AC.cssBasePathPattern){cfg.setCssBasePathPattern(AC.cssBasePathPattern);}
if(AC.imgPathPattern){cfg.setImgPathPattern(AC.imgPathPattern);}
if(AC.imgLocalePathPattern){cfg.setImgLocalePathPattern(AC.imgLocalePathPattern);}
if(AC.cssPathPattern){cfg.setCssPathPattern(AC.cssPathPattern);}
if(AC.jsPathPattern){cfg.setJsPathPattern(AC.jsPathPattern);}}})();

(function(){var bundles=[];function getBundle(key,locale)
{if(!locale){locale=ASC.cfg.getLocale();}
var bundle=bundles[locale.toString()];if(!bundle){bundle=bundles[ASC.cfg.getDefaultLocale()];}
if(!bundle){throw'No bundle for locale '+locale+' could be found';}
return bundle;}
ASC.i18n={loadBundle:function(bundle)
{var validLocale=/^[a-z]{2}_[A-Z]{2}$/;if(!validLocale.test(bundle.locale)){throw'The locale '+bundle.locale+' is invalid it must be in the format en_CA';}
var b=bundles[bundle.locale];if(!b){b=bundles[bundle.locale]=new ASC.i18n.Bundle();}
ASC.apply(b.formatting,bundle.formatting);ASC.apply(b.messages,bundle.messages);},getMessage:function(key,locale)
{var bundle=getBundle();var msg=bundle.messages[key];return(msg!=null?msg:'??? '+key+' ???');},getFormatProperty:function(key,locale)
{var bundle=getBundle();var prop=bundle.formatting[key];if(typeof prop==='undefined'){throw'No formatting property could be found matching the key '+key+' for the locale '+(locale?locale:ASC.cfg.getLocale().toString());}
return prop;}};ASC.i18n.Bundle=function()
{this.messages={};this.formatting={};};})();ASC.message=function(key,locale)
{return ASC.i18n.getMessage(key,locale);};ASC.loadBundle=function(bundle)
{ASC.i18n.loadBundle(bundle);};ASC.getFormatProperty=function(key,locale)
{return ASC.i18n.getFormatProperty(key,locale);};(function(){ASC.loadBundle({locale:'en_CA',formatting:{getNumberRegEx:/[^\d-^\.]/g,testNumberRegEx:/[^\d^\.,$%-]|(\S*\.\S*){2,}|(\S*-\S*){2,}/,decimalChar:'.',thousandsChar:',',currencyPrefix:'$',currencyPostfix:'',percentPrefix:'',percentPostfix:'%',negativePrefix:'-',negativePostfix:''},messages:{'loading':'Loading...'}});ASC.loadBundle({locale:'en_US',formatting:{getNumberRegEx:/[^\d-^\.]/g,testNumberRegEx:/[^\d^\.,$%-]|(\S*\.\S*){2,}|(\S*-\S*){2,}/,decimalChar:'.',thousandsChar:',',currencyPrefix:'$',currencyPostfix:'',percentPrefix:'',percentPostfix:'%',negativePrefix:'-',negativePostfix:''},messages:{'loading':'Loading...'}});ASC.loadBundle({locale:'fr_CA',formatting:{getNumberRegEx:/[^\d\-,]/g,testNumberRegEx:/[^\d^\.,$%-]|(\S*,\S*){2,}|(\S*-\S*){2,}/,decimalChar:',',thousandsChar:' ',currencyPrefix:'',currencyPostfix:' $',percentPrefix:'',percentPostfix:' %',negativePrefix:'-',negativePostfix:''},messages:{'loading':'Chargement...'}});})();

ASC.namespace('ASC.Cookies');if(typeof ASC.Cookies==='undefined'){ASC.Cookies={};}
(function(){function getCookieVal(offset)
{var endstr=document.cookie.indexOf(";",offset);if(endstr==-1){endstr=document.cookie.length;}
return unescape(document.cookie.substring(offset,endstr));}
ASC.apply(ASC.Cookies,{set:function(name,value,expires,path,domain,secure)
{if(typeof expires==='undefined'){expires=null;}
if(typeof path==='undefined'){path='/';}
if(typeof domain==='undefined'){domain=null;}
if(typeof secure!==true){secure=false;}
var gmtExpires=expires;if(gmtExpires&&typeof gmtExpires!=='string'){gmtExpires=gmtExpires.toGMTString();}
document.cookie=name+"="+escape(value)+
((gmtExpires==null)?"":("; expires="+gmtExpires))+
((path==null)?"":("; path="+path))+
((domain==null)?"":("; domain="+domain))+
((secure==true)?"; secure":"");},get:function(name)
{var arg=name+"=";var alen=arg.length;var clen=document.cookie.length;var i=0;var j=0;while(i<clen){j=i+alen;if(document.cookie.substring(i,j)==arg)
return getCookieVal(j);i=document.cookie.indexOf(" ",i)+1;if(i==0)
break;}
return null;},clear:function(name){if(ASC.Cookies.get(name)){ASC.Cookies.set(name,null,'Thu, 01-Jan-70 00:00:01 GMT');}}});})();

ASC.namespace('util');if(typeof ASC.util==='undefined'){ASC.util={};}
(function(){var isOpera=ASC.Browser.isOpera,isSafari=ASC.Browser.isSafari,isGecko=ASC.Browser.isGecko,isIE=ASC.Browser.isIE;var classReCache={};function setValue(obj,name,value)
{var val=obj[name];if(ASC.isString(val)){obj[name]=[val,value];}else if(ASC.isArray(val)){val.push(value);}else{obj[name]=value;}}
function getElement(node)
{var el=null;if(typeof node==='object'&&node!=null){el=(node.dom||node);}else if(typeof node==='string'){el=document.getElementById(node);}
if(!el){throw'getElement: An invalid node was supplied';}
return el;}
function _serializeFormToObj(ret,elements)
{ASC.forEach(elements,function(item){var type=(item.type||"").toLowerCase();var name=(item.name||item.id);if(name===""){return;}
if(type==="file"||type==="submit"||type==="image"||type==="reset"||type==="button"){return;}
if(type==="radio"||type==="checkbox"){if(item.checked){setValue(ret,name,item.value);}}else if(item.multiple){ret[name]=[];ASC.forEach(item.options,function(opt){if(opt.selected){setValue(ret,name,opt.value);}});}else{setValue(ret,name,item.value);}});return ret;}
ASC.apply(ASC.util,{DelayedTask:Ext.util.DelayedTask,MixedCollection:Ext.util.MixedCollection,Observable:Ext.util.Observable,trim:function(s)
{if(!s||typeof s!=='string'){return'';}
return s.replace(/^\s*|\s*$/g,'');},addClass:function(el,className)
{var dom=getElement(el);if(!dom){ASC.log('No element matching the id '+el+'could be found in the DOM');return;}
if(ASC.isArray(className)){for(var i=0,len=className.length;i<len;i++){ASC.util.addClass(dom,className[i]);}}else{if(className&&!ASC.util.hasClass(dom,className)){dom.className=dom.className+" "+className;}}},removeClass:function(el,className)
{var dom=getElement(el);if(!dom){ASC.log('No element matching the id '+el+'could be found in the DOM');return;}
if(!className||!dom.className){return;}
if(ASC.isArray(className)){for(var i=0,len=className.length;i<len;i++){ASC.util.removeClass(dom,className[i]);}}else{if(ASC.util.hasClass(dom,className)){var re=classReCache[className];if(!re){re=new RegExp('(?:^|\\s+)'+className+'(?:\\s+|$)',"g");classReCache[className]=re;}
dom.className=dom.className.replace(re," ");}}},hasClass:function(el,className)
{var dom=getElement(el);if(!dom){ASC.log('No element matching the id '+el+'could be found in the DOM');return;}
return className&&(' '+dom.className+' ').indexOf(' '+className+' ')!=-1;},switchClass:function(el,classStr,addClass)
{if(addClass){ASC.util.addClass(el,classStr);}else{ASC.util.removeClass(el,classStr);}},replaceClassWith:function(el,find,replace,reverse)
{if(typeof reverse!=='boolean'){reverse=false;}
ASC.util.removeClass(el,(!reverse?find:replace));ASC.util.addClass(el,(!reverse?replace:find));},removeNode:function(node)
{return Ext.removeNode(node);},isHTMLElement:function(el,nodeName)
{if(!el||typeof(el)!='object'||el.nodeName==null||nodeName==null){return false;}
var name=el.nodeName.toLowerCase();if(typeof(nodeName)=='string'){return name==nodeName.toLowerCase();}
if(ASC.isArray(nodeName)){var match=false;for(var i=0;i<nodeName.length&&!match;i++){if(name==nodeName[i].toLowerCase()){match=true;}}
return match;}
throw'ASC.utl.isHTMLElement was passed an el that is neither a string or array of strings';return false;},isRadioButton:function(el)
{var type=el.type||'';return ASC.util.isHTMLElement(el,'input')&&type=='radio';},getFloat:function(str,nanDefault,locale)
{if(str==null||str.length<1){return 0.0;}
if(typeof str!=='string'){str=str.toString();}
if(typeof nanDefault==='undefined'){nanDefault=Number.NaN;}
var regEx=ASC.getFormatProperty('getNumberRegEx',locale);if(regEx){str=str.replace(regEx,'');}
var decChar=ASC.getFormatProperty('decimalChar',locale);if(decChar!='.'){str=str.replace(decChar,'.');}
var val=parseFloat(str);if(isNaN(val)){val=nanDefault;}
return val;},getInt:function(str,nanDefault,locale)
{var val=ASC.util.getFloat(str,nanDefault,locale);if(!isNaN(val)){return parseInt(val,10);}else{return val;}},getBool:function(str)
{if(typeof(str)==='string'){return str.toLowerCase()=='true';}else{return str.toString().toLowerCase()=='true';}},getDocumentHeight:function()
{return ASC.lib.util.getDocumentHeight();},getDocumentWidth:function()
{return ASC.lib.util.getDocumentWidth();},getClientHeight:function()
{ASC.deprecated('ASC.util.getClientHeight','use ASC.util.getViewportHeight instead');return ASC.util.getViewportHeight();},getClientWidth:function()
{ASC.deprecated('ASC.util.getClientWidth','use ASC.util.getViewportWidth instead');return ASC.util.getViewportWidth();},getViewportHeight:function()
{return ASC.lib.util.getViewportHeight();},getViewportWidth:function()
{return ASC.lib.util.getViewPortWidth();},addOptionsToSelect:function(el,options,append)
{var select=null;if(typeof el==='string'){select=document.getElementById(el);}else if(el&&el.dom){select=el.dom;}else if(el){select=el;}
if(!select.nodeName||select.nodeName!=='SELECT'){return;}
var insertAt=0;if(append){insertAt=select.options.length;}else{select.options.length=0;}
ASC.forEach(options,function(item){var i=insertAt++;select.options[i]=new Option(item.text,item.value);if(item.selected){select.selectedIndex=i;}});},isNumeric:function(str,locale)
{var testRegEx=ASC.getFormatProperty('testNumberRegEx',locale);if(!testRegEx){throw'ASC.util.isNumeric testNumberReg could not be found.';}
return!testRegEx.test(str);},isZip:function(str)
{return/^\d{5}(-\d{4})?$/.test(str);},formatNumber:function(value,precision,unsigned,prefix,postfix,locale,groupDigits)
{if(precision==null){precision=1;}
else if(precision<-1){precision=-1;}
if(unsigned==null){unsigned=false;}
if(prefix==null){prefix='';}
if(postfix==null){postfix='';}
if(unsigned&&value<0){value=Math.abs(value);}
if(groupDigits==null){groupDigits=true;}
if(isNaN(value)){return prefix+'NaN'+postfix;}
var bIsNeg=value<0;if(parseInt(value,10)==value&&precision<0){precision=1;}
var s='';if(precision>-1){s=ASC.MathLib.round(Math.abs(value),precision).toString();}
else{s=value.toString();}
var arrNum=s.split('.');if(arrNum.length<2){arrNum[1]='0';}
var decChar=ASC.getFormatProperty('decimalChar',locale);var sepChar=ASC.getFormatProperty('thousandsChar',locale);s='';if(groupDigits&&arrNum[0].length>3){for(var i=arrNum[0].length-3;i>=0;i=i-3){if(i>0){s=sepChar+arrNum[0].substr(i,3)+s;if(i-3<=0){s=arrNum[0].substr(0,i)+s;break;}}else{s=arrNum[0].substr(0,1)+s;}}}else{s=arrNum[0];}
if(precision!==0){var dec=arrNum[1];for(var j=dec.length;j<Math.abs(precision);j++){dec+='0';}
s=s+decChar+dec;}
var negPrefix=ASC.getFormatProperty('negativePrefix',locale);var negPostfix=ASC.getFormatProperty('negativePostfix',locale);if(bIsNeg){prefix=negPrefix+prefix;postfix=negPostfix+postfix;}
return prefix+s+postfix;},formatCurrency:function(value,precision,unsigned,locale,groupDigits)
{var prefix=ASC.getFormatProperty('currencyPrefix',locale);var postfix=ASC.getFormatProperty('currencyPostfix',locale);return ASC.util.formatNumber(value,precision,unsigned,prefix,postfix,locale,groupDigits);},formatPhoneNumber:function(phoneStr)
{var str=null;if(phoneStr==null){return'';}
if(typeof(phoneStr)=='string'){str=phoneStr;}
else{str=phoneStr.toString();}
str=str.replace(/[^\d]/g,'');var sRes='';if(str.length==7){sRes=str.substr(0,3)+'-'+str.substr(3);}else if(str.length==10){sRes='('+str.substr(0,3)+') '+str.substr(3,3)+'-'+str.substr(6);}else{sRes='';}
return sRes;},formatZipPostalCode:function(input)
{if(input==null||input==''){return'';}
var str=null;if(typeof input==='string'){str=input;}
else{str=input.toString();}
if(/[A-Za-z]/.test(str)){return ASC.util.formatPostalCode(str);}
return ASC.util.formatZipCode(str);},formatPostalCode:function(str)
{var code=str.replace(/[^\dA-Za-z]/g,"");if(code.length!=6){return str;}
code=code.substr(0,3)+' '+code.substr(3);return code.toUpperCase();},formatZipCode:function(str)
{var code=str.replace(/[^\d]/g,"");if(code.length>5){code=code.substr(0,5)+'-'+code.substr(5);}
return code;},resetForm:function(formId)
{var form=document.getElementById(formId);if(!form){return;}
form.reset();var el=null;for(var i=0;i<form.elements.length;i++){el=ASC.getEl(form.elements[i],true);if(el.dom){el.setValid(true);}}},objectToQuery:function(map)
{var ec=encodeURIComponent;var ret='';var checksum={};for(var x in map){if(map[x]!=checksum[x]){if(ASC.isArray(map[x])){for(var y=0;y<map[x].length;y++){ret+=ec(x)+'='+ec(map[x][y])+'&';}}else{ret+=ec(x)+'='+ec(map[x])+'&';}}}
if(ret.length&&ret.charAt(ret.length-1)=="&"){ret=ret.substr(0,ret.length-1);}
return ret;},queryToObject:function(str)
{var ret={};var qp=str.split("&");var dc=decodeURIComponent;ASC.forEach(qp,function(item){if(item.length){var parts=item.split("=");var name=dc(parts.shift());var val=dc(parts.join("="));if(ASC.isString(ret[name])){ret[name]=[ret[name]];}
if(ASC.isArray(ret[name])){ret[name].push(val);}else{ret[name]=val;}}});return ret;},formToObject:function(formNode)
{var ret={};var node=getElement(formNode);_serializeFormToObj(ret,node.getElementsByTagName('input'));_serializeFormToObj(ret,node.getElementsByTagName('select'));_serializeFormToObj(ret,node.getElementsByTagName('textarea'));return ret;},formToQuery:function(formNode)
{return ASC.util.objectToQuery(ASC.util.formToObject(formNode));}});})();

ASC.namespace('ASC.MathLib');if(typeof ASC.MathLib==='undefined'){ASC.MathLib={};}
ASC.apply(ASC.MathLib,{round:function(value,precision)
{if(precision<0){return value;}
else if(precision>20){precision=20;}
var a=value.toString().split('.');if(a.length<2){a[1]='0';}
for(var i=a[1].length;i<precision;i++){a[1]+='0';}
var l=a[1].substr(0,(precision>0?precision:1));var r=a[1].substr((precision>0?precision:1));a[1]=Math.round(parseFloat(l+'.'+r)).toString();if(a[1].length<=precision){for(var j=a[1].length;j<precision;j++){a[1]='0'+a[1];}}else if(precision===0&&parseInt(a[1].substr(0,1))<5){a[1]=0;}else{a[0]=(parseInt(a[0],10)+1).toString();a[1]='0';}
return parseFloat(a[0]+'.'+a[1]);}});

ASC.namespace('ASC.xmlUtils');if(typeof ASC.xmlUtils==='undefined'){ASC.xmlUtils={};}
(function(){var is_all_ws=function(nod)
{return!(/[^\t\n\r ]/.test(nod.data));};var is_ignorable=function(nod)
{return(nod.nodeType==8)||((nod.nodeType==3)&&is_all_ws(nod));};var node_before=function(sib)
{while((sib=sib.previousSibling)){if(!is_ignorable(sib))return sib;}
return null;};var node_after=function(sib)
{while((sib=sib.nextSibling)){if(!is_ignorable(sib))return sib;}
return null;};var last_child=function(par)
{var res=par.lastChild;while(res){if(!is_ignorable(res))return res;res=res.previousSibling;}
return null;};var first_child=function(par)
{var res=par.firstChild;while(res){if(!is_ignorable(res))return res;res=res.nextSibling;}
return null;}
var data_of=function(txt)
{var data=txt.data;data=data.replace(/[\t\n\r ]+/g," ");if(data.charAt(0)==" ")
data=data.substring(1,data.length);if(data.charAt(data.length-1)==" ")
data=data.substring(0,data.length-1);return data;};function _nodeToObject(doc,appendTo)
{var xu=ASC.xmlUtils;var keyFunc=function(field){return field.name;};var ret={attributes:new Ext.util.MixedCollection(false,keyFunc)};ASC.forEach(doc.attributes,function(attr){ret.attributes.add(attr.nodeName,attr.value);});var node=xu.firstChild(doc);while(node){var data=null;var firstChild=xu.firstChild(node);if(firstChild){if(firstChild.nodeType===3){data=xu.dataOf(firstChild);}else if(firstChild.nodeType===4){data=firstChild.nodeValue;}}
setValue(ret,node.nodeName,{value:data,attributes:new Ext.util.MixedCollection(false,keyFunc)});if(node.attributes.length>0){ASC.forEach(node.attributes,function(attr){ret[node.nodeName].attributes.add(attr.nodeName,attr.value);});}
if(firstChild&&firstChild.nodeType===1){_nodeToObject(node,ret);}
node=xu.nodeAfter(node);}
if(appendTo){setValue(appendTo,doc.nodeName,ret);return appendTo;}
return ret;}
function setValue(obj,name,value)
{var val=obj[name];if(ASC.isArray(val)){val.push(value);}else if(val){obj[name]=[val,value];}else{obj[name]=value;}}
ASC.apply(ASC.xmlUtils,{isAllWhiteSpace:is_all_ws,isIgnorable:is_ignorable,nodeBefore:node_before,nodeAfter:node_after,lastChild:last_child,firstChild:first_child,dataOf:data_of,getElementByName:function(root,name)
{var nodes=root.getElementsByTagName(name);if(nodes.length>0){return nodes[0];}else{return null;}},getAttributeValue:function(node,attrName)
{var att=node.attributes.getNamedItem(attrName);if(att){return att.value;}else{return null;}},loadDomFromString:function(xmlStr)
{var dom=null;try{var parser=null;parser=new DOMParser();dom=parser.parseFromString(xmlStr,'text/xml');}catch(e){dom=new ActiveXObject('Microsoft.XMLDOM');dom.async="false";dom.loadXML(xmlStr);}
return dom;},nodeToObject:function(doc)
{return nodeToObject(doc);}});})();

ASC.namespace('ASC.Event');(function(){var E=Ext.lib.Event;var EM=Ext.EventManager;var EO=Ext.EventObject;ASC.apply(ASC.Event,{addListener:function(el,sType,fn,obj,override)
{return EM.addListener(el,sType,fn,obj,override);},onDocumentReady:function(fn,scope,options)
{EM.onDocumentReady(fn,scope,options);},onTextResize:function(fn,scope,options)
{EM.onTextResize(fn,scope,options);},onWindowResize:function(fn,scope,options)
{EM.onWindowResize(fn,scope,options);},removeListener:function(el,eventName,fn)
{return EM.removeListener(el,eventName,fn);},removeResizeListener:function(fn,scope)
{EM.removeResizeListender(fn,scope);},preventDefault:function()
{EO.preventDefault();},stopEvent:function()
{EO.stopEvent();},stopPropagation:function()
{EO.stopPropagation();}});ASC.Event.on=ASC.Event.addListener;ASC.Event.un=ASC.Event.removeListener;ASC.onReady=ASC.Event.onDocumentReady;ASC.addOnLoad=function(fn)
{if(ASC.lib.Event&&ASC.lib.Event.addOnLoad){ASC.lib.Event.addOnLoad(fn);}else{E.on(window,'load',fn);}};ASC.addOnUnload=function(fn)
{if(ASC.lib.Event&&ASC.lib.Event.addOnUnload){ASC.lib.Event.addOnUnload(fn);}else{E.on(window,'unload',fn);}};})();

ASC.namespace('ASC.Element');if(typeof ASC.Element==='undefined'){ASC.Element={};}
(function(){var AC={};if(typeof ASC_config!=='undefined'){AC=ASC_config;}
var A=Ext.lib.Anim;var UTIL=ASC.util;function inArray(arr,searchFor)
{for(var i=0;i<arr;i++){if(arr[i]===searchFor){return true;}};return false;}
Ext.Element.CLASS_NAME=(AC.visibilityMode||3);Ext.Element.INVALID_CSS=(AC.invalidCSS||'a-field-invalid');Ext.Element.DISABLE_CSS=(AC.disabledCSS||'a-disabled');Ext.Element.VISIBILITY_CSS=(AC.visibilityCSS||'x-hide-display');Ext.override(Ext.Element,{_ext_original_setVisible:Ext.Element.prototype.setVisible,setVisible:function(visible,animate)
{if(typeof visible==='undefined'){visible=true;}
if(this.visibilityMode!==Ext.Element.CSS_CLASS){return this._ext_original_setVisible.apply(this,arguments);}
if(!animate||!A){this.switchClass(Ext.Element.VISIBILITY_CSS,!visible);}else{var dom=this.dom;var visMode=this.visibilityMode;if(visible){this.setOpacity(.01);this.switchClass(Ext.Element.VISIBILITY_CSS,false);}
this.anim({opacity:{to:(visible?1:0)}},this.preanim(arguments,1),null,.35,'easeIn',function(){if(!visible){this.switchClass(Ext.Element.VISIBILITY_CSS,true);ASC.getEl(dom).setOpacity(1);}});}
return this;},switchClass:function(classStr,addClass)
{if(addClass){this.addClass(classStr);}else{this.removeClass(classStr);}
return this;},replaceClassWith:function(find,replace,reverse)
{if(typeof reverse!=='boolean'){reverse=false;}
this.removeClass(!reverse?find:replace);this.addClass(!reverse?replace:find);return this;},getInt:function(nanDefault,locale){return UTIL.getInt(this.getValue(),nanDefault,locale);},getFloat:function(nanDefault,locale){return UTIL.getFloat(this.getValue(),nanDefault,locale);},getBool:function(locale){return UTIL.getBool(this.getValue());},getValue:function()
{var el=this.dom;if(UTIL.isHTMLElement(el,'select')){if(!el.multiple){var idx=el.selectedIndex;return idx!=-1?el.options[idx].value:'';}else{var ret=[];for(var i=0;i<el.options.length;i++){if(el.options[i].selected){ret.push(el.options[i].value);}}
return ret;}}else if(UTIL.isHTMLElement(el,'input')){switch(el.type){case'checkbox':case'check-box':case'radio':return el.checked;default:return el.value;}}else if(UTIL.isHTMLElement(el,'textarea')){return el.value;}else if(el.innerHTML!=null){return el.innerHTML;}
return'';},setValue:function(value)
{if(value==null){value='';}
var el=this.dom;if(UTIL.isHTMLElement(el,'select')){var checkFunc=null;var opts=el.options;if(!el.multiple&&ASC.isArray(value)){alert('This element is not a multiple select list you can not pass an array of values');return;}
if(!ASC.isArray(value)){checkFunc=function(){return arguments[0]==arguments[1];};}else{checkFunc=function(){return inArray(arguments[0],arguments[1]);};}
for(var i=0;i<opts.length;i++){if(checkFunc(value,opts[i].value)){opts[i].selected=true;if(!el.multiple){return;}}else{opts[i].selected=false;}}}else if(UTIL.isHTMLElement(el,'input')){switch(el.type){case'checkbox':case'check-box':case'radio':el.checked=UTIL.getBool(value);break;default:el.value=value;}}else if(UTIL.isHTMLElement(el,'textarea')){el.value=value;}else if(el.innerHTML){el.innerHTML=value;}},setText:function(value)
{if(value==null){value='';}
var el=this.dom;if(!UTIL.isHTMLElement(el,'select')){}
var checkFunc=null;var opts=el.options;if(!el.multiple&&ASC.isArray(value)){alert('This element is not a multiple select list you can not pass an array of values');return;}
if(!ASC.isArray(value)){checkFunc=function(){return arguments[0]==arguments[1];};}else{checkFunc=function(){return inArray(arguments[0],arguments[1]);};}
for(var i=0;i<opts.length;i++){if(checkFunc(value,opts[i].text)){opts[i].selected=true;if(!el.multiple){return;}}else{opts[i].selected=false;}}},setDisabled:function(disable)
{},isDisabled:function()
{return false;}});ASC.Element=Ext.Element;ASC.getEl=Ext.get;})();

ASC.namespace('ASC.Ajax.AjaxEngine');if(typeof ASC.Ajax==='undefined'){ASC.Ajax={};}
(function(){var newRequestId=null;(function(){var _requestId=1;newRequestId=function()
{return'aereq-'+(_requestId++);};})();ASC.Ajax.AjaxEngine=function(cfg)
{this.ajaxElements=[];this.ajaxObjects=[];this.requestURLS=[];this.activeRequests=[];if(!cfg){cfg={};}
this.handleAsDefault=cfg.handleAsDefault;if(typeof ASC.addOnUnLoad!=='undefined'){var me=this;ASC.addOnUnload(function(){me.cleanup();});}
ASC.Ajax.AjaxEngine.superclass.constructor.apply(this);this.addEvents({engineComplete:true,failure:true});if(cfg.events){this.on(cfg.events);}};ASC.extend(ASC.Ajax.AjaxEngine,Ext.util.Observable,{ajaxElements:null,ajaxObjects:null,requestURLS:null,activeRequests:null,handleAsDefault:'xml',registerRequest:function(id,url)
{this.requestURLS[id]=url;},registerAjaxElement:function(responseId,element)
{if(!element){element=document.getElementById(responseId);}
this.ajaxElements[responseId]=element;},registerAjaxObject:function(responseId,ajaxHandler)
{this.ajaxObjects[responseId]=ajaxHandler;},sendRequest:function(id,options)
{var _self=this;var url=this.requestURLS[id];if(!url){throw'An invalid id parameter was supplied';}
var cfgOptions=ASC.apply({useGet:true,timeout:120000,handleAs:this.handleAsDefault||'text',params:{},escapedParams:[],forms:[],postData:null,success:null,failure:null},options||{});cfgOptions._requestId=newRequestId();cfgOptions.params['_rid']=(Math.random()*Date.parse(new Date()));var formParams={};ASC.forEach(cfgOptions.forms,function(form){ASC.apply(formParams,ASC.util.formToObject(form));});ASC.apply(formParams,cfgOptions.params);cfgOptions.params=formParams;var data=ASC.util.objectToQuery(formParams).split('&');var callback={success:function(o){_self.success(o);},failure:function(o){_self.failure(o);},argument:{handleAs:cfgOptions.handleAs}};var conn=ASC.lib.Ajax.request((cfgOptions.useGet?'GET':'POST'),url,callback,data.join('&'),cfgOptions);this.activeRequests[cfgOptions._requestId]=conn;return conn;},success:function(ajaxResponse)
{var ioArgs=ajaxResponse.ioArgs;var _requestId=ioArgs.options._requestId;delete ioArgs.options._requestId;if(this.activeRequests[_requestId]){delete this.activeRequests[_requestId];}
if(ajaxResponse.responseJSON){this._successJSON(ajaxResponse.responseJSON,ioArgs);}else if(ajaxResponse.responseXML){this._successXML(ajaxResponse.responseXML,ioArgs);}
var requestComplete=ioArgs.options.requestComplete;if(typeof requestComplete!=='undefined'&&ASC.isFunction(requestComplete.fn)){requestComplete.fn.call(requestComplete.scope||this,{},ioArgs);}
this.fireEvent('engineComplete',{},ioArgs);},failure:function(ajaxResponse)
{var ioArgs=ajaxResponse.ioArgs;var _requestId=ioArgs.options._requestId;delete ioArgs.options._requestId;if(this.activeRequests[_requestId]){delete this.activeRequests[_requestId];}
ASC.log('AJAX FAILURE: '+ajaxResponse.responseText);this.fireEvent('failure',ajaxResponse.responseText,{},ioArgs);},_successJSON:function(resObject,ioArgs)
{for(var i=0;i<resObject.length;i++){var id=resObject[i].id;var callback=this.ajaxObjects[id];if(!callback){ASC.log('ASC.Ajax.AjaxEngine._successJSON: There is no object registered under the id '+id);continue;}
callback.ajaxUpdateJSON(resObject[i],ioArgs);}},_successXML:function(doc,ioArgs)
{var responses=doc.getElementsByTagName('response');var id=null;for(var i=0;i<responses.length;i++){id=responses[i].getAttribute('id')||'';var callback=this.ajaxObjects[id];if(!callback){ASC.log('ASC.Ajax.AjaxEngine._successXML: There is no object registered under the id '+id);continue;}
callback.ajaxUpdateXML(responses[i],ioArgs);}},cleanup:function()
{var ar=this.activeRequests
var checksum={};for(var key in ar){if(ar[key]!==checksum[key]){try{ar[key].abort();}catch(e){}
delete ar[key];}}}});})();

ASC.namespace('ASC.Ajax.Response');ASC.Ajax.Response=function(cfg)
{if(typeof cfg==='undefined'){cfg={};}
this.prefix=cfg.prefix||'';this.postfix=cfg.postfix||'';this.alertErrors=(typeof cfg.alertErrors==='undefined'||cfg.alertErrors===true?true:false);this.errors=[];ASC.Ajax.Response.superclass.constructor.apply(this);this.initEvents(cfg.addEvents,cfg.events);};ASC.Ajax.Response.eResult={SUCCESS:'SUCCESS',FAILURE:'FAILURE'};ASC.extend(ASC.Ajax.Response,Ext.util.Observable,{prefix:null,postfix:null,errors:null,invalidErrorDataMsg:'The errorData was not set properly',autoShowErrors:null,initEvents:function(events,subscribers)
{this.addEvents(ASC.apply(events,{success:true,failure:true}));if(subscribers){this.on(subscribers);}},ajaxUpdateJSON:function(jsonResponse,ioArgs)
{var eRes=(jsonResponse.result||'').toUpperCase();var success=(eRes===ASC.Ajax.Response.eResult.SUCCESS);this.errors=[];if(success){this.parseJSON(jsonResponse,ioArgs);}else{var errorData=jsonResponse.errorData||jsonResponse.errors;if(!errorData){this.errors.push(this.invalidErrorDataMsg);}else if(errorData.type=='simple'){this.errors.push(errorData.message);}else if(errorData.type=='array'){this.errors=errorData.messages;}
this._failure(eRes,ioArgs);}},ajaxUpdateXML:function(xmlResponse,ioArgs)
{var xu=ASC.xmlUtils;var success=false;var eRes=ASC.Ajax.Response.eResult.FAILURE;this.errors=[];var result=xu.getElementByName(xmlResponse,'result');if(result){eRes=xu.dataOf(xu.firstChild(result));success=eRes===ASC.Ajax.Response.eResult.SUCCESS;}
if(success){this.parseXML(xmlResponse,ioArgs);}else{var errorData=xu.getElementByName(xmlResponse,'errorData');if(errorData){var errType=(xu.getAttributeValue(errorData,'type')||'simple').toLowerCase();switch(errType){case'simple':var message=xu.getElementByName(errorData,'message');if(message){this.errors.push(xu.dataOf(xu.firstChild(message)));}else{this.errors.push(this.invalidErrorDataMsg);}
break;case'array':var messages=errorData.getElementsByTagName('message');ASC.forEach(messages,function(msg,index){this.errors.push(xu.dataOf(xu.firstChild(msg)));},this);break;default:this.errors.push(this.invalidErrorDataMsg);}}else{this.errors.push(this.invalidErrorDataMsg);}
this._failure(eRes,ioArgs);}},parseJSON:function(response,ioArgs)
{this.fireEvent('success',response,ioArgs);},parseXML:function(response,ioArgs)
{this.fireEvent('success',response,ioArgs);},_failure:function(eRes,ioArgs)
{if(this.alertErrors){alert(this.errors.join('\n'));}
var me=this;this.fireEvent('failure',{error:{errorData:me.errors,toString:function()
{return this.errorData.join('\n');}},result:eRes},ioArgs);}});

ASC.namespace('ASC.Ajax.Select');if(typeof ASC.Ajax.Select==='undefined'){ASC.Ajax.Select={};}
ASC.Ajax.Select=ASC.extend(ASC.Ajax.Response,{constructor:function(elementId,cfg)
{var options=ASC.apply(cfg||{},{addEvents:{beforeUpdate:true}});ASC.Ajax.Select.superclass.constructor.call(this,options);this.options=options;this.elId=elementId;},parseJSON:function(response,ioArgs)
{var el=this.getSelect();var data=response.data;this.reset();var nOptStartAt=el.options.length;this.fireEvent('beforeUpdate',{select:el},ioArgs);for(var i=0;i<data.length;i++){this._addOption(el,nOptStartAt++,data[i].text,data[i].value,(typeof data[i].selected!=='undefined'?data[i].selected:false));}
this.fireEvent('success',response,ioArgs,{select:el});},parseXML:function(response,ioArgs)
{var xu=ASC.xmlUtils;var el=this.getSelect();var data=response.getElementsByTagName('option');this.reset();var nOptStartAt=el.options.length;this.fireEvent('beforeUpdate',response,ioArgs,{select:el});var value=null;var label=null;for(var i=0;i<data.length;i++){value=xu.firstChild(data[i]);label=xu.nodeAfter(value);if(!value||!label){continue;}
this._addOption(el,nOptStartAt++,xu.dataOf(xu.firstChild(label)),xu.dataOf(xu.firstChild(value)),ASC.util.getBool(data[i].getAttribute('selected')||'false'));}
this.fireEvent('success',response,ioArgs,{select:el});},reset:function()
{var select=this.getSelect();var nOptStartAt=0;var optionsBefore=this.options.optionsBefore;var label=null;var value=null;select.options.length=0;if(optionsBefore!=null){if(ASC.isArray(optionsBefore)){for(var i=0;i<optionsBefore.length;i++){label=optionsBefore[i++];value=(optionsBefore.length>i?optionsBefore[i]:'');this._addOption(select,nOptStartAt++,label,value);}}else{this._addOption(select,nOptStartAt++,optionsBefore,'');}}},getSelect:function()
{var el=document.getElementById(this.elId);if(!el){alert('The element '+this.elId+' could not be located');return null;}
return el;},_addOption:function(select,insertAt,label,value,selected)
{select.options[insertAt]=new Option(label,value);if(selected){select.selectedIndex=insertAt;}}});ASC.namespace('ASC.Ajax.SelectManager');if(typeof ASC.Ajax.SelectManager==='undefined'){ASC.Ajax.SelectManager={};}
ASC.Ajax.SelectManager=ASC.extend(ASC.Ajax.Response,{constructor:function(cfg)
{var options=ASC.apply(cfg||{},{addEvents:{beforeUpdate:true}});ASC.Ajax.SelectManager.superclass.constructor.call(this,options);this.selects=options.selects||[];},selects:null,parseJSON:function(response,ioArgs)
{this.fireEvent('beforeUpdate',response,ioArgs);ASC.forEach(this.selects,function(select){select.parseJSON(response,ioArgs);});this.fireEvent('success',response,ioArgs);},parseXML:function(response,ioArgs)
{this.fireEvent('beforeUpdate',response,ioArgs);ASC.forEach(this.selects,function(select){select.parseXML(response,ioArgs);});this.fireEvent('success',response,ioArgs);},reset:function()
{ASC.forEach(this.selects,function(select){select.reset();});}});

