
var preloadedTabs = new Hash();

/** 
*	function switchTab - change the top tab when clicked and load 
*	new content into 'contentPanel' div. if the content is still
*	being preloaded, wait until it's done.
*
*	@param	object	object triggering the onClick event
*	@param	string	node alias (eg. '/waw/telewizja/'), key in `preloadedTabs` hash
*/

function switchTab(currentObj, nodeId) {
	
	// extend object
	currentObj = $(currentObj);

	// get selected tab alias
	var nodeId = currentObj.select('a').first().readAttribute('href');

	if (this.preloadedTabs.get(nodeId) != undefined)
	{
		// if preloading is done, load the content from hash
		$('contentPanel').innerHTML = this.preloadedTabs.get(nodeId);
		$('contentPanel').innerHTML.evalScripts();
	}
	else {
		
		// ... still waiting to preload this tab content - in the meanwhile display a progress indicator,
		// then register timeout to call this function again after a while

		if ($('contentPanel').readAttribute('ajaxLoading') != 'true') {
			$('contentPanel').innerHTML = '<div class="ajaxProgressImage">Trwa ładowanie strony...<br><br><img src="/themes/aster_hyper/gfx/ajax-loader.gif"></div>';
			$('contentPanel').setAttribute('ajaxLoading', true);
		}
		
		setTimeout(this.switchTab.bind(this, currentObj, nodeId), 100);
		return false;
	}
	
	// mark active tab
	var tabs = $('topTabs').getElementsByTagName('li');

	for(var i=0; i<tabs.length;i++) {
		tabs[i].className = '';
	}
	currentObj.className='act';
	
	// update sifr titles
	if (typeof sIFR == "function")
	{
		sIFR.replaceElement("h1#page-title", named({
			sWmode: 'transparent',
			sFlashSrc: "/misc/swf/header.swf",
			sColor: "#000"
			})
		);
	}

	// update 'recommend page' link to reflect current selection
	//$$('#topTabs li.act a').each(function(s){
	//	recommendPageUpdate(s.readAttribute('href'));
	//	}
	//)

}

function preloadTabs() {
	
	this.preloadedTabs = new Hash();

	$$('#topTabs li a').each(function(nodeUrl){
				
			nodeUrl = nodeUrl.readAttribute('href');

			var url = nodeUrl+'/ajax/';

			new Ajax.Request(url, {
			  onComplete: function(response){ getResponse(response, nodeUrl) }
			}

			);

		} //endfunc
	); //endeach
}


function getResponse(response, nodeId) 
{ 
  preloadedTabs.set(nodeId, response.responseText);
}


/**
 *	Opens a 'recommend page to friend' window
 */

function recommendPage(queryString)
{	
	var nw = window.open('/pages/przeslij_znajomemu.php?q='+queryString,'polec','status=yes,scrollbars=no,resizable=no,width=580,height=640'); 
	nw.focus(); 
	return false;
}