/*
 * check_iceid.js, v 1.0 stan
 *
 * Custom development (Deliver iceID info to X-Cart store)
 */

// Add iceId to all links 
function checkIceId() {

	if (document.links.length < 1 || document.location.href.indexOf("iceID") === -1)
		return false;

	var iceid_pattern = /.*[?&]iceID=([0-9a-z]+)[&#]*(.*)/gi;
	var iceid = document.location.href.replace(iceid_pattern, '$1');

	if (!iceid)
		return false;
	
	// IE5.5+
	var isIE = window.navigator.userAgent.indexOf("MSIE") !== -1;
	var protocol_pattern = /^http|https/gi;
	var href_pattern = new RegExp("^(([^:/\\?#]+):)?(//(([^:/\\?#]*)(?::([^/\\?#]*))?))?([^\\?#]*)(\\?([^#]*))?(#(.*))?$");
	
	var allowedDomains = ["replacementkitchendrawers", "luna5", "qtmsoft", "thekitchendoctor"];
	var domain_pattern = new RegExp(allowedDomains.join("|"), "gi");

	for (var i = 0; i < document.links.length; i++) {
		var link = document.links[i];

		// change links only if they link to http or https protocol
		if (link.href.indexOf("http") !== 0 || link.href.search(domain_pattern) === -1) 
			continue;
		
		var url_matches = link.href.match(href_pattern);
		var new_url = url_matches[1] + url_matches[3] + (url_matches[7] || "/") + "?iceID=" + iceid + (url_matches[9] ? "&" : "") + (url_matches[9] || "") + (url_matches[10] || "");
		// IE bug fix
		var applyIEfix = false;
		if (isIE && (link.innerHTML.indexOf("www.") === 0 || link.innerHTML.indexOf("http"))) {
			var linkValue = link.innerHTML;
			applyIEfix = true;
		}

		link.href = new_url;
		
		// apply IE bug fix
		if (applyIEfix)
			link.innerHTML = linkValue;
	}

	return true;
}


