addLoadListener(prependHREF);

function prependHREF() {
	/*	If the site is a partner site:-
			Checks though all HREF's on a page
			if HREF has partner prepended do nothing
			else prepend HREF with partner name
	*/

	if (partner=="") return;
	
	var anchors = document.getElementsByTagName("a");

	for ( var i=0; i < anchors.length; i++) {
		var skip = 0;
		var a = anchors[i];
		var href = a.href;
		// convert main site url to partner site url
		if (href.indexOf("cruising.com.au")!== -1) {
			skip = 1;
			var uri2dir = href;
			if (uri2dir.substr(0,4) == 'http' ) {
				uri2part = uri2dir.substr(10,uri2dir.length);
				uri2index = uri2part.indexOf('\/')+10;
			}
			var url2 = uri2dir.substr(0,uri2index);
			href = href.substring(url2.length);
		}
		// build the partner name into the url
		if (excludeHREF(href,1)) {
			if ( href.indexOf(url) !== -1) {
				href = href.substring(url.length);
			}
			href = partner + href;
			a.setAttribute("href",href);
  		}
		// append the partner name to template page qstrings
		if ((href.indexOf("templates") !== -1) && excludeHREF(href,2)) {
			href = href + "&partner=" + partner.substring(1,partner.length);
			a.setAttribute("href",href);
		}
		// fix js window.open hrefs
		if ( href.indexOf("window.open") !== -1 && skip==0 ) {
			var bit1 = href.substring(0,href.indexOf("'")+1);
			var bit2 = href.substring(href.indexOf("'")+1,href.length);
			var bit3 = "";
			var bit4 = ""; // the partner name in the qstring
			var bit5 = "";
			if ( bit2.indexOf("http") == -1 ) {
				if ( bit2.indexOf("partner=") !== -1 ) {
					bit3 = bit2.substring(0, bit2.indexOf("partner=")+8);
					bit4 = bit2.substring(bit2.indexOf("partner=")+8, bit2.indexOf("&"));
					bit5 = bit2.substring(bit2.indexOf("&"),bit2.length);
					if ( bit4=="" ) {
						var partnerbit = partner.substring(1,partner.length);
						href = bit1 + bit3 + partnerbit + bit5;
					}
				} else {
					href = bit1 + partner + bit2;
				}
				a.setAttribute("href",href);
			}
		}
	}
}

function excludeHREF(href,excludelist) {
	// checks the passed href for existence of a string
	// if string exists return false
	// else return true
	var estr = "#,javascript,show-map,util,templates,admin,itbyus,mailto,"+partner;
	var estr2 = "javascript,show-map,util,admin,itbyus,mailto,"+partner;
	var e = excludelist==1 ? estr.split(",") : estr2.split(",");
	
	for (var i = 0;i<e.length;i++) {
		if (href.indexOf(e[i]) !== -1)
			return false;
	}
	return true;
}