
// definisco il vettore che contiene le informazioni sullo slideshow
slides = new Array();
slides[0]= new Array(); // qui metto gli url delle slide
slides[1]= new Array(); // qui metto i tempi delle slide
slides[2]= new Array(); // qui metto la descrizione delle slide
var statoSlides = "notok";
var currentSlide = 0;
var updatingSlideWidget = false;
// definisco il vettore che contiene le informazioni sui bookmark
bookmarks = new Array();
bookmarks[0]= new Array(); // qui metto gli id dei bookmark
bookmarks[1]= new Array(); // qui metto i tempi dei bookmark
bookmarks[2]= new Array(); // qui metto il commento dei bookmark
bookmarks[3]= new Array(); // qui metto lo stato del commento dei bookmark 
bookmarks[4]= new Array(); // qui definisco se il bookmark è privato oppure pubblico
bookmarks[5]= new Array(); // qui definisco se il bookmark pubblico è stato creato dallo stesso utente che sta vedendo la videolezione 
bookmarks[6]= new Array(); // qui definisco il nome dell'autore del bookmark 
bookmarks[7]= new Array(); // qui definisco l'id dell'autore del bookmark
bookmarks[8]= new Array(); // qui definisco il cognome dell'autore del bookmark 
bookmarks[9]= new Array(); // qui definisco se un bookmark è una risposta ad un altro bookmark
bookmarks[10]= new Array(); // qui definisco il tempo di creazione di un bookmark
bookmarks[11]= new Array(); // precedente
bookmarks[12]= new Array(); // successivo
bookmarks[13]= new Array(); // link creatore bookmark
var statoBookmarks = "notok";
var seeBookmarks = 0;
var fineLista = 0;
var successivo = null;
// definisco il vettore che contiene le informazioni sui media
media= new Array(); // qui metto l' url del media
var statoMedia = "notok";
////////////////////////////////////////////////////////////////////////////////
//variabili per le immagini/////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
var imgSeeDisabled="./img/see_disabled.png";
var imgSeeEnabled="./img/see_enabled.png";
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

function init(){
		// conservo il codice seguente anche se per ora non lo utilizzo
		if( navigator.appName.indexOf("Microsoft Internet")==-1 )
    {
        // insertPlugin();
				// il plugin lo faccio inserire da dammiMedia, in modo da inserirlo direttamente con la playlist
    }
    else if( document.readyState == 'complete' )
    {
        // insertPlugin();
    }
    else
    {
       /* Explorer loads plugins asynchronously */
       /* document.onreadystatechange=function() {
            if( document.readyState == 'complete' )
            {
                insertPlugin();
            }
       }*/
    }
		// inserire chiamata javascript che inizializza il vettore delle slide
		dammiMedia();
		dammiSlides();
		// displayBookmark();
		if( monitorTimerId == 0 ){
    	monitor();
    }
};

/////////////////////////////////////////////////////////////////////////////////////////
// Gestione MEDIA
/////////////////////////////////////////////////////////////////////////////////////////

var xmlHttpMedia; // variabile associata alle chiamate sui media
function dammiMedia(){//funzione che inizializza il vettore dei media qui devo implementare AJAX
		var address="dammiMedia.php?";
		address += addParameter(); //"courseid=" + escape(courseid);//address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
		
		xmlHttpMedia = createXMLHttpRequest();
		xmlHttpMedia.onreadystatechange = handleMedia;
		//alert("address=" + address);
		xmlHttpMedia.open("GET",address,true);
		xmlHttpMedia.send(null);
	  //alert(address);
};

function handleMedia(){
	if(xmlHttpMedia.readyState == 4){
			if(xmlHttpMedia.status == 200){
				//alert("The server replied with:" + xmlHttpMedia.responseText);
			  parseMedia();
			  statoMedia="ok";
			  // alert(media[0]);
			}
	}
} 

function parseMedia(){  //legge xml e lo carica negli array
	var xmlDoc = xmlHttpMedia.responseXML;
	var urlNode = xmlDoc.getElementsByTagName("url");
	
	// svuoto l'array prima di caricarlo nuovamente
	var nodo=0;
  while (media[nodo]) {
   media[nodo]=null;
   nodo++;   
  }
	
	// carico l'array
  nodo=0;
  while (urlNode[nodo]) {
   media[nodo]=urlNode[nodo].childNodes[0].nodeValue;
   nodo++;   
  }
}

/////////////////////////////////////////////////////////////////////////////////////////
// Gestione SLIDE
/////////////////////////////////////////////////////////////////////////////////////////


function handleStateChange(){
		//alert("xmlHttp_readyState" + xmlHttp.readyState);
	if(xmlHttp.readyState == 4){
			//alert("xmlHttp_status" + xmlHttp.status);
			if(xmlHttp.status == 200){
				//alert("The server replied with:" + xmlHttp.responseText);
			  parsaslide();
				// inizializzo la barra di navigazione delle slide
				doSlideWidgetInit();			  
			  statoSlides="ok";
			}
	}
} 

function  parsaslide(){
	var xmlDoc = xmlHttp.responseXML;
	//alert(" xmlHttp_responseXML:" +  xmlHttp.responseXML);
	var urlNode = xmlDoc.getElementsByTagName("slideurl");
	var timeNode = xmlDoc.getElementsByTagName("slidetime");
	var descriptionNode = xmlDoc.getElementsByTagName("slidedescription");
	var nodo=0;
	// outputParseslide("urlNode=", urlNode);
  while (urlNode[nodo]) {
   slides[0][nodo]=urlNode[nodo].childNodes[0].nodeValue;
   slides[1][nodo]=timeNode[nodo].childNodes[0].nodeValue;
   slides[2][nodo]=descriptionNode[nodo].childNodes[0].nodeValue;
   // Attenzione: IE 8 non vuole valori di descrizione nulli nel DB!
   // if(descriptionNode != null){
      // slides[2][nodo]=descriptionNode[nodo].childNodes[0].nodeValue;
   // } else {
   	  // slides[2][nodo]="null";
   // }
   //alert(urlNode[nodo].childNodes[0].nodeValue);
   //alert(timeNode[nodo].childNodes[0].nodeValue);
   //alert(descriptionNode[nodo].childNodes[0].nodeValue);
   nodo++;   
  }
  // alert("urlNode 0:" + urlNode);
  // urlNode = xmlDoc.getElementsByTagName("slideurl")[1].childNodes[0].nodeValue;
  // alert("urlNode 1:" + urlNode);
}

