﻿var browser = null;
function browserCheck() 
{
	if (navigator.userAgent.indexOf("MSIE") >= 0 ) 
	{
		browser = "IE";
	} 
	else if (navigator.userAgent.indexOf("Netscape6") >= 0  || navigator.userAgent.indexOf("Gecko") >= 0 ) 
	{
		browser = "NS";
	} 
	else if (navigator.userAgent.indexOf("Opera") >= 0) 
	{
		browser = "IE";
	} 
	else 
	{
		browser = "NS";
	}
}
function chgColor(id)
{
	var obj = document.getElementById(id);
	obj.style.background = '#AABCFE';
}
function chgColorBack(id)
{
    var obj = document.getElementById(id);
    obj.style.background = '';
}
function chgClass(id, cssClass) {
    try {
        var obj = document.getElementById(id);
        obj.className = cssClass;
    } catch (e) { }
}
function chgColorBorder(id, color) {
    try {
        var obj = document.getElementById(id);
        obj.style.background = color;
        obj.style.padding = '2px 2px 2px 18px';
        obj.style.border = "solid 1px #8BA8FF";
    } catch (e) { }
}
function chgColorBorderBack(id) {
    try {
        var obj = document.getElementById(id);
        obj.style.background = '';
        obj.style.border = "";
        obj.style.padding = '3px 3px 3px 19px';
    } catch (e) { }
}
function chkInput(id)
{
    var obj = document.getElementById(id);
    obj.value = obj.value.replace(/\'/g, "´");
}
function gEle(id)
{
    return document.getElementById(id);
}
function gVal(id)
{
    try
    {
        return document.getElementById(id).value;
    }
    catch(e){return null};
}
function sVal(id, value) {
    try {
        var input = document.getElementById(id);
        input.value = value;
    }
    catch (e) {};
}
function gHei(id) {
    try {
        return document.getElementById(id).offsetHeight;
    }
    catch (e) { return 0 };
}
function hidebody(id)
{
    var obj = document.getElementById(id);
    obj.style.display = 'none';
}
function showbody(id) {
    var obj = document.getElementById(id);
    obj.style.display = '';
}
function switchbody(id, keepOpen) 
{
    tBodyObj = document.getElementById(id);
    if (tBodyObj != null) {
        if (typeof (keepOpen) == 'Undefined' || typeof (keepOpen) == 'undefined') {
            keepOpen = false;
        }
        if (tBodyObj.style.display == '' && keepOpen != true)
            tBodyObj.style.display = 'none';
        else
            tBodyObj.style.display = '';
    }
}
function clickCheckBox(id)
{
    var box = document.getElementById(id);
    if (box.disabled!=true)
    {
        if (box.checked)
        {
            box.checked = false;
        }
        else
        {
            box.checked = true;
        }
    }
}
function setCursor(type) {
    document.body.style.cursor = type;
}

var CurrentlyOpenID = null;
var CloseTarget = true;
var CurrentTitle;
var antal = 0;
function RemoveClickEvent() 
{
    if (antal > 0) 
    {
        antal = -1;
        if (typeof (window.removeEventListener) != "undefined") 
        {
            //FireFox way
            window.removeEventListener("click", RemoveClickEvent, false);
        }
        else 
        {
            //IE way
            document.detachEvent("onclick", RemoveClickEvent);
        }
        if (CurrentlyOpenID != null)//behövs om tid har tagit bort
            document.getElementById(CurrentlyOpenID).style.display = 'none';

        CloseTarget = true; //Måste sättas till true lokalt på varje item som behöver den
        if (typeof (OnClickRemoved) == "function") 
        {
            OnClickRemoved(CurrentlyOpenID);
        }
        CurrentlyOpenID = null;
        stopTime();

    }
    antal++;
}
function AddClickEvent(id, event, idno) 
{
    if (CurrentlyOpenID != id || id.indexOf('context')>=0) 
    {
        if (CurrentlyOpenID != null) 
        {
            RemoveClickEvent();
            stopTime();
        }
        if (id.indexOf('context') >= 0 && typeof (ContextTableLengthId) != 'undefined') {
            var temp = gEle(ContextTableLengthId);
            if (temp.childNodes[0].childNodes.length == 0) 
            {
                return;
            }
        }
        if (id.indexOf('context') >= 0 && typeof (ContextAutoClose) != 'undefined') {
            antal = 1;
        }
        CurrentlyOpenID = id;
        document.getElementById(id).style.display = '';
        if (typeof (window.addEventListener) != "undefined") 
        {
            // Firefox way
            window.addEventListener("click", RemoveClickEvent, false);
        }
        else 
        {
            // IE way
            document.attachEvent("onclick", RemoveClickEvent);
        }
        if (typeof (event) == "undefined" && typeof (window.event) != "undefined") {
            e = window.event;
        }
        else {
            e = event;
        }
        if (typeof (e.preventDefault) != "undefined")
            e.preventDefault();
        e.returnValue = false;
        if (typeof (OnClickAdded) == "function") 
        {
            OnClickAdded(e, idno);
        }

    }
}
function AddClickEvent2(id, event, idno) {
    if (CurrentlyOpenID != id || id == 'context') {
        if (CurrentlyOpenID != null) {
            RemoveClickEvent();
            stopTime();
        }
        if (id == 'context' && typeof (ContextTableLengthId) != 'undefined') {
            var temp = gEle(ContextTableLengthId);
            if (temp.getElementsByTagName('tr').length == 0) {
                return;
            }
        }
        if (id == 'context' && typeof (ContextAutoClose) != 'undefined') {
            antal = 1;
        }
        CurrentlyOpenID = id;
        document.getElementById(id).style.display = '';
        if (typeof (window.addEventListener) != "undefined") {
            // Firefox way
            window.addEventListener("click", RemoveClickEvent, false);
        }
        else {
            // IE way
            document.attachEvent("onclick", RemoveClickEvent);
        }
        if (typeof (OnClickAdded) == "function") {
            if (typeof (event) == "undefined" && typeof (window.event) != "undefined") {
                e = window.event;
            }
            else {
                e = event;
            }
            if (typeof (e.preventDefault) != "undefined")
                e.preventDefault();
            e.returnValue = false;
            OnClickAdded(e, idno);
        }

    }
}
var timmer;
function setTime(tid) {
    try {
        timmer = setTimeout('RemoveClickEvent()', tid);
    }
    catch (e) { }
}
function stopTime() {
    try {
        clearTimeout(timmer);
    }
    catch (e) { }
}
function positionContext(height, margin) {
    var meny = document.getElementById(CurrentlyOpenID);
    var top = e.clientY  - 10;//Borde inte behöva scrollTop här eller? fixa så bottomedge blir rätt?
    var left = e.clientX - 7;
    var rightedge = document.body.clientWidth - left;
    var bottomedge = height - top;
    var scrolltop = document.documentElement.scrollTop;
    if (rightedge < meny.offsetWidth) {
        var temp = document.body.scrollLeft + left - meny.offsetWidth + 14;
        temp = temp;
        meny.style.left = temp + 'px';
    }
    else {
        meny.style.left = left.toString() + 'px';
    }
    if (bottomedge < meny.offsetHeight) {//Här det blir fel
        meny.style.top = scrolltop + top + 20 - meny.offsetHeight - margin + 'px';
    }
    else {
        meny.style.top = top + scrolltop + 'px';
    }
    meny.focus();

}
function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent)
        while (1) {
        curleft += obj.offsetLeft;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent)
        while (1) {
        curtop += obj.offsetTop;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}
function cancelClick(ev) {
    ev = ev || window.event;
    if (ev.preventDefault) {
        ev.preventDefault();
    } else if ('cancelBubble' in ev) {
        ev.cancelBubble = true;
    }
}
var tooltipTimmer = null;
function mom_ig_tooltip(sender, args) {
    if (args.get_type() == "cell") {
        hideToolTip();
        var motext = args.get_item().get_value() + '';
        if (motext.toLowerCase().indexOf('<span>') >= 0) {
            motext = motext.replace('<span>', '').replace('</span>', '');
            var toolTip = document.getElementById("spnToolTip");
            toolTip.style.top = args.get_browserEvent().clientY + 10 + 'px';
            toolTip.style.left = args.get_browserEvent().clientX + 'px';
            toolTip.innerHTML = motext;
            tooltipTimmer = setTimeout('showToolTip();', 800);
        }
    }

}
function showToolTip() {
    var toolTip = document.getElementById("spnToolTip");
    toolTip.style.visibility = "visible";
}

function hideToolTip() {
    document.getElementById("spnToolTip").style.visibility = "hidden";
    if (tooltipTimmer != null) {
        clearTimeout(tooltipTimmer);
    }
}



