window.addEvent('domready', function() {
	
	/*Player button transparency*/
	if($('playThis')){
		if(navigator.userAgent.toLowerCase().indexOf('msie')>0){ 
			is = document.getElementById('playThis'); 
			is.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+is.src+"', sizingMethod='scale')"; 
			is.src = "/imgages/transparent1x1.gif";
		}	
	}

	/*Player list hover */	
	if($('playlist')){
		$('playlist').getChildren('li').each(function(el){
			el.addEvent('mouseenter', function(){						   
				el.addClass('hover');
			});
			el.addEvent('mouseleave', function(){
				el.removeClass('hover');
			});	
			el.addEvent('click', function(){
				$('player').set('styles',{'background':'#000'});
			});	
		});
	}	
	
	
	/* Link to Player */
	if ($('btnplayer')) {
		writePlayerBox();
	}
	
	/* Tranmission Times slider		*/
	if($('ttmenu')){
		var myVerticalSlide = new Fx.Slide('ttmenu');
		if ( $('ttmenu').getStyle('display') == 'none' ) {
			myVerticalSlide.hide();
			$('ttmenu').set('styles', {'display':'block'});
		}
		else {
			myVerticalSlide.show();
		}
		$('ttshow').addEvent('click', function(e){
			e.stop();
			myVerticalSlide.toggle();
		});
	}
	
	/*Search Auto Complete*/
	
	if(typeof(Autocompleter) != "undefined")
	{
		Autocompleter.Base.implement({
			options: {
				postVarPrefix: 'title'
			}
		});
		new Autocompleter.JsonP($('tvprog'), 'http://www.rte.ie/search/select/?',
		{
			postVar: 'q',
			postVarPrefix: 'title:',
		  jsonpOptions: {
			data: {
			  omitHeader: true,
			  fl: 'DC_title,url',
			  fq: 'secondLevel:(programmedatabase)',
			  start: 0,
			  rows:10,
			  wt:'json',
			  'json.wrf': 'Request.JSONP.request_map.request_0'
			}
		  },
		  minLength: 1,
		  filter: function(resp) {
				dbug.log(resp);
			try {
			  choices = resp.response.docs;
					dbug.log(choices);
			  if(!choices || choices.length == 0) return [];
			  return choices.filter(function(choice){
				return (choice.DC_title.test(this.queryValue, 'i') || choice.url.test(this.queryValue), 'i');
			  }.bind(this));
			} catch(e){'filterResponse error: ', dbug.log(e)}
		  },
		  injectChoice: function(choice) {
			if(! choice.DC_title)return;
			var el = new Element('li');
			var slink = new Element ("a", {"href":choice.url}).inject(el);
			slink.set('html', this.markQueryValue(choice.DC_title));
			el.inputValue = choice.DC_title;
			this.addChoiceEvents(el).inject(this.choices);
		  }
		});
	}

});

function lookupLocal () {
var el = $$("li.autocompleter-selected");
	if (el[0] && el[0].getElement('a')) {
		window.location=el[0].getElement('a').href; 
	} else {
		window.location="/tv/programmes/search.html?query="+$('tvprog').value;
	}
}

