<!--
//trim string

String.prototype.trim = function ()
{
  return this.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

var sGlobalErrorMessage = 'Please complete the box(es) marked in red';

// preload popup layer images

var aImages = new Array(
	// login layer
	'popup_login_top.gif', 'popup_login_middle.gif', 'popup_login_bottom.gif', 'btn_login_beige.gif',
	// error layer
	'popup_error_top.gif', 'popup_error_middle.gif', 'popup_error_bottom.gif',
	// email to friend layer
	'popup_email_top.gif', 'popup_email_middle.gif', 'popup_email_bottom.gif',
	// wishlist login layer
	'popup_wishlist_top.gif', 'popup_wishlist_strip.gif', 'popup_wishlist_bottom.gif',
	// add to basket layer
	'popup_basket_top.gif', 'popup_basket_middle.gif', 'popup_basket_bottom.gif',
	// high load messaging
	'customernotice_box_top.gif', 'customernotice_box_mod.gif', 'customernotice_box_bottom.gif', 'login_checkout.gif'
);

for(i = 0; i < aImages.length; i++)
{
	eval("var thisImage_"+i+" = new Image();");
	eval("var thisSource_"+i+"= 'img/' + aImages[i];");
	eval("thisImage_"+i+".src = thisSource_"+i+";");
}

function ValidateForm(oForm, sSuffix, sClrReset)
{

	var sError = '';
	var aErrorFields = new Array();
	var oEmailRegex = /^.+?@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/;
	var oDateRegex = /^[0-9]{2}\-[0-9]{2}\-[0-9]{4}$/;
	var oIntegerRegex = /^[0-9]+$/;
	var oFloatRegex = /^[0-9]+\.*[0-9]*$/;
	var oPassRegex = /^[a-zA-Z0-9]{6,20}$/;
	var oUsernameRegex = /^[a-zA-Z0-9_]{2,20}$/;
  	var oUser_nameRegex = /^[a-zA-Z\s]{2,50}$/;
	var oUrlRegex = /^http(s)?:\/\/[^\s]*$/i;
	var oTelnoRegex = /^[0-9 ()+]{5,16}$/; // Allows 0-9, +, (, ) and space - accepts mobile and international numbers, 5 - 20 chars
	var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?[0-9][A-Za-z]{2}$/;

	for(i=0; i< oForm.length; i++)
	{
		var bDoCheck = true;

		sName = oForm.elements[i].name.replace('_',' ');
		sType = oForm.elements[i].type;
		sValue = oForm.elements[i].value;

		if(sType == 'submit' || sType == 'reset' || sType == 'hidden' || sType == 'image')
			bDoCheck = false;
		else if(sName.charAt(0) == 'U')
			bDoCheck = false;
		else if(sName.charAt(0) == 'C')
		{
			sName = sName.substring(1);
			//Ignore if empty
			if(sValue.trim() == '')
				bDoCheck = false;
		}

		if(bDoCheck)
		{
			//alert('Checking '+sName+' Value: '+sValue);
			if(sName == 'title')
			{
				if(oForm.title.value == 'Other' && !oForm.Utitle_other.value)
				{
					sError = 'Please enter an alternative title'+sSuffix+'</br>';
					aErrorFields.push('UotherTitle');
					continue;
				}

				if(!oForm.title.value && sError == '')
				{
					sError += 'Please select a title'+sSuffix+'</br>';
					aErrorFields.push('title');
				}
			}
			else if(sName == 'delivery option')
			{
				sChecked = 0;
				for(p=0;p<oForm.delivery_option.length;p++)
				{
					if(oForm.delivery_option[p].checked) sChecked++;
				}
				if(sChecked == 0)
				{
					iAlreadyThere = 0;
					for(r=0;r<aErrorFields.length;r++)
					{
						if(aErrorFields[r] == 'delivery_option') iAlreadyThere = 1;
					}
					if(iAlreadyThere != 1)
					{
						sError += 'Please select a delivery option<br/>';
						aErrorFields.push(oForm.elements[i].name);
					}
				}
			}
			else if(( sType == 'select-one' || sType == 'select-multiple') && sName != 'title')
			{
				if(!sValue)
				{
					sError += 'Please select a '+sName+' '+sSuffix+'</br>';
					aErrorFields.push(oForm.elements[i].name);
				}
			}
			else if(sName.charAt(0) == 'E' && !oEmailRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName.charAt(0) == 'D' && !oDateRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName.charAt(0) == 'I' && !oIntegerRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName.charAt(0) == 'F' && !oFloatRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName.charAt(0) == 'N' && !oUsernameRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName.charAt(0) == 'P' && !oPassRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName.charAt(0) == 'T' && !oTelnoRegex.test(sValue))
			{
				sError += 'Please enter a valid '+sName.substring(1)+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(sName == 'postcode' && !oPostCodeRegex.test(sValue))
			{
				sError += 'Please enter a valid UK or NI postcode</br>';
				aErrorFields.push(oForm.elements[i].name);
			}
			else if(!sValue || sValue.trim() == '')
			{
				//alert('no value');
				if(oForm.elements[i].name == 'address_line_1') sName = 'house name or number';
				if(oForm.elements[i].name == 'address_line_3') sName = 'town / city';
				sError += 'Please enter a '+sName+'</br>';
				aErrorFields.push(oForm.elements[i].name);
			}

		}
	}

	if(sError == '')

		return true;
	else
	{

		if(aErrorFields.length > 3) sError = sGlobalErrorMessage;

		sFirstField = HighlightFields(oForm, aErrorFields, sClrReset);

		ShowErrorLayer(sError, sFirstField);

		return false;
	}

}

function ValidateThisWishListForm(oForm)
					{
						sError = '';
						var aErrorFields = new Array();

						oDate = new Date();
						if(oForm.date_mm.value > oDate.getMonth()) sInputtedYear = oDate.getFullYear();
							else sInputtedYear = oDate.getFullYear()+1;
						iThisMonth = oDate.getMonth()+1;
						oInputtedDate = new Date(sInputtedYear, oForm.date_mm.value-1, oForm.date_dd.value);
						iCutOffDateInMilliseconds = oDate.getTime() + (1000 * 60 * 60 * 24 * 28);
						iInputtedDateInMilliseconds = oInputtedDate.getTime();
						oCutOffDate = new Date(iCutOffDateInMilliseconds);
						oInputtedDate = new Date(iInputtedDateInMilliseconds);

						sDateStr = new String();

						sDateStr = oForm.date_dd.value + '/' + oForm.date_mm.value + '/' + sInputtedYear;
						//alert(sDateStr);

						if(!isDate(sDateStr))
						{
							sError += 'Please enter a valid date<br/>';
							aErrorFields.push('date_dd');
							aErrorFields.push('date_mm');
						}
						else if(oInputtedDate < oCutOffDate)
						{
							sError += 'Please enter a date at least 28 days in the future<br/>';
							aErrorFields.push('date_dd');
							aErrorFields.push('date_mm');
						}
						else if(!oForm.date_dd.value || !oForm.date_mm.value )
						{
							sError += 'Please enter a reminder date<br/>';
							aErrorFields.push('date_dd');
							aErrorFields.push('date_mm');
						}
						if(!oForm.occasion.value || oForm.occasion.value == '--')
						{
							sError += 'Please select an event<br/>';
							aErrorFields.push('occasion');
						}
						if(sError == '')
						{
							return true;
						}
						else
						{
							ShowErrorLayer(sError, 'date_dd');
							return false;
						}
					}


function ValidateBbcForm(oForm, sSuffix, iPrim)
{
		var sError = '';
		var aErrorFields = new Array();

		var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?([0-9][A-Za-z]{2})?$/;

		if(!oForm.child_firstname_1.value)
		{
			sError += 'Please enter the child\'s name<br/>';
			aErrorFields.push('child_firstname_1');
		}
		sDateStr = new String();
		sDateStr = oForm.dob_dd_1.value + '/' + oForm.dob_mm_1.value + '/' + oForm.dob_yyyy_1.value;
		if((oForm.dob_dd_1.value && oForm.dob_mm_1.value && oForm.dob_yyyy_1.value) && !isDate(sDateStr))
		{
			sError += 'Please enter a valid date of birth';
			aErrorFields.push('date_dd');
			aErrorFields.push('date_mm');
		}
		if(!oForm.dob_dd_1.value || !oForm.dob_mm_1.value || !oForm.dob_yyyy_1.value)
		{
			sError += 'Please enter the child\'s date of birth<br/>';
			aErrorFields.push('dob_dd_1');
			aErrorFields.push('dob_mm_1');
			aErrorFields.push('dob_yyyy_1');
		}
		if(!oForm.female_1.value)
		{
			sError += 'Please enter the child\'s gender<br/>';
			aErrorFields.push('female_1');
		}
		if(!oForm.relationship_1.value)
		{
			sError += 'Please enter your relationship to the child<br/>';
			aErrorFields.push('relationship_1');
		}
		if( !oForm.email_1.checked && !oForm.post_1.checked )
		{
			sError += 'Please choose a contact preference<br/>';
			aErrorFields.push('email');
			aErrorFields.push('post');
		}
		//alert(iPrim);
		if(iPrim == 0)
		{
			if(document.getElementById('BbcAddressForm').style.display == 'block') // and the address form is visible
			{
				if(!oForm.first_name.value)
				{
					sError += 'Please enter a first name<br/>';
					aErrorFields.push('first_name');
				}
				if(!oForm.last_name.value)
				{
					sError += 'Please enter a last name<br/>';
					aErrorFields.push('last_name');
				}
				if(!oForm.address_line_1.value)
				{
					sError += 'Please enter a house name or number<br/>';
					aErrorFields.push('address_line_1');
				}
				if(!oForm.address_line_3.value)
				{
					sError += 'Please enter a town / city<br/>';
					aErrorFields.push('address_line_3');
				}
				if(!oPostCodeRegex.test(oForm.postcode.value))
				{
					sError += 'Please enter a valid UK or NI postcode<br/>';
					aErrorFields.push('postcode');
				}
			}
		}
		if(sError == '')
			return true;
		else
		{
			if(aErrorFields.length > 3) sError = sGlobalErrorMessage;
			sFirstField = HighlightFields(oForm, aErrorFields);
			ShowErrorLayer(sError, sFirstField);
			return false;
		}
	}


function ValidateChildForm(oForm)
{

	sError = '';
	var aErrorFields = new Array();
	if(!oForm.child_firstname_1.value)
	{
		sError += 'Please enter a first name for this child</br>';
		aErrorFields.push(oForm.child_firstname_1.name);
	}
	if(!oForm.dob_dd_1.value || !oForm.dob_mm_1.value || !oForm.dob_yyyy_1.value)
	{
		sError += 'Please enter a date of birth for this child</br>';
		aErrorFields.push(oForm.dob_dd_1.name);
	}
	if(!oForm.female_1.value)
	{
		sError += 'Please enter the gender of this child</br>';
		aErrorFields.push(oForm.female_1.name);
	}
	if(!oForm.relationship_1.value)
	{
		sError += 'Please enter your relationship to this child</br>';
		aErrorFields.push(oForm.relationship_1.name);
	}

	if(oForm.dob_dd_1)
	{
		if(oForm.dob_dd_1.value && oForm.dob_mm_1.value && oForm.dob_yyyy_1.value)
		{
			if(oForm.dob_dd_1.value < 10) date_day = '0'+oForm.dob_dd_1.value
				else date_day = oForm.dob_dd_1.value;
			if(oForm.dob_mm_1.value < 10) date_month = '0'+oForm.dob_mm_1.value
				else date_month = oForm.dob_mm_1.value;
			if(oForm.dob_yyyy_1.value < 10) date_year = '0'+oForm.dob_yyyy_1.value
				else date_year = oForm.dob_yyyy_1.value;
			dt = date_day + '/' + date_month + '/' + date_year;
			if(!isDate(dt)) sError += 'Please enter a valid date</br>';
			aErrorFields.push(oForm.dob_dd_1.name);
		}
	}

	if(sError == '')
	{
		return true;
	}
	else
	{
		if(aErrorFields.length > 3) sError = sGlobalErrorMessage;
		sFirstField = HighlightFields(oForm, aErrorFields);
		ShowErrorLayer(sError, sFirstField);
		return false;
	}
}

function ValidateWishListForm(oForm, iLoginState)
{
	var aErrorFields = new Array();
	sError = '';
	if(iLoginState == 0)
	{
		if(!oForm.Wishlist_name.value) sError += 'Please enter a wish list name</br>';
		aErrorFields.push(oForm.Wishlist_name.name);
		if(!oForm.Euser_email.value) sError += 'Please enter your email address</br>';
		aErrorFields.push(oForm.Euser_email.name);
		if(!oForm.password.value) sError += 'Please enter your password</br>';
		aErrorFields.push(oForm.password.name);
	}
	else if(iLoginState == 1)
	{
		if(!oForm.Wishlist_name.value && !oForm.w.value)
		{
			sError += 'Please enter a wish list name or choose an existing wish list</br>';
			aErrorFields.push(oForm.Wishlist_name.name);
		}
		if(!oForm.Euser_email.value)
		{
			sError += 'Please enter your email address</br>';
			aErrorFields.push(oForm.Euser_email.name);
		}
		if(!oForm.password.value)
		{
			sError += 'Please enter your password</br>';
			aErrorFields.push(oForm.password.name);
		}
	}
	else if(iLoginState == 2)
	{
		if(!oForm.Wishlist_name.value && !oForm.Wishlist_name.value) sError += 'Please enter a wish list name or choose an existing wish list\n';
		aErrorFields.push(oForm.Wishlist_name.name);
	}


	if(sError == '')
	{
		return true;
	}
	else
	{
		if(aErrorFields.length > 3) sError = sGlobalErrorMessage;
		sFirstField = HighlightFields(oForm, aErrorFields);
		ShowErrorLayer(sError, sFirstField);
		HighlightFields(oForm, aErrorFields);
		return false;
	}
}



function validateSignUpBbcForm(oForm)
{
		var sError = '';
		var aErrorFields = new Array();

		var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?([0-9][A-Za-z]{2})?$/;




		if (!oForm.child_name.value) {
				sError += 'Please enter the child\'s name<br/>';
				aErrorFields.push('child_name');
		}

		if (document.getElementById('child_dob_day').value == '--' || document.getElementById('child_dob_month').value == '--'|| document.getElementById('child_dob_year').value == '--') {
			sError += 'Please select a date of birth<br/>';
			aErrorFields.push('child_dob');
			document.getElementById('T_child_dob').style.color = '#FF0000';
		}


		if (oForm.bbc_email.checked != true && oForm.bbc_post.checked != true) {
				sError += 'Please select a contact preference<br/>';
				aErrorFields.push('contact_bbc');
				document.getElementById('T_contact_bbc').style.color = '#FF0000';
		}


		if (oForm.bbc_post.checked == true) {
			// check the address fields
			if (!oForm.address_line_1.value) {
				sError += 'Please enter your address line 1<br/>';
				aErrorFields.push('address_line_1');
			}
			if (!oForm.town_or_city.value) {
				sError += 'Please enter your town or city<br/>';
				aErrorFields.push('town_or_city');
			}

			if (!oForm.postcode.value) {
				sError += 'Please enter postcode<br/>';
				aErrorFields.push('postcode');
			}
		}


		if(sError == '') {
			return true;
		}
		else {
			if(aErrorFields.length > 3) sError = sGlobalErrorMessage;
			sFirstField = HighlightFields(oForm, aErrorFields);
			ShowErrorLayer(sError, sFirstField);
			HighlightFields(oForm, aErrorFields, '#3181a4');
			return false;
		}

}






function validateSignUpFKForm(oForm, validate_contact_checkboxes)
{

		var sError = '';
		var aErrorFields = new Array();

		var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?([0-9][A-Za-z]{2})?$/;



		if (!oForm.child_name.value) {
			sError += 'Please enter the child\'s name<br/>';
			aErrorFields.push('child_name');
			document.getElementById('T_child_name').style.color = '#FF0000';
		}

		if (document.getElementById('child_dob_day').value == '--' || document.getElementById('child_dob_month').value == '--'|| document.getElementById('child_dob_year').value == '--') {
			sError += 'Please select a date of birth<br/>';
			aErrorFields.push('child_dob');
			document.getElementById('T_child_dob').style.color = '#FF0000';
		}


		if(validate_contact_checkboxes) {

			if (oForm.fk_email.checked != true && oForm.fk_post.checked != true) {
					sError += 'Please select a contact preference<br/>';
					aErrorFields.push('contact_bbc');
					document.getElementById('T_contact_bbc').style.color = '#FF0000';
			}

		}

		if (oForm.fk_post.checked == true) {
			// check the address fields
			if (!oForm.address_line_1.value) {
				sError += 'Please enter your address line 1<br/>';
				aErrorFields.push('address_line_1');
			}
			if (!oForm.town_or_city.value) {
				sError += 'Please enter your town or city<br/>';
				aErrorFields.push('town_or_city');
			}

			if (!oForm.postcode.value) {
				sError += 'Please enter postcode<br/>';
				aErrorFields.push('postcode');
			}
		}


		if(sError == '') {
			return true;
		}
		else {
			if(aErrorFields.length > 3) sError = sGlobalErrorMessage;
			sFirstField = HighlightFields(oForm, aErrorFields);
			ShowErrorLayer(sError, sFirstField);
			HighlightFields(oForm, aErrorFields, '#3181a4');
			return false;
		}

}



function ValidateBlockA(oForm)
{
	var sError = '';
	if(!oForm.age.value) sError += 'Please select an age range';
	if(!oForm.gender.value) sError += '<br>Please select a gender';
	if(sError == '')
	{
		return true;
	}
	else
	{
		ShowErrorLayer(sError);
		return false;
	}
}

function HighlightFields(oForm, aErrorFields, sClrReset)
{
	sReturn = '';
	for(m=0; m< oForm.length; m++)
	{
		sBrownTitle = 'T_' + oForm.elements[m].name;
		if(document.getElementById(sBrownTitle))
		{
			document.getElementById(sBrownTitle).style.color = (sClrReset)? sClrReset :'#554b30';
		}
		for(k=0; k<aErrorFields.length; k++)
		{
			if(oForm.elements[m].name == aErrorFields[k]) // if this element has an error
			{
				oForm.elements[m].style.backgroundColor = '#EEEEFF';
				sFieldTitle = 'T_' + aErrorFields[k];
				if (document.getElementById(sFieldTitle)) {
					thisField = document.getElementById(sFieldTitle);
					thisField.style.color = '#FF0000';
					if(k == 0)
					{
						urlString = window.location + '';
						sFileName = urlString.substr(urlString.lastIndexOf('/'));
						if( sFileName != '/ManageBbc.php' && sFileName != '/BbcHome.php' && sFileName != '/RegisterBbc.php?t=1' )
						{
							oForm.elements[m].focus();
						}
						sReturn = oForm.elements[m].name;
					}
				}
			}
		}
	}
	return sReturn
}

function unhighlight(){}

var tlPop = null;
var imgPop = null;


//open pop-up window
function openPop(winPop, winName, url, popWidth, popHeight, scrolling){

  if (scrolling === true) scrolling = 'yes';

  var leftPos = (screen.availWidth - popWidth) / 2;
  var rightPos = (screen.availHeight - popHeight) / 2;

  var details = "height=" + popHeight + ",width=" + popWidth + ",left=" + leftPos + ",top=" + rightPos + ",status=no,resizable=yes,titlebar=no,toolbar=no,location=no,scrollbars=yes,directories=no";

  if (winPop && winPop.open && !winPop.closed){
    winPop.resizeTo(popWidth, popHeight);				//only works in IE
    winPop.location = url;
    winPop.focus();
  }
  else {
    winPop = window.open(url, winName, details);
    winPop.focus();
  }
  return winPop;
}


//close pop-up window
function closePop(winPop){
  if (winPop && winPop.open && !winPop.closed){
    winPop.close();
  }
}


//view img
function viewImg(imgSrc, pathToViewer, width, height, bg) {

   var imgPop, viewUrl, pop_w, pop_h;
   viewUrl  = (pathToViewer) ? pathToViewer : '';
   viewUrl += 'view_img.php?image=' + escape(imgSrc);
   viewUrl += (bg) ? ('&bg=' + escape(bg)) : '';
   pop_w	= (width)? width + 20 : 300;
   pop_h	= (height)? height + 20 : 300;
   openPop(imgPop, 'imgPop', viewUrl, pop_w, pop_h, false);
   return false;

}


function ChangeCssRule(modStyleSheet, modSelector, modProperty, newValue) {

   var strCSS = (document.all) ? 'rules' : 'cssRules';
   var modRule;
   var i = 0;

   var modRules = modStyleSheet[strCSS];

   while (modRule = modRules[i]) {
      if (modRule.selectorText == modSelector) {
         modRule.style[modProperty] = newValue;
         break;
      } else {
         i++;
      }
   }
}


/*
Date Validation script. Courtesy of SmartWebby.com (www.smartwebby.com/dhtml/)
*/

// Declare valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s)
{
	var i;
  for (i = 0; i < s.length; i++){
      // Check that current character is number.
      var c = s.charAt(i);
      if (((c < "0") || (c > "9"))) return false;
  }
  // All characters are numbers.
  return true;
}

function stripCharsInBag(s, bag)
{
	var i;
  var returnString = "";
  // Search through string's characters one by one.
  // If character is not in bag, append to returnString.
  for (i = 0; i < s.length; i++){
      var c = s.charAt(i);
      if (bag.indexOf(c) == -1) returnString += c;
  }
  return returnString;
}

function daysInFebruary (year)
{
	// February has 29 days in any year evenly divisible by four,
  // EXCEPT for centurial years which are not also divisible by 400.
	return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n)
{
	for (var i = 1; i <= n; i++) {
		this[i] = 31;
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}
		if (i==2) {this[i] = 29;}
	}
	return this;
}

function isDate(dtStr)
{
	var daysInMonth = DaysArray(12);
	var pos1=dtStr.indexOf(dtCh);
	var pos2=dtStr.indexOf(dtCh,pos1+1);
	var strDay=dtStr.substring(0,pos1);
	var strMonth=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);
	strYr=strYear;
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	if (pos1==-1 || pos2==-1){
		//alert("The date format should be : dd/mm/yyyy");
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		//alert("Please enter a valid month "+month);
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		//alert("Please enter a valid day");
		return false;
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		//alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear);
		return false;
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		//alert("Please enter a valid date");
		return false;
	}
	return true;
}

