﻿function showHelp(helpUrl, template, language)
{
    var baseElement = document.getElementById("helpvideocontainer");
    if (baseElement)
    {
        baseElement.expandProgression++;
        baseElement.style.width = Math.floor(960 * (baseElement.expandProgression / 20)) + "px";
        baseElement.style.height = Math.floor(640 * (baseElement.expandProgression / 20)) + "px";
        
        if (baseElement.expandProgression < 20)
        {
            setTimeout("showHelp(\"" + helpUrl + "\", \"" + template + "\", \"" + language + "\");", 50);
        }
        else {
            // open help html page in an iframe element.
            //onmousedown=\"javascript:helpMouseDown(event);void(0);\" onmousemove=\"javascript:helpMouseMove(event);void(0);\" onmouseup=\"javascript:helpMouseUp(event);void(0);\"
            var innerHTML = "<table cellspacing=\"0\" style=\"width:960px; height:640px;\"><tr><td class=\"ToolBar\" style=\"text-align:right; vertical-align:middle; width:960px; height:20px; padding:0 0 0 0 margin:0 0 0 0; top:0px; right:0px; bottom:0px; left:0px;\">" +
                                    "<a href=\"javascript: fadeScreen('close'); void(0);\"><img style=\"height:20px; vertical-align:middle;\" src=\"Images/Close.gif\"></a></td></tr>" +
                                    "<tr><td><iframe frameborder=\"0\" style=\"width:100%; height:588px; margin-top:10px;\" src=" + helpUrl + ">" +
                                    "iFrames are not supported in your browser</iframe></td></tr><tr><td style=\"color:Black\">";
            if (language.toLowerCase() == 'fra') {  // FRENCH
                innerHTML += "Télécharger le <a href=\"javascript:window.open('Templates/" + template + "/Help/FRA/Help.pdf'); void(0);\">Mode d’emploi</a> intégral maintenant.</td></tr></table>";
            }
            else { // ENGLISH
                innerHTML += "Download the full <a href=\"javascript:window.open('Templates/" + template + "/Help/ENG/Help.pdf'); void(0);\">User Manual</a> now.</td></tr></table>";
            }

            baseElement.innerHTML = innerHTML;
        }
    }
    else
    {
        var bodyElement = document.getElementsByTagName("body")[0];

        baseElement = document.createElement("div");
        baseElement.id = "helpvideocontainer";
        baseElement.style.position = "absolute";
        baseElement.style.top = "100px";
        baseElement.style.left = (bodyElement.clientWidth - 960 <= 0) ? "0px" : ((bodyElement.clientWidth - 960) / 2) + "px";
        baseElement.style.zIndex = "1000";
        baseElement.style.backgroundColor = "white";
        baseElement.style.width = "22px";
        baseElement.style.height = "18px";
        baseElement.style.overflow = "hidden";
        baseElement.expandProgression = 1;

        bodyElement.appendChild(baseElement);

        setTimeout("showHelp(\"" + helpUrl + "\", \"" + template + "\", \"" + language + "\");", 50);
    }
}

