﻿
/*
	Temporary script to show / hide the search areas based on the tabs.
	Can be used in prod, but likely will be replaced by a .net control?!!?
*/
var arrIdPrefixes = ['enet', 'people', 'google'];

function setupHandlers(){
	var x = document.getElementById( 'google-tab' ),
		el;
	for( var n=0, len=arrIdPrefixes.length; n<len; n++ ){
		el = document.getElementById( arrIdPrefixes[n]+'-tab' );
		if( el )
			el.onclick = handleClick;
	}
}

///
function removeClass( elem, klass ){
	var regx = new RegExp( "\\b"+klass+"\\s*" );
	elem.className = elem.className.replace( regx, '' );
}
///
function addClass( elem, klass ){
	var regx = new RegExp( "\\b"+klass+"\\s*" );
	if( !elem.className.match( regx ) ) /* doesn't already have selected */
		elem.className += ' '+klass;
}
///
function setItemState( id, selected ){
	var elem = document.getElementById( id );
	if( !elem ) return;

	if( selected ) {
		addClass( elem, 'selected' );
	} else {
		removeClass( elem, 'selected' );
	}
}
///
function setPanelState( id, selected ){
	var elem = document.getElementById( id );
	if( !elem ) return;
	elem.style.display = selected ? 'block' : 'none';
}
///
function setAllTabsState( selected ){
	for( var n=0, len=arrIdPrefixes.length; n<len; n++ ){
		setItemState( arrIdPrefixes[n]+'-tab', selected );
	}
}
///
function setAllPanelsState( selected ){
	for( var n=0, len=arrIdPrefixes.length; n<len; n++ ){
		setPanelState( arrIdPrefixes[n]+'-search', selected );
	}
}
///
function handleClick( evt ) {
	var e = evt ? evt : window.event ? window.event : null;
	var target = e.target ? e.target : e.srcElement ? e.srcElement : null;

	if( target.nodeType == 3 ) target=target.parentNode;// handle Safari bug
	if( target.tagName.toLowerCase() == 'b' ) target=target.parentNode; // if the <b> tag was clicked, step up one level

	selectSearchTab( target );
	return false;
} 
///
function selectSearchTab( el ){
	var id = el.id,
		prefix = ( /[^-]+/ ).exec( id );
	
	setAllTabsState( false );
	setAllPanelsState( false );
	setItemState( id, true );
	setPanelState( prefix+'-search', true );
}



