<!-- Funzioni per la gestione di onload -->
var gPageOnload = new Array();
var gPageOnloadParam = new Array();
function AddOnload(f){
	<!-- usata per compatibilità con la versione 1 -->
	gPageOnload[gPageOnload.length] = f;
	gPageOnloadParam[gPageOnloadParam.length] = '';
}
function AddOnload2(f,param){
	gPageOnload[gPageOnload.length] = f;
	gPageOnloadParam[gPageOnloadParam.length] = param;
}
function PageOnload(){
	for (var i=0;i<gPageOnload.length;i++) {
		eval("gPageOnload[i]("+gPageOnloadParam[i]+")");
	}
}
window.onload = PageOnload;
<!-- Funzioni per la gestione dello scroll -->
function verifyCompatibleBrowser(){ 
    this.ver=navigator.appVersion 
    this.dom=document.getElementById?1:0 
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
    this.ie4=(document.all && !this.dom)?1:0; 
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
 
    this.ns4=(document.layers && !this.dom)?1:0; 
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
    return this 
} 
bw=new verifyCompatibleBrowser() 
var speed=50 
var loop, timer 
function ConstructObject(obj,nest){ 
    nest=(!nest) ? '':'document.'+nest+'.' 
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; 
    this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; 
    this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight 
    this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight 
    this.scrollWidth=bw.ns4?this.css.document.width:this.el.offsetWidth 
    this.clipWidth=bw.ns4?this.css.clip.width:this.el.offsetWidth 
    this.up=MoveAreaUp;this.down=MoveAreaDown; 
    this.left=MoveAreaLeft;this.right=MoveAreaRight; 
    this.MoveArea=MoveArea; this.x; this.y; 
    this.scale=Scale; 
    this.obj = obj + "Object" 
    eval(this.obj + "=this") 
    return this 
} 
function MoveArea(x,y){ 
    this.x=x;
    this.y=y;
    this.css.left=this.x;
    this.css.top=this.y;
} 
function MoveAreaDown(n,move){ 
	if(this.y>-this.scrollHeight+objContainer[n].clipHeight){ 
    this.MoveArea(this.x,this.y-move) 
    if(loop) setTimeout(this.obj+".down("+n+","+move+")",speed) 
	} 
} 
function MoveAreaUp(n,move){ 
	if(this.y<0){ 
    this.MoveArea(this.x,this.y-move) 
    if(loop) setTimeout(this.obj+".up("+n+","+move+")",speed) 
	} 
} 
function MoveAreaRight(n,move){
	if(this.x>-this.scrollWidth+objContainer[n].clipWidth){ 
    this.MoveArea(this.x-move,this.y) 
    if(loop) setTimeout(this.obj+".right("+n+","+move+")",speed) 
	} 
} 
function MoveAreaLeft(n,move){ 
	if(this.x<0){ 
    this.MoveArea(this.x-move,this.y) 
    if(loop) setTimeout(this.obj+".left("+n+","+move+")",speed) 
	} 
}
function PerformScroll(speed){
	<!-- deprecated - usata per compatibilità con la versione 1 -->
	PerformScrollV(0,speed)
}
function PerformScroll2(n,speed){ 
	<!-- deprecated - usata per compatibilità con la versione 2 -->
	PerformScrollV(n,speed)
} 
function PerformScrollV(n,speed){ 
	if(initialised[n]){ 
		loop=true; 
		if(speed>0) objScroller[n].down(n,speed) 
		else objScroller[n].up(n,speed) 
	} 
}
function PerformScrollH(n,speed){ 
	if(initialised[n]){ 
		loop=true; 
		if(speed>0) objScroller[n].right(n,speed) 
		else objScroller[n].left(n,speed) 
	} 
}
function CeaseScroll(){ 
    loop=false 
    if(timer) clearTimeout(timer) 
}
function Scale(scale){	
	this.css.zoom=scale/100; // Solo per IE 5.5 e sup.
	this.scrollHeight=Math.round((bw.ns4?this.css.document.height:this.el.offsetHeight)*scale/100);
	this.clipHeight=Math.round((bw.ns4?this.css.clip.height:this.el.offsetHeight)*scale/100);
	this.scrollWidth=Math.round((bw.ns4?this.css.document.width:this.el.offsetWidth)*scale/100);
	this.clipWidth=Math.round((bw.ns4?this.css.clip.width:this.el.offsetWidth)*scale/100);
}
function ChangeScale(n,scale){
	if (scale>0 && scale<=100) {
		objScroller[n].scale(scale);
		objScroller[n].MoveArea(Math.round(startLeft*scale/100),Math.round(startTop*scale/100));
	}
}
function ReinitialiseArea(n,left,top){
	startLeft=-left;
	startTop=-top;
	objScroller[n].scale(100);
	objScroller[n].MoveArea(startLeft,startTop);
}
var initialised = new Array();
var objContainer = new Array();
var objScroller = new Array();
var startLeft = 0;
var startTop = 0;
<!-- devo mettere nello onload del body il richiamo a una delle tre funzioni sottostanti-->
	<!--   n è lo identificativo della area-->
 <!--     nameDivContainer è il nome del container-->
	<!--   nameDivContent è il nome del content-->
	<!--   left e top sono la posizione-->
