function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

//Usage : isnumeric(document.getElementById('numbers'))
function isnumeric(elem){
	var numericExpression = /^[0-9]+$/;
	var eValue = trim(elem.value);
	if (eValue == '') {
		return true;}
	if(eValue.match(numericExpression)){
		return true;
	}else{
		return false;
	}
}

//Usage : isemail(document.getElementById('emailid'))
function isemail(email)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email.value)){
		return true;
	}
	else {
		return false;
	}
}

function hide(object) {
  var obj = (document.getElementById) ? document.getElementById(object) : eval("document.all[object]");
  if (obj != null) {
     obj.style.display="none";
     obj.style.visibility="hidden";
  }
}

function show(object) {
  var obj = (document.getElementById) ? document.getElementById(object) : eval("document.all[object]");
  if (obj != null) {
     obj.style.display="";
     obj.style.visibility="";
  }
}

function chkSelect(fld,errfld)
{
	
	if (document.getElementById(fld).selectedIndex < 1) {
		show(errfld);
		valid = false;
	}
	else
		hide(errfld);
}

function chkRadio(fld,errfld)
{
	IsChecked = false;
	for(i=0;i<document.getElementsByName(fld).length;i++) {
		if ( document.getElementsByName(fld)[i].checked ) {
			IsChecked = true;
		}
	}
	if (!IsChecked) {
		valid = false;
		show(errfld);
	}
	else
		hide(errfld);
}

function chkField(fld,errfld)
{
	
	if (trim(document.getElementById(fld).value) == '' ) {
		show(errfld);
		valid = false;
	}
	else
		hide(errfld);
}


function chkTextArea(fld,errfld)
{
	if (trim(document.getElementById(fld).value) == '' ) {
		show(errfld);
		valid = false;
	}
	else
		hide(errfld);
}

function chkFieldLength(fld,errfld,minlen,maxlen)
{
	if (trim(document.getElementById(fld).value) != '' )
	{
		var str=document.getElementById(fld).value;
		if ((str.length < minlen) || (str.length > maxlen)) {
			show(errfld);
			valid = false;
		}
		else
			hide(errfld);
	}
}

function matchField(fld,fld1,errfld)
{
	if ((trim(document.getElementById(fld).value) != '') && (trim(document.getElementById(fld1).value) != ''))
	{
		if (document.getElementById(fld).value != document.getElementById(fld1).value) {
			show(errfld);
			valid = false;
		}
		else
			hide(errfld);
	}
}

function chkEmail(fld,errfld)
{
	if (trim(document.getElementById(fld).value) != '' )
	{
		if ( ! isemail(document.getElementById(fld))) {
			show(errfld);
			valid = false;
		}
		else
			hide(errfld);
	}
}

function ClearField(fld,str)
{
	if (trim(document.getElementById(fld).value) == str )
	{
		document.getElementById(fld).value='';
	}

}

function FillField(fld,str)
{
	if (trim(document.getElementById(fld).value) == '' )
	{
		document.getElementById(fld).value=str;
	}

}

var req;
function CheckAvailibility(typ)
{
    var SURL = document.getElementById("SURL");
    if (trim(SURL.value) == '') return;
    var url = "available.asp";
    if (typeof XMLHttpRequest != "undefined") 
    {
       req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
       req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("POST", url, true);
    req.onreadystatechange = callback;
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("SURL=" + encodeURIComponent(SURL.value) + "&typ=" + encodeURIComponent(typ));
	document.getElementById("SURL_available").innerHTML="Checking availability ...";
}

function callback()
{
    if (req.readyState == 4) 
    {
        if (req.status == 200) 
        {
            parseMessage();
        }
    }
}

function parseMessage() 
{
    if (req.responseXML.getElementsByTagName("message").length > 0)
    {    
        var message = req.responseXML.getElementsByTagName("message")[0];
        document.getElementById("SURL_available").innerHTML = message.childNodes[0].nodeValue;
    }
}

function CheckUserAvailibility()
{
    var UsrName = document.getElementById("usrname");
    if (trim(UsrName.value) == '') return;
    if (! isemail(UsrName) ) return;
    var url = "useravailable.asp";
    if (typeof XMLHttpRequest != "undefined") 
    {
       req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
       req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("POST", url, true);
    req.onreadystatechange = Usercallback;
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("UsrName=" + encodeURIComponent(UsrName.value));
	document.getElementById("UsrName_available").innerHTML="Checking availability ...";
}

function Usercallback()
{
    if (req.readyState == 4) 
    {
        if (req.status == 200) 
        {
            UserparseMessage();
        }
    }
}

function UserparseMessage() 
{
    if (req.responseXML.getElementsByTagName("message").length > 0)
    {    
        var message = req.responseXML.getElementsByTagName("message")[0];
        document.getElementById("UsrName_available").innerHTML = message.childNodes[0].nodeValue;
    }
}