/*
*	Global vars
*/

var ddTag = "";
var currentDD = "";
var launched = "";
var currentIdOverlay = "";
var initOverlayer = false;
var browseLink = Array();
var initNav = false;
var selectTags = "";
var searchFocus = false;
var curentCollapsId = "";

/*
*	General Functions 
*/


function $(id) { return document.getElementById(id) }

/* Show / Hide */
function showHide(elem) {
    var currentDisplay = elem.style.visibility;
    (currentDisplay == "" || currentDisplay == "hidden") ? showVisibility(elem) : hideVisibility(elem);
}

function hideShow(elem) {
    var currentDisplay = elem.style.visibility;
    (currentDisplay == "" || currentDisplay == "visible") ? hideVisibility(elem) : showVisibility(elem);
}

function hideVisibility(elem) { elem.style.visibility = "hidden" }
function showVisibility(elem) { elem.style.visibility = "visible" }
function hideDisplay(elem) { elem.style.display = "none" }
function showDisplay(elem) { elem.style.display = "block" }

/* Position Bg button */
function posBG(elem) {
    var bgPos = elem.style.backgroundPosition;
    (bgPos == "" || bgPos == "50% 0%") ? elem.style.backgroundPosition = "50% 100%" : elem.style.backgroundPosition = "50% 0%";
}

/* Text Color */
function textColor(elem, isOut) {
    if (isOut) {
        elem.style.color = "#636563";
    } else {
        elem.style.color = "#E70000";
    }
}

/* Click outside DD */
function onClickOutSide(e) {
    if (currentDD != "") {
        var target = (e && e.target) || (event && event.srcElement);
        if (checkParent(target)) {
            hideDD();
        }
    }
}
function checkParent(t) {
    while (t.parentNode) {
        if (t == $(currentDD) || t == $(currentDD).parentNode.getElementsByTagName('a')[0]) {
            return false
        }
        t = t.parentNode
    }
    return true;
}

/* Hide DD */
function hideDD() {
    for (var i = 0; i < ddTag.length; i++) {
        hideVisibility(ddTag[i].getElementsByTagName("ul")[0]);
    }
}
function showHideDropDown() {
    var selectTag = document.getElementsByTagName('select');
    for (i = 0; i < selectTag.length; i++) {
        hideShow(selectTag[i]);
    }
    if ($("illustration")) {
        hideShow($("illustration"));
    }
}

