﻿function getById(id) {
    if (document.getElementById) var returnVar = document.getElementById(id);
    else if (document.all) var returnVar = document.all[id];
    else if (document.layers) var returnVar = document.layers[id];
    return returnVar;
}

// Menu
YAHOO.util.Event.onDOMReady(function () {
    var aItems = [];
    if (CCL_IsAuthenticated) {
        aItems = [
            {
                text: "Main",
                url: "#",
                submenu: {
                    id: "ccltop_menu_CarrierCloud",
                    itemdata: [
                       { text: "<p class='ccMenuItemBlank'><span>Home</span></p>", url: "/Home/Index" },
                       { text: "<p class='ccMenuItemBlank'><span>Blog</span></p>", url: "/Blog" },
                       { text: "<p class='ccMenuItemBlank'><span>How it works</span></p>", url: "/Home/Howworks" },
                       { text: "<p class='ccMenuItemBlank'><span>About</span></p>", url: "/Home/About" },
                       { text: "<p class='ccMenuItemBlank'><span>Contact</span></p>", url: "/Home/Contact"}]
                }
            },

            {
                text: "Search",
                url: "/PublicRoute/SearchRoutes"
            },

            {
                text: "Buyer",
                submenu: {
                    id: "ccltop_menu_buyer",
                    itemdata: [
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_search_routes.png' /><span>Search for Routes</span></p>", url: "/PublicRoute/SearchRoutes" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_search_routes.png' /><span>Search for Rate Sheets</span></p>", url: "/PublicRoute/SearchRateSheets" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_bought_cdrs.png' /><span>CDRs - Traffic Sent</span></p>", url: "/Cdrs" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_dial_plans.png' /><span>My Dial Plans</span></p>", url: "/DialPlans/" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_gateways.png' /><span>My Gateways</span></p>", url: "/BuyerGW/Index" },
                       ]
                }
            },


            {
                text: "Seller",
                submenu: {
                    id: "ccltop_menu_seller",
                    itemdata: [
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_sold_routes.png' /><span>Rate Sheets listed for Sale</span></p>", url: "/SellerRateSheets/Index" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_sold_routes.png' /><span>Upload Rate Sheet</span></p>", url: "/SellerRateSheets/Upload" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_sold_cdrs.png' /><span>CDRs - Traffic Received</span></p>", url: "/SoldCdrs" },
                       { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_gateways.png' /><span>My Gateways</span></p>", url: "/SellerGW/Index" },
                       ]
                }
            },

            {
                text: "My Account",
                submenu: {
                    id: "ccltop_menu_account",
                    itemdata: [
                        {
                            text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/dashboard.png' /><span><strong>Dashboard</strong></span></p>",
                            url: "/Account/Home"
                        },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_billing_transactions.png' /><span>Funds Transfer Activity</span></p>", url: "/BillingTransaction/Home" },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/finances.png' /><span>Withdrawals and Deposits</span></p>", url: "/Account/Transfers" },
                        { text: "<p class='ccMenuItem'><img alt='' width='32' style='border:0px'  src='/content/images/icons/withdraws_deposits.png' /><span>Set Bank and Wire Transfer Details</span></p>", url: "/Account/Transfers" },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_reports.png' /><span>Funds Report</span></p>", url: "/FinancialReports/Funds" },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/account_contact.png' /><span>Support</span></p>", url: "/Account/Contact" },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_faq.png' /><span>FAQ</span></p>", url: "/FAQ/Index" },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_faq.png' /><span>Change Password</span></p>", url: "/Account/ChangePassword" },
                        { text: "<p class='ccMenuItem'><img alt='' style='border:0px'  src='/content/images/icons/menu_logout.png' /><span>Logout</span></p>", url: "/Login/Logout" }
                       ]
                }
            }
            ,
            { text: "<div class='cartMenuItem'><div>", url: "/Cart/Index" },
            {
                text: "FAQ",
                url: "/FAQ/Index",
                target: "_blank"
            },
            {
                text: "Live Chat",
                onclick: {
                    fn: OpenLiveSupport
                }

            },
            {
                text: "Logout",
                url: "/Login/Logout"
            }

        ];
    } else {
        aItems = [
               { text: "Home", url: "/Home/Index" },
               { text: "Search", url: "/PublicRoute/SearchRoutes" },
               { text: "FAQ", url: "/FAQ/Index" },
               { text: "About", url: "/Home/About" },
               { text: "How it works", url: "/Home/HowWorks" }
               ];

    if (document.title == "CarrierCloud Home") {
        aItems.push({ text: "News", url: "/Home/News" }, { text: "Investors", url: "/Home/Investors" });
    }
    aItems.push(
               { text: "Contact", url: "/Home/Contact" },
               { text: "<span style='color:#ffb84d'>Sign up Now</span>", url: "/Login/Register" },
               { text: "Login", url: "/Login/Login" },
               { text: "<img alt='' style='border:0px; padding-top:5px;' width='38'  src='/content/images/cart.jpg' />", url: "/Cart/Index" }
    );
}
    var oMenu = new YAHOO.widget.MenuBar("mymenu");
    oMenu.addItems(aItems);
    oMenu.render(getById("menuPanel"));
    oMenu.show();
});


