// Register the namespace
//Type.registerNamespace('Portal.LanguageBar');

// Constructor function
var objSpan;
var languages=new Array();
LanguageBar = function(objSpan1,langCode)
{
    // Initialize the base
	//LanguageBar.initializeBase(this);
	
	this.objSpan = objSpan1;
	objSpan=objSpan1;
	//alert(this.objSpan);
	this.languages = new Array();
	
	this.languages[this.languages.length]=new LanguageBar.Item("EN","English","");
	this.languages[this.languages.length]=new LanguageBar.Item("RO","Romanian","");
	
	languages[languages.length]=new LanguageBar.Item("EN","English","");
	languages[languages.length]=new LanguageBar.Item("RO","Romanian","");
	
	this.initialize();		
	//alert('asdasdasd');
}

LanguageBar.prototype = {			
	initialize:function()
	{
		//alert('21212');
      	this.objSpan = this.objSpan;
         // wire events for the span control
         this.objSpan.style.cursor = "pointer";
         //Event.observe(this.objSpan,"keypress",this._showLanguageBar);
         this.objSpan.onclick=this._showLanguageBar;
         var objSpan=this.objSpan;
         
		 var objDiv = document.createElement("div");		        
        objDiv.className="language_bar_list_new";
        //var height = this.languages.length * 14;
        var height = languages.length * 14;
        objDiv.style.height=height+"px";		        
        var objTbl = document.createElement("table");
        objTbl.width = "100%";
        objTbl.cellPadding="0";
	    objTbl.cellSpacing ="0";
	    objTbl.border ="0";
        var objTbody = document.createElement("tbody");
        objTbl.appendChild(objTbody);
		
		//for(var i=0;i<this.languages.length;i++)
		for(var i=0;i<languages.length;i++)
		{
		    var objRow = objTbody.insertRow(objTbody.rows.length);
            var objCell = objRow.insertCell(0);
            objCell.className="language_bar_item_new";		                               
            objCell.tag = languages[i].code;
            objCell.innerHTML  = languages[i].name;                
            objCell.onmouseover=this._onLanguageOver;
            objCell.onmouseout=this._onLanguageOut;
            objCell.onclick=this._onLanguageClick;
       	}   
       	 objDiv.appendChild(objTbl);
       	 objDiv.style.display = "none";
        //this.objSpan.appendChild(objDiv);
        objSpan.appendChild(objDiv);  
        
	},
      
      
      
  addLanguageItem : function(langItem)
      {
            //this.languages.push(langItem);
            languages.push(langItem);
      },
 
  _showLanguageBar : function(e)
      {   
      	
	        var objDiv =objSpan.getElementsByTagName("div")[1]
	        if(objDiv.style.display == "none" || objDiv.style.display=="")
			        objDiv.style.display = "block";
		        else
			        objDiv.style.display = "none";
      },
      _onLanguageOver : function(e)
      {
        var targ;
        
        if (!e) 
            var e = window.event;
        if (e.target) 
            targ = e.target;
        else 
            if (e.srcElement) 
                targ = e.srcElement;
        if (targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;       
            //alert(targ.type);
        var selectedLangItem = getLanguageItem(targ.tag);
        if(selectedLangItem != null)
        {           
            targ.className="language_bar_item_new_over";
        }        
        else
            alert("Invalid language item");        
      },
      _onLanguageOut : function(e)
      {
        var targ;
        
        if (!e) 
            var e = window.event;
        if (e.target) 
            targ = e.target;
        else 
            if (e.srcElement) 
                targ = e.srcElement;
        if (targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;
       
        var selectedLangItem = getLanguageItem(targ.tag);
        if(selectedLangItem != null)
        {
           targ.className="language_bar_item_new";
        }        
        else
            alert("Invalid language item");        
      },
     _onLanguageClick : function(e)
      {
        var targ;
        
        if (!e) 
            var e = window.event;
        if (e.target) 
            targ = e.target;
        else 
            if (e.srcElement) 
                targ = e.srcElement;
        if (targ.nodeType == 3) // defeat Safari bug
            targ = targ.parentNode;
       //alert(targ);
        var selectedLangItem = getLanguageItem(targ.tag);
        if(selectedLangItem != null)
        {
            //this.objSpan.childNodes[0].innerHTML = selectedLangItem.name;
            //alert(this.objSpan.innerHTML);
            //var tds=this.objSpan.getElementsByTagName("TD");
            var tds=objSpan.getElementsByTagName("TD");
            var td=null;
            if(tds)
                td=tds[0];
            if(td)
                td.innerHTML=selectedLangItem.name;   
            
             var pageHidden=document.getElementById("pageHidden");
             //hiddenLangCode.value=pageHidden;
            //flashSetLanguage(selectedLangItem.code);
            //setTimeout(function () { $('main_menu').contentWindow.flashSetLanguage(selectedLangItem.code) }, 1);
            if(BrowserDetect.browser=="Explorer")
				$('main_menu').contentWindow.flashSetLanguage(selectedLangItem.code);
			else
				flashSetLanguage(selectedLangItem.code);
           //document.location.href = location.href+"/langCode="+selectedLangItem.code;
           //alert(document.location.href);
            //document.location.href = location.href+"/langCode="+selectedLangItem.code;
            //alert(pageHidden.value)
            //page_manager.loadPage(pageHidden.value,"langCode="+selectedLangItem.code,true,true,true);
            //alert(document.location.hash);
            //pageload(pageHidden.value+"/langCode="+selectedLangItem.code) 
            var params=new Array();	
            params[params.length]="langCode="+selectedLangItem.code;
            //page_manager.loadPage(document.location.hash,params,true,true,true);
            //alert('lang'+document.location.hash);
            
            
            //var subMenu=document.getElementById("subMenuArea");
            //if(subMenu.style.display=='inline')
            //{
            	var linkClients=document.getElementById("subMenuClients");
            	var linkSolutions=document.getElementById("subMenuSolutions");
            	var linkDomains=document.getElementById("subMenuDomains");
            	var linkTestimonials=document.getElementById("subMenuTestimonials");
            	var linkWebCast=document.getElementById("subMenuWebCast");
            	var linkCaseStudy=document.getElementById("subMenuCaseStudy");
            	if(selectedLangItem.code=="RO")
            	{            		
            		linkClients.innerHTML="Clienti";
            		linkSolutions.innerHTML="Solutii";
            		linkDomains.innerHTML="Domenii";
            		linkTestimonials.innerHTML="Testimoniale";
            		linkWebCast.innerHTML="Webcast-uri";
            		linkCaseStudy.innerHTML="Studii&nbsp;caz";
            	}
            	else
            	{
            		linkClients.innerHTML="Clients";
            		linkSolutions.innerHTML="Solutions";
            		linkDomains.innerHTML="Domains";
            		linkTestimonials.innerHTML="Testimonials";
            		linkWebCast.innerHTML="Webcast";
            		linkCaseStudy.innerHTML="CaseStudy";
            	}
            //}
            
            
            if(document.location.hash.indexOf('#')==0)
            	pageload(document.location.hash.substr(1)+"/"+selectedLangItem.code) 
            else
            	pageload(document.location.hash+"/"+selectedLangItem.code) 
        }        
        else
            alert("Invalid language item");        
      }
}

LanguageBar.Item  = function(code,name,link)
{
    this.code = code;
    this.name = name;
    this.link = link;
}

function  getLanguageItem (langCode)
  {
  	for(var i=0;i<languages.length;i++)
        if(languages[i].code == langCode)
            return languages[i];  		
  }