/*
* name: fsnm.ui.js
* author: IP/RAJF
* notes: global ui functions
*/

/*
* ## CONFIG ##
*/
// Log to Firebug Console, set to false for Live!
var _minTxtSize = .8;
var _maxTxtSize = 1.3;
var _originalFontSize;
var _currentFontSizeNum;
/*
* ## END CONFIG ##
*/

//window onload function
$(document).ready(function() {
    preloadImages();
    setLinkRel();
    //    $(".site_search").example(function() {
    //        return $(this).attr('title');
    //    });
    ftnSetVisualElements();
    ftnGetWidth();
    ftnSetTools();
    addPopup();
    addGACode();
    initSummerOverlay();
});

function addPopup() {
    $(".popup").colorbox({ width: "923px", height: "100%", iframe: true });
}

function addGACode() {
    $("p.formbuttons input").click(function() {
        _gaq.push(['_trackPageview', '/contact-arriva/submit_button']);
    });
    $("#BlackBerry a").each(function(index) {
        if ($(this).text().toLowerCase() == "user guide") {
            $(this).click(function() {
                _gaq.push(['_trackPageview', '/m-ticket/userguide_link']);
            });
        }
        else if ($(this).text().toLowerCase() == "frequently asked questions") {
            $(this).click(function() {
                _gaq.push(['_trackPageview', '/m-ticket/faq_link']);
            });
        }
    });
}

function newImage(arg) {
    if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
    }
}

function changeImages() {
    if (document.images && (preloadFlag == true)) {
        for (var i = 0; i < changeImages.arguments.length; i += 2) {
            document[changeImages.arguments[i]].src = changeImages.arguments[i + 1];
        }
    }
}

function showDiv() {
    if (document.images && (preloadFlag == true)) {
        $(showDiv.arguments[0]).show();
    }
}

function hideDiv() {
    if (document.images && (preloadFlag == true)) {
        $(hideDiv.arguments[0]).hide();
    }
}

var preloadFlag = false;
function preloadImages() {
    if (document.images) {
        region_map_shires_essex = newImage("/images/content/region/region_map_shires_essex.gif");
        preloadFlag = true;
    }
}

// open windows in external window
function setLinkRel() {
    $('a[rel="external"]').click(function() {
        window.open($(this).attr('href'));
        return false;
    });
}

function ftnSetVisualElements() {
    /* corners */
    /*var cornerName = "corner-element"
    $(".corner").corner("bottom");
    $("body").attr("style", "background:transparent");
    $(".corner").corner("top");
    $("body").removeAttr("style");
    $(".corner div:first").removeAttr("style").attr("style", "margin:-1em 0 0 0;").addClass(cornerName);
    $(".corner div:first + div").removeAttr("style").attr("style", "margin:-.8em 0 0 0;").addClass(cornerName);

    $(".corner-bottom").corner("bottom");
    $(".corner-bottom div:first").remove();

    $("#content-wrapper").children("div:gt(4)").addClass(cornerName);
*/

    /* ring binders */
    var ringBinderImg = new Image();
    ringBinderImg = $(ringBinderImg);
    ringBinderImg.attr("src", "/images/site/elements/ringbinder.png").attr("alt", "").addClass("ringbinder-left");

    $("#route-planner").next("#my-arriva").append(ringBinderImg);

    //ringBinderImg.clone(true).removeClass("ringbinder-left").addClass("ringbinder-right").appendTo("#my-arriva");
    $("#route-planner").next("#my-arriva").css("margin-top", ".3em");

    $(".content-box").next(".content-box").append(ringBinderImg.clone(true));
    $(".content-box").next(".content-box").append(ringBinderImg.clone(true).removeClass("ringbinder-left").addClass("ringbinder-right"));

    $(".content-box").prev(".content-box").css("margin-bottom", ".3em");



    /* pin & paper curl */
    var pinImg = new Image();
    pinImg = $(pinImg);
    pinImg.attr("src", "/images/site/elements/pin.png").attr("alt", "").addClass("su-pin");

    $("#service-updates").append(pinImg);

    var curlImg = new Image();
    curlImg = $(curlImg);
    curlImg.attr("src", "/images/site/elements/page-curl.png").attr("alt", "").addClass("su-curl");

    $("#service-updates").append(curlImg);

    $("#contact-info").append(curlImg.clone(true))
    $("#ask-question").append(curlImg.clone(true))

    /* rounded corners for user option buttons */
    var cornerImg = new Image();
    $(cornerImg).attr("src", "/images/site/elements/corner-bl.gif").attr("alt", "").addClass("corner-bl");
    $(".user-options li, .button").append(cornerImg);

    var cornerImg = new Image();
    $(cornerImg).attr("src", "/images/site/elements/corner-br.gif").attr("alt", "").addClass("corner-br");
    $(".user-options li, .button").append(cornerImg);

    var cornerImg = new Image();
    $(cornerImg).attr("src", "/images/site/elements/corner-tl.gif").attr("alt", "").addClass("corner-tl");
    $(".user-options li, .button").append(cornerImg);

    var cornerImg = new Image();
    $(cornerImg).attr("src", "/images/site/elements/corner-tr.gif").attr("alt", "").addClass("corner-tr");
    $(".user-options li, .button").append(cornerImg);



}

