// JavaScript Document
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function isTheSame(string1,string2)
{
	string1 = new RegExp(string1)
	return string1.test(string2);
}

function bookmarkme()
{
	var txt = "Bookmark Us!";
	var url = this.location.href;
	var who = "Beautytheone.com : "+document.title;

	var ver = navigator.appName;
	var num = parseInt(navigator.appVersion);
	if ((ver == "Microsoft Internet Explorer")&&(num >= 4)) 
	{
		window.external.AddFavorite(url,who);
	}
	else
	{
		txt = "Press (Ctrl+D) to Add to favorite!";
		alert(txt);
	}
}

function mycenteralpopwinVHS(fname,width,height)
{
	var file
	var sWidth	= 200
	var sHeight = 200
	
	if(width.length > 0)
	{
		sWidth = width;
	}
	else
	{
		width =100;
	}
	
	if(height.length > 0)
	{
		sHeight = height;
	}
	else
	{
		height =100;
	}
	
	file = fname
	file =file	
	
	var wintop  =window.screen.availHeight;
	var winleft =window.screen.availWidth;
	wintop  =(wintop/2) -(height/2)
	winleft =(winleft/2) -(width/2)
	//wintop  = 0
	//winleft = 0
	
	if ( sWidth > window.screen.availWidth )
		{ sWidth = window.screen.availWidth; }
	if (sHeight > window.screen.availHeight )
		{ sHeight = window.screen.availHeight; }
	if ( parseInt(sWidth) < width )
		{ sWidth = width; }
	if ( parseInt(sHeight) < height )
		{ sHeight = height; }
	
	if ( navigator.appName == "Microsoft Internet Explorer" )
		{ window.open(file, "_blank", "status=no, addressbar=no, scrollbars=yes, toolbar=no, resizable=yes, location=no, menubar=no, top=" + wintop + ", left= "+ winleft +", height=" + sHeight + ", width=" + sWidth); 
		}
	if ( navigator.appName == "Netscape" ) 
		{ 
		window.open(file,"_blank","scrollbars=yes,alwaysRaised,dependant,innerheight=" + sHeight + ",innerwidth=" + sWidth); 		 
		//window.open(file,"_blank","alwaysRaised,dependant,scrollbars=yes,innerheight=" + sHeight + ",innerwidth=" + sWidth); 
		}
}


function verifyNumeric(which)
{
	var oldvalue = [''];
    if (isNaN(which.value))
    {
        if (oldvalue[which])
        {
            which.value = oldvalue[which];
        }
        else
        {
            which.value = '';
            oldvalue[which] = '';
        }    
    }
    else
    {
        oldvalue[which] = which.value;
    }
}



	//================================================================================  
	var telNumberErrorNo = 0;
	var telNumberErrors = new Array ();
	telNumberErrors[0] = "Please enter Valid UK telephone number";
	telNumberErrors[1] = "Please enter the Contact Telephone Number";
	telNumberErrors[2] = "UK telephone number without the country code, please";
	telNumberErrors[3] = "UK telephone numbers should contain 10 or 11 digits";
	telNumberErrors[4] = "The telephone number should start with a 0";
	telNumberErrors[5] = "The telephone number is either invalid or inappropriate";
			
	function checkUKTelephone (telephoneNumber) 
	{
	  // Convert into a string and check that we were provided with something
	  var telnum = telephoneNumber + " ";
	  if (telnum.length == 1)  {
		 telNumberErrorNo = 1;
		 return false;
	  }
	  telnum.length = telnum.length - 1;
	  
	  // Don't allow country codes to be included (assumes a leading "+")
	  var exp = /^(\+)[\s]*(.*)$/;
	  if (exp.test(telnum) == true) {
		 telNumberErrorNo = 2;
		 return false;
	  }
	  
	  // Remove spaces from the telephone number to help validation
	  while (telnum.indexOf(" ")!= -1)  {
		telnum = telnum.slice (0,telnum.indexOf(" ")) + telnum.slice (telnum.indexOf(" ")+1)
	  }
	  
	  // Remove hyphens from the telephone number to help validation
	  while (telnum.indexOf("-")!= -1)  {
		telnum = telnum.slice (0,telnum.indexOf("-")) + telnum.slice (telnum.indexOf("-")+1)
	  }  
	  
	  // Now check that all the characters are digits
	  exp = /^[0-9]{10,11}$/
	  if (exp.test(telnum) != true) 
	  {
		 telNumberErrorNo = 3;
		 return false;
	  }
	  
/*	  // Now check that the first digit is 0
	  exp = /^0[0-9]{9,10}$/
	  if (exp.test(telnum) != true) {
		 telNumberErrorNo = 4;
		 return false;
	  }
	  
	  // Finally check that the telephone number is appropriate.
	  exp = /^(01|02|03|05|070|077|07624|078|079)[0-9]+$/;
	  if (exp.test(telnum) != true) {
		 telNumberErrorNo = 5;
		 return false;
	  }  */
	  
	  // Telephone number seems to be valid - return the stripped telehone number  
	  return telnum;
	}

