// Credit for the very nice form styling javascript belongs to: http://livsey.org/
document.getElementsByClassName = function (needle)
{
  var         my_array = document.getElementsByTagName("*");
  var         retvalue = new Array();
  var        i;
  var        j;

  for (i = 0, j = 0; i < my_array.length; i++)
  {
    var c = " " + my_array[i].className + " ";
    if (c.indexOf(" " + needle + " ") != -1)
      retvalue[j++] = my_array[i];
  }
  return retvalue;
}

function addEvent(obj, evType, fn)
{
	if (obj.addEventListener)
	{
		obj.addEventListener(evType, fn, true);
		return true;
	} 
	else if (obj.attachEvent)
	{
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} 
	else 
	{
		return false;
	}
}

function getSource(e)
{
	if (typeof e == 'undefined')
	{
		var e = window.event;
	}
	var source;
	if (typeof e.target != 'undefined')
	{
		source = e.target;
	}
	else if (typeof e.srcElement != 'undefined')
	{
		source = e.srcElement;
	}
	else
	{
		return false;
	}
	return source
}

addEvent(window, 'load', function()
{
	var entries = document.getElementsByClassName('entry');
	var i;
	for (i=0; i<entries.length; i++)
	{
		entries[i].onmouseover = function()
		{
			this.className += ' hover';
		}
		entries[i].onmouseout = function()
		{
			this.className = this.className.replace(' hover', '');
		}
				
	}
});

//addEvent(window, 'load', checksize);
addEvent(window, 'load', function()
{
	var input, textarea, select;
	var inputs = document.getElementsByTagName('input');
	for (var i = 0; (input = inputs[i]); i++)
	{
		addEvent(input, 'focus', oninputfocus);
		addEvent(input, 'blur', oninputblur);
		addEvent(input, 'mouseover', oninputhover);
		addEvent(input, 'mouseout', oninputout);
	}
	var textareas = document.getElementsByTagName('textarea');
	for (var i = 0; (textarea = textareas[i]); i++)
	{
		addEvent(textarea, 'focus', oninputfocus);
		addEvent(textarea, 'blur', oninputblur);
		addEvent(textarea, 'mouseover', oninputhover);
		addEvent(textarea, 'mouseout', oninputout);		
	}
	var selectboxes = document.getElementsByTagName('select');
	for (var i = 0; (select = selectboxes[i]); i++)
	{
		addEvent(select, 'focus', oninputfocus);
		addEvent(select, 'blur', oninputblur);
		addEvent(select, 'mouseover', oninputhover);
		addEvent(select, 'mouseout', oninputout);		
	}
});

function oninputfocus(e)
{
	var source = getSource(e);
	var tmp = source.parentNode;
	while (tmp.nodeName!='FORM')
	{
		if (tmp.nodeName=='FIELDSET')
		{
			tmp.className += ' active';
			break;
		}
		tmp = tmp.parentNode;
	}
	source.className += ' active';
}


function oninputhover(e)
{
	var source = getSource(e);
	var tmp = source.parentNode;
	while (tmp.nodeName!='FORM')
	{
		if (tmp.nodeName=='FIELDSET')
		{
			tmp.className += ' hover';
			break;
		}
		tmp = tmp.parentNode;
	}
	source.className += ' hover';
}

function oninputblur(e)
{
	var source = getSource(e);

	var tmp = source.parentNode;
	while (tmp.nodeName!='FORM')
	{
		if (tmp.nodeName=='FIELDSET')
		{
			tmp.className=tmp.className.replace("active", "");
			break;
		}
		tmp = tmp.parentNode;
	}
	source.className = source.className.replace("active", "");
}



function oninputout(e)
{
	var source = getSource(e);

	var tmp = source.parentNode;
	while (tmp.nodeName!='FORM')
	{
		if (tmp.nodeName=='FIELDSET')
		{
			tmp.className=tmp.className.replace("hover", "");
			break;
		}
		tmp = tmp.parentNode;
	}
	source.className = source.className.replace("hover", "");
};