// Help tooltips
function createTT(id, tip) {
    var ttId = id + "_tt";
    var ttdiv = '<span class="tip" style="max-width:300px;">' + tip + "</span>";
    new YAHOO.widget.Tooltip(ttId, { context: id, showdelay: 0, hidedelay: 0, autodismissdelay: 1000000, text: ttdiv });
    (document.getElementById(ttId)).setAttribute("style","margin-left:120px");
}

var _ccl_ttid = 0;
function help_tip(text) {
    var id = "ttHelp" + _ccl_ttid;
    document.writeln("<img id='" + id + "' alt='' src='/Content/images/icons/helpico.png' />");
    _ccl_ttid = _ccl_ttid + 1;
    YAHOO.util.Event.onDOMReady(function() { createTT(id, text); });
}


// Calendar
var runCalendar = function(divId, inputId) {
    var container = document.getElementById(divId);
    var button = document.createElement("a");
    button.setAttribute("id", "button" + divId);
    button.border = "0";
    var img = document.createElement("img");
    img.src = "/Content/images/icons/calendar.png";
    img.border = "0";
    img.setAttribute("style", "vertical-align:sub");
    button.appendChild(img);
    container.appendChild(button);

    var calendarBox = document.createElement("div");
    calendarBox.style.visibility = "hidden";
    calendarBox.setAttribute("id", "box" + divId);
    container.appendChild(calendarBox);

    var calendarBody = document.createElement("div");
    calendarBody.setAttribute("id", "bd");

    var calendarContainer = document.createElement("div");
    calendarContainer.setAttribute("id", "cal" + divId);
    calendarContainer.setAttribute("style", "margin:2px");

    calendarBody.appendChild(calendarContainer);
    calendarBox.appendChild(calendarBody);

    var dialog, calendar;
    calendar = new YAHOO.widget.Calendar("cal" + divId, {
        iframe: false,
        hide_blank_weeks: true
    });

    function onSelect() {
        if (calendar.getSelectedDates().length > 0) {
            var selDate = calendar.getSelectedDates()[0];
            var month = selDate.getMonth() + 1;
            var formattedMonth = (month > 9) ? month + "" : "0" + month;
            var day = selDate.getDate();
            var formmatedDay = (day > 9) ? day + "" : "0" + day;
            var hour = $("#calHour" + divId).val();
            if (hour.length == 1) hour = "0" + hour;
            var min = $("#calMin" + divId).val();
            if (min.length == 1) min = "0" + min;
            var date = selDate.getFullYear() + "-" + formattedMonth + "-" + formmatedDay;// +" " + hour + ":" + min + ":00";
            document.getElementById(inputId).value = date;
        } else {
            $(inputId).value = "";
        }
        dialog.hide();
    }

    function resetHandler() {
        var selDates = calendar.getSelectedDates();
        var resetDate;

        if (selDates.length > 0) {
            resetDate = selDates[0];
        } else {
            resetDate = calendar.today;
        }

        calendar.cfg.setProperty("pagedate", resetDate);
        calendar.render();
    }

    function cancelHandler() {
        this.hide();
    }

    dialog = new YAHOO.widget.Dialog("box" + divId, {
        context: [divId, "tl", "bl"],
        buttons: [{ text: "Reset", handler: resetHandler }, { text: "Cancel", handler: cancelHandler}],
        width: "18em",
        draggable: false,
        close: true
    });

    $("#box" + divId).append(timeControlHtml(divId));

    calendar.selectEvent.subscribe(onSelect);
    calendar.render();
    dialog.render();

    dialog.hide();

    calendar.renderEvent.subscribe(function() {
        dialog.fireEvent("changeContent");
    });

    YAHOO.util.Event.on("button" + divId, "click", function() {
        if (dialog.visible) {
            dialog.hide();
        }
        dialog.show();
        if (YAHOO.env.ua.opera && document.documentElement) {
            document.documentElement.className += "";
        }
    });
}
 
