﻿var PH_SelectedItem;
var PH_PreLoad = true;

function PH_Init(){


	var container = document.getElementById("PH_ProgrammeList");
	container.innerHTML = ""; //clear container
	
	if(PH_PreLoad){
		document.getElementById("PH_ProgrammeAdmin").innerHTML = GetContentFromContentTemplate("Programme_DocumentDetails");
		PH_PreLoad = false;
	}
	
	try{PH_AdminInit();}catch(ex){}
	
	PH_ListProgramme();	

}

function PH_ListProgramme(){

	ShowWait(true);

	var url = ROOT_DIR + "Atom/Programme/v3/ProgrammeHomepage_Cmd.aspx?cmd=857&eid=" + EVENT_OBJECTID + "&poid=" + PROGRAMME_OBJECTID;
	
	//alert(url)
	
	Ajax_GetXmlPage(url, PH_ListProgramme_Response);

}

function PH_ListProgramme_Response(){

	if(Ajax_XmlHttp_IsReady()){
	
		SessionRenewed();
		if (CURRENT_REGISTERED_USEROBJECTID < 0) {
		    document.getElementById('PH_ProgrammeAdmin').style.display = "none";
		}
	    
		var itemId, itemObjectId, date, itemNodes, j, dayItemContainer, roomItemContainer;
		var objectid,name,desc, author, ab, loc, gallery, authorId;
		var XmlDoc = Ajax_XmlHttp.responseXML;
		var container = document.getElementById("PH_ProgrammeList");
		var date, dateAsId;
		var roomId, roomAsId;
		var docId, docName, docId2, docName2, docs, docsFound;
		var t, tr, td, d;
		
		var nodeDays = XmlDoc.getElementsByTagName("Days")[0].getElementsByTagName("Day");
		var nodeRooms, nodeSessions, nodeSessionItems;
		
		container.innerHTML = "";
		
		if(nodeDays.length <= 0){
		
			AddListBox("NoProgramme","No programme currently exists",container,"PH");
		
		}else{
		
			for(var i = 0; i < nodeDays.length; i++){	
				
				date = nodeDays[i].getAttribute("date");
				dateAsId = date.replace("/","").replace("/","");
				
				AddListBox(dateAsId,nodeDays[i].getAttribute("sdate"),container,"PH","ListBox_Day_","ListBox_MainContent_Wrapper_Nested","ListBox_Day_MainContent");
				dayItemContainer = document.getElementById("PH_ListBox_MainContent_"+dateAsId);
				
				nodeSessions = nodeDays[i].getElementsByTagName("Session");
						
				if(nodeSessions.length <= 0){
				
					//no sessions
					dayItemContainer.innerHTML = "There are no rooms for this day.<br/><br/>";
				
				}else{
				
					dayItemContainer.innerHTML = "";
				
					for(var k = 0; k < nodeSessions.length; k++){

						sessionId = nodeSessions[k].getAttribute("sessionid");
						sessionAsId = dateAsId + '_' + roomId + '_' + sessionId;
						sessionName = nodeSessions[k].getAttribute("name")
						sessionStartTime = nodeSessions[k].getAttribute("starttime");
						sessionEndTime = nodeSessions[k].getAttribute("endtime");
						sessionType = nodeSessions[k].getAttribute("type");
						sessionRoomId = nodeSessions[k].getAttribute("roomid");
						sessionRoomName = nodeSessions[k].getAttribute("roomname");
						
						if(sessionType == 1){
							AddListBox(sessionAsId,sessionStartTime + " - " + sessionEndTime + " | " + sessionRoomName + ": " + sessionName,dayItemContainer,"PH",null,"ListBox_MainContent_Wrapper_Nested","ListBox_Session_MainContent");
						}else{
							AddListBox(sessionAsId,sessionStartTime + " - " + sessionEndTime + ": " + sessionName,dayItemContainer,"PH","ListBox_Alternate_","ListBox_MainContent_Wrapper_Nested","ListBox_Alternate_MainContent");
						}
						sessionItemContainer = document.getElementById("PH_ListBox_MainContent_"+sessionAsId);
						sessionItemContainerTitle = document.getElementById("PH_ListBox_Header_Header_Title_"+sessionAsId);
												
						nodeSessionItems = nodeSessions[k].getElementsByTagName("SessionItem");
						
						if(nodeSessionItems.length <= 0){
						
							//no session items
							sessionItemContainer.innerHTML = "There are no session items within this session.<br/><br/>";
						
							DoExpand(document.getElementById("PH_ListBox_Header_Expand_"+sessionAsId),sessionItemContainer);
						
						}else{
						
							sessionItemContainer.innerHTML = "";
							DoExpand(document.getElementById("PH_ListBox_Header_Expand_" + sessionAsId), sessionItemContainer);
							for(var l = 0; l < nodeSessionItems.length; l++){
							
								itemId = nodeSessionItems[l].getAttribute("itemid");
								itemObjectId = nodeSessionItems[l].getAttribute("itemobjectid");
								
								name = nodeSessionItems[l].getElementsByTagName("Name")[0].firstChild.data;	
								
								try{
									author = nodeSessionItems[l].getElementsByTagName("Author")[0].getElementsByTagName("Name")[0].firstChild.data;
								}catch(ex){author = "";}
								
								try{
									authorId = nodeSessionItems[l].getElementsByTagName("Author")[0].getAttribute("objectid");
								}catch(ex){authorId = -1;}
								
								try{
									var g = nodeSessionItems[l].getElementsByTagName("Author")[0].getElementsByTagName("Gallery")[0].firstChild.data;
									if (g == 'False')
										gallery = false;
									else
										gallery = true;
								}catch(ex){gallery = false;}
								//if(author == ""){author = "Unknown Author";}
								
								try{ab = nodeSessionItems[l].getElementsByTagName("Abstract")[0].firstChild.data;}catch(ex){ab = "";}
								if(ab.length > 200){ab = ab.substring(0,200)+"...";}
							
								loc = ""; //roomName;//nodeSessionItems[l].getElementsByTagName("Location")[0].firstChild.data;

								startTime = "ST";//nodeSessionItems[l].getElementsByTagName("StartTime")[0].firstChild.data;
								endTime = "ET";//nodeSessionItems[l].getElementsByTagName("EndTime")[0].firstChild.data;
								duration = nodeSessionItems[l].getAttribute("duration");
								
								desc = startTime;
								desc += " - ";
								desc += endTime;

								//Get the document
								docsFound = false; docId = null; docName = null; docId2 = null; docName2 = null;
								presPhyDocId = null; presName = null;
								//if (CURRENT_REGISTERED_USEROBJECTID != 2 && CURRENT_REGISTERED_USEROBJECTID > 0) {
									docs = nodeSessionItems[l].getElementsByTagName("Document");
									var doc;
									for (doc = 0; doc < docs.length; doc++) {
										if (docs[doc].getElementsByTagName("Name")[0].firstChild.data.indexOf('ppt_') == 0) {
											presPhyDocId = docs[doc].getAttribute("phydocid");
											presName = docs[doc].getElementsByTagName("Name")[0].firstChild.data;
										} else {
											if (docs[doc].getAttribute('mediatype') == 'PDF') {
												docId = docs[doc].getAttribute("phydocid");
												docName = docs[doc].getElementsByTagName("Name")[0].firstChild.data;
											}
											else 
												if (docs[doc].getAttribute('mediatype') == 'MS Word doc') {
													docId2 = docs[doc].getAttribute("phydocid");
													docName2 = docs[doc].getElementsByTagName("Name")[0].firstChild.data;
												}
										}
									}
									if (docId == null) { docId = docId2; docName = docName2; }
									var sDocIcon = '';
									if (docId != null) { sDocIcon = '<a target="_blank" href="/idocument/atom/cview.aspx?LogDocId=' + itemObjectId + '&PhyDocId=' + docId + '"><img absalign="middle" border="0" src="/icons/media/pdf.gif" alt="Download this paper" title="Download this paper"/></a>'; }
									if(presPhyDocId){ sDocIcon += '&nbsp;<a target="_blank" href="/idocument/atom/cview.aspx?LogDocId=' + itemObjectId + '&PhyDocId=' + presPhyDocId + '"><img absalign="middle" border="0" src="/icon/16/data/shadow/presentation.png" alt="Download the presentation" title="Download the presentation" /></a>' }
									if(gallery){ sDocIcon += '&nbsp;<a href="Javascript:showImage('+authorId+');"><img absalign="middle" border="0" src="/icon/16/app/shadow/photo_portrait.png" alt="View tagged image" title="View tagged image" /></a>' }
								//}
								t = document.createElement("table");
								t.style.width = "100%";
								tr = t.insertRow(0);
								
								td = tr.insertCell(0);
								td.className = "Programme_Title";
								td.innerHTML = name + ' ' + sDocIcon;
								//if(author != ""){td.innerHTML += " - <span style=\"font-weight:normal;font-style:italic;\">" + author + "</span>";}
								
								td = tr.insertCell(1);
								td.className = "Programme_StartEndTime"
								if(duration != "" && duration  != "-1"){
									td.innerHTML = duration  + " minutes";//startTime + " - " + endTime;
								}else{
									td.innerHTML = "&nbsp;";
								}

								tr = t.insertRow(1);
								
								td = tr.insertCell(0);
								td.colspan = "2";
								td.className = "Programme_Room";
								td.innerHTML = author; //sessionName; //loc + " | " + sessionName;

								tr = t.insertRow(2);

								td = tr.insertCell(0);
								td.colspan = "2";
								td.className = "Programme_Abstract";
								td.innerHTML = ab;
												
								d = document.createElement("div");
								d.className = "ListBox";
								d.id = itemId;
								d.setAttribute("objectid",itemObjectId);
								
								if(isIE){
								
									d.onmouseover = SetStyle;
									d.onmouseout = SetStyle;
									d.onclick = PH_SelectProgrammeItem;
								
								}else{
								
									d.setAttribute("onmouseover", "SetStyle(this,'over');");
									d.setAttribute("onmouseout", "SetStyle(this,'out');");
									d.setAttribute("onclick","PH_SelectProgrammeItem(this);");
								
								}
								
								d.appendChild(t);

								sessionItemContainer.appendChild(d);

							}
							
							
						}
							
						if(sessionType == 1){sessionItemContainerTitle.innerHTML += '&nbsp;&nbsp;&nbsp;<span style="font-weight:normal;font-size:9px;">' + nodeSessionItems.length + ' session items</span>';}
							
					}
				
				}
				
				
				/*
				nodeRooms = nodeDays[i].getElementsByTagName("Room");
				
				
				if(nodeRooms.length <= 0){
				
					//no rooms
					roomItemContainer.innerHTML = "There are no rooms for this day.<br/><br/>";
				
				}else{
				
					dayItemContainer.innerHTML = "";

					
					
					for(var j = 0; j < nodeRooms.length; j++){
						
						roomId = nodeRooms[j].getAttribute("roomid");
						roomAsId = dateAsId + '_' + roomId;
						roomName = nodeRooms[j].getAttribute("name");
					
						AddListBox(roomAsId,"Room: " + roomName,dayItemContainer,"PH","ListBox_Room_","ListBox_MainContent_Wrapper_Nested","ListBox_Room_MainContent");
						roomItemContainer = document.getElementById("PH_ListBox_MainContent_"+roomAsId);
						roomItemContainerTitle = document.getElementById("PH_ListBox_Header_Header_Title_"+roomAsId);
						
						nodeSessions = nodeRooms[j].getElementsByTagName("Session");
						
						if(nodeSessions.length <= 0){
						
							//no rooms
							roomItemContainer.innerHTML = "There are no sessions for this room.<br/><br/>";
						
							DoExpand(document.getElementById("PH_ListBox_Header_Expand_"+roomAsId),roomItemContainer);
						
						}else{
						
							roomItemContainer.innerHTML = "";
					
							
							
						}
					
						roomItemContainerTitle.innerHTML += '&nbsp;&nbsp;&nbsp;<span style="font-weight:normal;font-size:9px;">' + nodeSessions.length + ' sessions</span>';
				
						
				
					}	
					
				}
				*/

			}
		
		}
		
		ShowWait(false);
		
	}

}

function PH_SelectProgrammeItem(item){

	if(!item){item = this;}
	
	ListBoxSelected(item)
	
	PH_SelectedItem = item;

}

function PH_DownloadProgramme(){

	alert("Please wait a moment while the programe is generated and the download begins.");

	window.frames.viewdoc.location.href="/iAPPLICATION/EventManagement/Atom/Programme/v3/ProgrammeDownload.aspx?pid="+PROGRAMME_OBJECTID;	

}