function nowGbDate() {
   var nowDate = new Date();
   var nowD = new String(nowDate.getDate());
   var nowM = new String(nowDate.getMonth() + 1);
   var nowY = new String(nowDate.getYear());
   var dateReturn = '';
   dateReturn += (nowD.length == 1) ? ('0' + nowD) : nowD;
   dateReturn += dtCh + ((nowM.length == 1) ? ('0' + nowM) : nowM);
   dateReturn += dtCh + nowY;
   return dateReturn;

}


function checkSearch(fieldvalue, box)
{
	if(!box) box = 'searchbox';
	var currentval = document.getElementById(box).value;
	if (currentval == fieldvalue) {
		//alert('Please enter a search term');
		ShowErrorLayer('Please enter a search term', 'words');
		return false;
	}
	else {
		return true;
	}
}

function CheckForChristmas()
	{
		if(document.WishListForm.occasion.value == 'Christmas')
		{
			document.WishListForm.date_dd.value = '25';
			document.WishListForm.date_mm.value = '12';
		}
	}

//************************ LAYERS **************************

function showLoginLayer(redirect, email)
{
	if (email) {
		document.getElementById('popupEmailInput').value=email;
	}

	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	layer = document.getElementById('LoginLayer');
	layer.style.display = 'block';
	if(redirect)document.LoginForm.sRedirect.value = redirect;
	inp = document.getElementById('popupEmailInput');
	if (inp.value) {
		document.getElementById('popupPasswordInput').focus();
	}
	else {
		inp.focus();
	}
	if (document.getElementById('ErrorLayer').style.display='block') {
		hideLayer('ErrorLayer');
	}
	PositionLayer('LoginLayer');
	//ShowErrFrame('LoginLayer');

	if (document.getElementById('voucherAlertMiddle')) {
		hideVoucherLayer();
	}


}

