
var ie4=document.all && !document.getElementById;
var timerID=null;

if(ie4) {
    document.getElementById = new Function('var expr = /^\\w[\\w\\d]*$/, elname=arguments[0]; if(!expr.test(elname)) { return null; } else if(eval("document.all."+elname)) { return eval("document.all."+elname); } else return null;');
}

function shownav2(div, v) {
	if(!document.getElementById) {
		alert("This site's navigation will not function properly in your browser. Recommended browsers: Firefox / Internet Explorer (version 4 or higher) / Safari / Netscape (version 6 or higher) / Opera. (The secondary navigation requires documentgetElementById or document.all=)");
		return;
	}

	clearTimeout(timerID);
	//hide all nav 2 divs
	for(var i=0; i<nav2divs.length; i++) {
		showdiv('nav2_'+i, 0);
		if(i != section) setclass(('a'+i), 'off');
	}

	if(div>=0 && div != section && v>0) setclass(('a'+div), 'over');
	//show current
	if(div==0 && v==0) {
		div=section;
		v=1;
	}
	if(div>=0) showdiv('nav2_'+div, v);
}

function nav2over(over) {
	if(over) {
		clearTimeout(timerID);
	} else {
		timerID = setTimeout("shownav2(0,0)", 500);
	}
}


function showdiagram(d, v) {
	showdiv('diagram'+d, v);
	showdiv('content', 1-v);
}

//scrolling for downloads
var ddindex = 0;
function showdownloads(ddir) {
	//d = direction (-1 or 1)
	//ddindex = current visible div
	//ddcount = no of divs set on page
	
	var ddi = ddindex+ddir;
	if(ddi<0 || ddi>ddcount) return;
	
	//hide current div
	showdiv('ddiv'+ddindex,0);
	//show next & update index
	showdiv('ddiv'+ddi,1);	
	ddindex = ddi;
	
	//update nav buttons
	ddback = (ddindex>0) ? 1 : 0;
	showdivi('ddback0',1-ddback);
	showdivi('ddback1',ddback);
	
	ddnext = (ddindex<ddcount) ? 1 : 0;
	showdivi('ddnext0',1-ddnext);
	showdivi('ddnext1',ddnext);	
}




//form verification
var fields = new Array('Forename','Surname','Company_Name','Email');

function verify() {
	var dfm = document.forms['dfm'];
	var missing=new Array();
	var msgstr='';
	
	for(var i=0; i<fields.length; i++) {
		if(dfm.elements[fields[i]].value.length<1) {
			missing[missing.length]=fields[i].replace('_',' ');
		}
	}
	

	if (missing.length>0) {
		msgstr+="Sorry, the form could not be submitted because required information was missing. Please check and complete the following required fields:"+unescape("%0A%0A%0D");
		for(var i=0; i<missing.length; i++) {
			msgstr+=missing[i]+unescape("%0A%0D");
		}
		
	}
	if (!validEmail(dfm.elements['Email'].value)) {
		msgstr+=unescape("%0A%0D")+"Please check the email address you entered - it doesn't appear to be valid."+unescape("%0A%0D");
	}
	
	if(msgstr.length>0) {
	    alert(msgstr);
		return false;	
	}
	return true;
}

function validEmail(str) {
//allow no email address
  if(str.length<1) {
    return true;
  }
  if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    var reg1 = new RegExp(reg1str);
    var reg2 = new RegExp(reg2str);
    if (!reg1.test(str) && reg2.test(str)) return true;
    return false;
  } else {
    if(str.indexOf("@") >= 0) return true;
    return false;
  }
}

//------------------------------------
//GENERAL DHTML ETC.

function setclass(divid, cls) {
    if(!document.getElementById || !document.getElementById(divid)) return;
    document.getElementById(divid).className=cls;  
}

function movediv(divid, l, t) {
	if(!document.getElementById || !document.getElementById(divid)) return;
	document.getElementById(divid).style.left=l+'px';
	document.getElementById(divid).style.top=t+'px';
}
function showdiv(divid, v) {
	if(!document.getElementById || !document.getElementById(divid)) return;
	document.getElementById(divid).style.display = (v) ? 'block' : 'none' ;
}
function showdivi(divid, v) {
	if(!document.getElementById || !document.getElementById(divid)) return;
	document.getElementById(divid).style.display = (v) ? 'inline' : 'none' ;
}
function updatecontent(divid, content) {
	if(!ie4 && !document.getElementById || !document.getElementById(divid)) return;
	document.getElementById(divid).innerHTML = '';
	document.getElementById(divid).innerHTML = content;
}


//--------------------------------------
//Press Release


function showpr(v) {
	showdiv('pressrelease', v);
}

