String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
};


function currentTimeStamp()
{
	var now = new Date();
	return now.getHours() + "-" + now.getMinutes() + "-" + now.getSeconds();
}
function ajaxGetCall(url, targetDiv, onSuccessFunction, onFailureFunction)
{
	var totalArguments = ajaxGetCall.arguments.length;
	
	if(totalArguments > 4)
	{
		var additionalArguments = buildAdditionalArgumentsList(ajaxGetCall.arguments, 4);
		ajaxCall(url, targetDiv, null, onSuccessFunction, onFailureFunction, additionalArguments);
	}
	else
	{
		ajaxCall(url, targetDiv, null, onSuccessFunction, onFailureFunction);
	}
}
function ajaxPostCall(url, targetDiv, formObject, onSuccessFunction, onFailureFunction)
{
	var totalArguments = ajaxPostCall.arguments.length;
	
	if(totalArguments > 5)
	{
		var additionalSuccessArguments = buildAdditionalArgumentsList(ajaxPostCall.arguments, 5);
		ajaxCall(url, targetDiv, formObject, onSuccessFunction, onFailureFunction, additionalSuccessArguments);
	}
	else
	{	
		ajaxCall(url, targetDiv, formObject, onSuccessFunction, onFailureFunction);
	}
}
function ajaxCall(url, targetDiv, formObject, onSuccessFunction, onFailureFunction, additionalSuccessArguments)
{
	var callback = 
	{
		success : function(response) 
		{       					
			if((additionalSuccessArguments == null) || (additionalSuccessArguments.length == 0))		
				onSuccessFunction(response.responseText, additionalSuccessArguments);
			else if(additionalSuccessArguments.length == 1)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0]);
			else if(additionalSuccessArguments.length == 2)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1]);
			else if(additionalSuccessArguments.length == 3)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2]);
			else if(additionalSuccessArguments.length == 4)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2], additionalSuccessArguments[3]);
			else if(additionalSuccessArguments.length == 5)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2], additionalSuccessArguments[3], additionalSuccessArguments[4]);
		},
		upload : function(response) 
		{       					
			if((additionalSuccessArguments == null) || (additionalSuccessArguments.length == 0))		
				onSuccessFunction(response.responseText, additionalSuccessArguments);
			else if(additionalSuccessArguments.length == 1)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0]);
			else if(additionalSuccessArguments.length == 2)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1]);
			else if(additionalSuccessArguments.length == 3)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2]);
			else if(additionalSuccessArguments.length == 4)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2], additionalSuccessArguments[3]);
			else if(additionalSuccessArguments.length == 5)
				onSuccessFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2], additionalSuccessArguments[3], additionalSuccessArguments[4]);
		},
		failure : function(response) 
		{	     	
			if((additionalSuccessArguments == null) || (additionalSuccessArguments.length == 0))		
				onFailureFunction(response.responseText, additionalSuccessArguments);
			else if(additionalSuccessArguments.length == 1)
				onFailureFunction(response.responseText, additionalSuccessArguments[0]);
			else if(additionalSuccessArguments.length == 2)
				onFailureFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1]);
			else if(additionalSuccessArguments.length == 3)
				onFailureFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2]);
			else if(additionalSuccessArguments.length == 4)
				onFailureFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2], additionalSuccessArguments[3]);
			else if(additionalSuccessArguments.length == 5)
				onFailureFunction(response.responseText, additionalSuccessArguments[0], additionalSuccessArguments[1], additionalSuccessArguments[2], additionalSuccessArguments[3], additionalSuccessArguments[4]);			
		}
	}
	
	if(targetDiv != null)
		targetDiv.innerHTML = '<table width=100%><tr><td align=center style=padding-top:50px;><img src="/images/ajax_loading.gif"><BR/><i>Loading</i></td></tr></table>';
			
	if(formObject == null)
	{
		YAHOO.util.Connect.asyncRequest("GET", url, callback, "");
	}
	else
	{
		YAHOO.util.Connect.setForm(formObject, true);  //true allows it to support file uploads
		YAHOO.util.Connect.asyncRequest("POST", url, callback);
	}
}
function buildAdditionalArgumentsList(arguments, greaterThenIndex)
{		
	var returnArguments = new Array();
	var returnArgumentIndex = 0;
	
	for (var i = greaterThenIndex; i < arguments.length; i++)
	{
		if(arguments[i] != null)
		{
			returnArguments[returnArgumentIndex] = arguments[i];
			returnArgumentIndex++;
		}
	}
	
	return returnArguments;
}
function getLeftPostion(obj)
{
	var curleft = 0;
	
    if(obj.offsetParent)
    {
		while(1) 
        {
			curleft += obj.offsetLeft;
			
			if(!obj.offsetParent)
            	break;
			
			obj = obj.offsetParent;
        }
	}
    else if(obj.x)
	{
		curleft += obj.x;
	}
	
	return curleft;
}

function getTopPosition(obj)
{
	var curtop = 0;
	
	if(obj.offsetParent)
	{
		while(1)
		{
			curtop += obj.offsetTop;
			
			if(!obj.offsetParent)
				break;
				
			obj = obj.offsetParent;
		}
	}
	else if(obj.y)
	{
		curtop += obj.y;
	}
	
	return curtop;
 }
function findNoValueSelectElements(formName)
{	
	var badFields = "";
	var i = 0;
	var checkForm = document.getElementById(formName);
	
	for(i=0; i<checkForm.elements.length; i++)
	{
		if(checkForm.elements[i].type=="select-one")
		{
			if(checkForm.elements[i].value == "")
				badFields = badFields + checkForm.elements[i].name + ",";
		}
	}
	
	return badFields;
}
function getRadioCheckedValue(radioObj) 
{
	if(!radioObj)
		return "";
	
	var radioLength = radioObj.length;
	
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function enforceTextAreaLength(textareaField, lengthAllowed)
{
	if (textareaField.value.length > lengthAllowed)
		textareaField.value = textareaField.value.substring(0, lengthAllowed);
}

function emailCheck(str) 
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1)
	{
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
	    return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1)
	 {
	    return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	 {
	    return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1)
	 {
	    return false;
	 }
	
	 if (str.indexOf(" ")!=-1)
	 {
	    return false;
	 }

	 return true;				
}


