var d=document, currentbanner=0;
var timerdefault=6;
var bannert=null;

imgs = new Array(), currentlogo=0;
var logot=null;

function init_js()
{
if (d.getElementById("banners")) {banner_init();}
if (d.getElementById("logourl")) {logo_init();}
}

function banner_init()
  {
  divs = d.getElementById("banners").childNodes;
  divs[0].xOpacity = .99;
  for(i=1;i<divs.length;i++) {divs[i].xOpacity = 0;}
  if (banners[0][1]==0) {banners[0][1]=timerdefault;}
  
  //if (document.getElementById('collapse')) {bannert=setTimeout("so_xfade(true)",(imagenames[3]*1000));}
  bannert=setTimeout("banner_so_xfade(true)",banners[0][1]*1000);
  }

function banner_so_xfade(dirflag)
  { 
  if (bannert) {clearTimeout(bannert);}
  cOpacity = divs[currentbanner].xOpacity;
  if (dirflag==true) {nIndex = divs[currentbanner+1]?currentbanner+1:0; } else {nIndex = currentbanner>0?currentbanner-1:divs.length-1;}
  nOpacity = divs[nIndex].xOpacity;
  
  cOpacity-=.05; 
  nOpacity+=.05;
	
  divs[nIndex].style.display = "block";
  divs[currentbanner].xOpacity = cOpacity;
  divs[nIndex].xOpacity = nOpacity;
	
  setOpacity(divs[currentbanner]); 
  setOpacity(divs[nIndex]);
 
  if(cOpacity<=0)
    {
	divs[currentbanner].style.display = "none";
	currentbanner = nIndex;
	//link = d.getElementById("bannerurl");
	//link.href=imagenames[(nIndex*4)+2];
	//link.title=imagenames[(nIndex*4)+1];
	//document.getElementById('counter').innerHTML=currentbanner+1 + " of " + imgs.length;
	//document.getElementById('status').innerHTML='showing'; 
	if (banners[nIndex][1]==0) {banners[nIndex][1]=timerdefault;}
	bannert=setTimeout("banner_so_xfade(true)",(banners[nIndex][1]*1000));	
	}
  else
    {
	//link = d.getElementById("bannerurl");
	//link.href="javascript: void(0)";
	//link.title="I'm changing at the moment - so I won't know which item you're trying to access";
	//document.getElementById('status').innerHTML='changing'; 
	bannerc=setTimeout("banner_so_xfade(" + dirflag + ")",75);
	}
  }
  
function logo_init()
  {
  if (imagenames.length <=1) {return;}
  imgs = d.getElementById("logourl").getElementsByTagName("img");
  imgs[0].xOpacity = .99;
  for(i=1;i<imgs.length;i++) {imgs[i].xOpacity = 0;}
  // only start transitions if already expanded
  logot=setTimeout("logo_so_xfade()",3000);
  }

function logo_so_xfade()
  { 
  if (logot) {clearTimeout(logot);}
  cOpacity = imgs[currentlogo].xOpacity;
  nIndex = imgs[currentlogo+1]?currentlogo+1:0;
  nOpacity = imgs[nIndex].xOpacity;
  
  cOpacity-=.05; 
  nOpacity+=.05;
	
  imgs[nIndex].style.display = "block";
  imgs[currentlogo].xOpacity = cOpacity;
  imgs[nIndex].xOpacity = nOpacity;
	
  setOpacity(imgs[currentlogo]); 
  setOpacity(imgs[nIndex]);
	
  if(cOpacity<=0)
    {
	imgs[currentlogo].style.display = "none";
	currentlogo = nIndex;
	link = d.getElementById("logourl");
	link.href=imagenames[(nIndex*3)+2];
	link.title=imagenames[(nIndex*3)+1];
	logot=setTimeout("logo_so_xfade(true)",3000);
	}
  else
    {
	link = d.getElementById("logourl");
	link.href="javascript: void(0)";
	link.title="I'm changing at the moment - so I won't know which item you're trying to access";
	logoc=setTimeout("logo_so_xfade()",75);
	}
  }
  
function setOpacity(obj)
  {
  if(obj.xOpacity>.99)
    {
	obj.xOpacity = .99;
	return;
	}
  obj.style.opacity = obj.xOpacity;
  obj.style.MozOpacity = obj.xOpacity;
  obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
  }
  
function formcheck(form)
  {
  if (form.firstname.value=="") {alert("Please tell us your first name(s)"); form.firstname.select(); form.firstname.focus(); return false;}
  if (form.lastname.value=="") {alert("Please tell us your last name"); form.lastname.select(); form.lastname.focus(); return false;}
  if (form.emailaddress.value=="") {alert("You must supply a contact email address"); form.emailaddress.select(); form.emailaddress.focus(); return false;}
  else
    {
    if (form.emailaddress.value.indexOf('@')==-1 || form.emailaddress.value.indexOf('.')==-1 || form.emailaddress.value.indexOf(' ')!=-1)
      {alert("The e-mail address you supplied appears to be invalid.\n\nE-mail addresses should never contain spaces - and always contain an '@' sign and at least one period. (full stop)"); form.emailaddress.select(); form.emailaddress.focus(); return false;}
    }
  if (form.telephone.value=="") {alert("Please supply a contact telephone number"); form.telephone.select(); form.telephone.focus(); return false;}
  if (form.enquiry.value=="") {alert("If you don't tell us your query, how can we assist you?"); form.enquiry.select(); form.enquiry.focus(); return false;}  
  if (!confirm("Send now?")) {return false;}
  return true;
  }