function InitialiseScrollableArea(){
	<!-- deprecated - usata per compatibilità con la versione 1 -->
	InitialiseScrollableArea3(0,'divContainer','divContent',0,0)
}
function InitialiseScrollableArea2(n,nameDivContainer,nameDivContent){
	<!-- deprecated - usata per compatibilità con la versione 2 -->
	InitialiseScrollableArea3(n,nameDivContainer,nameDivContent,0,0)
}
function InitialiseScrollableArea3(n,nameDivContainer,nameDivContent,left,top){
		startLeft=-left;
		startTop=-top;
		objContainer[n]=new ConstructObject(nameDivContainer);
    objScroller[n]=new ConstructObject(nameDivContent,nameDivContainer);
    objScroller[n].MoveArea(startLeft,startTop);
    objContainer[n].css.visibility='visible';
    initialised[n]=true;
}

/*****************/
/**
 * Gestione cookies
 * 
 */
function createCookie(name,value,hours) {
  if (hours) {
    var date = new Date();
    date.setTime(date.getTime()+(hours*60*60*1000));
    var expires = '; expires='+date.toGMTString();
  }
  else expires = '';
  document.cookie = name+'='+value+expires+'; path=/';
}

function readCookie(name) {
  var nameEQ = name + '=';
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
	createCookie(name,'',-1);
}

/*****************/

function getCurrentURL() {
	var url = window.location.href;
	return url;
}

// se il cookie non esiste o e' scaduto, ritorna stringa vuota
function getUrlFromCookie() {
	var cookie = readCookie('last-page');
	var url = cookie ? cookie : "";
	 	
	return url;	
}

function gotoUrlCookie() {
	window.location.href= readCookie('last-page');
}

// da chiamare con l'evento unload nelle pagine in cui si vuole usare il riferimento
// esempio <script type="text/javascript">window.unload = SetCookieUrl();</script>
function SetCookieUrl() {
	var url = getCurrentURL();
  	createCookie('last-page', url, 1); // il cookie ha durata di 1 ora
}


// utility 

function replaceSubstring ( inputString, badString, goodString, caseSensitive ) {
	fixedReplace = " ";
	UI = inputString;
	UB = badString;
	if ((caseSensitive !=1) && (caseSensitive != true)) {
		UI = inputString.toUpperCase();
		UB = badString.toUpperCase();
	}
	badEnd = -1;
	badLoc = UI.indexOf(UB);
	if (badLoc != -1) {
		for (x=1; (badLoc != -1); x++) {
			fixedReplace = fixedReplace + inputString.substring((badEnd + 1), badLoc) + goodString
			badEnd = badLoc + UB.length - 1;
			badLoc = UI.indexOf(UB, (badLoc + 1)); 
		}
		fixedReplace = fixedReplace + inputString.substring((badEnd + 1), inputString.length); 
	}
	else { 
		fixedReplace = inputString; 
	}
	
	return fixedReplace;
}
  
function getParameter ( queryString, parameterName ) {
	// Add "=" to the parameter name (i.e. parameterName=value)
	var parameterName = parameterName + "=";
	if ( queryString.length > 0 ) {
		// Find the beginning of the string
		begin = queryString.indexOf ( parameterName );
		// If the parameter name is not found, skip it, otherwise return the value
		if ( begin != -1 ) {
			// Add the length (integer) to the beginning
			begin += parameterName.length;
			// Multiple parameters are separated by the "&" sign
			end = queryString.indexOf ( "&" , begin );
			if ( end == -1 ) {
				end = queryString.length
			}
			// Return the string
			return unescape ( queryString.substring ( begin, end ) );
		}
		// Return "null" if no parameter has been found
		return null;
	}
}

function autoloadVideo(video, type) {
	var querystring = "";
	
	if ( window.top.location.search != 0 ) {
		querystring = window.top.location.search;
		
		var id_video = getParameter( querystring,'video');
		
		var id_page
		if (querystring.indexOf('&') > 0 ) {
		 	id_page = querystring.substring(0,querystring.indexOf('&'));
		}
		
		//alert("id_video: "+id_video +"\nquerystring: "+querystring +"\nvideo: "+video);
		
		if ( id_video != null) {
			//C_3_azienda_10_Interviste_video_VideoIntervista_0_filevideo.wmv?WMThinning=0
			//C_3_videocatalogo_4_prodotti_prodottiitem_0_video.wmv?WMThinning=0
			
			if (type == 'intervista') {
				var id_video_str = "VideoIntervista_"+id_video+"_";
				video = replaceSubstring(video,"VideoIntervista_0_",id_video_str);
			}
			else if (type == 'catalogo') {
				var id_video_str = "prodottiitem_"+id_video+"_";
				video = replaceSubstring(video,"prodottiitem_0_",id_video_str);
			}
			else {
				//file non riconosciuto
				SwapMovie(video);
				return;
			}
			
			SwapMovie(video);
			highlight('linkvideo'+ (parseInt(id_video) +1) ,'linkvideo');
		}
		else {
			SwapMovie(video); // parte il primo video se non ho parametri	
		}
	}
	else {
			
			SwapMovie(video); // parte il primo video se non ho parametri	
		}	
}

