Ext.namespace("THSite.misc");THSite.misc.Utils={renderLink:function(){var a='<a target="_blank" href="http://{0}">{1}</a>';return function(c,b){return String.format(a,c,b)}}(),renderEmailLink:function(a){return String.format('<a href="mailto:{0}">{0}</a>',a)},goToUrl:function(a,c,b){(function(){window.location.href=(b?a:THSite.misc.Utils.concatUrl(THSite.misc.Utils.getBasePath()),a)}).defer(c||10)},concatUrl:function(b,a){if(b&&b.length>0&&b[b.length-1]=="/"){b=b.substr(0,b.length-1)}if(a&&a.length>0&&a[0]=="/"){a=a.substr(1)}return b+(b.length>0?"/":"")+a},validateForm:function(b,d,a){var c=b.getForm().isValid();if(!c){Ext.MessageBox.show({title:d||"Validation Error",msg:a||"The form data is not valid",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR})}return c},isPanelValid:function(b){var a=true;function c(e){if(e.isFormField&&e instanceof Ext.form.Field){if(!e.isValid()){throw"exception-id-a8D8g9-WvgX"}}}if(b.items){try{b.cascade(c,THSite.misc.Utils)}catch(d){if(d=="exception-id-a8D8g9-WvgX"){a=false}else{throw d}}}return a},getFormField:function(c,b){var a;function d(e){if(e.isFormField&&e.dataIndex==b){a=e;return false}}if(c.rendered&&c instanceof Ext.form.FormPanel){c=c.getForm();if(c.items){c.items.each(d,THSite.misc.Utils)}}else{if(c.items){c.cascade(d,THSite.misc.Utils)}}return a},getDataObjectFromForm:function(c,d,b){var a=d||{};if(!b){c=c.getForm()}if(c.items){c.items.each(function(e){THSite.misc.Utils.apply(a,THSite.misc.Utils.getDataObjectFromField(e))})}return a},getDataObjectFromPanel:function(b,d,c){var a=d||{};b.findBy(function(e){if(e.dataIndex){THSite.misc.Utils.apply(a,THSite.misc.Utils.getDataObjectFromField(e))}});return a},getDataObjectFromField:function(b){var a={};if(b.isFormField&&b.dataIndex){if(b.getXType()=="datefield"&&b.getValue()==""){THSite.misc.Utils.setCompoundFieldValue(a,b.dataIndex,null,b.embeddedValue)}else{THSite.misc.Utils.setCompoundFieldValue(a,b.dataIndex,b.getValue(),b.embeddedValue)}}return a},setDataObjectToForm:function(c,b,a){c=c.getForm();THSite.misc.Utils.objectToCollection(b).eachKey(function(d,e){var f=c.findField(d);if(f){THSite.misc.Utils.setFieldValue(f,e);if(a===true||(a!==false&&c.trackResetOnLoad)){THSite.misc.Utils.clearFieldDirty(f)}}})},setDataObjectToPanel:function(a,c,b){THSite.misc.Utils.objectToCollection(c).eachKey(function(d,e){var f=a.find("dataIndex",d)[0];if(f){THSite.misc.Utils.setFieldValue(f,e);if(b===true||(b!==false&&a.trackResetOnLoad)){THSite.misc.Utils.clearFieldDirty(f)}}})},setDataObjectToField:function(e,c,b){var a=THSite.misc.Utils.objectToCollection(c);var d=a.key(e.dataIndex);if(d!==undefined){THSite.misc.Utils.setFieldValue(e,d)}if(b){THSite.misc.Utils.clearFieldDirty(e)}},setFieldValue:function(b,a){if(a===null){a=""}return b.setValue(a)},getComboBoxSelectedData:function(a){var b=a.getValue();if(b===undefined){return null}return a.findRecord("id",b).data},clearFieldDirty:function(b,a){b.originalValue=a!==undefined?a:b.getValue()},clearEntityFormDirty:function(a){a.form.items.each(function(b){if((typeof b.dataIndex=="string"||b.nonPersistent)&&b.isDirty()){b.originalValue=b.getValue()}})},isEntityFormDirty:function(a){var b=false;a.form.items.each(function(c){if((typeof c.dataIndex=="string"||c.nonPersistent)&&c.isDirty()){b=true;return false}});return b},submitToBlank:function(c,f){var e=Ext.getDom(document.createElement("form"));var d="multipart/form-data";Ext.apply(e,{target:"_blank",method:"POST",enctype:d,encoding:d,action:c});for(var b in f){var a=document.createElement("input");a.type="hidden";a.value=f[a.name=b];e.appendChild(a)}document.body.appendChild(e);e.submit();Ext.removeNode(e)},objectToArray:function(d,c,a){var b,e=a||[];c=c||"";for(b in d){if(d[b] instanceof Object){THSite.misc.Utils.objectToArray(d[b],c+b+".",e)}else{e[c+b]=d[b]}}return e},objectToCollection:function(e,c,b){var a,d=b||new Ext.util.MixedCollection(false);c=c||"";for(a in e){if(typeof e[a]=="function"){continue}else{if(e[a] instanceof Date){d.add(c+a,new Date(e[a]))}else{if(e[a] instanceof Array){d.add(c+a,e[a])}else{if(e[a] instanceof Object){THSite.misc.Utils.objectToCollection(e[a],c+a+".",d)}else{d.add(c+a,e[a])}}}}}return d},setCompoundFieldValue:function(d,g,h,c){var b=g.split(".");var j=d;for(var e=0;e<b.length-1;e++){var a=b[e];if(c&&e==b.length-2&&(h===undefined||h===null||h==="")){j[a]=null;return}j[a]=j[a]||{};j=j[a]}function f(i){if(i==="true"){return true}if(i==="false"){return false}return i}j[b[b.length-1]]=f(h)},addProperty:function(e,b,a,c){var f=Ext.util.Format.capitalize(b);var d={};d[b]=a;c=c||"rw";if(c=="rw"||c=="r"){e["get"+f]=function(){return d[b]}}if(c=="rw"||c=="w"){e["set"+f]=function(g){d[b]=g}}},isTrueObject:function(a){return typeof a=="object"&&!(a instanceof Date)&&!(a instanceof Array)},mergeArrays:function(c,b){for(var a=0;a<b.length;a++){if(c.indexOf(b[a])==-1){c.push(b[a])}}},apply:function(a,d,c,b){if(a==undefined){return d}if(d==undefined){return a}c=c===undefined?true:c;for(var f in d){var e=d[f];if(typeof e=="function"){if(!a[f]||c){a[f]=e}}else{if(e instanceof Date){if(!a[f]||c){a[f]=e}}else{if(e instanceof Array){if(a[f] instanceof Array&&b){THSite.misc.Utils.mergeArrays(a[f],e)}else{if(!a[f]||c){a[f]=e}}}else{if(e instanceof Object){if(THSite.misc.Utils.isTrueObject(a[f])){THSite.misc.Utils.apply(a[f],e,c,b)}else{if(!a[f]||c){a[f]=e}}}else{if(!a[f]||c){a[f]=e}}}}}}return a},cloneObject:function(d){var c;if(typeof d=="function"){c=d}else{if(d instanceof Date){c=new Date(d)}else{if(d instanceof Array){c=[];for(var a=0;a<d.length;a++){c[a]=THSite.misc.Utils.cloneObject(d[a])}}else{if(d instanceof Object){c={};for(var b in d){c[b]=THSite.misc.Utils.cloneObject(d[b])}}else{c=d}}}}return c},deleteAll:function(b){for(var a in b){delete b[a]}return b},getErrorInfo:function(j,k){var c=[];if(j&&j!=""){c.push(j)}switch(k.errorCode){case"GENERIC":c.push(["Invalid or incomplete data has been provided for this entity. ","Please correct fields marked in red and re-save this entity."].join(""));break;case"DUPLICATE_ENTRY":c.push(["An entity with unique key(s) already exists in the database. The unique key is normally the name field. Please enter unique data and re-save this entity."].join(""));break;case"DATABASE_CONNECTION_FAILURE":c.push("DataAccessResourceFailureException is thrown.");break;case"PASSWORD_MISMATCH":c.push("Provided password doesn't match the user password.");break;case"UNKNOWN_USER":var b="Unknown user login name";if(k.args&&k.args.length>0){b+=" '"+k.args[0]+"'"}c.push(b);break;case"ENTITY_NOT_FOUND_IN_DATABASE":c.push("Required entity is not found in database.");break;case"BAD_PDF_SIZE":c.push(String.format(["The PDF dimensions ({0} x {1} pt) do not match the expected ","dimensions ({2} x {3} pt).<br/><br/>If you wish to crop or re-scale the uploaded image you must ","first save the PDF as a TIF file and then upload the TIF. Image cropping or re-scaling ","cannot be directly performed on a PDF file."].join(""),k.width,k.height,k.expectedWidth,k.expectedHeight));break;case"IMAGE_CONVERSION_PROBLEM":c.push("Can't resize or convert uploaded image to RGB.");break;case"IMAGE_IDENTIFICATION_PROBLEM":c.push("Can't read image or determine image properties (size for example).");break;case"FILE_IO_ERROR":c.push("IOException raised during uploaded resource processing.");break;case"PDF_WITHOUT_PAGES":c.push("Uploaded PDF file has no pages.");break;case"PDF_WITH_TOO_MANY_PAGES":c.push("Uploaded PDF file has more than one page.");break;case"BAD_IMAGE_COLORSPACE":c.push(String.format("Uploaded image has wrong colorspace:<br />Image colorspace: {0}, expected colorspace: {1}.",k.colorspace,k.expectedColorspace));break;case"UNSUPPORTED_FILE_EXTENSION":c.push("File extension '"+k.extension+"' is not supported by application.");break;case"FILE_NOT_FOUND":c.push("File not found on file system.");break;case"BAD_CMYK_COLOR":var h=[];Ext.each([[k.cyanIsBad,"cyan"],[k.magentaIsBad,"magenta"],[k.yellowIsBad,"yellow"],[k.blackIsBad,"black"]],function(e){if(e[0]){h.push(e[1])}},this);c.push(String.format("CMYK color has bad value for the following components: {0}.",h.join(", ")));break;case"UNSUPPORTED_CONTENT_TYPE":c.push(String.format('File content type "{0}" is not supported by application.',k.contentType));break;case"UNDETERMINED_CONTENT_TYPE":c.push("User uploaded file, but our application can't determine it's content type.");break;case"UNSUPPORTED_CONTENT_TYPE_EXTENSION_PAIR":c.push("User uploaded file, but we don't have such 'content type'-'extension' pair on the server. The file may have wrong extension.");break;case"UNEXPECTED_CONTENT_TYPE":c.push(String.format('Uploaded file has wrong content type:<br />File content type: "{0}", expected: "{1}".',k.contentType,k.expected));break;case"STALE_OBJECT_STATE_EXCEPTION":c.push("Object was updated or deleted by another transaction.");break;case"MARKET_NOT_SELECTED":c.push("Market is not selected in this session.");break;case"AP_NOT_SELECTED":c.push("AP is not selected in this session.");break;case"ENTITY_IS_NOT_MODIFIABLE":c.push("User can't modify entity.");break;case"IMAGE_TOO_SMALL":c.push(String.format("Image dimensions ({0} x {1} px) should be greater than minimal dimensions ({2} x {3} px).",k.width,k.height,k.minWidth,k.minHeight));break;case"CONSTRAINT_VIOLATION":c.push(String.format('Constraint violation. Constraint: "{0}". Constraint value: "{1}".<br />Supplied value: "{2}".',k.constraintName,k.constraintValue,k.value));break;case"LISTING_VALIDATION":var l=[];var a=k.problems.split(",");var m={SHORT_DESCRIPTION:"Short Description",INDUSTRY_CATEGORY:"Industry Category",PRODUCT_TYPE:"Product/Service Type",STREET_ADDRESS:"Street 1",CITY:"City",STATE:"State",ZIP:"Zip",PHONE_NUMBER:"Phone",OPERATING_HOURS:"Operating Hours",AVERAGE_PRICE_TYPE:"Average Price Type",EVENT_VENUE_NAME_IS_REQUIRED:"Venue Name",EVENT_PARENT_IS_REQUIRED:"Parent Listing",FULL_DESCRIPTION_IS_REQUIRED:"Full Description",MEMORY_STATEMENT:"Memory Statement"};if(a.length==1&&a[0]=="FULL_DESCRIPTION_IS_REQUIRED"){var g=["CANNOT SAVE THIS LISTING<br>You have designated that this Listing have ","Optional Spotlight Page, but you have not provided {0}. Please, provide a text for {0} field."];if(!k.fromPublicSite){g.push("<br><br>Do you want to save this Listing without Optional Spotlight Page ","(Optional Spotlight Page will be unchecked)?")}c.push(String.format(g.join(""),m[a[0]]))}else{for(var f=0;f<a.length;f++){l.push(String.format("&nbsp;&nbsp;&nbsp;&#9679;&nbsp; {0}",m[a[f]]))}var d=["CANNOT SAVE THIS LISTING<br>You have designated that this Listing is viewable, ","but you have not provided all of the minimum fields or text values or some fields violate its ","constraints necessary to allow this Listing to be viewed.","<br>Please, provide values for the following missing or incomplete fields:<br><br>{0}"];if(!k.fromPublicSite){d.push("<br><br>Do you want to save this Listing as non-viewable ",'(Include in "TRAVELHOST Recommends" and Optional Spotlight Page will be unchecked)?')}c.push(String.format(d.join(""),l.join("<br>")))}break;case"DELETE_PROBLEM":c.push("Can't delete entity, because it's linked with other entities.");break;case"PDF_GENERATION_PRESS_STATUS_ERROR":c.push("Attempt to generate PDF for press while proof-accepted PDF doesn't exist.");break;case"LISTING_MODIFICATION_PROHIBITED_DUE_TO_PUB_ISSUE_STATE":c.push(["While the current publication is in the final approval stages, no changes can be made ","to the listings.<br/>Please contact your local Associate Publisher to find out when they will be ","unlocked."].join(""));break;case"INVITATION_EXPIRED":c.push("Agenda invitation expired or not found in database.");break;case"INVALID_CAPTCHA":c.push("Invalid text from confirmation image.");break;case"MAIL":c.push("Problem occured while sending Email.");break;case"SECURITY_EXCEPTION":c.push("Security constraints violation.");break;case"INVALID_NAME_OR_EMAIL":c.push("Invalid user name or email.");break;case"INVALID_ACTIVATION_KEY":c.push("Invalid activation key.");break;case"AGENDA_DATE_NOT_CORRESPONDS_ITEMS_DATES":c.push("Cannot change dates if you have items within that date range.");break;case"SESSION_EXPIRED":c.push("For your safety and protection your session has been timed out due to inactivity.<br>By pressing OK you will be redirected to login page");break;case"SERVICE_ACCESS_DENIED":c.push(String.format('You do not have access to "{0}".<br/>Please contact your system administrator for assistance.',k.serviceDescription));break;case"UPLOADED_FILE_IS_EMPTY":c.push("Uploading of empty files is forbidden for this form.");break;case"SIZE_MODIFICATION_PROHIBITED_BECAUSE_ALREADY_IN_PI":c.push("Modification of this object size is prohibited, because it's already placed in publication issue.");break;default:if(k.errorCode&&k.errorCode.toString()!=""){c.push(String.format("Error code: {0}",k.errorCode))}if(k.msg&&k.msg.toString()!=""){c.push(String.format("Error: {0}",k.msg))}else{if(Ext.isArray(k)){c=c.concat(k)}}break}if(k.message&&k.message!="Error"&&k.message!=""){c.push(String.format("Error: {0}",k.message))}if(k.description&&k.description!=""&&k.description!=k.message){c.push(String.format("Description: {0}",k.description))}if(k.javaClassName){c.push(String.format("Java class: {0}",k.javaClassName))}return c},getErrorInfoFromResponse:function(b){var c=null;b=b.replace(/<\s*br\s*\/?>/gi,"\r\n");b=b.replace(/<\s*\/\s*p\s*>/gi,"\r\n");b=b.replace(/<[^>]*>/gi,"");if(b.length>200){b=b.substring(0,200)+"..."}c=b.split("\r\n");for(var a=c.length-1;a>=0;a--){if(c[a]==""){c.remove(c[a])}}return c},cleanFileName:function(b){for(var a=0;a<b.length;a++){var d=b.charAt(a);if("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-".indexOf(d)==-1){b=b.replace(d,"_")}}return b},validateFolderName:function(a){var c=[];if(a.length==0){c.push("Folder name cannot be blank.")}var b=THSite.misc.Utils.inspectString(a,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-");if(b!==""){c.push("Folder name cannot contain invalid characters: "+b)}return c},inspectString:function(b,d){var e="";var f;for(var a=0;a<b.length;a++){if(d.indexOf(f=b.charAt(a))==-1){e+=f}}return e},loginValidator:function(a){var c=[];if(a.length==0){c.push("Login cannot be blank.")}else{if(a.length<4||a.length>100){c.push("Login should contain 4 - 100 characters.")}var b=THSite.misc.Utils.inspectString(a,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-@.");if(b!=""){c.push('Login cannot contain: "'+b+'"')}}return c.length>0?c.join("<br>"):true},passwordValidator:function(a){var c=[];if(a.length==0){c.push("Password cannot be blank")}else{if(a.length<4){c.push("Password should contain 4 or more characters")}var b=THSite.misc.Utils.inspectString(a,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-");if(b!=""){c.push('Password cannot contain: "'+b+'"')}}return c.length>0?c.join("<br>"):true},passwordFieldsValidator:function(c,a,d){var b=THSite.misc.Utils.passwordValidator(c);if(b!==true){return b}if(a.getValue()!=d.getValue()){a.markInvalid("Passwords do not match");d.markInvalid("Passwords do not match");return"Passwords do not match"}a.clearInvalid();d.clearInvalid();return true},expandTreePath:function(i,h,f,d){var e=h.split(i.pathSeparator);e.pop();var c=i.root;var a=e[0]+i.pathSeparator;var b=0;if(i.root.attributes[f]!=a){if(d){d(false,null)}}else{var g=function(){if(++b==e.length){if(d){d(true,c)}}else{if(b<e.length){a+=e[b]+i.pathSeparator;var j=c.findChild(f,a);if(!j){if(d){d(false,c)}}else{c=j;c.expand(false,false,g)}}}};c.expand(false,false,g)}},selectTreePath:function(c,f,b,d){var e=f.split(c.pathSeparator);e.splice(-2,2);if(e.length>0){var a=function(h,g){if(h&&g){g=g.findChild(b,f);if(g){g.select();if(d){d(true,g)}}else{if(d){d(false,g)}}}else{if(d){d(false,g)}}};THSite.misc.Utils.expandTreePath(c,e.join(c.pathSeparator)+c.pathSeparator,b,a)}else{c.root.select();if(d){d(true,c.root)}}},selectAssetTreePath:function(b,g,d,a){d=d?d:b.root;a=a!=undefined?a:0;var f=g.split(".");var e=f[a];for(var c=0;c<d.childNodes.length;c++){if(d.childNodes[c].attributes.elementInfo.id==e){d=d.childNodes[c];break}}if(a<(f.length-1)){if(d){d.expand(false,false,function(){THSite.misc.Utils.selectAssetTreePath(b,g,d,++a)})}}else{d.select()}},cacheLookupNameById:function(a,c){for(var b=0;b<a.getCount();b++){if(a.getAt(b).get("id")==c){return a.getAt(b).get("name")}}return"-None-"},getBasePath:function(){var c="";var a=document.URL;var b=a.indexOf("/jsp");if(b>=0){c=a.substring(0,b)}else{b=a.indexOf("/ap/secure");if(b>=0){c=a.substring(0,b)}else{if(a.indexOf(".")==-1){c=a}}}return c},removeProperty:function(c,b){var a=c[b];delete c[b];return a},compareArrays:function(b,a){if(b.length!=a.length){return false}for(var c=0;c<b.length;c++){if(b[c]!==a[c]){return false}}return true},arrayHasDuplicates:function(d,b){if(d.length<2){return false}for(var c=0;c<d.length;c++){if(b&&!d[c]){continue}for(var a=c+1;a<d.length;a++){if(b&&!d[a]){continue}if(d[c]==d[a]){return true}}}return false},transform:function(d,c){var a=[];for(var b=0;b<d.length;b++){a.push(c(d[b]))}return a},setTextValue:function(a,b){a[typeof a.innerText=="string"?"innerText":"textContent"]=b},getTextValue:function(a){return typeof a.innerText=="string"?a.innerText:a.textContent},setFormFieldTooltip:function(b){var a;if(b.getXType()=="textfield"){a=Ext.get("x-form-el-"+b.id).child("input");Ext.QuickTips.register({target:a,text:b.tooltipText,dismissDelay:15000,title:""})}if(b.getXType()=="textarea"){a=Ext.get("x-form-el-"+b.id).child("textarea");Ext.QuickTips.register({target:a,text:b.tooltipText,dismissDelay:15000,title:""})}},getSupportedFileExtension:function(c){c=c.replace(/^\s+|\s+$/g,"");var a=new RegExp("([^/\\\\]+)\\.(pdf|doc|xls|zip|ppt|jpg|jpeg|png|gif|tiff|tif|eps|swf|mp3|wav|wmv)$","i");var b=c.match(a);return b?b[2].toLowerCase():null},override:function(a,b,c){c._super=a[b];a[b]=c},getOuterHtml:function(a){if(a.outerHTML){return a.outerHTML}else{var c=a.parentNode;var d=a.ownerDocument.createElement("div");var b;d.appendChild(a.cloneNode(true));b=d.innerHTML;return b}},registerLayout:function(a,b){Ext.Container.LAYOUTS[a.toLowerCase()]=b},cmykPercentToHex:function(b){if(b==""){return b}var a="";var e=new RegExp("c:\\s*(\\d+)\\s*m:\\s*(\\d+)\\s*y:\\s*(\\d+)\\s*k:\\s*(\\d+)","gi");var c=e.exec(b);for(var d=0;d<4;d++){var f=Number(c[d+1]).toString(16);a+=f.length<2?"0"+f:f}return a},cmykHexToPercent:function(a){var d=new RegExp("c:\\s*(\\d+)\\s*m:\\s*(\\d+)\\s*y:\\s*(\\d+)\\s*k:\\s*(\\d+)","gi");if(a==""||a.match(d)){return a}var b=[];for(var c=0;c<4;c++){var e=parseInt(a.substr(c*2,2),16);if(isNaN(e)){return undefined}b.push(["CMYK".substr(c,1),":",e].join(""))}return b.join(" ")},cmykHexToName:function(a){THSite.cache.loadPredefinedColors();var b=THSite.cache.getPredefinedColorsStore().findBy(function(c){return c.data.color==a});return b!=-1?THSite.cache.getPredefinedColorsStore().getAt(b).data.name:THSite.misc.Utils.cmykHexToPercent(a)},cmykHexToRGB:function(b){var f=parseInt(b.substring(0,2),16)/100;var h=parseInt(b.substring(2,4),16)/100;var e=parseInt(b.substring(4,6),16)/100;var a=parseInt(b.substring(6),16)/100;var d=Math.round((1-f)*(1-a)*255);var g=Math.round((1-e)*(1-a)*255);var c=Math.round((1-h)*(1-a)*255);return{r:d,g:c,b:g}},cmykHexToRGB2:function(a){var b=THSite.misc.Utils.cmykHexToRGB(a);return"rgb("+b.r+","+b.g+","+b.b+")"},filterFieldText:function(b,e,a){var d=THSite.misc.Utils.getFormField(b,e);var c=d.getValue();if(typeof c=="string"){d.setValue(a(c))}},filterToAscii:function(a){a=a.replace("\u2019","'");a=a.replace("\u2018","'");a=a.replace("\u201c",'"');a=a.replace("\u201d",'"');a=a.replace("\u2013"," - ");a=a.replace("\u2014"," - ");a=a.replace("\xa8",'"');a=a.replace("\xe8","e");a=a.replace("\xe9","e");a=a.replace("\xea","e");a=a.replace(/[^!-~\s]/g,"");return a},setupMarkInvalidFieldAdvice:function(c,d,b){if(c){var a=b[0];function e(f,i,h){var g=f[0];if(h.fieldLabel||h.name){a[h.fieldLabel||h.name]=g}else{a._unnamed.push(g)}return f}if(d.xtype!="hidden"&&typeof d.markInvalid=="function"){THSite.misc.Ajaxpect.addBefore(d,"markInvalid",e)}}else{THSite.misc.Ajaxpect.restore(d,"markInvalid")}},weaveFormFieldsAdvice:function(e,b,d){function c(g){function f(h){if(h.isFormField){b(g,h,d)}}if(e.rendered){e=e.getForm();if(e.items){e.items.each(f,THSite.misc.Utils)}}else{if(e.items){e.cascade(f,THSite.misc.Utils)}}}var a={weave:function(){c(true)},restore:function(){c(false)}};a.weave();return a},updateHeaderStyle:function(d,c){var b=c.ownerCt.getTabEl(c);if(b){var a=Ext.fly(b).child("span.x-tab-strip-text");if(d){a.removeClass("tab-header-invalid")}else{a.addClass("tab-header-invalid")}}},onWizardNavigate:function(d,g,c,f){var e=g.getLayout();var h=e.activeItem.id;var b=g.items.getCount();var a=g.items.indexOfKey(h);if(b<2){return}if(d){c.enable();if(a>=b-2){f.disable()}if(a<b-1){e.setActiveItem(a+1)}}else{f.enable();if(a<=1){c.disable()}if(a>0){e.setActiveItem(a-1)}}},isCookieEnabled:function(){document.cookie="testcookie";return document.cookie.indexOf("testcookie")!=-1},dateStringRenderer:function(a,b){return function(c){return THSite.misc.Utils.reformatDate(c,a,b)}},reformatDate:function(b,a,c){return Ext.util.Format.date(Date.parseDate(b,a),c)},hasAccessRight:function(e,d){var a=false;for(var c=0;!a&&c<e.length;c++){for(var b=0;!a&&b<d.length;b++){a=d[b]==e[c]}}return a}};