//show dropdown menu
function showMenus(obj, menutype) {
	if (hideTimer != null) clearTimeout(hideTimer);
	var flagDiv	= "menus";
	var bodyDivRef = document.getElementById(flagDiv);
	var x = 0;
	var y = 0;
				 
	x = getX(obj);
	y = getY(obj);
	x = x;
	y = y+70;
			
	obj.style.backgroundColor ='#4EA0CF';
	
	//hide flag menu, if its still open
	var cultureDiv=document.getElementById("flagPanel");
	if (cultureDiv && cultureDiv.filters && cultureDiv.filters[0] && parseInt(cultureDiv.filters.alpha.opacity)>0) {
		cultureDiv.filters.alpha.opacity=0;
	}
	else if (cultureDiv && typeof cultureDiv.style.opacity!="undefined" && parseFloat(cultureDiv.style.opacity)>0) {
		cultureDiv.style.opacity=0;
	}
	else if (cultureDiv && typeof cultureDiv.style.MozOpacity!="undefined" && parseFloat(cultureDiv.style.MozOpacity)>0) {
		cultureDiv.style.MozOpacity=0;
	}
			
	getStyle(flagDiv).visibility 	= 'visible';
	getStyle(flagDiv).display 	= 'block';
	getStyle(flagDiv).left 			= x + 'px';
	getStyle(flagDiv).top 			= y + 'px';
	
	hideDivs("menuservices");
	hideDivs("menuupdates");
	hideDivs("menudestinations");
	showDivs("menu"+menutype);
			
	if (bodyDivRef.className.indexOf('hidden') > -1)
	{
		bodyDivRef.className = bodyDivRef.className.substring(0, bodyDivRef.className.indexOf('hidden') -1); 
	}
	
	document.getElementById("headerMenu1").style.backgroundColor ='#57A8D5';
	document.getElementById("headerMenu2").style.backgroundColor ='#57A8D5';
	document.getElementById("headerMenu3").style.backgroundColor ='#57A8D5';
	obj.style.backgroundColor ='#4EA0CF';
}

function hideMenus(e, obj) {
	var flagDiv	= "menus";
	var bodyDivRef = document.getElementById(flagDiv);
	
	var evt = e || window.event;
	var relTarg = evt.relatedTarget || evt.toElement;
	if (relTarg) {
	    if (relTarg.id != "menus" && (relTarg.id.indexOf("menu") == -1 && relTarg.id.indexOf("svc") == -1 && relTarg.id.indexOf("upd") == -1 && relTarg.id.indexOf("dst") == -1)) {
	        bodyDivRef.style.visibility = 'hidden';
	        obj.style.backgroundColor = '#57A8D5';
	    }
	}
	else {
	    bodyDivRef.style.visibility = 'hidden';
	    obj.style.backgroundColor = '#57A8D5';
	}
}

function mouseOutMenu(e, obj) {
	var evt = e || window.event;
	var relTarg = evt.relatedTarget || evt.toElement;
	var fromTarg = evt.relatedTarget || evt.fromElement;
	
	if (relTarg) {
		if (relTarg.id!="headerMenu" && relTarg.id.indexOf("menu")>-1 && fromTarg.id.indexOf("menu")==-1) {
			document.getElementById("headerMenu1").style.backgroundColor ='#57A8D5';
			document.getElementById("headerMenu2").style.backgroundColor ='#57A8D5';
			document.getElementById("headerMenu3").style.backgroundColor ='#57A8D5';
		}
		else hide();
	}
	else hide();
}

var wait = 500;
var hideTimer;

function keepOpen()
{
	showDivs('menus');
	if (hideTimer != null)
		clearTimeout(hideTimer);
}

function hide()
{
	hideTimer = setTimeout("hideAll()", wait);
}

function hideAll()
{
	var flagDiv	= "menus";
	var bodyDivRef = document.getElementById(flagDiv);
	bodyDivRef.style.visibility='hidden';
	
	document.getElementById("headerMenu1").style.backgroundColor ='#57A8D5';
	document.getElementById("headerMenu2").style.backgroundColor ='#57A8D5';
	document.getElementById("headerMenu3").style.backgroundColor ='#57A8D5';
}
//end of menu

