var IE = (document.all) ? 1 : 0;
var NS = (document.layers) ? 1 : 0;

// WINDOW STATUS FUNCTIONS
window.defaultStatus = "";
function winStatus( msg )
{
    window.status = msg;
}

var pictureWindow = null;
function showPicture(url, width, height)
{
    pictureWindow=window.open(url, 'picture', "width="+width+",height="+height+",scrollbars=1,resizable=1");
    if (pictureWindow.focus != null)
        pictureWindow.focus();
    pictureWindow.resizeTo(width+50, height+70);
}

function showCarPicture(url)
{
    pictureWindow=window.open(url, 'picture', "width="+752+",height="+560+",scrollbars=1,resizable=1");
    if (pictureWindow.focus != null)
        pictureWindow.focus();
}
function showPictureBrowser(url)
{
    pictureWindow=window.open(url, 'picture', "width=770,height=623,scrollbars=1,resizable=0");
    if (pictureWindow.focus != null)
        pictureWindow.focus();
}

function OpenWindow(val, title, width, height, scrollbars)
{
    win1=open(val,title,"width="+width+",height="+height+",scrollbars="+scrollbars);
    if (win1.focus != null)
        win1.focus();
}

function openExitPopup(width,height,file,id,interval)
{
    var nyhedsbrev = getCookie(id);
    if(nyhedsbrev==null)
    {
        if(document.layers)
        {
            width+=80;
            height+=30;
        }
        win = window.open(file,id,'width=5,height=5,left=-10,top=-10');
        window.focus();
        win.blur();
        window.focus();
        var tomorrow = new Date();
        tomorrow.setTime(tomorrow.getTime()+interval*24*60*60*1000);
        document.cookie = id+"=autocom; path=/ ;expires=" + tomorrow.toGMTString();

        win.moveTo((window.screen.width-width)/2, (window.screen.height-height)/2);
        win.resizeTo(width, height);
    }
}





function getCookie(Name)
{
    var search = Name + "=";
    if (document.cookie.length > 0)
    {
        offset = document.cookie.indexOf(search);
        if (offset != -1)
        {
            offset += search.length;
            end = document.cookie.indexOf(";", offset);
            if (end == -1)
                end = document.cookie.length;
            return unescape(document.cookie.substring(offset, end));
        }
    }
    return null;
}