function showBbcLoginLayer(redirect, email)
{
	if (email) {
		document.getElementById('popupEmailInput').value=email;
	}

	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;

	layer = document.getElementById('BbcLoginLayer');
	layer.style.display = 'block';
	if(redirect)document.BbcLoginForm.sRedirect.value = redirect;
	inp = document.getElementById('popupEmailInput');

	if (document.getElementById('ErrorLayer').style.display='block') {
		hideLayer('ErrorLayer');
	}
	PositionLayer('BbcLoginLayer');

	if (inp.value) {
		document.getElementById('popupPasswordInput').style.display = 'block';
		document.BbcLoginForm.popupPasswordInput.focus();
	}
	else {
		inp.focus();
	}

	if (document.getElementById('voucherAlertMiddle')) {
		hideVoucherLayer();
	}


}

function showLoginOutLayer(redirect, sLoginMessage)
{
	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	if(sLoginMessage) document.getElementById('loginOutMessage').innerHTML = '<p>'+sLoginMessage+'</p>';
		else
			document.getElementById('loginOutMessage').innerHTML = '';
	layer = document.getElementById('LoginOutLayer');
	layer.style.display = 'block';
	if(redirect)document.LoginForm.sRedirect.value = redirect;
	inp = document.getElementById('popupEmailInput2');
	inp.focus();
	PositionLayer('LoginOutLayer');
	//ShowErrFrame('LoginOutLayer');
}

