
//New user sign up
function checkSignup() {

        document.newUserLogin.username.value = trimSpaces(document.newUserLogin.username.value);
        if(document.newUserLogin.username.value.length <= 0) {
                alert("Please enter the user name");
                document.newUserLogin.username.focus();
                return false;
        }
		if (!CheckValidity(document.newUserLogin.username.value.length,document.newUserLogin.username.value,'U'))
			 {
				alert("The field 'User Name' accept characters, numbers,'_','-' and '*' only.");
				document.newUserLogin.username.focus();
				return false;
		  	 }
		
		 if(document.newUserLogin.username.value.length < 5 || document.newUserLogin.username.value.length >15 ) {
                alert("Please enter User name which should be atleast 5 letters and not more than 15 letters");
                document.newUserLogin.username.focus();
                return false;
        }
        document.newUserLogin.password.value = trimSpaces(document.newUserLogin.password.value);
        if(document.newUserLogin.password.value.length <= 0) {
                alert("Please enter the password");
                document.newUserLogin.password.focus();
                return false;
        }
		if(document.newUserLogin.password.value.length <6) {
                alert("Password should contain at least 6 letters");
                document.newUserLogin.password.focus();
                return false;
        }
		if (!CheckValidity(document.newUserLogin.password.value.length,document.newUserLogin.password.value,'U'))
			 {
				alert("The field 'Password' accept characters, numbers,'_','-' and '*' only.");
				document.newUserLogin.password.focus();
				return false;
		  	 }
        document.newUserLogin.confirmPassword.value = trimSpaces(document.newUserLogin.confirmPassword.value);
        if(document.newUserLogin.password.value != document.newUserLogin.confirmPassword.value) {
                alert("confirm Password does not match");
                document.newUserLogin.confirmPassword.focus();
                return false;
        }

}
//Check  subscribe
function checkSubscribe() {

        document.forms(0).username.value = trimSpaces(document.forms(0).username.value);
        if(document.forms(0).username.value.length <= 0) {
                alert("Please enter the user name");
                document.forms(0).username.focus();
                return false;
        }
		if (!CheckValidity(document.forms(0).username.value.length,document.forms(0).username.value,'U'))
			 {
				alert("The field 'User Name' accept characters, numbers,'_','-' and '*' only.");
				document.newUserLogin.username.focus();
				return false;
		  	 }
	document.forms(0).email.value = trimSpaces(document.forms(0).email.value);
        if(!checkEmail(document.forms(0).email.value)) {
                document.forms(0).email.focus();
                return false;
        }
}
//Change Password Form
function checkPassword() {

        document.forms(0).oldPassword.value = trimSpaces(document.forms(0).oldPassword.value);
        if(document.forms(0).oldPassword.value.length <= 0) {
                alert("Please enter the current password");
                document.forms(0).oldPassword.focus();
                return false;
        }
        document.changePwd.newPassword.value = trimSpaces(document.changePwd.newPassword.value);
        if(document.changePwd.newPassword.value.length <= 0) {
                alert("Please enter the new password");
                document.changePwd.newPassword.focus();
                return false;
        }
		if (!CheckValidity(document.changePwd.newPassword.value.length,document.changePwd.newPassword.value,'U'))
			 {
				alert("The field 'New Password' accept  characters, numbers,'_','-' and '*' only.");
				document.changePwd.newPassword.focus();
				return false;
		  	 }
        document.changePwd.confirmPassword.value = trimSpaces(document.changePwd.confirmPassword.value);
        if(document.changePwd.newPassword.value != document.changePwd.confirmPassword.value) {
                alert("Passwords does not match");
                document.changePwd.confirmPassword.focus();
                return false;
        }

}

