

function load() {
	var imgs = load.arguments;
	if (document.images) {
		if (document.preload == null) document.preload = new Array();
		var i = document.preload.length;
		for (var j = 0; j < imgs.length; j++) {
			document.preload[i] = new Image();
			document.preload[i++].src = imgs[j];
		}
	}
}

function restore(){ 
	var i, x, a = document.swaps; 
	if( a ) for( i = 0; i < a.length; i++)
		if( a[i].oldSrc ) a[i].src=a[i].oldSrc;
}

function swap(){ 
	var i, j = 0, a = swap.arguments; 
	document.swaps = new Array; 
	for( i = 0; i < ( a.length - 1 ); i += 2 ){
		document.swaps[j++] = a[i];
		if( !a[i].oldSrc ) a[i].oldSrc = a[i].src;
		a[i].src = a[i + 1];
	}
}

function openW(url, name, w, h) {
	var windowprops = "width=" + w + ",height=" + h;
	popup = window.open(url, name, windowprops);
	setTimeout('popup.focus();',250);
}

function DispalyYesOrNoLink(ShowCntrl, HideCntrl)
{
	document.getElementById(ShowCntrl).style.display="inline";
	document.getElementById(HideCntrl).style.display="none";
}

function GetResponse(strServiceName, strID)
{	
    var strInputData = "";
    var strlUserIdCtl =  document.getElementById(strID);
    var strInputCtl = document.getElementById("txtGreetingName");
    var strStreamline = "N";
    
   //Suppress the Onsubmit hit - Pugal
    if (g_bln_submittedFlag == true)  return;

    var rtnVal;
    if(strlUserIdCtl){   
     strInputData = strlUserIdCtl.value;
     rtnVal = UserIdValidation(strInputData,strInputCtl,strlUserIdCtl);
    }

    var strServiceUrl = "RegQuickHit.aspx";        
    var objRequest	  = this.GetHttpTransport();

	if(objRequest && rtnVal) 
	{
		if(document.getElementById("hidISStreamLine").value == "true")
		{
			strStreamline = "Y";
			document.getElementById("divUserExist").style.display="inline";
			document.getElementById("divUserExist").innerHTML = "<div>Checking User Availability</div><img src='../Images/Misc/WaitMessage.gif'>";
		}
			
		objRequest.open('POST', strServiceUrl, true);
		objRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
		var objPageInstance = this;
		objRequest.onreadystatechange = function() { objPageInstance.OnReadyState(objRequest,strInputCtl); };
		objRequest.send("SERVICE="+strServiceName+"&ID="+strInputData+"&USESTREAMLINE="+strStreamline);
	}   
}

function GetUserValidation(strServiceName, strID)
{  
	if(g_bln_submittedFlag!=null && g_bln_submittedFlag == false){
		var strInputData = "";
		var strlUserIdCtl =  document.getElementById(strID);
		var strInputCtl = document.getElementById("txtGreetingName");
	    
		var rtnVal;
		if(strlUserIdCtl){   
			strInputData = strlUserIdCtl.value;
			rtnVal = UserIdValidation(strInputData,strInputCtl);
		}	
	}
	
}

function GetHttpTransport()
{    
	var objHttpTransport = null;
	if(window.XMLHttpRequest) {
		objHttpTransport = new XMLHttpRequest();
	}
	else {
		if(window.ActiveXObject) {
			try {
				objHttpTransport = new ActiveXObject('Msxml2.XMLHTTP');
			}
			catch (err) {
				try {
					objHttpTransport = new ActiveXObject('Microsoft.XMLHTTP');
				}
				catch (err2) {
				}
			}
		}
	}
	return objHttpTransport;
}

