// Cookie Toolbox Javascript
// copyright 4th September 2002, by Stephen Chapman, Felgall Pty Ltd

// You have permission to copy and use this javascript provided that
// the content of the script is not changed in any way.
// For instructions on how to use these functions see "A Cookie Toolbox"
// in the Javascript section of our site at http://www.felgall.com/

var dbug = 0; function d_a(ary) {var beg = next_entry(ary) - 1; for (var i = beg ; i > -1; i--) {ary[i] = null;}} function init_array() {if (dbug) alert('init_cookie');  var ary = new Array(null); return ary;} function set_cookie(name,value,expires) {if (dbug) alert('set_cookie'); if (!expires) expires = new Date();
document.cookie = name + '=' + escape(value) + '; expires=' + expires.toGMTString() + '; path=/';} function get_cookie(name) {if (dbug) alert('get_cookie'); var dcookie = document.cookie; var cname = name + "="; var clen = dcookie.length; var cbegin = 0; while (cbegin < clen) {var vbegin = cbegin + cname.length;
if (dcookie.substring(cbegin, vbegin) == cname) {var vend = dcookie.indexOf (";", vbegin); if (vend == -1) vend = clen; return unescape(dcookie.substring(vbegin, vend));} cbegin = dcookie.indexOf(" ", cbegin) + 1; if (cbegin == 0) break;} return null;} function del_cookie(name) {if (dbug) alert('del_cookie');
document.cookie = name + '=' + '; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/';} function get_array(name, ary) {if (dbug) alert('get_array'); d_a(ary); var ent = get_cookie(name); if (ent) {i = 1; while (ent.indexOf('^') != '-1') {ary[i] = ent.substring(0,ent.indexOf('^')); i++;
ent = ent.substring(ent.indexOf('^')+1, ent.length);}}} function set_array(name, ary, expires) {if (dbug) alert('set_array'); var value = ''; for (var i = 1; ary[i]; i++) {value += ary[i] + '^';} set_cookie(name, value, expires);} function del_entry(name, ary, pos, expires) {if (dbug) alert('del_entry');
var value = ''; get_array(name, ary); for (var i = 1; i < pos; i++) {value += ary[i] + '^';} for (var j = pos + 1; ary[j]; j++) {value += ary[j] + '^';} set_cookie(name, value, expires);} function next_entry(ary) {if (dbug) alert('next_entry'); var j = 0; for (var i = 1; ary[i]; i++) {j = i} return j + 1;}
function debug_on() {dbug = 1;} function debug_off() {dbug = 0;} function dump_cookies() {if (document.cookie == '') document.write('No Cookies Found'); else {thisCookie = document.cookie.split('; '); for (i=0; i<thisCookie.length; i++) {document.write(thisCookie[i] + '<br \/>');}}}
	
var timeToKeep = 60000*60*24*365 // 1 year
var expires = new Date();
expires.setTime(expires.getTime() + timeToKeep);

function telephoneOnly(myevent)
{
	
	if ( (myevent.keyCode < 40 || myevent.keyCode > 57) && myevent.keyCode!=32) {
		//alert ("Numbers only in this field please");
		return false;
	}
	
	return true;
	
}

function validateFeedbackFields (form)
{
  if (validatenotblank (form,form.email,"","Please enter your email address" ) ||
      validatenotblank (form,form.contactname,"","Please enter your name" )  ||
      validatenotblank (form,form.feedback,"","Please enter your feedback" )  
   ) {
	   return false;  
	}
	
	if (!echeck(form.email.value)) {
			alert("Please check your email address format, for example: name@somewhere.co.uk");
			return false;
	}
	
	form.submit();

}

function validateContactFields (form)
{
  if (validatenotblank (form,form.email,"","Please enter your email address" ) ||
      validatenotblank (form,form.contactname,"","Please enter your name" )  ||
      validatenotblank (form,form.cmbSubject,"","Please select a subject" )  ||
      validatenotblank (form,form.message,"","Please enter a message" )  
   ) {
	   return false;  
	}
	
	if (!echeck(form.email.value)) {
			alert("Please check your email address format, for example: name@somewhere.co.uk");
			return false;
	}
	
	form.submit();

}


function validateCustomerReview ()
{
	if (validatenotblank (document.formCustomerReview,document.formCustomerReview.reviewTitle,"","Please enter your product review title" ) ||	
	  	validatenotblank (document.formCustomerReview,document.formCustomerReview.reviewText,"","Please enter your product review text" ) 	
	   ) {
			return false;
		 }
	alert ('Thank you kindly for your product review. Your comments are noted and will be added to the review list shortly.');
	return true;
}


function validateCarSelection ()
{
		
	if (validatenotblank (cars,cars.make,"Select Make","Please select your car make" ) ||	
	  	validatenotblank (cars,cars.model,"Select Model","Please select your car model" ) ||
		validatenotblank (cars,cars.year,"999","Please select the car year of manufacture" )			
	   ) {
			return false;
		 }
	return true;
}


function toggleBasket(){

	var basketValue=get_cookie('basketToggle');
	if (basketValue==' ') {
		basketValue='block';
	} else {
		basketValue=' '
	}
	set_cookie( 'basketToggle',basketValue,expires);
		
	refreshPanels();
}

function toggleViewed(){

	var viewedValue=get_cookie('viewedToggle');
	if (viewedValue==' ') {
		viewedValue='block'
	} else {
		viewedValue=' '
	}
	set_cookie( 'viewedToggle',viewedValue,expires);
	refreshPanels();
}


