﻿if(!window.Event)var Event=new Object();Object.extend(Event,{KEY_END:35,KEY_HOME:36,KEY_NUM0:48,KEY_NUM9:57,KEY_PAD0:96,KEY_PAD9:105,KEY_PADDOT:110,KEY_F1:112,KEY_F2:113,KEY_F3:114,KEY_F4:115,KEY_F5:116,KEY_F6:117,KEY_F7:118,KEY_F8:119,KEY_F9:120,KEY_F10:121,KEY_F11:122,KEY_F12:123,KEY_PERIOD:190,isFKey:function(event){return event.keyCode>=this.KEY_F1&&event.keyCode<=this.KEY_F12;},isNumberKey:function(event){return(event.keyCode>=this.KEY_NUM0&&event.keyCode<=this.KEY_NUM9)||(event.keyCode>=this.KEY_PAD0&&event.keyCode<=this.KEY_PAD9);},isNavKey:function(event){return event.keyCode==this.KEY_BACKSPACE||event.keyCode==this.KEY_TAB||event.keyCode==this.KEY_RETURN||event.keyCode==this.KEY_ESC||event.keyCode==this.KEY_LEFT||event.keyCode==this.KEY_UP||event.keyCode==this.KEY_RIGHT||event.keyCode==this.KEY_DOWN||event.keyCode==this.KEY_DELETE||event.keyCode==this.KEY_HOME||event.keyCode==this.KEY_END;}});Object.extend(String.prototype,{startsWith:function(prefix){return this.indexOf(prefix)===0;},endsWith:function(suffix){var startPos=this.length-suffix.length;if(startPos<0)return false;return this.lastIndexOf(suffix,startPos)==startPos;},trimLeft:function(){return this.replace(/^\s+/,"");},trimRight:function(){return this.replace(/\s+$/,"");},trim:function(){return this.trimLeft().trimRight();}});if(!window.Page)var Page=new Object();Object.extend(Page,{disableEnterKey:true,init:function(){if(typeof setupAllTabs=="function"){setupAllTabs();if(window.attachEvent)Event.observe(window,"unload",disposeAllTabs,false);}this.enhanceAnchors();if(this.disableEnterKey)Event.observe(document,"keypress",this.onKeyPress,false);},onKeyPress:function(e){if(e.keyCode==Event.KEY_RETURN){var element=Event.element(e);if(!/^textarea|select$/i.test(element.tagName))Event.stop(e);}},focusElement:function(d){if(!d&&document.forms&&document.forms.length!==0)d=document.forms[0];if(!d)return;for(var e=null,i=0;null!=(e=d.elements[i]);i++){if(/^text|password$/.test(e.type)&&e.value.length===0){e.focus();break;}}},openPreview:function(){if(Page.previewWindow){try{Page.previewWindow.close();delete Page.previewWindow;}catch(exc){}}Page.previewWindow=window.open(this.href,'preview','width=440,height=500,scrollbars=1');setTimeout(function(){Page.previewWindow.focus();},500);},enhanceAnchors:function(parent){var anchors=!parent?document.getElementsByTagName("a"):parent.getElementsByTagName("a");for(var a=null,i=0;null!=(a=anchors[i]);i++){var rel=a.rel||"";if(/^external/.test(rel)){var parts=rel.split(" ",2);var target=parts.length>1?parts[1]:"_blank";if(target=="preview"){a.onclick=Page.openPreview;}a.target=target;a.onmouseover=function(){window.status="External link: "+(this.title||this.href);return true;};}else if(rel=="email"){a.onmouseover=function(){window.status="Contact "+(this.title||this.innerHTML.replace(/<[^>]+>/gi,""))+" <"+this.href.substring(7)+">";return true;};}else{a.onmouseover=function(){window.status=(this.title||this.innerHTML.replace(/(<[^>]+>)|[\r\n\t]+/gi,"")).replace(/&amp;/gi,"&");return true;};}a.onmouseout=function(){window.status="";};}}});Event.observe(window,"load",Page.init.bind(Page),false);var SmartScroll={fieldX:"__smartscroll_x",fieldY:"__smartscroll_y",loaded:false,init:function(form){this.form=$(document.forms[0]);if(this.form){this.event_save=this.save.bindAsEventListener(this);Event.observe(this.form,"submit",this.event_save,false);this.load();__doPostBack=this.__doPostBack.bind(this);}},load:function(){var coords=this.getXY();if(coords.x!==0||coords.y!==0){this.loaded=true;window.scrollTo(coords.x,coords.y);}},save:function(e){var coords=this.getCoordinates();this.setX(coords.x);this.setY(coords.y);if(this.event_save){Event.stopObserving(this.form,"submit",this.event_save,false);delete this.event_save;}},getCoordinates:function(){return{x:document.body.scrollLeft||document.documentElement.scrollLeft||window.pageXOffset||0,y:document.body.scrollTop||document.documentElement.scrollTop||window.pageYOffset||0};},getXY:function(){return{x:this.getX(),y:this.getY()};},getX:function(){return parseInt($(this.fieldX).value,10)||0;},setX:function(value){$(this.fieldX).value=value;},getY:function(){return parseInt($(this.fieldY).value,10)||0;},setY:function(value){$(SmartScroll.fieldY).value=value;},__doPostBack:function(eventTarget,eventArgument){if(!this.form.onsubmit||(this.form.onsubmit()!=false)){this.save();this.form.__EVENTTARGET.value=eventTarget;this.form.__EVENTARGUMENT.value=eventArgument;this.form.submit();}}};Event.observe(window,"load",SmartScroll.init.bind(SmartScroll),false);