﻿//Utilities
$(document).ready(function() {
    //Configure metro windows like trip planner, transit info, etc, the links for these windows are supposed to have metro as in their css class
    ConfTripLinks();

    //Configure external links
    SetLinksTarget();
});

function ConfTripLinks() {
    $(".triplinks").bind("click", function() {
        var metro = $(this).hasClass("metroDetail");
        var width = "420px";
        if (metro) {
            width = "320px";
        }
        window.open($(this).attr("href"), "metro", "height=480, width=" + width);
        return false;
    });
}

function SetLinksTarget() {
    jQuery('a[href^=http]').each(function() {
        var path = location.pathname;
        if (this.host.indexOf(location.host) == -1) {
            this.target = "_blank";
        }
    });
}

function IsEmpty(val) {
    if (val == undefined || val == null || val == '') {
        return true;
    }
    return false;
}

function transitinfo(theid1) {
    day = new Date();
    id = day.getTime();
    var URL = "http://ww1.experiencela.com/td.asp?value1=" + theid1;
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=360,height=400,left = 262,top = 34');");
}

function popUpdrive(address, city, zip) {
    day = new Date();
    id = day.getTime();
    var URL = "http://ww1.experiencela.com/drivedirections.asp?address=" + address + "&City=" + city + "&Zip=" + zip;
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=435,height=480,left = 262,top = 34');");
}

function getAjaxUrl(url) {
    if (window.location.hostname.search("localhost") > -1) {
        if (url.search("\\?") == -1) {
            return url + "?t=" + (new Date()).getTime();
        }
        return url + "&t=" + (new Date()).getTime();
    }
}

function DiableEmptyLinks(container) {
    $("a", container).filter("[href=''],[href=null]").each(function() {
        $(this).attr("disabled", true);
        $(this).removeAttr("href");
        $(this).addClass("disabled");
    });
    $("img[Src='']", container).hide();
}
//Utilities


//Grid.js
function ConfigureGridLinks(gridId, tab) {
    var list = "list";
    if (!IsEmpty(gridId)) {
        list = gridId;
    }
    if (!IsEmpty(tab)) {
        $(".Paging", "#" + list).each(function() {
            var cPager = $(this);
            $("a", cPager).bind("click", function() {
                var div = $("<div></div>");
                // $("a.Pages", $("#divPager")).detach();
                var href = $(this).attr("href");
                if (!IsEmpty(href)) {
                    $("#" + list).load(href + "&tab=" + tab + "&tabonly=true" + " #" + list, null, function() { ConfigureGridLinks(list, tab); ConfTripLinks(); });
                }
                return false;
            });
        });
    }
    DiableEmptyLinks($("#" + gridId));
}
//Grid.js


//Community.js
function GoogleGadget() {
    var url = "/GoogleGadget";
    POPUPW = window.open(url, 'POPUPW', 'width=650,height=780');
    POPUPW.focus();
}
//Community.js


//home.js
$(document).ready(function() {
    $("#weeklypoll").bind("click", function() {

        $("#dpoll").html(
        "<iframe src=\"" + pollUrl + "\"" +
            "frameborder=\"0\" width=\"300\" height=\"280\" style=\"overflow: hidden\" title=\"XLA Poll\">" +
            "<noframes><a href=\"" + pollUrl + " title=\"XLA Poll\">XLA Poll</a></noframes>" +
        "</iframe>");

        var src = $("#frm", $("#dpoll")).attr("src");
        $("#frm", $("#dpoll")).attr("src", src);
        $("#dpoll").dialog('open');
        //RestyleDialog();
        return false;
    });

    $("#dpoll").dialog({ width: "300px",
        //position: [488,100],
        modal: true,
        closeOnEscape: true,
        title: "XLA Poll",
        draggable: false,
        resizable: false,
        autoOpen: false
    });
});

function RestyleDialog() {
    alert($("#frm").html());
    $("body").removeAttr("bgcolor");
}

