﻿var isNETSCAPE = false, isIE = false, isFIREFOX = false; isOPERA = false;
var appVersion;

if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
    isFIREFOX = true;
    var appVersion = new Number(RegExp.$1) // capture x.x portion and store as a number
}

if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for MSIE x.x;
    isIE = true
    var appVersion = new Number(RegExp.$1) // capture x.x portion and store as a number
}

if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Opera/x.x or Opera x.x (ignoring remaining decimal places);
    isOPERA = true;
    var appVersion = new Number(RegExp.$1) // capture x.x portion and store as a number
}
 
if (navigator.appName == "Netscape") {
    isNETSCAPE = true
}

function getClientResolution() {
    var res_x = screen.width;
    var res_y = screen.height;
    return [res_x, res_y]; 
}

function getElementWithId(eleId) {
    //if (document.getElementById) {
    if (isNETSCAPE) {
        return document.getElementById(eleId);
    }
    //else if (document.all) {
    else if (isIE) {
        return document.all[eleId];
    }
    else {
        return null;
    }
}

/*function addToFavorites() {
    if (isIE) {
        if (window.external) {
            window.external.AddFavorite(window.location.href, document.title)
        }
        else {
            alert("Sorry! Your browser doesn't support this function.");
        }
    }

    if (isNETSCAPE) {
        alert("Press Ctrl+D or ⌘+D to bookmark this page.");
    }
}*/

/*
function bookmarksite(title, url){ 
    if(title=='' || title==null){
        title=document.title
    }
    if(url=='' || url==null){
        url=window.location.href
    }
    if (document.all){
        window.external.AddFavorite(url, title);} 
    else if (window.sidebar){
        window.sidebar.addPanel(title, url, "") ;}
    else if(window.opera && window.print){ 
	    var elem = document.createElement('a');
	    elem.setAttribute('href',url);
	    elem.setAttribute('title',title);
	    elem.setAttribute('rel','sidebar');
	    elem.click();
    } 
}*/

function printPage() { 
    window.print(); 
    if(isOPERA){
        alert("Press Ctrl+P to print this page.")
    }
    
}

function getScrollXY() {
    var scrOfX = 0, scrOfY = 0;      
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}

function toggleVisibility(tgtElement, txtElement, txt, imgElement, imgPath) {
    var varTargetElement, varTextElement, varImageElement = null
    var varText, varImagePath, varImageUp, varImageDown = ""
    
    if (tgtElement == null || tgtElement == '')
        return
    else
        varTargetElement = getElementWithId(tgtElement);

    if (txtElement != null || txtElement != '') {
        varTextElement = getElementWithId(txtElement);
        if (txt != null || txt != '')
            varText = txt;
    }

    if (imgElement != null || imgElement != '') {
        varImgElement = getElementWithId(imgElement);
        if (imgPath != null || imgPath != '') {
            varImagePath = imgPath;
            varImageUp = imgPath + 'mini_up.png'
            varImageDown = imgPath + 'mini_down.png'
        } 
    }

    if (varTargetElement != null) {
        if (varTargetElement.style.display == "none") {
            varTargetElement.style.display = "block";
            if (varTextElement != null) {
                varTextElement.innerHTML = varText;
            }
            if (varImgElement != null) {
                varImgElement.src = varImageUp;
            }
        }
        else {
            varTargetElement.style.display = "none";
            if (varTextElement != null) {
                varTextElement.innerHTML = varText;
            }
            if (varImgElement != null) {
                varImgElement.src = varImageDown;
            }
        }
    }
}

function elementShowHide(eName, eTarget, objTarget, dirHor, dirVer) {
    var varElement = getElementWithId(eName);
    if (objTarget == null || objTarget == '') {
        if (eTarget != null && eTarget != '') {
            objTarget = getElementWithId(eTarget);
        }
    }
    if (objTarget != null && objTarget != '') {
        var topPos = screenW = 0;
        var leftPos = screenH = 1;

        var targetCoords = findPos(objTarget);

        var eleWidth = varElement.style.width;
        var targetWidth = objTarget.style.width;

        var eleHeight = varElement.style.height;
        var targetHeight = 27;

        if (dirVer != null && dirVer != '') {
            if (dirVer == 'up') {
                eleYPos = targetCoords[topPos] - parseInt(eleHeight) + 2;
            }
            if (dirVer == 'down') {
                eleYPos = targetCoords[topPos] + targetHeight;
            }
        }

        if (dirHor != null && dirHor != '') {
            if (dirHor == 'left') {
                var widthDiff = parseInt(eleWidth) - parseInt(targetWidth);
                eleXPos = targetCoords[leftPos] - widthDiff;
            }
            if (dirHor == 'right') {
                eleXPos = targetCoords[leftPos];
            }
        }

        varElement.style.left = eleXPos + 'px';
        varElement.style.top = eleYPos + 'px';
    }

    if (varElement.style.display == "none")
        varElement.style.display = "block"
    else
        varElement.style.display = "none"
}

function findPos(obj) {
    var curleft = curtop = curx = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    return [curtop, curleft];
}

function screenCoords() {
    var screenW = 640, screenH = 480;
    if (parseInt(navigator.appVersion) > 3) {
        screenW = screen.width;
        screenH = screen.height;
    }
    else if (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 3 && navigator.javaEnabled()) {
        var jToolkit = java.awt.Toolkit.getDefaultToolkit();
        var jScreenSize = jToolkit.getScreenSize();
        screenW = jScreenSize.width;
        screenH = jScreenSize.height;
    }
    return [screenW, screenH];
}

var filesadded=""; 
function loadFileHandler(filename, filetype){
 if (filesadded.indexOf("["+filename+"]")==-1){
  loadFile(filename, filetype);
  filesadded+="["+filename+"]"; 
 }
 else
  alert("file already added!");
}

function loadFile(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);
}




