/*
 * Validation Script
 * http://www.calipus.com/
 *
 * Copyright (c) 2010 calipus
 * Dual licensed under the MIT and GPL licenses.
  * Date: 2010-07-28 (Wed, 28 July 2010) 
 */
 
 // validate admin login   
 function loginformValidation(obj)
 {
   //if(obj.txt_username) 
   
   var txt_username		=	  TrimString(obj.txt_username.value);
	if( txt_username == '')
	{
        obj.txt_username.focus();
        alert('Please enter username');
        return false;
    }
	
	var txt_password		=	  TrimString(obj.txt_password.value);
	if( txt_password == '')
	{
        obj.txt_password.focus();
        alert('Please enter password');
        return false;
    }
	return true;
 }


 function resgiterValidation(obj)
 {
     var f_name		=	  TrimString(obj.f_name.value);
	if( f_name == '')
	{
        obj.f_name.focus();
        alert('Please enter first name');
        return false;
        }

     var email		=	  TrimString(obj.email.value);
        if(!CheckMail(email))
            {
                obj.email.focus();
                alert('Please enter a valid email address');
                return false;
           }
        var new_password		=	  TrimString(obj.new_password.value);
	if( new_password == '')
	{
        obj.new_password.focus();
        alert('Please enter password');
        return false;
        }
        
        if( new_password.length <  4)
	{
        obj.new_password.focus();
        alert('Password lenth must be greater than 4');
        return false;
        }

        if( new_password.length >  8)
	{
        obj.new_password.focus();
        alert('Password lenth must be less than 8');
        return false;
        }

        var confirm_password		=	  TrimString(obj.confirm_password.value);
        if( confirm_password == '')
	{
        obj.confirm_password.focus();
        alert('Please enter confirm password ');
        return false;
        }

        if( confirm_password != new_password)
	{
        obj.new_password.focus();
        alert('Both password and confirm password should be same.');
        return false;
        }



	
	return true;
 }

 function changePassword(obj)
 {
        var old_password		=	  TrimString(obj.old_password.value);
	if( old_password == '')
	{
        obj.old_password.focus();
        alert('Please enter old password');
        return false;
        }

         var new_password		=	  TrimString(obj.new_password.value);
	if( new_password == '')
	{
        obj.new_password.focus();
        alert('Please enter password');
        return false;
        }

        if( new_password.length <  4)
	{
        obj.new_password.focus();
        alert('Password lenth must be greater than 4');
        return false;
        }

        if( new_password.length >  8)
	{
        obj.new_password.focus();
        alert('Password lenth must be less than 8');
        return false;
        }

        var confirm_password		=	  TrimString(obj.confirm_password.value);
        if( confirm_password == '')
	{
        obj.confirm_password.focus();
        alert('Please enter confirm password ');
        return false;
        }

        if( confirm_password != new_password)
	{
        obj.new_password.focus();
        alert('Both password and confirm password should be same.');
        return false;
        }


     return true;

 }
 function validatePersonaldetails(obj)
 {
       var f_name		=	  TrimString(obj.f_name.value);
	if( f_name == '')
	{
        obj.f_name.focus();
        alert('Please enter first name');
        return false;
        }

     var email		=	  TrimString(obj.email.value);
        if(!CheckMail(email))
            {
                obj.email.focus();
                alert('Please enter a valid email address');
                return false;
           }
     return true;
 }

// Function allows space but not  special chars(only alphabets with space)
function validateNumbers(fieldvalue)
{
	var result = true;
	var string = fieldvalue;
	var stringlen = fieldvalue.length;
	var iChars = "0123456789";
	for (var i = 0; i < stringlen; i++)
	{
		if (iChars.indexOf(string.charAt(i)) != -1)
		result = false;
                return false;
	}
	if (string.charAt('0') == ' ')
	{
		result = false;
                return false;
	}
	alert(result);
        return result;
}

 function validateSendMail(obj)
 {
        
        var recipient_name		=	  TrimString(obj.recipient_name.value);
	if( recipient_name == '')
	{
            obj.recipient_name.focus();
            alert('Please enter recipient name');
            return false;
        }
        var recipient_email		=	  TrimString(obj.recipient_email.value);
        if(!CheckMail(recipient_email))
            {
                obj.recipient_email.focus();
                alert('Please enter a valid email address');
                return false;
           }
        
        
        var time_delay		=	  TrimString(obj.time_delay.value);
	if( time_delay == '')
	{
            obj.time_delay.focus();
            alert('Please enter time delay before sending the email');
            return false;
        }

        var IsFound = /^-?\d+$/.test(time_delay);
        if(!IsFound)
            {
                obj.time_delay.focus();
                alert('Only integer value is allowed in time delay ');
                return false;
            }
        
        if( time_delay.length > 2)
	{
            obj.time_delay.focus();
            alert('Time delay should not be greater 99 hours');
            return false;
        }
        if( time_delay <1)
	{
            obj.time_delay.focus();
            alert('Time delay can not be less then one hour');
            return false;
        }

        

        var subject		=	  TrimString(obj.subject.value);
	if( subject == '')
	{
        obj.subject.focus();
        alert('Please enter subject of email');
        return false;
        }

        var email_text		=	  TrimString(obj.email_text.value);
	if( email_text == '')
	{
        obj.email_text.focus();
        alert('Please enter email content');
        return false;
        }

     return true;
 }
 function CheckMail(emailStr)
{
	var checkTLD=0;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum])$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\\.\\[\\]//";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null)
	{
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++)
	{
		if (user.charCodeAt(i)>127)
		{
			return false;
		}
	}

	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			return false;
		}
	}

	if (user.match(userPat)==null)
	{
		return false;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;

	for (i=0;i<len;i++)
	{
		if (domArr[i].search(atomPat)==-1)
		{
			return false;
		}
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
	{
		var dis=domArr[domArr.length-1].length;
		return false;
	}

	if (len<2)
	{
		return false;
	}
	return true;
}
 //  FUNCTION TO  TRIM STRING 
function TrimString(sInString)
 {
	sInString = sInString.replace( /^\s+/g, "" );
	return sInString.replace( /\s+$/g, "" );
 }

 //Checks for the nos(digit only)
function IsNumber(fld,msg)
{
	if(isNaN(fld.value)==true)
	{
		alert(msg);
		fld.focus();
		return false;
	}
	return false;
}