function showEmailOffersLayer()
{
	layer = document.getElementById('emailOffersLayer');
	layer.style.display = 'block';
	PositionLayer('emailOffersLayer');
	//ShowErrFrame('emailOffersLayer');
}


function hideEmailOffersLayer()
{
	layer = document.getElementById('emailOffersLayer');
	layer.style.display = 'none';
	document.getElementById('errorFrame').style.display = 'none';
}

function doOfferLoginLayer()
{
	document.getElementById('emailOffersLayer').style.display='none';
	document.getElementById('redirect_name').value='YourDetails.php#optins';
	showLoginLayer();

}

function closeWarnTrafficLayer()
{
	layer = document.getElementById('warnTrafficLayer');
	layer.style.display = 'none';
	document.getElementById('warnTrafficFrame').style.display = 'none';
	//alert(document.getElementById('errorLayer').style.display);
}

function showWishListLoginLayer()
{
	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	layer = document.getElementById('WishListLoginLayer');
	layer.style.display = 'block';
	inp = document.getElementById('WishListLoginEmailInput');
	inp.focus();
	PositionLayer('WishListLoginLayer');
	//ShowErrFrame('WishListLoginLayer');
}

function showDupEmailLayer()
{
	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	layer = document.getElementById('DupEmailLayer');
	layer.style.display = 'block';
	inp = document.getElementById('DupEmailInput');
	inp.focus();
	PositionLayer('DupEmailLayer');
	//ShowErrFrame('WishListLoginLayer');
}



