/*globals window,alert,document */
var RetailUtils = {
	/* Copyright (c) 2007 Marlin Forbes (http://www.datashaman.com)
	* Dual licensed under the MIT
	* (http://www.opensource.org/licenses/mit-license.php)
	* and GPL
	* (http://www.opensource.org/licenses/gpl-license.php) licenses.
	*/
	/* function setupParameters
	* Creates an object property window.location.parameters which
	* is an associative array of the URL querystring parameters used
	* when requesting the current document.
	* If the parameter is present but has no value, such as the parameter
	* flag in http://example.com/index.php?flag&id=blah, null is stored.
	*/
	setupParameters: function() {
		var parameters = {};
		if (window.location.search) {
			var paramArray = window.location.search.substr(1).split('&');
			var length = paramArray.length;
			for (var index = 0; index < length; index++) {
				var param = paramArray[index].split('=');
				var name = param[0];
				var value = typeof param[1] === "string" ? decodeURIComponent(param[1].replace(/\+/g, ' ')) : null;
				parameters[name] = value;
			}
		}
		window.location.parameters = parameters;
	},
	getParameter: function(name) {
		if (typeof window.location.parameters === "undefined") {
			RetailUtils.setupParameters();
		}
		return window.location.parameters[name];
	},
	/*
	
	GetSomeGreek functions
	************************************/
	filterItems: function(id) {
		if (id !== 0) {
			document.location.href = 'retail-store.cfm?org=' + RetailUtils.getParameter("org") + '&orgid=' + RetailUtils.getParameter("orgid") + '&item=' + id;
		} else {
			document.location.href = "retail-store.cfm?org=" + RetailUtils.getParameter("org") + '&orgid=' + RetailUtils.getParameter("orgid");
		}
	},
	getParamString: function(ex) {
		var str = "";
		if (ex === undefined) {
			ex = "";
		}
		if (RetailUtils.getParameter("shop") !== undefined && ex.toLowerCase().indexOf("shop") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'shop=' + RetailUtils.getParameter("shop");
		}
		if (RetailUtils.getParameter("orgid") !== undefined && ex.toLowerCase().indexOf("orgid") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'orgid=' + RetailUtils.getParameter("orgid");
		}
		if (RetailUtils.getParameter("org") !== undefined && ex.toLowerCase().indexOf("org") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'org=' + RetailUtils.getParameter("org");
		}
		if (RetailUtils.getParameter("item") !== undefined && ex.toLowerCase().indexOf("item") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'item=' + RetailUtils.getParameter("item");
		}
		if (RetailUtils.getParameter("sort") !== undefined && ex.toLowerCase().indexOf("sort") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'sort=' + RetailUtils.getParameter("sort");
		}
		if (RetailUtils.getParameter("onsale") !== undefined && ex.toLowerCase().indexOf("onsale") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'onsale=' + RetailUtils.getParameter("onsale");
		}
		if (RetailUtils.getParameter("new") !== undefined && ex.toLowerCase().indexOf("new") < 0) {
			if (str !== "") {
				str += '&';
			}
			str += 'new=' + RetailUtils.getParameter("new");
		}
		return str;
	},
	filterOrgs: function(sel) {
		var str = sel.options[sel.selectedIndex].text;
		var urlstr = RetailUtils.getParamString('org,orgid');
		if (sel.value !== 0) {
			var tstr = 'retail-store.cfm?org=' + str + '&orgid=' + sel.value;
			if (urlstr !== "") {
				tstr += '&' + urlstr;
			}
			document.location.href = tstr;
		} else {
			document.location.href = 'retail-store.cfm?' + urlstr;
		}
	},
	doValidate: function() {
		var df = document.RetailItemForm;
		var err = "";
		if (df.COLORS.value === "") {
			err += 'Please choose a COLOR.\n';
		}
		if (df.SIZE.value === "") {
			err += 'Please choose a SIZE.\n';
		}
		if (df.QUANTITY.value === "") {
			err += 'Please enter a QUANTITY.\n';
		}
		if (err) {
			alert(err);
		} else {
			df.submit();
		}
	},
	changeRetailPicture: function(s, n) {
		var i = document.getElementById('RetailItemImg');
		var d = document.getElementById('ColorName');
		i.src = '_etc/retail_catalog/' + s;
		if (n !== "") {
			d.innerHTML = n;
		}
		return false;
	}
};
