
/* Static labels */
var intro_text = "Your pages / Ihre Seiten:";
var page_label = "";
var close_window = "Close window / Fenster schlie\xdfen";
var site_added = "Page succesfully added / Seite erfolgreich hinzugef\xfcgt!";
var alt_remove = "Remove page / Seite entfernen";
var alt_show = "Show page / Seite anzeigen";
var alt_removeall = "Remove all pages / Alle Seiten entfernen";
/*==============================================================================

    Routines written by John Gardner - 2003 - 2005

    See www.braemoor.co.uk/software for information about more freeware
    available.

/*==============================================================================

Routine to write a session cookie

    Parameters:
        cookieName        Cookie name
        cookieValue       Cookie Value
    
    Return value:
        true              Session cookie written successfullly
        false             Failed - persistent cookies are not enabled

   e.g. if (writeSessionCookie("pans","drizzle") then
           alert ("Session cookie written");
        else
           alert ("Sorry - Session cookies not enabled");
*/
function writeSessionCookie(cookieName, cookieValue) {
	if (testSessionCookie()) {
		document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/";
		return true;
	} else {
		return false;
	}
}
/*==============================================================================

Routine to get the current value of a cookie

    Parameters:
        cookieName        Cookie name
    
    Return value:
        false             Failed - no such cookie
        value             Value of the retrieved cookie

   e.g. if (!getCookieValue("pans") then  {
           cookieValue = getCoookieValue ("pans2);
        }
*/
function getCookieValue(cookieName) {
	var exp = new RegExp(escape(cookieName) + "=([^;]+)");
	if (exp.test(document.cookie + ";")) {
		exp.exec(document.cookie + ";");
		return unescape(RegExp.$1);
	} else {
		return false;
	}
}
/*==============================================================================

Routine to see if session cookies are enabled

    Parameters:
        None
    
    Return value:
        true              Session cookies are enabled
        false             Session cookies are not enabled

   e.g. if (testSessionCookie())
           alert ("Session coookies are enabled");
        else
           alert ("Session coookies are not enabled");
*/
function testSessionCookie() {
	document.cookie = "testSessionCookie=Enabled";
	if (getCookieValue("testSessionCookie") == "Enabled") {
		return true;
	} else {
		return false;
	}
}
/*==============================================================================

Routine to see of persistent cookies are allowed:

    Parameters:
        None
    
    Return value:
        true              Session cookies are enabled
        false             Session cookies are not enabled

   e.g. if (testPersistentCookie()) then
           alert ("Persistent coookies are enabled");
        else
           alert ("Persistent coookies are not enabled");
*/
function testPersistentCookie() {
	writePersistentCookie("testPersistentCookie", "Enabled", "minutes", 1);
	if (getCookieValue("testPersistentCookie") == "Enabled") {
		return true;
	} else {
		return false;
	}
}
/*==============================================================================

Routine to write a persistent cookie

    Parameters:
        CookieName        Cookie name
        CookieValue       Cookie Value
        periodType        "years","months","days","hours", "minutes"
        offset            Number of units specified in periodType
    
    Return value:
        true              Persistent cookie written successfullly
        false             Failed - persistent cookies are not enabled
    
    e.g. writePersistentCookie ("Session", id, "years", 1);
*/
function writePersistentCookie(CookieName, CookieValue, periodType, offset) {
	var expireDate = new Date();
	offset = offset / 1;
	var myPeriodType = periodType;
	switch (myPeriodType.toLowerCase()) {
	  case "years":
		expireDate.setYear(expireDate.getFullYear() + offset);
		break;
	  case "months":
		expireDate.setMonth(expireDate.getMonth() + offset);
		break;
	  case "days":
		expireDate.setDate(expireDate.getDate() + offset);
		break;
	  case "hours":
		expireDate.setHours(expireDate.getHours() + offset);
		break;
	  case "minutes":
		expireDate.setMinutes(expireDate.getMinutes() + offset);
		break;
	  default:
		alert("Invalid periodType parameter for writePersistentCookie()");
		break;
	}
	document.cookie = escape(CookieName) + "=" + escape(CookieValue) + "; expires=" + expireDate.toGMTString() + "; path=/";
}
/*==============================================================================

Routine to delete a persistent cookie

    Parameters:
        CookieName        Cookie name
    
    Return value:
        true              Persistent cookie marked for deletion
    
    e.g. deleteCookie ("Session");
*/
function deleteCookie(cookieName) {
	if (getCookieValue(cookieName)) {
		writePersistentCookie(cookieName, "Pending delete", "years", -1);
	}
	return true;
}
/* Add site to cart */
function addSite(id, filename) {
	var dc = getCookieValue("Sites");
	if (!dc) {
		dc = "";
	}
	var sites = dc.split("|");
	var isnew = true;
	if (isnew == true) {
		dc = dc + "|" + id + "$" + filename;
		writeSessionCookie("Sites", dc);
		alert(site_added);
	}
}
function getSites() {
	var dc = getCookieValue("Sites");
	if (!dc) {
		dc = "";
	}
	var sites = dc.split("|");
	sites.sort();
	var output = "<link rel=\"stylesheet\" type=\"text/css\" href=\"files/js/cart.css\" />";
	output = output + "<script type=\"text/javascript\" src=\"files/js/sitecart.js\"></script>";
	output = output + "<body style='background:#fff;'><div style='margin: 0; padding: 10px;'>";
	output = output + "<p style='font-family: arial; font-size: 11px;'><strong>" + intro_text + "</strong></p>\n";
	output = output + "<p><table cellpadding=\"0\" cellspacing=\"0\">\n";
	for (var i = 0; i < sites.length; ++i) {
		if (sites[i] != "") {
			var page = sites[i].split("$");
			var page_number = page[0];
			var page_filename = page[1];
			if ((i % 2) == 0) {
				var rowclass = "row0";
			} else {
				var rowclass = "row1";
			}
			output = output + "<tr><td style='font-family: arial; font-size: 11px;'>" + page_label + "</td><td style='font-family: arial; font-size: 11px;'>" + page_number + "</td><td style='font-family: arial; font-size: 11px; padding: 3px 0px 3px 20px;'><a style='color: #fe9900;' target='_blank' href='"+page_filename+"'>" + alt_show + "</a></td></tr>";
		}
	}
	output = output + "</table></p>\n";
	output = output + "<p style='font-family: arial; font-size: 11px;'><a style='color: #fe9900;' href='#' onClick='window.close();'>" + close_window + "</a></p></body>";
	width = 640;
	height = 480;
	ScreenWidth = screen.width;
	ScreenHeight = screen.height;
	xpos = (ScreenWidth / 2) - (width / 2);
	ypos = (ScreenHeight / 2) - (height / 2);
	fenster2 = window.open("", "merkliste", "width=" + width + " , height=" + height + ",scrollbars=yes, resizable=yes, screenX=" + xpos + ",screenY=" + ypos + ",left=" + xpos + ",top=" + ypos + "");
	fenster2.document.open();
	fenster2.document.write(output);
	fenster2.focus();
	fenster2 = null;
}
function removeAll() {
	deleteCookie("Sites");
}
function removeSite(filename) {
	var dc = getCookieValue("Sites");
	if (dc) {
		var sites = dc.split("|");
		var newcookie = "";
		for (var i = 0; i < sites.length; ++i) {
			var page = sites[i].split("$");
			var page_number = page[0];
			var page_filename = page[1];
			if (page_filename != filename) {
				if (page_filename) {
					newcookie = newcookie + "|" + page_number + "$" + page_filename;
				}
			}
		}
		writeSessionCookie("Sites", newcookie);
	}
	if (navigator.userAgent.toLowerCase().indexOf("msie") != -1 || navigator.userAgent.toLowerCase().indexOf("opera") != -1) {
		getSites();
	} else {
		window.close();
		getSites();
	}
}