function DeleteCookie (name,path,domain) {
    if (GetCookie(name)) {
        document.cookie = name + "=" +
                ((path) ? "; path=" + path : "") +
                ((domain) ? "; domain=" + domain : "") +
                "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function validate(string)
{
    if (!string)
        return false;
    var Chars = "0123456789";

    for (var i = 0; i < string.length; i++)
    {
        if (Chars.indexOf(string.charAt(i)) == -1)
            return false;
    }
    return true;
}

function updateVatCalc(input,outfield,factor)
{
    if(validate(input))
        outfield.value=""+Math.round((parseInt(input)*parseFloat(factor)));
    else
        outfield.value="";
}


function onlyDigits(e,decReq)
{
    var isIE = document.all?true:false;
    var isNS = document.layers?true:false;
    var key = (isIE) ? window.event.keyCode : e.which;
    var obj = (isIE) ? event.srcElement : e.target;
    var isNum = (key > 47 && key < 58) ? true:false;
    var dotOK = (key==46 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
    window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
    e.which = (!isNum && !dotOK && isNS) ? 0:key;
    return (isNum || dotOK);
}

// copyright 1999 Idocs, Inc. http://www.idocs.com
// Distribute this script freely but keep this notice in place
function onlyAlphanumeric(e)
{
    var key;
    var keychar;

    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
        return true;
    keychar = String.fromCharCode(key);
    keychar = keychar.toLowerCase();

    // control keys
    if ((key==null) || (key==0) || (key==8) ||
            (key==9) || (key==13) || (key==27) )
        return true;

    // alphas and numbers
    else if ((("abcdefghijklmnopqrstuvwxyz0123456789").indexOf(keychar) > -1))
        return true;
    else
        return false;
}


function clearcontrols(controls,listboxes,textareas)
{
    for(var i in controls)
    {
        controls[i].checked = false;
    }
    for(var i in listboxes)
    {
        listboxes[i].selectedIndex = 0;
    }
    for(var i in textareas)
    {
        textareas[i].value = "";
    }
}

function setControlFromSelect(select,radio)
{
    if(select.selectedIndex != 0)
        radio.checked = true;
}

function setControlFromCheckbox(checkbox,radio)
{
    if(checkbox.checked)
        radio.checked = true;
}

function setControlFromTextarea(textarea,radio)
{
    if(textarea.value!="")
        radio.checked = true;
}

function onlyDigitsEnterSubmits(e,decReq,form)
{
    var isIE = document.all?true:false;
    var isNS = document.layers?true:false;
    var key = (isIE) ? window.event.keyCode : e.which;
    var obj = (isIE) ? event.srcElement : e.target;
    if (key == 13)
        form.submit();
    var isNum = (key > 47 && key < 58) ? true:false;
    var dotOK = (key==46 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
    window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
    e.which = (!isNum && !dotOK && isNS) ? 0:key;
    return (isNum || dotOK);
}

function hideShowDiv(divName)
{
    var divPlus1 = "plus" + divName;
    var div = document.getElementById(divName);
    var divPlus = document.getElementById(divPlus1);
    if (div.style.display=='block')
    {
        div.style.display='none';
        divPlus.innerHTML=("+");
    }
    else
    {
        div.style.display='block';
        divPlus.innerHTML=("-");
    }
}

function popUp(URL) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=1,location=1,statusbar=0,menubar=1,resizable=1,width=800,height=600');");
}
var _G_CountDown_limit;
var _G_CountDown_eventMethod;
var tu = new Date();

function clock_tick()
{
    if (tu <= _G_CountDown_limit)
    {
        _G_CountDown_eventMethod();
    }
    else
    {
        tu--;
        if(tu==-1)
        {
            setTimeout("clock_tick()", 1000);
            return;
        }
        if (tu < _G_CountDown_limit)
        {
            _G_CountDown_eventMethod();
        }
        else
        {
            var d = Math.floor(tu / 86400);
            document.forms.timer.days.value = d;
            var h = Math.floor((tu-d*86400) / 3600);
            document.forms.timer.hours.value = h;
            var m = Math.floor(tu / 60) % 60;
            document.forms.timer.minutes.value = m;
            var s =   Math.floor(tu % 60);
            document.forms.timer.seconds.value = s;
            if(d==0 && h == 0 && m<=0 && s<=0)
            {
                document.forms.timer.days.value = '?';
                document.forms.timer.hours.value = '?';
                document.forms.timer.seconds.value = '?';
                document.forms.timer.minutes.value = '?';
            }
        }
        setTimeout("clock_tick()", 1000);
    }
}


function timer_start(_limit, _eventMethod, _reloadTime, _now, _timer)
{
    var reloadTime = _reloadTime;
    var now = _now;
    _G_CountDown_limit = _limit;
    _G_CountDown_eventMethod = _eventMethod;
    tu = (reloadTime - now)/1000;
    if (tu > 0)
        clock_tick();
}


function callActionChangeOneDiv(urlString, hideDivId, showDivId, errorMessage)
{
    callActionChangeTwoDivs(urlString, hideDivId, null, showDivId, null, errorMessage);
}

function callActionChangeTwoDivs(urlString, hideDivId, theOtherHideDivId, showDivId, theOtherShowDivId, errorMessage)
{
    document.getElementById(hideDivId).style.display='none';
    if (theOtherHideDivId != null)
        document.getElementById(theOtherHideDivId).style.display='none';
    document.getElementById(showDivId).style.display='block';
    if (theOtherShowDivId != null)
        document.getElementById(theOtherShowDivId).style.display='block';
    document.getElementById(hideDivId).innerHTML=document.getElementById(hideDivId).innerHTML; // Do not delete this line. It speeds up the process dramatically - there is probably a better way to do this ...
    if (theOtherHideDivId != null)
        document.getElementById(theOtherHideDivId).innerHTML=document.getElementById(theOtherHideDivId).innerHTML; // Do not delete this line. It speeds up the process dramatically - there is probably a better way to do this ...
    var xmlHttp;
    try
    { // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {  // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX");
                return false;
            }
        }
    }
    xmlHttp.onreadystatechange=function()
    {

        if(xmlHttp.readyState==4)
        {

            if (xmlHttp.responseText != 'OK')
            {
                document.getElementById(hideDivId).style.display='block';
                if (theOtherHideDivId != null)
                    document.getElementById(theOtherHideDivId).style.display='block';
                document.getElementById(showDivId).style.display='none';
                if (theOtherShowDivId != null)
                    document.getElementById(theOtherShowDivId).style.display='none';
                document.getElementById(hideDivId).innerHTML=errorMessage;
                if (theOtherHideDivId != null)
                    document.getElementById(theOtherHideDivId).innerHTML=errorMessage;
            }
        }
    };
    // rval is added to avoid caching of the result
    urlString += "&rval="+new Date().getTime();
    xmlHttp.open("GET", urlString, false);
    xmlHttp.send(null);
}

function getXmlHttp()
{
    var xmlHttp;
    try
    { // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {  // Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                alert("Your browser does not support AJAX");
                return false;
            }
        }
    }
    return xmlHttp;
}

