// author: vladb

var browserType;
var loadedobjects="";

if (document.layers) {browserType = "nn4"}
if (document.all) {browserType = "ie"}
if (window.navigator.userAgent.toLowerCase().match("gecko")) {
 browserType= "gecko"
     }

function findForm(name) {
  for (var i = 0; i < document.forms.length; i++) {
   if (document.forms[i].name == name)
    return document.forms[i];
  }
  return undefined;
}

function findElm(id) {
    var elm = undefined;

    if (browserType == "gecko" )
     elm = eval('document.getElementById(id)');
    else if (browserType == "ie")
     elm = eval('document.getElementById(id)');
    else
     elm = eval('document.layers[id]');

    return elm;
}

function hide(elem,nodraw) {
    var val = "none"; // force redraw
    if (nodraw) val = "hidden"; 

    if (browserType == "gecko" )
     document.poppedLayer = 
         eval('document.getElementById(elem)');
    else if (browserType == "ie")
     document.poppedLayer = 
	 eval('document.getElementById(elem)');
    else
     document.poppedLayer =   
	 eval('document.layers[elem]');

    document.poppedLayer.style.display = val;

    //    alert("val=" + val + "\n" + document.poppedLayer + "=" + document.poppedLayer.style.display);
}

function show(elem,nodraw) {
    var val = "inline";
    if (nodraw) val = "visible";

    if (browserType == "gecko" )
     document.poppedLayer = 
         eval('document.getElementById(elem)');
    else if (browserType == "ie")
     document.poppedLayer = 
	 eval('document.getElementById(elem)');
    else
     document.poppedLayer = 
         eval('document.layers[elem]');

    document.poppedLayer.style.display = val;
}

function printHtml(elem, html)
{
    if (browserType == "gecko")
	{
	    x = document.getElementById(elem);
	    if (typeof(x) != "undefined") {
	      //alert(eval("typeof(x.innerHTML)"));
	      x.innerHTML = '';
	      x.innerHTML = html;
	    }
	}
    else if (browserType == "ie")
	{
	    x = document.all[elem];
	    if (typeof(x) != "undefined") 
	      x.innerHTML = html;
	}
    else 
	{
	    x = eval('document.layers[elem]');
	    if (typeof(x) != "undefined") {
	      x.document.open();
	      x.document.write(html);
	      x.document.close();
	    }
	}
}

function isdefined( variable)
{
    return (eval(variable) == "undefined" || variable == null) ? false: true;
}

/*
// AJAX dynamic content load into a UI element

function _load(url, target, nocache) {
    document.getElementById(target).innerHTML = '';

    if (window.XMLHttpRequest)
	    req = new XMLHttpRequest();
    else if (window.ActiveXObject)
	    req = new ActiveXObject("Microsoft.XMLHTTP");

    if (req != undefined)
    {
	    req.onreadystatechange = function() {_loadDone(url, target);};
	    if (nocache)
	    {
 	        url+=(url.indexOf("?")!=-1)? "&": "?";
            url+=new Date().getTime();
        } 
	    req.open("GET", url, true);
	    req.send("");
    }
}  

function _loadDone(url, target)
{
    if (req.readyState == 4)
    {
	    if (req.status == 200)
	        document.getElementById(target).innerHTML = req.responseText;
	    else
	        document.getElementById(target).innerHTML="Error:\n"+ req.status + "\n" +req.statusText;
	    show(target);
    }
}

function loadHtml(target, path, nocache)
{
    _load(path,target, nocache);
    return false;
}*/

// load JS and such
function loadJS(file, callback)
{ 
    loadobjs(file, "js", callback); 
}

function loadobjs(file, type, callback)
{
    if (!document.getElementById)
        return;
    
    //alert("FILE:"+file + " > " + loadedobjects.indexOf(file));
    
    //    if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
	if (type.indexOf("js")!=-1)
	{ //If object is a js file
	    fileref=document.createElement('script');
	    fileref.setAttribute("type","text/javascript");
	    fileref.setAttribute("src", file);
	}
	else if (type.indexOf("css")!=-1)
	{ //If object is a css file
	    fileref=document.createElement("link");
	    fileref.setAttribute("rel", "stylesheet");
	    fileref.setAttribute("type", "text/css");
	    fileref.setAttribute("href", file);
	}
	//    }

    if (fileref!="")
    {
        //alert("JS FILE: " + fileref.getAttribute("src"));
        document.getElementsByTagName("head").item(0).appendChild(fileref);
        //	loadedobjects+=file+" "; //Remember this object as being already added to page
        if (callback)
            callback(fileref);
    }
}