function OnReadyState(a_objRequest,strInputCtl)
{	

	var CN_INT_READYSTATECOMPLETE = 4;
	var intReadyState = a_objRequest.readyState;
	var HttpStatus;
	var strResponseXML	= '';
	var strResponseText = '';
	
	if(intReadyState == CN_INT_READYSTATECOMPLETE) {
		
		try {
			if(a_objRequest.status != undefined) {
				HttpStatus = a_objRequest.status;
			}
			else {
				HttpStatus = 13030;
			}
		}
		catch(e) {
			// 13030 is the custom code to indicate the condition -- in Mozilla/FF --
			// when the o object's status and statusText properties are
			// unavailable, and a query attempt throws an exception.
			HttpStatus = 13030;
		};
			
		if(HttpStatus == 200 || HttpStatus == 0) {
			strResponseXML	= a_objRequest.responseXML;
			strResponseText = a_objRequest.responseText;	

			if(strResponseText != null && strResponseText.length > 0 && strResponseText.indexOf("USERID_NOT_EXIST") == -1 && strResponseText.indexOf("CLIENT_REQUEST_DENIED") == -1 )
			{													
				if(document.getElementById("hidISStreamLine").value == "false")
				{
					alert('The User ID you entered is not available. Please enter another User ID.');				        
					if(strInputCtl)
					{
						strInputCtl.select();
						strInputCtl.focus();	
					}					
					return false;
				}
				
				if(document.getElementById("hidISStreamLine").value == "true")
				{
					document.getElementById("divUserExist").style.display="inline";					
					if(strResponseText.indexOf("ISPUserNameError") == 1)
					{							
						window.location.replace = strResponseText;
						return true;
					}
					else if(strResponseText.indexOf("not") > 0)
					{					
						document.getElementById("divUserExist").style.WIDTH="468px";
						document.getElementById("divUserExist").style.HEIGHT="61px";	
						document.getElementById("divUserExist").innerHTML = "";									
						document.getElementById("divUserExist").innerHTML = strResponseText;																
						return false;
					}
					else
					{
						document.getElementById("divUserExist").style.WIDTH="468px";
						document.getElementById("divUserExist").style.HEIGHT="171px";	
						document.getElementById("divUserExist").innerHTML = "";				
						document.getElementById("divUserExist").innerHTML = strResponseText;
						return false;
					}
				}
			}
			else
			{
				document.getElementById("divUserExist").style.display="none";
				return false;
			}			
		}			
	}
}

function UserIdValidation(strInputData,strInputCtl,strlUserIdCtl)
{
    var strUserIdStatus = "";
    
	if (IsEmptyVal(trim(strInputData)))
	{
		alert("Please enter user id");		
		return false;
	}
	if (trim(strInputData).length < 6)
	{
		alert("The user id must be at least 6 characters long");		
		if(strlUserIdCtl){
			strlUserIdCtl.select();
			strlUserIdCtl.focus();	
		}					
		return false;
	}
	if (trim(strInputData).length > 24)
	{
		alert("The user id can be upto 24 characters long");		
		if(strlUserIdCtl){
			strlUserIdCtl.select();
			strlUserIdCtl.focus();	
		}				
		return false;
	}
	var UserIDVal = trim(strInputData);
	if (CheckforInvalidChars(UserIDVal) == 1 ){
		alert("The User ID must be between 6 and 24 characters in length and contain letters, numbers and no spaces or special characters except @ and _. Please try again.");		
		if(strlUserIdCtl){
			strlUserIdCtl.select();
			strlUserIdCtl.focus();	
		}				
		return false;
	}
	
	strUserIdStatus = StreamLineUserIdCheck();
	if(strUserIdStatus.length>0)
	{
		alert(strUserIdStatus);
		strlUserIdCtl.select();
	    strlUserIdCtl.focus();
		return false;
	}
					
 return true;
}
function GNameValidation(strInputData,strID)
{	
	var strInputData = "";
    	var strInputCtl = document.getElementById(strID);    	

    	if(strInputCtl){   
     		strInputData = strInputCtl.value;     	
    	}

	strInputData = trim(strInputData);

  
	/*if (strInputData.length < 1)
	{
		alert("The greeting name must be at least 1 characters long");
		strInputCtl.select();
		strInputCtl.focus();						
		return false;
	}*/	
	if (strInputData.length > 10)
	{
		alert("The greeting name can be upto 10 characters long");
		strInputCtl.select();
		strInputCtl.focus();						
		return false;
	}
	
	if (CheckforInvalidCharsGName(strInputData) == 1 ){
		alert("The greeting name must be upto 10 characters in length and contain letters, numbers, apostrophe and no spaces or special characters except underscore, period, dash, @ sign. Please try again.");
		strInputCtl.select();
		strInputCtl.focus();						
		return false;
	}
 

 return true;

}

function CheckforInvalidCharsGName(strTxt)
{
	var i, n, mc, x;
	chrallow = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-@'"
	n = strTxt.length;
 for (i=0; i<n; i++)
 {
	mc = strTxt.charAt(i);
	if (chrallow.indexOf(mc,0) ==-1)
	{
		return 1;
	}
	if (invalidChars.indexOf(mc,0)!=-1)
	{
		return 1;
	}
	else
	{ //check for space
		if((mc.indexOf('"',0)!=-1) || (mc.indexOf(' ',0)!=-1))
		{
		return 1;
		}
	}
 }
 return 0;
}