﻿function getWindowHeight() {
    return f_filterResults(window.innerHeight ? window.innerHeight : 0,
		        document.documentElement ? document.documentElement.clientHeight : 0,
		        document.body ? document.body.clientHeight : 0
	        );

}

function getWindowWidth() {
    return f_filterResults(
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
    return f_filterResults(
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);

}
function f_filterResults(n_win, n_docel, n_body) {
    var n_result = n_win ? n_win : 0;
    if (n_docel && (!n_result || (n_result > n_docel)))
        n_result = n_docel;
    return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function getElementHeight(Elem) {
    var xPos;
    if (BrowserDetect.browser == 'Netscape' && BrowserDetect.version == 4) {
        var elem = getObjNN4(document, Elem);
        return elem.clip.height;
    } else {
        if (document.getElementById) {
            var elem = document.getElementById(Elem);
        } else if (document.all) {
            var elem = document.all[Elem];
        }
        if (BrowserDetect.browser == 'Opera' && BrowserDetect.version == 5) {
            xPos = elem.style.pixelHeight;
        } else {
            xPos = elem.offsetHeight;
        }
        return xPos;
    }
}

function getElementWidth(Elem) {
    var xPos;
    if (BrowserDetect.browser == 'Netscape' && BrowserDetect.version == 4) {
        var elem = getObjNN4(document, Elem);
        return elem.clip.width;
    } else {
        if (document.getElementById) {
            var elem = document.getElementById(Elem);
        } else if (document.all) {
            var elem = document.all[Elem];
        }
        if (BrowserDetect.browser == 'Opera' && BrowserDetect.version == 5) {
            xPos = elem.style.pixelWidth;
        } else {
            xPos = elem.offsetWidth;
        }
        return xPos;
    }
}


function getObjNN4(obj, name) {
    var x = obj.layers;
    var foundLayer;
    for (var i = 0; i < x.length; i++) {
        if (x[i].id == name)
            foundLayer = x[i];
        else if (x[i].layers.length)
            var tmp = getObjNN4(x[i], name);
        if (tmp) foundLayer = tmp;
    }
    return foundLayer;
}

function hideSelects(action) {
    //possible values for action are 'hidden' and 'visible'
    if (action != 'visible') { action = 'hidden'; }
//    if (navigator.appName.indexOf("MSIE")) {
        for (var S = 0; S < document.forms.length; S++) {
            for (var R = 0; R < document.forms[S].length; R++) {
                if (document.forms[S].elements[R].options) {
                    document.forms[S].elements[R].style.visibility = action;
                }
            }
        }
//    }
    }
    function ExpandElem(outElemId, inElemId, max) {
        var outElem = document.getElementById(outElemId);
        outElem.style.display = '';
        var inElem;
        var currHeiht = parseInt(outElem.style.height.replace('px', ''))
        outElem.style.height = currHeiht + 5;
        if (currHeiht < max) {
            setTimeout(function() { ExpandElem(outElemId, inElemId, max) }, 10)
        } else { 
            var i=0;
            for (i = 0; i < inElemId.length; i++) {
                inElem = document.getElementById(inElemId[i]);
                inElem.style.display = '';
            }
        }
    }
    function CollapseElem(outElemId, inElemId, min) {
        var outElem = document.getElementById(outElemId);
        var inElem;
        var i = 0;
        for (i = 0; i < inElemId.length; i++) {
            inElem = document.getElementById(inElemId[i]);
            inElem.style.display = 'none';
        }
        var currHeiht = parseInt(outElem.style.height.replace('px', ''))
        outElem.style.height = currHeiht - 5;
        if (currHeiht > min) {
            setTimeout(function() { CollapseElem(outElemId, inElemId, min) }, 10)
        } else {
            outElem.style.display = 'none';
           
        }
    }
    function printDiv(divName) {
        var divToPrint = document.getEelementById(divName);
        newWin = window.open("");
        newWin.document.write(divToPrint.outerHTML);
        newWin.print();
        newWin.close();
    }

//    function attachEvent(name, element, callBack) {
//        if (element.addEventListener) {
//            element.addEventListener(name, callBack, false);
//        } else if (element.attachEvent) {
//            element.attachEvent('on' + name, callBack);
//        }
//    }

//    function setListner(eve, func) {
//        var ele = document.forms[0].elements;
//        for (var i = 0; i < ele.length; i++) {
//            element = ele[i];
//            if (element.type) {
//                switch (element.type) {
//                    case 'checkbox':
//                    case 'radio':
//                    case 'password':
//                    case 'text':
//                    case 'textarea':
//                    case 'select-one':
//                    case 'select-multiple':
//                        attachEvent(eve, element, func);
//                }
//            }
//        }
//    }


//    var bkColor = "#ABDEFB"; 
//    
//    function getEvent(e) { if (window.event != null) { return event; } return e; }
//    function setBKColor(e) {
//        e = getEvent(e); var src = e.srcElement || e.target; if (src != null) {
//            src.style.bkColor = src.style.backgroundColor;
//            src.style.backgroundColor = bkColor;
//        }
//    }
//    function reSetBKColor(e) {
//        e = getEvent(e); var src = e.srcElement || e.target; if (src != null) {
//            src.style.backgroundColor = src.style.bkColor;
//        }
//    }
