/******* x - cross-browser JavaScript ***********/

var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xUA=navigator.userAgent.toLowerCase();
if(window.opera){
  var i=xUA.indexOf('opera');
  if(i!=-1){
    var v=parseInt(xUA.charAt(i+6));
    xOp7Up=v>=7;
    xOp6Dn=v<7;
  }
}
else if(navigator.vendor!='KDE' && document.all && xUA.indexOf('msie')!=-1){
  xIE4Up=parseFloat(navigator.appVersion)>=4;
  xIE4=xUA.indexOf('msie 4')!=-1;
  xIE5=xUA.indexOf('msie 5')!=-1;
}
else if(document.layers){xNN4=true;}
xMac=xUA.indexOf('mac')!=-1;

function xGetElementById(e) {
  if(typeof(e)!='string') return e;
  if(document.getElementById) e=document.getElementById(e);
  else if(document.all) e=document.all[e];
  else e=null;
  return e;
}

function xGetElementsByTagName(t,p) {
  var list = null;
  t = t || '*';
  p = p || document;
  if (xIE4 || xIE5) {
    if (t == '*') list = p.all;
    else list = p.all.tags(t);
  }
  else if (p.getElementsByTagName) list = p.getElementsByTagName(t);
  return list || new Array();
}

function xDef() {
  for(var i=0; i<arguments.length; ++i){if(typeof(arguments[i])=='undefined') return false;}
  return true;
}

function xPageX(e) {
  if (!(e=xGetElementById(e))) return 0;
  var x = 0;
  while (e) {
    if (xDef(e.offsetLeft)) x += e.offsetLeft;
    e = xDef(e.offsetParent) ? e.offsetParent : null;
  }
  return x;
}

function xPageY(e) {
  if (!(e=xGetElementById(e))) return 0;
  var y = 0;
  while (e) {
    if (xDef(e.offsetTop)) y += e.offsetTop;
    e = xDef(e.offsetParent) ? e.offsetParent : null;
  }
//  if (xOp7Up) return y - document.body.offsetTop; // v3.14, temporary hack for opera bug 130324 (reported 1nov03)
  return y;
}

function xScrollLeft(e, bWin)
{
  var offset=0;
  if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
    var w = window;
    if (bWin && e) w = e;
    if(w.document.documentElement && w.document.documentElement.scrollLeft) offset=w.document.documentElement.scrollLeft;
    else if(w.document.body && xDef(w.document.body.scrollLeft)) offset=w.document.body.scrollLeft;
  }
  else {
    e = xGetElementById(e);
    if (e && xNum(e.scrollLeft)) offset = e.scrollLeft;
  }
  return offset;
}
function xScrollTop(e, bWin)
{
  var offset=0;
  if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') {
    var w = window;
    if (bWin && e) w = e;
    if(w.document.documentElement && w.document.documentElement.scrollTop) offset=w.document.documentElement.scrollTop;
    else if(w.document.body && xDef(w.document.body.scrollTop)) offset=w.document.body.scrollTop;
  }
  else {
    e = xGetElementById(e);
    if (e && xNum(e.scrollTop)) offset = e.scrollTop;
  }
  return offset;
}

function xEvent(evt) // object prototype
{
  var e = evt || window.event;
  if(!e) return;
  if(e.type) this.type = e.type;
  if(e.target) this.target = e.target;
  else if(e.srcElement) this.target = e.srcElement;

  // Section B
  if (e.relatedTarget) this.relatedTarget = e.relatedTarget;
  else if (e.type == 'mouseover' && e.fromElement) this.relatedTarget = e.fromElement;
  else if (e.type == 'mouseout') this.relatedTarget = e.toElement;
  // End Section B

  if(xOp6Dn) { this.pageX = e.clientX; this.pageY = e.clientY; }
  else if(xDef(e.pageX,e.pageY)) { this.pageX = e.pageX; this.pageY = e.pageY; }
  else if(xDef(e.clientX,e.clientY)) { this.pageX = e.clientX + xScrollLeft(); this.pageY = e.clientY + xScrollTop(); }

  // Section A
  if (xDef(e.offsetX,e.offsetY)) {
    this.offsetX = e.offsetX;
    this.offsetY = e.offsetY;
  }
  else if (xDef(e.layerX,e.layerY)) {
    this.offsetX = e.layerX;
    this.offsetY = e.layerY;
  }
  else {
    this.offsetX = this.pageX - xPageX(this.target);
    this.offsetY = this.pageY - xPageY(this.target);
  }
  // End Section A
  
  if (e.keyCode) { this.keyCode = e.keyCode; } // for moz/fb, if keyCode==0 use which
  else if (xDef(e.which) && e.type.indexOf('key')!=-1) { this.keyCode = e.which; }

  this.shiftKey = e.shiftKey;
  this.ctrlKey = e.ctrlKey;
  this.altKey = e.altKey;
}
function xAddEventListener(e,eT,eL,cap)
{
  if(!(e=xGetElementById(e))) return;
  eT=eT.toLowerCase();
  if((!xIE4Up && !xOp7Up) && e==window) {
    if(eT=='resize') { window.xPCW=xClientWidth(); window.xPCH=xClientHeight(); window.xREL=eL; xResizeEvent(); return; }
    if(eT=='scroll') { window.xPSL=xScrollLeft(); window.xPST=xScrollTop(); window.xSEL=eL; xScrollEvent(); return; }
  }
  var eh='e.on'+eT+'=eL';
  if(e.addEventListener) e.addEventListener(eT,eL,cap);
  else if(e.attachEvent) e.attachEvent('on'+eT,eL);
  else eval(eh);
}

