function Vote(i)
{
    $('starRating').load(url + "&rating=" + i + "&service=7000000");
}

function _getIdParamStr()
{
    var el = document.getElementsByName("DC.identifier");
    
    if(el.length > 0 && el[0].content)
	{
        el2 = el[0].content.split(":");
        if(el2.length == 3)
        {
        	return "&id=" + el2[2];
        }
    }
    
    return "";
}

function PlayerPopUp(fileUrl, playState, position, volumeLevel)
{
	var url = 'player.html?feedUrl='+escape(fileUrl)+'&play='+playState+'&position='+position+'&volume='+volumeLevel;               
	var win = window.open(url, "docsOnOnePlayer", "menubar=0, resizable=0, status=0,directories=0,location=0,scrollbars=0,toolbar=0,titlebar=0,width=340, height=400");
	win.focus();
}

function loadPlayer(atomfeed,play){
    var obj = new Swiff('swf/MP3Player.swf', {
        id: 'player',
        container: $("flashcontent"),
        width: 300,
        height: 55,
        vars: {
			autoStart: play,
            feedUrl:atomfeed,
            popup:1
        }
    });
}

function showPlayer(url)
{
	PlayerPopUp(url,true,0,-1)
}

function resize(){
	
	var el = document.getElementsByName("level");
	
	if(el.length > 0 && el[0].content)
	{	
		var test = false;
        var el2 = el[0].content.split(",");

		for(i=0;i<el2.length;i++){
			
			var type = el2[i].replace(/^\s*/, "").replace(/\s*$/, "");

			if (type == 'Documentaries' || type == 'static'){
				test = true;
			}
			
		}
		
		if (test == true){
			
			var x = $('prog_sidebar').offsetHeight - 52;
			var v = $('prog_content').offsetHeight - 52;
			
			var rv = -1; 
			if (navigator.appName == 'Microsoft Internet Explorer'){
				var ua = navigator.userAgent;
				var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
				if (re.exec(ua) != null)
				rv = parseFloat( RegExp.$1 );
			}

			if (x > v){
				if (rv==6){
					x = x -52; 
					$('prog_content').setStyle("height", x+"px");	
				}else{
					$('prog_content').setStyle("height", x+"px");
				}
			}

			var y = $('doc_share').offsetHeight - 32;
			var z = $('doc_min').offsetHeight - 32;
			
			if (y > z){
				$('doc_min').setStyle("height", y+"px");
			}else if (z > y){
				$('doc_share').setStyle("height", z+"px");
			}
			
		}

		
	}
	
	/*if ($('prog_sidebar')){
		var sidebar_h = $('prog_sidebar').offsetHeight;
	
		if (sidebar_h < 20){ 
			$('prog_content').setStyle('width','860px');	
			$('prog_content').setStyle('height','auto');
			$('prog_sidebar').setStyle('margin','0');
			$('prog_sidebar').setStyle('font-size','0');
		}
	}*/
}

function resizeArc(array){
	
	var images = new Array;
	
	for(i=0; i<array.docs.length; i++) {

		if (array.docs[i].RTE_DocOnOne_Thumbnail && array.docs[i].RTE_DocOnOne_Thumbnail.substring(9) != "") {
			images[i] = "http://dynimg.rte.ie/"+array.docs[i].RTE_DocOnOne_Thumbnail.substring(9)+"-112.jpg";
		}
	
	}
	
	var loader = new Asset.images(images, {
		onComplete: function() {
			var el = document.getElementsByName("level");
	
			if(el.length > 0 && el[0].content)
			{	
				var test = false;
				var el2 = el[0].content.split(",");
		
				for(i=0;i<el2.length;i++){
					
					var type = el2[i].replace(/^\s*/, "").replace(/\s*$/, "");
		
					if (type == 'Awards'){
						test = true;
					}
					
				}
			}
				
			if (test == false){	
			
				var boxes = $$(".box_inner");
		
				for (i=0; i< boxes.length; i++)
				{
					height = boxes[i].offsetHeight;
					
					if(i % 2 != 0){
						if (boxes[i].offsetHeight > boxes[i-1].offsetHeight){
							if (/MSIE 6/i.test(navigator.userAgent)){
								boxes[i-1].style.height = height + "px";
							}else{
								boxes[i-1].style.minHeight = height + "px";
							}
						}	
					}else if(i < boxes.length - 1){
						if (boxes[i].offsetHeight > boxes[i+1].offsetHeight){
							if (/MSIE 6/i.test(navigator.userAgent)){
								boxes[i+1].style.height = height + "px";
							}else{
								boxes[i+1].style.minHeight = height + "px";
							}
						}	
					}
				}
				
			}
		}
	});
}

