/*
	
	This Javascript file contains custom functions for use on the City of Hope website.
	
	Author: Joshua Rudd, joshua [at] bricksf [dot] com, Brick Design Inc.
	Requires: prototype.js 1.6
	          scriptaculous.js 1.8
	
*/

Event.observe(window,'load',function(){
	setTimeout('coh.balanceColumns()',500);
});

coh = new Object();

coh.ping = function()
{
	alert('ping');
}

coh.balanceColumnsX = function()
{
	colMaxHeight = 0;
	columns = $('main').select('.column');
	for (i=0;i<columns.length;i++) {
		colHeight = columns[i].getHeight();
		if (colMaxHeight < colHeight) colMaxHeight = colHeight;
	}
	for (i=0;i<columns.length;i++) {
		if (parentColumn = columns[i].up('.column')) {
			siblings = columns[i].previousSiblings();
			siblingHeight = 0;
			for (j=0;j<siblings.length;j++) {
				if (siblings[j].hasClassName('widget')) siblingHeight += siblings[j].getHeight();
			}
			columns[i].setStyle({'height': (colMaxHeight-siblingHeight)+36+'px'});
		} else {
			columns[i].setStyle({'height': colMaxHeight+36+'px'});
		}
	}
}

coh.balanceColumns = function()
{
	maxHeight = 0;
	columns = $('main').immediateDescendants();
	for (i=0;i<columns.length;i++) {
		if (columns[i].hasClassName('column')) {
			if (subColumns = columns[i].select('.column')) {
				subMaxHeight = 0;
				for (j=0;j<subColumns.length;j++) {
					if ((subColHeight = subColumns[j].getHeight()) > subMaxHeight) subMaxHeight = subColHeight;
				}
				for (j=0;j<subColumns.length;j++) {
					subColumns[j].setStyle({'height': subMaxHeight+36+'px'});
				}
			}
			if ((colHeight = columns[i].getHeight()) > maxHeight) maxHeight = colHeight;
		}
	}
	for (i=0;i<columns.length;i++) {
		if (columns[i].hasClassName('column')) {
			columns[i].setStyle({'height': maxHeight+'px'});
		}
	}
}

coh.balanceColumnsReset = function()
{
	maxHeight = 0;
	columns = $('main').immediateDescendants();
	for (i=0;i<columns.length;i++) {
		columns[i].setStyle({'height': 'auto'});
		if (columns[i].hasClassName('column')) {
			if (subColumns = columns[i].select('.column')) {
				for (j=0;j<subColumns.length;j++) {
					subColumns[j].setStyle({'height': 'auto'});
				}
			}
		}
	}
	coh.balanceColumns();
}

coh.clickClear = function(thisfield, defaulttext)
{
	if (thisfield.value == defaulttext) {
		thisfield.value = "";
	}
}

coh.clickRecall = function(thisfield, defaulttext)
{
	if (thisfield.value == "") {
		thisfield.value = defaulttext;
	}
}

coh.printPage = function()
{
	window.print();
	return false;
}

coh.jumpMenu = function(element)
{
	if (element.value) {
		document.location.href = element.value
	}
}

coh.toggleFeatures = function()
{
	var features = $('tabbed_features').select('.feature_trigger');
	maxheight = 0;
	for (i=0;i<features.length;i++) {
		if (features[i].next().getHeight() > maxheight) maxheight = features[i].next().getHeight();
		features[i].onclick = function()
		{
			for (i=0;i<features.length;i++) {
				if (features[i] != this && (element = $(features[i].href.substr(features[i].href.search('#')+1))).visible()) {
					Effect.Fade(element,{duration: .5});
					features[i].up().removeClassName('active');
				}
			}
			Effect.Appear(this.href.substr(this.href.search('#')+1),{duration: .5});
			this.up().addClassName('active');
			return false;
		}
	}
	$('tabbed_features').setStyle({'height': maxheight+12+'px'});
}