function calendarInit() {
    $("#datepicker").datepicker({
        minDate: 0,
        dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
        onSelect: function(dateText, inst) {
            var url = "http://" + location.host + "/calendar?&date=" + dateText + "-" + dateText;
            window.location = url;
        }
    });
}
//home.js


//Search.js
function SearchInit() {
    $("#pnlSearch .advanceGo").bind("click", function() {
        var seltab = $("#pnlSearch input:radio[checked]").val();
        SetSelected(seltab);
        LoadSearch(1);
        return false;
    });
    SetSelected();
    BindLinkSelection();
    LoadSearch(1);
}

function SetSelected(selTab) {
    var show = 'events'; //default
    if (!IsEmpty(selTab)) {
        show = selTab;
    }
    else {
        var url = document.URL;
        if (url.split('?').length > 1) {
            url = url.split('?')[1];
            var params = url.split('&');
            for (var i = 0; i < params.length; i++) {
                var key = params[i].split('=')[0];
                if (key == 'tab') {
                    show = params[i].split('=')[1];
                    $("#pnlSearch input:radio").removeAttr("checked");
                    $("#pnlSearch input:radio[value='" + show + "']").attr("checked", "true");
                }
            }
        }
    }
    $("#pnlSearch .tabNavigation a").removeClass("selected");
    $("#pnlSearch .tabNavigation a[show=" + show + "]").addClass("selected");
}

function BindLinkSelection() {
    $("#pnlSearch .tabNavigation a").bind("click", function() {
        $("#pnlSearch .tabNavigation a").removeClass("selected");
        $(this).addClass("selected");
        var show = $(this).attr("show");
        //radio
        $("#pnlSearch input:radio").removeAttr("checked");
        $("#pnlSearch input:radio[value='" + show + "']").attr("checked", "true");
        LoadSearch(1);
        return false;
    });
}

function LoadSearch(page) {
    var sellink = $("#pnlSearch .tabNavigation a.selected");
    var show = $(sellink).attr("show");
    var url = $(sellink).attr("searchUrl");
    var destList = $(sellink).attr("destList");
    if (IsEmpty(show))
        show = "events";
    if (IsEmpty(page))
        page = "1";

    var searchText = $("#pnlSearch input:text").val();
    $('#gsearchHolder').hide();
    $('#result').show();
    if (!IsEmpty(searchText)) {
        if (show == "events") {
            $("#result").load(url + "&keyword=" + escape(searchText) + "&page=" + page + " #" + destList, null, function(res) {
                ConfigureSearchGridLinks();
            });
        }
        else if (show == "destinations") {
            $("#result").load(url + "&keyword=" + escape(searchText) + "&page=" + page + " #" + destList, null, function(res) {
                ConfigureSearchGridLinks();
            });
        }
        else if (show == "pages") {
            $('#result').hide();
            $('#gsearchHolder').show();
            var keywords = $('#ctl00_ctl00_C_LC_txtSearch').val();
            if (keywords.length > 0) {
                searchControl.execute(keywords);
            }
        }
        //        else if (show == 'promos') {
        //            $("#result").load(url + "&$filter=substringof('" + searchText + "',Title)&page=" + page + " #" + destList, null, function(res) {
        //                ConfigureSearchGridLinks();
        //            });
        //        }
    }
}

function ConfigureSearchGridLinks() {
    $("#pnlSearch .Paging a").bind("click", function() {
        LoadSearch($(this).attr("pagenum"));
        return false;
    });
    DiableEmptyLinks($("#pnlSearch"));
}
//Search.js


//Newsletter.js
$(document).ready(function() {
    $("#required").hide();
});

