﻿
/*
	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 = ['sitesearch', 'recipesearch'];

function setupHandlers(){
	/*var x = document.getElementById( 'recipesearch-search' ),
		el;
	for( var n=0, len=arrIdPrefixes.length; n<len; n++ ){
		el = document.getElementById( arrIdPrefixes[n]+'-tab' );
		if( el )
			el.onclick = handleClick;			
	}*/
	
	//default:
	var elem = document.getElementById( 'recipesearch-tab' );
	if( !elem ) return;	
    selectSearchTab( elem );
}

///
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, 'selectedsearch' );
	} else {
		removeClass( elem, ' selectedsearch' );
	}
}
///
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], 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.replace( '-tab', '' );
	var elem = document.getElementById( id );
	if( !elem ) return;	
	var	prefix = ( /[^-]+/ ).exec( id );
	
	setAllTabsState( false );
	setAllPanelsState( false );
	setItemState( id, true );
	setPanelState( prefix+'-search', true );
}

function ReloadPageToCancel()
{
    Sys.WebForms.PageRequestManager.getInstance().abortPostBack();
    document.body.innerHTML = 'Resetting Search...';
    window.location.href = window.location.href;
}

