// JavaScript Document
 String.prototype.trim = function() {
        return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    }
    
    function getStyleObject(objectId) {
        // checkW3C DOM, then MSIE 4, then NN 4.
        if(document.getElementById && document.getElementById(objectId))
            return document.getElementById(objectId).style;
        else if (document.all && document.all(objectId))
            return document.all(objectId).style;
        else if (document.layers && document.layers[objectId])
            return document.layers[objectId];
        else
            return false;
    }
    function changeVisibility(objectId, newVisibility) {
        var styleObject = getStyleObject(objectId);
        if (styleObject)
            styleObject.visibility = newVisibility;
    }
    function changeDisplay(objectId, newDisplay)
    {
        var styleObject = getStyleObject(objectId);
        if (styleObject)
            styleObject.display = newDisplay;
    }
    
    
    var divElem = 'AlertDiv';
    var messageElem = 'AlertMessage';
    
    //
    // getPageSize()
    // Returns array with page width, height and window width, height
    // Core code from - quirksmode.org
    // Edit for Firefox by pHaez
    //
    function getPageSize(){
	    var xScroll, yScroll;
    	
	    if (window.innerHeight && window.scrollMaxY) {	
		    xScroll = document.body.scrollWidth;
		    yScroll = window.innerHeight + window.scrollMaxY;
	    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		    xScroll = document.body.scrollWidth;
		    yScroll = document.body.scrollHeight;
	    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		    xScroll = document.body.offsetWidth;
		    yScroll = document.body.offsetHeight;
	    }
    	
	    var windowWidth, windowHeight;
	    if (self.innerHeight) {	// all except Explorer
		    windowWidth = self.innerWidth;
		    windowHeight = self.innerHeight;
	    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		    windowWidth = document.documentElement.clientWidth;
		    windowHeight = document.documentElement.clientHeight;
	    } else if (document.body) { // other Explorers
		    windowWidth = document.body.clientWidth;
		    windowHeight = document.body.clientHeight;
	    }
    	
	    // for small pages with total height less then height of the viewport
	    if(yScroll < windowHeight){
		    pageHeight = windowHeight;
	    } else { 
		    pageHeight = yScroll;
	    }

	    // for small pages with total width less then width of the viewport
	    if(xScroll < windowWidth){	
		    pageWidth = windowWidth;
	    } else {
		    pageWidth = xScroll;
	    }
	    
	    // ie7 fix
        if (document.documentElement.scrollHeight && document.documentElement.scrollHeight > document.documentElement.clientHeight)
        {
            pageHeight = document.documentElement.scrollHeight;
        }
        if (document.documentElement.scrollWidth && document.documentElement.scrollWidth > document.documentElement.clientWidth)
        {
            pageWidth = document.documentElement.scrollWidth;
        }

	    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	    return arrayPageSize;
    }
    
    function ToggleAlertDiv(disString)
    {
        // toggle grey overlay
        var arrayPageSize = getPageSize();
        document.getElementById('overlay').style.height = (arrayPageSize[1] + 'px');
        document.getElementById('overlay').style.width = (arrayPageSize[0] + 'px');
        changeDisplay('overlay', disString);
        
        // toggle dialog box
        changeDisplay(divElem, disString);

    }
    function ClearErrorState()
    {
        ToggleAlertDiv('none', '');
    }