<!-- Begin
//andy@newmediadesigns.co.uk

// ajax bits (AB: 19/5/06)
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(action,vl) {
    http.open('get', 'ajax.asp?action='+action+'&f='+vl);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function sndReq2(action,vl) {
    http.open('get', 'ajax2.asp?action='+action+'&f='+vl);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function sndReq3(eml,pc) {
    http.open('get', 'ajax3.asp?eml='+eml+'&pc='+pc);
    http.onreadystatechange = handleFormResponse;
    http.send(null);
}

function handleFormResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
        }
    }
}
function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
            document.getElementById(update[0]).innerHTML = update[1];
            //document.getElementById(update[0]).style.display = "block";
			if(update[1] == ""){
				document.getElementById(update[0]).style.display = "none";
				//document.getElementById(update[1]).style.backgroundColor = '#fff';
				
				} else {
				document.getElementById(update[0]).style.display = "block";
				//document.getElementById(update[1]).style.backgroundColor = '#faa';
			}
        }
    }
}


//##################
//##################

function confirmdelete(delid)
{
	if (confirm('WARNING: Are you certain you want to delete this order line?')) {
		var myString = new String(window.location)
		if (myString.indexOf("?")!=-1) {
			querysymbol='&'
		} else {
			querysymbol='?'
		}
		document.bform.action=window.location+querysymbol+'delete=true&delid='+delid
		document.bform.submit()
	}
}

function DisableButton(b)
   {
      b.disabled = true;
      b.value = 'Submitting';
   }

function getvars()
{
	urlstr = unescape(document.location);
	urlstr = urlstr.split('?')[1]
	urlstr = urlstr.split('&')
	
	for(x=0; x<urlstr.length;x++)
	{
		tmp = urlstr[x].split('=');
		eval(tmp[0] + '="' + tmp[1] + '"');
	}
}

function checkRing(formobj)
{
	var rng = formobj.fsize.value
	if (rng == "")
	{
		alert("Please select a ring size from the list");
		formobj.fsize.focus();
		return false
	}

return true;
}

function checkColour(formobj)
{
	var col = formobj.fcol.value
	if (isNaN(col) == true || col < 1 || col > 999)
	{
		alert("Please select a colour from the list");
		formobj.fcol.focus();
		return false
	}
	var bas = formobj.fbase.value
	if (bas == "")
	{
		alert("Please select a base from the list");
		formobj.fbase.focus();
		return false
	}

return true;
}

function checkItems(formobj)
{
	//var quant = formobj.fqty.value
	//if (isNaN(quant) == true || quant < 1 || quant > 9)
	//{
	//	alert("Please enter a number between 1 and 9");
	//	formobj.fqty.focus();
	//	return false
	//}
	var fn = formobj.fname.value
	if (fn == "")
	{
		alert("Please enter your first name");
		formobj.fname.focus();
		return false
	}	
	var sn = formobj.sname.value
	if (sn == "")
	{
		alert("Please enter your surname");
		formobj.sname.focus();
		return false
	}	
	// check for a valid email
	var testresults
	var str=formobj.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(str))
	{
		alert("Please input a valid email address");
		formobj.email.focus();
		return false
	}
	var tel = formobj.tel.value
	if (tel == "" || tel.length < 8)
	{
		alert("Please enter a valid and full contact phone number");
		formobj.tel.focus();
		return false
	}
	var ad1 = formobj.bad1.value
	if (ad1 == "")
	{
		alert("Please enter your postal address");
		formobj.bad1.focus();
		return false
	}	
	var bc = formobj.bcity.value
	if (bc == "")
	{
		alert("Please enter your town / city");
		formobj.bcity.focus();
		return false
	}	
	var bct = formobj.bcounty.value
	if (bct == "")
	{
		alert("Please enter your county");
		formobj.bcounty.focus();
		return false
	}
	var pc = formobj.bpc.value
	if (pc == "")
	{
		alert("Please enter your postcode");
		formobj.bpc.focus();
		return false
	}

return true;
}

// Check the mailshot form details - ask for full name and valid email
function checkmailshot(formobj)
{
	var nm = formobj.mname.value
	if (nm == "" || nm.indexOf(" ") < 1)
	{
		alert("Please enter your full name (first name and surname)");
		formobj.mname.focus();
		return false
	}	

	// check for a valid email
	var testresults
	var str=formobj.memail.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(str))
	{
		alert("Please input a valid email address");
		formobj.memail.focus();
		return false
	}