//show - hide divs
function showDivs(bodyDiv)
{
    var bodyDivRef = document.getElementById(bodyDiv);
    if (bodyDivRef)
    {
        if (bodyDivRef.style.display == 'none' || bodyDivRef.className.indexOf('hidden') > -1)
        {
            bodyDivRef.style.display = 'block';

            if (bodyDivRef.className.indexOf('hidden') > -1)
            {
                bodyDivRef.className = bodyDivRef.className.substring(0, bodyDivRef.className.indexOf('hidden') -1); 
            }
        }
    }
}

function hideDivs(bodyDiv)
{
    var bodyDivRef = document.getElementById(bodyDiv);
    if (bodyDivRef)
    {
        bodyDivRef.style.display = 'none';
    }
}
//end show hide

//Hints javascript
var defaultXOffset	= 0;
var defaultYOffset	= 0;
var hintDiv = "";
var hintBelowDiv = "";
var hintContent = "";
var hintBelowContent = "";

function showHintArrow(obj)
{
    hintDiv = "cssHelp";
    hintBelowDiv = "cssHint";
    hintContent = "markhelp";
    hintBelowContent = "markhelpbelow";

    var x = 0;
    var y = 0;
     
	    x 							= getX(obj);
	    y 							= getY(obj);
		y							= y-28;
	    
	
	var hintHtml = '';
	
	//Get culture XML hint
	if (obj.getAttribute('hint') != null)
		hintHtml += obj.getAttribute('hint');
	
	getObject(hintContent).innerHTML = hintHtml;
	getStyle(hintDiv).visibility 	= 'visible';
	getStyle(hintDiv).left 			= x + 'px';
	getStyle(hintDiv).top = y + 'px';
}

function hideHintArrow(obj)
{
	getStyle(hintDiv).visibility 	= 'hidden';
}

function showHintBelow(obj) {

    hintDiv = "cssHelp";
    hintBelowDiv = "cssHint";
    hintContent = "markhelp";
    hintBelowContent = "markhelpbelow";
    
    var x = 0;
    var y = 0;

    x = getX(obj);
    y = getY(obj);
    y = y + 25;


    var hintHtml = '';

    //Get culture XML hint
    if (obj.getAttribute('hint') != null)
        hintHtml += obj.getAttribute('hint');

    getObject(hintBelowContent).innerHTML = hintHtml;
    getStyle(hintBelowDiv).visibility = 'visible';
    getStyle(hintBelowDiv).left = x + 'px';
    getStyle(hintBelowDiv).top = y + 'px';
}

function hideHintBelow(obj) {
    getStyle(hintBelowDiv).visibility = 'hidden';
}

function showNotificationBox(obj, type)
{
    hintDiv = "boxNotificationPromo";

    var x = 0;
    var y = 0;
     
	    x = getX(obj);
	    y = getY(obj);
	    x = x;
		y = y-100;	    
	
	var hintHtml = '';
	
	getStyle(hintDiv).visibility 	= 'visible';
	getStyle(hintDiv).left 			= x + 'px';
	getStyle(hintDiv).top = y + 'px';
	
	if (type=="minimaldate") {
	showDivs(type);
	hideDivs("blackoutdate");
	}
	else {
	showDivs(type);
	hideDivs("minimaldate");
	}
}
function hideNotificationBox() {
    hintDiv = "boxNotificationPromo";
    getStyle(hintDiv).visibility = 'hidden';
}

function erase (element, defaultValue)
{
	if (element.value == defaultValue)
	{
		element.value = "";
	}
}

function set (element, defaultValue)
{
	if (element.value == "")
	{
		element.value = defaultValue;
	}
}

function getX(obj)
{
	var pos = 0;
	if (obj.x)	// N4
	{
		pos += obj.x;
	}
	else if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
		    pos += obj.offsetLeft;
			obj	 = obj.offsetParent;
		}
	}
	
	return pos;
}

function getY(obj)
{
    var count = 0;
	var pos = 0;
	if (obj.y) // netscape 4
		pos += obj.y;
	else if (obj)
	{
	     while(obj){		
	     pos+=obj.offsetTop;
		 obj=obj.offsetParent;
 	    }
	}
	return pos;
}

function getObject(name)
{
	if (document.getElementById) return document.getElementById(name);
	if (document.all) return document.all[name];
	if (document.layers)
	{
		if (document.layers[name]) return document.layers[name];
		else return document.layers[name].layers[name];
	}
}

function getStyle(name)
{
	if (document.getElementById) return document.getElementById(name).style;
	if (document.all) return document.all[name].style;
	if (document.layers)
	{
		if (document.layers[name]) return document.layers[name];
		else return	this.style = document.layers[name].layers[name];
	}
}