function NoPostBack() {
    var myRegxp = /[\d\w]+@[\w]+\.[A-Za-z]+$/i;
    if (!myRegxp.test($("#emailID").val())) {
        $("#required").show();
        return;
    }
    var url = "/NewsletterSubscribe?email=";
    url = url + $("#emailID").val();
    POPUPW = window.open(url, 'POPUPW', 'width=500,height=400');
    POPUPW.focus();
    $("#emailID").val("");
    $("#required").hide();
}
//Newsletter.js


//map.js
function bindMap() {
    var events = "";
    var count = 0;

    $("a[geoId]").each(function() {
        count++;
        events += $(this).attr("geoId") + ", ";
    });

    if (events != "") {
        events = events.substring(0, events.length - 2);
        if (!IsMicroSite("LAArtsMonthSite")) {
            eventLayer.Param.ids = events;
            eventLayer.removeAllOverlays(cgm);
            if (cgm.findLayer("Event") != null) {
                eventLayer.bind(cgm, cgm.centerByLayerBounds());
            }
            else {
                cgm.addLayer(eventLayer);
            }
        }
    }

    //Map numbering icon
    var num = 0;
    $("#flist .mapImg[Geo='True']").each(function() {
        num = num + 1;
        $(this).attr("src", "/webservices/mapicon.ashx?text=" + num);
        $(this).show();
        $(this).parent("a").bind("click", function() {
            $(this).show();
            openEventGeo($(this).attr("GeoID"));
            return false;
        });
    });
}
//map.js


//HomepagePartners.js
function getLeaf(url) {
    var first = url.indexOf("/");
    var last = url.lastIndexOf("/");
    if (first == 0) {
        if (last == url.length - 1) {
            return url;
        }
        else {
            return url.substring(last);
        }
    }
    if (last == url.length - 1) {
        first = url.indexOf("/", 10);
        return url.substring(first);
    }
    else {
        return url.substring(last);
    }
}

$(document).ready(function() {
    $('#eventcarousel').jcarousel({
        buttonPrevHTML: '',
        buttonNextHTML: '',
        scroll: 1,
        visible: 3,
        start: 1,
        initCallback: mycarousel_initCallback
    });
});

function mycarousel_initCallback(carousel) {
    var current = getLeaf(location.href);
    $icons = $('#eventcarousel').find("img");
    for (i = 0; i < $icons.length; i++) {
        if ($icons.eq(i).attr("src") == current) {
            carousel.options.start = i + 1;
        }
    }
    $('#CBrt').bind('click', function() {
        carousel.next();
        return false;
    });

    $('#CBlf').bind('click', function() {
        carousel.prev();
        return false;
    });
}
//HomepagePartners.js


//Events.js
function initTabs(nav) {
    $("#" + nav + " a").click(function() {
        $("#" + nav + " a").removeClass("selected");
        $(this).addClass("selected");
        SelectTab($(this).attr("show"));
        return false;
    });
}

function SelectTab(tab) {
    $("#" + tab).siblings("div").hide();
    $("#" + tab).show();
}
//$(document).ready(function() {
//    // ConfigureGridLinks();
//    $("#hevent a").each(function() {
//        $(this).bind("click", function() {
//            $("#content").load($(this).attr("href") + "&tabonly=true #content", function() { DiableEmptyLinks($("#content")); });
//            $("#hevent a").removeClass("selected");
//            $(this).addClass("selected");
//            return false;
//        });
//    });
//    var showtab = $("#content .tabevt:first").attr("tab")
//    $("#hevent li").filter("[tab=" + showtab + "]").children("a").addClass("selected");
//});
//Events.js


//$(document).ready(function() {
//    ConfigureGridLinks("divGridA", "eventPromoList");
//    ConfigureGridLinks("divGridB", "adventuresSlider");
//    ConfigureGridLinks("divGridA", "adventures");
//});

function openWindow(url, name) {
    popupWin = window.open(url, name, 'toolbar=no,menubar=no,loction=no,scrollbars=yes,resizable=yes, width=600,height=600');
    popupWin.focus();
}