function ftnGetWidth() {
    var _windowWidth
    var _wrapperWidth
    var _convertWidth

    _windowWidth = $(window).width();
    _wrapperWidth = $("#header-wrapper").width();
    //alert("windowWidth: "+_windowWidth+" wrapperWidth: "+_wrapperWidth);

    if (_windowWidth < _wrapperWidth) //converts to ems
    {
        _convertWidth = _wrapperWidth / 12;
        //alert("change site : "+_convertWidth);
        $("#header-container").attr("style", "width:" + _convertWidth + "em;");
        $("#primary-navigation-container").attr("style", "width:" + _convertWidth + "em;");
        $("#content-container").attr("style", "width:" + _convertWidth + "em;");
        $("#footer-container").attr("style", "width:" + _convertWidth + "em;");
    } else {
        $("#header-container").attr("style", "width:100%;");
        $("#primary-navigation-container").attr("style", "width:100%;");
        $("#content-container").attr("style", "width:100%;");
        $("#footer-container").attr("style", "width:100%;");
    }

}

function ftnSetTools() {
    $("#pagetools").load("/Controls/pagetools.htm", ftnTextsize)
}

function setFontSize(newFontSize) {
    //alert(_originalFontSize);
    //alert(newFontSize);
    if (newFontSize >= _minTxtSize && newFontSize <= _maxTxtSize) {
        $("body").css("font-size", newFontSize + "em");
        _currentFontSizeNum = newFontSize;
    }
    ftnGetWidth();
}

// chained function from ftnSetTools
function ftnTextsize() {
    // set text globals
    _currentFontSizeNum = parseFloat($("body").css("font-size"), 10);
    _currentFontSizeNum = _currentFontSizeNum / 10;
    _originalFontSize = _currentFontSizeNum;

    // reset font size
    $("#resetTxt").click(function() {
        setFontSize(_originalFontSize);
        return false;
    });

    // Increase Font Size
    $("#increaseTxt").click(function() {
        setFontSize(_currentFontSizeNum + .1);
        return false;
    });

    // Decrease Font Size
    $("#decreaseTxt").click(function() {
        setFontSize(_currentFontSizeNum - .1);
        return false;
    });

    $("#bookmarkPage a").click(function() {
        var bookmarkUrl = window.location.href;
        var bookmarkTitle = document.title;

        if (document.all) // IE
        {
            window.external.AddFavorite(bookmarkUrl, bookmarkTitle);
        }
        else if (window.sidebar)  // Firefox
        {
            window.sidebar.addPanel(bookmarkTitle, bookmarkUrl, "");
        }
        return false;
    });


    $("#printThisPage a").click(function() {
        window.print();
        return false;
    });
}

function ftnHideShow() {
    var openImg = new Image();
    openImg = $(openImg);
    openImg.attr("src", "/images/site/icons/open.png").attr("alt", "open panel").addClass("open");
    $("h2.click-area").prepend(openImg);

    $(".hide-area").hide();

    $("h2.click-area").click(function() {
        $(this).nextAll(".hide-area:first").animate({ height: "hide", opacity: "hide" }, "medium");
        $(this).children("img").attr("src", "/images/site/icons/open.png").attr("alt", "open panel")

        if ($(this).nextAll(".hide-area:first").is(":hidden")) {
            $(this).nextAll(".hide-area:first").animate({ height: "show", opacity: "show" }, "medium");
            $(this).children("img").attr("src", "/images/site/icons/close.png").attr("alt", "close panel")

        }
    });
}

function ftnPopUp() {
    $("a[href=#register-confirmation]").click(function() {

        $.modal($("#register-confirmation"), { onShow: ftnModalShow });
    });
}

function ftnModalShow() {
    bindForm("form0")
}

var overlayCloseEnabled = true;


function launchSummerOverlay() {
    if (swfobject.hasFlashPlayerVersion("1")) {
        var flashvars = {};
        flashvars.application_path = "/flash/summercampaign/";

        params = { wmode: "transparent", application_path: "/flash/summercampaign/" },
    attributes = {};
        var body = $("body");
        body.append("<div id=\"black\"></div><div id=\"summerOverlay\"><div id=\"summerOverlayInner\"><a href=\"javascript:\" onclick=\"closeOverlay()\" id=\"summerOverlayClose\"></a><div id=\"summer_campaign_flash\"><img src=\"/images/site/summer-campaign/ajax-loader.gif\" alt=\"Loading...\" style=\"margin-top:200px;\" /></div></div></div>");
        swfobject.embedSWF("/flash/summercampaign/arriva_summer.swf", "summer_campaign_flash", "980", "741", "9.0.0", false, flashvars, params, attributes);
        body.addClass("overlayActive");
        positionIe6();
        $(document).keyup(function(e) {
            if (e.keyCode == 27) { closeOverlay(); }   // esc
        });
    }
}

function initSummerOverlay() {
    if (getQueryVariable("summercampaign") != null) {
        window.setTimeout("launchSummerOverlay()", 1000);
    }
}

function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
    return null;
}

function positionIe6() {
    if (jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6) {
        $("#black").width($(window).width());
        $("#black").height($(document).height());
        $("#summerOverlay").width($(window).width());
        $("#summerOverlay").height($(document).height());
    }
}

function closeOverlay() {
    if (overlayCloseEnabled) {
        overlayCloseEnabled = false;
        var overlayLayers = $("#summerOverlay, #black");
        if (overlayLayers.length > 0) {
            overlayLayers.fadeOut("fast", function() {
                $("body").removeClass("overlayActive");
                overlayLayers.remove();
                overlayCloseEnabled = true;
            });
        }
    }
}

  