function loadRatings(){
	
	$$('div.searchStars').each(function(div){
										
		var divId = div.getProperty('id');
		var docId = divId.substring(10, 20); 

		var pageUrl = "http://www.rte.ie"+$(divId).getParent().getElement('a[href$=html]').getProperty('href');
		
		var _url = "http://www.rte.ie/dynamic/rating/food_small.aspx?url=" + pageUrl + "&id=" + docId;
		
		var req = new Request.HTML({
			url: _url,					
			onSuccess: function(html) {
				$(divId).adopt(html);
				if ($(divId).getFirst().getStyle('width').toInt() != 0) {
					$(divId).setStyle('background', 'url(/food/images/stars_off_small.gif) no-repeat');
				}
			}
		}).send();
		
	});	
}

function renderSearchResults(query, page, sort) {
	if (!page || page < 1) var page = 1;
	var	thirdLevel="documentaryonone";
	var rows = 10;
	var start = 0;
	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=thirdLevel:(" + thirdLevel + ")"
						+ "&start=" + start
						+ "&rows=" + rows
						+ (sort != "" ? "&sort=" + sort +"+asc": "")
						+ "&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)+"&sort="+sort, "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)+"&sort="+sort, "html":(j+1), "class":(j==page-1)?"on":"" }).inject(pager);
									}
									pagerLink = new Element ("a", {"href":"?query="+query+"&page="+(parseInt(page)+1)+"&sort="+sort, "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 ("div", {"class":"contentbox_med"}).inject(holder);
									
							        if (obj.response.docs[i].RTE_DocOnOne_Awards && obj.response.docs[i].RTE_DocOnOne_Awards != "") {
							        	var award = new Element ("div", {"class":"doc_ratings"}).inject(res);
							        	var awardImage = new Element ("img", {"class":"rating_award", "src":"images/icon_award.gif", "width":"30", "height":"30"}).inject(award);
							        }

									var h2 = new Element ("h2").inject(res);
									var h2Link = new Element ("a", {"href":linkURL, "html":obj.response.docs[i].title.substring(37)}).inject(h2);


									if (obj.response.docs[i].RTE_DocOnOne_Thumbnail && obj.response.docs[i].RTE_DocOnOne_Thumbnail.substring(9) != "") {
										var imageLink = new Element ("a", {"href":linkURL}).inject(res);
										var image = new Element ("img", {"class":"img_thumb", "alt":obj.response.docs[i].title.substring(37), "src":"http://dynimg.rte.ie/"+obj.response.docs[i].RTE_DocOnOne_Thumbnail.substring(9)+"-112.jpg"}).inject(imageLink);
									}

									var p = new Element ("p", {"html":obj.response.docs[i].RTE_DocOnOne_Description}).inject(res);

									new Element ("div", {"class":"clearthis botClear"}).inject(res);
									
									var bot = new Element ("div", {"class":"bottomPos"}).inject(res);

									var ul = new Element ("ul").inject(bot);
									var li = new Element ("li").inject(ul);
									var Link = new Element ("a", {"href":linkURL, "html":"View more information"}).inject(li);

									if (obj.response.docs[i].RTE_DocOnOne_AV && obj.response.docs[i].RTE_DocOnOne_AV.substring(9) != "") {
										var clipURL = "javascript:showPlayer('/radio1/doconone/atom/"+obj.response.docs[i].RTE_DocOnOne_AV.substring(9)+".xml')";
										var li2 = new Element ("li").inject(ul);
										var Link2 = new Element ("a", {"href":clipURL, "html":"Listen to the full documentary"}).inject(li2);
									}
									
									if (obj.response.docs[i].DC_identifier && obj.response.docs[i].DC_identifier.substring(13) != "") {
										new Element ("div", {"class":"searchStars", "id":"smallstars"+obj.response.docs[i].DC_identifier.substring(13)}).inject(bot);
									}
								}
								if (page > 1) window.location.hash="navTop";
								loadRatings();
							}
							else {
								$("SearchNoResults").style.display="block";
							}
						},
			onFailure : function () {$("SearchNoResults").style.display = "block";},
			onException : function () {$("SearchNoResults").style.display = "block";}
		}).send();
		}
		catch(e) {}
	}
}
			
			
function renderCategoryResults(category, page) {

	if (!category) var category = "";
	if (!page || page < 1) var page = 1;
	
	var	thirdLevel="documentaryonone";
	var rows = 10;
	var start = 0;
	var start = (page-1)*rows;
	
	if (category == "az") {
		query = "fourthLevel:(documentaries)&sort=DC_title+asc";	
	}else if(category == "awards"){
		query = "RTE_DocOnOne_Awards:([* TO *])";	
	} else {
		query = "drillDown:("+category+")&sort=byNumber+asc";
	}
			
	/*var query = (category == "az" ? "fourthLevel:(documentaries)&sort=DC_title+asc" : "drillDown:("+category+")&sort=byNumber+asc");*/
	
	if (category != "") {
		var holder = $('SearchResults').set('html', '');
		var pager = $('SearchPager').set('html', '');
		$("SearchNoResults").style.display = "none";
		$("SearchLoading").style.display = "block";
		var jsonURL = "http://www.rte.ie/search/select/?fq=thirdLevel:(" + thirdLevel + ")"
						+ "&start=" + start
						+ "&rows=" + rows
						+ "&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.response.numFound && obj.response.numFound > 0) {
								$("SearchNoResults").style.display = "none";
								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":"?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":"?page="+(j+1), "html":(j+1), "class":(j==page-1)?"on":"" }).inject(pager);
									}
									pagerLink = new Element ("a", {"href":"?page="+(parseInt(page)+1), "html":"Next &gt;&gt;", "class":(page < pages)?"next":"next off"}).inject(pager);
								}

								var first = start+1;
								var last = start+obj.response.docs.length;

								for(i=0; i<obj.response.docs.length; i++) {
									var linkURL = ""+obj.response.docs[i].url.substring(17);
									var res = new Element ("div", {"class":"contentbox_med" + (((i % 2) == 1 ) ? " right" : "")}).inject(holder);
									var inner = new Element ("div", {"class":"box_inner"}).inject(res);

									var h2 = new Element ("h2").inject(inner);
									var h2Link = new Element ("a", {"href":linkURL, "html":obj.response.docs[i].title.substring(37)}).inject(h2);
									
							        if (obj.response.docs[i].RTE_DocOnOne_Awards && obj.response.docs[i].RTE_DocOnOne_Awards != "") {
							        	if(category == "awards"){
											var h3 = new Element ("h3", {"html":obj.response.docs[i].RTE_DocOnOne_Awards}).inject(inner);	
										}else{
											var award = new Element ("div", {"class":"doc_ratings"}).inject(inner);
											var awardImage = new Element ("img", {"class":"rating_award", "src":"images/icon_award.gif", "width":"30", "height":"30"}).inject(award);
										}
							        }

									var p = new Element ("p", {"html":obj.response.docs[i].RTE_DocOnOne_Description}).inject(inner);

									if (obj.response.docs[i].RTE_DocOnOne_Thumbnail && obj.response.docs[i].RTE_DocOnOne_Thumbnail.substring(9) != "") {
										var imageLink = new Element ("a", {"href":linkURL}).inject(inner);
										var image = new Element ("img", {"class":"img_thumb", "alt":obj.response.docs[i].title.substring(37), "src":"http://dynimg.rte.ie/"+obj.response.docs[i].RTE_DocOnOne_Thumbnail.substring(9)+"-112.jpg"}).inject(imageLink);
									}

									var bot = new Element ("div", {"class":"bottomPos"}).inject(res);

									var ul = new Element ("ul").inject(bot);
									var li = new Element ("li").inject(ul);
									var Link = new Element ("a", {"href":linkURL, "html":"View more information"}).inject(li);

									if (obj.response.docs[i].RTE_DocOnOne_AV && obj.response.docs[i].RTE_DocOnOne_AV.substring(9) != "") {
										var clipURL = "javascript:showPlayer('/radio1/doconone/atom/"+obj.response.docs[i].RTE_DocOnOne_AV.substring(9)+".xml')";
										var li2 = new Element ("li").inject(ul);
										var Link2 = new Element ("a", {"href":clipURL, "html":"Listen to the full documentary"}).inject(li2);
									}
									
									if (obj.response.docs[i].DC_identifier && obj.response.docs[i].DC_identifier.substring(13) != "") {
										new Element ("div", {"class":"searchStars", "id":"smallstars"+obj.response.docs[i].DC_identifier.substring(13)}).inject(bot);
									}
									if (i % 2 == 1 ) {
										new Element ("div", {"class":"clear"}).inject(holder);
									}
									
									
								}
								if (page > 1) window.location.hash="navTop";
								loadRatings();
								resizeArc(obj.response);
							}
							else {
								$("SearchNoResults").style.display="block";
							}
						},
			onFailure : function () {$("SearchNoResults").style.display = "block";},
			onException : function () {$("SearchNoResults").style.display = "block";}
		}).send();
		}
		catch(e) {}
	}
}

function equalizeCols(name) {
	var divs = null;
			name.each(function(it, i){
				var el= $(it);
				if(el && el.get('tag') == 'div'){
					divs = true;
					name.splice(i,1,el);
				} else {
					name.splice(i);
					divs = false;
				}
			});
			
			var max_height = 0;
			if(divs == true){
				name.each(function(item) {
					
					max_height = Math.max(max_height, item.getSize().y);
				});
				name.each(function(el,i){el.setStyle('min-height', max_height)});
				name.each(function(el,i){el.setStyle('height', max_height)});
			}else{
				return false;	
			}
		}



window.addEvent('domready', function() {
									 
	if(typeof(url) !== 'undefined' && $('starRating')){
		$('starRating').load(url);
		new Element('strong',{'html':'Rate this Doc'}).inject($('starRating'),'before');
	}
	
	//resize();
	if($('doc_share') && $('doc_min')){
		equalizeCols(['doc_share','doc_min']);
	}
});