function xInsertRule(ss, sel, rule, idx)
{
  if (!(ss=xGetElementById(ss))) return false;
  if (ss.insertRule && !(xIE5 && xMac) ) { ss.insertRule(sel + "{" + rule + "}", (idx>=0?idx:ss.cssRules.length)); } // DOM
  else if (ss.addRule) { ss.addRule(sel, rule, idx); } // IE
  else return false;

  return true;
}

function xClientWidth()
{
  var w=0;
  if(xOp6Dn) w=window.innerWidth;
  else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientWidth)
    w=document.documentElement.clientWidth;
  else if(document.body && document.body.clientWidth)
    w=document.body.clientWidth;
  else if(xDef(window.innerWidth,window.innerHeight,document.height)) {
    w=window.innerWidth;
    if(document.height>window.innerHeight) w-=16;
  }
  return w;
}

function xClientHeight()
{
  var h=0;
  if(xOp6Dn) h=window.innerHeight;
  else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientHeight)
    h=document.documentElement.clientHeight;
  else if(document.body && document.body.clientHeight)
    h=document.body.clientHeight;
  else if(xDef(window.innerWidth,window.innerHeight,document.width)) {
    h=window.innerHeight;
    if(document.width>window.innerWidth) h-=16;
  }
  return h;
}

function pl(n)
{
	if (!document.ic_i)
		document.ic_i = new Array();
	var e = document.ic_i[document.ic_i.length-1] = new Image;
	e.src = n;
}

// Resize

//#CONTENT top margin
x=((xClientHeight() - 451)/2);
x= Math.max(x,0);

//#LEFT top
x =((xClientHeight() - 451)/2);
x = Math.max(x,0);

if ( xClientHeight() < 768 )
{

	document.write( "<style type=\"text/css\">"
	+ "body {"
	+ "height: " + Math.max(xClientHeight(),481) + "px;"
	+ "}"
	+ ".boxr, .boxn {"
	+ "height: " + Math.max(xClientHeight(),481) + "px;"
	+ "}"
	+ "#content {"
	+ "margin-top: " + x + "px;"
	+ "}"
	+ "#contentInverted {"
	+ "margin-top: " + x + "px;"
	+ "}"
	+ "#bottomNav {"
	+ "top: " + (x + 451 + 15) + "px;"
	+ "}"	
	+ "#backToStudy {"
	+ "top: " + (x + 451 + 15) + "px;"
	+ "}"	
	+ "#left {"
	+ "top: " + x + "px;"
	+ "}"
	+ "#contentCentreInverted {"
	+ "top: " + (x +34) + "px;"
	+ "}"
	+ "#contentCentre {"
	+ "top: " + (x +34) + "px;"
	+ "}</style>\n" );
	//window.alert("adjusted height");
}


//#CONTENT left margin
y=((xClientWidth() - 861)/2);
y= Math.max(y,0);

//#LEFT left
x =((xClientHeight() - 451)/2);
x = Math.max(x,0);


