// Assembly: OceaniaSite
////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Controls.Common.PortSelector.ascx.js
function PortSelector(clientid) {
	var list = document.getElementById(clientid + "_portName");
	var link = document.getElementById(clientid + "_cmdGo");
	list.onchange = function() {
		link.href = list.value;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Controls.Common.LandProgramInfo.ascx.js
function LandProgramInfo(clientid) {
    var list = document.getElementById(clientid + "_cruiseChoice");
    var link = document.getElementById(clientid + "_cmdGo");
    list.onchange = function() {
        link.href = list.value;
    }
    link.href = "javascript:void(0);";
}////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Masters.Site.Master.js
function showDiningRateRules() {
	Shadowbox.open({
		player: 'iframe',
		content: '/layers/dining/raterules.aspx',
		width: 500,
		height: 300
	});
} 
function show3dView(image) {
    Shadowbox.open({
        player: 'iframe',
        content: image,
        width: 400,
        height: 300
    });
}
function showMarina3dView(image) {
    Shadowbox.open({
        player: 'iframe',
        content: image,
		width:      626,
		height:     423
    });
}
function showVirtualTour(url) {
	Shadowbox.open({
		player:		'iframe',
		content:	url,
		width:      640,
		height:     295
	});
}

function showAdvancedSearch() {
	Shadowbox.open({
		player:		'iframe',
		content:	'/layers/advancedsearch.aspx',
		width:      886,
		height:     453
	});
}
function showDeckPlanFlash(shipId) {
	Shadowbox.open({
		player:		'iframe',
		content: '/layers/interactiveDeckplan.aspx?shipId=' + escape(shipId),
		width:      950,
		height:     560
	});
}

function showSendToAFriend(voyageid) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/sendtoafriend.aspx?voyageid=' + escape(voyageid),
        width: 579, //886
        height: 523 //453
    });
}
function showSendRegionToAFriend(regionid) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/sendtoafriend.aspx?regionid=' + escape(regionid),
        width: 579, //886
        height: 523 //453
    });
}
function showExcursion(id) {
    Shadowbox.open({
        player:     'iframe',
        content:    '/layers/excursion.aspx?excursionid=' + escape(id),
        width:      836,
        height:     367
    });
}
function showMap(voyageid) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/enlargemap.aspx?voyageid=' + escape(voyageid),
        width: 602,
        height: 376
    });
}

function showImage(imgSrc) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/enlargeimage.aspx?imgSrc=' + escape(imgSrc),
        width: 602,
        height: 376
    });
}

function showRequestAQuote(voyageid) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/requestaquote.aspx?voyageid=' + escape(voyageid),
        width: 800,
        height: 600
    });
}

function showSendQuote(voyageid) {
	Shadowbox.open({
        player: 'iframe',
        content: '/layers/sendquote.aspx?voyageid=' + escape(voyageid),
        width: 836,
        height: 364
    });
		
}
function showPlanConflict() {
    showHtmlElement({
        elementid: "planConflict",
        width: 500,
        height: 200
    });
}

function showStateroomCategory(voyageid, srcid) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/stateroomcategory.aspx?voyageid=' + escape(voyageid) + '&srcid=' + escape(srcid),
        width: 810,
        height: 435
    });
} 

function showStateroomCategoryGroup(voyageid, srcgid) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/stateroomcategorygroup.aspx?voyageid=' + escape(voyageid) + '&srcgid=' + escape(srcgid),
        width: 921,
        height: 289
    });
}

function showMayWeHelpYou(tags) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/maywehelpyou.aspx?tags=' + escape(tags),
        width: 650,
        height: 376
    });
}

function showLiveShipViews(loc) {
    Shadowbox.open({
        player: 'iframe',
        content: '/layers/liveshipviews.aspx?CamLoc=' + escape(loc),
//        width: 650,
//        height: 550
        width: 809,
        height: 437
    });
}

function showTerms() {
	Shadowbox.open({
		player: 'iframe',
		content: '/layers/terms.aspx?',
		width: 836,
		height: 367
	});
}

function showCancelTerms() {
	Shadowbox.open({
		player: 'iframe',
		content: '/layers/cancelterms.aspx?',
		width: 836,
		height: 367
	});
}

function showRateRestrictions(rateCode, voyageId) {
	Shadowbox.open({
		player: 'iframe',
		content: '/layers/raterestrictions.aspx?rateCode=' + escape(rateCode) + '&voyageId=' + escape(voyageId),
		width: 718,
		height: 320
	});
}