function fadeScreen(parameter, template, language)
{
    var baseElement = document.getElementById("screendarkener")
    if (baseElement)
    {
        if (baseElement.fadeIncrement > 0 && parameter != "close")
        {
            baseElement.fadeProgression += baseElement.fadeIncrement;
            if (baseElement.fadeProgression > baseElement.fadeDestination)
            {
                baseElement.fadeProgression = baseElement.fadeDestination;
            }
            baseElement.style.opacity = (baseElement.fadeProgression / 100);
            baseElement.style.filter = "alpha(opacity=" + baseElement.fadeProgression + ")";
            if (baseElement.fadeProgression < baseElement.fadeDestination)
            {
                setTimeout("fadeScreen(\"" + parameter + "\", \"" + template + "\", \"" + language + "\");", 50);
            }
            else
            {
                showHelp(parameter, template, language);
            }
        }
        else
        {
            if (parameter == "close")
            {
                baseElement.fadeIncrement = -20;
                var helpVidElement = document.getElementById("helpvideocontainer");
                if (helpVidElement)
                {
                    helpVidElement.parentNode.removeChild(helpVidElement);
                }
            }
            baseElement.fadeProgression += baseElement.fadeIncrement;
            if (baseElement.fadeProgression < 0)
            {
                baseElement.fadeProgression = 0;
            }
            baseElement.style.opacity = (baseElement.fadeProgression / 100);
            baseElement.style.filter = "alpha(opacity=" + baseElement.fadeProgression + ")";
            if (baseElement.fadeProgression > 0)
            {
                setTimeout("fadeScreen(0,0);", 50);
            }
            else
            {
                baseElement.parentNode.removeChild(baseElement);
                var closeElement = document.getElementById("closeHelpDiv")
                if (closeElement) {
                    closeElement.parentNode.removeChild(closeElement);
                }
            }
        }
    }
    else
    {
        baseElement = document.createElement("div");
        var bodyElement = document.getElementsByTagName("body")[0];
        baseElement.id = "screendarkener";
        baseElement.style.position = "absolute";
        baseElement.style.top = "0px"; //(typeof window.pageYOffset != 'undefined' ?  window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0) + "px";
        baseElement.style.left = "0px"; //(typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0) + "px";
        baseElement.style.width = "100%"; //(window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : 2000) + "px";
        baseElement.style.height = "100%"; //(window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ?  document.documentElement.clientHeight : document.body != null? document.body.clientHeight : 1600) + "px";
        baseElement.style.backgroundColor = "#333333";
        baseElement.style.zIndex = "999";
        baseElement.fadeIncrement = 20;
        baseElement.fadeProgression = 0;
        baseElement.fadeDestination = 80;
        baseElement.style.opacity = "0";
        baseElement.style.filter = "alpha(opacity=0)";

        bodyElement.appendChild(baseElement);

        setTimeout("fadeScreen(\"" + parameter + "\", \"" + template + "\", \"" + language + "\");", 50);
    }
}

function showContextHelp(Mode, TemplateID, Language)
{
    switch(Mode)
    {
        case 'Regions':
            fadeScreen('Templates/' + TemplateID + '/Help/' + Language + '/Regions.htm', TemplateID, Language);
            break;
        case 'Outline':
            fadeScreen('Templates/' + TemplateID + '/Help/' + Language + '/Outline.htm', TemplateID, Language);
            break;
        case 'CutOut':
            fadeScreen('Templates/' + TemplateID + '/Help/' + Language + '/CutOut.htm', TemplateID, Language);
            break;
        case 'Perspective':
            fadeScreen('Templates/' + TemplateID + '/Help/' + Language + '/Perspective.htm', TemplateID, Language);
            break;
        case 'Crop':
            fadeScreen('Templates/' + TemplateID + '/Help/' + Language + '/Crop.htm', TemplateID, Language);
            break;
        default:
            fadeScreen('Templates/' + TemplateID + '/Help/' + Language + '/Default.htm', TemplateID, Language);
            break;
    }
}

var isMouseMoving = false;
var currentX;
var currentY;
function helpMouseDown(event) {
    currentX = event.x;
    currentY = event.y;

    isMouseMoving = true;
}

function helpMouseMove(event) {
    if (isMouseMoving) {
        var baseElement = document.getElementById("helpvideocontainer");
        if (baseElement) {
            var x = parseInt(baseElement.style.left);
            var y = parseInt(baseElement.style.top);
            baseElement.style.top = (event.y - currentY + y) + "px";
            baseElement.style.left = (event.x - currentX + x) + "px";
            x = event.x - currentX + x;
            y = event.y - currentY + y;
        }
    }
}

function helpMouseUp(event) {
    currentX = event.clientX;
    currentY = event.clientY;

    isMouseMoving = false;
}