/* Hide Show Div */

function showHideDiv(theId,imageid) 
{
    var theContainer = document.getElementById(theId);
    if (imageid != null)
    {
        theIcon = document.getElementById(imageid);
    }
    
    if (theContainer.style.display == '' ||
        theContainer.style.display == 'block') 
    {
        theContainer.style.display = 'none';
        if (imageid != null)
        {
            theIcon.src = "../images/plus.gif";
        }
    } 
    else if (theContainer.style.display == 'none') 
    {
        theContainer.style.display = '';
        if (imageid != null)
        {
            theIcon.src = "../images/minus.gif";
        }
    } 
}

function setHiddenDiv(theId)
{
    document.getElementById(theId).style.display = "none";
}

/* Scroller */
	var delay = new Array();
	var browser=navigator.appName;

	function beginScroll(elt){
    	if (elt == 1){
            stopScroll('1');
    		scroll('1','1');
        }
        else if (elt == 2){
             stopScroll('2');
    		 scroll('1','2');
        }
        else {
            stopScroll('1');
    		scroll('1','1');
            stopScroll('2');
    		scroll('1','2');
        }
	}
	
	function scroll(direction, elt){
        try {
			var topstr = document.getElementById('scroller'+elt).style.top
			if(topstr==""){topstr="0px"}
			topstr = topstr.substring(0, topstr.length-2)
			//alert('topstr: ' + topstr)
			var topint = parseInt(topstr) - parseInt(direction);
			//alert ('topint: ' + topint);
			var scrollContainerHeight = document.getElementById('scrollcontainer'+elt).offsetHeight
			var scrollerHeight = document.getElementById('scroller'+elt).offsetHeight
			if (parseInt(direction)<0)
				if (topint>(scrollContainerHeight + 10)){topint = (scrollerHeight*-1)}
			if (parseInt(direction)>0)
				if (topint<((scrollerHeight*-1) - 10)){topint = scrollContainerHeight }
			document.getElementById('scroller'+elt).style.top = topint + "px";
			//alert('t: ' + document.getElementById('scroller').style.top);//document.getElementById('scroller').style.top = document.getElementById('scroller').style.top + '100px';
			if(browser!="Microsoft Internet Explorer"){
				delay[elt] = setTimeout("scroll("+direction+","+elt+")", 45)
			}
			else {
				delay[elt] = setTimeout("scroll("+direction+","+elt+")", 33)
			}
        }
        catch(e)
        {
        }
	}
	
	function stopScroll(elt){
		clearTimeout(delay[elt]);
		timerOn=0;
		//alert(browser)
		//alert("offsetHeight: " + document.getElementById('scroller').offsetHeight);
	}

    
    /*
======================================================================================
This function is to run AJAX based on URL and may over-written a div or submit a form
======================================================================================
*/
function runAjaxXMLURL(xmlURL, divFill, errorMsg, FormName, isDivAppend, onComplete, postParam)
{             
    var reqAjax = null; 
    if (window.XMLHttpRequest)
    {
        reqAjax = new XMLHttpRequest();
        if (reqAjax.overrideMimeType) 
        {
            reqAjax.overrideMimeType('text/plain');
        }
    } 
    else if (window.ActiveXObject) 
    {
        try {
            reqAjax = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e)
    {
        try {
                reqAjax = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }    

    reqAjax.onreadystatechange = function()
    { 
        statusErr = "Reading...";
        if(reqAjax.readyState == 4)
        {
            if(reqAjax.status == 200)
            {
                if(divFill != "" && divFill != null){
                    var preAmbleFF = "";                    
                    //alert(reqAjax.responseText)
                    //alert(document.getElementById(divFill).innerHTML)
                    if(isDivAppend != null && isDivAppend == true)
                    {
                        document.getElementById(divFill).innerHTML = preAmbleFF + document.getElementById(divFill).innerHTML + reqAjax.responseText;
                    }
                    else
                    {
                        document.getElementById(divFill).innerHTML = preAmbleFF + reqAjax.responseText;
                    }
                }
                if (typeof(onComplete)!="undefined")
                {
                    if (onComplete!="")
                    {
                        eval(onComplete)
                    }
                 }
                if(FormName != "" && FormName != null){
                    document.getElementById(FormName).submit();
                }
            } else	
            {
                if(errorMsg != "" && errorMsg != null)
                {
                    statusErr = errorMsg + " " + reqAjax.status + " " + reqAjax.statusText;
                }
                else{
                    statusErr ="Data Error: returned status code " + reqAjax.status + " " + reqAjax.statusText;
                }
                alert(statusErr);
            }	                                
        } 
    }; 

    if(postParam != "" && postParam != null)
    {
        reqAjax.open("POST", xmlURL, true); 
        reqAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
        reqAjax.setRequestHeader("Content-length", postParam.length);
    	reqAjax.setRequestHeader("Connection", "close");
        reqAjax.send(postParam);     
    }
    else
    {
        reqAjax.open("GET", xmlURL, true); 
        reqAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
        reqAjax.send(null);          
    }
}

