/**
 *  Malaysian AirLines (MAS) - nav.js
 *  
 *  @version 1.0
 *	@author Leon Ng, Arnel
 */

var currentOpenSubNav 	= "";
var timer 				= "";
var searchMenuOpen 		= false;
var openedPanel			= "book";
var arrCols 			= new Array("thArrivalCity", "thOneWay", "thRoundTrip");
var searchFields 		= new Array("searchSelect1","searchSelect2","searchSelect3");
var mainNavLinks 		= new Array("bkinfo", "managebk", "checkin", "dest", "flymh", "loyal", "mhmobile");
var mainSubNavLinks 	= new Array("bkinfo", "checkin", "dest", "flymh", "loyal");
var thirdNavMenu 		= new Array("four", "info", "dloads", "relations", "pkgs", "airport", "bfly", "dflight", "arrival", "relations", "tier", "mile", "partner", "services","corptrvl","mice","maa","simulator","booking","checkin","baggage","medical","meals-health-tips","airtrans","others","insure");
var sitemapItems		= new Array("bookinfo", "checkin", "destoffer", "flymh", "loyalty", "corp", "biz");
var withinNav			= false;
var within2ndNav		= false;
var totalHomeBG			= 3;
var externalSiteURL		= "";


function init(){
	if (mainsection == "")
		mainsection = "home";
	
	if ($$("userid") != null && $$("password") != null){
		$$("userid").addEvent('click', clearUsernameField);
		$$("password").addEvent('click', clearPasswordField);
	}
	
	if (subsection != "") {
		if($$("sub-"+section+"-"+subsection) != null){
			$$("sub-"+section+"-"+subsection).removeClass("subNavItem");
			$$("sub-"+section+"-"+subsection).addClass("subNavItemSelected");
		}
		
		if($$("subNav-"+subsection) != null)
			$$("subNav-"+subsection).addClass("navSelected");
		
		if($$("subNav-"+subsection+"-plus") != null){
			$$("subNav-"+subsection+"-plus").addClass("navSelected");
			$$("subNav-"+subsection+"-plus").addClass("innerNavHidden");
		}
		
		if($$("subNav-"+subsection+"-minus") != null){
			$$(subsection+"label").addClass("navSelected");
			$$(subsection+"label-").addClass("navSelected");
			$$("subNav-"+subsection+"-minus").removeClass("innerNavHidden");
			$$("subNav-"+subsection+"-minus").addClass("innerNavShow");
			
			$$("subNav-"+subsection+"-Menu").removeClass("innerNavHidden");
			$$("subNav-"+subsection+"-Menu").addClass("innerNavShow");
		}
	}
	
	if (detail != "") {
		if($$(subsection+"-"+detail+"label") != null)
			$$(subsection+"-"+detail+"label").addClass("navSelected");
	}
	
	if (subdetail != "") {
		if($$(subsection+"-"+detail+"-"+subdetail+"label") != null)
			$$(subsection+"-"+detail+"-"+subdetail+"label").addClass("navSelected");
	}

	if ($$("sortUnselected") != null){
		for (var i=0; i < arrCols.length; ++i){
			$($$(arrCols[i]).elmsByAttribute("id","sortSelectedUp","img")[0]).addClass("sortIndicator-hidden");
			$($$(arrCols[i]).elmsByAttribute("id","sortSelectedDown","img")[0]).addClass("sortIndicator-hidden");
		}
	}
	
	if ($$("wdforigin1") != null){
		$$("wdforigin1").addEvent('change', checkDomesticLocation);
		$$("wdfdest1").addEvent('change', checkDomesticLocation);
		
		checkDomesticLocation();
		setDefaultCountry();
		
		$$("flexTravel").addEvent('change', checkAdultsCount);
		$$("fixedTravel").addEvent('change', checkAdultsCount);
	}
	
	if($$("fromDate") != null) {
		var departDate = new Date();
		var returnDate = new Date();
		
		var dayArrayMed = new Array('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat');
		
		var hrs = departDate.getHours();
		hrs += 12;
		departDate.setHours(hrs); 
		
		var departDay = departDate.getDate();
		var departMonth = departDate.getMonth() + 1;
		var departYear = departDate.getFullYear();
		
		if(departDay < 10)
			departDay = "0"+departDay;
			
		if(departMonth < 10)
			departMonth = "0"+departMonth;	
		
		$$("fromDate").value = departDay + "/" + departMonth + "/" + departYear + " " + dayArrayMed[departDate.getDay()];
	
		returnDate.setDate(departDate.getDate() + 8);
		var returnDay = returnDate.getDate();
		var returnMonth = returnDate.getMonth() + 1;
		var returnYear = returnDate.getFullYear();
		
		if(returnDay < 10)
			returnDay = "0"+returnDay;
			
		if(returnMonth < 10)
			returnMonth = "0"+returnMonth;	
		
		$$("returnDate").value = returnDay + "/" + returnMonth + "/" + returnYear + " " + dayArrayMed[returnDate.getDay()];
	}
	
	if($$("ctryName") != null){
		if($$("ctryName").innerHTML == "United Arab Emirates"){
			var theCookie=""+document.cookie;
			var ind=theCookie.indexOf("MASCtry");
			
			if (ind != -1){
				var start = theCookie.indexOf('|',ind);
				var end = start + 3;
				var cookieCtyCode;
				
				if (start != -1) {
					cookieCtyCode = unescape(theCookie.substring(start + 1, end))

					switch (cookieCtyCode){
						case "lb":
							$$("ctryName").innerHTML = "Lebanon";
							break;
						case "sa":
							$$("ctryName").innerHTML = "Saudi Arabia";
							break;
						case "ae":
							$$("ctryName").innerHTML = "United Arab Emirates";
							break;			
					}			
				}

			}
		}
	}
	
	currentOpenSubNav = "nav-"+mainsection;
	initMouseOver();
}

