/*
           Copyright Uwe Dierolf, UB Karlsruhe, 7.7.1998

           V5 - Anpassungen an alte Browser (z.B. Netscape 2.01)
           - check_catalogue umgestellt (verwendet Name anstelle des Index)
           - Speichern/Laden umgestellt (verwendet substring anstelle Index)

           V6 - auto_load_prefs laedt beim 1. Oeffnen der Seite die pers. Kat.auswahl

           V7 - Buttons umgestellt und mehr Platz geschaffen

           V8 - Englische Uebersetzung eingebaut -kh, 26.8.98

           V9 - MAB-Link + alle Checkboxen werden abgespeichert - UD, 9.12.98

		  V10 Italienische Sprachversion - Ro, 14.06.2007

	   Katalog-/Dokumentenunabhängig gemacht (A. Seltenreich, 13.3.2002)
	   
	usage: Das Script einfach mit 
		
		<script src="saveall.js" type="text/javascript"></script>

	in die Form mit den zu speichernden Kontrollfeldern einfügen. An dieser
	Stelle werden dann vom Script die Buttons mit den zugehörigen
	Funktionen eingefügt (siehe erste 3 Programmzeilen).
	Das hat den Vorteil, dass Browser, die kein JS unterstützen, oder deaktiviert
	haben, die Buttons gar nicht erst anzeigen.

	Optional kann man mit dem Parameter 

		onLoad="auto_load_prefs (document.forms[0])"

	im BODY Tag aus eventuell schon vorhandenen cookies die die Auswahl
       	schon beim Laden der Seite wiederherstellen.

	Browser-Tests:
	Navigator 4.78	ok
	Mozilla 0.9.4 	ok
	KDE 2.0.1	negativ, rückt die cookies nicht mehr raus
        KDE 2.2.2       ok
        iexplorer 6.0   ok
	iexplorer 5.0	ok
        Opera 5.0       ok
 */

document.write ("Impostazioni: &nbsp;");
document.write ("<INPUT class=button TYPE=button  VALUE=Salvare OnClick=save_prefs(this.form)> &nbsp;");
document.write ("<INPUT class=button TYPE=button  VALUE=Richiamare OnClick=load_prefs(this.form)> &nbsp;");
        
// cookie wird nach dem jeweiligen HTML Dokument benannt
cookiename=document.URL.substr(document.URL.lastIndexOf("/")+1,document.URL.length - document.URL.lastIndexOf("/")+1 ); 

function all_unchecked() {
        form_el = document.forms[0];
        for (var i=0; i<form_el.kataloge.length; i++)
        {
                if (form_el.kataloge[i].checked == true) return false ;
        }
        return (true);
}

function check_catalog(form_el,name,val) {
        for (var i=0; i<form_el.kataloge.length; i++)
        {
                if (form_el.kataloge[i].value == name) form_el.kataloge[i].checked = val
        }
}

function checked_catalogues(form_el) {
        user_prefs = ""
        for (var i=0;i<form_el.kataloge.length;i++)
        {
                if (form_el.kataloge[i].checked == true) user_prefs += "1"
                else user_prefs += "0"
        }
        return user_prefs
}

function save_prefs(form_el) {
        if (!form_el) form_el=document.forms[0];
	pref = cookiename + "=" + checked_catalogues(form_el) + "; expires=Fri, 01 Jan 2020 16:00:00 GMT"
        document.cookie = pref
//	alert("saved cookie: " + pref);
}

function auto_load_prefs(form_el) {
        if (!form_el) form_el=document.forms[0];
	if (all_unchecked()) load_prefs(form_el);
}

function load_prefs(form_el) {
        if (!form_el) form_el=document.forms[0];
        user_prefs = document.cookie;
	if(!user_prefs) return 0;
//	alert("loaded cookie: " + user_prefs);
        p = user_prefs.indexOf(cookiename)
        user_prefs = user_prefs.substring(p+1+cookiename.length)
        
	for (var i=0; i<form_el.kataloge.length; i++)
        {
                form_el.kataloge[i].checked = (user_prefs.substring(i,i+1)==1)
        }
}


