// Diese Datei wird standardmäßig von der &layout eingebunden.

// folgende Funktion initialisiert Jaschas Einblender-Skript
function GB_myShow(caption, url, /* optional */  height, width, callback_fn) {
    var options = {
        caption: caption,
        height: height || 550,
        width: width || 650,
        fullscreen: false,
        show_loading: false,
        callback_fn: callback_fn
    }
    var win = new GB_Window(options);
    return win.show(url);
};

// Variable, die speichert, welche Dokumente gedruckt werden sollen
var docs_for_print;

	function load_print_basket()
	{			
		// siehe Einstiegs-Teil der print_basket.js
		
		if (document.cookie) { 
			var cookieText = "";
			parts = document.cookie.split(";");
			for(var j = 0; j < parts.length; j++)
			 {
			  	var oneCookie = parts[j];
			  	var oneCookieParts = oneCookie.split("=");
				  if(oneCookieParts[0].match(/printids/))
				  {
				  	cookieText = oneCookieParts[1];
				  }
				  if(cookieText)
				  {
				 	 docs_for_print = cookieText.split(",");
				  }
				  else
				  {
				  	docs_for_print = new Array();
				  }    
			}
				
		}
		else {
		  docs_for_print = new Array();	
		}	
	}
	

	load_print_basket();
	
	show_korb();			
	
		function save_korb()
		{
			// Das Array docs_for_print in eine kommaseparierte Liste verpacken und als Cookie ablegen.
			document.cookie = "printids="+docs_for_print.join(",");
		}
		
		function add_for_print_multiple(IDs)
		{
			load_print_basket();
			// mehrere IDs (Trennzeichen: Semikolon) dem Print-Basket hinzufügen.
			var l = IDs.split(",");
			for(var i = 0; i < l.length; i++)
			{
				add_for_print(l[i]);
			}
		}
		
		function add_for_print_noreload(ID)
		{
			
			// eine einzelne ID dem Print-Basket hinzufügen
			// wie add_for_print, nur eben ohne Neu-Laden des Print-Baskets
			
			// Erst legen wir ein neues Array an...
			docs_for_print_new = new Array();	
			
			// ... dann legen wir dort die ID hinein
			docs_for_print_new.push(ID);
			
			// dann kopieren wir alle Inhalte des alten Arrays,
			// sofern sie nicht mit ID identisch sind.
			for(var i = 0; i < docs_for_print.length; i++)
			{
				if((docs_for_print[i] != ID) && (docs_for_print[i])) 
				{				
					docs_for_print_new.push(docs_for_print[i]);
				}	
			}
			
			// und schließlich setzen wir die Array-Referenz auf das neue Array.
			docs_for_print = docs_for_print_new;
			
			// .. und speichern den aktuellen Zustand.
			save_korb();
			show_korb();				
		}
		
		function add_for_print(id)
		{
			load_print_basket();
			add_for_print_noreload(id);	
		}
		
		function entf_from_print(ID)
		{
			// entfernt eine ID aus dem Print-Basket
			var found = -1;		
			
			// Gibt es die ID überhaupt? Wenn ja: wo?
			for(var i = 0; i < docs_for_print.length; i++)
			{
				if(docs_for_print[i] == thisID)
				{				
					found = i;
				}	
	
			}		
			
			// Wenn ID gefunden: einfach das Element aus dem Array herausnehmen.
			if(found != -1)
			{
				docs_for_print.splice(found,1);
			}
			
			save_korb();		
			show_korb();
					
		}
		
		function show_korb()
		{
			// Das ist eine Funktion, die zu Debugging-Zwecken genutzt wird,
			// aber im Moment deaktiviert ist.
			
			var output;
			
			output = "";
			
			output = output + "<hr/>";
			
			if (docs_for_print.length > 0) {
			  output = output + docs_for_print.length + " Dokument(e) im Druck-Warenkorb";
			} else {
			  docs_for_print = new Array();	
			  output = output + "Keine Dokumente im Druck-Warenkorb.";
			}		
			
			var thisID = -1;
			var found = false;		
			for(var i = 0; i < docs_for_print.length; i++)
			{
	
				if(docs_for_print[i] == thisID)
				{
					var entf_link = '<a class="normlink" href="javascript:entf_from_print('+thisID+')">entfernt</a>';
					output = output + "<br/><br/>Dieses Dokument ist bereits im Warenkorb und kann daraus "+entf_link+" werden";
					found = true;
				}	
	
			}		
			if(found==false)
			{
				var hinz_link = '<a class="normlink" href="javascript:add_for_print('+thisID+')">hinzufügen</a>';
				output = output + "<br/><br/>Dieses Dokument "+hinz_link;
			}
			
			if (docs_for_print.length > 0) {
			  output = output + "<br/><br/>";
			  var listlink = '<a class="normlink" href="sifomap.pl?m=print&printmode=list&ids='+docs_for_print.join("-")+'">als Liste</a>';
			  var detaillink = '<a class="normlink" href="sifomap.pl?m=print&printmode=detail&ids='+docs_for_print.join("-")+'">als Detailansicht</a>';
			  output = output + "Drucken: " + listlink + " oder " + detaillink + ".";
			} 
					
					
		//document.getElementById("printlayer").innerHTML = output;
	}