function randomizeBG(){
	var selectedBG = (Math.round((Math.random()*(totalHomeBG-1))+1));
	
	if( $$("mainContent-home") != null )
		$$("mainContent-home").addClass("background"+selectedBG);
}

function initMouseOver(){
	
	if ($$("searchField") != null){
		$$("searchField").addEvent('click', clearTextField);
		$$("searchField").addEvent('keypress', searchOnEnter);
	}
	
	if($$("ctyLangSelector") != null)
		$$("ctyLangSelector").addEvent("click", toggleCntryLangSelector);
		
	if($$("cntryLangSelClose") != null)	
		$$("cntryLangSelClose").addEvent("click", toggleCntryLangSelector);
		
	if($$("outOfMasClose") != null)		
		$$("outOfMasClose").addEvent("click", closePopupA);
	
	if($$("imptNotificationClose") != null)		
		$$("imptNotificationClose").addEvent("click", closePopupB);

	
	if($$("thArrivalCity") != null){
		$$("thArrivalCity").addEvent('click', displaySortIndicator);
		$$("thOneWay").addEvent('click', displaySortIndicator);
		$$("thRoundTrip").addEvent('click', displaySortIndicator);
	}
	
	for (var i=0; i < mainNavLinks.length; ++i){
		$$("nav-" + mainNavLinks[i]).addEvent('mouseover', showSubNav);
	}
	
	for (var i=0; i < mainSubNavLinks.length; ++i){
		$$("subnav-" + mainSubNavLinks[i]).addEvent('mouseover', stillWithinSubNav);
		$$("subnav-" + mainSubNavLinks[i]).addEvent('mouseout', notWithinSubNav);
	}
	
	
	$$("mainNav").addEvent('mouseover', stillWithinNav);
	$$("mainNav").addEvent('mouseout', notWithinNav);
	
	for (var i=0; i < searchFields.length; ++i){
		if($$(searchFields[i]) != null){
			$$(searchFields[i]).addEvent('click', updateSearchMenu);
		}
	}
	
	for (var i=0; i < sitemapItems.length; ++i){
		if($$("site" + sitemapItems[i]) != null){
			$$("site" + sitemapItems[i]).addEvent('click', displaySiteMenu);
			$$(sitemapItems[i] + "menu").addEvent('click', closeSiteMenu);
		}
	}
	
	if($$("sitemapShowAll") != null){
		$$("sitemapShowAll").addEvent('click', displayAllSiteMap);
		$$("sitemapHideAll").addEvent('click', closeAllSiteMap);
	}
	
	for (var i=0; i < thirdNavMenu.length; ++i){
		if($$("subNav-" + thirdNavMenu[i]) != null){
			$$("subNav-" + thirdNavMenu[i]).addEvent('click', displayInnerNav);
			$$("subNav-"+ thirdNavMenu[i] + "-").addEvent('click', displayInnerNav);
		}
	}
	
	
}


function clearTextField(){
	if ($$("searchField").value == "Enter your search"){
		$$("searchField").value = "";
	}
	else{
		$$("searchField").focus();
		$$("searchField").select();
	}
}


