
//GLOBALS

//rotator globals
var rotatedelay= 10000; //default mseconds between rotates
var rotatecontents1= new Array();
var rotatecontents2= new Array();
var rotatecontents3= new Array();
var rotatecounter1= 0;
var rotatecounter2= 0;
var rotatecounter3= 0;
var rotateindex1=  0;
var rotateindex2=  0;
var rotateindex3=  0;

//preloads
var preloadfiles = new Array;
var preloadimgs =  new Array;
var preloadindex=0;



// init
window.onload= function () {

	//mailto protectors
	convertmail();

	//rotatation and any nav preloads
	dopreloads();
}







//preload functions
//create a queue

function preload(file) {
	preloadfiles[preloadindex] =  file;
	preloadindex++;
}
//action the preload queue on window load so that normal images load first
function dopreloads() {
	var c;
	for (c=0;c<preloadindex;c++){
		preloadimgs[c] = new Image;
		preloadimgs[c].src = preloadfiles[c];
	}
}




//rotator functions
//rotates div content

function setdelayrate(nn) {
	rotatedelay=nn*1000;
}
function addrotator(text,rotateno) {
	if (rotateno==1) { rotatecontents1[rotateindex1]=text; rotateindex1++;}
	if (rotateno==2) { rotatecontents2[rotateindex2]=text; rotateindex2++;}
	if (rotateno==3) { rotatecontents3[rotateindex3]=text; rotateindex3++;}
}
function rotateslide(rotateno) {
	if (rotateno==1) {
		if (rotateindex1==0) return;
		document.getElementById('rotate1').innerHTML = rotatecontents1[rotatecounter1];
		if (rotateindex1==1) return;
		rotatecounter1++; 	if (rotatecounter1==rotatecontents1.length) {rotatecounter1= 0;}
		setTimeout("rotateslide(1)",rotatedelay);
	}
	else if (rotateno==2) {
		if (rotateindex2==0) return;
		document.getElementById('rotate2').innerHTML = rotatecontents2[rotatecounter2];
		if (rotateindex2==1) return;
		rotatecounter2++; 	if (rotatecounter2==rotatecontents2.length) {rotatecounter2= 0;}
		setTimeout("rotateslide(2)",rotatedelay);
	}
	else if (rotateno==3) {
		if (rotateindex3==0) return;
		document.getElementById('rotate3').innerHTML = rotatecontents3[rotatecounter3];
		if (rotateindex3==1) return;
		rotatecounter3++; 	if (rotatecounter3==rotatecontents3.length) {rotatecounter3= 0;}
		setTimeout("rotateslide(3)",rotatedelay);
	}
}


//add antispam event handlers, and mailto tag in two seperate very very paranoid steps
//mail protector
//converts mail class to mailto: href

function convertmail(){
	var elements= document.all?document.all:document.getElementsByTagName('span');
	var i,obj,email;
	for (i=0; i< elements.length; i++) {
		if (elements[i].className =='mail'){
			obj=elements[i];
			email= obj.innerHTML;
			email= email.replace(/blablabla/ig,'');
			obj.innerHTML= email.replace(/ /g,'');
			obj.onmouseover= function (){ insertmailto(this);}
		}
	}
}
function insertmailto(obj) {
	var email = obj.innerHTML;
	email = email.replace(/blablabla/ig,'');
	email = email.replace(/ /g,'');
	obj.innerHTML = '<a href="mailto:'+email+'">'+email+'</a>';
	obj.onmouseover= function (){};
}



function subtexthandlers () {
	//add subtext event handlers

	elements= document.all?document.all:document.getElementsByTagName('a');
	for (i=0; i< elements.length; i++) {
		if (elements[i].className =='subhead'){
			obj=elements[i];
			obj.onmouseover= function (){ rollon(this);}
			obj.onmouseout=  function (){ rolloff(this);}
		}
	}
}




//subtext tooltip

function rollon(obj) {
	var subtextobj= document.getElementById('subtext');

	//move the link objs title attribute to empty subtext div
	subtextobj.innerHTML=obj.getAttribute('title');
	obj.setAttribute('title','');

	//set position of subtext div
	var placement = findPos(obj);
	subtextobj.style.left = placement[0] + 19+"px";
	subtextobj.style.top =  placement[1] + 19+"px";

	//turn on subtext div
	subtextobj.className='subtexton';
}
function rolloff(obj) {
	var subtextobj= document.getElementById('subtext');

	//copy subtext back to title
	obj.setAttribute('title',subtextobj.innerHTML);

	//turn off subtext div
	subtextobj.className='subtextoff';
}


//lib function for subtext popups

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}


//popups

function showpopup(label) {
	document.getElementById(label).className='popupon';
}
function hidepopup(label) {
	document.getElementById(label).className='popupoff';
}


// textarea inserter

function insertBB(i,o) {
	if(o == undefined) { o=''; }
	var myField = document.getElementById('textfield');
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		if (sel.text.length > 0) {
			sel.text = i + sel.text + o;
		} else {
			sel.text = i + o;
		}
		myField.focus();
	}
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var cursorPos = endPos;
		var scrollTop = myField.scrollTop;
		if (startPos != endPos) {
			myField.value = myField.value.substring(0, startPos)
				+ i + myField.value.substring(startPos, endPos)
				+ o + myField.value.substring(endPos, myField.value.length);
			cursorPos = cursorPos + i.length + o.length;
		}
		else {
			myField.value = myField.value.substring(0, startPos)
				+ i + o
				+ myField.value.substring(endPos, myField.value.length);
			cursorPos = startPos + i.length;
		}
		myField.focus();
		myField.selectionStart = cursorPos;
		myField.selectionEnd = cursorPos;
		myField.scrollTop = scrollTop;
	}
	else {
		myField.value += i+o;
		myField.focus();
	}
}