// nonsense for subscription
function testInput() {
var Email =  new String(document.inputForm.Email.value); 
var Correct = true; 
CharCount=1; 
strLength=Email.length; 
while ((CharCount < strLength) && (Email.charAt(CharCount) != '@')) 
{ 
	CharCount++ 
} 
if ((CharCount>= strLength) || (Email.charAt(CharCount) != '@'))  
{  
	alert ('Email address not valid.') 
	Correct = false; 
} 
else 
{ 
	CharCount += 2; 
} 
while ((CharCount < strLength) && (Email.charAt(CharCount) != '.')) 
{ 
	CharCount++ 
} 
if ((CharCount>= strLength - 1) || (Email.charAt(CharCount) != '.')) 
{ 
	alert ('Email address not valid.') 
	Correct = false; 
} 
return Correct 
} 

// bubble_pop! bubble-pop-pop!
var fri_hide = true;
var sat_hide = true;
var sun_hide = true;

function bubble_pop(our_bubble, e) {
	var bubble_fri = new getObj('sched_fri');
	var bubble_sat = new getObj('sched_sat');
	var bubble_sun = new getObj('sched_sun');

//	var IE = document.all?true:false;
//	var x = 0;
//	var y = 0;

//	if (IE) { // grab the x-y pos.s if browser is IE
//		var offset = new getScroll()
//		x = event.clientX + offset.x;
//		y = event.clientY + offset.y;
//	} else { // grab the x-y pos.s if browser is NS
//		x = e.pageX;
//		y = e.pageY;
//	}  

//	if (x < 0){x = 0;}
//	if (y < 0){y = 0;} 
//	y = (y-25);

	fri_hide = !fri_hide;
	sat_hide = !sat_hide;
	sun_hide = !sun_hide;

	if (our_bubble == 'sched_fri'){
		bubble_sat.style.visibility = 'hidden';
		sat_hide = true;
		bubble_sun.style.visibility = 'hidden';
		sun_hide = true;
		bubble_fri.style.visibility = (fri_hide) ? 'hidden' : 'visible';
//		bubble_fri.style.top = y + 'px';
//		bubble_fri.style.left = x + 'px';
	} else if (our_bubble == 'sched_sat') {
		bubble_fri.style.visibility = 'hidden';
		fri_hide = true;
		bubble_sun.style.visibility = 'hidden';
		sun_hide = true;
		bubble_sat.style.visibility = (sat_hide) ? 'hidden' : 'visible';
//		bubble_sat.style.top = y + 'px';
//		bubble_sat.style.left = x + 'px';
	} else if (our_bubble == 'sched_sun') {
		bubble_fri.style.visibility = 'hidden';
		fri_hide = true;
		bubble_sat.style.visibility = 'hidden';
		sat_hide = true;
		bubble_sun.style.visibility = (sun_hide) ? 'hidden' : 'visible';
//		bubble_sun.style.top = y + 'px';
//		bubble_sun.style.left = x + 'px';
	} else {
		bubble_fri.style.visibility = 'hidden';
		bubble_sat.style.visibility = 'hidden';
		bubble_sun.style.visibility = 'hidden';	
	}
	
}

function getObj(name) {
	if (document.getElementById) {
		this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
		}
	else if (document.all) {
		this.obj = document.all[name];
		this.style = document.all[name].style;
		}
	else if (document.layers) {
		if (document.layers[name]) {
			this.obj = document.layers[name];
	   		this.style = document.layers[name];
		} else {
			this.obj = document.layers.testP.layers[name];
	    	this.style = document.layers.testP.layers[name];
	   		}
 		}
	}
	
function getScroll() {
	this.x = 0, this.y = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		this.y = window.pageYOffset;
		this.x = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		this.y = document.body.scrollTop;
		this.x = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		this.y = document.documentElement.scrollTop;
		this.x = document.documentElement.scrollLeft;
	}
}

function findPos(obj,axis) {
	var curLeft = 0;
	var curTop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curLeft += obj.offsetLeft;
			curTop += obj.offsetTop;
			obj = obj.offsetParent;
			}
		}
	else if (obj.x)	curLeft += obj.x;
	else if (obj.y)	curTop += obj.y;
	if (axis == "x") {
		return curLeft;
		}
	else if (axis == "y"){
		 return curTop;
		 }
	}