function requestXmlHttp(xmlHttp, urlString)
{
    // rval is added to avoid caching of the result
    urlString += "&rval="+new Date().getTime();
    xmlHttp.open("GET", urlString, true);
    xmlHttp.send(null);
}

function requestUrlWithAjax(_url)
{
  var xmlHttp = getXmlHttp();
  requestXmlHttp(xmlHttp, _url);
}

function openFMContentBox(divName, innerDivName, urlString)
{
    document.getElementById(divName).innerHTML = '';
    ShowLayer(divName);
    changeFMLightBoxContent(divName, innerDivName, urlString);
}

function openFMLightBox(divName, innerDivName, urlString)
{
    document.getElementById(divName).innerHTML = '';
    openbox(divName);
    changeFMLightBoxContent(divName, innerDivName, urlString);
}

function openAjaxLinkWithBulkParams(urlString, resultDiv, reload, formName)
{
    var formElements = document.getElementById(formName).elements;
    urlString += '?';
    var anyChecked = false;
    for (var t = 0 ; t < formElements.length ; t++)
    {
        var elem = formElements[t];
        if (elem.checked)
        {
            anyChecked = true;
            urlString += elem.name + "=" + elem.value + "&";

        }
    }
    if (anyChecked)
    {
        openAjaxLink(urlString, resultDiv, reload);
    }

}
function openAjaxLink(urlString, resultDiv, reload)
{
    var xmlHttp = getXmlHttp();
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4)
        {
            output = xmlHttp.responseText;
            if (output == null || output.length == 0)
            {
                if (reload != null)
                {
                    if (document.getElementById('reloadtabfunction') != null)
                    {
                        eval(document.getElementById('reloadtabfunction').value);
                    }
                    else
                    {
                        window.location.reload();
                    }
                }
            }
            else
            {
                if (output != null && output == "error")
                {
                    window.location = "error.do";
                }
                else
                {
                    document.getElementById(resultDiv).innerHTML = output;
                    ShowLayer(resultDiv);
                }

            }
        }
    };
    requestXmlHttp(xmlHttp, urlString);
}

