

// max # number of price grids (it's ok if there are less than this # on the page)
var numPriceGrids = 8;

// run setupTabs() from page before analytics code runs, so that menus work sooner
//addLoadEvent(setupTabs);

function updateflipbox(div) {
	// hide all price grids and reset all grid tabs to class name "grid-tab"
	for (i = 1; i <= numPriceGrids ; i++){
		g = "flipbox-" + i;
		if ($(g)) {
			$(g).style.display = "none";
		}
		gt = "grid-tab-" + i;
		if ($(gt)) {
			$(gt).className = "grid-tab";
		}
	}	
	// show the right one
	iDiv = (div.id).replace(/grid-tab-/,"");
	iDiv = "flipbox-" + iDiv;
	$(iDiv).style.display = "block";
	div.className='grid-tab-selected';
}

function setupTabs() {

	tabs = getElementsByClass("tab");
	for (i=0;i<tabs.length;i++) {	
		tabs[i].onmouseover = function() {
			this.className='tab on';
		}
		tabs[i].onmouseout = function() {
			this.className='tab';
		}
	}
	tabsActive = getElementsByClass("tab active");
	for (i=0;i<tabsActive.length;i++) {
		tabsActive[i].onmouseover = function() {
			this.className='tab active on';
		}
		tabsActive[i].onmouseout = function() {
			this.className='tab active';
		}
	}	

// Provider Grid Tabs
	if (getElementsByClass("grid-tab")) {
		gridTabs = getElementsByClass("grid-tab");
		for (i=0;i<gridTabs.length;i++) {	
			gridTabs[i].onmouseover = function() {
				if (this.className != 'grid-tab-selected') {
					this.className='grid-tab-over';
				}
			}
			gridTabs[i].onmouseout = function() {
				if (this.className != 'grid-tab-selected') {
					this.className='grid-tab';
				}
			}
			gridTabs[i].onclick = function() {
				if (this.className != 'grid-tab-selected') {
					updateflipbox(this);
				}
			}
		}
	}
	// above grabs elements by class name "grib-tab" - we also need to setup "grid-tab-active" w/ mouseover, etc.
	if (getElementsByClass("grid-tab-selected")) {
		gridTabSelected = getElementsByClass("grid-tab-selected");
		gridTabSelected[0].onmouseover = function() {
			if (this.className != 'grid-tab-selected') {
				this.className='grid-tab-over';
			}		
		}
		gridTabSelected[0].onmouseout = function() {
			if (this.className != 'grid-tab-selected') {
				this.className='grid-tab';
			}	
		}
		gridTabSelected[0].onclick = function() {
			if (this.className != 'grid-tab-selected') {
				updateflipbox(this);
			}
		}
	}

} 

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	if (classElements.length > 0) {
		return classElements;
	} else {
		return false;
	}
}