function ShowErrorLayer(sError, sFirstField)
{
	var IE = document.all?true:false;
	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	layer = document.getElementById('ErrorLayer');
	sError = sError.replace('\n','</br>');
	sMessage = document.getElementById('ErrorMessage');
	sMessage.innerHTML = sError;
	sStoreField = document.getElementById('hiddenField');
	sStoreField.innerHTML = sFirstField;
	layer.style.display = 'block';
	PositionLayer('ErrorLayer');
	//ShowErrFrame('ErrorMessage');
}

function hideBasketLayer()
{
	document.getElementById('BasketLayer').style.display = 'none';
}

function ShowHideBbcForm()
{
	if(document.getElementById('post')) {
		if (document.getElementById('post').checked == true) {
			ShowBbcForm();
		}
		else {
			HideBbcForm();
		}
	}

}

function ShowBbcForm()
{
	var el = document.getElementById('BbcAddressForm');
	el.style.display = "block";
	if (document.getElementById('bbc_baby_signup')) {
		document.getElementById('bbc_baby_signup').style.display = "none";

		document.getElementById('signupBoxBottom').style.display='none';
		document.getElementById('signupBoxBottomWithout').style.display='block';
	}

}

function HideBbcForm()
{
	var el = document.getElementById('BbcAddressForm');
	el.style.display = "none";
	if (document.getElementById('bbc_baby_signup')) {
		document.getElementById('bbc_baby_signup').style.display='block';

		document.getElementById('signupBoxBottom').style.display='block'
		document.getElementById('signupBoxBottomWithout').style.display='none';
	}

}

function ShowForm(obj)
{
	var el = document.getElementById(obj);
	el.style.display = "block";
}

function HideForm(obj)
{
	var el = document.getElementById(obj);
	el.style.display = "none";
}

function ShowVoucherLayer(sError, sFirstField)
{
	var layer = document.getElementById('voucherAlert');
	layer.style.display = 'block';
	PositionLayer('voucherAlert');
	//ShowErrFrame('voucherAlert');
}

function hideVoucherLayer()
{
	var layer = document.getElementById('voucherAlert');
	layer.style.display = 'none';
}

function ShowEmailAvailableLayer(product_id)
{
	document.getElementById('email_product_id').value=product_id;
	var el = document.getElementById('AvailableLayer');
	el.style.display = "block";
	PositionLayer('AvailableLayer');
	//ShowErrFrame('emailAvailableLayer');
}

function ShowEmailLayer()
{
	var el = document.getElementById('EmailLayer');
	el.style.display = "block";
	PositionLayer('EmailLayer');
	//ShowErrFrame('EmailLayer');
}

function ShowBbcNoLayer()
{
	var el = document.getElementById('BbcNoLayer');
	el.style.display = "block";
	PositionLayer('BbcNoLayer');
}

function ShowSavedOrdersLayer()
{
	var el = document.getElementById('savedordersLayer');
	el.style.display = "block";
	PositionLayer('savedordersLayer');
}

function ShowSaveOrderLayer(printquote)
{
	var el = document.getElementById('saveorderLayer');
	if (printquote == 'print') {
		document.getElementById('print_quote').value = 'Y';
		document.saveorder.target='_blank';
	}
	el.style.display = "block";
	PositionLayer('saveorderLayer');
}

function ShowWhatsThisLayer()
{
	var el = document.getElementById('whatsthisLayer');
	el.style.display = "block";
	PositionLayer('whatsthisLayer');
}

function ShowConfirmLayer(sDestination, sMessage)
{
	PositionLayer('ConfirmLayer');
	document.getElementById('confirmMessage').innerHTML = sMessage;
	document.getElementById('destinationLink').href = sDestination;
	document.getElementById('ConfirmLayer').style.display = 'block';
	PositionLayer('ConfirmLayer');
	//ShowErrFrame('ConfirmLayer');
}