function chkValidation(phone,postcode)
{
	if(!checkPostCode (postcode))
	{
		alert("Please enter valid post code. UK post code format is invalid.");
		document.frmEnquiry.txtPostcode.select();
		document.frmEnquiry.txtPostcode.focus();
		return false;
	}
	
	if (!checkUKTelephone (phone)) 
	{
		 alert (telNumberErrors[telNumberErrorNo]);
		 document.frmEnquiry.txtPhone.select();
		 document.frmEnquiry.txtPhone.focus();
		 return false;  
	}
	
	return true;
}

function checkPostCode (toCheck) {

  // Permitted letters depend upon their position in the postcode.
  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2
  var alpha3 = "[abcdefghjkstuw]";                                // Character 3
  var alpha4 = "[abehmnprvwxy]";                                  // Character 4
  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5
  

  // Array holds the regular expressions for the valid postcodes
  var pcexp = new Array ();

  // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Expression for postcodes: ANA NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));

  // Expression for postcodes: AANA  NAA
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  
  // Exception for the special postcode GIR 0AA
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
  
  // Standard BFPO numbers
  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  
  // c/o BFPO numbers
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);

  // Load up the string to check
  var postCode = toCheck;

  // Assume we're not going to find a valid postcode
  var valid = false;
  
  // Check the string against the types of post codes
  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
    
      // The post code is valid - split the post code into component parts
      pcexp[i].exec(postCode);
      
      // Copy it back into the original string, converting it to uppercase and
      // inserting a space between the inward and outward codes
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      
      // If it is a BFPO c/o type postcode, tidy up the "c/o" part
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      
      // Load new postcode back into the form element
      valid = true;
      
      // Remember that we have found that the code is valid and break from loop
      break;
    }
  }
  
  // Return with either the reformatted valid postcode or the original invalid 
  // postcode
  if (valid)
   { 
  	 return   postCode;
     } 
  else return false;
  
}

