(function() {
	var compress=function(ls) {
		var repeat=function(s, n) {
			var out='';
			while (n>0) {
				out+=s;
				--n;
			}
			return out;
		};
		ls.sort();
		var outstr = ls[0];
		var last = ls[0];
		for (var i=1; i<ls.length; ++i) {
			var j = 0;
			var curr = ls[i];
			while (j<last.length && j<curr.length && last.charAt(j)==curr.charAt(j)) {
				++j;
			}
			outstr+='+';
			outstr+=repeat('.', last.length-curr.length);
			outstr+=curr.substring(j);
			outstr+=repeat('.', curr.length-last.length);
			last=curr;
		}
		return outstr;
	};
	var replaceqty=function(contelt, html) {
		var elt = document.getElementById(contelt);
		if (elt) {
			var inputelts = elt.getElementsByTagName('input');
			if (inputelts.length==1) {
				html += "<input name='"+inputelts[0].name+"' type='hidden' value='0' />";
			}
			elt.innerHTML=html;
		}
	};

	var itemopts_handler=function() {
		if (!qoh.ignore) {
			qoh.soldout=function(s) {
				qoh.toremove.push(s.toUpperCase());
			};
			qoh.alldone=function() {
				if (qoh.toremove.length==qoh.optioncount) {
					var proddetails = document.getElementById('proddetails');
					var optionslist = document.getElementById('optionslist');
					if (proddetails && optionslist) {
						optionslist.style.display='none';
						var newrow = proddetails.insertRow(proddetails.rows.length);
						var newcell = newrow.insertCell(0);
						newcell.innerHTML = "<font face=verdana size=1 color=#336699><b>This Style Currently Sold Out</b></font>";
					}
				} else {
					var i;
					for (i=0; i<qoh.toremove.length; ++i) {
						var row = qoh.sku2row[qoh.toremove[i]];
						if (row!=null) {
							replaceqty('qtybox'+row,
								"<FONT color=#44698f face=Arial size=1>Sold Out</font>");
						}
					}
				}
			};
		
			qoh.sku2row={};
			var lookup_list = [];
			qoh.optioncount=0;
			qoh.toremove = [];
			for (var i=0; i<qoh.opts.length; ++i) {
				var optname = qoh.opts[i][1];
				var colonpos = optname.indexOf(':');
				if (colonpos!=-1) {
					var skuopt = (qoh.sku+'-'+optname.substring(0, colonpos)).toUpperCase();
					lookup_list.push(skuopt);
					qoh.sku2row[skuopt]=qoh.opts[i][0];
					qoh.optioncount++;
				}
			}
			var urlskus = compress(lookup_list);
			document.write('<scr'+'ipt src="http://blog.teeda.com/inv/lookup.php?sku='+escape(urlskus)+'"></scr'+'ipt>');
		}
	};

	var section_handler=function() {
		qoh.soldout=function(s) {
			if (qoh.skuoptinfo[s]!=null) {
				var skuoptinfo = qoh.skuoptinfo[s];
				var skuinfo = qoh.skuinfo[skuoptinfo.sku];

				if (skuinfo.rmoptcount+1<skuinfo.optcount) {
					skuinfo.rmopts[skuoptinfo.optname]=true;
					skuinfo.rmoptcount++;
					return;
				}
				skuinfo.rmopts={};
				skuinfo.rmoptcount=0;
				s = skuoptinfo.sku;
			}
			qoh.skuinfo[s].removed=true;
			var rownum = qoh.rowmap[s];
			if (rownum!==null) {
				replaceqty('qtybox'+rownum,
					"<font face=verdana size=1 color=#336699>Currently<br>Sold Out</font>");
			}
		};
		qoh.alldone=function() {
			for(var sku in qoh.skuinfo) {
				var skuinfo = qoh.skuinfo[sku];
				var rownum = qoh.rowmap[sku];
				if (skuinfo.rmoptcount>0 && rownum!==null) {
					var selectelt = document.getElementById('itemoptions'+rownum);
					if (selectelt) {
						for (var i=0; i<selectelt.length; ++i) {
							var elt=selectelt.options[i];
							if (skuinfo.rmopts[elt.value]) {
								selectelt.removeChild(elt);
								--i;
							}
						}
					}
				}
			}
		};

		qoh.skuoptinfo = {};
		qoh.skuinfo = {};

		var lookup_list = [];
		var i, j, prod, colonpos, opt, optcode, skuopt, sku;
		for (i=0; i<product_data.length; ++i) {
			prod=product_data[i];
			if (!prod.ignore_qoh) {
				sku = prod.sku.toUpperCase();
				qoh.skuinfo[sku] = {'optcount':0, 'rmopts':{}, 'rmoptcount':0, 'removed':false};
				if (prod.options.length) {
					for (j=0; j<prod.options.length; ++j) {
						opt = prod.options[j];
						colonpos = opt.indexOf(':');
						if (colonpos!=-1) {
							optcode = opt.substring(0, colonpos);
							skuopt = sku+'-'+optcode.toUpperCase();
							lookup_list.push(skuopt);
							qoh.skuoptinfo[skuopt] = {'sku':sku, 'optname':opt};
							qoh.skuinfo[sku].optcount++;
						}
					}
				} else {
					lookup_list.push(sku);
				}
			}
		}
		if (lookup_list.length>0) {
			var urlskus = compress(lookup_list);
			document.write('<scr'+'ipt src="http://blog.teeda.com/inv/lookup.php?sku='+escape(urlskus)+'"></scr'+'ipt>');
		}
	};

	var item_handler=function() {
		if (!qoh.ignore) {
			qoh.soldout=function(s) {
				var elt = document.getElementById('qtybox');
				if (elt) {
					elt.innerHTML = "<font face=verdana size=1 color=#336699><b>This Style Currently Sold Out</b></font>";
				}
			};
			qoh.alldone=function() {};

			document.write('<scr'+'ipt src="http://blog.teeda.com/inv/lookup.php?sku='+escape(qoh.sku)+'"></scr'+'ipt>');
		}
	};

	var s = '; '+document.cookie+';';
	if (window.qoh) {
		if (qoh.mode=='itemopts') {
			itemopts_handler();
		}
		if (qoh.mode=='item') {
			item_handler();
		}
		if (qoh.mode=='section') {
			section_handler();
		}
	}
})();