return true;
}


//=================================
function checkItemsContact(formobj)
{
	var fn = formobj.name.value
	if (fn == "")
	{
		alert("Please enter your name");
		formobj.name.focus();
		return false
	}	
	// check for a valid email
	var testresults
	var str=formobj.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(str))
	{
		alert("Please provide us with a valid email address");
		formobj.email.focus();
		return false
	}

return true;
}

//==================================
function checkItemsBrochure(formobj)
{
	var fn = formobj.name.value
	if (fn == "")
	{
		alert("Please enter your name");
		formobj.name.focus();
		return false
	}	
	// check for a valid email
	var testresults
	var str=formobj.email.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(str))
	{
		alert("Please input a valid email address");
		formobj.email.focus();
		return false
	}
	var tel = formobj.tel.value
	if (tel == "" || tel.length < 8)
	{
		alert("Please enter a valid and full contact phone number");
		formobj.tel.focus();
		return false
	}
	var ad1 = formobj.ad1.value
	if (ad1 == "")
	{
		alert("Please enter your postal address");
		formobj.ad1.focus();
		return false
	}	
	var bc = formobj.ad3.value
	if (bc == "")
	{
		alert("Please enter your town / city");
		formobj.ad3.focus();
		return false
	}	
	var bct = formobj.ad4.value
	if (bct == "")
	{
		alert("Please enter your county");
		formobj.ad4.focus();
		return false
	}
	var pc = formobj.ad5.value
	if (pc == "")
	{
		alert("Please enter your postcode");
		formobj.ad5.focus();
		return false
	}

return true;
}

//==============================
function checkItemsCont(formobj)
{
	var fn = formobj.fname.value
	if (fn == "")
	{
		alert("Please enter your full name");
		formobj.fname.focus();
		return false
	}	
	var pwd = formobj.fpass.value
	if (pwd == "")
	{
		alert("Please enter your desired password");
		formobj.fpass.focus();
		return false
	}
	
	var tel = formobj.ftel.value
	if (tel == "" || tel.length < 8)
	{
		alert("Please enter a valid and full contact phone number");
		formobj.ftel.focus();
		return false
	}
	// check for a valid email
	var testresults
	var str=formobj.femail.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(str))
	{
		alert("Please enter a valid email address");
		formobj.femail.focus();
		return false
	}
	var a1 = formobj.fad1.value
	if (a1 == "")
	{
		alert("Please enter the first line of your address");
		formobj.fad1.focus();
		return false
	}	
	var tw = formobj.ftown.value
	if (tw == "")
	{
		alert("Please enter the town/city");
		formobj.ftown.focus();
		return false
	}	
	var ct = formobj.fpc.value
	if (ct == "")
	{
		alert("Please enter your post code");
		formobj.fpc.focus();
		return false
	}	
	var tp = formobj.ftype.value
	if (tp == "")
	{
		alert("Please enter a Business type that best describes you.");
		formobj.ftype.focus();
		return false
	}	
	
return true;
}

function checkBasket1(formobj)
{
	var q = formobj.qty.value
	if (isNaN(q) == true || q < 1 || q > 99)
	{
		alert("Please enter a valid quantity.");
		formobj.qty.focus();
		return false
	}	
return true;
}

function checkBasket2(formobj)
{
	var q = formobj.qty.value
	if (isNaN(q) == true || q < 1 || q > 99)
	{
		alert("Please enter a valid quantity.");
		formobj.qty.focus();
		return false
	}
	var pr = formobj.pers.value
	if (pr == "" || pr.length > 1)
	{
		alert("Please enter a valid ring size.");
		formobj.pers.focus();
		return false
	}	
return true;
}

function checkBasket3(formobj)
{
	var q = formobj.qty.value
	if (isNaN(q) == true || q < 1 || q > 99)
	{
		alert("Please enter a valid quantity.");
		formobj.qty.focus();
		return false
	}	
	var nk = formobj.ptoday.value
	if (nk == "")
	{
		alert("Please select a necklace size (chain length).");
		formobj.ptoday.focus();
		return false
	}	
return true;
}

/********************************************************************************
Copyright (C) 1999 Thomas Brattli
This script is made by and copyrighted to Thomas Brattli at www.bratta.com
Visit for more great scripts. This may be used freely as long as this msg is intact!
I will also appriciate any links you could give me.
********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
	return this
}
bw=new checkBrowser()
/**************************************************************************
Variables to set.
***************************************************************************/
//Updated: Added left and top variables.
sLeft=0 //The left placement of the menu
sTop=0 //The top placement of the menu

