// JavaScript Document
function validate()
{
	var msg='';
	var flag=true;
	var username=document.registration.username.value;
	var email=document.registration.email.value;
	var confirm_email=document.registration.confirm_email.value;
	var password=document.registration.password.value;
	var confirm_password=document.registration.confirm_password.value;
	var gender=document.registration.gender.value;
	var dd=document.registration.dd.value;
	var mm=document.registration.mm.value;
	var yyyy=document.registration.yyyy.value
	var first_name=document.registration.first_name.value;
	var last_name=document.registration.last_name.value;
	var country=document.registration.country_id.value;
	var timezone=document.registration.locationid.value;
	username=trim(username);
	if( username.length == 0 )
	{
		msg+="Missing User Name.\n";
		flag=false;
	}
	else
	{
		if( ! IsValidUserName(username) )
		{
			msg+="Whitespaces not allowed in User Name.\n";
			flag=false;
		}
	}
	email=trim(email);
	if( email.length == 0 )
	{
		msg+="Missing Email.\n";
		flag=false;
	}
	else
	{
		if( isValidEmail(email) )
		{
			confirm_email=trim(confirm_email);
			if( confirm_email != email )
			{
				msg+="Email Mismatch.\n";
				flag=false;
			}
		}
		else
		{
			msg+="Invalid Email.\n";
			flag=false;
		}
	}
	if( password.length == 0 )
	{
		msg+="Missing Password.\n";
		flag=false;
	}
	else if(password.length < 6)
	{
		msg+="Minimum Password Length is 6.\n";
		flag=false;
	}
	else
	{
		if( checkpassword(password) )
		{
			if( password != confirm_password )
			{
				msg+="Password Mismatch.\n";
				flag=false;
			}
		}
		else
		{
			msg+="Password must not contains Whitespaces.\n";
			flag=false;
		}
	}
	first_name=trim(first_name);
	if( first_name.length != 0 )
	{
		if( ! IsValidName(first_name) )
		{
			msg+="Invalid First Name.\n";
			flag=false;
		}
	}
	last_name=trim(last_name);
	if( last_name.length != 0 )
	{
		if( ! IsValidName(last_name) )
		{
			msg+="Invalid Last Name.\n";
			flag=false;
		}
	}
	if( gender == -1 )
	{
		//msg+="Select Gender.\n";
		//flag=false;
	}
	if( mm == -1 )
	{
		msg+="Select Month.\n";
		flag=false;
	}
	if( dd == -1 )
	{
		msg+="Select Day.\n";
		flag=false;
	}
	if( yyyy == -1 )
	{
		msg+="Select Year.\n";
		flag=false;
	}
	var dob=dd+"/"+mm+"/"+yyyy;
	if( mm != -1 && dd != -1 && yyyy!= -1 )
	{
		if( ! isDate(dob))
		{
			msg+="Invalid Birthdy.\n";
			flag=false;
		}
	}
	
	
	if( country == -1 )
	{
		msg+="Select Country.\n";
		flag=false;
	}
	if( timezone == -1 )
	{
		msg+="Select Timezone.\n";
		flag=false;
	}
	if( flag == false )
	{
		alert(msg);
	}
	return flag;
}

function Select_Value_Set(SelectName, Value) {
  
  eval('SelectObject = document.' +  SelectName + ';');
  for(index = 0; index < SelectObject.length;   index++)
  {
  	 if(SelectObject[index].value == Value )
     	SelectObject.selectedIndex = index;
   }
}

function IsValidName(strName)
{
	var namesize = strName.length;
	for(i=0 ; i < namesize; i++)
	{
		var ch = strName.charCodeAt(i);
		if(! ((ch>=65 && ch<=90) || (ch>=97 && ch<=122) || ch==32))
		return false;
	}
	return true;
}
function IsValidUserName(p)
{
	for(var i = 0; i < p.length; i++)  
	{ 
      var c = p.charAt(i);
      if ((c == ' ') || (c == '\n') || (c == '\t'))
      {          
          return false;
    }
  }
  return true;
}
function IsValidNO(strNo)
{
	var nosize = strNo.length;
	for(i=0 ; i < nosize; i++)
	{
		var ch = strNo.charCodeAt(i);
		if(!((ch>=48 && ch<=57) ))
		return false;
	}
	return true;
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function isValidEmail(strEmail){
  validRegExp = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
     // search email text for regular exp matches
    if (strEmail.search(validRegExp) == -1) 
    {
      return false;
    } 
    return true; 
}
function checkpassword(p)
{
  for(var i = 0; i < p.length; i++)  
  { 
      var c = p.charAt(i);
      if ((c == ' ') || (c == '\n') || (c == '\t'))
      {          
          return false;
      }
  }
  return true;
}

function isDate(dateStr) {
	
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	
	if (matchArray == null) {
	//alert(”Please enter your birth date as dd/mm/yyyy. Your current selection reads: ” + dateStr);
	return false;
	}
	
	day = matchArray[1]; // p@rse date into variables
	month = matchArray[3];
	year = matchArray[5];
	
	
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
	
	return false;
	}
	
	if (month == 2) { // check for february 29th
	var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day > 29 || (day==29 && !isleap)) {
	///alert(”February ” + year + ” doesn`t have ” + day + ” days!”);
	return false;
	}
	}
	return true; // date is valid
}
