﻿window.Blekingetrafiken = {};

Blekingetrafiken.Class = {
	create: function() {
		return function() {
		this.initialize.apply(this, arguments);
		}
	}
};

Blekingetrafiken.Faq = {
	Init: function(strActionUrl) {
		this.ActionUrl = strActionUrl;
		this.Language = "";
		this.SubmitDone;
	},
	Collapse: function() {
	    //var objBoxes = $("divFaq").getElementsByClassName("faq-box")
	    var objBoxes = $("divFaq").select(".faq-box")
		for(var i=0; i<objBoxes.length;i++)
		{
			$("divFaq_"+objBoxes[i].id.substring(objBoxes[i].id.indexOf("_")+1)).hide();
			var strOrgSrc = $("faq_img_"+objBoxes[i].id.substring(objBoxes[i].id.indexOf("_")+1)).src;
			Milou.Util.Image.SwapObject($("faq_img_"+objBoxes[i].id.substring(objBoxes[i].id.indexOf("_")+1)),strOrgSrc.replace("global_icon_minus.gif","global_icon_plus.gif"))
		}
	},
	ToggelDisplay: function(strId) {
		$("divFaq_"+strId).toggle();
		if($("divFaq_"+strId).visible())
		{
			Milou.Util.Image.SwapObject($("faq_img_"+strId),$("faq_img_"+strId).src.replace("global_icon_plus.gif","global_icon_minus.gif"))
		}
		else
		{
			Milou.Util.Image.SwapObject($("faq_img_"+strId),$("faq_img_"+strId).src.replace("global_icon_minus.gif","global_icon_plus.gif"))
		}
	}
}


Blekingetrafiken.Search = {
	Init: function(strActionUrl) {
		this.ActionUrl = strActionUrl;
		this.Language = "";
		this.SubmitDone;
	},
	Submit: function() {
		var objFrm = $('frmMain');
		objFrm.action = this.ActionUrl;
		if (objFrm == null) return false
		
		if (this.SubmitDone) {
			this.SubmitDone = null;
			return false //prevents multi button press
		}
	
		objFrm.SupportsScript.value = 'True'
		
		var objCtr
		
		objCtr = objFrm.inpPointFr
		if ("text" == objCtr.type) {
			if(objCtr.value.length < 2){alert('Du måste ange minst 2 tecken');objCtr.focus();return false}
			}
		objCtr = objFrm.inpPointTo
		if ("text" == objCtr.type) {	
			if(objCtr.value.length < 2){alert('Du måste ange minst 2 tecken');objCtr.focus();return false}
			}
		this.SubmitDone = true
		//getPopup();
		return true
	},
	ValidateY2k: function(number) { 
		return (number < 1000) ? number + 1900 : number;
	},
	ValidateTime: function(oInpTime) {	
	
		if(oInpTime.value.length==3) oInpTime.value = "0" + oInpTime.value
		
		var retVal = false
		var strVal = oInpTime.value
		
		if(strVal.length == 4){
			if(!isNaN(strVal)){
				while(strVal.charAt(0) == '0') strVal = strVal.substring(1, strVal.length)
				if(strVal == '') strVal = '0'
				var intTime = parseInt(strVal)
				if(intTime<2400 && intTime >= 0){
					if(intTime%100<60){
						retVal = true
					}
				}
			}
		}
	
		if (retVal == false) {
			alert('Du har angivit ett icke giltigt klockslag: ' + oInpTime.value)		
			if(document.layers) objFrm.selDirection.focus() //prevents recursion i NE4
			}
					
	},
	ValidateDate: function(oInpDate) {
		var bValid = false;
		if (oInpDate.value.length == 6)	{
			var day = oInpDate.value.substr(4,2);
			var month = oInpDate.value.substr(2,2);
			var year = '20' + oInpDate.value.substr(0,2);
				
			var today = new Date();
			year = ((!year) ? this.ValidateY2k(today.getYear()):year);
			month = ((!month) ? today.getMonth():month-1);
			if (day) {
				var test = new Date(year,month,day);
				if ( (this.ValidateY2k(test.getYear()) == year) && (month == test.getMonth()) && (day == test.getDate()) )
					bValid = true;	 
			}
		}
				
		if(!bValid) {
			alert('Du har angivit fel datum-format (ååmmdd): ' + oInpDate.value)		
			if(document.layers) objFrm.selDirection.focus() //prevents recursion i NE4
		}
	},
	CheckCookie: function() {
		if(Milou.Util.Cookie.Get('MyProfile_Journey') != null)
		{
			var objSelect = document.getElementById("cmbSaved");
			var arrProfiles = Get_Cookie("MyProfile_Journey").split("><");
			var arrItem;
		    
			for(i=1; i<arrProfiles.length; i++)
			{
				arrItem = arrProfiles[i].split("|");
				if(arrItem.length < 4)
					break;
				objSelect.options[i] = new Option(arrItem[1], arrItem[0] + "|" + arrItem[2] + "|" + arrItem[3] + "|" + arrItem[4] + "|" + arrItem[5]);
			}
			$('savedSearch').show();
		}
	},
	MyProfileChange: function(objThis) {
		if($F(objThis) != "0")
		{
			$('inpPointFr').value = "Centrum";
			$('inpPointTo').value = "Hässlegården";
			$('btnSubmitFastSearch').Click();
		}
	},
	SetLanguage: function() {
		if(this.Language == "")
			$("Language").value = "en";
		else
			$("Language").value = ""; 
		
		var objImage = $("imgLanguageFlag");
		var objLink = $("objLanguageLink");
		
		if(this.Language == "")
		{
			objImage.src = objImage.src.substr(0,objImage.src.lastIndexOf("/"))+"/global_language_sv.gif"
			objImage.alt ="Svenska"
			this.Language = "en"
			objLink.innerHTML = "Svenska" + objLink.innerHTML.substr(objLink.innerHTML.indexOf("<"));
			$('objFrom').update('From:');
			$('objTo').update('To:');
			$('objDate').update('Date:');
			$('objTime').update('Time:');
			$('objOpt1').update('Departure:');
			$('objOpt2').update('Arrival:');
			$('btnSubmitFastSearch').update('Search');
		}
		else
		{
			objImage.src = objImage.src.substr(0,objImage.src.lastIndexOf("/"))+"/global_language_eng.gif"
			objImage.alt ="English"
			this.Language = ""
			objLink.innerHTML = "English" + objLink.innerHTML.substr(objLink.innerHTML.indexOf("<"));
			$('objFrom').update('Fr&aring;n:');
			$('objTo').update('Till:');
			$('objDate').update('Datum:');
			$('objTime').update('Tid:');
			$('objOpt1').update('Avg&aring;ngstid:');
			$('objOpt2').update('Ankomstid:');
			$('btnSubmitFastSearch').update('S&ouml;k:');
		}
	}
	
};