
function id(id) 
{
	return document.getElementById(id);
}

//Mostly for iframe calendar
function setInputValue(inputId, newValue)
{
    id(inputId).value = newValue;
}


if(!document.getElementsByTagName) {
	if(document.all) { // Create getElementsByTagName for IE 5.x and below
		document.getElementsByTagName = function(nem) {
			return document.all.tags(nem.toUpperCase());
		}
	}
}


function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}


function toggleDisplay(objectId)
{
    if(id(objectId).style.display == 'block')
    {
        id(objectId).style.display = 'none';
    }
    else
    {
        id(objectId).style.display = 'block';
    }
}


function setClass(objectId, newClass)
{
   	var object = document.getElementById(objectId);

   	if(object)
    {
    	object.className = newClass;
    }	
}
      

function setStyleDef(objectId, styleName, newVal)
{
	var object = document.getElementById(objectId);

	if(object)
    {
    	object.style[styleName] = newVal;
    }		     	
}	


function disableBody()
{
	var blockBody = document.getElementById('blockBody');
	
	if(blockBody == null)
	{
		var body      = document.getElementsByTagName("body").item(0);
		var div       = document.createElement("div");
		div.id        = "blockBody";
		div.innerHTML = "<span></span>";
		div.className = "semiTrans";
		body.appendChild(div);
	}	
	
	setStyleDef('blockBody', 'visibility', 'visible');
	setStyleDef('blockBody', 'overflow', 'visible');
	
	var htmlHeight = document.body.parentNode.scrollHeight; 
	var windowHeight = window.innerHeight;
	
	if (htmlHeight < windowHeight )
	{ 
		document.body.style.height = windowHeight + "px";
		newHeight = windowHeight; 
	}
	else
	{ 
		document.body.style.height = htmlHeight + "px";
		newHeight = htmlHeight; 
	} 

	
	setStyleDef('blockBody', 'height', newHeight  + 'px');
	setStyleDef('blockBody', 'zIndex', '700');
	
}

function enableBody()
{
	setStyleDef('blockBody', 'visibility', 'hidden');
}

function showWait()
{
	disableBody();
	
	var waitNotice = document.getElementById('waitNotice');
	
	if(waitNotice == null)
	{
		var body                    = document.getElementsByTagName("body").item(0);
		var div                     = document.createElement("div");
		div.id                      = "waitNotice";
		div.innerHTML               = "<h4>Please Wait....</h4>";
		div.style.height            ="100px";
		div.style.width             ="300px";
		div.style.height            ="60px";
		div.style.border            ="1px solid #75A753";
		div.style.position          = 'absolute';
		div.style.top               = '200px';
		div.style.backgroundColor   = 'rgb(200,220,200)';
		div.style.padding           = '10px';
		body.appendChild(div);
	}	
	setStyleDef('waitNotice', 'zIndex',  '4010');
	setStyleDef('waitNotice', 'top', getPageY() + 90 + 'px');
	setStyleDef('waitNotice', 'left', '300px');
}


function hideWait()
{
	setStyleDef('waitNotice', 'visibility', 'hidden');
	enableBody();
}


function getPageX()
{

	var x;
	
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
	}	
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
	}
	
	return x;
}


function getPageY()
{
	var y;
	if (self.pageYOffset) // all except Explorer
	{
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		y = document.body.scrollTop;
	}
	
	return y;
}



function prepSocketCall(socketModule, socketName, vars)
{
	
	if (document.URL.indexOf('?') > -1)
	{ 
		var socketCall = '&';
	}
	else
	{
		var socketCall = '?';
	}
	
	if(vars != false)
	{
		for(name in vars)
	    {
	    	
	    	socketCall += name + '=' + escape(vars[name]) + '&';
	    }
	}

	socketCall += 'socketModule=' + socketModule + '&socketName=' + socketName;

    if(document.URL.indexOf('#') > -1)
    {
        var urlBase =  document.URL.substr(0,  document.URL.indexOf('#'));
    }
    else
    {
        var urlBase = document.URL;
    }
    
    return urlBase + socketCall;
    
}