//End of hints

//show - hide update booking panel
function showBookPanel(controlID) {
    var supdatebookingpanel = "updatebookingpanel";
    var sbookpanelrestore = "bookpanelrestore";
	
	var sbookpaneltemp = document.getElementById("bookpaneltemp");
	var temppanel = document.getElementById("paneljourney");
    if (temppanel.style.display != 'none' || temppanel.className.indexOf('hidden') > -1) {
        document.getElementById(supdatebookingpanel).style.height = "38px";
        document.getElementById(sbookpanelrestore).style.background="url(images/MandalaBase/icon-restore.gif)";
        showDivs("line1");
        if (sbookpaneltemp) showDivs("bookpaneltemp");
        document.getElementById("divBookingPanelCompact").className = "bookingPanelMini";
        hideDivs("paneljourney");
        hideDivs("panelpax");
        hideDivs("btnprmsubmit");
        hideDivs("btnbookingpanel");
        document.getElementById("btnbookingpanel").className = "floatLeft hidden w50";
        document.getElementById("pointupdate").className = "cursorPointer font15 floatLeft fontBold";
        document.getElementById("wrapbutton").className="linkButtonWrapper";
        document.getElementById(controlID+"_DropDownListMarketDay1Header").className = "floatLeft marginTop5 marginRightTiny";
        document.getElementById(controlID+"_DropDownListMarketDay2Header").className = "floatLeft marginTop5 marginRightTiny";
        document.getElementById("ddMarketDate1").className="floatLeft";
        document.getElementById("ddMarketDate2").className="floatLeft";
        document.getElementById("paneldates").className = "floatLeft w11";
        document.getElementById("panelpax").className = "floatLeft hidden";
        document.getElementById("wrappaneltemp").className = "w470";
    } else {
        document.getElementById(supdatebookingpanel).style.height = "200px";
        document.getElementById(sbookpanelrestore).style.background="url(images/MandalaBase/icon-restore-2.gif)";
        hideDivs("line1");
        if (sbookpaneltemp) hideDivs("bookpaneltemp");
        document.getElementById("divBookingPanelCompact").className = "bookingPanelCompact";
        showDivs("paneljourney");
        showDivs("panelpax");
        hideDivs("btnprmsubmit");
        showDivs("btnbookingpanel");
        document.getElementById("btnbookingpanel").className = "marginSmlr w50";
        document.getElementById("pointupdate").className = "cursorPointer font15 fontBold";
        document.getElementById("wrapbutton").className="linkButtonWrapper";
        document.getElementById(controlID+"_DropDownListMarketDay1Header").className = "marginRightTiny";
        document.getElementById(controlID+"_DropDownListMarketDay2Header").className = "marginRightTiny";
        document.getElementById("ddMarketDate1").className="";
        document.getElementById("ddMarketDate2").className="";
        document.getElementById("paneldates").className = "floatLeft w56";
        document.getElementById("panelpax").className = "floatLeft";
        document.getElementById("wrappaneltemp").className = "w730";
    }
}

function showSchedBeforeAfter(imarket, idate) {
	var pricepanel = document.getElementById("bestPrice"+imarket+idate);
	var schedpanel = document.getElementById("schedDate"+imarket+idate);
	
	if (schedpanel.style.display == 'none' || schedpanel.className.indexOf('hidden') > -1) {
		showDivs("schedDate"+imarket+idate);	
		hideDivs("bestPrice"+imarket+idate);
		document.getElementById("arrowsched"+imarket+idate).style.background="url(images/MandalaBase/icon-sched-up.gif)";
	}
	else {
		hideDivs("schedDate"+imarket+idate);	
		showDivs("bestPrice"+imarket+idate);
		document.getElementById("arrowsched"+imarket+idate).style.background="url(images/MandalaBase/icon-sched-down.gif)";
	}
}
//end show booking panel

//flag mouseout - in
function changeFlag(obj) {
    if (obj.className == "flagOut") {
        obj.className = "flagIn";
    }
    else if (obj.className == "flagIn") {
        obj.className = "flagOut";
    }
}