function searchOnEnter(e){
	var keynum;
	
	if(window.event){ // IE
		keynum = e.keyCode;
	}
	else if(e.which){ // Netscape/Firefox/Opera
		keynum = e.which;
	}
	
	if (keynum == 13){
		submitSearch( $$("searchForm") );
		return false;
	}
}


function displayAllSiteMap(){
	for (var i=0; i < sitemapItems.length; ++i){
		$$("site" + sitemapItems[i] + "menu").removeClass("sitemenuHide");
		$$("site" + sitemapItems[i] + "menu").addClass("sitemenuShow");
			
		$$("site" + sitemapItems[i] + "menuHeader").removeClass("sitemenuShow");
		$$("site" + sitemapItems[i] + "menuHeader").addClass("sitemenuHide");
	}
}


function closeAllSiteMap(){
	for (var i=0; i < sitemapItems.length; ++i){
		$$("site" + sitemapItems[i] + "menu").removeClass("sitemenuShow");
		$$("site" + sitemapItems[i] + "menu").addClass("sitemenuHide");
			
		$$("site" + sitemapItems[i] + "menuHeader").removeClass("sitemenuHide");
		$$("site" + sitemapItems[i] + "menuHeader").addClass("sitemenuShow");
	}
}


function displaySiteMenu(){
	if( $$(this.id+"menu") != null ){
		if ( $$(this.id+"menu").className == "sitemenuHide" ){
			$$(this.id+"menu").removeClass("sitemenuHide");
			$$(this.id+"menu").addClass("sitemenuShow");
			
			$$(this.id+"menuHeader").removeClass("sitemenuShow");
			$$(this.id+"menuHeader").addClass("sitemenuHide");
		}
		else {
			$$(this.id+"menu").removeClass("sitemenuShow");
			$$(this.id+"menu").addClass("sitemenuHide");
		}
	}
}


function closeSiteMenu(){
	if( $$("site" + this.id) != null ){
		if ( $$("site" + this.id).className == "sitemenuShow" ){
			$$("site" + this.id).removeClass("sitemenuShow");
			$$("site" + this.id).addClass("sitemenuHide");
			
			$$("site" + this.id+"Header").removeClass("sitemenuHide");
			$$("site" + this.id+"Header").addClass("sitemenuShow");
		}
	}
}

function stillWithinSubNav() {
	within2ndNav = true;
}

function notWithinSubNav() {
	within2ndNav = false;
	
	timer = setTimeout('checkAllNav(\''+this.id+'\')',500);
}

function stillWithinNav() {
	if(this.id == "mainNav")
		withinNav = true;
}

function notWithinNav() {
	if(this.id == "mainNav")
		withinNav = false;
		
	timer = setTimeout('checkAllNav(\''+this.id+'\')',500);
}


function checkAllNav() {
	if((within2ndNav == false) && (withinNav == false))
		showDefaultSubNav();
}


function displayInnerNav() {
	if( $$(this.id+"plus") != null ){
		$$(this.id+"plus").removeClass("innerNavHidden");
		$$(this.id+"plus").addClass("innerNavShow");
	
		$$(this.id+"minus").removeClass("innerNavShow");
		$$(this.id+"minus").addClass("innerNavHidden");
	
		$$(this.id+"Menu").removeClass("innerNavShow");
		$$(this.id+"Menu").addClass("innerNavHidden");
	}
	else {
		$$(this.id+"-plus").removeClass("innerNavShow");
		$$(this.id+"-plus").addClass("innerNavHidden");
		
		$$(this.id+"-minus").removeClass("innerNavHidden");
		$$(this.id+"-minus").addClass("innerNavShow");
		
		$$(this.id+"-Menu").removeClass("innerNavHidden");
		$$(this.id+"-Menu").addClass("innerNavShow");
	}
}

var currentID;
function showSubNav(){	
	clearTimeout(timer); 
	
	if($$("sub"+currentOpenSubNav) != null ){
		$$("sub"+currentOpenSubNav).removeClass("subNavShow");
		$$("sub"+currentOpenSubNav).addClass("subNavHide");
	}
	
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
		var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
		
		if (ieversion<7){
			// --- For deals and offers page ---
			if($$("dealsoffers_listing_selDepCity") != null){
				$$("dealsoffers_listing_selDepCity").style.display = 'none';
				$$("dealsoffers_listing_selArrCity").style.display = 'none';
			}
			
			// --- For Flight Status page ---
			if($$("FlightStatusSearch1_ddlDate") != null){
				$$("FlightStatusSearch1_ddlDate").style.display = 'none';
				$$("FlightStatusSearch1_ddlFrom").style.display = 'none';
				$$("FlightStatusSearch1_ddlTo").style.display = 'none';
				$$("FlightStatusSearch1_txtFlightNo").style.display = 'none';
			}
		}
	}
	
	currentID = this.id;
	timer = setTimeout('updateSubNav(\''+this.id+'\')',500);
	
}


