/*
 *  Functions 
 */

var TabSets=new Array();
var nTabSetsCount=0;
var selectedTab=null;

function InitTabs(){	 
 var divs=document.getElementsByTagName('div'); 
 var nTabCount=0;
 var sTabId=null;
 for(var i = 0;i < divs.length; i++){
  
   if (/\btabset\b/.exec(divs[i].className)){ //si se trata de un tabSet nuevo 
	   nTabSetsCount++;
		 TabSets[nTabSetsCount]=new TabSet();	
		 TabSets[nTabSetsCount].id="tabSet"+nTabSetsCount;
		 TabSets[nTabSetsCount].element=divs[i];
		 divs[i].id=TabSets[nTabSetsCount].id;
		 TabSets[nTabSetsCount].makeLinks();		  
	 } 
	 else{ 	 	 
  	 if (/\btabset\b/.exec(divs[i].parentNode.className)){	//si se trata de un tab se aņade al ultimo tabSet creado	 
       nTabCount++;
    	 sTabId=divs[i].id;
  		 TabSets[nTabSetsCount].appendTab(divs[i]);
			 TabSets[nTabSetsCount].draw();
		 }
	 }
 
 }
}

function TabSet(){
  this.selectedTab=null;
	this.tabs=new Array();
	this.ids=new Array()
	this.links=new Array();
	this.element=null;
	this.height=0;

	this.appendTab=function(element){
  	this.tabs[element.id]= new Tab(element);
		this.ids.push(element.id);
		this.tabs[element.id].hide();
	}
	
	this.draw=function(){
		this.selectedTab=this.tabs[this.ids[0]];
		this.show(this.ids[0]);
		navs=document.getElementsByTagName('ul');
	}
	
	this.show=function(tabId){
		if (this.tabs[tabId]){
		  this.selectedTab.hide();	
      for(var i = 1;i < this.ids.length; i++){
  		  	this.tabs[this.ids[i]].hide();
    	}
			this.tabs[tabId].show(); 
		}
		if (this.links[tabId]){
      for(var i = 0;i < this.ids.length; i++){
  		  	this.links[this.ids[i]].className="unselected";
					
					
    	}
			this.links[tabId].className="selected";
			 
		}
		
	}	 
		
	this.makeLinks=function(){
     var listItems=document.getElementsByTagName('li');
     for (var i=0;i<listItems.length;i++){
    	   if (listItems[i].parentNode.parentNode.id==this.id){
         listItemLink=listItems[i].firstChild;
				 listItemLink.className="unselected";
				 addEvent(listItemLink,'click',showTab); 
				 listItemId=listItemLink.href.split('#')[1];				 
				 this.links[listItemId]=listItemLink;  
    		 }
     }	
	}
	
}

function Tab(div){
  this.hidden=true;
	this.element=div;
	this.id=this.element.id;
	
  this.show=function(){
		  this.element.className="tab selected";	
	}

  this.hide=function(){
		  this.element.className="tab hidden";	
	}
	
	this.toggle=function(){
  	if (this.hidden){
		  this.show();
  	}
		else{
		  this.hide();
  	}		
	}
}

function showTab(e) {
 if (typeof e == 'undefined') {
   var e = window.event;
 }
 var source;
 if (typeof e.target != 'undefined') {
   source = e.target;
 } else if (typeof e.srcElement != 'undefined') {
   source = e.srcElement;
 } else {
   return true;
 }
 listItemId=source.href.split('#')[1];
 for(var i = 1;i < TabSets.length; i++){
	TabSets[i].show(listItemId);
 }
 return false;
} 	

function QuickNav(){
  var titles=document.getElementsByTagName('h2');
	var nav=document.createElement('ul');
	var quickNavElement=document.getElementById('quicknav');
	for (var i=0;i<titles.length;i++){
	  var entryDiv=titles[i].parentNode;
		entryDiv.id="entry"+i;
		var linkText=titles[i].innerHTML;
		var linkElement=document.createElement('li');
		var linkLink=document.createElement('a');
		linkLink.innerHTML=linkText;		
		linkLink.setAttribute('href',"#"+entryDiv.id);
		linkElement.appendChild(linkLink);		
		nav.appendChild(linkElement);
	}
	quickNavElement.appendChild(nav);
	quickNavElement.style.display="block";	
}

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, true);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}

function doSearch(f){
	var query=f.action+'?'+Form.serialize(f);
	var loadingSearch=$('loading_search');
	new Ajax.Updater('search_results', query, {
																		 				 method: 'get',
																		 				 onLoading: function(){loadingSearch.style.display="block";},
																						 onComplete: function(){loadingSearch.style.display="none";$('close_search_results').style.display="block";},
																						 });
}

function closeSearchResults(){
  $('search_results').innerHTML="";
	$('close_search_results').style.display='none';
}

addEvent(window, 'load', InitTabs);
addEvent(window, 'load', QuickNav);


