

function Buttons_Factory_Obj()
{
	this.activeArea_=null;
	
	this.removeBtn = function(btn)
	{
		if(btn!=null)
		{
			btn.parentNode.removeChild(btn);
		}
		
	}	
	
	this.rollBtn = function(state,btn)
	{
		var elem=(window.event)?window.event.srcElement:btn;
		if(typeof btns[elem.id]=='undefined')
		{
			return;
		}
		
		if(state==1)
		{
			elem.src=btns[elem.id+"O"].src;
			elem.style.cursor="pointer";
		}
		else
		{
			elem.src=btns[elem.id].src;
		}
	}
	
	this.rollTab=function(tab,state)
	{
		var elem	=	(window.event)?window.event.srcElement:tab;
		var id		=	elem.id;
		var area	=	id.replace("_tab",'');
	
		if( this.activeArea_== area )
		{
			return;
		}

	
		
		if(state==1)
		{
			var src=btns[id+"O"].src;
			elem.style.cursor="pointer";
		}
		else
		{
			var src=btns[id].src;
		}	
		
		elem.src=src;
	}
	
	this.makeViewDetailsBtn=function(i)
	{
			var j = (typeof i=='undefined')?'':i;
			
			
			var detailsBtn=document.createElement('img');
				detailsBtn.setAttribute('id','view_details_btn'+i);
				detailsBtn.setAttribute('index',i);
				detailsBtn.setAttribute('src', "images/interface/buttons/view_details_btn.png");
		
				detailsBtn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns["view_details_btnO"].src;
							}
							
				detailsBtn.onmouseout=function()
							{
								this.src=btns["view_details_btn"].src;
							}
		return detailsBtn;		
	}//end makeview details button
	
	
	this.toggleLogin =function()
	{
		if(document.getElementById('login_div_blue').style.visibility=='visible')
		{
			document.getElementById('login_div_blue').style.visibility='hidden';
		}
		else
		{
			document.getElementById('login_div_blue').style.visibility='visible';
		}
		
	}
	
	this.hideLogin =function()
	{
		document.getElementById('login_div_blue').style.visibility='hidden';
	}
	
	this.initContent = function(area)
	{
		if(this.activeArea_==area)
		{
			return;	
		}
		
		this.setActiveState(area);
		switch(area)
		{
			case 'taste_planner':
				  content.init();
				  break;
				  
			case 'taste_tipper':
			  	  tipper.init();
				  break;
				  
			case 'my_wines':
			 	 cellar.init();
				  break;

			case 'find_wine':
				  searcher.init();
				  break;
		}
	}

	this.setActiveState = function(area)
	{
		if(typeof labelWin!='undefined' && labelWin!=null)
		{
			labelWin.remove();	
		}
		this.activeArea_=area;
		var tabBtns_=new Array();
			tabBtns_[0]='taste_planner';
			tabBtns_[1]='taste_tipper';
			tabBtns_[2]='my_wines';
			tabBtns_[3]='find_wine';
		
		for(var i=0; i<tabBtns_.length; i++)
		{
			if(tabBtns_[i]==null)
			{
				continue;	
			}
			
			if(tabBtns_[i]==area)
			{ 	
			  document.getElementById(tabBtns_[i]+"_tab").src=btns[tabBtns_[i]+"_active_tab"].src;
			}
			else
			{	  
			  document.getElementById(tabBtns_[i]+"_tab").src=btns[tabBtns_[i]+"_tab"].src;														
			}
		}
		
	}
	
	this.makeMiniTabs=function(level)
	{
		var miniTabs=document.createElement('div');
			miniTabs.setAttribute('id','miniTabs');
			
		var profile_btn = document.createElement('img');
			profile_btn.setAttribute('id','profile_btn');
			profile_btn.src='images/interface/tab_bars/mini_tabs/profile_btn.png';
			profile_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			profile_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			profile_btn.onmousedown=function()
							{
								buttons.setActiveMini('profile');
								content.setProfileContent();
							}
							
			miniTabs.appendChild(profile_btn);
	
		var wines_btn = document.createElement('img');
			wines_btn.setAttribute('id','wines_btn');
			wines_btn.src='images/interface/tab_bars/mini_tabs/wines_btn.png';
			wines_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			wines_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			wines_btn.onmousedown=function()
							{
								buttons.setActiveMini('wines');
							 	content.setWinesContent();
							}
							
			miniTabs.appendChild(wines_btn);
			
			if( level=='Gold')
			{
				var video_btn = document.createElement('img');
				video_btn.setAttribute('id','video_btn');
				video_btn.src='images/interface/tab_bars/mini_tabs/video_btn.png';
				video_btn.onmouseover=function()
								{
									this.style.cursor="pointer";
									this.src=btns[this.id+"O"].src;
								}
								
				video_btn.onmouseout=function()
								{
									this.src=btns[this.id].src;
								}
								
				video_btn.onmousedown=function()
								{
									buttons.setActiveMini('video');
									content.setVideoContent();
								}
								
				miniTabs.appendChild(video_btn);
			}
		
		if(level=='Silver' || 	level=='Gold')
		{
			var pubs_btn = document.createElement('img');
				pubs_btn.setAttribute('id','pubs_btn');
				pubs_btn.src='images/interface/tab_bars/mini_tabs/pubs_btn.png';
				pubs_btn.onmouseover=function()
								{
									this.style.cursor="pointer";
									this.src=btns[this.id+"O"].src;
								}
								
				pubs_btn.onmouseout=function()
								{
									this.src=btns[this.id].src;
								}
								
				pubs_btn.onmousedown=function()
								{
									buttons.setActiveMini('pubs');
									content.setPubsContent();
								}
								
				miniTabs.appendChild(pubs_btn);
		}
		
		if(level=='Gold')
		{
		var events_btn = document.createElement('img');
			events_btn.setAttribute('id','events_btn');
			events_btn.src='images/interface/tab_bars/mini_tabs/events_btn.png';
			events_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			events_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			events_btn.onmousedown=function()
							{
								buttons.setActiveMini('events');
								content.setEventsContent();
							}
							
			miniTabs.appendChild(events_btn);
		}
		var contact_btn = document.createElement('img');
			contact_btn.setAttribute('id','contact_btn');
			contact_btn.src='images/interface/tab_bars/mini_tabs/contact_btn.png';
			contact_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			contact_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			contact_btn.onmousedown=function()
							{
								buttons.setActiveMini('contact');
								content.setContactContent();
							}
							
			miniTabs.appendChild(contact_btn);	
	
		return miniTabs;
	}//end make minitabs
	
	this.setActiveMini = function(area)
	{
		var tabBtns_=new Array();
		tabBtns_[0]='profile';
		tabBtns_[1]='wines';
		tabBtns_[2]='video';
		tabBtns_[3]='pubs';
		tabBtns_[4]='events';
		tabBtns_[5]='contact';
		
		for(var i=0; i<tabBtns_.length; i++)
		{
			if(tabBtns_[i]==area)
			{
			  document.getElementById(tabBtns_[i]+"_btn").src=btns[tabBtns_[i]+"_active_btn"].src;  
			  document.getElementById(tabBtns_[i]+"_btn").onmouseover=function(){};
			  document.getElementById(tabBtns_[i]+"_btn").onmouseout=function(){};	
			}
			else
			{
			 if(document.getElementById(tabBtns_[i]+"_btn")==null)
			 {
				continue; 
			 }
			  document.getElementById(tabBtns_[i]+"_btn").src=btns[tabBtns_[i]+"_btn"].src;  
			  document.getElementById(tabBtns_[i]+"_btn").onmouseover=function()
			  																{
																				
																				buttons.rollBtn(1,  this);
																			};
																			
			  document.getElementById(tabBtns_[i]+"_btn").onmouseout=function()

			  																{
																				buttons.rollBtn(0,this);	
																			};	
			}
		}
	}//set active mini
	
	
	this.makeMiniTabsNW=function()
	{
		var miniTabs=document.createElement('div');
			miniTabs.setAttribute('id','miniTabsNW');
			
		var profile_btn = document.createElement('img');
			profile_btn.setAttribute('id','profile_btn');
			profile_btn.src='images/interface/tab_bars/mini_tabs/profile_btn.png';
			profile_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			profile_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			profile_btn.onmousedown=function()
							{
								buttons.setActiveMiniNW('profile');
								content.setProfileContent();
							}
							
			miniTabs.appendChild(profile_btn);
			
		var video_btn = document.createElement('img');
			video_btn.setAttribute('id','video_btn');
			video_btn.src='images/interface/tab_bars/mini_tabs/video_btn.png';
			video_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			video_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			video_btn.onmousedown=function()
							{
								buttons.setActiveMiniNW('video');
								content.setVideoContent();
							}
							
			miniTabs.appendChild(video_btn);
		
		var pubs_btn = document.createElement('img');
			pubs_btn.setAttribute('id','pubs_btn');
			pubs_btn.src='images/interface/tab_bars/mini_tabs/pubs_btn.png';
			pubs_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			pubs_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			pubs_btn.onmousedown=function()
							{
								buttons.setActiveMiniNW('pubs');
								content.setPubsContent();
							}
							
			miniTabs.appendChild(pubs_btn);
			
		var events_btn = document.createElement('img');
			events_btn.setAttribute('id','events_btn');
			events_btn.src='images/interface/tab_bars/mini_tabs/events_btn.png';
			events_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			events_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			events_btn.onmousedown=function()
							{
								buttons.setActiveMiniNW('events');
								content.setEventsContent();
							}
							
			miniTabs.appendChild(events_btn);
		
		var contact_btn = document.createElement('img');
			contact_btn.setAttribute('id','contact_btn');
			contact_btn.src='images/interface/tab_bars/mini_tabs/contact_btn.png';
			contact_btn.onmouseover=function()
							{
								this.style.cursor="pointer";
								this.src=btns[this.id+"O"].src;
							}
							
			contact_btn.onmouseout=function()
							{
								this.src=btns[this.id].src;
							}
							
			contact_btn.onmousedown=function()
							{
								buttons.setActiveMiniNW('contact');
								content.setContactContent();
							}
							
			miniTabs.appendChild(contact_btn);	
	
		return miniTabs;
	}//end make minitabs
	
	this.setActiveMiniNW = function(area)
	{
		var tabBtns_=new Array();
		tabBtns_[0]='profile';
		tabBtns_[1]='video';
		tabBtns_[2]='pubs';
		tabBtns_[3]='events';
		tabBtns_[4]='contact';
		
		for(var i=0; i<tabBtns_.length; i++)
		{
			if(tabBtns_[i]==area)
			{
			  document.getElementById(tabBtns_[i]+"_btn").src=btns[tabBtns_[i]+"_active_btn"].src;  
			  document.getElementById(tabBtns_[i]+"_btn").onmouseover=function(){};
			  document.getElementById(tabBtns_[i]+"_btn").onmouseout=function(){};	
			}
			else
			{
			  document.getElementById(tabBtns_[i]+"_btn").src=btns[tabBtns_[i]+"_btn"].src;  
			  document.getElementById(tabBtns_[i]+"_btn").onmouseover=function()
			  																{
																				
																				buttons.rollBtn(1,  this);
																			};
																			
			  document.getElementById(tabBtns_[i]+"_btn").onmouseout=function()

			  																{
																				buttons.rollBtn(0,this);	
																			};	
			}
		}
	}//set active mini
	
	
	
}//end class buttons



