/* variables for getting current mouse x,y coords */
var px = 0;
var py = 0;
var userid = 0;
var username = "";
var isadmin = false; //EIP-ADDED
var templateEdit = false; //EIP-ADDED

//ajax navigation vars
var mainLoaded = false;
var navLoaded = false;
var crumbsLoaded = false;

(function ($) {
    var cache = [];
    // Arguments are image paths relative to the current page.
    $.preLoadImages = function () {
        var args_len = arguments.length;
        for (var i = args_len; i--; ) {
            var cacheImage = document.createElement('img');
            cacheImage.src = arguments[i];
            cache.push(cacheImage);
        }
    }
})(jQuery)
window.onresize=resize;

function resize(){
    var i, a;
    for( i = 0; ( a = document.getElementsByTagName("link")[i] ); i++ )
    {
        if( a.getAttribute("rel").indexOf("style") != -1 )
        {
            a.disabled = true;
            a.disabled = false;
        }
    } 
}
/*  THIS FUNCTION EXECUTES AFTER THE DOM IS READY, BUT BEFORE THE PAGE RENDERS...  */
$(document).ready(function () {

    // Track mousemouse co-ords for login box popup
    $(document).mousemove(function (e) {
        px = e.pageX;
        py = e.pageY;
    });

    setHover(".hover");

    //rewrite urls via javascript to ajax
    //    $(".inner a, ul.breadcrumbs li a, #logo a, a.ajax").each(function () {
    //        var href = $(this).attr("href");
    //        $(this).attr("href", "javascript:doNav('" + href + "');");
    //    });


    /* Setup the login box popup click function*/
    $("#loginlink").click(function (e) {
        $("#voice-login").remove();
        $("body").append("<div id='voice-login'><img src='../img/triware.png'><div>Website Login<div id='loginmsg'>&nbsp;</div><div class='floatleft'>Username: </div><div class='shortboxdiv floatright'><input style='width:150px;' type='text' id='username' /></div><br /><div class='floatleft'>Password:</div><div class='floatright'><input style='width:150px;' type='password' id='password' /></div><br /><div class='floatright hover'><input class='button' type='button' value='Submit' onclick='doLogin();' />&nbsp;&nbsp;<input class='button' type='button' value='Cancel' onclick='hideLogin();'  /></div><br /></div>");
        $('#voice-login').css({ left: e.pageX - 255, top: e.pageY - 210 });
        $("#username").val('');
        $("#password").val('');
        $("#voice-login").fadeIn(1500);
        $("#username").focus();
        $("#password").keyup(function (event) {
            if (event.keyCode == 13) { doLogin(); }
        });
        $("#username").keyup(function (event) {
            if (event.keyCode == 13) { doLogin(); }
        });
    });

    $(".extlink").each(function () { $(this).attr("target", "_blank"); });

    //    $(".overlay").each(function() {
    //        var id = $(this).attr("id");
    //        $(this).attr("href", "javascript:;");
    //        $(this).mousedown(function() {
    //            $(".content").append("<div class='ol-body'><div class='ol-left'></div><div class='ol-right'><img src='images/ol-close.jpg' alt='Close' /><h3></h3><p>Loading...</p></div></div>");
    //            $.getJSON('scripts/admin/overlay/getjson.aspx', { "uid": id }, function(data) {
    //                $(".ol-body .ol-left").html("<img src='" + data.image + "' alt='" + data.title + "' />");
    //                $(".ol-body .ol-right h3").html(data.title);
    //                $(".ol-body .ol-right p").html(data.desc);
    //                $(".ol-body .ol-right img").click(function() { $(".ol-body").remove(); });
    //                $(".ol-body").css({ "position": "fixed", "top": "45%", "left": "25%", "display": "block" });
    //            });

    //        });
    //    });

    $(".pdf").click(function () {
        if (jQuery.browser.pdf) {
            $.fancybox({
                'width': '500', // or whatever
                'height': '700',
                'autoDimensions': false,
                'content': '<embed src="' + this.href + '#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="100%" width="100%" />',
                'onClosed': function () {
                    $("#fancybox-inner").empty();

                }
            });
        } else { alert('Please Install Adobe Reader.'); }
        return false;
    }); // pdf 

//    $(".html").fancybox({
//        'width': 600,
//        'height': 700,
//        'autoDimensions': false,
//        'type': 'ajax',
//        onComplete: function (data) { $(".blacktext").css({'color':'#000', 'text-align':'left','font-size':'11px'}); }
//    });

    jQuery.preLoadImages("/images/ajax-loader.gif",
        "/App_Themes/default/images/banners/RTT-experience.jpg",
        "/App_Themes/default/images/banners/RTT-landing-page.jpg",
        "/App_Themes/default/images/banners/RTT-performances.jpg",
        "/App_Themes/default/images/banners/RTT-place.jpg",
        "/App_Themes/default/images/banners/RTT-theatre.jpg",

        "/App_Themes/default/images/banners/place_area.jpg",
        "/App_Themes/default/images/banners/place_festival.jpg",
        "/App_Themes/default/images/banners/place_history.jpg",
        "/App_Themes/default/images/banners/place_local-attractions.jpg",

        "/App_Themes/default/images/banners/experience_accomodations.jpg",
        "/App_Themes/default/images/banners/experience_dining.jpg",
        "/App_Themes/default/images/banners/experience_outdoors.jpg",
        "/App_Themes/default/images/banners/experience_shopping.jpg",

        "/App_Themes/default/images/banners/performance_cast.jpg",
        "/App_Themes/default/images/banners/performance_pagent.jpg",
        "/App_Themes/default/images/banners/performance_season.jpg",
        "/App_Themes/default/images/banners/performance_tickets.jpg",

        "/App_Themes/default/images/banners/theatre_about-us.jpg",
        "/App_Themes/default/images/banners/theatre_art-centre.jpg",
        "/App_Themes/default/images/banners/theatre_art-director.jpg",
        "/App_Themes/default/images/banners/theatre_history.jpg"
        );

});

