function createCookie( name, value, days ) {
  if ( days ) {
    var date = new Date();
    date.setTime( date.getTime() + ( days * 24 * 60 * 60 * 1000 ) );
    var expires = "; expires=" + date.toGMTString();
  }
  else var expires = "";
  document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie( name ) {
  var nameEQ = name + "=";
  var ca = document.cookie.split( ';' );
  for( var i = 0; i < ca.length; i++ ) {
    var c = ca[ i ];
    while ( c.charAt( 0 ) == ' ' ) c = c.substring( 1, c.length );
    if ( c.indexOf( nameEQ ) == 0 ) return c.substring( nameEQ.length, c.length );
  }
  return null;
}

function eraseCookie( name ) {
  createCookie( name, "", -1 );
}

function GetCorrectObject( objName ) {
  return ( document.getElementById( objName ) );
}

function Trim( str ) {
  var i = 0;
  while ( ( i < str.length ) && ( str.charAt( i ) == ' ' ) ) {
    i++;
  }
  str = str.substring( i );
  i = str.length;
  while ( ( i > 0 ) && ( str.charAt( i - 1 ) == ' ' ) ) {
    i--;
  }
  str = str.substring( 0, i );
  return str;
}

function CheckIfNumeric( strString ) {
  var strValidChars = "0123456789";
  var strChar;
  var bResult = true;

  if ( strString.length == 0 ) return false;
  for ( i = 0; i < strString.length && bResult == true; i++ ) {
    strChar = strString.charAt( i );
    if ( strValidChars.indexOf( strChar ) == -1 ) {
      bResult = false;
    }
  }
  return bResult;
}

function CheckEmailAddress( strString ) {
  var lNumber;
  var i;
  if ( strString.length < 5 ) return false;
  lNumber = strString.indexOf( '@' );
  if ( ( lNumber < 1 ) || ( lNumber > ( strString.length - 4 ) ) ) {
	return false;
  } else {
	i = strString.length;
    while ( ( i > 0 ) && ( strString.charAt( i ) != '.' ) ) {
	  i--;
    }
	if ( ( i < lNumber ) || ( i > ( strString.length - 3 ) ) ) return false;
  }
  return true;
}

function CheckPostCode_UK( strString ) {
  var strNumbers = "0123456789";
  var strCharacters = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";

  if ( strString.length < 6 || strString.length > 8 ) return false;
  if ( strString.length == 6 ) {
    if ( strCharacters.indexOf( strString.charAt( 0 ) ) == -1 ) return false;
    if ( strNumbers.indexOf( strString.charAt( 1 ) ) == -1 ) return false;
    if ( strString.charAt( 2 ) != ' ' ) return false;
    if ( strNumbers.indexOf( strString.charAt( 3 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 4 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 5 ) ) == -1 ) return false;
  }
  if ( strString.length == 7 ) {
    if ( strCharacters.indexOf( strString.charAt( 0 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 1 ) ) == -1 && strNumbers.indexOf( strString.charAt( 1 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 2 ) ) == -1 && strNumbers.indexOf( strString.charAt( 2 ) ) == -1 ) return false;
    if ( strString.charAt( 3 ) != ' ' ) return false;
    if ( strNumbers.indexOf( strString.charAt( 4 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 5 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 6 ) ) == -1 ) return false;
  }
  if ( strString.length == 8 ) {
    if ( strCharacters.indexOf( strString.charAt( 0 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 1 ) ) == -1 ) return false;
    if ( strNumbers.indexOf( strString.charAt( 2 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 3 ) ) == -1 && strNumbers.indexOf( strString.charAt( 3 ) ) == -1 ) return false;
    if ( strString.charAt( 4 ) != ' ' ) return false;
    if ( strNumbers.indexOf( strString.charAt( 5 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 6 ) ) == -1 ) return false;
    if ( strCharacters.indexOf( strString.charAt( 7 ) ) == -1 ) return false;
  }
  
  return true;
}

function DivDisplay( objDivName, action ) {
  if(null == objDivName) {return;}
  if ( action == "show" ) {
    objDivName.style.display = "";
  } else {
    objDivName.style.display = "none";
  }
}

function CheckStep1() {
  var strColor = "#FF0000";
  var bError = true;
  var strErrorMessage = "";
  var LastMsg = false;
 
//  var aFields = new Array ("strTitle", "strFirstName", "strLastName", "strEmail", "lDOB", "lMOB", "lYOB", "strAddress1", "strTown", "strRegion", "strCountry", "strPostCode", "strYourStory");
//  for (var i=0; i<aFields.length; i++ ){
//	  var obj = GetCorrectObject( aFields[i]);
//	  if (null != obj){
//		  obj.style.background = "#9FCAFD";
//	  }
//  }
//GetCorrectObject( "Message" ).style.color = "#000000";
//GetCorrectObject( "Email" ).style.color = "#000000";
//GetCorrectObject( "Title" ).style.color = "#000000";
//GetCorrectObject( "FirstName" ).style.color = "#000000";
//GetCorrectObject( "LastName" ).style.color = "#000000";
//GetCorrectObject( "Address1" ).style.color = "#000000";
//GetCorrectObject( "Address2" ).style.color = "#000000";
//GetCorrectObject( "County" ).style.color = "#000000";
//GetCorrectObject( "Country" ).style.color = "#000000";
//GetCorrectObject( "Postcode" ).style.color = "#000000";
  
  if ( ! CheckEmailAddress( GetCorrectObject( "strEmail" ).value ) ) {
//    GetCorrectObject( "Email" ).style.color = strColor;
    bError = false;
	strErrorMessage = "Please enter a valid E-Mail address"
	LastMsg = true;
  }

  if ( Trim( GetCorrectObject( "strTitle" ).value ) == '' ) {
//    GetCorrectObject( "Title" ).style.color = strColor;
    bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please select your Title";
	 LastMsg= true;
	}
  }
  if ( Trim( GetCorrectObject( "strFirstName" ).value ) == '' ) {
//   GetCorrectObject( "FirstName" ).style.color = strColor;
    bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please enter your First Name";
 	 LastMsg= true;
	}
  }
  if ( Trim( GetCorrectObject( "strLastName" ).value ) == '' ) {
//    GetCorrectObject( "LastName" ).style.color = strColor;
    bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please enter your Last Name";
	 LastMsg= true;
	}
  }


  if ( Trim( GetCorrectObject( "strAddress1" ).value ) == '' ) {
//    GetCorrectObject( "Address1" ).style.color = strColor;
      bError = false;
	  if(!LastMsg){
	 strErrorMessage = "Please enter your Address Line 1";
 	 LastMsg= true;
	}
  }

  if ( Trim( GetCorrectObject( "strAddress2" ).value ) == '' ) {
//    GetCorrectObject( "Address2" ).style.color = strColor;
      bError = false;
	  if(!LastMsg){
	 strErrorMessage = "Please enter your Address Line 2";
	 LastMsg= true;
	}
  }

