/* ##### ##### ##### #####

    General Functions - version 1.0.0

    Created By:
        Fredrik Svensson
        Kalmar Läns Trafik AB
        www.klt.se
        Free to use if this copyright text remains intact

##### ##### ##### ##### */
function SlideDirection(){}SlideDirection.Open=1;SlideDirection.Close=-1;function ListItemSlider(oListItem,oSubMenu){var thisClass=this;this.listItem=oListItem;this.subMenu=oSubMenu;this.active=false;this.isOriginalActive=false;if($(this.listItem.firstChild).hasClass(this.activeClass)){this.isOriginalActive=true}this.slide=function(sdDirection){var currentHeight=this.subMenu.offsetHeight;var distance;if(sdDirection==SlideDirection.Open){distance=(Math.round((this.subMenu.originalHeight-currentHeight)/this.slideSpeed))}else{distance=(Math.round(currentHeight/this.slideSpeed))}if(distance<=1&&sdDirection==SlideDirection.Open){distance=1}this.subMenu.style.height=parseFloat(currentHeight)+distance*sdDirection+"px";$(this.subMenu).opacity(currentHeight/this.subMenu.originalHeight);if($(this.subMenu).height()<20&&!this.isOriginalActive){$(this.listItem.firstChild).removeClass(thisClass.activeClass)}if((currentHeight<5&&sdDirection==SlideDirection.Close)||(currentHeight>(this.subMenu.originalHeight-2)&&sdDirection==SlideDirection.Open)){if(sdDirection==SlideDirection.Close){this.subMenu.style.height="0px";$(this.subMenu).hide()}else{$(this.subMenu).opacity(1);$(this.subMenu).height($(this.subMenu).height()-1)}clearInterval(this.subMenu.timer)}};this.collapse=function(sdDirection){thisClass.subMenu.timer=setInterval(function(){thisClass.slide(SlideDirection.Close)},thisClass.timerFrequency)};this.slideSubMenu=function(sdDirection){clearInterval(this.subMenu.timer);if(sdDirection==SlideDirection.Open){if(this.subMenu.originalHeight&&this.subMenu.originalHeight<=this.subMenu.offsetHeight){return}else{if(!this.subMenu.originalHeight){$(this.subMenu).css("display","block");$(this.subMenu).height("auto");this.subMenu.originalHeight=this.subMenu.offsetHeight;this.subMenu.style.height="0px"}}this.subMenu.timer=setInterval(function(){thisClass.slide(SlideDirection.Open)},thisClass.timerFrequency)}else{this.subMenu.timer=setInterval(function(){thisClass.slide(SlideDirection.Close)},thisClass.timerFrequency)}};$(this.listItem).mouseover(function(e){$(this.firstChild).addClass(thisClass.activeClass);$(thisClass.subMenu).css("left","auto");$(thisClass.subMenu).css("position","absolute");$(thisClass.subMenu).css("display","block");thisClass.slideSubMenu(SlideDirection.Open)});$(this.listItem).mouseout(function(e){thisClass.slideSubMenu(SlideDirection.Close)});$(this.subMenu).mouseover(function(e){clearInterval(this.timer);if(this.offsetHeight<this.originalHeight){this.timer=setInterval(function(){thisClass.slide(SlideDirection.Open)},thisClass.timerFrequency)}})}ListItemSlider.prototype={slideSpeed:5,timerFrequency:15,activeClass:"active",dispose:function(){clearInterval(this.subMenu.timer);this.subMenu.timer=null;this.subMenu=null;this.listItem=null}};function MenuSlider(ulMenuId){var thisClass=this;this.elementId=ulMenuId;this.listItemSliders=[];$("#"+this.elementId+" > li").each(function(){ulList=this.getElementsByTagName("ul");if(ulList.length>0){thisClass.listItemSliders.push(new ListItemSlider(this,ulList[0]))}});$("#"+this.elementId+" > li > a").mouseover(function(){for(var i=0;i<thisClass.listItemSliders.length;i++){$(thisClass.listItemSliders[i].listItem.firstChild).removeClass(thisClass.listItemSliders[i].activeClass)}});$("#"+this.elementId).hover(function(){for(var i=0;i<thisClass.listItemSliders.length;i++){if(thisClass.listItemSliders[i].isOriginalActive){$(thisClass.listItemSliders[i].listItem.firstChild).removeClass(thisClass.listItemSliders[i].activeClass);break}}},function(){for(var i=0;i<thisClass.listItemSliders.length;i++){if(thisClass.listItemSliders[i].isOriginalActive){$(thisClass.listItemSliders[i].listItem.firstChild).addClass(thisClass.listItemSliders[i].activeClass);break}}});$(window).bind("unload",function(e){jQuery.each(thisClass.listItemSliders,function(e){this.dispose()})})}WindowMap={sourceFile:"/Templates/KLTTemplates/Pages/WindowMap.aspx",settings:"scrolling=no, width=800, height=600, toolbar=no, statusbar=no",open:function(oParam){var query="";if(oParam.title!=null){query+="&title="+oParam.title}if(oParam.stopNr!=null){query+="&stopNr="+jQuery.toInt(oParam.stopNr)}if(oParam.route!=null){query+="&id="+jQuery.toInt(oParam.route.id)+"&line="+oParam.route.name+"&fromStop="+jQuery.toInt(oParam.route.fromStop)+"&toStop="+jQuery.toInt(oParam.route.toStop)}query=query.substr(1,query.length-1);window.open(WindowMap.sourceFile+"?"+query,"WindowMap",WindowMap.settings)}};function PassStrengthIndicator(inputElementId,divStrengthBar,language){var thisClass=this;this.strengthBar=$("#"+divStrengthBar);this.headlinePara;this.lang=language;$("#"+inputElementId).keyup(function(e){var validateControlValue=thisClass.strengthBar.parent().outerWidth()/6;var txt=this.value;var containsBigLetters=false;var containsSmallLetters=false;var containsNumbers=false;var containsSymbols=false;var passedControls=0;for(var i=0;i<txt.length;i++){if(isNaN(txt.charAt(i))){if(txt.charAt(i).match(/[A-ZÅÄÖ]/)){containsBigLetters=true}else{if(txt.charAt(i).match(/[a-zåäö]/)){containsSmallLetters=true}else{containsSymbols=true}}}else{containsNumbers=true}}if(containsBigLetters){passedControls++}if(containsSmallLetters){passedControls++}if(containsSymbols){passedControls++}if(containsNumbers){passedControls++}if(txt.length>=thisClass.minLength&&txt.length<=thisClass.maxLength){passedControls++}if(txt.length>=thisClass.recommendedMinLength){passedControls++}if(txt.length<thisClass.minLength){passedControls=0}thisClass.strengthBar.width(validateControlValue*passedControls);if(!thisClass.headlinePara){thisClass.headlinePara=$(document.createElement("p")).insertBefore(thisClass.strengthBar.parent())}$(thisClass.headlinePara).html(PassStrengthIndicator.Translator[thisClass.lang].headline+" "+PassStrengthIndicator.Translator[thisClass.lang].passSecurityValues[passedControls])});if(document.getElementById(inputElementId).value!=""){$("#"+inputElementId).keyup()}}PassStrengthIndicator.prototype={minLength:8,maxLength:16,recommendedMinLength:13};PassStrengthIndicator.Translator={sv:{headline:"Lösenordssäkerhet: ",passSecurityValues:["Mycket dålig","Dålig","Normal","Godkänd","Bra","Mycket bra","Bästa"]}};$(document).ready(function(){$("tr").hover(function(){$(this).addClass("activeRow")},function(){$(this).removeClass("activeRow")});$(":text").focus(function(){$(this).addClass("inputFocus")});$(":text").blur(function(){$(this).removeClass("inputFocus")});$(":password").focus(function(){$(this).addClass("inputFocus")});$(":password").blur(function(){$(this).removeClass("inputFocus")});if(!(jQuery.browser.msie&&parseInt(jQuery.browser.version.substring(0,1))<=6&&navigator.userAgent.indexOf("MSIE 7")==-1)){new MenuSlider("topMenuList")}var infoMessage=document.getElementById("dialog");if(infoMessage){var dialog=new Dialog(infoMessage);dialog.show();setTimeout(function(){dialog.close()},3000)}$("html").keydown(function(e){if(e.keyCode==Key.F8){$("#KLT_main_right_rc_tripPlanner_tbFrom").focus()}else{if(e.keyCode==Key.F9){var obj=document.getElementById("KLT_main_right_rc_tripPlanner_timeTime");if(obj){obj.focus();obj.select()}}}})});