function showFlagPanel(obj) {
    var flagDiv = "flagPanel";
    var bodyDivRef = document.getElementById(flagDiv);
    if (bodyDivRef.style.visibility == 'hidden' || bodyDivRef.className.indexOf('hidden') > -1) {
        var x = 0;
        var y = 0;

        x = getX(obj);
        y = getY(obj);
        x = x - 70;
        y = y + 25;

        getStyle(flagDiv).visibility = 'visible';
        getStyle(flagDiv).left = x + 'px';
        getStyle(flagDiv).top = y + 'px';

        fadein();
        hideFlag();

        if (bodyDivRef.className.indexOf('hidden') > -1) {
            bodyDivRef.className = bodyDivRef.className.substring(0, bodyDivRef.className.indexOf('hidden') - 1);
        }
    }
    else {
        fadeout();
    }
}

function fadein() {
    var divs = "flagPanel";
    objDiv = document.getElementById(divs);
    if (objDiv) pull();
}

function fadeout() {
    var divs = "flagPanel";
    if (objDiv) draw();
}

function pull() {
    if (typeof window.drawit != "undefined") clearInterval(drawit);
    pullit = setInterval("pullengine()", 50);
}

function draw(objDiv) {
    if (typeof window.pullit != "undefined") clearInterval(pullit);
    drawit = setInterval("drawengine()", 10)
}

function pullengine() {
    if (objDiv && objDiv.filters && objDiv.filters[0] && (parseInt(objDiv.filters.alpha.opacity) < 100 || parseInt(objDiv.filters.alpha.opacity) == 0)) {
        objDiv.filters.alpha.opacity = parseInt(objDiv.filters.alpha.opacity) + 10;
    }
    else if (objDiv && objDiv.style.opacity != "undefined" && parseFloat(objDiv.style.opacity) < 1) {
        objDiv.style.opacity = parseFloat(objDiv.style.opacity) + 0.1;
    }
    else if (objDiv && objDiv.style.MozOpacity != "undefined" && parseFloat(objDiv.style.MozOpacity) < 1) {
        objDiv.style.MozOpacity = parseFloat(objDiv.style.MozOpacity) + 0.1;
    }
    else if (window.pullit) {
        clearInterval(pullit);
    }
}

function drawengine() {
    if (objDiv && objDiv.filters && objDiv.filters[0] && parseInt(objDiv.filters.alpha.opacity) > 0) {
        objDiv.filters.alpha.opacity = parseInt(objDiv.filters.alpha.opacity) - 10;
    }
    else if (objDiv && typeof objDiv.style.opacity != "undefined" && parseFloat(objDiv.style.opacity) > 0) {
        objDiv.style.opacity = parseFloat(objDiv.style.opacity) - 0.1;
    }
    else if (objDiv && typeof objDiv.style.MozOpacity != "undefined" && parseFloat(objDiv.style.MozOpacity) > 0) {
        objDiv.style.MozOpacity = parseFloat(objDiv.style.MozOpacity) - 0.1;
    }
    else if (window.drawit) {
        clearInterval(drawit);
        objDiv.style.visibility = 'hidden';
    }
}

var waitFlag = 1000;
var hideTimerFlag;

function mouseOutMenuFlag(e, obj) {
    var evt = e || window.event;
    var relTarg = evt.relatedTarget || evt.toElement;
    var fromTarg = evt.relatedTarget || evt.fromElement;

    if (relTarg.id != "flagPanel" && relTarg.id.indexOf("flag") > -1 && fromTarg.id.indexOf("flag") == -1) {
        fadeout();
    }
    else hideFlag();
}

function keepOpenFlag() {
    showDivs('flagPanel');
    if (hideTimerFlag != null)
        clearTimeout(hideTimerFlag);
}

function hideFlag() {
    hideTimerFlag = setTimeout("hideAllFlag()", waitFlag);
}

function hideAllFlag() {
    fadeout();
}
//end of flag

//show booking panel compact button
function showCompactButton(divPanel) {
    if (divPanel == "promo") {
        showDivs("btnprmsubmit");
        hideDivs("btnbookingpanel");
    }
    else {
        showDivs("btnbookingpanel");
        hideDivs("btnprmsubmit");
    }
}
//end compact button

function getPaymentCode(bookingcode) {
    var map = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var returnode = "";
    var i = 0;
    var res = 0;
    var smt = 0;
    var j = 0;

    for (i = 1; i <= 6; i++) {
        j = Math.pow(36, (6 - i));
        smt = InStr(map, Mid(bookingcode, i - 1, 1));
        res = res + (j * smt);
    }

    res = 7000000000 + res;
    returncode = "789" + res;

    return (returncode);
}
function InStr(strSearch, charSearchFor) {
    for (i = 0; i < Len(strSearch); i++) {
        if (charSearchFor == Mid(strSearch, i, 1)) {
            return i;
        }
    }
    return -1;
}
function right(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }
}