if ( Trim( GetCorrectObject( "strCity" ).value ) == '' ) {
//    GetCorrectObject( "strCity" ).style.color = strColor;
      bError = false;
	  if(!LastMsg){
	 strErrorMessage = "Please enter your Town/City";
	 LastMsg= true;
	}
  }  
//  if ( Trim( GetCorrectObject( "strCounty" ).value ) == '' ) {
//    GetCorrectObject( "County" ).style.color = strColor;
//    bError = false;
//	if(!LastMsg){
//	 strErrorMessage = "Please enter your County";
// 	 LastMsg= true;
//	}
//  }
  
  if ( Trim( GetCorrectObject( "strCountry" ).value ) == '' ) {
//    GetCorrectObject( "Country" ).style.color = strColor;
    bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please select your Country";
	 LastMsg= true;
	}
  }
 
  
  if ( Trim( GetCorrectObject( "strCountry" ).value ) == 'UK' ) {
    if ( ! CheckPostCode_UK( GetCorrectObject( "strPostcode" ).value ) ) {
//      GetCorrectObject( "Postcode" ).style.color = strColor;
      bError = false;
	  if(!LastMsg){
	 strErrorMessage = "Please enter your Postcode";
	 LastMsg= true;
	}
    }
  }

 if(!bError)
	{
	 GetCorrectObject( "bolderror" ).innerHTML = strErrorMessage;
	 DivDisplay( GetCorrectObject( "bolderror" ), 'show' );
	}
   return bError;
 }

function SubmitForm() {
	if ( CheckStep1() ) {
	createCookie( 'refresh_fname', document.getElementById("strFirstName").value, 100 );
    createCookie( 'refresh_lname', document.getElementById("strLastName").value, 100 );
    //createCookie( 'refresh_email', document.getElementById("strEmail").value, 100 );
    GetCorrectObject( "FormData" ).submit();
	return true;
  }
 return false;
  
 }


