﻿function openAccountMenu() {
    $("div.account_widget_popup").toggle();
    $("a.account_link").toggleClass("menu-open");
}

function openMainMenuDropdown(dropdown) {
    $(this).addClass("dropdown_open");
}

function closeMainMenuDropdown() {
    $(this).removeClass("dropdown_open");
}

function doRollover(element, isRollOut) {
    if (element == null || element.src == null) return;

    if (isRollOut) {
        element.src = element.src.replace("_over.", ".");
    }
    else {
        var dot = element.src.lastIndexOf(".");
        if (dot == -1) return;

        var extension = element.src.substr(dot, element.src.length);
        var imageName = element.src.substr(0, dot);

        element.src = imageName + '_over' + extension;
    }
}

function setSelectedMenuItem(key){
    var menuItem = $('#menu_' + key);
    if(menuItem.length != 0) menuItem.addClass('active');
}


function playMedia(mediaId, target) {

    target.addClass('media_loading');
    var json = JSON.stringify({ id: mediaId });

    $.ajax({
        url: '/Media/GetMediaDetails',
        type: 'POST',
        data: json,
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        success: function (result) {
           
            target.removeClass('media_loading');

            if (result.Success) {
                launchMediaPopup(result);
            }
        },
        error: function (xhr, ajaxOptions, thrownError) {
       
            target.removeClass('media_loading');
        }
    });

}


function launchMediaPopup(media, callback) {

    var onCloseCallback = ((callback != undefined) ? callback : null);

    var url = "/Media/" + media.Id;

    if (media.MediaType.toLowerCase() == "audio") {
        $.modal('<iframe src="' + url + '" height="40" width="350" scrolling="no" frameborder="0" style="border:0"/><a href="javascript:$.modal.close()"><img src="/content/images/buttons/close.gif"/></a>', {
            containerCss: {
                borderColor: "#ddeef6",
                height: 72,
                padding: 8,
                width: 350
            },
            overlayClose: false,
            onClose : onCloseCallback
        });

    } else {

        $.modal('<iframe src="' + url + '" height="463" width="600" scrolling="no" frameborder="0" style="border:0"/><a href="javascript:$.modal.close()"><img src="/content/images/buttons/close.gif"/></a>', {
            containerCss: {
                borderColor: "#ddeef6",
                height: 496,
                padding: 8,
                width: 600
            },
            overlayClose: false
        });
    }   
}

function playEmbeddedAudio(mediaUrl) {

    var url = "/Media/" + escape(mediaUrl);

   $.modal('<iframe src="' + url + '" height="40" width="350" scrolling="no" frameborder="0" style="border:0"/><a href="javascript:$.modal.close()"><img src="/content/images/buttons/close.gif"/></a>', {
            containerCss: {
                borderColor: "#ddeef6",
                height: 72,
                padding: 8,
                width: 350
            },
            overlayClose: false
        });

   
}

function downloadFile(url) {
    if ($.browser.opera) {
        window.location = url;
    }
    else {
        var trigger = "<iframe src='" + url + "' width='0' height='0' frameborder='0' scrolling='no' style='display:none' />";
        $('body').append(trigger);
    }
}

function redirect(url) {
    document.location.href = url;
}

function openExternal(url) {
    window.open(url);
    return false;
}


function aspnetAjaxDataFilter(data) {
    var msg = eval('(' + data + ')');
    if (msg.hasOwnProperty('d'))
        msg = msg.d;

    msg = dateFix(msg);
    msg._raw = data;
    return msg;
}

function dateFix(obj) {

    if (obj == null) {
        return obj;
    }

    // ASP.NET JSON date?

    if (typeof obj == "string") {
        var match = obj.match(/^\/Date\(([\d]+)\)\/$/);

        // nope, regular string
        if (!match) {
            return obj;
        }

        // yup, JSON-serialized DateTime
        return new Date(parseInt(match[1]));
    }

    // string or number

    if (typeof obj != "object") {
        return obj;
    }

    // array or object

    jQuery.each(obj, function (key, val) {
        obj[key] = dateFix(val);
    });

    return obj;
}

function convertLocalDateToUTC(aDate) {
    var year = aDate.getUTCFullYear();
    var month = aDate.getUTCMonth();
    var day = aDate.getUTCDate();
    var hours = aDate.getUTCHours();
    var minutes = aDate.getUTCMinutes();
    var seconds = aDate.getUTCSeconds();

    return new Date(year, month, day, hours, minutes, seconds);
}


function updateCurrentTime() {
    var now = convertLocalDateToUTC(new Date());
    var hours = now.getHours();
    if (hours < 10) hours = "0" + hours;

    var minutes = now.getMinutes();
    if (minutes < 10) minutes = "0" + minutes;

    $('div.gmt_clock p').text(hours + ':' + minutes);
    $('div.gmt_clock').show();
    setTimeout('updateCurrentTime()', 30000);
}