//The height of the menu
sMenuheight=100

//Width of the arrows
sArrowwidth=15

//Scroll speed: (in milliseconds, change this one and the next variable to change the speed)
sScrollspeed=8

//Pixels to scroll per timeout.
sScrollPx=4

/**************************************************************************
Scrolling functions
***************************************************************************/
var tim=0
var noScroll=true
function mLeft(){
	if(!noScroll && oMenu.x<sArrowwidth){
		oMenu.moveBy(sScrollPx,0)
		tim=setTimeout("mLeft()",sScrollspeed)
	}
}
function mRight(){
	if(!noScroll && oMenu.x>-(oMenu.scrollWidth-(pageWidth))-sArrowwidth){
		oMenu.moveBy(-sScrollPx,0)
		tim=setTimeout("mRight()",sScrollspeed)
	}
}
function noMove(){clearTimeout(tim); noScroll=true}
/**************************************************************************
Object part
***************************************************************************/
function makeObj(obj,nest,menu){
	nest=(!nest) ? '':'document.'+nest+'.'										
   	this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;		
	this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0;		
	this.scrollWidth=bw.ns4?this.css.document.width:this.evnt.offsetWidth
	this.x=(bw.ns4 || bw.ns5)? this.css.left:this.css.pixelLeft;
	this.y=(bw.ns4 || bw.ns5)? this.css.top:this.css.pixelTop;		
	this.moveBy=b_moveBy; this.moveIt=b_moveIt;	this.showIt=b_showIt;this.clipTo=b_clipTo;
	return this
}
function b_moveBy(x,y){this.x=this.x+x; this.y=this.y+y; this.css.left=this.x; this.css.top=this.y}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}
function b_clipTo(t,r,b,l){
	if(bw.ns4){this.css.clip.top=t; this.css.clip.right=r; this.css.clip.bottom=b; this.css.clip.left=l
	}else this.css.clip="rect("+t+","+r+","+b+","+l+")";
}
function b_showIt(){this.css.visibility="visible"}
/**************************************************************************
Object part end
***************************************************************************/

/**************************************************************************
Init function. Set the placements of the objects here.
***************************************************************************/
function sideInit(){
	//Width of the menu, Currently set to the width of the document.
	//If you want the menu to be 500px wide for instance, just 
	//set the the pageWidth=500 in stead.
	pageWidth=(bw.ns4 || bw.ns5)?innerWidth:document.body.offsetWidth-0;
	
	oBg=new makeObj('divBg')
	oMenu=new makeObj('divMenu','divBg',1)
	oArrowRight=new makeObj('divArrowRight','divBg')
	//Placement
	oBg.moveIt(sLeft,sTop) //Main div, holds all the other divs.
	oMenu.moveIt(sArrowwidth,6)
	oArrowRight.moveIt(pageWidth-sArrowwidth,9)
	//setting the width and the visible area of the links.
	if(bw.dom || bw.ie4){ oBg.css.width=pageWidth; oBg.css.overflow="hidden" }
	oBg.clipTo(0,pageWidth,sMenuheight,0)
}
//-->



function nothing(){
	if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
   alert(test + " is not a valid postcode - cannot start with a number :: REMEMBER, we only accept orders from within the UK.");
   formobj.bpc.focus();
   return false;
  }
 if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
   alert(test + " is not a valid postcode - alpha character in wrong position :: REMEMBER, we only accept orders from within the UK.");
   formobj.bpc.focus();
   return false;
  }
 if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
   alert(test + " is not a valid postcode - number in wrong position :: REMEMBER, we only accept orders from within the UK.");
   formobj.bpc.focus();
   return false;
  }
 if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
   alert(test + " is not a valid postcode - number in wrong position :: REMEMBER, we only accept orders from within the UK.");
   formobj.bpc.focus();
   return false;
  }
 if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
   alert(test + " is not a valid postcode - no space or space in wrong position :: REMEMBER, we only accept orders from within the UK.");
   formobj.bpc.focus();
   return false;
   }
 count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
 if (count1 != count2){//only one space rule
   alert(test + " is not a valid postcode - only one space allowed :: REMEMBER, we only accept orders from within the UK.");
   formobj.bpc.focus();
   return false;
  }
}
