/* Javascript document */


function init(){

Presentation.Open();
OpenPresentationList();
}

function getWebcastList(){
agent.call('_ajax.php','loadwebcastlist','setwebcastlist',categoryid,userid);
}

function getCurrentWebcast(){
agent.call('_ajax.php','loadwebcast','setcurrentwebcast',webcastid,categoryid,userid);
}
	function setcurrentwebcast(resultval){
	if(resultval && resultval != 'false'){
		Webcast.ajaxSetProperties(resultval);
	statusmessages.Add('Webcast information loaded for event '+Webcast.getProperty('name')+'.');
	getPresentations();
		}
		else{
			//alert('could not load webcast information');
			}
		}
function getPresentations(){
	if(Webcast.getProperty('id') && Webcast.getProperty('id') != -1){
		statusmessages.Add('loading presentations for the event..');
		agent.call('_ajax.php','loadpresentations','setpresentationlist',Webcast.getProperty('id'));
		}
	else alert('no Webcast selected');
	}
	function setpresentationlist(resultval){
	var current = null;
	if(resultval && resultval != 'false'){
		var i = 0;
		var Slidelist = new Array();
		for(i=0; resultval[i];i++){
			Presentation = PresentationList.Insert();
			Presentation.ajaxSetProperties(resultval[i]);
		//	Presentation.printProperties();
			Presentation.addListProperty('mediasources');
			Presentation.addListProperty('slidechanges');
			Presentation.getSlideChanges = getSlideChanges;
			Presentation.Open = openPresentation;
			 Slidelist[i] = Presentation.addListProperty('slides');
			Slidelist[i].parent = Presentation;
			Slidelist[i].getSlideList = getSlideList;
			Slidelist[i].setslidelist = setslidelist;
//			Presentation.getSlidelist();
//			Presentation.getMediaList();
			}//for
			PresentationList.First();
			PresentationList.GetItem(Webcast.getProperty('currentspeaker'));
			statusmessages.Add('Presentation list loaded ('+PresentationList.Count()+' presentations).');
			Presentation = PresentationList.Current();
			//alert('loaded '+PresentationList.Count()+ '('+i+') presentations');
			/*if(Presentation.getProperty('slides').IsEmpty())
				Presentation.getProperty('slides').getSlideList();*/
			init();			
		}//if
	else alert('unable to load presentation list for the selected webcast ' +Webcast.getProperty('name') );
	}
function getSlideList(){
	if(this.parent.getProperty('id')){
		agent.call('_ajax.php','loadslides','PresentationList.Current().getProperty("slides").setslidelist',this.parent.getProperty('id'));
	}
}
	function setslidelist(resultval){
		var currentSlide = null;
		if(resultval && resultval!= 'false'){
			for(slide in resultval){
				if(resultval[slide]['id']){
					currentSlide = this.Insert();
					currentSlide.ajaxSetProperties(resultval[slide]);
					}
				}
			if(getElement('slideControlsTable')) getElement('slideControlsTable').style.display='block';
			SlideControl.init();
			this.parent.getSlideChanges();	
			}
		else{
			statusmessages.Add('current presentations has no slide material.');
			if(getElement('slideControlsTable')) getElement('slideControlsTable').style.display='none';
			}
	if(beta != true)	if(getElement('statusmessageContainer'))getElement('statusmessageContainer').style.display='none';
		}//end function

	
	function dummy(rval){

		if(rval && rval!= 'false'){

			for(slide in rval){
				if(rval[slide]['number']){
					currentSlide = PresentationList.Current().getProperty('slidechanges').Insert();
					currentSlide.ajaxSetProperties(rval[slide]);
					
					}//endif
				}//endfor
			}//endif
	}
function getSlideChanges(){
			if(this.getProperty('id')){
			agent.call('_ajax.php','loadslidechanges','dummy',this.getProperty('id'));
			}
			
		}
	function slidesetchanges(resultval){
		var currentSlide = null;
		if(resultval && resultval!= 'false'){
			for(slide in resultval){
				if(resultval[slide]['id']){
					currentSlide = PresentationList.Current().getProperty('slidechanges').Insert();
					currentSlide.ajaxSetProperties(resultval[slide]);
					}//endif
				}//endfor
			}//endif
		}//end function
		
