Function.prototype.extend=function(a){for(var b in a){if(a.hasOwnProperty(b)){this.prototype[b]=a[b]}}};Function.extend({inheritFrom:function(d,c){var b=function(){};b.prototype=d.prototype;this.prototype=new b();this.prototype.constructor=this;this.baseConstructor=d;this.superClass=d.prototype;if(c){for(var a in c){this.prototype[a]=c[a]}}}});Number.extend({between:function(b,a){return !!(this.valueOf()>=Math.min(b,a)&&this.valueOf()<=Math.max(b,a))},nice:function(h){var e=/^(\d+)([\.,](\d+))?$/;var b=Number(this);var j=String(b);var i;var c="";var d="&nbsp;";if((i=j.match(e))){var m=i[1];var g=i[3]?Number("0."+i[3]):0;if(g){var a=Math.pow(10,h?h:2);g=Math.round(g*a);c=g?","+g:""}if(Number(m)<10000){return m+c}else{var f="";var k;for(k=1;k*3<m.length;k++){f=d+m.substring(m.length-k*3,m.length-(k-1)*3)+f}return m.substr(0,3-k*3+m.length)+f+c}}else{return j}}});Array.extend({foreach:function(b){for(var c=0,d=this.length;c<d;c++){var a=b(this[c],c);if(a===false){break}}},contains:function(a){return $.inArray(a,this)>-1},remove:function(b){var a=this;this.foreach(function(c,d){if(c===b){a.splice(d,1);return false}})}});function Observable(){this.aObservers=[]}Observable.prototype={attachObserver:function(b,a){if(!(a instanceof Object)){return}if(!this.aObservers[b]){this.aObservers[b]=[]}this.aObservers[b].push(a)},detachObserver:function(b,a){if(this.aObservers[b]&&this.aObservers[b].contains(a)){this.aObservers[b].remove(a)}},notify:function(a){if(!this.aObservers[a]){return}this.aObservers[a].foreach(function(b){if(b instanceof Function){b(a,this)}else{if(b.update instanceof Function){b.update(a,this)}}})},clearObservers:function(){this.aObservers=[]}};var Hitek={msieVersion:$.browser.msie?parseInt(navigator.appVersion.match(/msie (\d+)/i)[1]):0,POPUP_DIMENSIONS:{width:600,height:600},init:function(){this.jGlobal=$("#outer");this.jMeasurer=$("#measurer");if($.browser.msie){if(this.msieVersion<=6){this.globalWidth()}this.pngFix();this.marginFix()}this.initReflow();this.initLoginForm();this.initContainers();this.initFooter();this.initPopups();this.initKeyboardNavigation();this.attachEvents()},globalWidth:function(){var b=this,a=this.jGlobal.css("min-width");if(this.jGlobal.css("width")=="auto"){$(window).resize(function(){if(b.jMeasurer[0].offsetWidth<a){b.jGlobal[0].style.width=a+"px"}else{b.jGlobal[0].style.width="100%"}})}},pngFix:function(b){var c=this,a=b?b.find("img.png"):$("img.png");a.each(function(){var d=$(this);if((c.msieVersion<=6&&!d.is(".fixed"))||d.is(".fixme")){var e=d.is(".scale")?"scale":"crop";this.style.filter+='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+this.src+'", sizingMethod="'+e+'")';this.src="/f/1/global/e.gif"}})},marginFix:function(){$("h2, h3, h4").each(function(){if(!this.previousSibling||(this.previousSibling&&this.previousSibling.nodeName.match(/^H[1-4]$/))){this.style.marginTop="0"}})},initReflow:function(){this.oReflow=new Reflow()},initLoginForm:function(){this.oLoginForm=new LoginForm()},initContainers:function(){$(".container_link").click(function(c){var b=this.id.match(/for_(\w+)/)[1],a=$("#"+b);if(a.size()){if(a.is(".hidden")){$(this).addClass("open");a.removeClass("hidden")}else{$(this).removeClass("open");a.addClass("hidden")}}c.preventDefault();return false})},initFooter:function(){var a=this;this.oFooter={jPtr:$("#footer"),bState:false};this.oReflow.attachObserver("layoutChange",function(){a.footerRefresh()})},footerRefresh:function(){if(this.oFooter.bState){this.oFooter.jPtr.removeClass("refresh")}else{this.oFooter.jPtr.addClass("refresh")}this.oFooter.bState=!this.oFooter.bState},initPopups:function(){var a=this;$("a.popup").each(function(){var b=this,c={};["width","height"].foreach(function(e){var d=b.className.match(new RegExp(e+"_(\d+)"));c[e]=d?d[1]:null});$(this).click(function(d){d.preventDefault();a.popup(this.href,c.width,c.height);return false})})},popup:function(b,d,e){var c=d||this.POPUP_DIMENSIONS.width,a=e||this.POPUP_DIMENSIONS.height;window.open(b,"",["width="+c,"height="+a,"left="+(screen.availWidth-c)/2,"top="+(screen.availHeight-a)/2,"menubar=no","toolbar=no","resizable=yes","scrollbars=yes","status=yes"].join(","))},initKeyboardNavigation:function(){var a=this;this.oKeyboardLinks={home:$("#HomeLink").attr("href"),parent:$("#ParentLink").attr("href")};$(document).keydown(function(b){a.keyboardNavigate(b)})},attachEvents:function(){var a=this;$(window).load(function(){a.preloadImages()})},cssLength:function(b){var a=b.match(/^(\+|\-)?(\d+\.?\d*)(px|em|%|pt)$/);return{iValue:(a?+((a[1]||"")+a[2]):0),iUnits:(a?a[3]:"px")}},cssUrl:function(a){return a.match(/url\((.+)\)/)[1]},pixelToEm:function(a){return a/this.oReflow.iFontSize},pixelToNormalEm:function(a){return a/this.oReflow.NORMAL_FONT_SIZE},getMouseCoords:function(a){return{abs:this.getAbsMouseCoords(a)||null,rel:this.getRelMouseCoords(a)||null}},getAbsMouseCoords:function(a){if($.browser.msie){return{x:a.pageX,y:a.pageY}}else{return{x:a.pageX,y:a.pageY}}},getRelMouseCoords:function(a){if(a.offsetX!==undefined&&a.offsetY!==undefined){return{x:a.offsetX,y:a.offsetY}}else{var b=$(a.target).offset();return{x:a.pageX-b.left,y:a.pageY-b.top}}},tween:function(c,a){for(var b in this.props){if(this.props.hasOwnProperty(b)){var d=this.props[b].s+(this.props[b].f-this.props[b].s)*this.position;if(a){a(b,d)}else{c.style[b]=Math.round(d)+"px"}}}},keyboardNavigate:function(a){if(a.ctrlKey){var b=null;switch(a.keyCode){case 36:b=this.oKeyboardLinks.home;break;case 38:b=this.oKeyboardLinks.parent;break}if(b){document.location=b}}},addAjaxUrl:function(b,a){if(!this.oAjaxUrls){this.oAjaxUrls={}}this.oAjaxUrls[b]=a},getAjaxUrl:function(a){return this.oAjaxUrls?this.oAjaxUrls[a]:null},addPreload:function(a){if(this.aPreloadImages){this.aPreloadImages.push(a)}else{this.aPreloadImages=[a]}},preloadImages:function(){if(this.aPreloadImages){var a=this;fEmpty=function(){},this.aPreloadImages.foreach(function(b,c){var d=document.createElement("img");d.src=b;d.onload=fEmpty;a.aPreloadImages[c]=d});$(window).unload(function(){a.aPreloadImages.foreach(function(b){a.purge(b)})})}},purge:function(a){if(a instanceof Array){a.foreach(function(b){this.purgeElement(b)})}else{this.purgeElement(a)}},purgeElement:function(c){var a=c.attributes,d;if(a){for(d=0,l=a.lengthl;d<l;d+=1){var b=a[d].name;if(typeof c[b]==="function"){c[b]=null}}}a=c.childNodes;if(a){for(d=0,l=a.length;d<l;d++){purge(c.childNodes[d])}}},each:function(a,c,b){b=b||[];a.foreach(function(e,d){b.unshift(d);return c.apply(e,b)})}};$(document).ready(function(){Hitek.init()});Reflow=function(){this.constructor.baseConstructor.call(this);this.domInit();this.startValuesInit();this.initHandlers();this.attachEvents()};Reflow.inheritFrom(Observable,{EVENTS:{reflow:1,windowResize:1,fontChange:1,layoutChange:1},NORMAL_FONT_SIZE:16,QUERY_INTERVAL:200,domInit:function(){this.eMeasurer=Hitek.jMeasurer[0];this.eGlobal=Hitek.jGlobal[0]},startValuesInit:function(){this.iFontSize=this.eMeasurer.offsetHeight;this.iLayoutHeight=this.eGlobal.offsetHeight},attachEvents:function(){this.attachResize();this.attachFontChange();this.attachLayoutChange()},attachResize:function(){var a=this;$(window).resize(function(){a.onWindowResize();a.onReflow()})},attachFontChange:function(){var a=this;setInterval(function(){var b=a.eMeasurer.offsetHeight;if(b!=a.iFontSize){a.iFontSize=b;a.onFontChange();a.onReflow()}},this.QUERY_INTERVAL)},attachLayoutChange:function(){var a=this;setInterval(function(){var b=a.eGlobal.offsetHeight;if(b!=a.iLayoutHeight){a.iLayoutHeight=b;a.onLayoutChange();a.onReflow()}},this.QUERY_INTERVAL)},initHandlers:function(){var c=this;for(var b in this.EVENTS){if(this.EVENTS.hasOwnProperty(b)){var a=b.substring(0,1).toUpperCase()+b.substring(1);this["on"+a]=function(d){return function(){c.notify(d)}}(b)}}}});function PopupBlock(b,a){this.jContainer=b;this.jLink=a;this.bOpened=!this.jContainer.is(".hidden");this.attachEvents()}PopupBlock.prototype={ESCAPE_KEY_CODE:27,attachEvents:function(){var a=this;this.jLink.click(function(b){if(a.toggle()){b.stopPropagation();b.preventDefault();return false}});this.jContainer.click(function(b){b.stopPropagation()});$(document).click(function(){a.hide()}).keydown(function(b){a.cancel(b)})},isInit:function(){if(!this.bInit){this.bInit=this.jContainer&&this.jLink}return this.bInit},toggle:function(){if(this.isInit()){if(!this.bOpened){this.show()}else{this.hide()}return true}else{return false}},show:function(){if(this.isInit()&&!this.bOpened){this.bOpened=true;this.jContainer.removeClass("hidden")}},hide:function(){if(this.isInit()&&this.bOpened){this.bOpened=false;this.jContainer.addClass("hidden")}},cancel:function(a){if(this.isInit()&&this.bOpened&&a.keyCode==this.ESCAPE_KEY_CODE){this.hide()}}};InputPlaceholder=function(b,c,a){this.jPtr=b;this.sEmptyValue=c||this.getValue();this.oClasses=a;this.init();this.attachEvents()};InputPlaceholder.prototype={init:function(){if(this.isEmpty()){this.jPtr.val(this.sEmptyValue)}if(this.isNotTouched()){this.jPtr.addClass(this.oClasses.sEmpty)}},attachEvents:function(){var a=this;this.jPtr.keyup(function(){a.inputKeyDown()}).focus(function(){a.inputFocus()}).blur(function(){a.inputBlur()})},inputKeyDown:function(){if(this.getValue()){this.makeFilled()}},inputFocus:function(){if(this.getValue()===this.sEmptyValue){this.jPtr.val("");this.jPtr.removeClass(this.oClasses.sEmpty)}else{this.makeFilled()}},inputBlur:function(){if(this.isNotTouched()){this.jPtr.val(this.sEmptyValue);this.makeEmpty()}else{this.makeFilled()}},makeFilled:function(){this.jPtr.removeClass(this.oClasses.sEmpty).addClass(this.oClasses.sFilled||"")},makeEmpty:function(){this.jPtr.removeClass(this.oClasses.sFilled||"").addClass(this.oClasses.sEmpty)},isEmpty:function(){return $.trim(this.getValue())===""},isNotTouched:function(){return(this.isEmpty()||this.getValue()===this.sEmptyValue)},getValue:function(){return this.jPtr.val()}};Form=function(a){this.jPtr=a;this.initFields();this.initSubmit();this.check();this.attachEvents()};Form.prototype={initFields:function(){var a=this;this.aFields=[];this.jPtr.find("dl.required").each(function(){a.aFields.push(a.makeInput($(this)))})},initSubmit:function(){this.jSubmit=this.jPtr.find("*:submit")},attachEvents:function(){var a=this;this.jPtr.submit(function(b){if(!a.bValid){b.preventDefault();return false}})},check:function(){var b=this,a=true;this.eachField(function(){if(!this.isValid()){a=false;return false}});this.bValid=a;this.updateSubmitButton();return a},updateSubmitButton:function(){if(this.bValid){this.enableSubmitButton()}else{this.disableSubmitButton()}},enableSubmitButton:function(){this.jSubmit.attr("disabled",false)},disableSubmitButton:function(){this.jSubmit.attr("disabled",true)},eachField:function(a,b){Hitek.each(this.aFields,a,b)},makeInput:function(a){if(a.is(".type_email")){return new FormEmail(a,this)}else{return new FormField(a,this)}}};$(document).ready(function(){$("form.check").each(function(){new Form($(this))})});FormField=function(a,b){this.jPtr=a;this.oForm=b;this.jInput=a.find("input, textarea").eq(0);this.check(true);this.attachEvents()};FormField.CLASS_VALID="required-ok";FormField.CLASS_INVALID="required";FormField.prototype={attachEvents:function(){var a=this;this.jInput.change(function(){a.check()}).blur(function(){a.check()}).keyup(function(){a.check()})},check:function(a){this.internalValidate()?this.makeValid():this.makeInvalid();if(!a&&this.isStateChanged()){this.oForm.check()}},internalValidate:function(){return(this.getValue()!=="")},getValue:function(){return $.trim(this.jInput.val())},isStateChanged:function(){return this.bValid!==this.bOldValid},isValid:function(){return this.bValid},makeValid:function(){this.saveOldState();this.bValid=true;this.jPtr.removeClass(FormField.CLASS_INVALID).addClass(FormField.CLASS_VALID)},makeInvalid:function(){this.saveOldState();this.bValid=false;this.jPtr.removeClass(FormField.CLASS_VALID).addClass(FormField.CLASS_INVALID)},saveOldState:function(){this.bOldValid=this.bValid}};FormEmail=function(a){this.constructor.baseConstructor.apply(this,arguments)};FormEmail.rePattern=/^[a-zA-Z0-9][a-zA-Z0-9\.\-\_\~]*\@[a-zA-Z0-9\.\-\_]+\.[a-zA-Z]{2,4}$/i;FormEmail.inheritFrom(FormField,{internalValidate:function(){return this.constructor.rePattern.test(this.getValue())}});TabSwitch=function(e,b){TabSwitch.baseConstructor.call(this);this.jSwitchItems=e;this.jContentAreas=b;var c=0,d=0,a=this.jSwitchItems.filter(".current");this.jSwitchItemSelected=a.size()?a.eq(0):null;this.attachEvents()};TabSwitch.inheritFrom(Observable,{attachEvents:function(){var a=this;this.jSwitchItems.each(function(){var c=$(this),d=c.find("span.link"),b=d.size()?d.eq(0):c;b.click(function(){a.switchTab(c)})})},switchTab:function(b){if(this.jSwitchItemSelected[0]!=b[0]){if(this.jSwitchItemSelected.size()){this.jSwitchItemSelected.removeClass("current")}b.addClass("current");this.jSwitchItemSelected=b;var a=b[0].className.match(/for_(\w+)/)[1];if(a=="all"){this.showAll()}else{this.hideAll();this.jContentAreas.filter("."+a).removeClass("hidden")}this.notify(a)}},hideAll:function(){this.jContentAreas.addClass("hidden")},showAll:function(){this.jContentAreas.removeClass("hidden")}});function LoginForm(){this.constructor.baseConstructor.call(this,$("#login_form"),$("#login_link a"));if(this.jContainer.size()){this.domInit();this.sAjaxUrl=Hitek.getAjaxUrl("login");this.attacSpecialhEvents()}}LoginForm.inheritFrom(PopupBlock,{SUCCESS_REDIRECT_URL:"/profile/",domInit:function(){this.jForm=this.jContainer.find("form").eq(0);this.jClose=$("#login_form_close");this.jUserNameInput=$("#j_username");this.jPasswordInput=$("#j_password");this.jProgress=$("#login_form_progress");this.jError=$("#login_form_error")},attacSpecialhEvents:function(){var a=this;if(this.jForm){this.jForm.submit(function(b){if(a.send()){b.preventDefault();return false}})}if(this.jClose){this.jClose.click(function(b){a.hide();b.preventDefault();return false})}$(window).load(function(b){a.intXFormCheck=setInterval(function(){a.xFormCheck()},100)})},initCapsLock:function(){this.jCapsLockWarning=$("#login_form_caps_lock_warning");if(this.jPasswordInput&&this.jCapsLockWarning){this.jPasswordInput.parent().before(this.jCapsLockWarning)}},isInit:function(){if(!this.bInit){this.bInit=this.jContainer&&this.jForm}return this.bInit},show:function(a){this.constructor.superClass.show.apply(this,arguments);if(this.isInit()&&this.jUserNameInput.size()){this.jUserNameInput[0].focus()}},send:function(){if(this.isInit()&&this.jProgress&&this.jError){this.jError.addClass("hidden");this.jProgress.removeClass("hidden");var b=this,c=this.jForm.find("input"),a={};c.each(function(){if(this.name&&(this.type!="checkbox"||this.checked)){a[this.name]=this.value}});$.post(this.sAjaxUrl,a,function(d){b.ajaxCallback(d)});return true}else{return false}},ajaxCallback:function(a){if(a.indexOf("request-uri:"+this.SUCCESS_REDIRECT_URL)!=-1){this.allow()}else{this.deny()}},allow:function(){if(this.isInit()){document.location.reload()}},deny:function(){if(this.isInit()&&this.jProgress&&this.jError){this.jProgress.addClass("hidden");this.jError.removeClass("hidden")}},xFormCheck:function(){if(this.isInit()&&this.jUserNameInput.size()){if(this.jUserNameInput.val()!==""&&window.xForm){xForm.init()}clearInterval(this.intXFormCheck)}},capsLockDetect:function(a){if(this.isInit()){var b=0;if(a.which){b=a.which}else{if(a.keyCode){b=a.keyCode}else{if(a.charCode){b=a.charCode}}}var c=false;if(a.shiftKey){c=a.shiftKey}else{if(a.modifiers){if(a.modifiers&4){c=true}}}if(b>64&&b<91&&!c){this.showCapsLockWarning()}else{if(b>96&&b<123&&c){this.showCapsLockWarning()}else{this.hideCapsLockWarning()}}}},showCapsLockWarning:function(){if(this.isInit()&&this.jCapsLockWarning){this.jCapsLockWarning.removeClass("hidden")}},hideCapsLockWarning:function(){if(this.isInit()&&this.jCapsLockWarning){this.jCapsLockWarning.addClass("hidden")}}});
