// Menu Hack for IE

startList = function() {
if (document.all&&document.getElementById) {
navRoot = document.getElementById("nav");
for (i=0; i<navRoot.childNodes.length; i++) {
    node = navRoot.childNodes[i];
    if (node.nodeName=="LI") {
        node.onmouseover=function() {
            this.className+=" over";
        }
        node.onmouseout=function() {
            this.className=this.className.replace(" over", "");
        }
   }
  }
 }
}
window.onload=startList;

// Tabbed Boxes

var show_loading=0;
var load_image="";

function initLoading(state,image) {
    show_loading=state;
    load_image=image;
}

function showLoading(in_datafieldid) {

  document.getElementById(in_datafieldid).innerHTML='<div align="center" style="text-align:center;padding:30px;"><img src="http://images.newmedia.lu/rtl.lu/global2007/'+load_image+'" style="border:none"></div>';

}

function tabChangeState(in_ulid,in_selectedid,in_dataurl,in_datafieldid) {

  var cnt=document.getElementById(in_ulid).childNodes.length;

  if (show_loading==1) { showLoading(in_datafieldid); }

  for (i=0;i<cnt;i++) {
    tag=document.getElementById(in_ulid).childNodes[i].tagName;
    if (tag=='LI') {
      tid=document.getElementById(in_ulid).childNodes[i].getAttribute('id');
      if (tid==in_selectedid) {
        document.getElementById(in_ulid).childNodes[i].className='active';
      } else {
        document.getElementById(in_ulid).childNodes[i].className='';
      }

    }
  }
  new Ajax.Updater(in_datafieldid, in_dataurl, {asynchronous:true});

}

// Search

function switchSearch(search) {
    var content="";
    if ($('search_rtl').hasClassName('selected')) $('search_rtl').removeClassName('selected');
    if ($('search_luxbazar').hasClassName('selected')) $('search_luxbazar').removeClassName('selected');
    if ($('search_yellow').hasClassName('selected')) $('search_yellow').removeClassName('selected');
    if ($('search_youmaketv').hasClassName('selected')) $('search_youmaketv').removeClassName('selected');
    if ($('search_agenda').hasClassName('selected')) $('search_agenda').removeClassName('selected');
    
    switch (search) {
        case 'rtl':
            content+='<input type="text" name="q" class="field"/>';
            $('searchbox').update(content);
            $('searchbtn').value="Search RTL";
            $('searchform').method="get";
            $('searchform').action="http://www.rtl.lu/search/rtlsearch/";
            $('search_'+search).className="selected";
            $('search_'+search).blur();
        break;
        case 'luxbazar':
            content+='<input type="text" name="searchstr" class="field" />';
            $('searchbox').update(content);
            $('searchbtn').value="Search Luxbazar";
            $('searchform').method="post";
            $('searchform').action="http://www.rtl.lu/search/luxbazar/searchfr.rtl";
            $('search_'+search).className="selected";
            $('search_'+search).blur();
        break;
        case 'yellow':
            content+='<input type="text" class="field_yellow" name="query" value="QUI, QUOI, T&Eacute;L. ?" onclick="Javascript: if (this.value==\'QUI, QUOI, T&Eacute;L. ?\') this.value=\'\';" />&nbsp;';
            content+='<input type="text" class="field_yellow" name="location" value="O&Ugrave;" onclick="Javascript: if (this.value==\'O&Ugrave;\') this.value=\'\'" />';         
            content+='<input type="hidden" name="go_where" value="trouver" />';
            $('searchbox').update(content);
            $('searchbtn').value="Search Yellow.lu";
            $('searchform').method="get";
            $('searchform').action="http://yellow.rtl.lu/search/";
            $('search_'+search).className="selected";
            $('search_'+search).blur();
        break;
        case 'youmaketv':
            content+='<input type="text" name="q" class="field" />';
            $('searchbox').update(content);        
            $('searchbtn').value="Search Youmake.tv";
            $('searchform').method="post";
            $('searchform').action="http://www.youmake.tv/browse/search";
            $('search_'+search).className="selected";
            $('search_'+search).blur();
        break;
        case 'agenda':
            content+='<input type="text" name="searchstr" class="field" />';
            $('searchbox').update(content);        
            $('searchbtn').value="Search Agenda";
            $('searchform').method="post";
            $('searchform').action="http://www.rtl.lu/service/agenda/search/";
            $('search_'+search).className="selected";
            $('search_'+search).blur();
        break;
    }
}

// AdTech Banner
function updateAdtech(cid,atag)  { 
    if ($(cid)!=null) {
        //$(cid).update(unescape(atag));
        $(cid).innerHTML=unescape(atag);
    }
}