/* AJAX NAVIGATION */

function doNav(page) {
    var container;
    mainLoaded = false;
    navLoaded = false;
    crumbsLoaded = false;
    //select the proper container/ one for if we are on the homepage the other if on an inner page.
    if ($("#ctl00_cph_Mainbody_ctl00_0_homebox0").html() != null) {
        container = "#ctl00_cph_Mainbody_ctl00_0_homebox0";
    } else {
        container = "#ctl00_cph_Mainbody_ctl00_1_mainbody";
    }
    $(container).append("<div class='buttonloading'></div>");
    setTimeout('doLoadingIcon()', 500);

    /*get breadcrumb replacement*/
    $.get('scripts/widgets/breadcrumbs/json.aspx', { "pageParams": page }, function (data) {
        $("#ctl00_cph_Breadcrumbs_ctl00_pathwaydiv div").attr("id", "crumb1");
        $("#ctl00_cph_Breadcrumbs_ctl00_pathwaydiv").append("<div id='crumb2' class='crumb' style='display:none;z-index:5;'></div>");
        $("#crumb2").html(data);
        $("#crumb2 ul.breadcrumbs li a").each(function () {
            var href = $(this).attr("href");
            $(this).attr("href", "javascript:doNav('" + href + "');");
        });
        crumbsLoaded = true;
    });
    /* get page content */
    $.get('scripts/admin/pages/json.aspx', { "uid": page }, function (data) {
        //append a double buffer behind visible main element
        $(container).append("<div id='tmpContent' style='display:none;z-index:5;position:absolute;top:0px;left:0px;' class='outerContent2'></div>");

        $("#tmpContent").html(data); //set double buffer to main element ajax data

        mainLoaded = true;

    });


    /* get main navigation replacement */
    $.get('scripts/admin/menu/json.aspx', { "pageParams": page }, function (data) {
        $("#outer").after(data);
        $("#outer2").css({ 'z-index': '5' });
        $("#outer2 .inner a").each(function () {
            var href = $(this).attr("href");
            $(this).attr("href", "javascript:doNav('" + href + "');");
        });
        navLoaded = true;
    });



    setTimeout('fadeElements()', 200);
}

function fadeElements() {
    if (mainLoaded && crumbsLoaded && navLoaded) {
        $(".buttonloading").remove(); //remove the loading icon

    /* main content */
        $(".features, .outerContent").fadeOut(800); //fadeout current main element
        //fade in double buffer and remove double buffer making it the new main element
        $("#tmpContent").fadeIn(800, function () {
            $("#tmpContent").addClass("outerContent").removeClass("outerContent2");
            $("#tmpContent").attr("id", "");
        });
    /* End main content */
    /* BreadCrumbs */
        $(".crumb").fadeOut(1000); //fadeout current breadcrumb
        $("#crumb2").fadeIn(1000, function () {  //fadein double buffer and make it the main crumb
            $("#crumb1").remove();
            $("#crumb2").css({'z-index':'1','display':'block'}).attr("id", "");
        });
    /* End BreadCrumbs */
        /* Navigation */

        $("#outer").fadeOut(300);
        $("#outer2").fadeIn(500, function () {

            $("#outer2 .inner").css({ "vertical-align": "top" });
            $("#outer").remove();
            $("#outer2").css({ 'z-index': '1', "display": "inline" }).attr("id", "outer");
            $("* html .inner").css({ "display": "inline" });
            $("html>body .inner").css({ "display": "inline-block", "float": "none" });
            $(".inner").css({ "vertical-align": "top" });
        });
        /* End Navigation */

    } else { setTimeout('fadeElements()', 200);/*if not loaded loop again*/ }
}


function doLoadingIcon() {
    if($(".buttonloading").html() != null)
        $(".buttonloading").append("<img src='/images/loading/loading51.gif' />");
}
/* Search box */


/*   put link like cursor behavor on all elements with class passed as argument  */
function setHover(div) {
    $(div).hover(function() { $(div).css({ cursor: "pointer" }); },
      	function() { $(div).css({ cursor: "default" }); });
}

/* login script */
function doLogin() {

    $.post('scripts/processlogin.aspx', {
        u: $("#username").val(),
        p: hex_sha256(hex_sha256($("#password").val()))
    }, function(msg) {
        $("#loginmsg").html("Login: " + msg);
        if (Left(msg, 10) == "Successful") {
            hideLogin();
            setTimeout('rload()', 1000);
        }
    });
}

function Left(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0, n);
}

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);
    }
}

/* hides login form  */
function hideLogin() { $("#voice-login").fadeOut(1000); }

/* logs user out of the cms  */
function doLogout() {
    $.post('scripts/logout.aspx', {}, function(msg) { window.location.reload(true); });
}

/* reloads current page  */
function rload() { window.location.reload(true); };

function encodeRE(s) { return s.replace(/[.*+?^${}()|[\]\/\\]/g, '\\$0'); }