function renderSearchResults(query, pageIn) {
	var page = (pageIn && pageIn > 0) ? pageIn : 1;
	var	secondLevel="programmedatabase";
	var rows = 10;
	var start = 0;
	var sort = "";
	var start = (page-1)*rows;
	
	
	if (query != "") {
		var holder = $('SearchResults').set('html', '');
		var pager2 = $('SearchPager2').set('html', '');
		$("SearchNoResults").style.display = "none";
		$("SearchLoading").style.display = "block";
		var jsonURL = "http://www.rte.ie/search/select/?fq=secondLevel:(" + secondLevel + ")"
						+ "&start=" + start
						+ "&rows=" + rows
						+ "&hl=true&hl.fl=contents&hl.simple.pre=<span>&hl.simple.post=</span>&hl.fragsize=150"
						+ "&indent=on&wt=json&q=" + query;

		try {
		var jsonRequest = new Request.JSON({
			url : jsonURL,
			method : "get",
			secure : false,
			async : false,
			headers : {'X-Request': 'JSON', 'Last-Modified' : 'Sat, 1 Jan 2005 05:00:00 GMT'},
			onComplete : function(obj, text) {
							$("SearchLoading").style.display = "none";
							if (obj && obj.response.numFound && obj.response.numFound > 0) {
								$("SearchNoResults").style.display = "none";
								var info = $('SearchInfo').set('html', '');
								var pager = $('SearchPager').set('html', '');
								var pages = (((obj.response.numFound-1)/rows).floor())+1;
							
								if (pages > 1) {
									var pagerSize = 10;
									var lBound = 0;
									var uBound = pagerSize.limit(0, ((obj.response.numFound + rows - 1)/rows).floor());

									if(page >= ((pagerSize-1)/2).round()) {
										lBound = (page - ((pagerSize-1)/2).round()).limit(0, page - 1);
										uBound = (lBound + pagerSize).limit(lBound, ((obj.response.numFound + rows - 1)/rows).floor());
										lBound2 = (uBound - pagerSize).limit(0, lBound);
										lBound = lBound2;
									} 

									var pagerLink = new Element ("a", {"href":"?query="+query+"&page="+(parseInt(page)-1), "html":"&lt;&lt; Previous", "class":(page > 1)?"prev":"prev off" }).inject(pager);
									for(j=lBound; j<uBound; j++) {
										pagerLink = new Element ("a", {"href":"?query="+query+"&page="+(j+1), "html":(j+1), "class":(j==page-1)?"on":"" }).inject(pager);
									}
									pagerLink = new Element ("a", {"href":"?query="+query+"&page="+(parseInt(page)+1), "html":"Next &gt;&gt;", "class":(page < pages)?"next":"next off"}).inject(pager);
									pager2.set('html', pager.get('html'));
								}

								var first = start+1;
								var last = start+obj.response.docs.length;
								var infoHTML = "Showing results <strong>" + first + "</strong> to <strong>" + last + "</strong> from <strong>"+obj.response.numFound+"</strong> for your search for: <strong>"+obj.responseHeader.params.q+"</strong>";
								info.set('html', infoHTML);

								for(i=0; i<obj.response.docs.length; i++) {
									var linkURL = ""+obj.response.docs[i].url.substring(17);
									var res = new Element ("a", {"class":"searchResult", "href":linkURL}).inject(holder);
									if (obj.response.docs[i].RTE_TV_Database_Thumbnail && obj.response.docs[i].RTE_TV_Database_Thumbnail.substring(9) != "") {
										var image = new Element ("img", {"class":"img_thumb", "alt":obj.response.docs[i].DC_title, "src":"http://dynimg.rte.ie/"+obj.response.docs[i].RTE_TV_Database_Thumbnail.substring(9)+"-110.jpg"}).inject(res);
									}
									var h2 = new Element ("h2", {"html":obj.response.docs[i].DC_title}).inject(res);
									var hltext = "";
									if (obj.highlighting[obj.response.docs[i].uid].contents) {
										hltext = "... "+obj.highlighting[obj.response.docs[i].uid].contents + " ...";
									}
									else {
										var str = obj.response.docs[i].contents.substring(0,160);
										var index = str.lastIndexOf(' ');
										hltext = str.substring(obj.response.docs[i].DC_title.length, index) + " ...";
									}
									var p = new Element ("p", {"html":hltext}).inject(res);
									new Element ("div", {"class":"clear"}).inject(res);
									new Element ("div", {"class":"clear"}).inject(holder);
								}
							}
							else {
								$("SearchNoResults").style.display="block";
							}
						},
			onFailure : function () {$("SearchNoResults").style.display = "block";},
			onException : function () {$("SearchNoResults").style.display = "block";}
		}).send();
		}
		catch(e) {}
	}




}


function writePlayerBox() {
	var programmeTitle = $('btnplayerTitle').get('html');
	var feedUrl = "http://www.rte.ie/vodfeeds/feedgenerator/json/programme/";
	try {
		var jsonRequest = new Request.JSON({
			url : feedUrl + "?id=" + programmeTitle,
			method : "get",
			secure : false,
			async : false,
			headers : {'X-Request': 'JSON', 'Last-Modified' : 'Sat, 1 Jan 2005 05:00:00 GMT'},
			onComplete : function(obj, text) {
							var link = $('btnplayerLink');
							link.setStyle('opacity',0)
							if (link) {
								if (obj.length > 0 && obj[0].pk) {
									link.set('html', obj.length + " Episode" + (obj.length > 1 ? "s" : "") + " Available to Watch");
									link.set('href', "/player/#v=" + obj[0].pk);
								}
								else {
									link.set('html', "No Episodes Available to Watch");
								}
								link.set('tween',{duration: 300}).tween('opacity', [0,1]);
							}
						},
			onFailure : function () {},
			onException : function () {}
		}).send();
	}
	catch(e) {}
}

function showPlayer(url)
{
	var win = window.open(url, "rteplayer", "height=560,width=860,status=yes,toolbar=no,menubar=no,location=no");
	win.focus();
}