﻿// JScript File

var req=null;
var username="";

function CheckUsrName()
{
    var f=document.form1;
    if(f && username!=f.username.value && f.username.value!="" && f.username.value!="undefined")
    {        
	    if(req==null) req = NewXMLHttpReq();
	    if(req)
	    {	//async request

            req.abort();
		    req.onreadystatechange = OnStatusChange;
		    req.open("GET", "checkusername.aspx?n=" + f.username.value, true); 
		    req.send(null);
			
			username=f.username.value;
	    }
	    else
		    document.write("Object XMLnewReq-" + ReqObjCnt + " is not created.");
	}
	
    var tmr=setTimeout("CheckUsrName()",1000);
}
CheckUsrName();

function OnStatusChange()
{
    if(req)
    {			
	    if(req.readyState == 4) //Completed
	    {
		    if(req.status == 200) //OK
		    {
			    var xmldoc = req.responseXML;
			    var found = xmldoc.getElementsByTagName('found').item(0).firstChild.nodeValue;
			    var msg = xmldoc.getElementsByTagName('msg').item(0).firstChild.nodeValue;
                
                DisplayUserChk(found,msg);
		    } 
		    else 
			    document.write('There was a problem with the request. Status: ' + ReqObjArr[i].status);
	    }
    }
}
function DisplayUserChk(found,msg)
{
    var hol=document.getElementById("idNameChkHol");
    if(hol)
    {
        if(found=="true")
            hol.className="chkTaken";
        else
            hol.className="chkFree";
        hol.innerHTML=msg;
    }
}


//form 
function fSbmt(f)
{
    var OK=true;
    if(f)
    {
        var obj;
        //valid usr
        obj=document.getElementById("usrErr");
        if(f.username.value.length==0 || document.getElementById("idNameChkHol").className=="chkTaken")
        {
            if(obj) obj.className="ErrMsg";OK=false;
        }
        else
            if(obj) obj.className="Hide";
        //valid email
        obj=document.getElementById("mailErr");
        if(!IsValidEmail(f.email.value))
        {
            if(obj) obj.className="ErrMsg";OK=false;
        }
        else
            if(obj) obj.className="Hide";
        //valid psw
        obj=document.getElementById("pswErr");
        if(f.password.value.length==0)
        {
            if(obj) obj.className="ErrMsg";OK=false;
        }
        else
            if(obj) obj.className="Hide";
        //match psw 
        obj=document.getElementById("pswErr1");
        if(f.password.value!=f.password1.value)
        {
            if(obj) obj.className="ErrMsg";OK=false;
        }
        else
            if(obj) obj.className="Hide";
        
        if(OK) 
        {
            f.btn.disabled=true;f.submit();
        }
    }
}

function IsValidEmail(str)
{
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return (filter.test(str));
}
