if(document.images){
	preloadImage = new Image();
	preloadImage.src = "/img/load.gif";
	preloadImage = new Image();
	preloadImage.src = "/img/bullet.gif";
}

var out=new Array(0,0,0,0);
var timeout=new Array();
var timeoutQ=new Array();
var timeoutA=new Array();
var activeTimeout;
var g = false;
var serviceurl;
var origserviceurl;
var appearAfterDiv;
var arrayPos;

/*###### Nav section ######*/

function activeSet(activeId){
	var testPos;
	var testTab;
	var testSet=false;
	var activeIdNum=activeId.replace('c', '');

	if(g == false){
		tabString=clientArray[activeIdNum];
		tabsArray=tabString.split(",");
		
		for(x=0; x<4; x++){
			if(tabsArray[x]==1){
				active[x]=1;
			}else{
				active[x]=0;
			}
		}

		if(serviceurl!=''){
			switch (serviceurl){
				case 'websites':
					testPos=0;
					testTab='tab0a';
					if(tabsArray[testPos]==1){
						active_websites=activeIdNum;
						testSet=true;
					}
					break;

				case 'ecrm_email':
					testPos=1;
					testTab='tab1a';
					if(tabsArray[testPos]==1){
						active_ecrm_email=activeIdNum;
						testSet=true;
					}
					break;

				case 'campaigns':
					testPos=2;
					testTab='tab2a';
					if(tabsArray[testPos]==1){
						active_campaigns=activeIdNum;
						testSet=true;
					}
					break;

				case 'online_pr':
					testPos=3;
					testTab='tab3a';
					if(tabsArray[testPos]==1){
						active_online_pr=activeIdNum;
						testSet=true;
					}
					break;
			}
		}

		if(!testSet){
			serviceurl='';
			for (x=0; x<clientArray.length; x++){
				tabsArray=clientArray[x].split(",");

				$('c'+x).className='';
			}

			$(activeId).className='activebar';
		}else{
			serviceActive(testTab, activeId);
		}
	}
}

function activeSetOthers(activeId){
	var activeIdNum=activeId.replace('n', '');

	for (x=0; x<n; x++){
		$('n'+x).className='';
	}

	if(activeId!='n'){
		$(activeId).className='activebar';
	}
}

function activeOut(){
	for(x=0; x<4; x++){
		if(active[x]==1){
			slideDown(x);
			out[x]=1;
		}else{
			slideUp(x);
			out[x]=0;
		}
	}
}

function slideOver(activeId){
	clearTimeout(activeTimeout);
	tabString=clientArray[activeId.replace('c', '')];
	tabsArray=tabString.split(",");

	for(x=0; x<4; x++){
		if(tabsArray[x]==1 && out[x]==0){
			slideDown(x);
			out[x]=1;
		}else if(tabsArray[x]==1 && out[x]==1){
			clearTimeout(timeout[x]);
		}else if(tabsArray[x]==0 && out[x]==1){
			clearTimeout(timeoutQ[x]);
			clearTimeout(timeoutA[x]);
			slideUp(x);
		}
	}
}

function slideDown(element){
	$('tab'+element).className='half';
	timeoutQ[element]=setTimeout('$("tab'+element+'").className="quarter"', 40);
	timeoutA[element]=setTimeout('$("tab'+element+'").className="active"', 80);
}

function slideOut(activeId){
	tabString=clientArray[activeId.replace('c', '')];
	tabsArray=tabString.split(",");

	for(x=0; x<4; x++){
		if(tabsArray[x]==1 && out[x]==1){
			timeout[x]=setTimeout('slideUp("'+x+'")', 60);
		}
	}
	activeTimeout=setTimeout('activeOut()', 500);
}

function slideUp(element){
	$('tab'+element).className='';
	out[element]=0;
}

function serviceActive(service, activeId){
	switch (service.id){
		case 'tab0a':
			arrayPos=0;
			serviceurl='websites';
			break;
		case 'tab1a':
			arrayPos=1;
			serviceurl='ecrm_email';
			break;
		case 'tab2a':
			arrayPos=2;
			serviceurl='campaigns';
			break;
		case 'tab3a':
			arrayPos=3;
			serviceurl='online_pr';
			break;
	}

	for(x=0; x<4; x++){
		if(arrayPos==x){
			$('tab'+arrayPos).className='active';
			active[x]=1;
			out[x]=1;
		}else{
			slideUp(x);
			active[x]=0;
		}
	}

	for (x=0; x<clientArray.length; x++){
		tabsArray=clientArray[x].split(",");
		
		if(active_websites==x && arrayPos==0 && activeId!=0){
			$('c'+x).className='activebar';
		}else if(active_ecrm_email==x && arrayPos==1 && activeId!=0){
			$('c'+x).className='activebar';
		}else if(active_campaigns==x && arrayPos==2 && activeId!=0){
			$('c'+x).className='activebar';
		}else if(active_online_pr==x && arrayPos==3 && activeId!=0){
			$('c'+x).className='activebar';
		}else if(tabsArray[arrayPos]==1){
			$('c'+x).className='active';
		}else{
			$('c'+x).className='';
		}
	}
}

/*###### Ajax section ######*/