function openFMLightBoxWithBulkParamsFromElements(divName, innerDivName, urlString, formElements)
{

    var anyChecked = false;
    for (var t = 0 ; t < formElements.length ; t++)
    {
        var elem = formElements[t];
        if (elem.checked)
        {
            anyChecked = true;
            urlString += elem.name + "=" + elem.value + "&";
        }
    }
    if (anyChecked == false)
        return;
    document.getElementById(divName).innerHTML = '';
    openbox(divName);
    changeFMLightBoxContent(divName, innerDivName, urlString);
}

function openFMLightBoxWithBulkParams(divName, innerDivName, urlString, formName)
{
    var formElements = document.getElementById(formName).elements;
    urlString += '?';
    openFMLightBoxWithBulkParamsFromElements(divName, innerDivName, urlString, formElements);
}

function openFMNewSupplierOrderLightBoxWithBulkParams(divName, innerDivName, urlString)
{
    var formElements = document.uploadaccidentreportsform.elements;
    urlString += '?carid=' + document.uploadaccidentreportsform.carid.value + '&';

    openFMLightBoxWithBulkParamsFromElements(divName, innerDivName, urlString, formElements);
}

function changeFMLightBoxContent(divName, innerDivName, urlString, _loadExternalJSFile)
{
    var xmlHttp = getXmlHttp();
    xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4)
        {
            output = xmlHttp.responseText;
            if (output == null || output.length == 0)
                window.location.reload();
            else
            {
                if (output != null && output == "error")
                    window.location="error.do";
                else
                {
                    document.getElementById(divName).innerHTML = output;
                    if(_loadExternalJSFile != null && _loadExternalJSFile != "null")
                    {
                        loadJsOrCssFile(_loadExternalJSFile, "js");
                    }
                    ShowLayer(innerDivName);
                }
            }
        }
    };
    requestXmlHttp(xmlHttp, urlString);
}

/**
 * http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml
 * @param filename
 * @param filetype
 */