var xmlHttp; // variabile associata alle chiamate sulle slide
function dammiSlides(){//funzione che inizializza il vettore delle slide qui devo implementare AJAX
		var address="dammiSlides.php?";
		address += addParameter(); //"courseid=" + escape(courseid);	//address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
		
		xmlHttp = createXMLHttpRequest();
		xmlHttp.onreadystatechange = handleStateChange;
		 //alert("address=" + address);
		xmlHttp.open("GET",address,true);
		xmlHttp.send(null);
};

/////////////////////////////////////////////////////////////////////////////////////////
// Gestione BOOKMARK
/////////////////////////////////////////////////////////////////////////////////////////
var xmlHttpBookmark; // oggetto AJAX che gestisce le chiamate sui bookmark
function handleCreateBookmark(){
	//alert("xmlHttp_readyState" + xmlHttp.readyState);
	if(xmlHttpBookmark.readyState == 4){
			//alert("xmlHttpBookmark_status" + xmlHttpBookmark.status);
			if(xmlHttpBookmark.status == 200){
				// alert("The server replied with:" + xmlHttpBookmark.responseText);
			  parseBookmarks();
			  doDisplayBookmark();
			  statoBookmarks ="ok";
			}
	}
} 

function parseBookmarks(){  //legge xml e lo carica negli array
	var xmlDoc = xmlHttpBookmark.responseXML;
	// alert(" xmlHttpBookmark_responseXML:" +  xmlHttpBookmark.responseXML);
	var idNode = xmlDoc.getElementsByTagName("idbookmark");
	var timeNode = xmlDoc.getElementsByTagName("tempo");
	var commentNode = xmlDoc.getElementsByTagName("commento");
	var statusNode = xmlDoc.getElementsByTagName("stato");
	var scopeNode = xmlDoc.getElementsByTagName("scope");
	var myBookmarkPubblicNode = xmlDoc.getElementsByTagName("miobookmark");	
	var firstnameNode = xmlDoc.getElementsByTagName("nomecommentatore");
	var lastnameNode = xmlDoc.getElementsByTagName("cognomecommentatore");
	var iduserNode = xmlDoc.getElementsByTagName("idcommentatore");
	var linkidNode = xmlDoc.getElementsByTagName("linkidcommentatore");
	var replyidNode = xmlDoc.getElementsByTagName("replyid");
	var timecreatedNode = xmlDoc.getElementsByTagName("timecreated");
	// svuoto l'array prima di caricarlo nuovamente
	var nodo=0,indice=0,rispostaa=0;
	// outputParseslide("urlNode=", urlNode);
  while (bookmarks[0][nodo]) {
   bookmarks[0][nodo]=null; // qui metto gli id dei bookmark
   bookmarks[1][nodo]=null; // qui metto i tempi dei bookmark
   bookmarks[2][nodo]=null; // qui metto il commento dei bookmark
   bookmarks[3][nodo]=null; // qui metto lo stato del commento dei bookmark 
   bookmarks[4][nodo]=null; // qui definisco se il bookmark è privato oppure pubblico
   bookmarks[5][nodo]=null; // qui definisco se il bookmark pubblico è stato creato dallo stesso utente che sta vedendo la videolezione   
   bookmarks[6][nodo]=null; // qui definisco il nome dell'autore del bookmark 
   bookmarks[7][nodo]=null; // qui definisco l'id dell'autore del bookmark      
   bookmarks[8][nodo]=null; // qui definisco il cognome dell'autore del bookmark 
   bookmarks[9][nodo]=null; // qui definisco se un bookmark è una risposta ad un altro bookmark
	 bookmarks[10][nodo]=null; // qui definisco il tempo di creazione di un bookmark
	 bookmarks[11][nodo]=null; // precedente
	 bookmarks[12][nodo]=null; // successivo
	 bookmarks[13][nodo]=null; // link creatore bookmark
   nodo++;   
  }
  nodo=0;
	// outputParseslide("urlNode=", urlNode);
	//alert(idNode[nodo]);
  while (idNode[nodo]) {
   bookmarks[0][nodo]=idNode[nodo].childNodes[0].nodeValue;
   bookmarks[1][nodo]=timeNode[nodo].childNodes[0].nodeValue;
   bookmarks[2][nodo]=commentNode[nodo].childNodes[0].nodeValue;
   bookmarks[3][nodo]=statusNode[nodo].childNodes[0].nodeValue;
   bookmarks[4][nodo]=scopeNode[nodo].childNodes[0].nodeValue; 
   bookmarks[5][nodo]=myBookmarkPubblicNode[nodo].childNodes[0].nodeValue;    
   bookmarks[6][nodo]=firstnameNode[nodo].childNodes[0].nodeValue;  
   bookmarks[7][nodo]=iduserNode[nodo].childNodes[0].nodeValue;
   bookmarks[8][nodo]=lastnameNode[nodo].childNodes[0].nodeValue;
   bookmarks[9][nodo]=replyidNode[nodo].childNodes[0].nodeValue;
   bookmarks[13][nodo]=linkidNode[nodo].childNodes[0].nodeValue;
	 //alert (bookmarks[13][nodo]);
   indice = 0;
   rispostaa = bookmarks[9][nodo]; 
   while(indice < nodo){
    //alert(rispostaa+"=="+bookmarks[0][indice]);
   	if (rispostaa == bookmarks[0][indice]){
   		//alert("trovata risposta");
   		bookmarks[9][nodo]=indice;
   	}
   	indice++;
   }
   bookmarks[10][nodo]=timecreatedNode[nodo].childNodes[0].nodeValue;  
   //alert(idNode[nodo].childNodes[0].nodeValue);
   //alert(timeNode[nodo].childNodes[0].nodeValue);
   //alert(commentNode[nodo].childNodes[0].nodeValue);
      //alert(commentNode[nodo].childNodes[0].nodeValue);
      //alert(myBookmarkPubblicNode[nodo].childNodes[0].nodeValue);
   nodo++;   
  }
   nodo=0;
  while(idNode[nodo]){
   if(nodo==0){
			bookmarks[11][nodo]=null; // precedente
	 }else{
	 		bookmarks[11][nodo]=nodo-1; // precedente
	 }
	 
	 if (bookmarks[0][nodo+1]){
	 		bookmarks[12][nodo]=nodo+1; // successivo	
	 } else {
	  	bookmarks[12][nodo]=null;
	 }
	 //alert ("Corrente "+bookmarks[0][nodo]+"; prec. "+bookmarks[11][nodo]+"; succ. "+bookmarks[12][nodo] + "/n");
	 nodo++;
  }

  //alert("BOOKMARK 0:" + bookmarks[0][0] + bookmarks[1][0] +bookmarks[2][0]);
  // urlNode = xmlDoc.getElementsByTagName("slideurl")[1].childNodes[0].nodeValue;
  // alert("urlNode 1:" + urlNode);
}