function refreshPanels() {
	
	var basketValue=get_cookie('basketToggle');
	var viewedValue=get_cookie('viewedToggle');


	if (basketValue==null) {
		basketValue='block';
		set_cookie( 'basketToggle',basketValue,expires);	
	}
		
	if (viewedValue==null) {
		viewedValue='block';
		set_cookie( 'viewedToggle',viewedValue,expires);	
	}
/*
	if (document.getElementById('basketHeader')) {
		if (basketValue=='block') {
			document.getElementById('basketHeader').style.backgroundImage='url(../images/basket-header-square.jpg)';
			document.getElementById('expandBasketButton').style.backgroundImage='url(../images/white-orange-up-arrow.gif)';
		} else {
			document.getElementById('basketHeader').style.backgroundImage='url(../images/basket-header.jpg)';		
			document.getElementById('expandBasketButton').style.backgroundImage='url(../images/white-orange-right-arrow.gif)';			
		}
	}
*/	

	if (document.getElementById('customerHistoryContainer')) {
		if (viewedValue=='block') {
			document.getElementById('customerHistoryToggle').innerHTML='Hide your viewing history'
		} else {
			document.getElementById('customerHistoryToggle').innerHTML='Show your viewing history'
	
		}
	}
	
	//Update display
//	setLayerDisplay('basketContainer',basketValue);
	setLayerDisplay('customerHistoryContainer',viewedValue);
	
}


function setLayerDisplay(whichLayer,displayStyle)
{
		displayStyle=trim(displayStyle);
		
		if (document.getElementById)
		{
			// this is the way the standards work
			if (document.getElementById(whichLayer)) {
				var style2 = document.getElementById(whichLayer).style;
				style2.display = displayStyle;
			}
		}
		else if (document.all)
		{
			// this is the way old msie versions work
			if (document.all[whichLayer]) {
				var style2 = document.all[whichLayer].style;
				style2.display =displayStyle;
			}
		}
		else if (document.layers)
		{
			if (document.layers[whichLayer]) {
				// this is the way nn4 works
				var style2 = document.layers[whichLayer].style;
				style2.display = displayStyle;
			}
		}
}


function resizeOuterTo(w,h) {
 if (parseInt(navigator.appVersion)>3) {
   if (navigator.appName=="Netscape") {
    top.outerWidth=w;
    top.outerHeight=h;
   }
   else top.resizeTo(w,h);
 }
}


function openWindow(theURL, Name, popW, popH, scroll, resize) { 
	var winleft = (screen.width - popW) / 2;
	var winUp = (screen.height - popH) / 2;
	winProp = 'width='+popW+',height='+popH+',left='+winleft+',top='+winUp+',scrollbars='+scroll+',resizable='+resize+',status=yes';
	Win = window.open(theURL, Name, winProp);
	Win.window.focus();
}

function openProductImagesWindow(myWidth,myHeight,strParms) {
	
	if (myHeight>screen.height-30)
	{
		myHeight=screen.height-30
	}
	
	openWindow('/productimages.asp'+strParms, 'ProductImages', myWidth, myHeight, 'yes', 'no');
}

function openSaveBasketWindow() {
	openWindow('/savebasket.asp', 'SaveBasket', 400, 100, 'yes', 'no');
}

function openPasswordReminderWindow() {
	openWindow('/passwordreminder.asp', 'PasswordReminder', 400, 200, 'yes', 'no');
}
 


function openHelpWindow(scID) {
	openWindow('/help.asp?scid='+scID, 'Help', 400, 300, 'yes', 'no');
}


// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}


/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function validateEmailAddress (control)
{
	if (!echeck(control.value)) {
			alert("Please check your email address format, for example: name@somewhere.co.uk");
			return false;
	}
		
	return true;
}
function validatenotblank (form,control,compare,text)
{
  if (trim(control.value) == compare) {
    alert( text );
    control.focus();
	//control.style.background='#0e0';
    return true ;
  }
  return false ;
}

function validatethesame (form,control,compare,text)
{
  if (control.value != compare.value) {
    alert( text );
    control.focus();
	//control.style.background='#0e0';
    return true ;
  }
  return false ;
}




function validateNewUserFields (form)
{
  if (validatenotblank (form,form.txtEmailAddress,"","Please enter your email address" ) ||
      validatenotblank (form,form.txtName,"","Please enter your name" )  ||
      validatenotblank (form,form.cmbReferrer,"","Please let us know how you first heard about Vertar" )  
   ) {
	   return false;  
	}
	
	if (!echeck(form.txtEmailAddress.value)) {
			alert("Please check your email address format, for example: myname@domain.co.uk");
			return false;
	}
	return true;

}


function validateLoginUserFields (form)
{
  if (validatenotblank (form,form.txtLoginEmailAddress,"","Please enter your email address" ) ||
      validatenotblank (form,form.txtPassword,"","Please enter your password" )  
   ) {
	   return false;  
	}
	
	if (!echeck(form.txtLoginEmailAddress.value)) {
			alert("Please check your email address format, for example: name@somewhere.co.uk");
			return false;
	}
	
	return true;

}


function pageLoader() {

	refreshPanels()

}

function toggleLayer(whichLayer)
{
	
		if (document.getElementById)
		{
			// this is the way the standards work
			var style2 = document.getElementById(whichLayer).style;
			if (style2 != null) style2.display = style2.display? "":"block";
		}
		else if (document.all)
		{
			// this is the way old msie versions work
			var style2 = document.all[whichLayer].style;
			if (style2 != null) style2.display = style2.display? "":"block";
		}
		else if (document.layers)
		{
			// this is the way nn4 works
			var style2 = document.layers[whichLayer].style;
			if (style2 != null) style2.display = style2.display? "":"block";
		}

}
addEvent(window,'load',pageLoader);