function updateSubNav(elementName){
	clearTimeout(timer); 
	
	if(withinNav) {
		for (var i=0; i < mainSubNavLinks.length; ++i){
			if($$("sub"+mainSubNavLinks[i]) != null ){
				$$("sub"+mainSubNavLinks[i]).removeClass("subNavShow");
				$$("sub"+mainSubNavLinks[i]).addClass("subNavHide");
			}
		}
		
		if($$("sub"+currentID) != null){
			$$("sub"+currentID).removeClass("subNavHide");
			$$("sub"+currentID).addClass("subNavShow");
		}
		
		currentOpenSubNav = currentID;
	}
}

function showDefaultSubNav(elementName){
	
	if ((currentOpenSubNav != "")&&(section != "")) {
		if($$("sub"+currentOpenSubNav) != null ){
			$$("sub"+currentOpenSubNav).removeClass("subNavShow");
			$$("sub"+currentOpenSubNav).addClass("subNavHide");
		}
		
		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
			var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
				
			if (ieversion<7){
				// --- For deals and offers page ---
				if($$("dealsoffers_listing_selDepCity") != null){
					$$("dealsoffers_listing_selDepCity").style.display = 'block';
					$$("dealsoffers_listing_selArrCity").style.display = 'block';
				}
				
				// --- For Flight Status page ---
				if($$("FlightStatusSearch1_ddlDate") != null){
					$$("FlightStatusSearch1_ddlDate").style.display = 'block';
					$$("FlightStatusSearch1_ddlFrom").style.display = 'block';
					$$("FlightStatusSearch1_ddlTo").style.display = 'block';
					$$("FlightStatusSearch1_txtFlightNo").style.display = 'block';
				}
			}
		}
		
		currentOpenSubNav = "";
	}
	withinNav = false;
}


function showSearchMenu() {
	if(!searchMenuOpen){
		$$("searchMenu").removeClass("searchMenuHide");
		searchMenuOpen = true;
	}
	else{
		$$("searchMenu").addClass("searchMenuHide");
		searchMenuOpen = false;
	}
}


function updateSearchMenu() {
	$$("searchMenu").addClass("searchMenuHide");
	searchMenuOpen = false;
	
	if( $$(this.id).innerHTML.length > 13 ){
		$$("search-type").replaceContent($$(this.id).innerHTML.substring(0,13) + "...");
	}
	else
		$$("search-type").replaceContent($$(this.id).innerHTML);
		
	document.searchform.searchType.value = this.id;
}


function toggleCntryLangSelector() {
	if ($$("cntryLangSelector").className == "cntryLangSelector"){
		$$("cntryLangSelector").removeClass("cntryLangSelector");
		$$("cntryLangSelector").addClass("cntryLangSelector-hidden");

		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
			var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
			
			if (ieversion<7)
				$$("ibeForm").style.display = 'none';
		}

		$$("ctyToolTips").removeClass("tooltips");
		$$("ctyToolTips").addClass("infoHide");
	}
	else{
		$$("cntryLangSelector").removeClass("cntryLangSelector-hidden");
		$$("cntryLangSelector").addClass("cntryLangSelector");
		
		if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ //test for MSIE x.x;
			var ieversion=new Number(RegExp.$1) // capture x.x portion and store as a number
			
			if (ieversion<7)
				$$("ibeForm").style.display = 'block';
		}
		
		$$("ctyToolTips").removeClass("infoHide");
		$$("ctyToolTips").addClass("tooltips");
	}
}


function expandAppItem() {
	hideAll(this.id);
	
	$$(this.id+"Content").removeClass(this.id+"Content-close");
	$$(this.id+"Content").addClass(this.id+"Content-open");
	
	$$(openedPanel+"Tab").removeClass("tabs");
	$$(this.id+"Tab").addClass("selected");
	
	if( $$(this.id+"divider") != null ){
		$$(this.id+"divider").addClass("dividerSelected");
		$$(this.id+"divider").removeClass("divider");
	}
	else{
		$$("rightcorner").addClass("rightselected");
		$$("rightcorner").removeClass("rightcorner");
	}
	
	if(this.id == 'book'){
		$$("leftcorner").addClass("leftselected");
		$$("leftcorner").removeClass("leftcorner");
		
		$$("bookdivider").addClass("dividerSelected");
		$$("bookdivider").removeClass("divider");
	}else{
		$$("leftcorner").removeClass("leftselected");
		$$("leftcorner").addClass("leftcorner");
		
		$$("bookdivider").removeClass("dividerSelected");
		$$("bookdivider").addClass("divider");
	}
		
}