if ( xClientWidth() < 1000 )
{
	document.write( "<style type=\"text/css\">"
	+ "body {"
	+ "width: " + Math.max(xClientWidth(),915) + "px;"
	+ "}"
	+ ".boxr, .boxn {"
	+ "width: " + Math.max(xClientWidth(),900) + "px;"
	+ "}"
	+ "#content {"
	+ "margin-left: " + y + "px;"
	+ "}"
	+ "#contentInverted {"
	+ "margin-left: " + y + "px;"
	+ "}"
	+ "#bottomNav {"
	+ "left: " + (y + 326) + "px;"
	+ "}"
	+ "#backToStudy {"
	+ "left: " + (y + 326 + 155) + "px;"
	+ "}"
	+ "#left {"
	+ "left: " + y + "px;"
	+ "}"
	+ "#contentCentreInverted {"
	+ "left: " + (y + 292) + "px;"
	+ "}"
	+ "#contentCentre {"
	+ "left: " + (y + 292) + "px;"
	+ "}</style>\n" );
	//window.alert("adjusted width");
}

if ( xClientHeight() < 547 )
{
	document.write( "<style type=\"text/css\">"
	+ "body {"
	+ "height: 481px;"
	+ "}"
	+ ".boxr, .boxn {"
	+ "height: 481px;"
	+ "}"
	+ "#content {"
	+ "margin-top: 0px;"
	+ "}"
	+ "#contentInverted {"
	+ "margin-top: 0px;"
	+ "}"
	+ "#bottomNav {"
	+ "top: 466px;"
	+ "}"	
	+ "#backToStudy {"
	+ "top: 466px;"
	+ "}"	
	+ "#left {"
	+ "top: 0px;"
	+ "}"
	+ "#contentCentreInverted {"
	+ "top: 34px;"
	+ "}"
	+ "#contentCentre {"
	+ "top: 34px;"
	+ "}</style>\n" );
	//window.alert("adjusted height2");
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return unescape(dc.substring(begin + prefix.length, end));
}

// Backgrounds

var arrPics = [
	"HomeBackdrop-1.jpg"
	,"HomeBackdrop-2.jpg"
	,"HomeBackdrop-3.jpg"
	,"HomeBackdrop-4.jpg"
	,"HomeBackdrop-5.jpg"
	,"HomeBackdrop-6.jpg"
	,"HomeBackdrop-7.jpg"
];

function bg(n) { return "/assets/wri01/img/backdrops/" + arrPics[n]; }

function ShowCycle()
{
	var b=0,c=document.styleSheets;
	if (!c) return;
	for (i = 0; i < c.length; i++) {
		var s = c[i] ; if (!s) continue;
		var r = s.rules ? s.rules : s.cssRules;
		for (j = 0; j < Math.min(r.length,2); j++)
			if (r[j].selectorText==".boxr")
				b=1;
	}
	if ( !b ) return;
	var n, dt=new Date(), e, s = false;
	n = parseInt( getCookie("bg") );
	if ( isNaN(n) )
		n = 0;
		
		//c=document.styleSheets
		
	xInsertRule(c[c.length-1], ".boxr", "background-image: url('" + bg(n) + "')", -1);
	n = (n+1)%arrPics.length;
	pl( bg(n) );
	dt.setTime( dt.getTime() + 1000*60*60*24*7 );
	document.cookie = "bg=" + n + ";expires=" + dt.toGMTString();
}
ShowCycle();

// Gallery
function convert(strimg, ext) 
{
	var i = strimg.length;
	if (!i) return;
	strimg=strimg.substr(0,i-7);
	strimg+=ext;
	strimg+='.jpg';
	return strimg;
}

function onMouseOver(evt)
{
	var e = new xEvent(evt);
	e = e.target;
	e.src = convert(e.src, 'sel');
}

function onMouseOut(evt)
{
	var e = new xEvent(evt);
	e = e.target;
	e.src = convert(e.src, 'neu');
}

function InitGallery(strGalleryId)
{
	var elGallery, arr, i;
	
		
	elGallery = xGetElementById(strGalleryId);
	arr = xGetElementsByTagName("img", elGallery);
	for (i = 0; i < arr.length; ++i) {
		pl( convert(arr[i].src, 'sel') );
		xAddEventListener(arr[i], 'mouseover', onMouseOver, false);
		xAddEventListener(arr[i], 'mouseout', onMouseOut, false);
	}
}

function IC_Contact(u,d,c){var pre="mai";document.write("<a href=\""+pre+"lto:"+u+"%40"+d+"\">");if(c) document.write(u+"&#64;"+d + "</a>");}
  