﻿// File JScript


/*Clippings version 1.0.6.18.2001summary - - - - -script handles all Clipping functionalitythis is a stripped down version of the IHT Clippings codethe primary difference is the removal of animation code which I am not that happy withand a few minor improvements+  Add to Clippings+  Link to Clipping+  Update Clipping as read+  Remove Clipping(s)+  Save Clippingscomments- - - - - - Clippings only work with DOM browsers.  Opera at this point does not have enough of the DOM to support clippings.There is little or no feature/browser compatibiliy checking in this code, so use wisely.The code has been tested on IE 5.0, 5.5, 6.0 on Windows, IE 5.0 on Mac, and various versions of Netscape 6.0 and Mozilla.loadClippingURL() will control how Clipping urls are handled.  You will want to customize this method.clippingsTag is a variable which defines what tag your Clippings icon will be nested in.  All clipping icons must be in the same type of tag.there is a fix for a display error in Mozilla on lines 266-268 and again on changelog- - - - - - 08.06.2001 Mindor tweak to clippingsSetContainerHeight()07.04.2002 Aggiunta l'istruzione saveClippings(); nella funzione loadClippingURL (Francesco Caccavella, f.caccavella@html.it), più varie modifiche.copyright- - - - - -Copyright (C) 2001 John Weir  (www.smokinggun.com)This program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.A copy of the license may be found at www.smokinggun.com/perm/gnu.phpor www.fsf.org (Free Software Foundation)*/allClippings = new Array();  activeClippings = new Array();currentClipping = 0; clippingsDivArray = new Array(); cookiesOn = false; clippingsTag = "img"; var mouseX = mouseY =0;function screenObject()	{	this.bottom = function(){		if (document.body.scrollHeight) return document.body.scrollHeight};		this.height = function() {		if (document.body.offsetHeight) return document.body.offsetHeight;}		this.visHeight = function() {		if (window.innerHeight) return window.innerHeight;		if (document.body.clientHeight) return document.body.clientHeight;}		this.width = function() {		if (document.body.offsetWidth) return document.body.offsetWidth;}		 	this.scrollTop = function() {		if(document.body.scrollTop) return document.body.scrollTop		if (window.pageYOffset) return window.pageYOffset;		else return 0;};	}function mousePosition(e)	{	if (e) event = e;   	mouseX = event.clientX;	mouseY = event.clientY;	}		function windowResize()	{	clippingsSetContainerHeight()	}function initClippings()	{	createPageClippingsArray()	loadClippings();	setClippingsVisibility();			drawClippings();	}	function loadClippings()	{	clippingsString = null;	tempArray = document.cookie.split(";");	x = -1;				for (tA = 0; tA < tempArray.length; tA++)			{			if (tempArray[tA].indexOf('clippings=') > -1) 				{				tPos = tempArray[tA].indexOf("=")+2;				clippingsString = tempArray[tA].substring(tPos,tempArray[tA].length); 				}						}	if (clippingsString != null)		{				tempArray = clippingsString.split("^");		if (tempArray.length > 1)		{		x=0;		for (i=0; i < tempArray.length/4; i++)			{						activeClippings[i] = new Clipping(tempArray[x],tempArray[x+1],tempArray[x+2],tempArray[x+3])			x=x+4;			}}		}	}function saveClippings()	{	tempCookie = "clippings=";	for(i=0; i < activeClippings.length; i++)		{		tempCookie=tempCookie+"^"+(activeClippings[i].id)+"^"+(activeClippings[i].name)+"^"+(activeClippings[i].URL)+"^"+(activeClippings[i].read);		}		var expire = new Date ();   		expire.setTime (expire.getTime() + (6 * 24 * 3600000));    		expire = expire.toGMTString();	finalCookie = tempCookie+"; path=/; expires="+expire;  	  	document.cookie = finalCookie;	}function eventCheckForCookies()	{	document.cookie = "cookies=on";  	  	checkForCookie = document.cookie.split(";");  	  		for (x=0; x < checkForCookie.length; x++)  			{  			if (checkForCookie[x].indexOf("cookies") >= 0) {cookiesOn = true;}  			}  		if (cookiesOn == false) alert("Per utilizzare questa funzione\ndevi abilitare i Cookies");	}function Clipping(id,name,URL,read)	{	this.id = id;	this.name = name;	this.URL = URL;	this.read = read;	this.clicked = markRead;	} 	function markRead(id)	{//		alert(this.id);if (!id) id = this.id.substring(5,this.id.length);	for (i=0; i < activeClippings.length; i++)		{		if (activeClippings[i].id == id) activeClippings[i].read = "yes";		}				drawClippings();	}			//Nuova funzionefunction MymarkRead(id)	{	loadClippings();		//if (!id) id = this.id.substring(5,this.id.length);	for (i=0; i < activeClippings.length; i++)		{//alert(activeClippings[i].id);		if (activeClippings[i].id == id) activeClippings[i].read = "yes";		}				drawClippings();	saveClippings();	}	//////////	function loadClippingURL(pos)	{	n = window.open(activeClippings[pos].URL,'_self',+activeClippings[pos].id);	markRead(activeClippings[pos].id);	saveClippings();	}function eventClearReadClippings()	{	tempClippings = new Array()	x = 0;	for (i=0; i < activeClippings.length; i++)		{		if (activeClippings[i].read != "yes") {tempClippings[x] = activeClippings[i]; x++}		}	activeClippings = tempClippings;	drawClippings();	setClippingsVisibility();		saveClippings();	}function eventClearAllClippings()	{		activeClippings = new Array();	setClippingsVisibility();	drawClippings();		saveClippings();	}function drawClippings()	{	newHTML = "";		if (activeClippings.length < 1) 		{	//	newHTML = "Non hai salvato nessun articolo.<br>Per salvare un articolo basta cliccare sull'icona accanto al suo titolo";	    newHTML = "Clicca sull'icona <img src='_Immagini/Promemoria.gif'> vicino ad ogni articolo per inserirlo nel promemoria"		}		for (i=0; i < activeClippings.length; i++)		{		clipping = activeClippings[i];				if (clipping.read == "yes") tClass = "clippingItemRead";		else tClass = "clippingItem";//		newHTML += "<li><a href=\"#\"  onclick=\"javascript:loadClippingURL("+i+");\" class='"+tClass+"' id='cLink"+clipping.id+"'>";newHTML += "<li><a href=\"javascript:loadClippingURL("+i+");\" class='"+tClass+"' id='cLink"+clipping.id+"'>";		newHTML += clipping.name+"</a><br>";				}			obj = document.getElementById("clippingsContainer");		obj.innerHTML = newHTML;		obj.style.display = "none";	obj.style.display = "block";		clippingsSetContainerHeight();	}function clippingsSetContainerHeight()	{	obj = document.getElementById("clippingsContainer");		/* riga commentata rispetto all'origine		if (userScreen.visHeight() > 2000)		{			obj.style.height= (userScreen.visHeight()-350)+"px";	*/		// Larghezza  del contenitore -0px ripetto alla	// colonna che lo ospita	obj.style.width= "365px";	obj.style.color= "#1b4385";	obj.style.font= "10pt,arial";//obj.style.background= "Tranparent";	//obj.style.border="none";    //   obj.style.font="bolder";}function checkForDuplicates()	{	for (i=0; i < activeClippings.length; i++)		{		if (newClipping == activeClippings[i].id) {i = allClippings.length; duplicate = true;}		}	}function createPageClippingsArray()	{		d = document.getElementsByTagName(clippingsTag)		for (j=0; j < d.length; j++) if (d[j].id.indexOf("clp") > -1) 			{			clippingsDivArray[clippingsDivArray.length] = d[j];			}	 }function clippingInstanceVisibility(id,state)	{	t = document.getElementsByName(id);	if(t.length > 0)		{		for (j=0; j < t.length; j++) 			{		   if (state=='hidden'){	        	t[j].style.width='0'+'px';	    	}else{	        	t[j].style.width='17'+'px';        	}    	    	t[j].style.visibility = state;			t[j].onclick = addClipping;		}	}	else {	 	d = clippingsDivArray;  		{		for (j=0; j < d.length; j++) if (d[j].id == id) 			{			d[j].style.visibility = state;			d[j].onclick = addClipping;			}		}		}			}	function setClippingsVisibility()	{		for (i=0; i < allClippings.length; i++)		{		vis = "visible";				for (x=0; x <activeClippings.length; x++) 		if (allClippings[i].id == activeClippings[x].id) vis = "hidden";			obj = "clp"+allClippings[i].id;			clippingInstanceVisibility(obj,vis)			}			}function addClipping()	{	newClipping = this.id.substring(3,this.id.length)	duplicate = false;	for (i=0; i < allClippings.length; i++) 		{		if (newClipping == allClippings[i].id) {pos = i; i = allClippings.length}		}			if (activeClippings.length > 0)	checkForDuplicates() 		if (!duplicate)	{			eventCheckForCookies();		if (cookiesOn == true)			{			activeClippings[activeClippings.length] = new Clipping(allClippings[pos].id,allClippings[pos].name,allClippings[pos].URL);						clippingInstanceVisibility(this.id,'hidden') 	 			 		drawClippings();		 		if (document.all) event.cancleBubble = true;	 		saveClippings();		 	}	 	}	}		function init()	//		{					if (document.all) classFix = "className";									else classFix = "class";				userScreen = new screenObject(); 		// riga commentata rispetto all'origine		//	window.onresize =windowResize;		initClippings();				}		//	window.onload = init;