function hideAll(elementName) {
	$$(openedPanel+"Content").removeClass(openedPanel+"Content-open");
	$$(openedPanel+"Content").addClass(openedPanel+"Content-close");
	$$(openedPanel+"Tab").removeClass("selected");
	$$(openedPanel+"Tab").addClass("tabs");
	
	if($$(openedPanel+"divider") != null ){
		$$(openedPanel+"divider").addClass("divider");
		$$(openedPanel+"divider").removeClass("dividerSelected");
	}
	else{
		$$("rightcorner").removeClass("rightselected");
		$$("rightcorner").addClass("rightcorner");	
	}
	
	openedPanel = elementName;
}


function displaySortIndicator() {
	
	for (var i=0; i < arrCols.length; ++i){
		if (arrCols[i] != this.id){
			var unselected = $($$(arrCols[i]).elmsByAttribute("id","sortUnselected","img")[0]);
			if (unselected.className == "sortIndicator-hidden"){
				unselected.removeClass("sortIndicator-hidden");
				unselected.addClass("sortIndicator");
			}
			
			var selectedUp = $($$(arrCols[i]).elmsByAttribute("id","sortSelectedUp","img")[0]);
			if (selectedUp.className == "sortIndicator"){
				selectedUp.removeClass("sortIndicator");
				selectedUp.addClass("sortIndicator-hidden");
			}
			
			var selectedDown = $($$(arrCols[i]).elmsByAttribute("id","sortSelectedDown","img")[0]);
			if (selectedDown.className == "sortIndicator"){
				selectedDown.removeClass("sortIndicator");
				selectedDown.addClass("sortIndicator-hidden");
			}
		}
	}
	
	var selectedUp = $($$(this.id).elmsByAttribute("id","sortSelectedUp","img")[0]);
	var selectedDown = $($$(this.id).elmsByAttribute("id","sortSelectedDown","img")[0]);
	
	if ((unselected.className == "sortIndicator" || selectedDown.className == "sortIndicator-hidden") && selectedUp.className == "sortIndicator-hidden"){
		selectedUp.removeClass("sortIndicator-hidden");
		selectedUp.addClass("sortIndicator");
		
		selectedDown.removeClass("sortIndicator");
		selectedDown.addClass("sortIndicator-hidden");
	}
	else{
		selectedUp.removeClass("sortIndicator");
		selectedUp.addClass("sortIndicator-hidden");
		
		selectedDown.removeClass("sortIndicator-hidden");
		selectedDown.addClass("sortIndicator");
	}
	
	var unselected = $($$(this.id).elmsByAttribute("id","sortUnselected","img")[0]);
	if (unselected.className == "sortIndicator"){
		unselected.removeClass("sortIndicator");
		unselected.addClass("sortIndicator-hidden");
	}
}

function closePopupA(){
	$$("outOfMas").removeClass("outOfMas-hidden");
	$$("outOfMas").addClass("outOfMas");
}

function showImportantNotice(){
	$$("PopupNotice1_imptNotification").removeClass("imptNotification");
	$$("PopupNotice1_imptNotification").addClass("imptNotification-hidden");
}

function closePopupB(){
	$$("PopupNotice1_imptNotification").removeClass("imptNotification-hidden");
	$$("PopupNotice1_imptNotification").addClass("imptNotification");
}

function extSitePop(url){
	externalSiteURL = url;
	$$("outOfMas").removeClass("outOfMas");
	$$("outOfMas").addClass("outOfMas-hidden");
}

function openExtSite(){
	window.open(externalSiteURL);
	toggleLangSelector();
}

function submitSearch(formName){
	if ($$("searchField").value != "Enter your search"){
		var processData = "/"+formName.ctry.value+"/"+formName.locale.value+"/sitesearch.aspx?keyword="+formName.searchField.value;
		document.searchForm.action = processData;
		document.searchForm.submit();
		
	}
}

function openMoviePlayer(path, title){
	var url = '../../includes/player.html?flvPath='+path;
	var title = 'MAS Movie Trailer Player - '+ title;
	var properties = 'menubar=no,width=536,height=376,toolbar=no';
	
	newwindow=window.open(url,'name',properties);
}






DOMAssistant.DOMReady(init);