function getMediasources(){
	if(PresentationList.Current().getProperty('id') != -1){
		if(PresentationList.Current().getProperty('mediasources').IsEmpty()){
			var sourceType = 'live';
			if((PresentationList.Current().getProperty('status')==4 )|| (Webcast.getProperty('status')>2)){
				sourceType = 'ondemand';
				statusmessages.Add('The event is available for on-demand viewing.');
				}
			else statusmessages.Add('Opening live feed.');
			agent.call('_ajax.php','loadmediasources','setmediasourcelist',Webcast.getProperty('id'),PresentationList.Current().getProperty('id'),sourceType,mediatype);
			} 
		}
	}
	function setmediasourcelist(resultval){
		if(resultval && resultval != 'false'){
		//alert(resultval);
		statusmessages.Add('Mediasourcelist loaded for current presentation');
			var i = 0;
			var MediaSourceList = PresentationList.Current().getProperty('mediasources');
			
			for(i=0; resultval[i];i++){
		//	alert('inserting media source');
				MediaSource = MediaSourceList.Insert();
				MediaSource.ajaxSetProperties(resultval[i]);
				MediaSource.parent = PresentationList.Current();
				}
			MediaSourceList.First();
			PresentationList.Current().Open();
			}//if
		else statusmessages.Add('Could not load media sources for presentation '+PresentationList.Current().getProperty('showtitle'));
		}
function getHTMLSlide(sId){
var slideId = sId ? sId : PresentationList.Current().getProperty('slides').Current().getProperty('id');
	agent.call('_ajax.php','openhtmlslide','SlideControl.setHTMLContent',slideId);
	}
function chatSendLine(nametosend,linetosend){
		agent.call('_ajax.php','chatsendline','chatlinesent',nametosend,linetosend);
	}
function chatlinesent(resultstatus){
	if(resultstatus=='true' || resultstatus==1){
		//alert('line sent');
		if(getElement('chat_send_header')){
			getElement('chat_send_header').innerHTML = 'Kysymys lähetetty.';
			jobqueue.addJob('getElement(\'chat_send_header\').innerHTML = \'Lähetä kysymys.\'',false,1,5000);
			
			}
		}
	else alert(resultstatus);
	}
function chatGetLines(){
	agent.call('_ajax.php','chatgetlines','Chat.AddLines');
	}

function slidesetchanges(resultval){
	
	}

function getstatus(){
if(PresentationList.IsEmpty()) alert('Presentationlist is empty.');
else {
	globalRowCount++;
	statusmessages.Add(globalRowCount+'. Presentationlist has '+PresentationList.Count() +' presentations. The current presentation is '+PresentationList.Current().getProperty('showtitle') + ' by ' + PresentationList.Current().getProperty('speaker') +'. It has ' + PresentationList.Current().getProperty('slides').Count() + ' slides.');
	statusmessages.Print();
	statusmessages.Trim(5);
//	alert(PresentationList.Current().getProperty('slides').Current().getProperty('number'));
	//alert(PresentationList.Current().printProperties());
	}
}
function geterrors(){
	errors.Print();
	}
function openMaterialList(){

	if(Webcast.getProperty('filecategory') == -1 || Webcast.getProperty('filecategory')== 0) 
		getElement(MaterialListView.getProperty('objectID')).innerHTML = 'No related materials found for this webcast event';
		else agent.call('_ajax.php','loadFileArchiveHTML','setmateriallist',Webcast.getProperty('filecategory'));
}
	function setmateriallist(resultval){
	//	alert(resultval);
		if(resultval && resultval != 'false'){
			if(MaterialListView){
				if(getElement(MaterialListView.getProperty('objectID'))){
					getElement(MaterialListView.getProperty('objectID')).innerHTML = resultval;
				}
			}
		}
	}
function ajaxSendFeedback(topic,sender,line){
		agent.call('_ajax.php','sendfeedback','feedbacksent',topic,sender,line);
		}
		function feedbacksent(resultstatus){
			alert('Your feedback was sent successfully. Thank you.');
			statusmessages.Add('feedback was sent');
			getElement('fb').reset();
			}