﻿
var stoAboutMenu, stoMediaMenu;
function ShowAboutMenu() {
    if (stoAboutMenu) clearTimeout(stoAboutMenu);
    fadeOut("AboutMenu");
}
function HideAboutMenu() {
    stoAboutMenu = setTimeout(function() {
        stoAboutMenu = null;
        fadeIn("AboutMenu");
    }, 1000);
}
function ShowMediaMenu() {
    if (stoMediaMenu) clearTimeout(stoMediaMenu);
    fadeOut("MediaMenu");
}
function HideMediaMenu() {
    stoMediaMenu = setTimeout(function() {
        stoMediaMenu = null;
        fadeIn("MediaMenu");
    }, 1000);
}
function fade(eID, startOpacity, stopOpacity, duration) {
    var speed = Math.round(duration / 100);
    var timer = 0;
    if (startOpacity < stopOpacity) { // fade in
        for (var i = startOpacity; i <= stopOpacity; i++) {
            setTimeout("setOpacity('" + eID + "'," + i + ")", timer * speed);
            timer++;
        } return;
    }
    for (var i = startOpacity; i >= stopOpacity; i--) { // fade out
        setTimeout("setOpacity('" + eID + "'," + i + ")", timer * speed);
        timer++;
    }
}

function getElm(eID) { return document.getElementById(eID); }
function show(eID) { getElm(eID).style.display = 'block'; }
function hide(eID) { getElm(eID).style.display = 'none'; }
function fadeIn(eID) {
    setOpacity(eID, 0); show(eID); var timer = 0;
    for (var i = 1; i <= 100; i++) {
        setTimeout("setOpacity('" + eID + "'," + i + ")", timer * 5);
        timer++;
    }
}
function fadeOut(eID) {
    var timer = 0;
    for (var i = 100; i >= 1; i--) {
        setTimeout("setOpacity('" + eID + "'," + i + ")", timer * 3);
        timer++;
    }
    setTimeout("hide('" + eID + "')", 310);
}

function setOpacity(eID, opacityLevel) {
    var eStyle = document.getElementById(eID).style;
    eStyle.opacity = opacityLevel / 100;
    eStyle.filter = 'alpha(opacity=' + opacityLevel + ')';
}

var ftb_counter = 0;
function addCss() {
    try {
        ftb_counter = ftb_counter + 1;
        if (ftb_counter > 20) return;
        if (typeof ftb_items == "undefined") {
            setTimeout("addCss();", 250);
            return;
        }
        for (var i = 0; i < ftb_items.length; i++) {
            if (typeof FTB_API[ftb_items[i]] == "undefined" || typeof FTB_API[ftb_items[i]].designEditor == "undefined") {
                setTimeout("addCss();", 250);
                return;
            }
            var link = document.createElement('link');
            link.rel = 'stylesheet'; link.type = 'text/css';
            link.href = ftb_css_href + "?mili=" + (new Date()).getMilliseconds();
            FTB_API[ftb_items[i]].designEditor.document.head.appendChild(link);
        }
    } catch (ee) { }
} addCss();



function onSilverlightError(sender, args) {
    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }

    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    if (errorType == "ImageError" || errorType == "MediaError") {
        return;
    }

    var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "File: " + args.xamlFile + "     \n";
        errMsg += "Line: " + args.lineNumber + "     \n";
        errMsg += "Position: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (args.lineNumber != 0) {
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        errMsg += "MethodName: " + args.methodName + "     \n";
    }

    throw new Error(errMsg);
}

//var AboutMenu = 'AboutMenu'; hlAbout = 'hlAbout'; var shouldHideAboutMenu = 0;
//var MediaMenu = 'MediaMenu'; hlMedia = 'hlMedia'; var shouldHideMediaMenu = 0;
//var HoverColor = '#444'; var HoverBackColor = '#fff';

//function setMenuItemStyle(element, hover, toggle) {
//    if (element) {
//        //        if (toggle == true) {
//        //            hover = (element.style.color == '');
//        //        }
//        if (hover == true) {
//            element.style.color = HoverColor;
//            element.style.backgroundColor = HoverBackColor;
//        } else {
//            element.style.color = '';
//            element.style.backgroundColor = '';
//        }
//    }
//}

//function HideAll(mode) {
//    document.getElementById(AboutMenu).style.display = 'none';
//    setMenuItemStyle(document.getElementById(hlAbout), false);
//    document.getElementById(MediaMenu).style.display = 'none';
//    setMenuItemStyle(document.getElementById(hlMedia), false);
//}

//function ShowAboutMenu() {
//    HideAll(0);
//    document.getElementById(AboutMenu).style.display = '';
//    setMenuItemStyle(document.getElementById(hlAbout), true);
//    shouldHideAboutMenu++;
//}

//function HideAboutMenu(key) {
//    if (typeof key == 'undefined') {
//        setTimeout("HideAboutMenu(" + shouldHideAboutMenu + ");", 1000);
//    } else {
//        if (key == shouldHideAboutMenu) {
//            document.getElementById(AboutMenu).style.display = 'none';
//            setMenuItemStyle(document.getElementById(hlAbout), false);
//        }
//    }
//}

//function ShowMediaMenu() {
//    HideAll(0);
//    document.getElementById(MediaMenu).style.display = '';
//    setMenuItemStyle(document.getElementById(hlMedia), true);
//    shouldHideMediaMenu++;
//}

//function HideMediaMenu(key) {
//    if (typeof key == 'undefined') {
//        setTimeout("HideMediaMenu(" + shouldHideMediaMenu + ");", 1000);
//    } else {
//        if (key == shouldHideMediaMenu) {
//            document.getElementById(MediaMenu).style.display = 'none';
//            setMenuItemStyle(document.getElementById(hlMedia), false);
//        }
//    }
//}