subnavslideref=new Array();
function showSubNav(node,tgpos,xoffset){
	var inertia=5;
	var pnode=node;
	var cnode=document.getElementById("SUB"+node.id);
	clearInterval(subnavslideref[pnode.id]);
	subnavslideref[node.id]=window.setInterval( function() { slideto(pnode,cnode,tgpos,xoffset,inertia) }, 80);
}
function slideto(pnode,cnode,tgpos,xoffset,inertia){
	var lpos=getAbsolutePosition(pnode);
	if (!xoffset) xoffset=0;
	cnode.style.position="absolute";
	cnode.style.left=(lpos.x+Number(xoffset))+"px";
	cnode.style.display="block";
	cnode.style.marginTop=getInertiaValue(parseInt(cnode.style.marginTop),tgpos,inertia)+"px";
	if ((tgpos<parseInt(cnode.style.marginTop))&&((parseInt(cnode.style.marginTop)-5)<tgpos)) {
		cnode.style.marginTop=(parseInt(cnode.style.marginTop)-0.1)+"px";
//		clearInterval(subnavslideref[pnode.id]);
	}
	else if ((Math.ceil(tgpos)==parseInt(cnode.style.marginTop))||(Math.floor(tgpos)==parseInt(cnode.style.marginTop))){
		clearInterval(subnavslideref[pnode.id]);
	}
}
function getInertiaValue(prop,dest,inertia) {
  return Math.ceil(prop+((dest-(prop))/inertia));
}
function getAbsolutePosition(element) {
var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
      var tmp = getAbsolutePosition(element.offsetParent);
      r.x += tmp.x;
      r.y += tmp.y;
    }
    return r;
  };
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
} 
function openNewWindow(URLtoOpen, windowName, windowFeatures){
newWindow=window.open(URLtoOpen, windowName, windowFeatures);
}
function toggleItems(array_ref,exception_id){
	for (var i=0;i<array_ref.length;i++) {
		for (var j=0;j<array_ref[i].length;j++) {
			var tg=document.getElementById(array_ref[i][j]);
			//alert(array_ref[i][j]);
			if (i!=exception_id) var display_mode="none";
			else var display_mode="block";
			tg.style.display=display_mode;
		}
	} 
}

function checkRegister(){
	var returnval=true;
	var form_data=document.forms['register_form'];
	var missing_fields='';
	if (document.register_form.forename.value.length<1) {
		missing_fields=missing_fields+document.register_form.form_error_missing_name.value+"\n";
	}
	if (document.register_form.forename.value==document.register_form.forename_prompt.value) {
		missing_fields=missing_fields+document.register_form.form_error_missing_name.value+"\n";
	}
	if (document.register_form.surname.value.length<1) {
		missing_fields=missing_fields+document.register_form.form_error_missing_surname.value+"\n";
	}
	if (document.register_form.surname.value==document.register_form.surname_prompt.value) {
		missing_fields=missing_fields+document.register_form.form_error_missing_surname.value+"\n";
	}
	if (document.register_form.dob.value.length<1) {
		missing_fields=missing_fields+document.register_form.form_error_missing_dob.value+"\n";
	}
	if (document.register_form.dob.value==document.register_form.dob_prompt.value) {
		missing_fields=missing_fields+document.register_form.form_error_missing_dob.value+"\n";
	}
	if (document.register_form.email.value.length<1) {
		missing_fields=missing_fields+document.register_form.form_error_missing_email.value+"\n";
	}
	if (document.register_form.email.value==document.register_form.email_prompt.value) {
		missing_fields=missing_fields+document.register_form.form_error_missing_email.value+"\n";
	}

	if (missing_fields!="") {
			alert(document.register_form.form_error_incomplete.value+"\n\n"+missing_fields);
			returnval=false
	}
	else if (!checkMail(document.register_form.email.value)) {
		alert(document.register_form.form_error_invalidEmail.value);
		returnval=false;
	}
	else if (document.register_form.privacy.checked!=true) {
		alert(document.register_form.form_error_acceptTerms.value);
		returnval=false;
	}
	else  {
		var dob=document.register_form.dob.value;
		var dobvalid=true;
		dob=dob.split('/');
		if ((dob.length!=3)||(dob[0].length!=2)||(dob[1].length!=2)||(dob[2].length!=4)) {
			dobvalid=false;
		}
		else if ((!IsNumeric(dob[0]))||(!IsNumeric(dob[2]))||(!IsNumeric(dob[2]))) dobvalid=false;
		if (dobvalid==false){
			alert(document.register_form.form_error_invalidDob.value);
			returnval=false;
		}
	}
	if (returnval==true) {
		if (document.register_form.mobile.value==document.register_form.mobile_prompt.value) {
			document.register_form.mobile.value='';
		}
	}
	return returnval;
}

function checkMail(email){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) {
		return true;
	}
	return false;
}

function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }


function swapSwf(path,base,lang,sqlink,xboxlink,preorder,press,nav,thispagename,firstloaddone,suppress){
	if (suppress==1) {}
	else {
	//var origdocholder=document.getElementById("main");
	//var docclone=origdocholder.innerHTML;
	//var iframeholder=document.createElement("iframe");
	//iframeholder.id="iframe_main";
	//iframeholder.name="iframe_main";
	//iframeholder.style.width=origdocholder.style.width;
	//iframeholder.style.height=origdocholder.style.height;
	//origdocholder.parentNode.insertBefore(iframeholder,origdocholder);
	//iframeholder.innerHTML=docclone;
	var thispage=window.location.href.split('?');
	var so = new SWFObject(path, "sotester", "100%", "500", "8");
	so.addParam("base", base);
	so.addParam("wmode", "transparent");
	so.addVariable("thispage", thispage[0]);
	so.addVariable("invar_lang",lang),
	so.addVariable("invar_thispagename",thispagename),
	so.addVariable("invar_basepath",base),
	so.addVariable("invar_initialised",firstloaddone),
	so.addVariable("invar_square_link",sqlink),
	so.addVariable("invar_xbox_live_link",xboxlink),
	so.addVariable("invar_preorder",preorder),
	so.addVariable("invar_press",press);
	so.addVariable("invar_nav",nav);
	so.write("flashcontent");	
}
}