function loadJsOrCssFile(filename, filetype)
{
    if (filetype=="js"){ //if filename is a external JavaScript file
        var fileref=document.createElement('script');
        fileref.setAttribute("type","text/javascript");
        fileref.setAttribute("src", filename);
    }
    else if (filetype=="css"){ //if filename is an external CSS file
        var fileref=document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", filename)
    }
    if (typeof fileref!="undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
}


function submitFormWithAjax(_formName, _urlString, _resultDiv, _forwardUrl, _dialogName, _closeDialog)
{
  var xmlHttp = getXmlHttp();
  xmlHttp.open('POST', _urlString, true);
  xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
  xmlHttp.onreadystatechange=function()
    {
        if(xmlHttp.readyState==4)
        {
            output = xmlHttp.responseText;
            if (output == null || output.length == 0)
            {
                if (_forwardUrl != null)
                {
                    window.location.href=_forwardUrl;
                }
                else
                {
                    if(_dialogName!=null)
                    {
                        if (document.getElementById('reloadtabfunction') != null)
                        {
                            eval(document.getElementById('reloadtabfunction').value);
                        }
                        if (_closeDialog)
                        {
                          closebox(_dialogName);
                        }
                    }
                    else
                    {
                        window.location.reload();
                    }
                }
            }
            else
            {
                if (output != null && output == "error")
                    window.location="error.do";
                else
                {
                    document.getElementById(_resultDiv).innerHTML = output;
                    ShowLayer(_resultDiv);
                }
            }
        }
    };
  xmlHttp.send(unescape(getQueryString(_formName)));
}

function submitFormWithAjaxIfEnter(_event, _formName, _forward, _errorDiv, _forwardUrl, _dialogName, _closeDialog)
{
    var keyCode = _event.keyCode ? _event.keyCode : _event.which ? _event.which : _event.charCode;
    if (keyCode == 13)
    {
        if (window.event)
        {
            _event.returnValue = false;
            _event.cancelBubble=true;
        }
        else
        {
            _event.preventDefault();
            _event.stopPropagation();
        }
        submitFormWithAjax(_formName, _forward, _errorDiv, _forwardUrl,_dialogName,_closeDialog);
    }
}

function HideLayer(id) {
    if (document.getElementById(id) != null)
        document.getElementById(id).style.display="none";
}

function ShowLayer(id) {
    if (document.getElementById(id) != null)
        document.getElementById(id).style.display="block";
}

function ShowHideLayer(showId,hideId)
{
    HideLayer(hideId);
    ShowLayer(showId);
}

function setClassAndSelectRadioButton(_trElement, _radioButtons, _input)
{
    var list = _trElement.parentNode.getElementsByTagName("tr");
    for (i = 0; i < list.length; i++) {
        list[i].className = "";
    }
    _trElement.className = "selected";

    for (i=0;i<_radioButtons.length;i++) {
        if (_radioButtons[i].value == _input) {
            _radioButtons[i].checked=true;
        }
    }
}

function getQueryString(formname)
{
    var form = document.forms[formname];
    var qstr = "";

    function GetElemValue(name, value)
    {
        qstr += (qstr.length > 0 ? "&" : "")
                + escape(name).replace(/\+/g, "%2B") + "="
                + escape(value ? value.replace("&", "%26").replace("%", "%25") : "").replace(/\+/g, "%2B");
        //+ escape(value ? value : "").replace(/\n/g, "%0D");
    }

    var elemArray = form.elements;
    for (var i = 0; i < elemArray.length; i++)
    {
        var element = elemArray[i];
        var elemType = element.type.toUpperCase();
        var elemName = element.name;
        if (elemName)
        {
            if (elemType == "TEXT"
                    || elemType == "TEXTAREA"
                    || elemType == "PASSWORD"
                    || elemType == "BUTTON"
                    || elemType == "RESET"
                    || elemType == "SUBMIT"
                    || elemType == "FILE"
                    || elemType == "IMAGE"
                    || elemType == "HIDDEN")
                GetElemValue(elemName, element.value);
            else if (elemType == "CHECKBOX" && element.checked)
                GetElemValue(elemName,  element.value ? element.value : "On");
            else if (elemType == "RADIO" && element.checked)
                GetElemValue(elemName, element.value);
            else if (elemType.indexOf("SELECT") != -1)
            {
                for (var j = 0; j < element.options.length; j++)
                {
                    var option = element.options[j];
                    if (option.selected)
                        GetElemValue(elemName, option.value ? option.value : option.text);
                }
            }
        }
    }
    return qstr;
}

function changeClass(id, newClass) {
    identity=document.getElementById(id);
    identity.className=newClass;

}

function MM_swapImage() { //v3.0
    var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
        if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
    var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function isEventEnter(event)
{
    event = event || window.event;
    var unicode=event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;
    if (unicode == 13){
        return true;
    }
    return false;
}

function simulateClick(element)
{
    if(element.click)
        element.click();
    else
    {
        var evt = document.createEvent("MouseEvents");
        evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        var el = element;
        el.dispatchEvent(evt);
    }

}

function toggle_visibility(id)
{
    var e = document.getElementById(id);
    if(e.style.display == 'block')
        e.style.display = 'none';
    else
        e.style.display = 'block';
}

function toggle_visibility2(id,id2)
{
    var e = document.getElementById(id);
    var e2 = document.getElementById(id2);
    if(e.style.display == '')
    {
        e.style.display = 'none';
        /*Next four lines are used to make sure animated gifs starts over*/
        var content = e2.innerHTML;
        e2.innerHTML = "";
        e2.innerHTML = content;
        e2.style.display = '';
    }
    else
    {
        /*Next four lines are used to make sure animated gifs starts over*/
        var content = e.innerHTML;
        e.innerHTML = "";
        e.innerHTML = content;
        e.style.display = '';
        e2.style.display = 'none';
    }
}

function setFocus()
{
    var el = document.getElementById("username");
    if(el.style.visibility == "visible")
        el.focus();

}

function toggleDisplay(div,iframe,objpos,pos)
{
    var t=0;
    var l=0;
    var state=false;

    var cNode = document.getElementById(objpos);
    while(cNode.tagName!='BODY'){
        l+=cNode.offsetLeft;
        t+=cNode.offsetTop;
        cNode=cNode.offsetParent;
    }

    var DivRef = document.getElementById(div);
    var IfrRef = document.getElementById(iframe);
    var ObjPos = document.getElementById(objpos);

    if (DivRef.style.display=="none") {
        state=true;
    } else {
        state=false;
    }

    if(state)
    {
        DivRef.style.display = "block";
        IfrRef.style.width = DivRef.offsetWidth;
        IfrRef.style.height = DivRef.offsetHeight;

        switch (pos) {
            case "left":
                DivRef.style.top = t;
                DivRef.style.left = (l-ObjPos.offsetWidth);
                IfrRef.style.top = t;
                IfrRef.style.left = (l-ObjPos.offsetWidth);
                break;
            case "right":
                DivRef.style.top = t;
                DivRef.style.left = (l+ObjPos.offsetWidth);
                IfrRef.style.top = t;
                IfrRef.style.left = (l+ObjPos.offsetWidth);
                break;
            case "bottom":
                DivRef.style.top = (t+ObjPos.offsetHeight);
                DivRef.style.left = l;
                IfrRef.style.top = (t+ObjPos.offsetHeight);
                IfrRef.style.left = l;
                break;
            case "top":
                DivRef.style.top = (t-ObjPos.offsetHeight);
                DivRef.style.left = l;
                IfrRef.style.top = (t-ObjPos.offsetHeight);
                IfrRef.style.left = l;
                break;
        }


        IfrRef.style.zIndex = DivRef.style.zIndex - 1;
        IfrRef.style.display = "block";
        IfrRef.style.backgroundColor = "black";
    }
    else
    {
        DivRef.style.display = "none";
        IfrRef.style.display = "none";
    }

}

function changeBPMBTW(_enrollId, _currencyCode, _useBPM, _depriciatedBPM, _input, _vatFactor, _groupingSeparator)
{
    if (!_useBPM)
        _depriciatedBPM = 0;
    var price = "";
    var amount = Math.round(parseFloat(_vatFactor) * parseInt(_input)) + parseInt(_depriciatedBPM);
    if (!(amount >= 0) || parseInt(_depriciatedBPM) < 0)
        price = "?";
    else
        price = ""+amount;
    var output = "";
    for (var i=0; i < price.length; i++)
    {
        if (i != 0 && (price.length - i) % 3 == 0) output += _groupingSeparator;
        output += price.charAt(i);
    }
    document.getElementById("bpmbtw_" + _enrollId).innerHTML = _currencyCode + " " + output;
}

function submitOnEnterKey(event, formName)
{

    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13)
    {
        document.forms[formName].submit();
    }
}

function limitText(limitField, limitCount, limitNum)
{

    if (limitField.value.length > limitNum)
    {
        limitField.value = limitField.value.substring(0, limitNum);
    }
    else
    {
        if(limitCount)
            limitCount.value = limitNum - limitField.value.length;
    }
}

var lastDiv = "";
function showDivHideDiv(divName) {
    // hide last div
    if (lastDiv) {
        document.getElementById(lastDiv).style.display="none";
    }
    //if value of the box is not nothing and an object with that name exists, then change the style
    if (divName && document.getElementById(divName)) {
        document.getElementById(divName).style.display="block";
        lastDiv = divName;
    }
}

function showDivHideOthers(divName, others) {
    if (divName && document.getElementById(divName)) {
        document.getElementById(divName).style.display="block";
        lastDiv = divName;
    }
    var currentArgument;
    for( var i = 1; i < arguments.length; i++ )
    {
        currentArgument = arguments[i];
        if(currentArgument!=divName && document.getElementById(currentArgument))
        {
            document.getElementById(currentArgument).style.display="none";
        }
    }

}

function setFocusUsername() {
    document.getElementById("username").focus();
}
function setFocusSearch() {
    document.getElementById("search").focus();
}

function changeClassToggle(elem, className1,className2) {
    elem.className = (elem.className == className1)?className2:className1;
}

function changeInnerHtml(id, newHTML) {
    identity=document.getElementById(id);
    identity.innerHTML=newHTML;
}

function changeInnerHtmlToggle(elem, innerHTML1,innerHTML2) {
    elem.innerHTML = (elem.innerHTML == innerHTML1)?innerHTML2:innerHTML1;
}

function toggleSelectDeselectTitle(element) {
    var title1 = 'Select';
    var title2 = 'Deselect';
    if(title1 == element.title)
        element.title = title2;
    else
        element.title = title1;
}

function toggleExpandCollapseTitle(element) {
    var title1 = 'Expand list';
    var title2 = 'Collapse list';
    if(title1 == element.title)
        element.title = title2;
    else
        element.title = title1;
}
function toggleShowHideTitle(element) {
    var title1 = 'Show details';
    var title2 = 'Hide details';
    if(title1 == element.title)
        element.title = title2;
    else
        element.title = title1;
}

function gradient(id, level) {
    var box = document.getElementById(id);
    box.style.opacity = level;
    box.style.MozOpacity = level;
    box.style.KhtmlOpacity = level;
    box.style.filter = "alpha(opacity=" + level * 100 + ")";
    box.style.display="block";
    return;
}

var filterStep = 0;
function openbox(name)
{
    filterStep++;
    var box = document.getElementById(name);
    var newFilterDiv = document.createElement("div");
    newFilterDiv.className = "filter";
    newFilterDiv.style.zIndex = 500+(filterStep*10);
    newFilterDiv.id = "filter"+filterStep;
    box.parentNode.insertBefore(newFilterDiv, box);
    newFilterDiv.style.display = "block";
//    var html = document.getElementsByTagName('html')[0];
//    alert("document.documentElement.scrollTop : " +document.documentElement.scrollTop + "\ndocument.body.scrollTop : " + document.body.scrollTop +"\nhtml.scrollTop " + html.scrollTop + "\nbox.parentNode.id: " + box.parentNode.id);
    if (document.documentElement.scrollTop >0 )
    {
        if (box.parentNode.id == "")
        {
            box.style.top = document.documentElement.scrollTop + (20 + (filterStep * 30)) + "px";
        }
        else
        {
            box.style.position="fixed";
            box.style.top="200px";
        }
    }
    else
    {

        if (box.parentNode.id == "")
        {
        box.style.top=document.body.scrollTop+(20+(filterStep*30)) + "px";
        }
        else
        {
            box.style.position="fixed";
            box.style.top="200px";
        }
    }
    box.style.display='block';
    box.style.zIndex = 500+(filterStep*10+1);
}

function closebox(name)
{
  var box = document.getElementById(name);
  box.style.display = 'none';
  var filterDiv = document.getElementById('filter' + filterStep);
  if (filterDiv)
  {
    box.parentNode.removeChild(filterDiv);
    filterStep--;
  }
}

function closeboxandreloadmainwindow(name)
{
    closebox(name);
    window.location.reload();
}

function SetAllCheckBoxes(FormName, FieldName, CheckValue) {
    if(!document.forms[FormName])
        return;
    var objCheckBoxes = document.forms[FormName].elements[FieldName];
    if(!objCheckBoxes)
        return;
    var countCheckBoxes = objCheckBoxes.length;
    if(!countCheckBoxes)
        objCheckBoxes.checked = CheckValue;
    else
    // set the check value for all check boxes
        for(var i = 0; i < countCheckBoxes; i++)
            objCheckBoxes[i].checked = CheckValue;
}


function sortByCategory(parentElement, obj) {
    var linkList = document.getElementById(parentElement).getElementsByTagName("a");
    for (i = 0; i < linkList.length; i++) {
        linkList[i].className = "";
    }
    obj.className = "fall";
}

function selectedClass(parentElement, obj) {
    var linkList = document.getElementById(parentElement).getElementsByTagName("a");
    for (i = 0; i < linkList.length; i++) {
        linkList[i].className = "";
    }
    obj.className = "selected";
}

function selectedClassImg(parentElement, obj) {
    var linkList = document.getElementById(parentElement).getElementsByTagName("img");
    for (i = 0; i < linkList.length; i++) {
        linkList[i].className = "";
    }
    obj.className = "selected";
}

function selectedClassTr(parentElement, obj) {
    var linkList = document.getElementById(parentElement).getElementsByTagName("tr");
    for (i = 0; i < linkList.length; i++) {
        linkList[i].className = "";
    }
    obj.parentNode.parentNode.className = "selected";
}

function toggleJM (x,y,z) {
    var trClass = x.parentNode.parentNode;
    (x.checked==true) ? trClass.className=z : trClass.className=y;
}

function toggleJM2 (x,y,z,a) {
    if (x.className==y) {
        x.className=z;
    }
    else if (x.className==z) {
        x.className=y;
    }
    else {x.className=a;}

}

function toggleJM3 (x,y,z) {
    var trClass = x.parentNode;
    var tdCheck = trClass.cells[0];
    var checkBox = tdCheck.firstChild;
    if (checkBox.checked==true) {
        trClass.className=y;
        checkBox.checked=false;
    }
    else {
        trClass.className=z;
        checkBox.checked=true;
    }
}

function limitText(limitField, limitNum)
{
    if (limitField.value.length > limitNum)
    {
        limitField.value = limitField.value.substring(0, limitNum);
    }
}


function changeSrc(_element, _url)
{
    var element = document.getElementById(_element);
    element.setAttribute('src', _url);
}

function fmchangesupplierordercompany(_supplierordertypeid, _divcount, _selectname, _divname)
{

    var divDefaultElemName = _divname + '-1';
    var divDefaultElem      = document.getElementById(divDefaultElemName);

    if(_supplierordertypeid==-1)
    {
        divDefaultElem.style.display='block'
    }
    else
    {
        divDefaultElem.style.display='none'
    }
    
    for(var i = 1; i <= _divcount; i++)
    {
        var selectElemName = _selectname + i;
        var divElemName = _divname + i;

        var selectElem   = document.getElementById(selectElemName);
        var divElem      = document.getElementById(divElemName);
        if(selectElem!=null && divElem!=null)
        {
        if(i==_supplierordertypeid)
        {
            selectElem.disabled = false;
            divElem.style.display='block'
        }
        else
        {
            selectElem.disabled = true;
            selectElem.options[0].selected = true;
            divElem.style.display='none';

        }
        }
        else
        {
            alert('Element(s) does not exit(s)');
        }
    }
}
function parseAjaxXML(xml, targets)
{
    if(targets != ''){
        $(xml).find('item').each(function()
        {
            xml_name = $(this).find('name').text();
            xml_value = $(this).find('value').text();

            $.each(targets, function(key, value)
            {
                source = value.split('->')[0];
                if(xml_name == source)
                {
                    destinations = value.split('->')[1];
                    $.each(destinations.split(','), function(key, value)
                    {
                        if($("#"+value).attr('tagName')=='INPUT')
                        { 
                            if($("#"+value).attr('type') == 'radio')
                            {
                                //$("input[@id="+value+"]:eq("+xml_value+")").attr("checked","checked");//make the 2nd one checke
                            }
                            else if($("#"+value).attr('type') == 'checkbox')
                            {
                                //$("#"+value):eq('+xml_value+')').attr('checked', true);
                            }
                            else // hidden, text etc
                            {
                                $("#"+value).val(xml_value);
                            }

                        }
                        
                        else if($("#"+value).attr('tagName')=='SELECT')
                        {
                            $("#"+value).val(xml_value);
                        }
                        else
                        {
                            $("#"+value).html(xml_value);
                        }
                    });

                }
            });
        })
    }
}