/* GetElementByClassName */
function getElementsByClassName(className, tag, elm) {
    var testClass = new RegExp("(^|s)" + className + "(s|$)");
    var tag = tag || "*";
    var elm = elm || document;
    var elements = (tag == "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag);
    var returnElements = [];
    var current;
    var length = elements.length;
    for (var i = 0; i < length; i++) {
        current = elements[i];
        if (testClass.test(current.className)) {
            returnElements.push(current);
        }
    }
    return returnElements;
}

/* Key press */

function initKeyPress() {
    if (document.addEventListener) {
        document.addEventListener("keypress", keypress, false);
    } else if (document.attachEvent) {
        document.attachEvent("onkeypress", keypress);
    } else {
        document.onkeypress = keypress;
    }
}

function keyval(n) {
    if (n == null) return 'undefined';
    var s = '' + n;
    if (n >= 32 && n < 127) s += ' (' + String.fromCharCode(n) + ')';
    while (s.length < 9) s += ' ';
    return s;
}

function keypress(e) {
    if (!e) e = event;
    pressmesg('keypress', e);
}

/* 
* Functions
*/

/* Overlayer */
function getContentOverlay(elem, isATag) {

    currentType = currentIdOverlay.split("#")[0];

    var mediaUrl = elem.getElementsByTagName("a")[0];

    var mediaHref = mediaUrl.href;
    if (mediaHref != null)
        mediaHref = mediaHref.replace(window.location, "");


    if (mediaHref == null || mediaHref == "" || mediaHref == "#") {
        mediaUrl = mediaUrl.attributes['onclick'].value;
        mediaUrl = mediaUrl.split('##')[1];
    }
    else {
        mediaUrl = mediaHref;
    }

	if (elem){
		if (elem.getElementsByTagName("p").length>0) {
			$('dateOverlay').innerHTML = (elem.getElementsByTagName("p")[0] != null) ? elem.getElementsByTagName("p")[0].innerHTML : "";
			$('titleOverlay').innerHTML = (elem.getElementsByTagName("h4")[0] != null) ? elem.getElementsByTagName("h4")[0].innerHTML : "";
			$('description').innerHTML = (elem.getElementsByTagName("div")[1] != null) ? elem.getElementsByTagName("div")[1].innerHTML : "";
		}
		else {
			$('dateOverlay').innerHTML = elem.getAttribute("Date")
			$('titleOverlay').innerHTML = elem.getAttribute("Title")
		}
	}
    if (currentType == 'i') {

        var newImg = new Image;
        newImg.onload = function() {

            var imgTag = document.createElement('img');
            imgTag.setAttribute("src", mediaUrl);
			$('mainContent').appendChild(imgTag);
        }
        newImg.src = mediaUrl;

    } else {

        var divTag = document.createElement('div');
        divTag.setAttribute("id", "flashMovie");           
        
        
        var mc= $('mainContent');
		mc=(mc.tagName.toLowerCase()=="a")?$('mainVidContent'):mc;
        mc.appendChild(divTag);
        mediaUrl = escape(mediaUrl);
        var flashvars = { flv: mediaUrl };
        swfobject.embedSWF("/Style%20Library/mediaSite/flash/player.swf", "flashMovie", "502", "240", "9.0.0", 0, flashvars);

    }
}

function getContentImageOverlay(elem, mediaUrl, isATag) {

    currentType = currentIdOverlay.split("#")[0];
    mediaUrl = mediaUrl.split('##')[1];

    $('dateOverlay').innerHTML = (elem.getElementsByTagName("p")[0] != null) ? elem.getElementsByTagName("p")[0].innerHTML : "";
    $('titleOverlay').innerHTML = (elem.getElementsByTagName("h4")[0] != null) ? elem.getElementsByTagName("h4")[0].innerHTML : "";
    $('description').innerHTML = (elem.getElementsByTagName("div")[1] != null) ? elem.getElementsByTagName("div")[1].innerHTML : "";

    if (currentType == 'i') {

        var newImg = new Image;
        newImg.onload = function() {

            var imgTag = document.createElement('img');
            imgTag.setAttribute("src", mediaUrl);

            $('mainContent').appendChild(imgTag);
        }
        newImg.src = mediaUrl;

    } else {

        var divTag = document.createElement('div');
        divTag.setAttribute("id", "flashMovie");

        var mc= $('mainContent');
		mc=(mc.tagName.toLowerCase()=="a")?$('mainVidContent'):mc;
        mc.appendChild(divTag);

        mediaUrl = escape(mediaUrl);
        var flashvars = { flv: mediaUrl };
        swfobject.embedSWF("/Style%20Library/mediaSite/flash/player.swf", "flashMovie", "502", "240", "9.0.0", 0, flashvars);

    }
}

function getContentVideoOverlay(elem, mediaUrl, isATag) {

    currentType = currentIdOverlay.split("#")[0];

    mediaUrl = mediaUrl.split('##')[1];
    if (elem){
		if (elem.getElementsByTagName("p").length>0){
 	   		$('dateOverlay').innerHTML = (elem.getElementsByTagName("p")[0] != null) ? elem.getElementsByTagName("p")[0].innerHTML : "";
	    	$('titleOverlay').innerHTML = (elem.getElementsByTagName("h4")[0] != null) ? elem.getElementsByTagName("h4")[0].innerHTML : "";
		    $('description').innerHTML = (elem.getElementsByTagName("div")[1] != null) ? elem.getElementsByTagName("div")[1].innerHTML : "";
		}
		else {
			$('dateOverlay').innerHTML = elem.getAttribute("Date")
			$('titleOverlay').innerHTML = elem.getAttribute("Title")
		}
	}
    if (currentType == 'i') {

        var newImg = new Image;
        newImg.onload = function() {

            var imgTag = document.createElement('img');
            imgTag.setAttribute("src", mediaUrl);
			
            $('mainContent').appendChild(imgTag);
        }
        newImg.src = mediaUrl;

    } else {

        var divTag = document.createElement('div');
        divTag.setAttribute("id", "flashMovie");
        
        var mc= $('mainContent');
		mc=(mc.tagName.toLowerCase()=="a")?$('mainVidContent'):mc;
        mc.appendChild(divTag);


        mediaUrl = escape(mediaUrl);

        var flashvars = { flv: mediaUrl };
        swfobject.embedSWF("/Style%20Library/mediaSite/flash/player.swf", "flashMovie", "502", "240", "9.0.0", 0, flashvars);

    }
}

function displayVideoOverlayer(overlayerId, mediaUrl) {
    jQuery("body").scrollTop(0);
    jQuery("html").scrollTop(0);

    var arrTypeId = overlayerId.split('#');
    var elemId = arrTypeId[0]+arrTypeId[1];

    currentIdOverlay = overlayerId;

    if (!initOverlayer) {

        overlayerBg('bgOverlayer');

        browseLink = $('browse').getElementsByTagName('img');

        configBrowse(arrTypeId[1], arrTypeId[0]);

        showHideDropDown();

        initOverlayer = true;

        var posOverlay = GetPositionOverlay();        
        $('bannerContainer').style.top = posOverlay + "px";

        showDisplay($('bgOverlayer'));
        showDisplay($('bannerContainer'));
    }

    $('mainContent').innerHTML = "";
    var elem = $(elemId);
    if (elem==null) elem=$(arrTypeId[1]);
    getContentVideoOverlay(elem, mediaUrl);

}

function displayOverlayer(overlayerId, mediaUrl) {
    jQuery("body").scrollTop(0);
    jQuery("html").scrollTop(0);

    var arrTypeId = overlayerId.split('#');
    var elemId = arrTypeId[0] + arrTypeId[1];

    currentIdOverlay = overlayerId;

    if (!initOverlayer) {

        overlayerBg('bgOverlayer');

        browseLink = $('browse').getElementsByTagName('img');

        configBrowse(arrTypeId[1], arrTypeId[0]);

        showHideDropDown();

        initOverlayer = true;

        var posOverlay = GetPositionOverlay();
        $('bannerContainer').style.top = posOverlay + "px";

        showDisplay($('bgOverlayer'));
        showDisplay($('bannerContainer'));
    }

    $('mainContent').innerHTML = "";
    getContentOverlay($(elemId));

}

function displayImageOverlayer(overlayerId, mediaUrl) {
    jQuery("body").scrollTop(0);
    jQuery("html").scrollTop(0);

    var arrTypeId = overlayerId.split('#');
    var elemId = arrTypeId[0] + arrTypeId[1];

    currentIdOverlay = overlayerId;

    if (!initOverlayer) {

        overlayerBg('bgOverlayer');

        browseLink = $('browse').getElementsByTagName('img');

        if (showBrowse) {
            configBrowse(arrTypeId[1], arrTypeId[0]);
        } else {
            $('browse').style.display = "none";
        }

        showHideDropDown();

        initOverlayer = true;

        var posOverlay = GetPositionOverlay();
        $('bannerContainer').style.top = posOverlay + "px";

        showDisplay($('bgOverlayer'));
        showDisplay($('bannerContainer'));
    }

    $('mainContent').innerHTML = "";
    getContentImageOverlay($(elemId), mediaUrl);

}


function GetPositionOverlay() {
    var ch = document.documentElement.clientHeight / 2;
	if (ch==0) ch=document.body.clientHeight / 2;   
    var posOverlay = ch - (525 / 2);
    return posOverlay;
}


function configBrowse(numItem, arrTypeId) {
    if (itemDoc[arrTypeId] == numItem) {
        browseLink[1].className = 'rightDesable';
    } else {
        browseLink[1].className = 'rightActive';
    }

    if (numItem == 0) {
        browseLink[0].className = 'leftDesable';
    } else {
        browseLink[0].className = 'leftActive';
    }
}

function browse(pos) {

    currentItem = currentIdOverlay.split("#");
    currentType = currentItem[0];
    currentId = parseInt(currentItem[1]);

    var changeItem = true;

    if (pos == 'next') {
        if (currentId < itemDoc[currentType]) {
            currentId++;
        } else {
            changeItem = false;
        }
        configBrowse(currentId, currentType);
    } else {
        if (currentId > 0) {
            currentId--;
        } else {
            changeItem = false;
        }
        configBrowse(currentId, currentType);
    }

    if (changeItem) {
        currentIdOverlay = currentType + "#" + currentId;
        displayOverlayer(currentIdOverlay);
    }
}

function closeOverlay() {
    $('mainContent').innerHTML = "";
    showHideDropDown();
    initOverlayer = false;
    hideDisplay($('bgOverlayer'));
    hideDisplay($('bannerContainer'));
}

function showHideSelectTags() {

    selectTags = ($('illustration')) ? $('illustration').getElementsByTagName("div") : null;
    if (selectTags != null) {
        if (selectTags.lenght > 0) {
            for (var i = 0; i < selectTags.length; i++) {
                hideShow(selectTags[i]);
            }
        }
    }

    if ($('illustration')) {
        var elem = $('illustration').getElementsByTagName("div");
        if (elem.length > 0) {
            hideShow($('illustration').getElementsByTagName("div")[0]);
        }
    }
}

function pressmesg(w, e) {
    if (13 == keyval(e.keyCode) && searchFocus) {
        document.getElementsByTagName('form')[0].onsubmit = function() {
            return false;
        }
        goSearch();
    }
}

function getGroupSelected() {
    if ($('tabContent')) {
        curentCollapsIds = getElementsByClassName("show", "ul", $('tabContent'));
        if (curentCollapsIds.length) {
            curentCollapsId = curentCollapsIds[0].id;
        }
    }
}

function overlayerBg(elemID) {

    var bodyTag = document.getElementsByTagName("body")[0];
    var containerTag = $("container");

    var olBgHeight = (containerTag.offsetHeight > bodyTag.offsetHeight) ? containerTag.offsetHeight : bodyTag.offsetHeight;

    $(elemID).style.height = olBgHeight + "px";
    $(elemID).style.width = bodyTag.offsetWidth + "px";
}

/*
*	Actions
*/

/* Collaps */
function collaps(listId) {

    if (curentCollapsId != "") {
        $(curentCollapsId).parentNode.style.backgroundImage = "url('/Style%20Library/mediaSite/images/bg_arrow2.gif')";
        hideDisplay($(curentCollapsId));
    }

    $(listId).parentNode.style.backgroundImage = "url('/Style%20Library/mediaSite/images/bg_arrow2Open.gif')";
    $(listId).parentNode.style.backgroundRepeat = "no-repeat";
    showDisplay($(listId));

    curentCollapsId = listId;

}


/* Custome dropDown */
function displayDD(idDiv) {
    hideDD();
    showHide($('dd' + idDiv));
    currentDD = 'dd' + idDiv;
}

/* Display popup */
function displayPopup(idDiv, elem) {
    showHide($('popup' + idDiv));

    $('popup' + idDiv).onmouseover = showItem;
    $('popup' + idDiv).onmouseout = hideItem;

    function showItem() {
        showHide($('popup' + idDiv));
    }
    function hideItem() {
        showHide($('popup' + idDiv));
    }
}

/* Display Tab */
function displayTab(idDiv, elem) {
    var elem = elem.parentNode.parentNode.getElementsByTagName("a");

    var numTab = getElementsByClassName("menuTabs", "ul")[0].getElementsByTagName('li');

    for (var i = 0; i < numTab.length; i++) {
        if (i == idDiv) {
            elem[i].style.backgroundPosition = "50% 100%";
            elem[i].style.color = "#E50000";
            elem[i].className = "current";
            showDisplay($('contentTab' + i));
        } else {
            elem[i].style.backgroundPosition = "100% 0%";
            elem[i].style.color = "#555555";
            elem[i].className = "";
            hideDisplay($('contentTab' + i));
        }
    }
}

/* Load Header Image */
function headerImageLoad() {
    if ($("illustration") != null) {
        if (headerImage != null) {
            var numItem = headerImage.length;
            if (numItem > 0) {
                var randNo = Math.floor(numItem * Math.random());
                var imageLink = escape(headerImage[randNo]);
            } else {
                var imageLink = "/Style%20Library/mediaSite/images/blankBanner.gif";
            }
        } else {
            var imageLink = "/Style%20Library/mediaSite/images/blankBanner.gif";
        }
        var newImg = new Image;
        newImg.onload = function() {
            $("illustration").style.backgroundImage = "url('" + imageLink + "')";
        }
        newImg.src = imageLink;
    }
}

/* Custom Events */
function refreshDownloadDocument(dropDownID, changeElementID) {
    var dropDown = document.getElementById(dropDownID);
    var changeElement = document.getElementById(changeElementID);
    var onclickText = "";
    var myNewClickTag = "";
    var hFieldId = "hiddenFld_" + dropDownID;
    var hField = document.getElementById(hFieldId);

    if (dropDown != null && changeElement != null) {
        var valueDropDown = dropDown.options[dropDown.selectedIndex].value.split("###");
        if (changeElement.attributes["onclick"] != null) {

            if (changeElement.attributes["onclick"].value != "null") {
                hField.value = changeElement.attributes["onclick"].value;
            }
            onclickText = hField.value;

            myNewClickTag = onclickText.replace(/&Language=.+?([&|'])/g, "&Language=" + valueDropDown[2] + "$1");
            myNewClickTag = myNewClickTag.replace(/&WT.as_fn=.+?([&|'])/g, "&WT.as_fn=" + valueDropDown[3] + "$1");

            var newUrl = valueDropDown[1];
            myNewClickTag = myNewClickTag.replace(/path=.+?([&|'])/g, "path=" + newUrl + "$1");
        }
        changeElement.innerHTML = valueDropDown[0];
        changeElement.attributes["onclick"].value = myNewClickTag;

        changeElement.onclick = function() {
            eval(myNewClickTag);
        };

    }
}

function HighlightAll(item) {
    item.select();
    if (document.all) {
        therange = item.createTextRange()
        therange.execCommand("Copy");
    }
}

/* Pager */
function returnCorrectResult(item) {
    var currentPageID = item.value;
    item.value = currentPageID.substring(0, currentPageID.length - 1);
}

function checkPagerField(item) {
    var maxPages = parseInt(jQuery("#totalPage").text());
    var pageID = item.value;

    if (parseInt(pageID)) {
        if (pageID <= maxPages) {
            if (pageID <= 0) {
                returnCorrectResult(item);
                return false;
            }
        } else {
            returnCorrectResult(item);
            return false;
        }
    } else {
        returnCorrectResult(item);
        return false;
    }
    return true;
}

function goSearch() {
    var k = encodeURIComponent($('searchInput').value);
    var l = document.getElementById('ctl00_urlCtrl').value;
    if(l != "/")
        window.location.href = l + "/Search/Pages/default.aspx?query=" + k + "&dosearch=True";
    else
        window.location.href = "/Search/Pages/default.aspx?query=" + k + "&dosearch=True";
        
}

function goPage(item) {
    var pageID = item.value;
    var newUrl = "";

    if (getUrlParameter("page") == null) {
        var separator = (window.location.href.indexOf('?') > -1) ? "&" : "?";
        newUrl = window.location.href + separator + "page=" + pageID;
    } else {
        newUrl = window.location.href.replace(/^(.*)(&|\?)page=.+?(&.*$|$)/g, "$1$2page=" + pageID + "$3");
    }
    window.location.href = newUrl;
}

function setCookie(c_name, value, expiredays) {
    var exdate = new Date()
    exdate.setDate(exdate.getDate() + expiredays)
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString() + ";");
}

function getUrlParameter(paramName) {											// Get the query string value
    paramName = paramName.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + paramName + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null) {
        return null;
    } else {
        return results[1];
    }
}

function displayTextBox(isChecked, divID) {
    if (isChecked) {
        jQuery("#" + divID).removeClass().addClass("show");
    } else {
        jQuery("#" + divID).removeClass().addClass("hide");
        jQuery("#" + divID + " input").val("");
    }
}


/* 
* Start Events
*/

document.onclick = onClickOutSide;

window.onresize = function() {
    if ($('bgOverlayer')) {
        overlayerBg('bgOverlayer');
    }
}

window.onload = function() {

    /* Top Nav */
    jQuery("#nav li.roll").hover(
	    function() {
            //jQuery('#nav li.roll strong a').css("color", "#636563").css("background-position", "50% 0%");
	        /* Updated by Ronan. The background position MUST be right, top for unseleced dropdown menu*/
	        jQuery('#nav li.roll strong a').css("color", "#636563").css("background-position", "100% 0%");
	        jQuery('#titleCar').css("visibility", "hidden");
	        //jQuery(jQuery(this).find('a').get(0)).css("color", "#E70000").css("background-position", "50% 100%");
	        /* Updated by Ronan. The background position MUST be right, bottom for seleced dropdown menu*/
	        jQuery(jQuery(this).find('a').get(0)).css("color", "#E70000").css("background-position", "100% 100%");
	        jQuery(jQuery(this).find('div').get(0)).css("visibility", "visible");	        
	        jQuery(jQuery(this).find('div').get(0)).css("display", "block");
            /*Added by Ronan.  Moves the menu to the left if necessary, so that it does not go off the screen*/
	        var div = jQuery(jQuery(this).find('div').get(0))[0];
	        if ((this.offsetLeft + div.offsetWidth) > screen.width+150) {
	            var lft = (screen.width +150)- div.offsetWidth;
	            div.style.left = (lft > 0) ? lft : 0;
	        }
	        else {
	            //div.style.left = this.offsetLeft;
	        }
	        /*End updated by Ronan*/
	        jQuery('.currentpage select').css("visibility", "hidden");

	    },
	    function() {
	        jQuery('#titleCar').css("visibility", "visible");
	        jQuery('#titleCar').css("display", "block");
	        //jQuery(jQuery(this).find('a').get(0)).css("color", "#636563").css("background-position", "50% 0%");
	        /* Updated by Ronan. The background position MUST be right, top for unseleced dropdown menu*/
	        jQuery(jQuery(this).find('a').get(0)).css("color", "#636563").css("background-position", "100% 0%");
	        jQuery(jQuery(this).find('div').get(0)).css("visibility", "hidden");
	        jQuery(jQuery(this).find('div').get(0)).css("display", "none");
	        divThis = jQuery(this).find('div').get(0);
	        hideDD();
	        jQuery('#nav li.roll strong a').css("color", "#6B7173").css("background-position", "100% 0%");
	        jQuery('.currentpage select').css("visibility", "visible");
	        jQuery('.currentpage select').css("display", "block");
	    }
    );


    /* Pager */
    jQuery(".tbPageId").keyup(function() {
        checkPagerField(this);
    });

    jQuery(".tbPageId").blur(function() {
        if (checkPagerField(this)) {
            goPage(this);
        }
    });

    jQuery(".tbPageId").keyup(function(e) {
        if (checkPagerField(this) && e.keyCode == 13) {
            goPage(this);
        }
    });

    jQuery(".tbPageId").focus(function(e) {
        this.value = "";
    });

    /* Filter */
    jQuery(".noExpend input").click(function() {
        jQuery("#filterBlock").hide();
    });
    jQuery(".expend input").click(function() {
        jQuery("#filterBlock").show();
    })

    /* Search */
    $('searchInput').onfocus = function() {
        searchFocus = true;
    }

    $('searchInput').onblur = function() {
        searchFocus = false;
    }

    ddTag = getElementsByClassName("dd", "div");

    headerImageLoad();
    initKeyPress();
    getGroupSelected();



    //webtrends
    dcsVar();
    dcsMeta();
    dcsFunc("dcsAdv");
    dcsTag();

}
