function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function mmLoadMenus() {
  if (window.mm_menu_0105143000_0) return;
  window.mm_menu_0105143000_0 = new Menu("root",110,30,"Calibri, Arial, Helvetica, sans-serif",14,"#333333","#e72318","#cecece","#cecece","left","middle",8,0,1000,-5,7,true,true,true,5,true,true);
  mm_menu_0105143000_0.addMenuItem("The&nbsp;Experience","location='exp.htm'");
  mm_menu_0105143000_0.addMenuItem("Gallery","location='chgallery.htm'");
   mm_menu_0105143000_0.hideOnMouseOut=true;
   mm_menu_0105143000_0.menuBorder=0;
   mm_menu_0105143000_0.menuLiteBgColor='#ffffff';
   mm_menu_0105143000_0.menuBorderBgColor='#555555';
   mm_menu_0105143000_0.bgColor='#ffffff';
  window.mm_menu_0030110810_0 = new Menu("root",88,30,"Calibri, Arial, Helvetica, sans-serif",14,"#333333","#e72318","#cecece","#cecece","left","middle",8,0,1000,-5,7,true,true,true,5,true,true);
  mm_menu_0030110810_0.addMenuItem("BBQ&nbsp;Table","location='bbq.htm'");
  mm_menu_0030110810_0.addMenuItem("Accessories","location='acc.htm'");
   mm_menu_0030110810_0.hideOnMouseOut=true;
   mm_menu_0030110810_0.menuBorder=0;
   mm_menu_0030110810_0.menuLiteBgColor='#ffffff';
   mm_menu_0030110810_0.menuBorderBgColor='#555555';
   mm_menu_0030110810_0.bgColor='#ffffff';
  window.mm_menu_0105145741_1 = new Menu("root",133,30,"Calibri, Arial, Helvetica, sans-serif",14,"#333333","#e72318","#cecece","#cecece","left","middle",8,0,1000,-5,7,true,true,true,5,true,true);
  mm_menu_0105145741_1.addMenuItem("Lighting","location='light.htm'");
  mm_menu_0105145741_1.addMenuItem("Servicing","location='serv.htm'");
  mm_menu_0105145741_1.addMenuItem("Terms&nbsp;&amp;&nbsp;Conditions","location='terms.htm'");
  mm_menu_0105145741_1.addMenuItem("Warranty","location='warranty.htm'");
  mm_menu_0105145741_1.addMenuItem("About&nbsp;Us","location='about.htm'");
   mm_menu_0105145741_1.hideOnMouseOut=true;
   mm_menu_0105145741_1.menuBorder=0;
   mm_menu_0105145741_1.menuLiteBgColor='#ffffff';
   mm_menu_0105145741_1.menuBorderBgColor='#555555';
   mm_menu_0105145741_1.bgColor='#ffffff';

  mm_menu_0105145741_1.writeMenus();
} // mmLoadMenus()




// Set valid allDigits i.e "0123456789"
function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}



// Set valid telDigits i.e "0123456789()<>+- "
function telDigits(str)
{
	return inValidCharSet(str,"0123456789()<>+- ");
}



// Check whether fields are filled with valid characters
function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}



// Check boxes are filled i.e not ""
function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter your ' + fieldLabel +'');
		formField.focus();
		result = false;
	}
	
	return result;
}


// Check e-mail address is in valid format
function isEmailAddr(email)
{
	var result = false;
	var theStr = new String(email);
	var index = theStr.indexOf("@");

	if (index > 0)
	{
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
	}
	
	return result;
}



// Check e-mail address is in valid format
function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a valid email address");
		formField.focus();
		result = false;
	}
   
  return result;

}


// Check telephne number is in valid format i.e contains only telDigits "0123456789()<>+- "
function validTelNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!telDigits(formField.value))
 		{
 			alert('Please enter a number for your telephone number');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}



// Check validity of contact form fields
function validate (contactus)
{
	if (!validRequired(contactus.fname,"Forname"))
		return false;

	if (!validRequired(contactus.lname,"Surname"))
		return false;

	if (!validTelNum(contactus.tel,"Telephone Number",true))
		return false;
		
	if (!validEmail(contactus.email,"Email Address",true))
		return false;
	
	return true;
}



// Check validity of contact form fields
function validate (submitcv)
{
	if (!validRequired(submitcv.fname,"Forname"))
		return false;

	if (!validRequired(submitcv.lname,"Surname"))
		return false;

	if (!validTelNum(submitcv.tel,"Telephone Number",true))
		return false;
		
	if (!validEmail(submitcv.email,"Email Address",true))
		return false;
	
	return true;
}



// Check validity of contact form fields
function validate (feedbacksend)
{
	if (!validRequired(feedbacksend.fname,"Forname"))
		return false;

	if (!validRequired(feedbacksend.lname,"Surname"))
		return false;
		
	if (!validEmail(feedbacksend.email,"Email Address",true))
		return false;
	
	return true;
}


/*
Scrolling Text script- 
Distributed by http://www.hypergurl.com
*/

function regenerate(){
window.location.reload()
}

function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
}

function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write('<nobr>'+marqueecontents+'</nobr>')
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.width
scrollit()
}

function scrollit(){
if (document.cmarquee01.document.cmarquee02.left>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.left-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.left=marqueewidth
scrollit()
}
}

window.onload=regenerate2



















function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&id.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}



function MM_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])?args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) { img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr) for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}



function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


// Set valid allDigits i.e "0123456789"
function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}



// Set valid telDigits i.e "0123456789()<>+- "
function telDigits(str)
{
	return inValidCharSet(str,"0123456789()<>+- ");
}



// Check whether fields are filled with valid characters
function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}



// Check boxes are filled i.e not ""
function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter your ' + fieldLabel +'');
		formField.focus();
		result = false;
	}
	
	return result;
}


// Check e-mail address is in valid format
function isEmailAddr(email)
{
	var result = false;
	var theStr = new String(email);
	var index = theStr.indexOf("@");

	if (index > 0)
	{
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
	}
	
	return result;
}



// Check e-mail address is in valid format
function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a valid email address");
		formField.focus();
		result = false;
	}
   
  return result;

}


// Check telephne number is in valid format i.e contains only telDigits "0123456789()<>+- "
function validTelNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!telDigits(formField.value))
 		{
 			alert('Please enter a number for your telephone number');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}



// Check validity of contact form fields
function validate (contactus)
{
	if (!validRequired(contactus.fname,"Forname"))
		return false;

	if (!validRequired(contactus.lname,"Surname"))
		return false;

	if (!validTelNum(contactus.tel,"Telephone Number",true))
		return false;
		
	if (!validEmail(contactus.email,"Email Address",true))
		return false;
	
	return true;
}


/*
Scrolling Text script- 
Distributed by http://www.hypergurl.com
*/

function regenerate(){
window.location.reload()
}

function regenerate2(){
if (document.layers){
setTimeout("window.onresize=regenerate",450)
intializemarquee()
}
}

function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.write('<nobr>'+marqueecontents+'</nobr>')
document.cmarquee01.document.cmarquee02.document.close()
thelength=document.cmarquee01.document.cmarquee02.document.width
scrollit()
}

function scrollit(){
if (document.cmarquee01.document.cmarquee02.left>=thelength*(-1)){
document.cmarquee01.document.cmarquee02.left-=speed
setTimeout("scrollit()",100)
}
else{
document.cmarquee01.document.cmarquee02.left=marqueewidth
scrollit()
}
}

window.onload=regenerate2