// This is also a one more fucntion to validate UK postcode format validation -----------------------
function validateUKPostCode($pcode)
{
	$postcode = strtoupper(str_replace(' ', '', $pcode));
	$preg = "/^((GIR0AA)|((([A-PR-UWYZ][0-9][0-9]?)|([A-PR-UWYZ][A-HK-Y][0-9][0-9]?)|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))[0-9][ABD-HJLNP-UW-Z]{2}))$/";
	$match = preg_match($preg, $postcode) ? true : false;
	return $match;
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function numbersonly(e)
{
	var unicode=e.charCode? e.charCode : e.keyCode
	if (unicode!=8 && unicode!=46)
	{
		//if the key isn't the backspace key (which we should allow)
		if (unicode<48||unicode>57) //if not a number
		return false //disable key press
	}
}

/* 
	Used to convert a given number into 2 decimal format [E.g. 12.2356 = 12.24]
	Parameter obj = object of the control
*/
function numberFormat(obj)
{
	if(!isNaN(obj.value) && obj.value>0)
	{
		var num = new Number(obj.value);
		var final_val = parseFloat(num.toFixed(2));
		obj.value = final_val;
	}
}

function chkRegistration(frm)
{
	// --------------------- Email Address ------------------------
 	if (trim(frm.txtR_Email.value) == '')
	{
		  alert('Please enter Email id.');
		  frm.txtR_Email.focus();
		  return false;  
	}  
	   
	if(trim(frm.txtR_Email.value).indexOf('@')==-1 || trim(frm.txtR_Email.value).indexOf('.')==-1 || trim(frm.txtR_Email.value).indexOf('@')!=trim(frm.txtR_Email.value).lastIndexOf('@') || trim(frm.txtR_Email.value).indexOf('@')>trim(frm.txtR_Email.value).lastIndexOf('.') || trim(frm.txtR_Email.value).length-trim(frm.txtR_Email.value).lastIndexOf('.')<=1)
	{
		  alert('Your Email ID appears to be invalid, please re-enter');
		  frm.txtR_Email.select();
		  return false;
	}
	
	// Password ---------------------------------------------------
	if(trim(frm.txtR_Pwd.value) == "")
	{
		alert("Please enter new password value");
		frm.txtR_Pwd.focus();
		return false;
	}
	
	if(trim(frm.txtR_CPwd.value) == "")
	{
		alert("Please enter confirm password value");
		frm.txtR_CPwd.focus();
		return false;
	}
	
	if((trim(frm.txtR_Pwd.value) != "") && (trim(frm.txtR_CPwd.value) != ""))
	{
		var newpwd 		= trim(frm.txtR_Pwd.value);
		var confrimPwd	= trim(frm.txtR_CPwd.value);

		if(!isTheSame(newpwd,confrimPwd)) 
		{
			alert("Both password should be same");
			return false;		
		} 
	}
	
	// first name  ------------------------------------------------
	if (trim(frm.txtR_FName.value)=='')
	{
		  alert('Please enter your first name.');
		  frm.txtR_FName.focus();
		  return false;  
	} 
	else if (!isNaN(frm.txtR_FName.value))
		  {
			   alert('Use alphabets only.');
			   frm.txtR_FName.select();
			   return false;  
		  }  
	// last name  ------------------------------------------------
	if (trim(frm.txtR_LName.value)=='')
	{
		  alert('Please enter your last name.');
		  frm.txtR_LName.focus();
		  return false;  
	} 
	else if (!isNaN(frm.txtR_LName.value))
		  {
			   alert('Use alphabets only.');
			   frm.txtR_LName.select();
			   return false;  
		  } 
	
	// ADDRESS LINE 1 -------------------------------------------
	if(trim(frm.txtR_Address1.value) == "")
	{
		alert("Please enter your address");
		frm.txtR_Address1.focus();
		return false;
	}
	
	// City ----------------------------------------------------
	if(trim(frm.txtR_City.value) == "")
	{
		alert("Please enter your city");
		frm.txtR_City.focus();
		return false;
	}
	
	// State ----------------------------------------------------
	if(trim(frm.txtR_State.value) == "")
	{
		alert("Please enter state code");
		frm.txtR_State.focus();
		return false;
	}
	
	// Phone Number ----------------------------------------------------
	if(trim(frm.txtR_Phone.value) == "")
	{
		alert("Please enter your phone number");
		frm.txtR_Phone.focus();
		return false;
	}
	
	return true;
}


function chkLogin(frm)
{
	// --------------------- User nmae ------------------------
 	if (trim(frm.txtUID.value) == '')
	{
		  alert('Please enter user name.');
		  frm.txtUID.focus();
		  return false;  
	}  
	   
	if(trim(frm.txtUID.value).indexOf('@')==-1 || trim(frm.txtUID.value).indexOf('.')==-1 || trim(frm.txtUID.value).indexOf('@')!=trim(frm.txtUID.value).lastIndexOf('@') || trim(frm.txtUID.value).indexOf('@')>trim(frm.txtUID.value).lastIndexOf('.') || trim(frm.txtUID.value).length-trim(frm.txtUID.value).lastIndexOf('.')<=1)
	{
		  alert('Your username appears to be invalid, please re-enter');
		  frm.txtUID.select();
		  return false;
	}
	
	
	if(trim(frm.txtPWD.value) == "")
	{
		alert("Please enter password");
		frm.txtUID.focus();
		return false; 
	}
	
	return true;
}

function chkUpdateProfile(frm)
{
	// first name  ------------------------------------------------
	if (trim(frm.txtR_FName.value)=='')
	{
		  alert('Please enter your first name.');
		  frm.txtR_FName.focus();
		  return false;  
	} 
	else if (!isNaN(frm.txtR_FName.value))
		  {
			   alert('Use alphabets only.');
			   frm.txtR_FName.select();
			   return false;  
		  }  

// last name  ------------------------------------------------
	if (trim(frm.txtR_LName.value)=='')
	{
		  alert('Please enter your last name.');
		  frm.txtR_LName.focus();
		  return false;  
	} 
	else if (!isNaN(frm.txtR_LName.value))
		  {
			   alert('Use alphabets only.');
			   frm.txtR_LName.select();
			   return false;  
		  } 
	
	// ADDRESS LINE 1 -------------------------------------------
	if(trim(frm.txtR_Address1.value) == "")
	{
		alert("Please enter your address");
		frm.txtR_Address1.focus();
		return false;
	}
	
	// City ----------------------------------------------------
	if(trim(frm.txtR_City.value) == "")
	{
		alert("Please enter your city");
		frm.txtR_City.focus();
		return false;
	}
	
	// State ----------------------------------------------------
	if(trim(frm.txtR_State.value) == "")
	{
		alert("Please enter state code");
		frm.txtR_State.focus();
		return false;
	}
	
	// Phone Number ----------------------------------------------------
	if(trim(frm.txtR_Phone.value) == "")
	{
		alert("Please enter your phone number");
		frm.txtR_Phone.focus();
		return false;
	}
	
	return true;
}

function chkChangePwd(frm)
{
	if(trim(frm.txtOldPass.value) == "")
	{
		alert("Please enter old password");
		frm.txtOldPass.focus();
		return false;
	}
	
	if(trim(frm.txtNewPass.value) == "")
	{
		alert("Please enter new password");
		frm.txtNewPass.focus();
		return false;
	}
	
	if(trim(frm.txtConfirmPass.value) == "")
	{
		alert("Please enter confirm password");
		frm.txtConfirmPass.focus();
		return false;
	}
	
	if((trim(frm.txtNewPass.value) != "") && (trim(frm.txtConfirmPass.value) != ""))
	{
		var newpwd 		= trim(frm.txtNewPass.value);
		var confrimPwd	= trim(frm.txtConfirmPass.value);

		if(!isTheSame(newpwd,confrimPwd)) 
		{
			alert("Both password should be same");
			return false;		
		} 
	}
	
	return true;
}

function chkEmail(frm)
{
	// --------------------- User nmae ------------------------
 	if (trim(frm.txtEmail.value) == '')
	{
		  alert('Please enter your email address.');
		  frm.txtEmail.focus();
		  return false;  
	}  
	   
	if(trim(frm.txtEmail.value).indexOf('@')==-1 || trim(frm.txtEmail.value).indexOf('.')==-1 || trim(frm.txtEmail.value).indexOf('@')!=trim(frm.txtEmail.value).lastIndexOf('@') || trim(frm.txtEmail.value).indexOf('@')>trim(frm.txtEmail.value).lastIndexOf('.') || trim(frm.txtEmail.value).length-trim(frm.txtEmail.value).lastIndexOf('.')<=1)
	{
		  alert('Your email address appears to be invalid, please re-enter');
		  frm.txtEmail.select();
		  return false;
	}
	
	return true;
}

function chkReview(frm)
{
	// --------------------- User nmae ------------------------
 	if (trim(frm.txtEmail.value) != '')
	{
		if(trim(frm.txtEmail.value).indexOf('@')==-1 || trim(frm.txtEmail.value).indexOf('.')==-1 || trim(frm.txtEmail.value).indexOf('@')!=trim(frm.txtEmail.value).lastIndexOf('@') || trim(frm.txtEmail.value).indexOf('@')>trim(frm.txtEmail.value).lastIndexOf('.') || trim(frm.txtEmail.value).length-trim(frm.txtEmail.value).lastIndexOf('.')<=1)
		{
			  alert('Your email address appears to be invalid, please re-enter');
			  frm.txtEmail.select();
			  return false;
		}
	}
	
	if(trim(frm.txtReview.value) == "")
	{
		alert("Please post your review");
		frm.txtReview.focus();
		return false;
	}
	
	return true;
}

function FillValues(frm)
{
	var pmttable = document.getElementById("idPmtTr");
	
	if (frm.chkFillHolder.checked)
	{
		frm.txtFName_B.value	= frm.txtFName_D.value;
		frm.txtLName_B.value	= frm.txtLName_D.value;
		frm.txtEmail_B.value	= frm.txtEmail_D.value;
		frm.txtAddress_B.value	= frm.txtAddress_D.value;
		frm.txtCity_B.value		= frm.txtCity_D.value;
		frm.txtState_B.value	= frm.txtState_D.value;
		frm.txtPostCode_B.value	= frm.txtPostCode_D.value;
		frm.selCountry_B.value	= frm.selCountry_D.value;
		frm.txtPhone_B.value	= frm.txtPhone_D.value;

		pmttable.style.display ='none';
	}
	else
	{
		frm.txtFName_B.value	= "";
		frm.txtLName_B.value	= "";
		frm.txtEmail_B.value	= "";
		frm.txtAddress_B.value	= "";
		frm.txtCity_B.value		= "";
		frm.txtState_B.value	= "";
		frm.txtPostCode_B.value	= "";
		frm.selCountry_B.value	= "";
		frm.txtPhone_B.value	= "";

		pmttable.style.display ='block';
	}
}

function chkRefer(frm)
{
	if(trim(frm.txtSName.value) == "")
	{
		alert("Please enter your name");
		frm.txtSName.focus();
		return false;
	}
	
	if(trim(frm.txtSEmail.value) == "")
	{
		alert("Please enter your email address");
		frm.txtSEmail.focus();
		return false;
	}
	else
	{
		if(trim(frm.txtSEmail.value).indexOf('@')==-1 || trim(frm.txtSEmail.value).indexOf('.')==-1 || trim(frm.txtSEmail.value).indexOf('@')!=trim(frm.txtSEmail.value).lastIndexOf('@') || trim(frm.txtSEmail.value).indexOf('@')>trim(frm.txtSEmail.value).lastIndexOf('.') || trim(frm.txtSEmail.value).length-trim(frm.txtSEmail.value).lastIndexOf('.')<=1)
		{
			  alert('Your email address appears to be invalid, please re-enter');
			  frm.txtSEmail.select();
			  return false;
		}
	}
	
	var fName	= document.frmReferFriends['txtFName[]'];
	var fEmail	= document.frmReferFriends['txtFEmail[]'];
	var cnt = 0;
	for(var i=0;i<fName.length;i++)
	{
		if((trim(fName[i].value) == "") && (trim(fEmail[i].value) == ""))
		{
			cnt++;			
		}
		else
		{
			if(trim(fName[i].value) == "")
			{
				alert("Please enter name of "+(i+1)+" friend");
				fName[i].focus();
				return false;
			}
			
			if(trim(fEmail[i].value) == "")
			{
				alert("Please enter email of "+(i+1)+" friend");
				fEmail[i].focus();
				return false;
			}
			else
			{
				if(trim(fEmail[i].value).indexOf('@')==-1 || trim(fEmail[i].value).indexOf('.')==-1 || trim(fEmail[i].value).indexOf('@')!=trim(fEmail[i].value).lastIndexOf('@') || trim(fEmail[i].value).indexOf('@')>trim(fEmail[i].value).lastIndexOf('.') || trim(fEmail[i].value).length-trim(fEmail[i].value).lastIndexOf('.')<=1)
				{
					  alert('Email address appears in '+(i+1)+' coloumn to be invalid, please re-enter');
					  fEmail[i].select();
					  return false;
				}
			}
		}
	}

	if(cnt == 5)
	{
		alert("Please enter at least one of your friends name and email");
		fName[0].focus();
		return false;
	}	
}


function chkCounty(val)
{
	var tdName	= document.getElementById("tdCounty");
	
	if(val == "US")
		tdName.style.display = 'block';		
	else
		tdName.style.display = 'none';		
}


function callNextPage(pageCnt,alphabet)
{
	document.frmAdvancedSearch.page.value 		= pageCnt;
	document.frmAdvancedSearch.alphabet.value 	= alphabet;
	document.frmAdvancedSearch.submit();
}