//Macromedia Functions
function MM_swapImgRestore() 
{
	var i,x,a=document.MM_sr; 
	for (i=0; a && i<a.length && (x=a[i]) && x.oSrc; i++) 
		x.src=x.oSrc;
}

function MM_preloadImages() 
{
	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 MM_findObj(n, d) 
{
	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); 
	
	return x;
}

function MM_swapImage() 
{
	var i, j=0, x, a=MM_swapImage.arguments; 
	
	document.MM_sr = new Array; 
	for (i=0; i<(a.length-2); i+=3)
		if ((x=MM_findObj(a[i]))!=null)
		{
			document.MM_sr[j++]=x; 
			if(!x.oSrc) 
				x.oSrc=x.src; x.src=a[i+2];
		}
}

function MM_reloadPage(init) 
{  
	//reloads the window if Nav4 resized
	if (init==true) with (navigator) 
	{
		if ((appName=="Netscape") && (parseInt(appVersion)==4))
		{
			document.MM_pgW=innerWidth; 
			document.MM_pgH=innerHeight; 
			onresize=MM_reloadPage; 
		}
	}
	else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) 
		location.reload();
}

function MM_showHideLayers() 
{
	var i,p,v,obj,args=MM_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) 
		if ((obj=MM_findObj(args[i]))!=null) 
		{ 
			v=args[i+2];
			if (obj.style) 
			{ 
				obj=obj.style; 
				v=(v=='show')?'visible':(v='hide')?'hidden':v; 
			}
			obj.visibility=v; 
		}
}

function Trim(sString)
{
	return sString.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

//Site Functions
function validatereview(frm)
{
	// csv list of values to check
	fieldlist = new Array("firstname", "lastname", "email", "review");
	displayname = new Array("your firstname.", "your lastname.", "your email address.", "your review.");
	for(element=0; element<fieldlist.length; element++)
	{
		doc = eval('frm.' + fieldlist[element]);
		if(Trim(doc.value) == "")
		{
			if (displayname[element])
			{
				alert('You must enter a value for ' + displayname[element]); 
			}
			else
			{
				alert('You must enter a value for ' + fieldlist[element]); 
			}
			doc.value = "";
			doc.focus();
			return false;
		}
	}
	return validateemail(frm.email);
}

function validatefangallery(frm)
{
	// csv list of values to check
	fieldlist = new Array("firstname", "lastname", "email", "photo");
	displayname = new Array("your firstname.", "your lastname.", "your email address.", "your photo.");
	for(element=0; element<fieldlist.length; element++)
	{
		doc = eval('frm.' + fieldlist[element]);
		if(Trim(doc.value) == "")
		{
			if (displayname[element])
			{
				alert('You must enter a value for ' + displayname[element]); 
			}
			else
			{
				alert('You must enter a value for ' + fieldlist[element]); 
			}
			doc.value = "";
			doc.focus();
			return false;
		}
	}
	return validateemail(frm.email);
}

function validateorder(frm)
{
	// csv list of values to check
	fieldlist = new Array("firstname", "lastname", "email", "address1", "postcode");
	displayname = new Array("your firstname.", "your lastname.", "your email address.", "your mailing address.", "your post/zip code.");
	for(element=0; element<fieldlist.length; element++)
	{
		doc = eval('frm.' + fieldlist[element]);
		if(Trim(doc.value) == "")
		{
			if (displayname[element])
			{
				alert('You must enter a value for ' + displayname[element]); 
			}
			else
			{
				alert('You must enter a value for ' + fieldlist[element]); 
			}
			doc.value = "";
			doc.focus();
			return false;
		}
	}
	return validateemail(frm.email);
}

function validateemail(doc)
{

	//Simple Email validation
	//doc = frm.email;
	//Check that there is an @ symbol in there and that it is not the first character
	if (doc.value.indexOf ('@', 0) < 1)
	{
		alert("Please ensure you have entered a valid email address");
		doc.focus();
		return false;
	}
	else
	{
		//Now check that there is a . after the @ symbol and that there are characters between the @ and the .
		if (doc.value.indexOf ('.', doc.value.indexOf ('@', 0)) < (doc.value.indexOf ('@', 0) + 3))
		{
			alert("Please ensure you have entered a valid email address.");
			doc.focus();
			return false;
		}
		
		//Now check to ensure that the . is not the last character entered into the string.
		if (doc.value.lastIndexOf(".") == (doc.value.length - 1))
		{
			alert("Please make sure you have entered a valid email address.");
			doc.focus();
			return false;
		}
	}
}

function GoBack()
{
	history.back();
	return;
}