function Mid(str, start, len) {
    if (start < 0 || len < 0) return "";

    var iEnd, iLen = String(str).length;
    if (start + len > iLen)
        iEnd = iLen;
    else
        iEnd = start + len;

    return String(str).substring(start, iEnd);
}

function Len(str) {
    return String(str).length;
}

function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search)
        if (offset != -1) {
            offset += search.length
            end = document.cookie.indexOf(";", offset);
            if (end == -1) end = document.cookie.length;
            returnvalue = unescape(document.cookie.substring(offset, end))
        }
    }
    return returnvalue;
}

function getAutoSSR(paxcount) {
    if (get_cookie("plsgrdpax") == 0) {
        document.cookie = "plsgrdpax=" + paxcount;
        __doPostBack('ControlGroupSelectView$SSRMarketInputSelectView$LinkButtonSaveSSRRequests', '');
    }
}

var isNN = (navigator.appName.indexOf("Netscape") != -1);

function autoTab(input, len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode;

    var filter = (isNN) ? [0, 8, 9] : [0, 8, 9, 16, 17, 18, 37, 38, 39, 40, 46];

    if (input.value.length >= len && !containsElement(filter, keyCode)) {

        input.value = input.value.slice(0, len);
        changeCCNumber();
        input.form[(getIndex(input) + 1) % input.form.length].focus();
    }


    function containsElement(arr, ele) {
        var found = false, index = 0;

        while (!found && index < arr.length)

            if (arr[index] == ele)

            found = true;

        else

            index++;

        return found;

    }

    function getIndex(input) {
        var index = -1, i = 0, found = false;

        while (i < input.form.length && index == -1)

            if (input.form[i] == input) index = i;

        else i++;

        return index;

    }
    return true;

}

//show-hide price inclusive panel
function tooglePriceInclusive() {
    var panelInclusive = document.getElementById("priceDisplayBody");
    var obj = document.getElementById("inclusiveArrow");

    if (panelInclusive) {
        if (panelInclusive.style.display == 'none' || panelInclusive.className.indexOf('hidden') > -1) {
            showDivs("priceDisplayBody");
            obj.style.background = "url(images/MandalaBase/icon-restore-2.gif)";
        }
        else {
            hideDivs("priceDisplayBody");
            obj.style.background = "url(images/MandalaBase/icon-restore.gif)";
        }
    }
}
function toogleAutoPromo() {
    var panelInclusive = document.getElementById("promoDisplayBody");
    var obj = document.getElementById("autoPromoArrow");

    if (panelInclusive) {
        if (panelInclusive.style.display == 'none' || panelInclusive.className.indexOf('hidden') > -1) {
            showDivs("promoDisplayBody");
            obj.style.background = "url(images/MandalaBase/icon-restore-2.gif)";
        }
        else {
            hideDivs("promoDisplayBody");
            obj.style.background = "url(images/MandalaBase/icon-restore.gif)";
        }
    }
}
//end price inclusive
function generateFrame(tblHTM, cookieID, bookingCode, pageCulture)
{
    var jsFrame =  document.getElementById('ccAddr');
	var linkFrame = "http://www.mandalaair.com/payment/creditcard/view-payment.aspx?sID=" + cookieID + "&sLoc=" + bookingCode + "&culture=" + pageCulture;
    if (jsFrame)
    {
        var tblID = "<div class='sectionHeader overflowHidden'>";
        tblID = tblID + "<img id='iconCCPayment' class='verticalMiddle floatLeft' height='25' width='32' alt='payment' src='images/MandalaBase/panel-itinpayment.gif'/>";
        tblID = tblID + "<div class='sectionHeaderText'>" + tblHTM + "</div>";
        tblID = tblID + "</div>";
        tblID = tblID + "<div class='sectionContent'>";
        tblID = tblID + "<div class=divFrame><iframe src='" + linkFrame + "' frameborder='0' width='95%' height='240px'></iframe></div>";
        tblID = tblID + "</div><div class='sectionFooter'></div>";
        
        jsFrame.innerHTML = tblID;
    }
}
function getElementsByName_iefix(tag, name) {
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}