/*
	JavaScript functions for IST web templates
	version 1.1.1
	kalle nemvalts 2006-12-07

	Identical to functions-ist.js except that stylesheet reference uses relative URL

	Printer-friendly functions
*/

function getArgs() {
	var args = new Object();
	var query = location.search.substring(1);		// get query string
	var pairs = query.split("&");					// break at &
	for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('=');			// look for "name=value"
		if (pos == -1) continue;					// if not found, skip
		var argname = pairs[i].substring(0,pos);	// extract the name
		var value = pairs[i].substring(pos+1);		// extract the value
		args[argname] = unescape(value);			// store as a property
	};
	return args;
};

function writePrinterFriendlyCssLink() {
	// but only if we're in printer friendly view
	var args = getArgs();
	if(args.view) {
		if (args.view == "print") {
			document.write('<link rel="STYLESHEET" media="all" '
			+ 'href="/css/ist-print.css" type="text/css" />');
		};
	};
};

/*
	The cgi parameter "view=print" is reserved in the web templates
	for triggering the print-friendly view.
	It should generally be able to coexist with other cgi parameters.
*/

function writePrinterFriendlyAnchor() {
	// for now, if "view" is set to anything, do nothing;
	// in the future, we may want to change "view=anything" to "view=print"
	var args = getArgs();
	if(args.view == null) {
		// check whether the location already includes a query string
		if(location.search == '') {
			document.write('<a href="' + location.protocol + '//'
				+ location.host + location.pathname
				+ '?view=print" target="_blank">'
				+ 'Printer Friendly View' + '</a>');
		} else {
			document.write('<a href="' + location.protocol + '//'
				+ location.host + location.pathname + location.search
				+ '&view=print" target="_blank">'
				+ 'Printer Friendly View' + '</a>');
		};
	};
};


/*
	Email obfuscation functions
*/


function generate_ucb_email(username, hostname, endpunct) {
	var domain = ".berkeley.edu";
	var atsign = "&#64;";
	var addr = username + atsign + hostname + domain;
	if(arguments.length < 3) {
		endpunct = "";
	};
	document.write(
		"<" + "a" + " " + "href=\"" + "mail" + "to:" + addr + "\">" +
		addr + "<\/a>" + endpunct);
};

function generate_atberkeleyedu_email(username, endpunct) {
	var domain = "berkeley.edu";
	var atsign = "&#64;";
	var addr = username + atsign + domain;
	if(arguments.length < 2) {
		endpunct = "";
	};
	document.write(
		"<" + "a" + " " + "href=\"" + "mail" + "to:" + addr + "\">" +
		addr + "<\/a>" + endpunct);
};

function generate_atberkeley_email(username, endpunct) {
	var domain = "berkeley.edu";
	var shortdomain = "berkeley";
	var atsign = "&#64;";
	var addr = username + atsign + domain;
	var shortaddr = username + atsign + shortdomain;
	if(arguments.length < 2) {
		endpunct = "";
	};
	document.write(
		"<" + "a" + " " + "href=\"" + "mail" + "to:" + addr + "\">" +
		shortaddr + "<\/a>" + endpunct);
};

function generate_any_email(username, hostname, domain, endpunct) {
	var atsign = "&#64;";
	var addr = username + atsign + hostname + "." + domain;
	if(arguments.length < 4) {
		endpunct = "";
	};
	document.write(
		"<" + "a" + " " + "href=\"" + "mail" + "to:" + addr + "\">" +
		addr + "<\/a>" + endpunct);
};

function generate_short_email(username, hostname, endpunct) {
	var domain = ".berkeley.edu";
	var atsign = "&#64;";
	var addr = username + atsign + hostname + domain;
	var addrdisplay = username + atsign + hostname;
	if(arguments.length < 3) {
		endpunct = "";
	};
	document.write(
		"<" + "a" + " " + "href=\"" + "mail" + "to:" + addr + "\">" +
		addrdisplay + "<\/a>" + endpunct);
};