// Tabbedbox v2

RTL = Class.create();

RTL.prototype = {
	initialize: function() {}	
}

RTL.Components = Class.create();

RTL.Components.prototype = {		
	initialize: function() {}	
}

RTL.Components.TabbedScrollBox = Class.create();
RTL.Components.TabbedScrollBox.prototype ={

	container: null,
	dataHolder: null,
	pages: null,
	curPage: null,
	width: null,
	queue_id: null,
  fade: false,
	
	initialize: function(container) {
        
        //if(undefined == this.container) return false;
				
		this.container = container;
		this.width = parseInt(this.container.getElementsBySelector('div.content ul li')[0].getStyle('width'))

		this.loadTabs();
		this.loadContent();
		
		if(container.hasClassName('doFade')) {
		    this.fade = true;
		}
		
		if(!container.hasClassName('noArrows')) {
		    this.appendFooter();
		}
		
	},
	
	appendFooter: function() {
		new Insertion.After(this.dataHolder, '<div class="footer"><div class="prev" onclick="this.parent.scroll(\'prev\')"></div><div class="next" onclick="this.parent.scroll(\'next\')"></div><div class="clearit"></div></div>');
		
		this.container.getElementsBySelector('div.footer div').each(function(elm) {
			elm.parent = this;
			elm.observe('mouseover', function(event) {
				Event.element(event).setStyle({
					cursor: 'pointer'
				});
			}.bind(this))
		}.bind(this));
				
	},
		
	loadTabs: function() {		
		this.container.getElementsBySelector('div.tabs div.item').each(function(elm) {  
			this.addTab(elm);			
		}.bind(this));
		
	},
	loadContent: function() {
		this.pages = this.container.getElementsBySelector('div.content ul li');
		this.dataHolder = this.container.getElementsByClassName('content')[0];
		this.curPage = 1;		
		
	},
	
	findItem: function(elm) {
	    ancestors = elm.ancestors();
	    
	       for(i = 0; i < 2; i++) {
			    if(ancestors[i].hasClassName('item')) {
			        return ancestors[i];
			    }
			}  
	    return elm;
	},
	
	addTab: function(elm) {
		
		elm.observe('mouseover', function(event) {			
			element = this.findItem(Event.element(event));
				
			Event.element(event).setStyle({
				cursor: 'pointer'
			});
			
		}.bind(this));		
		
		elm.observe('click', function(event) {

			var elm = this.findItem(Event.element(event));		
			this.setActive(elm);
			new Ajax.Request(elm.readAttribute('rel'),{
				method: 'get',
				onSuccess: function(transport) {
					this.dataHolder.update(transport.responseText);					
					this.loadContent();
				}.bind(this)});			
		}.bind(this));
		
	},
	
	setActive: function(element) {
		this.container.getElementsBySelector('div.tabs div.item').each(function(elm) {
			elm.removeClassName('active');
		}.bind(this));		
		element.addClassName('active');
	},
	
	scroll: function(direction) {
		
		
		var  increment = -1;		
		var moveMe = this.dataHolder.getElementsBySelector('ul')[0];
		
		if(null === this.queue_id) {
			this.queue_id = Math.random(); 
		}
		
		
		if(direction == 'next') increment = 1;
	
		if(null === this.curPage) this.curPage = 1;
		
		this.curPage+= increment;

		if(this.curPage<1) this.curPage = this.pages.length;
		if(this.curPage > this.pages.length) this.curPage = 1;				
		
		if(true === this.fade) {		
			  new Effect.Fade(moveMe, {queue: 'end', duration: 1.0});
    	  moveMe.tLeft = -1 * this.width * (this.curPage-1);
	      new Effect.Appear(moveMe, {queue: 'end', beforeUpdate: tbCallback, to: 0.99});
	  } else {
	      new Effect.Move (moveMe,{ x: -1 * this.width * (this.curPage-1), y: 0, mode: 'absolute', delay:0});
	  }

	}
};

document.TabbedScrollBoxes = new Array();

Event.observe(window, 'load', function() {
	$$('div.RTL_TabbedScrollBox').each(function(elm) {
		if(undefined === 	document.TabbedScrollBoxes[elm.readAttribute('id')])

		document.TabbedScrollBoxes[elm.readAttribute('id')] = new RTL.Components.TabbedScrollBox(elm);

	});
});

function tbCallback(obj) {
	obj.element.setStyle({
			position: 'absolute',
			left: obj.element.tLeft+'px'
			
		});
}

