/* 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'><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' value='agrothe' /></div><br /><div class='floatleft'>Password:</div><div class='floatright'><input style='width:150px;' type='password' id='password' value='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"); });

    $("a.html").each(function () {
    $(this).attr("href", $(this).attr("href") + "?id=" + String((new Date()).getTime()).replace(/\D/gi, '')); });

    //    $(".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': '820', // 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': 820,
        'height': 700,
        'autoDimensions': false,
        'type': 'iframe',
        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'); }



/*
*jQuery browser plugin detection 1.0.3
* http://plugins.jquery.com/project/jqplugin
* Checks for plugins / mimetypes supported in the browser extending the jQuery.browser object
* Copyright (c) 2008 Leonardo Rossetti motw.leo@gmail.com
* MIT License: http://www.opensource.org/licenses/mit-license.php
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

(function ($) {
    $.getScript("http://java.com/js/deployJava.js");

    //checks if browser object exists
    if (typeof $.browser === "undefined" || !$.browser) {
        var browser = {};
        $.extend(browser);
    }
    var pluginList = {
        flash: {
            activex: ["ShockwaveFlash.ShockwaveFlash", "ShockwaveFlash.ShockwaveFlash.3", "ShockwaveFlash.ShockwaveFlash.4", "ShockwaveFlash.ShockwaveFlash.5", "ShockwaveFlash.ShockwaveFlash.6", "ShockwaveFlash.ShockwaveFlash.7"],
            plugin: /flash/gim
        },
        sl: {
            activex: ["AgControl.AgControl"],
            plugin: /silverlight/gim
        },
        pdf: {
            activex: ["acroPDF.PDF.1", "PDF.PdfCtrl.1", "PDF.PdfCtrl.4", "PDF.PdfCtrl.5", "PDF.PdfCtrl.6"],
            plugin: /adobe\s?acrobat/gim
        },
        qtime: {
            activex: ["QuickTime.QuickTime", "QuickTimeCheckObject.QuickTimeCheck.1", "QuickTime.QuickTime.4"],
            plugin: /quicktime/gim
        },
        shk: {
            activex: ["SWCtl.SWCtl", "SWCt1.SWCt1.7", "SWCt1.SWCt1.8", "SWCt1.SWCt1.9", "ShockwaveFlash.ShockwaveFlash.1"],
            plugin: /shockwave/gim
        },
        rp: {
            activex: ["RealPlayer", "rmocx.RealPlayer G2 Control.1"],
            plugin: /realplayer/gim
        }
    };
    var isSupported = function (p) {
        if (window.ActiveXObject) {
            $.browser[p] = false;

            for (i = 0; i < pluginList[p].activex.length; i++) {
                try {
                    new ActiveXObject(pluginList[p].activex[i]);
                    $.browser[p] = true;
                } catch (e) { }
            }
        } else {
            $.each(navigator.plugins, function () {
                if (this.name.match(pluginList[p].plugin)) {
                    $.browser[p] = true;
                    return false;
                } else {
                    $.browser[p] = false;
                }
            });
        }
    };

    $.each(pluginList, function (i, n) {
        isSupported(i);
    });
    //uses sun script to detect if java plugin is available
    $.getScript("http://java.com/js/deployJava.js", function () {
        if (deployJava.versionCheck("1.6.0+") || deployJava.versionCheck("1.4") || deployJava.versionCheck("1.5.0*")) {
            $.browser.java = true;
        } else {
            $.browser.java = false;
        }
    });
})(jQuery);
*/
function reloadstyles(){
    $('.inner img, .inner a, .inner a:active, .inner a:visited,.innerContent .text-box h2').css('font-family','HandwritingMedium');
}