function PositionLayer(layerName)
{
    //alert('position layer fn');
	var IE = document.all?true:false;
	if(navigator.userAgent.indexOf('Netscape/7.0') != -1) var ns7 = true;
	layer = document.getElementById(layerName);

	if(IE)
	{
		layer.style.position = 'absolute';
		layer.style.top = document.body.parentNode.scrollTop + 300;
		layer.style.left = ( document.body.parentNode.clientWidth / 2 ) - 100;
		
	}
	else
	{
		var newTop = document.body.parentNode.scrollTop + 300;
		var newLeft = ( document.body.parentNode.clientWidth / 2 ) - 100;
		newTop += 'px';
		newLeft += 'px';
		layer.style.top = newTop;
		layer.style.left = newLeft;
		layer.style.display = 'block';
	}
	if(ns7)
	{
		sNetscapeLeft = (window.innerWidth / 2) - 100 + 'px';
		sNetscapeTop = window.pageYOffset + 300 + 'px';
		layer.style.left = sNetscapeLeft;
		layer.style.top = sNetscapeTop;
	}
	if(navigator.userAgent.indexOf('MSIE 5.5') != -1)
	{
		sIE5Left = (document.body.clientWidth / 2) - 100 + 'px';
		layer.style.left = sIE5Left;
	}
	
	
	
	if (document.getElementById('errorFrame')) {

		frame = document.getElementById('errorFrame'); // find iFrame to position behind layer to fix selects breaking layer.

		if(layerName == 'layerDiv')
		{
			var errorFrameTop = layer.style.top.substring(0, layer.style.top.indexOf('px')) - 0;
			var errorFrameLeft = layer.style.left.substring(0, layer.style.left.indexOf('px')) - 0;
			if(document.getElementById('BasketLayer'))
			{
				var errorFrameHeight = document.getElementById('BasketLayer').clientHeight - 0;
			}
			else
			{
				var errorFrameHeight = 120;
			}
			frame.style.top = errorFrameTop+5;
			frame.style.left = errorFrameLeft+5;
			frame.style.width = '265px';
			frame.style.height = errorFrameHeight - 19;
			frame.style.display = "block";
			frame.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		}
		else
		{

			frame.style.top = layer.style.top;
			frame.style.left = layer.style.left;
			frame.style.width = layer.offsetWidth;
			frame.style.height = layer.offsetHeight;
			frame.style.display="block";
			frame.style.filter='progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
			layer.style.zIndex = frame.style.zIndex + 1;
		}

	}


}

function hideLayer(layerName)
{
	document.getElementById(layerName).style.display = 'none';
	if(document.getElementById('errorFrame')) document.getElementById('errorFrame').style.display = 'none';
}

