        //
        // change page
        //
        function changePage(index)
        {
            renderPage(data.items);
        }

        //
        // render playlist grid
        //
        function renderPage(items)
        {
        
            var container = $(config.playListULid);
            
            //cancel all playlist animations before emptying container
            for(i=0;i<fxArray.length;i++)
            {
            	$clear(fxArray[i].timer);
            }

            for(i=0;i<fxArray.length;i++)
            {
            	fxArray[i].fx.cancel();
            }
           
            container.empty();
            
            fxChain = new Chain();
			
            for(i=0; i < items.length; i++)
            {
          		var boxlink = "javascript:player.play(" + items[i].clipId + ", '" + items[i].clipId + "', '" + items[i].formats[0] + "', " + items[i].profiles[0] + ");updateInfo(" + items[i].clipId + ")";
				
                var el = new Element("li", {
                    "id" : "clip" + items[i].clipId,
                    "class": "clipHolder" + (i % 2 == 1 ? " altrow" : ""),
                    "styles": {
                        opacity : 1                   
                    }
                });

				new Element("a", {
                    "href" : boxlink ,
                    "class" : "clipTitle", 
                    "html" : items[i].title
                }).inject(el);



                el.inject(container); 
                
				if (player) {
			        player.highlight($(player.activeItem), $('playlist')); 
		        }
            }
       }
        



        //
        // format duration string
        //
        function getDurationString(sec)
        {
            var m = Math.floor(sec/60);
            var s = Math.round(sec - (m * 60));
            
            return m + ":" + (s > 9 ? s : (s > 0 ? ("0" + s) : "00"));
        }

        //
        // write info section below the player
        //
        function updateInfo(clipId)
        {
        	var index = -1;
        	for(i=0, found=false; i<data.items.length && found == false; i++){
        		if (data.items[i].clipId == clipId && found == false)	{
        			found = true;
        			index=i;
        		}
	        	for(j=0; data.items[i].Clips && j<data.items[i].Clips.length && found == false; j++){
	        		if (data.items[i].Clips[j].cId == clipId && found == false)	{
	        			found = true;
	        			index=i;
	        		}
	        	}
        	}

        	if (index == -1) {return}
        	
            var el = new Element("div", {
                "styles": {
                    width : "100%",
                    opacity : 1
                }
            });


            new Element("h4", {
                "class" : "clipTitle", 
                "html" : data.items[index].title
            }).inject(el);

            if (data.items[index].imageId) {
	            new Element("img", {
	            	"class":  "infoImage",
	                "src" : "http://dynimg.rte.ie/"+data.items[index].imageId+"-180.jpg",
	                "alt" : data.items[index].title
	            }).inject(el);
            }

           	for(j=0; data.items[index].Clips && j<data.items[index].Clips.length; j++){

	           	 var par = new Element("p", {
	                "class" : "clipDescr"
	            }).inject(el);

	           	new Element("a", {
	                "href" : "javascript:player.play("+data.items[index].clipId+",'"+data.items[index].Clips[j].cId+"','real',209);",
	                "html" : data.items[index].Clips[j].content
	            }).inject(par);


	           	new Element("img", {
	                "class" : "inlineSpeaker",
	                "src" : "/news/morningireland/images/inline_speaker.png",
	                "alt" : "play"
	            }).inject(par, 'top');
            
            }
            
            

/*			if (data.items[index].duration && data.items[index].duration != "NaN" && data.items[index].duration != "") {
				new Element("p", {
					"class" : "clipDuration",
					"html" : "Duration: " + getDurationString(data.items[index].duration)
				}).inject(el);
			}*/
			
            el.inject($(config.infoContainer).empty());
		}

        //
        // load new page with loading message
        //        
        function load(x)
        {
            //reload data object with json
            var json = new Request.JSON({
                   url        : "json/" + x + ".js",
                   method     : "get",
                   secure     : false, 
                   async      : false,
                   onComplete : function(obj, text){
                                    data = obj;
                                    $('progTitle').set('html', data.title);
                                    renderPage(data.items);
                                }
            }).send();
        }




        //
        // Changes tab and starts clip from paramaters in URL
        //   
	    function autostartfromurl () 
	    {
	    	
	        if (document && document.location.search && document.location.search.length > 0)
	        {
	            var params = location.search.substr(1).split(",");

		        if (params[0].indexOf('tab') < 0) {


		            load(params[0]);
		            
		            if(params.length >= 5)
		            {
		            	params[3] = params[3]==0 ? "real" : params[3];
		            	params[3] = params[3]==1 ? "wmp" : params[3];
		                 try
		                 {
		                    eval("player.play(" + params[1] + ",'" + params[2] + "','" + params[3] + "'," + params[4] + ")");
		                    eval("updateInfo(" + params[1] + ")");
		                    return true;
		                 }
		                 catch(e){}
		            }
		        }
		        else {
					$("progTitle").set('html', data.title);
					renderPage(data.items);
		        }
	        }
	        else {
				$("progTitle").set('html', data.title);
				renderPage(data.items);
				 try
				 {
					player.play('1_real','http://dynamic.rte.ie/av/live/radio/radio1.smil','real','200');
					return true;
				 }
				 catch(e){}
	        }
	        
	        //return false;javascript:player.play('1_real',%20'http://dynamic.rte.ie/av/live/radio/radio1.smil',%20'real',%20'200')
	    }
	    
	    
	    
        //
        // Changes tab and starts clip from paramaters in URL
        //   
	    function autostartfirstclip () 
	    {
        	if ($E("#clipList a"))
        	{
	        	var link = $E("#clipList a").href;
				try
				{
					eval("player"+link.substr(link.indexOf(".play(")));
					return true;
				}
				catch(e){}
			}
        }

	    
	    
	    
		function showHelp()
		{
			if(document.getElementById("player"))
			{
				document.getElementById("player").innerHTML = "<iframe src=\"/info/avfaq_simple_gaa.html\" name=\"adPanel\" id=\"adPanel\" width=\"512\" height=\"334\" scrolling=\"yes\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" status=\"no\" statusbar=\"no\" allowTransparency=\"true\"></iframe>";
				if(document.getElementById("clipExtraInfo"))
					document.getElementById("clipExtraInfo").innerHTML = "";
			}
			
		}


function gotoDateProgPlayer(dt)
{
	var new_date = new Date(dt);
	
	if(new_date > today)
		return;
	
	var month = new_date.getMonth()+1;
	if(month < 10) month = "0" + month;
	var date = new_date.getDate();
	if(date < 10) date = "0" + date;

	var year = new_date.getFullYear();
	var new_date = year.toString() + month.toString() + date.toString();
	
	load(new_date);
	TabbedPanels1.showPanel(0);
}


var CALENDAR_DATE = new Date();
var PROG_FILENAME="index";
function getCalendarDatesAsync(url, dt)
{
	if(Sarissa)
	{
		CALENDAR_DATE = dt;
		var xmlhttp = new XMLHttpRequest();
		xmlhttp.open("GET", url, true);
		
		xmlhttp.onreadystatechange = function() {
		    if (xmlhttp.readyState == 4) {
		        renderCalendar(CALENDAR_DATE, "gotoDateProgPlayer", xmlhttp.responseText)
		    }
		}
		xmlhttp.send(null);
	}
}

function changeMonth(dt)
{
	dt = new Date(dt);
	getCalendarDatesAsync("/news/" + PROG_FILENAME + "/inc/archive.inc", dt.valueOf());
}
	    
	    
function setadmpu() {}

