﻿// jquery hover
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
// common
function FillSelectCtrl(ctrlSelect, data) {
    ctrlSelect.options.length = 0;
    var row = data.split(";");
    if (typeof (row.length) != "undefined") {
        var col;
        for (var i = 0; i < row.length; ++i) {
            col = row[i].split(",");
            ctrlSelect.options[i] = new Option(col[0], col[1]);
        }
        ctrlSelect.options.length = row.length;
    }
}
function IsInteger(s) {
    var i;
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}
function GetParam(name) {
    var u = location.href.toLowerCase();
    var curUrl = u.split("?");
    if (curUrl.length != 1) {
        var idxStart = curUrl[1].indexOf(name + "=");
        if (idxStart == -1) return "";
        var idxEnd = curUrl[1].indexOf("&", idxStart + name.length);
        if (idxEnd == -1) {
            idxEnd = curUrl[1].length;
        }
        var subStr = curUrl[1].substring(idxStart, idxEnd);
        var param = subStr.split("=");
        return param[1];
    }
    return "";
}
function getCookie(Name) {
    var re = new RegExp(Name + "=[^;]+", "i");
    if (document.cookie.match(re)) return unescape(document.cookie.match(re)[0].split("=")[1]);
    return "";
}
function setCookie(name, value, days) {
    if (typeof days != "undefined") {
        var expireDate = new Date();
        var expstring = expireDate.setDate(expireDate.getDate() + days);
        document.cookie = name + "=" + escape(value) + "; expires=" + expireDate.toGMTString() + "; path=/";
    } else document.cookie = name + "=" + escape(value);
}
// menu

var MENUITEM_COUNT = 2;
var S_UP = false;
function OnMouseOverMenu() {
    this.className = "menuOver";
    $('.subMenuStyle').hide();
    TSGetDropMenu(this).animate({ height: 'show', opacity: 'show' }, 400);
}
function OnMouseOutMenu() {
    this.className = "menuOut";
    if (!S_UP) TSGetDropMenu(this).animate({ height: 'hide', opacity: 'hide' }, 200);
}
function OnMouseOverSub(obj) {
    S_UP = true;
    $(obj).show();
}
function OnMouseOutSub(obj) {
    S_UP = false;
    setTimeout(TSHideDropMenu, 200);
}
function OnMouseOverSubMenu(obj) {
    obj.className = "subMenuOver";
}
function OnMouseOutSubMenu(obj) {
    obj.className = "subMenuOut";
}
function CreateMenu(items) {
    document.write("<table cellpadding='0' cellspacing='0' class='menuStyle'><tr><td><table cellpadding='0' cellspacing='0'><tr>");
    var i; var j = -1;
    for (i = 0; i < items.length; ++i) {
        if (items[i][0].indexOf('Store') > -1) {
            j = i; continue;
        }
        document.write('<td class="menuOut"><b>' + MakeMenuLink(items[i], i) + '</b></td>');
    }
    document.write("</tr><tr>");
    for (i = 0; i < items.length; ++i) {
        if (i == j) continue;
        document.write('<td style="vertical-align:top; text-align:left;"><div class="subMenuStyle" onmouseover="javascript:OnMouseOverSub(this);" onmouseout="javascript:OnMouseOutSub(this);">');
        CreateSubMenu(items[i], i);
        document.write("</div></td>");
    }
    document.write("</tr></table></td><td class='menuOut2'>&nbsp;</td>");
    if (j > -1) {
        document.write('<td><table cellpadding="0" cellspacing="0"><tr><td class="menuOut" id="store_menu">' + MakeStoreMenu(items[j]) + '</td></tr><tr><td style="vertical-align:top; text-align:left;"><div id="store_sub_menu" class="subMenuStyle" onmouseover="javascript:OnMouseOverSub(this);" onmouseout="javascript:OnMouseOutSub(this);">');
        CreateSubMenu(items[j], j);
        document.write("</div></td></tr></table></td>");
    }
    document.write("</tr></table>");
    var h_config = {
        sensitivity: 10,
        interval: 200,
        over: OnMouseOverMenu,
        timeout: 200,
        out: OnMouseOutMenu
    };
    $('td.menuOut').hoverIntent(h_config);
}
function CreateSubMenu(subitems, columIndex, merged) {
    if (subitems.length <= MENUITEM_COUNT) return;
    if (!merged)
        document.write("<table cellpadding='0' cellspacing='0'>");
    for (var i = MENUITEM_COUNT; i < subitems.length; ++i) {
        if (!merged)
            document.write('<tr>');
        else
            document.write('<tr class="mergeMenu' + columIndex + '" style="display:none;width:100%" >');
        document.write('<td class="subMenuOut" onmouseover="javascript:OnMouseOverSubMenu(this)" onmouseout="javascript:OnMouseOutSubMenu(this)">');
        if (merged)
            document.write('&nbsp;&nbsp;&nbsp;&nbsp;');

        if (subitems[i].length > MENUITEM_COUNT) {
            document.write(MakeMenuLink(subitems[i], columIndex * 100 + i, true) + '</td></tr>');
            CreateSubMenu(subitems[i], columIndex * 100 + i, true);
        }
        else
            document.write(MakeMenuLink(subitems[i], i) + '</td></tr>');
    }
    if (!merged)
        document.write("</table>");
}
function MakeMenuLink(item, columIndex, merged) {
    if (item.length < MENUITEM_COUNT) return;
    var ret = '<a class="menuLink"';
    if (!merged)
        ret += ' href="' + item[1] + '" >';
    else
        ret += ' href="javascript:void(0)" onclick="javascript:ToggleMergeMenu(' + columIndex + ')" id="TSMENU_' + columIndex + '" ><b>+&nbsp;&nbsp;';
    ret += item[0];
    if (merged)
        ret += '</b>';
    return ret + '</a>';
}
function MakeStoreMenu(item) {
    var src = location.protocol + "//www.transoftsolutions.com/images/shop.gif";
    return '<table><tr><td><img src="' + src + '" /></td><td><a class="menuLink" href="' + item[1] + '" ><b>Store</b>&nbsp;&nbsp;&nbsp;</a></td></tr></table>';
}
function ToggleMergeMenu(columIndex) {
    var show = $('.mergeMenu' + columIndex + ':hidden').length;
    var menu = $('#TSMENU_' + columIndex);
    if (show) {
        menu.html(menu.html().replace('+', '-'));
        $('.mergeMenu' + columIndex).show();
    }
    else {
        menu.html(menu.html().replace('-', '+'));
        $('.mergeMenu' + columIndex).hide();
    }
}
function TSGetDropMenu(td) {
    if (td.id === "store_menu") {
        return $('#store_sub_menu');
    } else {
        var i = td.cellIndex;
        return $('.subMenuStyle:eq(' + i + ')');
    }
}
function TSHideDropMenu() {
    if (!S_UP) $('.subMenuStyle').hide();
}