function CheckEnter(e, oForm)
{
	if(e && e.which)
	{ //if which property of event object is supported (NN4)
		e = e;
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else
	{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}

	if(characterCode == '13')
	{
		//alert('ok');
		//document.getElementById('LoginForm').submit();
		oForm.submit();
		return true;
	}
	else
	{
		return false;
	}
}

function doLoginLayerPersonalisation()
{

	var sError = '';
	if(!document.getElementById('age').value) sError += 'Please select an age range</br>';
	if(!document.getElementById('gender').value) sError += 'Please select a gender</br>';
	if(sError == '')
	{
		var sRedirect = 'Recommendations.php';
		sRedirect += '?age='+document.getElementById('age').value;
		sRedirect += '&gender='+document.getElementById('gender').value;
		sRedirect += '&filter=filter&type=user';
		//alert(sRedirect);
		showLoginLayer(sRedirect);
	}
	else
	{
		ShowErrorLayer(sError);
		//return false;
	}


}


// ************ CMS form checker ******************

	var iFormChanged = 0;

	function SetFormChanged()
	{
		iFormChanged = 1;
	}

	function CheckFormChanged()
	{
		if (iFormChanged == 1)
		{
			if(confirm('If you have saved your changes, click ok to continue. If not, click cancel and then click save before continuing.')) return true; else return false;
		}
		else
		{
			return true;
		}
	}

//*********************** AJAX ************************


function createRequestObject() {
  var ro;
  ro = window.XMLHttpRequest
       ? new XMLHttpRequest() :
         new ActiveXObject("Microsoft.XMLHTTP");
  return ro;
}

var http = createRequestObject();

function sndReq(action, path) {
	var sDate = new Date();
	var sTime = sDate.getMinutes() + '' + sDate.getSeconds() + '' + sDate.getMilliseconds();

  http.open('get', path+'order_product_remote.php?product_add='+action+'&product_time='+sTime);
  http.onreadystatechange = handleResponse;
  http.send(null);
  return false;
}




function handleResponse() {

  if(http.readyState == 4){

    var response = http.responseText;
    var update = new Array();
	if (!nursery_site) {
		var nursery_site = false;
	}
    if(response.indexOf('|') != -1) {

      update = response.split('|');

      document.getElementById('layerDiv').innerHTML = update[1];
      document.getElementById('barNumItems').innerHTML = update[2];
      document.getElementById('barPrice').innerHTML = update[3];

      var omniture_string = update[4];


      s.events="scAdd";
	  s.products=omniture_string;

	  s.t();

      document.getElementById('layerDiv').style.display = 'block';
      if (nursery_site == 'true' && document.getElementById('checkout_button')) {
        document.getElementById('checkout_button').innerHTML = "<a href='ShoppingBasketN.php'><img src='img/nur_login_checkout.gif' alt=''></a>";
      }
      else if (document.getElementById('checkout_button')) {
        document.getElementById('checkout_button').innerHTML = "<a href='ShoppingBasket.php'><img src='img/login_checkout.gif' alt=''></a>";
      }
      //ShowErrFrame('Basket');
      PositionLayer('layerDiv');
	  //PositionLayer('BasketLayer');
    }
  }
}



function getReportStatus()
{		setTimeout("alert('timed out, please refresh');",14400000);
		http.open('get', 'report_status.php');
  	http.onreadystatechange = handleStatusResponse;
  	http.send(null);
}

function handleStatusResponse() {

	if (http.readyState == 4){

    var response = http.responseText;
    var update = new Array();

    if (response.indexOf('|') != -1) {
      update = response.split('|');
      var n = (100/update[2])*update[1];

      document.getElementById('dyn_count').innerHTML = n.toFixed(2) + '%';
      document.getElementById('total_count').innerHTML = update[2];

      if (update[1] != update[2]) {
      	n = null;
      	update = null;
      	response = null;
      	getReportStatus();
      }
    	else {
    		alert('done' + update[1] + ' - ' + update[2]);
    	}
    }
  }
}


function changeContent(divID, action, info, response)
{
	if(document.getElementById(divID)) {
		if (response) {
			document.getElementById(divID).innerHTML = response;
			document.getElementById(divID).style.display='block';
		}
		else {
			var newContent = sendContentRequest(divID, action, info);
		}
	}
}

function sendContentRequest(divID, action, info)
{
	http.open('get', 'get_remote_content.php?action=' + action + '&info=' + info + '&div=' + divID);
  http.onreadystatechange = handleContentResponse;
  http.send(null);
  return false;
}

function handleContentResponse()
{
	if (http.readyState == 4) {
		var response = new Array();
		response = http.responseText.split('|');
		var divID = response[0];
		var responseText = response[1];
		changeContent(divID, '', '', responseText);
	}
}


function sendQuestionaire()
{

	http.open('get', 'get_remote_content.php?action=changequestionaire&info=' + document.getElementById('hear').value);
  http.send(null);
  document.getElementById('CheckoutQuestionnaire').innerHTML = '<p>Thank you, we have received your submission</p>';
  return false;

}

function checkDeliveryPostcode(postcode)
{
	/*alert('test');*/
	var oPostCodeRegex = /^(gy|je)/i;
	if(oPostCodeRegex.test(postcode)) {
		ShowErrorLayer('Please note we do not deliver to Jersey or Guernsey<br /><br />However, we do have stores on these islands, click <a href=\'page-13\'>here</a> for details', '')
		return false;
	}
}


// ****************************** QAS ***********************************

			// Set the focus on page load
			function init()
			{
				document.getElementsByName("Address")[0].focus();
			}

			function doQas(url1,url2)
			{

				var redirect = true;
				var postcode = document.getElementById('postcode').value;
				var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?([0-9][A-Za-z]{2})$/;
				if(!oPostCodeRegex.test(postcode) || !postcode) {
					ShowErrorLayer('Please enter a valid UK or NI postcode', '')
					var redirect = false;
				}
				var oPostCodeRegex = /^(gy|je)/i;
				if(oPostCodeRegex.test(postcode)) {
					if (document.getElementById('deliveryOptionBilling')) {
						if (document.getElementById('deliveryOptionBilling').checked == true) {
							ShowErrorLayer('Please note we do not deliver to Jersey or Guernsey<br /><br />However, we do have stores on these islands, click <a href=\'page-13\'>here</a> for details', '')
							var redirect = false;
						}
					}
					else {
						ShowErrorLayer('Please note we do not deliver to Jersey or Guernsey<br /><br />However, we do have stores on these islands, click <a href=\'page-13\'>here</a> for details', '')
						var redirect = false;
					}
				}

				if (redirect) {
					if (document.getElementById('title')) {
						var title = document.getElementById('title').value;
					}
					var firstname = document.getElementById('firstname').value;
					var lastname = document.getElementById('lastname').value;
					if (document.getElementById('telephone')) {
						var telephone = document.getElementById('telephone').value;
					}
					if (document.getElementById('Eemail')) {
						var Eemail = document.getElementById('Eemail').value;
					}
					var postcode = document.getElementById('postcode').value;
					var housename = document.getElementById('housename').value;
					if (document.getElementById('country')) {
						var country = document.getElementById('country').value;
					}


					var delivery_option = '';
					if (document.getElementById('deliveryOptionBilling')) {

						if (document.getElementById('deliveryOptionBilling').checked == true) {
							var delivery_option = 'billing';
						}
					}
					if (document.getElementById('deliveryOptionOther')) {
						if (document.getElementById('deliveryOptionOther').checked == true) {
							var delivery_option = 'other';
						}
					}

					var query = url1 + '?address=auto|firstname=' + firstname + '|lastname=' + lastname + '|telephone=' + telephone + '|email=' + Eemail + '|title=' + title + '|housename=' + housename + '|postcode=' + postcode + '|country=' + country + '|delivery_option=' + delivery_option;
					var newlocation = url2 + '?UserInput[]=' + housename + '&UserInput[]=' + postcode + '&sQasReturnURL=' + query + '&DataId=GBR&CountryName=United Kingdom&PromptSet=Optimal&Command=FlatSearch#loginBar';
					/*alert('got here' + newlocation);*/
					self.location = newlocation;
					return true;
				}
			}


	function doQas2(url1,url2,m)
			{

				// check postcode first
				var postcode = document.getElementById('postcode').value;
				var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?([0-9][A-Za-z]{2})$/;
				if(!oPostCodeRegex.test(postcode) || !postcode) {
					ShowErrorLayer('Please enter a valid UK or NI postcode', '')
					return false;
				}
				var firstname = document.getElementById('first_name').value;
				var lastname = document.getElementById('last_name').value;

				var query = url1 + '?address=auto|firstname=' + firstname + '|lastname=' + lastname + '|m=' + m;

					if(document.getElementById('iAddressID'))
					{
						var iAddressID = document.getElementById('iAddressID').value;
						query += '|iAddressID=' + iAddressID;
					}
					if(document.getElementById('optins'))
					{
						var optins = document.getElementById('optins').value;
						query += '|optins=' + optins;
					}



					if(document.getElementById('child_firstname_1'))
					{

						var child_firstname_1 = document.getElementById('child_firstname_1').value;
						query += '|child_firstname_1=' + child_firstname_1;
					}

					if(document.getElementById('title'))
					{

						var title = document.getElementById('title').value;
						query += '|title=' + title;
					}

					if(document.getElementById('UotherTitle'))
					{

						var UotherTitle = document.getElementById('UotherTitle').value;
						query += '|UotherTitle=' + UotherTitle;
					}

					if(document.getElementById('dob_dd_1'))
					{
						var dob_dd_1 = document.getElementById('dob_dd_1').value;
						query += '|dob_dd_1=' + dob_dd_1;
					}

					if(document.getElementById('dob_mm_1'))
					{
						var dob_mm_1 = document.getElementById('dob_mm_1').value;
						query += '|dob_mm_1=' + dob_mm_1;
					}

					if(document.getElementById('dob_yyyy_1'))
					{
						var dob_yyyy_1 = document.getElementById('dob_yyyy_1').value;
						query += '|dob_yyyy_1=' + dob_yyyy_1;
					}

					if(document.getElementById('female_1'))
					{
						var female_1 = document.getElementById('female_1').value;
						query += '|female_1=' + female_1;
					}

					if(document.getElementById('relationship_1'))
					{
						var relationship_1 = document.getElementById('relationship_1').value;
						query += '|relationship_1=' + relationship_1;
					}


					//Email option
					if(document.getElementById('email_1'))
					{
						var email_1 = document.getElementById('email_1').checked;
						query += '|email_1=' + email_1;
					}

					//Post option
					if(document.getElementById('post_1'))
					{
						var post_1 = document.getElementById('post_1').checked;
						query += '|post_1=' + post_1;
					}

					//Email option
					if(document.getElementById('email'))
					{
						var email = document.getElementById('email').checked;
						query += '|email=' + email;
					}

					//Post option
					if(document.getElementById('post'))
					{
						var post = document.getElementById('post').checked;
						query += '|post=' + post;
					}





					if(document.getElementById('contact_bbc'))
					{
						for(i=0; i< document.AddChildForm.contact_bbc.length; i++)
						{
						 if(document.AddChildForm.contact_bbc[i].checked)
						 {
						 	var contact_bbc = document.AddChildForm.contact_bbc[i].value;
							query += '|contact_bbc=' + contact_bbc;
						 }
						}
					}


					if(document.getElementById('t'))
					{
						var t = document.getElementById('t').value;
						query += '|t=' + t;
					}

					if (document.getElementById('address_line_1')) {
						var address_line_1 = document.getElementById('address_line_1').value;
						query += '|address_line_1=' + address_line_1 ;
					}
					if (document.getElementById('postcode')) {
						var postcode = document.getElementById('postcode').value;
						query += '|postcode=' + postcode;
					}
					if (document.getElementById('address_line_2')) {
						var address_line_2 = document.getElementById('address_line_2').value;
						query += '|Uaddress_line_2=' + address_line_2;
					}
					if (document.getElementById('address_line_3')) {
						var address_line_3 = document.getElementById('address_line_3').value;
						query += '|address_line_3=' + address_line_3;
					}
					if (document.getElementById('address_line_4')) {
						var address_line_4 = document.getElementById('address_line_4').value;
						query += '|Uaddress_line_4=' + address_line_4;
					}
					if (document.getElementById('Utelephone')) {
						var Utelephone = document.getElementById('Utelephone').value;
						query += '|Utelephone=' + Utelephone;
					}

					if (document.getElementById('first_name')) {
						var first_name = document.getElementById('first_name');
						query += '|first_name=' + first_name.value;
					}
					if (document.getElementById('last_name')) {
						var last_name = document.getElementById('last_name');
						query += '|last_name=' + last_name.value;
					}
					if (document.getElementById('other_title')) {
						var other_title = document.getElementById('other_title');
						query += '|other_title=' + other_title.value;
					}
					if (document.getElementById('signup_email')) {
						var signup_email = document.getElementById('signup_email');
						query += '|signup_email=' + signup_email.value;
					}
					if (document.getElementById('password')) {
						var password = document.getElementById('password');
						query += '|password=' + password.value;

					}
					if (document.getElementById('repeat_password')) {
						var repeat_password = document.getElementById('repeat_password');
						query += '|repeat_password=' + repeat_password.value;
					}
					if (document.getElementById('title')) {
						var title = document.getElementById('title');
						query += '|title=' + title.value;
					}



				var housename = document.getElementById('address_line_1').value;
				self.location = url2 + '?UserInput[]=' + housename + '&UserInput[]=' + postcode + '&sQasReturnURL=' + query + '&DataId=GBR&CountryName=United Kingdom&PromptSet=Optimal&Command=FlatSearch';
				return false;
			}



	function doQasSignup(url1,url2,m)
			{

				// check postcode first
				var postcode = document.getElementById('postcode').value;
				var oPostCodeRegex = /^[A-Za-z]{1,2}[0-9]{1,2}[A-Za-z]{0,1} ?([0-9][A-Za-z]{2})$/;
				if(!oPostCodeRegex.test(postcode) || !postcode) {
					ShowErrorLayer('Please enter a valid UK or NI postcode', '')
					return false;
				}


				var query = url1 + '?address=auto';




					if (document.getElementById('child_relationship')) {
						var child_relationship = document.getElementById('child_relationship').value;
						query += '|child_relationship=' + child_relationship ;
					}

					if (document.getElementById('child_name')) {
						var child_name = document.getElementById('child_name').value;
						query += '|child_name=' + child_name ;
					}

					if (document.getElementById('child_gender')) {
						var child_gender = document.getElementById('child_gender').value;
						query += '|child_gender=' + child_gender ;
					}


					if (document.getElementById('child_dob_day')) {
						var child_dob_day = document.getElementById('child_dob_day').value;
						query += '|child_dob[day]=' + child_dob_day ;
					}

					if (document.getElementById('child_dob_month')) {
						var child_dob_month = document.getElementById('child_dob_month').value;
						query += '|child_dob[month]=' + child_dob_month ;
					}



					if (document.getElementById('child_dob_year')) {
						var child_dob_year = document.getElementById('child_dob_year').value;
						query += '|child_dob[year]=' + child_dob_year ;
					}


					//Email option
					if(document.getElementById('contact_email'))
					{
						var email = document.getElementById('contact_email').checked;
						query += '|contact_email=' + email;
					}

					//Post option
					if(document.getElementById('contact_post'))
					{
						var post = document.getElementById('contact_post').checked;
						query += '|contact_post=' + post;
					}





					if (document.getElementById('address_line_1')) {
						var address_line_1 = document.getElementById('address_line_1').value;
						query += '|address_line_1=' + address_line_1 ;
					}
					if (document.getElementById('postcode')) {
						var postcode = document.getElementById('postcode').value;
						query += '|postcode=' + postcode;
					}
					if (document.getElementById('address_line_2')) {
						var address_line_2 = document.getElementById('address_line_2').value;
						query += '|Uaddress_line_2=' + address_line_2;
					}
					if (document.getElementById('address_line_3')) {
						var address_line_3 = document.getElementById('address_line_3').value;
						query += '|address_line_3=' + address_line_3;
					}
					if (document.getElementById('address_line_4')) {
						var address_line_4 = document.getElementById('address_line_4').value;
						query += '|Uaddress_line_4=' + address_line_4;
					}





				var housename = document.getElementById('address_line_1').value;
				self.location = url2 + '?UserInput[]=' + address_line_1 + '&UserInput[]=' + postcode + '&sQasReturnURL=' + query + '&DataId=GBR&CountryName=United Kingdom&PromptSet=Optimal&Command=FlatSearch';
				return false;
			}



// ************************ END QAS FUNCTIONS *****************************************+


/***********************************************
* Textarea Maxlength script- � Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function ismaxlength(obj){
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength)
obj.value=obj.value.substring(0,mlength)
}



function showLoadOrder(order_id)
{
	if (document.getElementById('savedOrderContent')) {
		document.getElementById('savedOrderContent').innerHTML = 'Please select if you would like to replace, or add to, the toys in your basket with your saved quote.<br /><br /><a href=\'SavedOrders.php?order_id=' + order_id + '\'>Replace current basket</a><br /><a href=\'SavedOrders.php?merge_order_id=' + order_id + '\'>Add to current basket</a>';
	}
	ShowSavedOrdersLayer();



}

function showHomePageLayer(layer) {
    allLayers = new Array('homepage_planet_protectors', 'homepage_baby_active', 'homepage_learning_skills');
        
    for(i = 0; i < allLayers.length; i++) {
        if(layer == allLayers[i]) {
            document.getElementById(layer).style.display='block';
        } else {
            document.getElementById(allLayers[i]).style.display='none';
        }
    }
}

//-->