function appearToggle(linkelement){
	if(g == false){
		g = true;
		var pars = '';
		var linkurl=linkelement.href;
		var linktitle=linkelement.title;
		var element=linkelement.rel;
		var ffMacUrl;

		switch (element){
			case 'forexample':
				linkurl=linkurl.replace(origserviceurl, '');
				ffMacUrl=linkurl+serviceurl;
				linkurl=linkurl.replace('clients/', 'ajax/clients/')+serviceurl;

				top.document.title="Underwired* - Client: " + linktitle;				
				break;

			case 'service':
				element='forexample';
				ffMacUrl=linkurl;
				linkurl=linkurl.replace('service/', 'ajax/service/');

				top.document.title="Underwired* - " + linktitle;
				break;

			case 'news':
				addOnClickTo('linknews');
				$('linkback').href='/news/';
				
				element='forexample';
				linkurl=linkurl.replace('news/', 'ajax/news/');

				top.document.title="Underwired* - News: " + linktitle;
				break;
				
			case 'press':
				addOnClickTo('linkpress');
				$('linkback').href='/press/';
				
				element='forexample';
				linkurl=linkurl.replace('press/', 'ajax/press/');

				top.document.title="Underwired* - In the press: " + linktitle;
				break;

			case 'jobs':
				addOnClickTo('linkjobs');
				$('linkback').href='/jobs/';
				
				element='forexample';
				linkurl=linkurl.replace('jobs/', 'ajax/jobs/');

				top.document.title="Underwired* - Jobs: " + linktitle;
				break;
		}

		loading(1);

		appearAfterDiv=element;
		
		$(element).innerHTML='';
		$(element).style.display='none';

		var myAjax = new Ajax.Updater(
			element,
			linkurl, 
			{
				method: 'get', 
				parameters: pars,
				onSuccess: function(t) {
					if(isFFMac==1 && ((t.responseText).indexOf('<object')!=-1)){
						window.location=ffMacUrl;
					}
				},
				onComplete: function(t) {
					if(isFFMac==0 || (isFFMac==1 && ((t.responseText).indexOf('<object')==-1))){
						appearAfter();
					}
				}
			});
	}
}

function appearAfter(){
	new Effect.Appear(appearAfterDiv,{queue: 'end',duration: .6});
	loading(0);
	g = false;
}

function loading(action){
	if(action==1){
		loadingC='<img src="/img/load.gif" class="loading" width="38" height="35" alt="loading" title="loading" />';
		$('loading').innerHTML=loadingC;
	}else{
		loadingC='<a href="/" title="Underwired* homepage">Underwired*</a>';
		setTimeout("$('loading').innerHTML=loadingC;", 750);
	}
}

function contact(){
	if(g == false){
		g = true;
		var url = '/processcontact/';
		var pars = Form.serialize($('contactForm'));

		var checkThese=new Array(
			'email|Email address (mandatory)',
			'firstname|Forename (mandatory)',
			'surname|Surname (mandatory)',
			'message|Your message (mandatory)'
		);
		
		checkLoop(checkThese);

		loading(1);

		appearAfterDiv='contactstatus';
		
		new Ajax.Request(
			url, 
			{
			method: 'post', 
			parameters: pars,
			onSuccess: function(t) {
				eval(t.responseText);
				if(status==0){
					new Effect.Fade('contactFormDiv');
					$(appearAfterDiv).innerHTML='<p><strong>Thank you, we\'ll be in touch.</strong></p>';
					$('submit').disabled = false;
					loading(0);
					g = false;
				}else{
					$(appearAfterDiv).innerHTML='<p class="status">'+status+'</p>';
					$('submit').disabled = false;
					shakeStatus();
				}
			}
			});

		return false;
	}
}

function shakeStatus(){
	new Effect.Shake('contactFormDiv',40);
	loading(0);
	g = false;
}

function checkForm(theForm){
	if(theForm.id=='unsubForm'){
		var checkThese=new Array(
			'email|Email address'
		);
	
	}
	return checkLoop(checkThese);
}

function checkLoop(checkTheseArray){
	
	var alertBg = "#D00009";
	var okBg = "#ffffff";
	var elementType;
	var elementName;
	var elementDefault;
	var elementValue;
	var elementObject;
	var valuesArray;

	var email_regex = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
	for (var loop=0;loop<checkTheseArray.length;loop++){
		valuesArray=checkTheseArray[loop].split("|");
		
		elementObject=$(valuesArray[0]);
		elementDefault=valuesArray[1];

		elementType=elementObject.type;
		elementName=elementObject.name.toLowerCase();
		elementValue=elementObject.value;
		
		if((elementValue==""||elementValue==elementDefault)&&(elementType=="text" || elementType=="password")){
			elementObject.style.background = alertBg;
			elementObject.style.color = okBg;
			elementObject.focus();
			return false;
		}else if((elementValue==""||elementValue==elementDefault)&&(elementType=="textarea")){
			elementObject.style.background = alertBg;
			elementObject.style.color = okBg;
			elementObject.focus();
			return false;
		}else if((elementType=="select-one")&&(elementObject.options[elementObject.selectedIndex].value)==elementDefault){
			elementObject.style.background = alertBg;
			elementObject.style.color = okBg;
			elementObject.focus();
			return false;
		}else if((elementName.toLowerCase().match("email"))&&(elementType=="text")&&(!email_regex.test(elementValue))){
			elementObject.style.background = alertBg;
			elementObject.style.color = okBg;
			elementObject.focus();
			return false;
		}else if((elementObject.checked==false)&&(elementType=="checkbox")){
			elementObject.style.background = alertBg;
			elementObject.focus();
			return false;
		}else{
			if(elementType=="checkbox"){
				elementObject.style.background = "";
			}else{
				elementObject.style.background = okBg;
				elementObject.style.color = "#000000";
			}
		}
	}
	$("submit").disabled=true;
	return true;
}