
// preload

var navList = new Array('home','about_us','news','product_range','store_finder','contact_us');

for(var i=0;i<navList.length;i++)
{
	var tmp = new Image();
	tmp.src = "images/common/nav/" + navList[i] + "_over.gif";
}

////////////////////////////// ROLLOVERS ////////////////////////////// 
mouts = new Object();
//rollover the image named n, with the source image s (it guessed the source image if not provided)
function mover (n, s) {if (!document.images[n]) return; if (!s) {s = document.images[n].src; s = s.substr(0, s.lastIndexOf(".")) + "_over" + s.substr(s.lastIndexOf("."));} mouts._last = n; mouts[n] = document.images[n].src; document.images[n].src = s;}
//rollout of the image named n, or else the last image
function mout (n) {n = n ? n : mouts._last; if (!document.images[n]) return; document.images[n].src = mouts[n];}
////////////////////////////// ROLLOVERS ////////////////////////////// 


function clear_search(f)
{
	if(f.value == 'Search our site') f.value = '';
}

function do_search()
{
	if($('main_search_field').value != 'Search our site') document.location = "/search/" + $('main_search_field').value;
	return false;
}

function openUrl(url)
{

	window.open(url);
}

function contactEmail()
{

	failedElements=new Array();
	elementsToCheck=new Array();
	
	elementsToCheck.push('name');
	elementsToCheck.push('email');

	
	for(i=0;i<elementsToCheck.length;i++)
	{
		
		
		if(!validateElement(elementsToCheck[i],true))
		{
			failedElements.push(elementsToCheck[i]);
		}
		else
		{
			document.getElementById(elementsToCheck[i]+'indicator').style.display='none';
		}
	}
	

	if(failedElements.length>0)
	{
		if(document.getElementById('errormessage').style.display=='none')
		{
			new Effect.BlindDown("errormessage");
		}
		else
		{
			new Effect.Highlight("errormessage");
		
		}
	
		for(i=0;i<failedElements.length;i++)
		{
						new Effect.Appear(failedElements[i]+'indicator',{'startcolor':"#CFF193","queue":"end"});
			
		}
		
	}
	else
	{
	
		document.getElementById('sendform').style.display="none";
		new Effect.Appear('loading');
		setTimeout('contactEmailFinished()',1000)
	}
	
}












function takePartEmail()
{

	failedElements=new Array();
	elementsToCheck=new Array();
	
	elementsToCheck.push('name');
	elementsToCheck.push('email');
	elementsToCheck.push('telephone');
	
	
	for(i=0;i<elementsToCheck.length;i++)
	{
		
		
		if(!validateElement(elementsToCheck[i],true))
		{
			failedElements.push(elementsToCheck[i]);
		}
		else
		{
			document.getElementById(elementsToCheck[i]+'indicator').style.display='none';
		}
	}
	

	if(failedElements.length>0)
	{
		if(document.getElementById('errormessage').style.display=='none')
		{
			new Effect.BlindDown("errormessage");
		}
		else
		{
			new Effect.Highlight("errormessage");
		
		}
	
		for(i=0;i<failedElements.length;i++)
		{
						new Effect.Appear(failedElements[i]+'indicator',{'startcolor':"#CFF193","queue":"end"});
			
		}
		
	}
	else
	{
	
		document.getElementById('sendform').style.display="none";
		new Effect.Appear('loading');
		setTimeout('takePartEmailFinished()',1000)
	}
	
}