function createBookmark(tempo,commento,stato,scope){		
		var address="bookMark.php?";
		address += addParameter(); //"courseid=" + escape(courseid); // address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
		address += "&"; // è necessario separare le coppie
		address += "tempo=" + escape(tempo);
		address += "&"; // è necessario separare le coppie
		address += "commento=" + escape(commento);
		address += "&"; // è necessario separare le coppie
		address += "stato=" + escape(stato);
		address += "&"; // è necessario separare le coppie
		address += "scope=" + escape(scope);
		address += "&"; // è necessario separare le coppie				
		address += "azione=insert";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
		// alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
	  //alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};
function displayBookmark(){		
		var address="bookMark.php?";
		address += addParameter(); //"courseid=" + escape(courseid); // address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
		address += "&"; // è necessario separare le coppie
		address += "azione=display";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
		// alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
		//alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};

function deleteBookmark(id){
		var address="bookMark.php?";
		address += "idbookmark=" + id;
		address += "&"; // è necessario separare le coppie
		address += addParameter(); //"courseid=" + escape(courseid); //	address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
		address += "&"; // è necessario separare le coppie
		address += "azione=delete";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
		// alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
		//alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};

function saveBookmark(id,commento,stato,scope){
		var address="bookMark.php?";
		address += "idbookmark=" + id;
		address += "&"; // è necessario separare le coppie
		address += addParameter(); //"courseid=" + escape(courseid); //	address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
	  address += "&"; // è necessario separare le coppie
		address += "commento=" + escape(commento);
		address += "&"; // è necessario separare le coppie
		address += "stato=" + escape(stato);
		address += "&"; // è necessario separare le coppie
		address += "scope=" + escape(scope);
		address += "&"; // è necessario separare le coppie		
		address += "azione=save";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
	// 	alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
	  //alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};

function editBookmark(id,stato,scope){
		var address="bookMark.php?";
		address += "idbookmark=" + id;
		address += "&"; // è necessario separare le coppie
		address += addParameter(); // "courseid=" + escape(courseid); // address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
	  address += "&"; // è necessario separare le coppie
		address += "stato=" + escape(stato);
		address += "&"; // è necessario separare le coppie
		address += "scope=" + escape(scope);
		address += "&"; // è necessario separare le coppie
		address += "azione=edit";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
	//alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
	  //alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};

function shareBookmark(id,scope){
		var address="bookMark.php?";
		address += "idbookmark=" + id;
		address += "&"; // è necessario separare le coppie
		address += addParameter(); // "courseid=" + escape(courseid); //	address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
	  address += "&"; // è necessario separare le coppie
		address += "scope=" + escape(scope);
		address += "&"; // è necessario separare le coppie
		address += "azione=edit";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
		//alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
	  //alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};


function replyBookmark(id,scope,commento,stato){
		var address="bookMark.php?";
		address += "idbookmark=" + id;
		address += "&"; // è necessario separare le coppie
		address += addParameter(); // "courseid=" + escape(courseid); //	address += "&"; // è necessario separare le coppie
		address += "mediaid=" + escape(mediaid);
		address += "&"; // è necessario separare le coppie
		address += "commento=" + escape(commento);
		address += "&"; // è necessario separare le coppie
		address += "stato=" + escape(stato);
		address += "&"; // è necessario separare le coppie
		address += "scope=" + escape(scope);
		address += "&"; // è necessario separare le coppie
		address += "azione=reply";
		xmlHttpBookmark = createXMLHttpRequest();
		xmlHttpBookmark.onreadystatechange = handleCreateBookmark;
		//alert("address=" + address);
		xmlHttpBookmark.open("GET",address,true);
		xmlHttpBookmark.send(null);
	  //alert("xmlHttpBookmark_readyState=" + xmlHttpBookmark.readyState);
		//alert(address);
};
/////////////////////////////////////////////////////////////////////////////////////////

function insertPlugin (){
		$f("improvePlayer", "./fp3.0.3/flowplayer-3.0.3.swf",  { 
    
		    // here is our playlist with two clips 
		    playlist: [ 
            // this first PNG clip works as a splash image 
		        { 
		            url: 'http://www.improve.it/improve/images/logo_improve_video_is_loading.png',
		            scaling: 'orig'
		        }, 
		        // second clip is a video. 
		        // when autoPlay is set to true the splash screen will be shown till the video starts playing
		        { 
		            url: media[0],  
		            autoPlay: true,  
		             
		            // video will be buffered when splash screen is visible 
		            autoBuffering: true  
		        } 
		    ] 
		});
		$f(0).load();
}

var prevState = 0;
var monitorTimerId = 0;
// var inputTrackerScrolling = false;
// var inputTrackerIgnoreChange = false;


function formatTime(timeVal)
{
    var timeHour = Math.round(timeVal / 1000);
    var timeSec = timeHour % 60;
    if( timeSec < 10 )
        timeSec = '0'+timeSec;
    timeHour = (timeHour - timeSec)/60;
    var timeMin = timeHour % 60;
    if( timeMin < 10 )
        timeMin = '0'+timeMin;
    timeHour = (timeHour - timeMin)/60;
    if( timeHour > 0 )
        return timeHour+":"+timeMin+":"+timeSec;
    else
        return timeMin+":"+timeSec;
};

function monitor()
{
		// alert("monitor run");
    
    // if ((statoSlides == "ok") && (statoMedia == "ok") && (statoBookmarks == "ok")){   
    if ((statoSlides == "ok") && (statoMedia == "ok")){
        // il codice che segue viene eseguito solo una volta, 
        // per avviare lo slideshow nel momento in cui tutte le funzioni ajax hanno terminato
        // l'interrogazione del database
    	 	
    	 	// inserisco flowplayer
    	 	// NB la playlist di flowplayer è caricata dalla funzione che segue
    	 	insertPlugin();
    	 	
    	 	// registro il listener fp che inserisce i cuepoint:
				// NB i cuepoint vengono applicati all'avvio del secondo clip nella playlist
				// si assume che il primo clip sia il logo, il secondo clip il video vero e proprio
				$f().getClip(1).onStart(function(){
				  			  
				  // l'esempio di cuepoint seguente accetta un array di tempi ed una funzione da eseguire
				  // $f().onCuepoint([5000], function(clip,cuepoint){doUpdateSlide(1);});
				  
				  // costruisco un array di tempi e numeri di slide 
				  // da passare alla funzione che definisce i cuepoint
				  var nodo = 0;
				  cuetime = new Array();
				  while (slides[0][nodo]) {
						cuetime[nodo]={time: slides[1][nodo]*1000, custom: nodo};
						nodo++;  
					}
					
			  	$f().onCuepoint(cuetime, function(clip,cuepoint){doUpdateSlide(cuepoint.custom);});
			  	
			  	// carico il listener per l'evento seek:
			  	// il listener deve sincronizzare alla slide corrente
			  	$f().onSeek(function(){
			  		slideUpdate();
		  		}); // listener onSeek
		  		
				}); // listener onStart
    	 	
    	 	statoMedia = "done";
											
				// aggiorno alla prima slide
				doUpdateSlide(0);
				statoSlides = "done";
			
    }

    if( ! monitorTimerId )
    {
        monitorTimerId = setInterval("monitor()", 2000);
    }
};





/* actions */

// funzione per la sincronizzazione dello slideshow
// questa funzione va mantenuta leggera perche' viene eseguita ogni secondo
function slideUpdate(){
		// currentSlide = ultima slide corrente, viene inizializzata a 0 da init()
		// ipotizzo che un accesso diretto ad una slide provochi il suo aggiornamento altrove
		// inoltre ipotizzo che lo stop del player resetti currentSlide = 0
    
    var currentTime = parseInt($f().getTime());
		var checkSlide = 0;

	  while (slides[0][checkSlide]){
	    if(currentTime < slides[1][checkSlide]) {
				// do nothing
 	    } else if (slides[0][checkSlide+1]){
				if (currentTime < slides[1][checkSlide+1]){
					if (currentSlide != checkSlide){
			    	currentSlide = checkSlide;
			    	doUpdateSlide(checkSlide);
						break;
			    };
				};    
   		} else { // non esiste slide successiva quindi e' l'ultima slide
				if (currentSlide != checkSlide){
		    	currentSlide = checkSlide;
		    	doUpdateSlide(checkSlide);
					break;
		    };
			};
    	checkSlide = checkSlide + 1;
    };
  
};

function doUpdateSlide(nSlide){
	  var widgetBuffer="";
	  var toReplace = "";
	  var replacedBy = "";

	  if (slides[0][nSlide]){	  
			currentSlide = nSlide;
			document.getElementById("slideContainer").innerHTML = "<div class=\"underslideContainer\"><img src=\""+slides[0][nSlide]+"\" name=\"slidePlaceHolder\"></div>";
		}else{
			document.getElementById("slideContainer").innerHTML = "<div class=\"ajax_loader\"><img src=\"./img/ajax-loader.gif\" name=\"slidePlaceHolder\"></div>";
 	  };
 	  
 	  if (widgetBuffer = document.getElementById("slideWidgetDiv").innerHTML){
			// blocco il widget
			if (!updatingSlideWidget){
				updatingSlideWidget = true;
				
				// alert(widgetBuffer);
				
				// tolgo il selected="selected" (firefox)
			  toReplace = "selected=\"selected\" ";
				widgetBuffer = widgetBuffer.replace(toReplace,replacedBy);
				
				// tolgo il selected (iexplorer) - non funziona con iexplorer 6 perche' IE6 sovrascrive il form...
			  // var toReplace = "selected ";
				// widgetBuffer = widgetBuffer.replace(toReplace,replacedBy);
			  
			  // inserisco il selected alla slide attuale
			  toReplace = "<option value=\""+nSlide+"\">";
			  replacedBy = "<option selected=\"selected\" value=\""+nSlide+"\">";
				widgetBuffer = widgetBuffer.replace(toReplace,replacedBy);
				document.getElementById("slideWidgetDiv").innerHTML = widgetBuffer;

				updatingSlideWidget = false;
			};
		};

/*  // qui evidenzio la slide corrente dell'oggetto slideBarWidgetDiv		

		var slideBarDivNum = "slideBarDiv"+nSlide; 	
		if (document.getElementById(slideBarDivNum)){

			  toReplace = "rgb(210, 210, 210)";
			  replacedBy = "rgb(210, 0, 0)";
			  
			  // rendo rossa la slide corrente
			  widgetBuffer = document.getElementById(slideBarDivNum).innerHTML;
				widgetBuffer = widgetBuffer.replace(toReplace,replacedBy);
				document.getElementById(slideBarDivNum).innerHTML = widgetBuffer;

			  toReplace = "rgb(210,210,210)";
			  replacedBy = "rgb(210,0,0)";
			  
			  // rendo rossa la slide corrente (ripeto per IEXPLORER)
			  widgetBuffer = document.getElementById(slideBarDivNum).innerHTML;
				widgetBuffer = widgetBuffer.replace(toReplace,replacedBy);
				document.getElementById(slideBarDivNum).innerHTML = widgetBuffer;
				
				// alert(document.getElementById("slideBarWidgetDiv").innerHTML);
		};
*/		
};

function doGoSlideshow(nSlide){
		$f().seek(slides[1][nSlide]);
		doUpdateSlide(nSlide);
};


// inizializzo la barra di navigazione delle slide
function doSlideWidgetInit()
{
		// per ora al posto della barra uso un semplice select
		var varSlide = 0;
		var varTime = 0;
		var widgetBuffer = "";
		var descBuffer = "";

		widgetBuffer="<div id=\"slideWidgetDiv\">\n";
		widgetBuffer= widgetBuffer+"<select onChange=\'doGoSlideshow(this.value)\'>\n";
		while (slides[0][varSlide]){
			// se esiste una descrition della slide la aggiungo e limito la sua lunghezza a 35 caratteri
			if (slides[2][varSlide] != ""){
				leftstring=slides[2][varSlide];
				if(leftstring.length > 35){
					descBuffer = " , " + leftstring.substr(0, 35) + "...";
				}else{
					descBuffer = " , " + leftstring;
				}
			};
			widgetBuffer= widgetBuffer+"<option value=\""+varSlide+"\">Slide "+varSlide+", Time "+formatTime(1000* slides[1][varSlide])+descBuffer+"</option>\n";
			descBuffer = "";
			varSlide = varSlide + 1;
		};
		widgetBuffer= widgetBuffer+"</select>\n";
		widgetBuffer= widgetBuffer+"</div>\n";
		
  	if (!updatingSlideWidget){
	  	updatingSlideWidget = true;
			if (document.getElementById("slideWidgetDiv")){
				document.getElementById("slideWidgetDiv").innerHTML = widgetBuffer;
			};
	  	updatingSlideWidget = false;
		};
		// alert(widgetBuffer);
};

function doSeeBookMarks(){
	if(seeBookmarks==1){
		seeBookmarks = 0;
		document.getElementById("seeAllBookmark").innerHTML = "<a href=\"#bookmarks\" onMouseDown=\"return doSeeBookMarks()\" >View only my comments&nbsp;</a>";		
		displayBookmark();
	}else{
		seeBookmarks = 1;
		document.getElementById("seeAllBookmark").innerHTML = "<a href=\"#bookmarks\" onMouseDown=\"return doSeeBookMarks()\" >View all comments&nbsp;</a>";
		displayBookmark();
	}
};

function doBookMark()
{
		
		var timeBookMark = "";
		var bookTime=doTimeBookMark();
		var commento = "";
		var stato = 0,scope = 0;
		commento=encodeURIComponent("My comment...");
		//alert(commento);
		//alert(bookTime);
		timeBookMark="<div id=\"timeBookMarkDiv\">\n";
		timeBookMark+=bookTime;	
		timeBookMark+="</div>\n";
			if (document.getElementById("timeBookMarkDiv")){
				document.getElementById("timeBookMarkDiv").innerHTML = timeBookMark;
			};
		createBookmark(bookTime,commento,stato,scope);
		 //alert(timeBookMark);
};

function doDisplayBookmark(){		
    nodo=0;
    output="";
	  do {
	  	if ((bookmarks[0][nodo]!=null)){
				output+=printBookmarks(nodo);
			}else{
				successivo=null;
			}	
			nodo=successivo;
		} while (nodo!=null);
	  
	  if (document.getElementById("bookmarks")){
			document.getElementById("bookmarks").innerHTML = output;
	  }
	  // alert(output);
};

function printBookmarks(nodo){
	var output="", i;
	if(seeBookmarks!=0)
	{
		if(bookmarks[5][nodo]==1){	 //se 1 il bookmark è stato scritto dallo stesso utente
			if(bookmarks[4][nodo]==1){ //se 1 il bookmark è pubblico
		  	output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"myBookmarksPublicReply\">";
			}else{
				output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPrivate\">";
			}
		}
	}else{
		if((bookmarks[4][nodo]==1)&&(bookmarks[5][nodo]==1)){					  
			if(bookmarks[9][nodo]==-1){
				output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"myBookmarksPublic\">";
			}else{
				output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"myBookmarksPublicReply\">";
			}
		}else if((bookmarks[4][nodo]==1)&&(bookmarks[5][nodo]==0)){
			if(bookmarks[9][nodo]==-1){
				output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPublic\">";
			}else{
				output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPublicReply\">";
			}
		}else{
			output+="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPrivate\">";
		}	
	}
	output+=printSingleBookmark(nodo);

	if(bookmarks[11][nodo] && bookmarks[12][nodo]){
		//alert("il mio bookmark aveva un prec e un succ");
		bookmarks[11][bookmarks[12][nodo]]=bookmarks[11][nodo];
		bookmarks[12][bookmarks[11][nodo]]=bookmarks[12][nodo];
	} else if (bookmarks[12][nodo]){
		//alert("il mio bookmark aveva solo un succ");
		// il mio precedente è null allora metto a null il precedente del mio successivo
		bookmarks[11][bookmarks[12][nodo]]=null;
	} else if(bookmarks[11][nodo]) {
		//alert("il mio bookmark aveva solo un prec");
	  // il mio successivo è null e quindi metto a null il successivo del mio precedente
		bookmarks[12][bookmarks[11][nodo]]=null;
	}
	if((bookmarks[11][nodo]!=null )&& (bookmarks[12][nodo]==null))
	{
		fineLista=null;
	}
	//alert("fineLista="+fineLista);
  successivo=bookmarks[12][nodo];
  bookmarks[11][nodo]=null;
	bookmarks[12][nodo]=null;
	
  //alert("nodo="+nodo);
	//output += stampaRisposta(nodo);
	i=nodo+1;
	while(bookmarks[0][i]!=null){
		if(nodo==bookmarks[9][i]){
			output += printBookmarks(i);
		}
		i++;
	}
	//alert ("printBookmarks ritorna:"+output);
	if(seeBookmarks!=0)
	{
		output+="</div>\n";
	}else{
		output+="</div>\n";//<hr>
	}
	//alert ("printBookmarks ritorna:"+output);
	return output;
}

function printSingleBookmark(nodo){
	var psboutput="";
/////////////////////// PRIVATI //////////////////
				if(seeBookmarks==1){				//se 0 non si vedono i bookmark pubblici
					//alert ("Privato !");
					if(bookmarks[5][nodo]==1){	 //se 1 il bookmark è stato scritto dallo stesso utente			  		
					  psboutput+="<a href=\"#top\" onMouseDown=\"return doGoBookMark("+bookmarks[1][nodo]+")\" title=\"Go to bookmark (time: "+formatTime(bookmarks[1][nodo])+")\">";
					  psboutput+="<img  class=\"bookmark_small\" border=\"0\" src=\"./img/bookmark.png\">";
					  psboutput+=formatTime(bookmarks[1][nodo]);	
						psboutput+="&nbsp;</a>";
						if (bookmarks[3][nodo]!=0){								
					  	psboutput+="&nbsp;<a href=\"#bookmarks\" onmouseover=\"myMouseOverRoutineBookmarkEdit('edit_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkEdit('edit_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doEditBookmark("+bookmarks[0][nodo]+")\"><img name=\"edit_button"+bookmarks[0][nodo]+"\" src=\"./img/edit_disabled.png\" border=\"0\" alt=\"edit\" title=\"edit\"></a>";
							if(bookmarks[4][nodo]==0){
								psboutput+="&nbsp;<a href=\"#BookMarkId"+bookmarks[0][nodo]+"\" onmouseover=\"myMouseOverRoutineBookmarkShare('share_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkShare('share_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doShareBookmark("+bookmarks[0][nodo]+")\"><img name=\"share_button"+bookmarks[0][nodo]+"\" src=\"./img/share_disabled.png\" border=\"0\" alt=\"share\" title=\"share\"></a>";
						  };
					  }else{
					  	psboutput+="&nbsp;<a href=\"#BookMarkId"+bookmarks[0][nodo]+"\" onmouseover=\"myMouseOverRoutineBookmarkSave('save_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkSave('save_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doSaveBookmark("+bookmarks[0][nodo]+")\"><img name=\"save_button"+bookmarks[0][nodo]+"\" src=\"./img/save_disabled_small.png\" border=\"0\" alt=\"save\" title=\"save\"></a>";														
						}			  
						psboutput+="&nbsp;<a href=\"#bookmarks\" onmouseover=\"myMouseOverRoutineBookmarkDelete('delete_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkDelete('delete_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doDeleteBookmark("+bookmarks[0][nodo]+")\"><img name=\"delete_button"+bookmarks[0][nodo]+"\" src=\"./img/delete_disabled.png\" border=\"0\" alt=\"delete\" title=\"delete\"></a>";
					  if (bookmarks[3][nodo]==0){
							psboutput+="<br />";
						  psboutput+="<textarea id=\"text"+bookmarks[0][nodo]+"\", rows=\"5\", cols=\"40\">"+stripCharacters(decodeURIComponent(bookmarks[2][nodo]))+"</textarea>";	   
					  }else{
					  psboutput+="<br />";
					  psboutput+=stripCharacters(decodeURIComponent(bookmarks[2][nodo]));
					  };
					 /* psboutput+="<br><b>bookmarks[11][nodo]precedente= "+bookmarks[11][nodo]+"</b><br>";
					  psboutput+="<b>idbookmark= "+bookmarks[0][nodo]+"</b><br>";
						psboutput+="<b>bookmarks[0][nodo]= "+nodo+"</b><br>";
						psboutput+="<b>bookmarks[12][nodo]successivo= "+bookmarks[12][nodo]+"</b><br>";
						psboutput+="<b>bookmarks[9][nodo]replyid= "+bookmarks[9][nodo]+"</b><br>";	*/
					  //psboutput+="<hr></div>\n";
				  } // bookmarks[5][nodo]==1 se il bookmark è stato scritto dallo stesso utente
		  	}else{	//altrimenti si vedono anche i bookmark pubblici
/////////////////////// PUBBLICI /////////////		  		
					  //alert ("Pubblici !");
			/*	  if((bookmarks[4][nodo]==1)&&(bookmarks[5][nodo]==1)){					  
				  	if(bookmarks[9][nodo]==-1){
				  		psboutput="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"myBookmarksPublic\">";
				  	}else{
				  		psboutput="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"myBookmarksPublicReply\">";
				  	}
				  }else if((bookmarks[4][nodo]==1)&&(bookmarks[5][nodo]==0)){
				  	if(bookmarks[9][nodo]==-1){
				  		psboutput="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPublic\">";
				  	}else{
				  		psboutput="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPublicReply\">";
				  	}
				  }else{
						psboutput="<div id=\"BookMarkId"+bookmarks[0][nodo]+"\" class=\"bookmarksPrivate\">";
					}		*/
				  psboutput+="<a href=\"#top\" onMouseDown=\"return doGoBookMark("+bookmarks[1][nodo]+")\" title=\"Go to bookmark (time: "+formatTime(bookmarks[1][nodo])+")\">";
				  psboutput+="<img  class=\"bookmark_small\" border=\"0\" src=\"./img/bookmark.png\">";
				  psboutput+=formatTime(bookmarks[1][nodo]);	
					psboutput+="&nbsp;</a>";
					if(bookmarks[5][nodo]==1){
						if (bookmarks[3][nodo]!=0){								
					  	psboutput+="&nbsp;<a href=\"#bookmarks\" onmouseover=\"myMouseOverRoutineBookmarkEdit('edit_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkEdit('edit_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doEditBookmark("+bookmarks[0][nodo]+")\"><img name=\"edit_button"+bookmarks[0][nodo]+"\" src=\"./img/edit_disabled.png\" border=\"0\" alt=\"edit\" title=\"edit\"></a>";						
							if(bookmarks[4][nodo]==0){
								psboutput+="&nbsp;<a href=\"#BookMarkId"+bookmarks[0][nodo]+"\" onmouseover=\"myMouseOverRoutineBookmarkShare('share_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkShare('share_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doShareBookmark("+bookmarks[0][nodo]+")\"><img name=\"share_button"+bookmarks[0][nodo]+"\" src=\"./img/share_disabled.png\" border=\"0\" alt=\"share\" title=\"share\"></a>";		  
						  };
					  };
					  if (bookmarks[3][nodo]==0){									
						  psboutput+="&nbsp;<a href=\"#BookMarkId"+bookmarks[0][nodo]+"\" onmouseover=\"myMouseOverRoutineBookmarkSave('save_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkSave('save_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doSaveBookmark("+bookmarks[0][nodo]+")\"><img name=\"save_button"+bookmarks[0][nodo]+"\" src=\"./img/save_disabled_small.png\" border=\"0\" alt=\"save\" title=\"save\"></a>";
					  };									
					  psboutput+="&nbsp;<a href=\"#bookmarks\" onmouseover=\"myMouseOverRoutineBookmarkDelete('delete_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkDelete('delete_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doDeleteBookmark("+bookmarks[0][nodo]+")\"><img name=\"delete_button"+bookmarks[0][nodo]+"\" src=\"./img/delete_disabled.png\" border=\"0\" alt=\"delete\" title=\"delete\"></a>";
					}else{				
					//psboutput+="&nbsp;<b>By:&nbsp;<a href=\""+decodeURIComponent(bookmarks[13][nodo])+"\" target=\"_blank\" 
					//alert(decodeURIComponent(bookmarks[13][nodo]));		
						psboutput+="&nbsp;<b>By:&nbsp;<a href=\""+decodeURIComponent(bookmarks[13][nodo])+"\" target=\"_blank\" title=\""+bookmarks[6][nodo]+"&nbsp;"+bookmarks[8][nodo]+"\">"+bookmarks[6][nodo]+"&nbsp;"+bookmarks[8][nodo]+"</a></b>";						
						psboutput+="<a href=\"#BookMarkId"+bookmarks[0][nodo]+"\" onmouseover=\"myMouseOverRoutineBookmarkReply('reply_button"+bookmarks[0][nodo]+"')\" onmouseout=\"myMouseOutRoutineBookmarkReply('reply_button"+bookmarks[0][nodo]+"')\" onMouseDown=\"return doReplyBookmark("+bookmarks[0][nodo]+")\"><img name=\"reply_button"+bookmarks[0][nodo]+"\" class=\"reply\" src=\"./img/reply_disabled.png\" border=\"0\" alt=\"reply\" title=\"reply\"></a>";												
				  }
					psboutput+="<br />";				
				  if (bookmarks[3][nodo]==0){	  
				  	psboutput+="<textarea id=\"text"+bookmarks[0][nodo]+"\", rows=\"5\", cols=\"40\">"+stripCharacters(decodeURIComponent(bookmarks[2][nodo]))+"</textarea>";			  		   
				  }else{
				  	psboutput+=stripCharacters(decodeURIComponent(bookmarks[2][nodo]));
				  };				  
					/*psboutput+="<br><b>bookmarks[11][nodo]precedente= "+bookmarks[11][nodo]+"</b><br>";
					psboutput+="<b>idbookmark= "+bookmarks[0][nodo]+"</b><br>";
					psboutput+="<b>bookmarks[0][nodo]= "+nodo+"</b><br>";
					psboutput+="<b>bookmarks[12][nodo]successivo= "+bookmarks[12][nodo]+"</b><br>";
					psboutput+="<b>bookmarks[9][nodo]replyid= "+bookmarks[9][nodo]+"</b><br>";					*/
					//psboutput+="<hr></div>\n";
				}//fine controllo se l'utente vuole vedere i bookmark pubblici o no.
	//alert ("printSingleBookmark ritorna:"+psboutput);
	return psboutput;
};

//evento click su un bookmark
function doGoBookMark(timeBookMark){
		var vlc = getVLC("vlc");
		if (vlc){
			doPlay();
	    while( vlc.input.state != 3 )
	    {
	        // aspetta che il vlc sia effettivamente partito
	    }
			vlc.input.time = timeBookMark;
		}
};

function doDeleteBookmark(id){
		if(confirm("Are you sure you want to delete this Comment?")){
		deleteBookmark(id);
		}
}
function doSaveBookmark(id){
		// bookmarks[2][nodo]=document.getElementById("text"+id).value;
		// alert (document.getElementById("text"+bookmarks[0][nodo]).value);
		// alert (id);
		var stato= 1, scope=0;
		var commento = document.getElementById("text"+id).value;
		// è necessario troncare il commento in quanto viene passato come GET e la lunghezza è limitata dal browser.
		var commentoEnc = encodeURIComponent(commento);
		// alert (commento.length + " " + commentoEnc.length);
		if (commentoEnc.length > 550){
			alert ("The comment is too long and will be truncated.");
		};
		while (commentoEnc.length > 550) {
			commento = commento.substr(0, commento.length-1);
			commentoEnc = encodeURIComponent(commento);
		}
		// alert (commento.length + " " + commentoEnc.length);
		saveBookmark(id,commentoEnc,stato,scope);
}

function doEditBookmark(id){
		var stato = 0,scope = 0;
				// alert (id);
		editBookmark(id,stato,scope);
}
function doShareBookmark(id){
	if(confirm("Are you sure you want to share this Comment?")){
		var scope = 1;
		shareBookmark(id,scope);
	}		
}
function doReplyBookmark(id){
		var scope = 1, stato = 0, commento="";
		
		commento=encodeURIComponent("My reply...");
		replyBookmark(id,scope,commento,stato);		
}

/*
function doSlideBarWidgetInit()
{
		var varSlide = 0;
		var varTime = 0;
		var widgetBuffer = "";
		var barWidth = 720;
		var barHeight = 20;
		var pixTimeScale = 1.0;
		
    var vlc = getVLC("vlc");
    var mediaLen = vlc.input.length;
		if (mediaLen > 0) {
			pixTimeScale = (1000 * barWidth / mediaLen); // pixTimeScale e' in pixel al secondo: divido per 1000 la durata per avere i secondi
		};
		
		// creo una barra costituita da rettangoli la cui lunghezza e' proporzionale alla durata della slide
		widgetBuffer="<div id=\"slideBarWidgetDiv\">\n";
		//aggiungo una table la cui larghezza e' pari alla larghezza disponibile per l'intera barra		
		widgetBuffer=widgetBuffer+"<table border=\"0\" margin=\"0\" padding=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\""+barHeight+"\" width=\""+barWidth+"\"><tr>\n";
		
		while (slides[0][varSlide]){
			if (slides[0][varSlide+1]){ 
				varTime = slides[1][varSlide+1]- slides[1][varSlide];
			} else {
				varTime = (mediaLen / 1000) - slides[1][varSlide];
			};	
			widgetBuffer= widgetBuffer+"<td width=\""+(parseInt(varTime*pixTimeScale))+"\"><div id=\"slideBarDiv"+varSlide+"\"><table style=\"background-color: rgb(210,210,210)\" width=\"100%\" height=\"100%\"><tr><td>&nbsp;</td></tr></table></div></td>\n";
			varSlide = varSlide + 1;
		};

		// chiudo il widget
		widgetBuffer= widgetBuffer+"</tr></table>\n";
  	widgetBuffer= widgetBuffer+"</div>\n";


		if (document.getElementById("slideBarWidgetDiv")){
			document.getElementById("slideBarWidgetDiv").innerHTML = widgetBuffer;
		};
		// alert (widgetBuffer);
};
*/

var aspectRatio="default";

function doGo(targetURL)
{
    var vlc = getVLC("vlc");
    var options = new Array(":aspect-ratio="+aspectRatio);
    
    vlc.playlist.items.clear();
    while( vlc.playlist.items.count > 0 )
    {
        // clear() may return before the playlist has actually been cleared
        // just wait for it to finish its job
    }
		// var logo = vlc.playlist.add("http://www.improve.it/improve/video/logo.mp4", null, options);
    var itemId = vlc.playlist.add(targetURL, null, options);

   /* if( itemId != -1 )
    {
        // clear the message log and enable error logging
        vlc.log.verbosity = 1;
        vlc.log.messages.clear();
        // play MRL
        vlc.playlist.playItem(logo);
        vlc.playlist.playItem(itemId);
        if( monitorTimerId == 0 )   //codice da spostare
        {
            monitor();
        }														//spostare
    }
    else
    {
        // disable log
        vlc.log.verbosity = -1;
        alert("cannot play at the moment !");
    }*/
};
/*

function doTimeBookMark()
{
    var vlc = getVLC("vlc"); 
    var timeBookMark;  
    switch(vlc.input.state) { 
			  case 0: timeBookMark="0";
			  				break;
			  case 1: timeBookMark="";
			  				break;
			  case 2: timeBookMark="";
			  				break;
			  case 3: timeBookMark=vlc.input.time;
			        	// vlc.playlist.togglePause();
			  				break;			
			  case 4: timeBookMark=vlc.input.time;
			  				break;
			  case 5: timeBookMark="0";
			  				break;
			  case 6: alert("error");
			  				break;			  				
			  default: alert("warning");			     
		}    
    return(timeBookMark);
};


/* events */


function stripCharacters(myString){
//alert ("Sto per strippare="+myString);
var characters=new Array();
characters[0]="\\'";
//characters[1]="\'";
//characters[2]="\\";
var i, k;
//alert ("Sringa__ "+myString+" __è lunga="+myString.length);
for(k=0;k<=0;k++){
	for(i=0;i<=myString.length;i++){
		//alert ("Strippo con="+characters[k]);
		//newString = myString.replace(/characters[i]/g,'OK');
		myString = myString.replace(characters[k],"'");
	}
}
//alert ("Ho strippato="+myString);
return(myString);
}

/* Prima la funzione era così
function stripCharacters(myString){
alert ("Sto per strippare="+myString);
characters=new Array();
characters[0]="&";
characters[1]='"';
characters[2]="'";
characters[3]="<";
characters[4]=">";
var i;
for(i=0;i<=5;i++){
myString = myString.replace(characters[i], "");
}
//alert ("Ho strippato="+myString);
return(myString);
}
*/

function myMouseOverRoutineBookmarkEdit(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/edit_enabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOutRoutineBookmarkEdit(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/edit_disabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOverRoutineBookmarkDelete(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/delete_enabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOutRoutineBookmarkDelete(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/delete_disabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOverRoutineBookmarkShare(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/share_enabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOutRoutineBookmarkShare(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/share_disabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOverRoutineBookmarkSave(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/save_enabled_small.png";
	}else{
		alert('warning');
	}
}

function myMouseOutRoutineBookmarkSave(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/save_disabled_small.png";
	}else{
		alert('warning');
	}
}		

function myMouseOverRoutineBookmarkReply(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/reply_enabled.png";
	}else{
		alert('warning');
	}
}

function myMouseOutRoutineBookmarkReply(ButtonName){
	if(ButtonName){
		document.images[ButtonName].src= "./img/reply_disabled.png";
	}else{
		alert('warning');
	}
}	
	  				
function myMouseOverRoutine(ButtonName)
{
	  switch(ButtonName) {
			  case 'playminusten_button': 
			     			document.images["playminusten_button"].src= imgMinustenEnabled;
			  				break;
			  case 'playplusten_button':
			  		   	document.images["playplusten_button"].src= imgPlustenEnabled;  
			  				break;		  				
			  default: alert("warning");			     
		}
}

function myMouseOutRoutine(ButtonName)
{
	  switch(ButtonName) {
			  case 'playminusten_button': 
			     			document.images["playminusten_button"].src= imgMinustenDisabled;
			  				break;
			  case 'playplusten_button':
			  		   	document.images["playplusten_button"].src= imgPlustenDisabled;  
			  				break;		  				
			  default: alert("warning");			     
		}
}

function addParameter()
{
	var address="";
	if(courseid){
		address = "courseid=" + escape(courseid)+"&";
	}else{
		address ="";
	}
	return (address);
}

function addParameter2()
{
	var address="";
	if(courseid){
		address = "&course=" + escape(courseid);
	}else{
		address ="";
	}
	return (address);
}