/*
    showHtmlElement(args)
    
    Displays an HTML element inside the shadowbox. Corrects for shadowbox_container being outside form.
    Accounts for document.getElementId failing after the shadowbox is disposed.
    ** DO NOT CALL WITH GetElementById! IT WILL FAIL THE SECOND TIME **
                                                        -Alan
    Usage:
    showHtmlElement({
        [elementid: "elementid",]
        [element: myelement]
        width: 302,
        height: 101
    });

*/
var she_cache = {};
function showHtmlElement(args) {

    var element;
    if (args.element) {
        element = args.element;
    } else {
        if (she_cache[args.elementid]) {
            element = she_cache[args.elementid];
        } else {
            element = she_cache[args.elementid] = document.getElementById(args.elementid);
        }
    }
    
    args.player = 'html';
    args.content = '<div id="sb_html"></div>';
    Shadowbox.open(args);
    var i = setInterval(function() {
        var ih = document.getElementById("sb_html");
        if (ih) {
            clearInterval(i);
            ih.appendChild(element);
        }
    }, 30);
    //document.forms[0].appendChild(document.getElementById("shadowbox_container"));
}

function showMarinaIntroVideo() {
	Shadowbox.open({
		player:		'iframe',
		content:	'/layers/marinaintrovideo.aspx',
		width:      626,
		height:     423
	});
}


function trackLoginRegister(trackingEvent) {
    if (s_gi) {
        var s = s_gi('oceania-dev');
        s.linkTrackVars = 'eVar31,events';
        s.linkTrackEvents = 'event3';
        s.eVar31 = trackingEvent;
        s.events = 'event3';
        s.tl(this, 'o', 'Registration');
    }
}////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Controls.Common.HotelInfo.ascx.js
function HotelInfo(clientid) {
    var list = document.getElementById(clientid + "_cruiseChoice");
    var link = document.getElementById(clientid + "_cmdGo");
    list.onchange = function() {
        link.href = list.value;
    }
    link.href = "javascript:void(0);";
}////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Controls.FindCruise.Cruise.Hotels.ascx.js
function HotelsDetails(clientid, args) {
    function createDelegate(o, f) {
        return function() {
            o.___delegate = f;
            o.___delegate();
        }
    }
    function dropdown_change() {
    	var found = false;
        var addlink = document.getElementById(this.hotel.clientid + "_add");
        for (var t = 0; t < this.hotel.vhrts.length; t++) {
            var vhrt = this.hotel.vhrts[t];
            var panel = document.getElementById(this.hotel.clientid + "_" + vhrt.id);
             //TODO: Only allows addlink to display if last option is selected
            if (vhrt.id == this.value) {
            	found = true;
            	panel.style.display = "";
            } else {
	            panel.style.display = "none";
            }
        }
        if (found) {
        	if (addlink) {
        		addlink.style.display = "";
        	}
        } else {
        	if (addlink) {
        		addlink.style.display = "none";
        	}
        }
    };

    function radio_onclick() {
        this.link.href = this.value;
    }
    var arrays = [args.preHotels, args.postHotels];
    for (var a = 0; a < arrays.length; a++) {
        var array = arrays[a];
        for (var h = 0; h < array.length; h++) {
            // per hotel. (Drop down list)
            var hotel = array[h];
            var dropdown = document.getElementById(hotel.clientid + "_roomType");
            var link = document.getElementById(hotel.clientid + "_add");
            dropdown.hotel = hotel;
            dropdown.onchange = dropdown_change;
            dropdown.onchange();
            for (var t = 0; t < hotel.vhrts.length; t++) {
                // per Hotel room type. (drop down option, pricing panel)
                var vhrt = hotel.vhrts[t];
                for (var n = 0; n < vhrt.nights.length; n++) {
                    // per price (radio button, price)
                    var night = vhrt.nights[n];
                    var radio = document.getElementById(hotel.clientid + "_" + vhrt.id + "_" + night);
                    if (link) {
                        if (radio) {
                            radio.link = link;
                            radio.onclick = createDelegate(radio, radio_onclick);
                        }
                    }
                }
            }
        }
    }
}////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Controls.Common.NavDropDownList.ascx.js
function btnGo_Clicked(ddlId)
{
    var ddl = document.getElementById(ddlId);
    if (ddl)
    {
        var selectedURL = ddl.options[ddl.selectedIndex].value;
        
        if ((selectedURL != null) && (selectedURL.length > 0))
            window.location = selectedURL;
    }
    return false;
}////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Masters.CruiseDetails.master.js
////////////////////////////////////////////////////////////////////////////////////////////////////
// OceaniaSite.Controls.Common.ExcursionInfo.ascx.js
function ExcursionInfo(clientid) {
    var list = document.getElementById(clientid + "_cruiseChoice");
    var link = document.getElementById(clientid + "_cmdGo");
    list.onchange = function() {
        link.href = list.value;
    }
    link.href = "javascript:void(0);";
}