    var showCheckProgress = 1;
    
	function checkUserName(showProgress)
    {
        showCheckProgress = showProgress;
        
    	var userName = document.getElementById("signupUserName").value;
    	userName = trim(userName);
    	
    	if(!IsvalidUserNameFormat(userName))    
    	{    	    
    		showErrorInfo("Err-Message", "&nbsp;&nbsp;invalid format");      		  		
    		
    		if(showProgress == 1)        //the user has clicked on checkprogress, so take the focus back to the username field...
    		{
    		    document.getElementById("signupUserName").select();
    		    document.getElementById("signupUserName").focus();
    		}
    		
    		return;
    	}
    
    	xmlObjUserNameAvailable = CreateAJAXRequest();
    	if(xmlObjUserNameAvailable == null)
    	    return;
    	    
        var signupUserName = document.getElementById("signupUserName").value;
        var parameters;
		parameters = "username=" + signupUserName;
		parameters = parameters + "&op=checkusername";
	    
	    if(batangaLoginDebug == 1)
		    alert("UrlRegistrationHelper = " + UrlRegistrationHelper+ ", parameters = " + parameters);
	    
	    xmlObjUserNameAvailable.open("POST", UrlRegistrationHelper, true);  								
		xmlObjUserNameAvailable.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");				
		xmlObjUserNameAvailable.setRequestHeader("Content-length", parameters.length);				
		xmlObjUserNameAvailable.onreadystatechange = RetrieveUserNameAvailable;
		
		if(batangaLoginDebug == 1)
		    alert();
		    
		xmlObjUserNameAvailable.send(parameters);		
    }
    
     function RetrieveUserNameAvailable() 
    {
        var outputText;
        
        if(batangaLoginDebug == 1)
        {
            alert(xmlObjUserNameAvailable.responseText);
        }
        
         if ((xmlObjUserNameAvailable != null) && (xmlObjUserNameAvailable.readyState == 1))         
        {
            if(showCheckProgress == 1)
            {
                var chkUserNameResult = document.getElementById("Err-Message");
                if(chkUserNameResult != null && UrlProgressImage != null && UrlProgressImage.length > 0)
                {                
                    var message = "<img border=0 valign=middle src=\"" + UrlProgressImage + "\"></img>";
                    chkUserNameResult.innerHTML = message;                 
                    chkUserNameResult.style.display = "";
                }
            }
        }

        if ((xmlObjUserNameAvailable != null) && (xmlObjUserNameAvailable.readyState == 4) && (xmlObjUserNameAvailable.status == 200))
        { 
            outputText = xmlObjUserNameAvailable.responseText;  		//get the reesponse from the web service
            outputText = decode(outputText);
            
            if(batangaLoginDebug == 1)
            	alert("outputText = " + outputText);
            	
            var lang = getLanguage();
            
            var availability = getTagValue(outputText, "availability");            
            var userAvailableResultText;
            if(lang == "EN")
                userAvailableResultText = "<font color=red>&nbsp;not available</font>";
            else
                userAvailableResultText  = "<font color=red>&nbsp;no est&aacute; disponible</font>";
            
            if(availability == "1")
            {
                if(lang == "EN")
				    userAvailableResultText = "<font color=green>&nbsp;available!</font>";                
				else
				    userAvailableResultText = "<font color=green>&nbsp;&iexcl;disponible!</font>";                
            }
            
            xmlObjUserNameAvailable = null;       
            
            var chkUserNameResult = document.getElementById("signupErr-UserName");
            chkUserNameResult.innerHTML = userAvailableResultText;
            chkUserNameResult.style.display = "";
            
            
        } // if  
    } 