//check user details
function checkUserDetails(){

        document.userDetails.firstName.value = trimSpaces(document.userDetails.firstName.value);
        if(document.userDetails.firstName.value.length <= 0) {
                alert("Please enter your first name");
                document.userDetails.firstName.focus();
                return false;
        }else{
		if (!CheckValidity(document.userDetails.firstName.value.length,document.userDetails.firstName.value,'N'))
			 {
				alert("The field 'First Name' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.firstName.focus();
				return false;
		  	 }
		}
		if(document.userDetails.lastName.value.length <= 0) {
		if (!CheckValidity(document.userDetails.lastName.value.length,document.userDetails.lastName.value,'N'))
			 {
				alert("The field 'Last Name' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.lastName.focus();
				return false;
		  	 }
		}
        document.userDetails.emailID.value = trimSpaces(document.userDetails.emailID.value);
        if(!checkEmail(document.userDetails.emailID.value)) {
                document.userDetails.emailID.focus();
                return false;
        }

        document.userDetails.street.value = trimSpaces(document.userDetails.street.value);
        if(document.userDetails.street.value.length <= 0) {
                alert("Please enter your street address");
                document.userDetails.street.focus();
                return false;
        }else{
		if (!CheckValidity(document.userDetails.street.value.length,document.userDetails.street.value,'N'))
			 {
				alert("The field 'Street' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.street.focus();
				return false;
		  	 }
		}

        document.userDetails.city.value = trimSpaces(document.userDetails.city.value);
        if(document.userDetails.city.value.length <= 0) {
                alert("Please enter your city");
                document.userDetails.city.focus();
                return false;
        }else{
		if (!CheckValidity(document.userDetails.city.value.length,document.userDetails.city.value,'N'))
			 {
				alert("The field 'City' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.city.focus();
				return false;
		  	 }
		}

        document.userDetails.state.value = trimSpaces(document.userDetails.state.value);
        if(document.userDetails.state.value.length <= 0) {
                alert("Please enter your state/province");
                document.userDetails.state.focus();
                return false;
        }else{
		if (!CheckValidity(document.userDetails.state.value.length,document.userDetails.state.value,'A'))
			 {
				alert("The field 'State' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.state.focus();
				return false;
		  	 }
		}

        document.userDetails.postalCode.value = trimSpaces(document.userDetails.postalCode.value);
        if(document.userDetails.postalCode.value.length <= 0) {
                alert("Please enter your post/zip code");
                document.userDetails.postalCode.focus();
                return false;
        }else{
		if (!CheckValidity(document.userDetails.postalCode.value.length,document.userDetails.postalCode.value,'P'))
			 {
				alert("The field 'Postal/Zip Code' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.postalCode.focus();
				return false;
		  	 }
		}

         document.userDetails.telephone.value = trimSpaces(document.userDetails.telephone.value);
        if(document.userDetails.telephone.value.length <= 0) {
                alert("Please enter your Telephone No.");
                document.userDetails.telephone.focus();
                return false;
        }else{
		if (!CheckValidity(document.userDetails.telephone.value.length,document.userDetails.telephone.value,'P'))
			 {
				alert("The field 'Telephone' should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.telephone.focus();
				return false;
		  	 }
		}
	if(document.userDetails.fax.value.length <= 0) {
		if (!CheckValidity(document.userDetails.fax.value.length,document.userDetails.fax.value,'P'))
			 {
				alert("The field 'Fax should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.fax.focus();
				return false;
		  	 }
		}
	if(document.userDetails.comments.value.length <= 0) {
		if (!CheckValidity(document.userDetails.comments.value.length,document.userDetails.comments.value,'A'))
			 {
				alert("The field 'Comments should not accept the character [<,>] and Double quotes\nPlease remove it from the field.\n");
				document.userDetails.comments.focus();
				return false;
		  	 }
		}
/* 	document.userDetails.nameOnCard.value = trimSpaces(document.userDetails.nameOnCard.value);
        if(document.userDetails.nameOnCard.value.length <= 0) {
                alert("Please enter your Name as appears on Card.");
                document.userDetails.nameOnCard.focus();
                return false;
        }

 	document.userDetails.cardNumber.value = trimSpaces(document.userDetails.cardNumber.value);
        if(document.userDetails.cardNumber.value.length <= 0) {
                alert("Please enter your Credit Card Number.");
                document.userDetails.cardNumber.focus();
                return false;
        }

 	document.userDetails.expireMonth.value = trimSpaces(document.userDetails.expireMonth.value);
        if(document.userDetails.expireMonth.value.length <= 0) {
                alert("Please enter your Credit Card Expiration Month.");
                document.userDetails.expireMonth.focus();
                return false;
        }

 	document.userDetails.expireYear.value = trimSpaces(document.userDetails.expireYear.value);
        if(document.userDetails.expireYear.value.length <= 0) {
                alert("Please enter your Credit Card Expiration Year.");
                document.userDetails.expireYear.focus();
                return false;
        }

        if(isNaN(document.userDetails.expireMonth.value) || isNaN(document.userDetails.expireYear.value)) {
                alert("Only numeric values are accepted for expiration date");
                document.userDetails.expireMonth.focus();
                return false;
        }
        if(parseInt(document.userDetails.expireMonth.value, 10) > 12 || parseInt(document.userDetails.expireMonth.value, 10) <= 0) {
                alert("Please enter a valid expiration date.");
                document.userDetails.expireMonth.focus();
                return false;
        }

        if(parseInt(document.userDetails.dateofBirth.value, 10) > 12 || parseInt(document.userDetails.dateofBirth.value, 10) <= 0) {
                alert("Please enter date of birth.");
                document.userDetails.dateofBirth.focus();
                return false;
		}*/
}
/*****************************************************************************************/
//open subscribe window
function OpenWindow() {

        sWidth = screen.availWidth;
        sHeight = screen.availHeight;

        sTop = (sHeight-400) / 2;
        sLeft = (sWidth-550 ) / 2;

        x = window.open("subScribe.php", "Subscribe", "width=350,height=200,top=" + sTop + ",left=" + sLeft + ",toolbar=0,menubar=0,status=0,scrollbars=1,resizable=1");
        x.focus();
        return;
}

// Add to Favorites

 function addToFavorites()
 { 
  var urlAddress = "http://www.initechnologies.com";
 var pageName = " INI Technologies Pvt Ltd - Access to the best of technologies";
  if (window.external)
  {
   window.external.AddFavorite(urlAddress,pageName)
  }
  else
  { 
   alert("Sorry! Your browser doesn't support this function.");
  }
 }

/*****************************************************************************************/


/*****************************************************************************************/
// General Functions
/*****************************************************************************************/
function trimSpaces(stringValue) {
        // Checks the first occurance of spaces and removes them
        for(i = 0; i < stringValue.length; i++) {
                if(stringValue.charAt(i) != " ") {
                        break;
                }
        }
        if(i > 0) {
                stringValue = stringValue.substring(i);
        }

        // Checks the last occurance of spaces and removes them
        strLength = stringValue.length - 1;
        for(i = strLength; i >= 0; i--) {
                if(stringValue.charAt(i) != " ") {
                        break;
                }
        }
        if(i < strLength) {
                stringValue = stringValue.substring(0, i + 1);
        }

        // Returns the string after removing leading and trailing spaces.
        return stringValue;
}
/////////////////////////////////////////////////////////////////////////////////////////
// Checks whether a string is a valid email address.
/////////////////////////////////////////////////////////////////////////////////////////
function checkEmail(emailString) {
        splitVal = emailString.split('@');

        if(splitVal.length <= 1) {
                alert("Please enter a valid email address");
                return false;
        }
        if(splitVal[0].length <= 0 || splitVal[1].length <= 0) {
                alert("Please enter a valid email address");
                return false;
        }

        splitDomain = splitVal[1].split('.');
        if(splitDomain.length <= 1) {
                alert("Please enter a valid email address");
                return false;
        }
        if(splitDomain[0].length <= 0 || splitDomain[1].length <= 1) {
                alert("Please enter a valid email address");
                return false;
        }
		if (!CheckValidity(emailString.length,emailString,'E'))
		 {
			alert("The field 'Email ID' should not accept the character [<,>] and Double quotes.");
			return false;
		 }
        return true;
}
/////////////////////////////////////////////////////////////////////////////////////////
// Checks For the Cross scripting.
/////////////////////////////////////////////////////////////////////////////////////////

function CheckValidity(slen,stext,stype)
	{  
       for (var i = 0; i < slen; i++)
		{      
       var ch = stext.substring(i, i + 1);  
       if (stype=='E')  // for E mail
		  {
		   if (((ch>="a") && (ch<="z")) || ((ch>="A") && (ch<="Z")) ||
			  (ch=="@") || (ch==".") || (ch=="_") || ((ch>=0) && (ch<=9)))	
			 {continue;}	
			else
				{return false ;}
           }
		else if ((stype=='N') || (stype=='R'))   // For Name,Country,Profession,City/State 
		  { 
			 if (((ch>="a") && (ch<="z")) || ((ch>="A") && (ch<="Z")) ||
				(ch==' '))	
				{continue ;}
			 else
				{ return false;}
		  }
		else if ((stype=='A') ||  (stype=='M'))  // For Address ,Message,Country
		    { 
			  if ((ch==">") || (ch=="<") || (stext.charCodeAt(i)==34))    
				{return false;}
			  else
				{continue;}
		  }
		else if ((stype=='P') || (stype=='Z')) // For Phone,Zip Code
		  { 
			 if (((ch>="a") && (ch<="z")) || ((ch>="A") && (ch<="Z")) ||
				(ch=="-") || ((ch>=0) && (ch<=9)) || (ch==","))	
				{ continue;}
			 else
				{return false;}
		  }
		else if (stype=='U')  // for username,password
		  {
			if (((ch>="a") && (ch<="z")) || ((ch>="A") && (ch<="Z"))||
				(ch=="_")||	(ch=="-") || (ch=="*") || ((ch>=0) && (ch<=9)))
				{ continue; }
			else
				{ return false; }
		  }
		else if (stype=='L')  // for URL Links
		  {
			 if (((ch>="a") && (ch<="z")) || ((ch>="A") && (ch<="Z")) ||
				(ch=="-") || ((ch>=0) && (ch<=9)) || (ch=="."))	
				{ continue; }
			else
				{ return false; }
		  }
      }	
      return true ;
    }