function timeControlHtml(id){
    var hours = "Hour: <select id='calHour" + id + "' style='margin-right:20px;'>";
    for (var i = 1; i < 25; i++) {
        hours += "<option>" + i + "</option>";
    }
    hours += "</select>"
    var mins = "Minute: <select id='calMin"+id+"'>";
    for (var i = 1; i < 60; i++) {
        mins += "<option>" + i + "</option>";
    }
    mins += "</select>"
    return "<div style='text-align:center;' class='ft' >" + hours + mins + "</div>";
}
    
// Numeric Stepper

function intClick(textBoxName, inc, min, max, isClickUp) {
    var tb = $("#" + textBoxName);
    if (tb.val() == "" || String(tb.val()).search(/\d/)) { tb.val(min); return; }
    if (isClickUp) {
        if (tb.val() <= (max - inc)) tb.val(parseInt(tb.val()) + inc);
    } else {
        if (tb.val() >= (min + inc)) tb.val(parseInt(tb.val()) - inc);
    }
    return;
}

function floatClick(textBoxName, inc, min, max, maxLength, isClickUp) {
    var tb = $("#" + textBoxName);
    if (tb.val() == "" || String(tb.val()).search(/\d/)) { tb.val(min); return; }
    if (isClickUp) {
        if (tb.val() <= (max - inc)) tb.val((parseFloat(tb.val()) + inc).toFixed(maxLength));
    } else {
        if (tb.val() >= (min + inc)) tb.val((parseFloat(tb.val()) - inc).toFixed(maxLength));
    }
    return;
}

//InfoPopup

//Capture Ycoord for InfoPopup Y offset
var Ycoord = 500;
YAHOO.util.Event.onDOMReady(function y() { YAHOO.util.Event.addListener(window, "click", function mouseCapt(evnt){ Ycoord = evnt.clientY; } ); } );


var iPopupButton = "";
function closeInfoPopup(){                                       
        $('#InfoPopup').html("N.A.");
        $('#InfoPopup').attr("style","visibility:hidden;top:300px;");
}
YAHOO.util.Event.onDOMReady(function y() { YAHOO.util.Event.addListener($("#InfoPopup"), "click", closeInfoPopup); } );

function changeInfoPopupG(text){
    if($("#InfoPopup").html().search("InfoPopupText" + r.RouteId) != -1) { 
        closeInfoPopup();
        $("#InfoPopupButton" + r.RouteId).attr("style","background-image:url(/content/images/rhorz-expander.gif)");      
    }
    else {
        closeInfoPopupG();
        $("#"+iPopupButton).attr("style","background-image:url(/content/images/rhorz-expander.gif)");      
        $('#InfoPopupButton' + r.RouteId).attr("style","background-image:url(/content/images/lhorz-expander.gif)");
        $('#InfoPopup').html(text);
        $('#InfoPopup').attr("style","top:"+ (Ycoord - 300) +"px; visibility:visible;");
        iPopupButton = "InfoPopupButton" + r.RouteId;
    }
}
function closeInfoPopupG(){                                       
        $('#InfoPopup').html("N.A.");
        $('#InfoPopup').attr("style","visibility:hidden;top:300px;");
}

function charLimiter(textboxName, displayboxName, limit) {
    $("#"+displayboxName).attr("class", "charLimit");
    var count = limit - ($("#"+textboxName).val().length);
    $("#"+displayboxName).html(count + " characters left");
    if (count < 0) {
        $("#"+displayboxName).html("Too many characters");
        $("#"+displayboxName).attr("style", "color:red;")
    }
}