function CheckStep2() {
  var strColor = "#FF0000";
  var bError = true;
  var strErrorMessage = "";
  var LastMsg = false;

  var friend1Found = false;
  var friend2Found = false;
  var friend3Found = false;
  var friend4Found = false;
  var friend5Found = false;
 

  if ( Trim( GetCorrectObject( "first" ).value ) == '' ) {
    bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please enter your First Name";
	 LastMsg= true;
	}
  }
  if ( Trim( GetCorrectObject( "last" ).value ) == '' ) {
    bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please enter your Last Name";
 	 LastMsg= true;
	}
  }

  if ( Trim( GetCorrectObject( "email" ).value ) == '' ) {
    	bError = false;
	if(!LastMsg){
	 strErrorMessage = "Please enter your E-Mail address";
 	 LastMsg= true;	 
	}	
  } else {
  	if ( ! CheckEmailAddress( GetCorrectObject( "email" ).value ) ) {
    		bError = false;
		strErrorMessage = "Please enter a valid E-Mail address"
		LastMsg = true;
		GetCorrectObject( "email" ).style.color = strColor;
  	} else {
		GetCorrectObject( "email" ).style.color = "#000000";
	}
  }

if(bError) {
  if ( Trim( GetCorrectObject( "femail1" ).value ) != '' ) {
    friend1Found = true;
  } 
  if ( Trim( GetCorrectObject( "feamil2" ).value ) != '' ) {
    friend2Found = true;
  } 
  if ( Trim( GetCorrectObject( "feami3" ).value ) != '' ) {
    friend3Found = true;
  } 
  if ( Trim( GetCorrectObject( "femail4" ).value ) != '' ) {
    friend4Found = true;
  } 
  if ( Trim( GetCorrectObject( "femail5" ).value ) != '' ) {
    friend5Found = true;
  } 

  if(!friend1Found && !friend2Found && !friend3Found && !friend4Found && !friend5Found) {
	bError = false;
	if(!LastMsg){
	 	strErrorMessage = "Please enter at least one of your friends' E-Mail address";
 	 	LastMsg= true;
	}
  } else {

  if (friend1Found && ! CheckEmailAddress( GetCorrectObject( "femail1" ).value ) ) {
    	bError = false;
	strErrorMessage = "Please enter a valid E-Mail address "
	LastMsg = true;
	GetCorrectObject( "femail1" ).style.color = strColor;
  }

  if (friend2Found && ! CheckEmailAddress( GetCorrectObject( "feamil2" ).value ) ) {
    	bError = false;
	strErrorMessage = "Please enter a valid E-Mail address"
	LastMsg = true;
	GetCorrectObject( "femail2" ).style.color = strColor;
  }

  if (friend3Found && ! CheckEmailAddress( GetCorrectObject( "feami3" ).value ) ) {
    	bError = false;
	strErrorMessage = "Please enter a valid E-Mail address"
	LastMsg = true;
	GetCorrectObject( "feami3" ).style.color = strColor;
  }

  if (friend4Found && ! CheckEmailAddress( GetCorrectObject( "femail4" ).value ) ) {
    	bError = false;
	strErrorMessage = "Please enter a valid E-Mail address"
	LastMsg = true;
	GetCorrectObject( "femail4" ).style.color = strColor;
  }

  if (friend5Found && ! CheckEmailAddress( GetCorrectObject( "femail5" ).value ) ) {
    	bError = false;
	strErrorMessage = "Please enter a valid E-Mail address"
	LastMsg = true;
	GetCorrectObject( "femail5" ).style.color = strColor;
  }
  }
}

 	if(!bError)
	{
	 GetCorrectObject( "bolderror1" ).innerHTML = strErrorMessage;
	 GetCorrectObject( "bolderror1" ).style.color = strColor;
	 DivDisplay( GetCorrectObject( "bolderror" ), 'show' );
	} else {
	 DivDisplay( GetCorrectObject( "bolderror" ), 'hide' );
	}
   return bError;
 }

function SubmitSendToAFriendForm() {
	if ( CheckStep2() ) {
		//createCookie( 'refresh_fname', document.getElementById("strFirstName").value, 100 );
    		//createCookie( 'refresh_lname', document.getElementById("strLastName").value, 100 );
    		//createCookie( 'refresh_email', document.getElementById("strEmail").value, 100 );
    		GetCorrectObject("MailToAFriend").submit();
		return true;
  	}
 	return false;
  
 }