function forumSignUp()
{




	
	
	
	failedElements=new Array();
	
	elementsToCheck=new Array();
	
	elementsToCheck.push('firstname');
	elementsToCheck.push('surname');
	
	elementsToCheck.push('publicname');
		
	elementsToCheck.push('email');
	elementsToCheck.push('password');
	elementsToCheck.push('password2');
	
	
	for(i=0;i<elementsToCheck.length;i++)
	{
		
	
		if(!validateElement(elementsToCheck[i],true))
		{
			failedElements.push(elementsToCheck[i]);
		}
		else
		{
			document.getElementById(elementsToCheck[i]+'indicator').style.display='none';
		}
	}
	


	if(failedElements.length>0)
	{
		if(document.getElementById('errormessage').style.display=='none')
		{
			new Effect.BlindDown("errormessage");
		}
		else
		{
			new Effect.Highlight("errormessage");
		
		}
	
		for(i=0;i<failedElements.length;i++)
		{
						new Effect.Appear(failedElements[i]+'indicator',{'startcolor':"#CFF193","queue":"end"});
			
		}
		
			

	
		
		
		
		
		
	}
	else
	{
	
	
		
	if(document.getElementById('password').value!=document.getElementById('password2').value)
	{
		
		new Effect.BlindDown("passworderrormessage");
	
	}
	else
	{
	
	
	
		document.getElementById('sendform').style.display="none";
		new Effect.Appear('loading');
		
		new Effect.BlindUp("passworderrormessage");
		new Effect.BlindUp("publicnameerrormessage");
		new Effect.BlindUp("emailerrormessage");
		
	
	
		setTimeout('checkRemote()',1000)
	
	
	
		
	}
	}



}

function checkRemote()
{
			
new Ajax.Request('/check-forum-signup/?username='+document.getElementById('publicname').value+'&email='+document.getElementById('email').value, {
  method: 'get',
  onSuccess: function(transport) {
    
    passed=true
    if (transport.responseText.match(/usernamefail/))
    {
    	if(passed==true)
    	{	
    		restoreForm();
    	}
    	passed=false;
    	new Effect.BlindDown('publicnameerrormessage',{queue:'end'});
    }
 
    
    if (transport.responseText.match(/emailfail/))
    {
    	
    	if(passed==true)
    	{	
    		restoreForm();
    	}
   		new Effect.BlindDown('emailerrormessage',{queue:'end'});
   		
   		passed=false;
   	}

    
   if(passed==true)
   {
 
  		forumSignUpFinished();
   }
   
  }
});



}
	
function restoreForm()
{
		document.getElementById('loading').style.display="none";
		new Effect.Appear('sendform',{queue:'end'});

}

function forumSignUpFinished()
{

		elementsToAdd=new Array();
		
		elementsToAdd.push('firstname');
		elementsToAdd.push('surname');
		elementsToAdd.push('publicname');
		elementsToAdd.push('email');
		elementsToAdd.push('password');


		queryString=new String();
	
		for(i=0;i<elementsToAdd.length;i++)
		{
			queryString=queryString+addQuerystring(elementsToAdd[i]);
			
		}
		new Ajax.Request('forum-signup-complete/?'+queryString,{onSuccess:function()
		{	
			document.getElementById('loading').style.display="none";
			new Effect.Appear('sent');
		}
		}
		)
		
		
		

}



function takePartEmailFinished()
{
		
		
		elementsToAdd=new Array();
		
		elementsToAdd.push('name');
		elementsToAdd.push('email');
		elementsToAdd.push('telephone');
		elementsToAdd.push('organisation');
		elementsToAdd.push('job');
		elementsToAdd.push('question_1');
		elementsToAdd.push('question_2');

		queryString=new String();
	
		for(i=0;i<elementsToAdd.length;i++)
		{
			queryString=queryString+addQuerystring(elementsToAdd[i]);
			
		}
		new Ajax.Request('reflect-mail/?'+queryString,{onSuccess:function()
		{	
			document.getElementById('loading').style.display="none";
			new Effect.Appear('sent');
		}
		}
		)
		
}

function contactEmailFinished()
{
		
		
		elementsToAdd=new Array();
		
		elementsToAdd.push('name');
		elementsToAdd.push('email');
		elementsToAdd.push('subject');
		elementsToAdd.push('message');

		queryString=new String();
	
		for(i=0;i<elementsToAdd.length;i++)
		{
			queryString=queryString+addQuerystring(elementsToAdd[i]);
			
		}
		new Ajax.Request('reflect-mail/?'+queryString,{onSuccess:function()
		{	
			document.getElementById('loading').style.display="none";
			new Effect.Appear('sent');
		}
		}
		)
		
}





function addQuerystring(id)
{
	
	if(document.getElementById(id).value!='')
	{
	
		return '&'+id+'='+document.getElementById(id).value;
	
	}
	else
	{
		return '';
	}

}


function validateElement(id,mustexist)
{
	return validate(document.getElementById(id).value,mustexist)

}
function validate(value,mustexist)
{
	if(mustexist && value=="")
	{
		return false;
	}
	return true;
}