﻿var CmbPerspectives;var CmbCountries;var CmbProvinces;var BtnOk;var BtnClear;var LastSelectedCountry=null;var comboWidth;var OpeningCombo;var IgnoreExtJsQtip;var CustomOnLoad;var RequiredFields;var ImagesPath;var NumberValidationRegExp=new RegExp("","g");NumberValidationRegExp.compile("[\\u0020,(,),-]","g");IgnoreExtJsQtip=true;comboWidth=183;if(Ext.isIE7){comboWidth++;}Ext.override(Ext.form.ComboBox,{restrictHeight:function(){var wrapperOffsets;var listOffsets;this.innerList.dom.style.height="";if(this.innerList.dom.childNodes[0]&&(typeof(this.initialConfig.notLimitShownItems)==="undefined"|| !this.initialConfig.notLimitShownItems)){this.maxHeight=this.innerList.dom.childNodes[0].offsetHeight*MAXSHOWNCOMBOITEMSCOUNT;}var b=this.innerList.dom;var e=this.list.getFrameWidth("tb")+(this.resizable?this.handleHeight:0)+this.assetHeight;var c=Math.max(b.clientHeight,b.offsetHeight,b.scrollHeight);var a=this.getPosition()[1]-Ext.getBody().getScroll().top;var g=Ext.lib.Dom.getViewHeight()-a-this.getSize().height;var d=Math.max(a,g,this.minHeight||0)-this.list.shadowOffset-e-5;c=Math.min(c,d,this.maxHeight);this.innerList.setHeight(c);this.list.beginUpdate();this.list.setHeight(c+e);this.list.alignTo(this.wrap,this.listAlign);if(IsIE6){wrapperOffsets=GetElementOffset(this.wrap.dom);listOffsets=GetElementOffset(this.list.dom);if(wrapperOffsets.top<listOffsets.top){this.list.setTop(this.list.getTop()-4);}}this.innerList.setWidth(this.wrap.getWidth()-3);this.list.setWidth(this.wrap.getWidth()-1);this.list.endUpdate();},expand:function(){var delta;var text;var encText;var el;var width;if(this.isExpanded()|| !this.hasFocus){return;}OpeningCombo=true;delta=[0,-1];this.restrictHeight();this.list.alignTo(this.wrap,this.listAlign,delta);this.list.show();this.trigger.addClass("x-form-trigger-expanded");if(!Ext.isIE){for(var i=0;i<this.innerList.dom.childNodes.length;i++){el=this.innerList.dom.childNodes[i];encText=this.store.getAt(i).data[this.displayField];text=HtmlEncoder.Decode(encText);width=el.clientWidth-2;HtmlEllipsis(el,text,width);}}for(var i=0;i<this.innerList.dom.childNodes.length;i++){el=this.innerList.dom.childNodes[i];el.title=this.store.getAt(i).data[this.displayField];}Ext.getDoc().on("mousewheel",this.collapseIf,this);Ext.getDoc().on("mousedown",this.collapseIf,this);this.fireEvent("expand",this);window.setTimeout((function(){OpeningCombo=false;}),200);},initEvents:function(){Ext.form.ComboBox.superclass.initEvents.call(this);this.keyNav=new Ext.KeyNav(this.el,{"up":function(A){this.inKeyMode=true;this.selectPrev();},"down":function(A){if(!this.isExpanded()){if(this.skipKeyExpand){return true;}else{this.onTriggerClick()}}else{this.inKeyMode=true;this.selectNext();}},"enter":function(A){this.onViewClick();},"esc":function(A){this.collapse();},"tab":function(A){this.onViewClick(false);return true;},scope:this,doRelay:function(C,B,A){if(A=="down"||this.scope.isExpanded()){return Ext.KeyNav.prototype.doRelay.apply(this,arguments);}return true;},forceKeyDown:true});this.queryDelay=Math.max(this.queryDelay||10,this.mode=="local"?10:250);this.dqTask=new Ext.util.DelayedTask(this.initQuery,this);if(this.typeAhead){this.taTask=new Ext.util.DelayedTask(this.onTypeAhead,this)}this.el.on("keyup",(this.editable!==false)?this.onKeyUp:this.onNoneditableKeyUp,this);if(this.forceSelection){this.on("blur",this.doForce,this)}},onNoneditableKeyUp:function(e){var ch;var record;try{if(this.store.getCount()>0){ch=String.fromCharCode(e.getCharCode());for(var i=this.selectedIndex+1;i<this.store.data.length;i++){record=this.store.getAt(i);if(((record.data[this.displayField]+"").length>0)&&((record.data[this.displayField]+"").toUpperCase().charAt(0)==(ch+"").charAt(0))){this.select(i);return;}}for(var i=0;i<this.selectedIndex+1;i++){record=this.store.getAt(i);if(((record.data[this.displayField]+"").length>0)&&((record.data[this.displayField]+"").toUpperCase().charAt(0)==(ch+"").charAt(0))){this.select(i);return;}}}}catch(ex){}}});function InitSelfRegister(){var perspectives;var countries;var value;var btnOkImage;var btnOkOverImage;var btnClearImage;var btnClearOverImage;if(typeof IntCompanyNameId=="undefined"){RequiredFields=[IntUserNameId,IntFirstNameId,IntLastNameId,IntStreet1Id,IntCityId,IntPostalCodeId,IntPhoneAreaId,IntPhoneNumberId,IntPhoneExtensionId,IntProvinceId,IntCountryId,IntCaptchaId];ImagesPath="Images/PublicSite/UI/";Ext.BLANK_IMAGE_URL="Extjs/Resources/Images/default/s.gif";IntPerspectiveId=null;IntCompanyNameId=null;}else if(typeof IntPerspectiveId=="undefined"){RequiredFields=[IntUserNameId,IntFirstNameId,IntLastNameId,IntCompanyNameId,IntCaptchaId];ImagesPath="../Images/PublicSite/UI/";Ext.BLANK_IMAGE_URL="../Extjs/Resources/Images/default/s.gif";IntPerspectiveId=null;IntStreet1Id=null;IntCityId=null;IntPostalCodeId=null;IntMobileAreaId=null;IntMobileNumberId=null;IntMobileExtensionId=null;}else{RequiredFields=[IntPerspectiveId,IntUserNameId,IntFirstNameId,IntLastNameId,IntCompanyNameId,IntStreet1Id,IntCityId,IntPostalCodeId,IntPhoneAreaId,IntPhoneNumberId,IntPhoneExtensionId,IntProvinceId,IntCountryId,IntCaptchaId];ImagesPath="Images/PublicSite/UI/";Ext.BLANK_IMAGE_URL="Extjs/Resources/Images/default/s.gif";if(document.getElementById(IntPerspectiveId)){perspectives=[];for(var i=0;i<PerspectivesArray.length;i++){perspectives[i]=[PerspectivesArray[i].Key,PerspectivesArray[i].Value];}CmbPerspectives=new Ext.form.ComboBox({valueField:"Key",displayField:"Value",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"",selectOnFocus:true,applyTo:IntPerspectiveId,editable:false,width:comboWidth,cls:"SelfRegisterCombo",ctCls:(typeof(IsSelfRegister)!="undefined")&&IsSelfRegister?"SelfRegisterComboContainer":"RegisterComboContainer",store:new Ext.data.SimpleStore({fields:["Key","Value"],data:perspectives})});}}if(document.getElementById(IntCountryId)){countries=[];for(var i=0;i<CountriesArray.length;i++){countries[i]=[CountriesArray[i].Id,CountriesArray[i].Description];}CmbCountries=new Ext.form.ComboBox({valueField:"Key",displayField:"Value",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"",selectOnFocus:true,applyTo:IntCountryId,editable:false,width:comboWidth,cls:"SelfRegisterCombo",ctCls:(typeof(IsSelfRegister)!="undefined")&&IsSelfRegister?"SelfRegisterComboContainer":"RegisterComboContainer",store:new Ext.data.SimpleStore({fields:["Key","Value"],data:countries})});CmbCountries.on("select",OnCountrySelected);CmbProvinces=new Ext.form.ComboBox({valueField:"Key",displayField:"Value",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"",selectOnFocus:true,applyTo:IntProvinceId,editable:false,width:comboWidth,cls:"SelfRegisterCombo",ctCls:(typeof(IsSelfRegister)!="undefined")&&IsSelfRegister?"SelfRegisterComboContainer":"RegisterComboContainer",store:new Ext.data.SimpleStore({fields:["Key","Value"],data:[]})});BtnOk=Ext.get(ImbOkId);if((typeof(IsEventRegister)!="undefined")&&IsEventRegister){btnOkImage="button-register.gif";btnOkOverImage="button-register-over.gif";btnClearImage="button-clear.gif";btnClearOverImage="button-clear-over.gif";}else if((typeof(IsSelfRegister)!="undefined")&&IsSelfRegister){btnOkImage="button-self-register.gif";btnOkOverImage="button-self-register-over.gif";btnClearImage="button-self-register-clear.gif";btnClearOverImage="button-self-register-clear-over.gif";}else{btnOkImage="button-signup.gif";btnOkOverImage="button-signup-over.gif";btnClearImage="button-clear.gif";btnClearOverImage="button-clear-over.gif";}if(BtnOk){BtnOk.addClassOnOver("button-ok-hover");BtnOk.on("mouseover",function(){this.dom.src=ImagesPath+btnOkOverImage});BtnOk.on("mouseout",function(){this.dom.src=ImagesPath+btnOkImage});document.getElementById(ImbOkId).onclick=Validate;}BtnClear=Ext.get("ImbClear");if(BtnClear){BtnClear.addClassOnOver("ButtonClearHover");BtnClear.on("mouseover",function(){this.dom.src=ImagesPath+btnClearOverImage});BtnClear.on("mouseout",function(){this.dom.src=ImagesPath+btnClearImage});BtnClear.on("click",OnClearClick);}InitInputsValidation();if(CmbPerspectives){value=document.getElementById(HdnPerspectiveValueId).value;CmbPerspectives.setValue(value?value:perspectives[0][0]);}value=document.getElementById(HdnCountryIdId).value;CmbCountries.setValue(value?value:2);OnCountrySelected();value=document.getElementById(HdnProvinceIdId).value;if(value){CmbProvinces.setValue(value);}document.body.onresize=OnWindowResize;document.getElementById(IntCompanyNameId||IntUserNameId).focus();}};function OnWindowResize(){if(OpeningCombo){return;}CmbCountries.collapse();CmbProvinces.collapse();if(CmbPerspectives){CmbPerspectives.collapse();}};function OnCountrySelected(){var country;var provinces;var store;var disabled;country=CmbCountries.getValue();if(LastSelectedCountry!=country){provinces=[];for(var i=0;i<ProvincesArray.length;i++){if((ProvincesArray[i].Value.length>0)&&(ProvincesArray[i].Key==country)){for(var j=0;j<ProvincesArray[i].Value.length;j++){provinces[j]=[ProvincesArray[i].Value[j].Id,ProvincesArray[i].Value[j].Description];}}}store=new Ext.data.SimpleStore({fields:["Key","Value"],data:provinces});CmbProvinces.bindStore(store);CmbProvinces.render();if(provinces.length>1){CmbProvinces.clearValue();}else{CmbProvinces.setValue(provinces[0][0]);}LastSelectedCountry=country;disabled=(LastSelectedCountry!=COUNTRIES.CANADA)&&(LastSelectedCountry!=COUNTRIES.UNITEDSTATES);CmbProvinces.setDisabled(disabled);if(disabled){ToggleFieldValidity(Ext.get(IntProvinceId).dom,true,"");}}};function Validate(){var isValid;isValid=true;isValid=ValidateUserName(document.getElementById(IntUserNameId),true)&&isValid;isValid=ValidateInput(IntFirstNameId)&&isValid;isValid=ValidateInput(IntLastNameId)&&isValid;if(IntCompanyNameId){isValid=ValidateInput(IntCompanyNameId)&&isValid;}isValid=ValidateInput(IntStreet1Id)&&isValid;isValid=ValidateInput(IntCityId)&&isValid;isValid=ValidateInput(IntPostalCodeId)&&isValid;isValid=ValidateInput(IntPhoneAreaId)&&isValid;isValid=ValidateInput(IntPhoneNumberId)&&isValid;isValid=ValidateInput(IntPhoneExtensionId)&&isValid;isValid=ValidateInput(IntMobileAreaId)&&isValid;isValid=ValidateInput(IntMobileNumberId)&&isValid;isValid=ValidateInput(IntCaptchaId)&&isValid;isValid=ValidateInput(IntProvinceId)&&isValid;isValid=ValidateInput(IntCountryId)&&isValid;isValid=ValidateInput(IntPerspectiveId)&&isValid;if(isValid){if(CmbPerspectives){document.getElementById(HdnPerspectiveValueId).value=CmbPerspectives.getValue();}document.getElementById(HdnProvinceIdId).value=CmbProvinces.getValue();document.getElementById(HdnProvinceNameId).value=CmbProvinces.getRawValue();document.getElementById(HdnCountryIdId).value=CmbCountries.getValue();document.getElementById(HdnCountryNameId).value=CmbProvinces.getRawValue();}else{alert(TITLES.INVALIDFIELDS);}return isValid;};function InitInputsValidation(){document.getElementById(IntUserNameId).onblur=function(){ValidateUserName(document.getElementById(IntUserNameId),true);};document.getElementById(IntFirstNameId).onblur=function(){ValidateInput(IntFirstNameId);};document.getElementById(IntLastNameId).onblur=function(){ValidateInput(IntLastNameId);};document.getElementById(IntPhoneAreaId).onblur=function(){ValidateInput(IntPhoneAreaId);};document.getElementById(IntPhoneNumberId).onblur=function(){ValidateInput(IntPhoneNumberId);};document.getElementById(IntPhoneExtensionId).onblur=function(){ValidateInput(IntPhoneExtensionId);};document.getElementById(IntCaptchaId).onblur=function(){ValidateInput(IntCaptchaId);};if(IntCompanyNameId!==null){document.getElementById(IntCompanyNameId).onblur=function(){ValidateInput(IntCompanyNameId);};}if(IntStreet1Id!==null){document.getElementById(IntStreet1Id).onblur=function(){ValidateInput(IntStreet1Id);};document.getElementById(IntCityId).onblur=function(){ValidateInput(IntCityId);};document.getElementById(IntPostalCodeId).onblur=function(){ValidateInput(IntPostalCodeId);};document.getElementById(IntMobileAreaId).onblur=function(){ValidateInput(IntMobileAreaId);};document.getElementById(IntMobileNumberId).onblur=function(){ValidateInput(IntMobileNumberId);}}if(IntPerspectiveId!==null){CmbPerspectives.on("change",function(){ValidateInput(IntPerspectiveId);});CmbPerspectives.on("blur",function(){ValidateInput(IntPerspectiveId);});CmbPerspectives.on("collapse",function(){ValidateInput(IntPerspectiveId);});}CmbCountries.on("change",function(){ValidateInput(IntCountryId);});CmbCountries.on("blur",function(){ValidateInput(IntCountryId);});CmbCountries.on("collapse",function(){ValidateInput(IntCountryId);});CmbProvinces.on("change",function(){ValidateInput(IntProvinceId);});CmbProvinces.on("blur",function(){ValidateInput(IntProvinceId);});CmbProvinces.on("collapse",function(){ValidateInput(IntProvinceId);});};function ValidateField(field){var isValid;var title;var areaField;var phoneField;var extensionField;if((typeof field==="undefined")||(field===null)){return true;}if((RequiredFields.indexOf(field.id)<0)&&field.value.trim().length==0){ToggleFieldValidity(field,true,"");}switch(field.id){case IntUserNameId:isValid=USERNAMEREGEX.test(field.value);title=isValid?"":TITLES.USERNAMEFIELD;break;case IntFirstNameId:case IntLastNameId:isValid=field.value.trim().length>1;title=isValid?"":TITLES.FIELDCANNOTBELESS2;if(isValid){isValid=PERSONNAMEREGEX.test(field.value);title=isValid?"":TITLES.FIELDRESTRICTEDSYMBOLSDETECTED;}break;case IntCompanyNameId:isValid=field.value.trim().length>1;title=isValid?"":TITLES.FIELDCANNOTBELESS2;break;case IntStreet1Id:case IntCityId:case IntProvinceId:case IntCaptchaId:if(field.id==IntProvinceId&&((typeof(IsEventRegister)!="undefined"&&IsEventRegister)||(typeof(field.disabled)=="boolean"?field.disabled:false))){return true;}else{isValid=field.value.trim().length>0;title=isValid?"":TITLES.FIELDCANNOTBEEMPTY;}break;case IntPostalCodeId:isValid=field.value.trim().length>0;if(isValid){isValid=field.value.trim().length<=10;title=isValid?"":TITLES.FIELDSHOUDBELESSTHAN.replace("{0}","10");}else{title=TITLES.FIELDCANNOTBEEMPTY;}break;case IntPhoneAreaId:case IntPhoneNumberId:case IntPhoneExtensionId:areaField=document.getElementById(IntPhoneAreaId);phoneField=document.getElementById(IntPhoneNumberId);extensionField=document.getElementById(IntPhoneExtensionId);return ValidatePhone(areaField,phoneField,extensionField,RequiredFields.indexOf(field.id)>=0);case IntMobileAreaId:case IntMobileNumberId:areaField=document.getElementById(IntMobileAreaId);phoneField=document.getElementById(IntMobileNumberId);return ValidatePhone(areaField,phoneField,null,areaField.value.length!=0||phoneField.value.length!=0);default:isValid=true;break;}ToggleFieldValidity(field,isValid,title);return isValid;};function ValidateInput(id){return ValidateField(document.getElementById(id));};ValidatePhone=function(areaField,phoneField,extensionField,required){var isAreaValid;var isPhoneValid;var isExtensionValid;var areaTitle;var phoneTitle;var extensionTitle;var phoneValue;phoneTitle="";areaTitle="";extensionTitle="";isAreaValid=false;isPhoneValid=false;isExtensionValid=false;areaField.value=areaField.value.replace(NumberValidationRegExp,"");phoneField.value=phoneField.value.replace(NumberValidationRegExp,"");if(extensionField){extensionField.value=extensionField.value.replace(NumberValidationRegExp,"");}if(phoneField.value.length==7){isPhoneValid=NUMBERREGEXP.test(phoneField.value);phoneTitle= !isPhoneValid?TITLES.PHONEFIELD:"";isAreaValid=areaField.value.length==3?NUMBERREGEXP.test(areaField.value):false;areaTitle=isAreaValid?"":TITLES.AREAFIELDCANTBEEMPTY;}else if(phoneField.value.length>7&&phoneField.value.length<=15){isPhoneValid=NUMBERREGEXP.test(phoneField.value);phoneTitle= !isPhoneValid?TITLES.PHONEFIELD:"";isAreaValid=areaField.value.length==0;areaTitle= !isAreaValid?TITLES.AREAFIELDSHOULDBEEMPTY:"";}else if(phoneField.value.length>15){isPhoneValid=false;phoneTitle=TITLES.PHONEFIELD;}else if(required){isPhoneValid=false;phoneTitle=TITLES.PHONEFIELD;isAreaValid=areaField.value.length==3?NUMBERREGEXP.test(areaField.value):false;areaTitle=isAreaValid?"":TITLES.AREAFIELDCANTBEEMPTY;}else{isPhoneValid=phoneField.value.length==0;phoneTitle=isPhoneValid?"":TITLES.PHONEFIELD;isAreaValid=areaField.value.length==0;areaTitle=isAreaValid?"":TITLES.AREAFIELDSHOULDBEEMPTY;}if(extensionField&&extensionField.value.length>0){isExtensionValid=NUMBERREGEXP.test(extensionField.value);isExtensionValid=isExtensionValid&&extensionField.value.length<=5?true:false;if(!isExtensionValid){extensionTitle=TITLES.EXTENSIONFIELD}if(isPhoneValid&&phoneField.value.length==0){isPhoneValid=false;phoneTitle=TITLES.PHONEFIELD}}else{isExtensionValid=true;}ToggleFieldValidity(areaField,isAreaValid,areaTitle);ToggleFieldValidity(phoneField,isPhoneValid,phoneTitle);if(extensionField){ToggleFieldValidity(extensionField,isExtensionValid,extensionTitle);}return isPhoneValid&&isAreaValid;};function ToggleFieldValidity(field,isValid,title){var parentNode;if(isValid){field.className=field.className.replace(/NotValid/g,"").trim();InvalidFieldMark.Clear(field.parentNode);if(field.id==IntProvinceId){Ext.fly(field.parentNode).removeClass("DivRelative");}}else{if(field.className.indexOf("NotValid")<0){field.className+=" NotValid";}InvalidFieldMark.Set(field.parentNode);if(field.id==IntProvinceId){parentNode=Ext.get(field.parentNode);parentNode.addClass("DivRelative");parentNode.query("div.InvalidFieldMark")[0].style.right="28px";}}InvalidFieldMark.SetTitle(field.parentNode,title);SetElementQTip(field,title);};function OnClearClick(){Ext.get(IntUserNameId).dom.value="";Ext.get(IntUserNameId).removeClass("NotValid");Ext.get(IntFirstNameId).dom.value="";Ext.get(IntFirstNameId).removeClass("NotValid");Ext.get(IntLastNameId).dom.value="";Ext.get(IntLastNameId).removeClass("NotValid");Ext.get(IntTitleId).dom.value="";Ext.get(IntTitleId).removeClass("NotValid");Ext.get(IntPhoneAreaId).dom.value="";Ext.get(IntPhoneAreaId).removeClass("NotValid");Ext.get(IntPhoneNumberId).dom.value="";Ext.get(IntPhoneNumberId).removeClass("NotValid");Ext.get(IntPhoneExtensionId).dom.value="";Ext.get(IntPhoneExtensionId).removeClass("NotValid");Ext.get(IntCaptchaId).dom.value="";Ext.get(IntCaptchaId).removeClass("NotValid");if(IntCompanyNameId){Ext.get(IntCompanyNameId).dom.value="";Ext.get(IntCompanyNameId).removeClass("NotValid");}if(CmbPerspectives){Ext.get(IntStreet1Id).dom.value="";Ext.get(IntStreet1Id).removeClass("NotValid");Ext.get(IntStreet2Id).dom.value="";Ext.get(IntStreet2Id).removeClass("NotValid");Ext.get(IntCityId).dom.value="";Ext.get(IntCityId).removeClass("NotValid");Ext.get(IntDepartmentId).dom.value="";Ext.get(IntDepartmentId).removeClass("NotValid");Ext.get(IntPostalCodeId).dom.value="";Ext.get(IntPostalCodeId).removeClass("NotValid");Ext.get(IntMobileAreaId).dom.value="";Ext.get(IntMobileAreaId).removeClass("NotValid");Ext.get(IntMobileNumberId).dom.value="";Ext.get(IntMobileNumberId).removeClass("NotValid");CmbPerspectives.setValue(CmbPerspectives.store.data.items[0].data.Key);}if((typeof CmbCountries!=="undefined")&&CmbCountries){CmbCountries.setValue(2);OnCountrySelected();}if(Ext.get(TblErrorId)){Ext.get(TblErrorId).dom.style.display="none";}return true;};CustomOnLoad=InitSelfRegister;