var obj=null;	
var email='';	//storing email address
var flag='';	//checking group or individual



function create_object(){
	try{
		obj1=new XMLHttpRequest();
	} 
	catch(e) {
		try{
			obj1=new ActiveXObject("MSXML2.XMLHTTP");
		}
		catch(e){
			obj1=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return obj1;
}



function request_send(value,type){
	if(type == 'email')
		var url="check_email.php";
	else 
		var url="check_user.php";
	url=url+"?eid="+value;
	url=url+"&f="+flag;
	obj.onreadystatechange=handleRequest;
	try{
	obj.open("GET",url,true);
	obj.send(null);
	}catch(e)
	{
		alert("error in request send"+e);
	}
}



function handleRequest(){
	if((obj.readyState==4)) {
		var whch = obj.responseText.substring(0,3);
		var result = obj.responseText.substring(3);
		if(whch == 'usr'){
			msgDiv = 'userDivMsg';
			imgDiv = 'userDivImg';
		} else {
			msgDiv = 'emailDivMsg';
			imgDiv = 'emailDivImg';
		}
		div=document.getElementById(msgDiv);
		//document.getElementById('mydiv').style.position = "absolute";
		div.innerHTML="<table border=0 cellpadding=0 cellspacing=1 width=200 bgcolor=gray><tr><td align=center class=loaded height=45 bgcolor=#ffffff>"+result+"</td></tr></table>";
		if(result.substring(0,5)=="Sorry")
			document.getElementById(imgDiv).innerHTML="<IMG SRC=images/image05.gif WIDTH=20 HEIGHT=12 BORDER=0>";
		else
			document.getElementById(imgDiv).innerHTML="<IMG SRC=images/tick1.gif WIDTH=20 HEIGHT=12 BORDER=0>";
		setTimeout(function(){document.getElementById(msgDiv).innerHTML="";},2000);
	}
}





function get_id(id,opt){
	flag=opt;	// value 'E' for email  'U' for username
	if(opt == 'E') {
		email=id;
		if(id){
			if(isValidEmail(id)){
				obj=create_object();
				if(obj==null)
					alert("Your Browser dose not support AJAX...");
				else {
					document.getElementById('emailDivMsg').innerHTML = "<table border=0 cellpadding=0 cellspacing=1 width=160 bgcolor=gray><tr><td align=center class=loading height=45 bgcolor=#ffffff><img src='ajex_dropdown/snake_transparent.gif'/> Processing..</td></tr></table>";  
					request_send(email,'email');
				}
			} else {
				document.getElementById('emailDivImg').innerHTML="";
				document.getElementById('emailDivMsg').innerHTML="";
				alert("Invalid email ID please check it...!!!");
			}
		} else {
			document.getElementById('emailDivImg').innerHTML="";
			document.getElementById('emailDivMsg').innerHTML="";
		}
	} else {
		username = id;
		if(id){
			if(isValidUsername(id)){
				obj=create_object();
				if(obj==null)
					alert("Your Browser dose not support AJAX...");
				else {
					document.getElementById('userDivMsg').innerHTML = "<table border=0 cellpadding=0 cellspacing=1 width=160 bgcolor=gray><tr><td align=center class=loading height=45 bgcolor=#ffffff><img src='ajex_dropdown/snake_transparent.gif'/> Processing..</td></tr></table>"; 
					request_send(username,'user');
				}
			} else {
				document.getElementById('userDivImg').innerHTML="";
				document.getElementById('userDivMsg').innerHTML="";
			}
		} else {
			document.getElementById('userDivImg').innerHTML="";
			document.getElementById('userDivMsg').innerHTML="";
		}
	}
}


function isValidUsername(user){
	var len = user.length;
	if(len==0) {
		alert("User Name cannot be left blank");
		return false;
	}
	for (var i = 0; i < len; i++)
	{
      if (user.charAt(i) == " ")
      {
	     alert("User Name cannot contain space");
		 return false;				
      }
   }
   return true;
}


//------------------email validation code-------------------------------



function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }

    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
		return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
		return false;
    }
    return true;
}



function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}





