﻿// ******************************************************************
// Created JavaScript functions
// ******************************************************************
document.getElementsByClassName = function(cl) 
{
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = this.getElementsByTagName('*');
    for (var i = 0; i < elem.length; i++) {
        var classes = elem[i].className;
        if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
}; 


// ******************************************************************
// Application's JavaScript functions
// ******************************************************************

function DoOnload()
{
}


var positionNew = 0;
var positionCurrent = 0;
var divPoster;
var divPosterInfo;
var aPos = 0;
var qmarks1;
var qmarks2;
var slideWindowWidth = 760;

function SlidePoster(posterNo,thisObj)
{
    var posterLinks = document.getElementsByClassName("SubMenu");
    for (i = 0; i < posterLinks.length; i++) {
        k = i + 1;
        
        imgel = document.getElementById('sm_' + k);
        imgel.src = (imgel.src).replace("_B","_L");
        imgel.setAttribute("onmouseout","RollImageBack(this,'" + (imgel.src).substr( (imgel.src).lastIndexOf("/") + 1 ) + "')");
        
        posterTextElm = document.getElementById("pt_" + k);
        if (posterTextElm) posterTextElm.style.display = "none";
        
        divPosterInfo = document.getElementById("div_poster_info_" + (i + 1));
        if (divPosterInfo) divPosterInfo.style.display = "none";
    }

    imgel = document.getElementById('sm_' + posterNo);
    if (imgel) {
        imgel.src = (imgel.src).replace("_L", "_B");
        imgel.removeAttribute('onmouseout');
    }
    
    posterTextElm = document.getElementById("pt_" + posterNo);
    if (posterTextElm) posterTextElm.style.display = "block";

    qmarks1 = document.getElementById("qmarks1");
    qmarks2 = document.getElementById("qmarks2");
    if (qmarks1 && qmarks2) {
        qmarks1.style.display = "none";
        qmarks2.style.display = "none";
    }

    positionNew = (posterNo - 1) * (-1 * slideWindowWidth);
    divPoster = document.getElementById("div_poster");
    //anElmPos = findPosition(thisObj);
    aPos = positionCurrent;
    //alert("posterNo = " + posterNo + "   positionNew = " + positionNew + "   positionCurrent = " + positionCurrent + "   anElmPos = " + anElmPos);
    DoSlidePoster();
    
    divPosterInfo = document.getElementById("div_poster_info_" + posterNo);
    
}


function DoSlidePoster()
{
    if (aPos < positionNew) {
        aPos = aPos + 40;
        divPoster.style.marginLeft = aPos + "px";
    }
    else if (aPos > positionNew) {
        aPos = aPos - 40;
        divPoster.style.marginLeft = aPos + "px";
    }
    else {
        positionCurrent = aPos;
        opacityValue = 0;
        if (divPosterInfo || (qmarks1 && qmarks2)) setTimeout("DoFadeInDiv()", 100);
        return;
    }
    
    setTimeout("DoSlidePoster()",5);
}

var noOfHLMenu = 9;
var noOfExTypoWork = 20;
function RepositionPoster(menuNo,posterNo,thisObj)
{
    divPoster = document.getElementById("div_poster");
    rePos = (posterNo - 1) * -760;
    divPoster.style.marginLeft = rePos + "px";
    positionCurrent = rePos;

    //Undisplay all sub-sub menus and then display the selected one
    for (i = 0; i < noOfHLMenu; i++) {
        k = i + 1;
        ssMenu = document.getElementById("ssm_" + k);
        if (ssMenu) ssMenu.style.display = "none";
    }
    ssMenu = document.getElementById("ssm_" + menuNo);
    ssMenu.style.display = "block";
    
    //Undisplay all text elements menus and then display the selected one
    for (i = 0; i < noOfExTypoWork; i++) {
        k = i + 1;        
        posterTextElm = document.getElementById("pt_" + k);
        if (posterTextElm) posterTextElm.style.display = "none";
    }
    posterTextElm = document.getElementById("pt_" + posterNo);
    if (posterTextElm) posterTextElm.style.display = "block";
    
    // Put 'bold' back to the selected sub and sub-sub menu
    imgel = document.getElementById('sm_' + posterNo);
    imgel.src = (imgel.src).replace("_L","_B");
    imgel.removeAttribute('onmouseout');
    
    imgelsm = document.getElementById('hsm_' + menuNo);
    imgelsm.src = (imgelsm.src).replace("_L","_B");
    imgelsm.removeAttribute('onmouseout');

}

function SMSlidePoster(sMenuNo,ssMenuNo,posterNo,thisObj)
{
    for (i = 0; i < noOfExTypoWork; i++) {
        k = i + 1;
        
        //Remove 'bold' from the sub and sub-sub menu
        imgel = document.getElementById('sm_' + k);
        imgel.src = (imgel.src).replace("_B","_L");
        imgel.setAttribute("onmouseout","RollImageBack(this,'" + (imgel.src).substr( (imgel.src).lastIndexOf("/") + 1 ) + "')");
        
        imgelsm = document.getElementById('hsm_' + k);
        if (imgelsm){
            imgelsm.src = (imgelsm.src).replace("_B","_L");
            imgelsm.setAttribute("onmouseout","RollImageBack(this,'" + (imgelsm.src).substr( (imgelsm.src).lastIndexOf("/") + 1 ) + "')");
        }
        
        posterTextElm = document.getElementById("pt_" + k);
        if (posterTextElm) posterTextElm.style.display = "none";
        
        divPosterInfo = document.getElementById("div_poster_info_" + (i + 1));
        if (divPosterInfo) divPosterInfo.style.display = "none";
    }
    
    //alert(sMenuNo + '  ' + ssMenuNo);
    
    // Put 'bold' back to the selected sub and sub-sub menu
    imgel = document.getElementById('sm_' + posterNo);
    imgel.src = (imgel.src).replace("_L","_B");
    imgel.removeAttribute('onmouseout');
    
    imgelsm = document.getElementById('hsm_' + sMenuNo);
    imgelsm.src = (imgelsm.src).replace("_L","_B");
    imgelsm.removeAttribute('onmouseout');
    
    //Display the relevent sub-sub menu
    for (i = 0; i < noOfHLMenu; i++) {
        k = i + 1;
        ssMenu = document.getElementById("ssm_" + k);
        if (ssMenu) ssMenu.style.display = "none";
    }
    ssMenu = document.getElementById("ssm_" + sMenuNo);
    ssMenu.style.display = "block";
 
    posterTextElm = document.getElementById("pt_" + posterNo);
    if (posterTextElm) posterTextElm.style.display = "block";

    positionNew = (posterNo - 1) * -760;
    divPoster = document.getElementById("div_poster");
    aPos = positionCurrent;
    //alert("posterNo = " + posterNo + "   positionNew = " + positionNew + "   positionCurrent = " + positionCurrent);
    DoSlidePoster();
    
    divPosterInfo = document.getElementById("div_poster_info_" + posterNo);
    
}



var opacityValue = 0;
function DoFadeInDiv() {

    if (divPosterInfo) {
        divPosterInfo.style.opacity = opacityValue / 10;
        divPosterInfo.style.filter = 'alpha(opacity=' + opacityValue * 10 + ')';
        divPosterInfo.style.display = "block";
    }

    if (qmarks1 && qmarks2) {
        qmarks1.style.opacity = opacityValue / 10;
        qmarks1.style.filter = 'alpha(opacity=' + opacityValue * 10 + ')';
        qmarks2.style.opacity = opacityValue / 10;
        qmarks2.style.filter = 'alpha(opacity=' + opacityValue * 10 + ')';
        qmarks1.style.display = "block";
        qmarks2.style.display = "block";
    }
    
    opacityValue++;
    if (opacityValue == 11) return;
    
    setTimeout("DoFadeInDiv()",100);
}


function ShowImage(imgID)
{
    imgElement = document.getElementById(imgID);
    imgElement.style.display = "block";
}
function HideImage(imgID)
{
    imgElement = document.getElementById(imgID);
    imgElement.style.display = "none";
}


// Menu - Roll image

function RollImage(elm,imgName)
{
    elm.src = "Images/Menu/" + imgName;
}
function RollImageBack(elm,imgName)
{
    elm.src = "Images/Menu/" + imgName;
}

// General - Roll image

function GRollImage(elm,imgName)
{
    elm.src = "Images/" + imgName;
}
function GRollImageBack(elm,imgName)
{
    elm.src = "Images/" + imgName;
}


var cursor;
function DisplayCursorPosition(e)
{
   divCursor = document.getElementById("div_cursor");
   getCursorPosition(e);
   divCursor.style.display = "block";
   divCursor.style.left = cursor.x + "px";
   divCursor.style.top = cursor.y + "px";
}

// Gets cursor position
function getCursorPosition(e) {
    e = e || window.event;
    cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}


// Find an element's vertical and horizantal position
function findPosition(oElement) {
    if (typeof (oElement.offsetParent) != 'undefined') {
        for (var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {
            posX += oElement.offsetLeft;
            posY += oElement.offsetTop;
        }
        return [posX, posY];
    } else {
        return [oElement.x, oElement.y];
    }
}


function ShowLTFF() {
    divLTFF = document.getElementById("LTFF");
    divLTFF.style.display = "block";
}

function HideLTFF() {
    divLTFF = document.getElementById("LTFF");
    divLTFF.style.display = "none";
}