function testAlert(n) {
	if(document.getElementById('jaytesting')) {
		alert(n);
	}
}

function createSLT(n) {
	var slt = document.getElementById("swing_lock_table")
	var sr = document.getElementById("swing_row")
	var nr = document.getElementById("number_row")
	var lr = document.getElementById("lock_row")

	slt.deleteRow(sr);
	slt.deleteRow(nr);
	slt.deleteRow(lr);
	
	var nsr = slt.insertRow(0);
	var nnr = slt.insertRow(1);
	var nlr = slt.insertRow(2);
	
	nsr.setAttribute("id","swing_row");
	nnr.setAttribute("id","number_row");
	nlr.setAttribute("id","lock_row");
	
	var si = new Array();
	
	for(i=0;i<n;i++) {
		var sc = nsr.insertCell(i);
		var nc = nnr.insertCell(i);
		var lc = nlr.insertCell(i);
		sc.innerHTML = "<img src=\"images/swing_left.gif\" id=\"swing_"+(i+1)+"\" class=\"swing\" onclick=\"toggleSwing(this.id);\">";
		nc.innerHTML = (i+1);
		lc.innerHTML = "<img src=\"images/nolock.gif\" id=\"lock_"+(i+1)+"\" class=\"lock\" onclick=\"toggleLock(this.id);\">";
		
		si[i] = "l";
	}
	
	document.getElementById("swing_input").value = si.join("-");
	document.getElementById("lock_input").value = "";
	
	document.getElementById("swing_lock_table").style.zIndex="-1";
}

function toggleSwing(n) { 
	if(document.slt_freeze != 'true') {
		var prefix = 'https://www.gemquote.com/images/';
		if (document.getElementById(n).src == prefix+'swing_left.gif') {
			var newsrc = prefix+'swing_right.gif';
			var dir = "r";
		}
		else {
			var newsrc = prefix+'swing_left.gif';
			var dir = "l";
		}
		document.getElementById(n).src = newsrc;
		setSwing(n,dir); 
	}
}

function toggleLock(n) { 
	if(document.lock_freeze != 'true') {
		var prefix = 'https://www.gemquote.com/images/';
		if (document.getElementById(n)) {
			if (document.getElementById(n).src == prefix+'lock.gif') {
				newsrc = prefix+'nolock.gif';
			}
			else {
				newsrc = prefix+'lock.gif';
			}
			document.getElementById(n).src = newsrc;
			
			var id = n.split("_");
			setLock(id[1]);
		}
	}
}

function removeElement(n,a) {
	var t = new Array();
	var i = 0;
	for(x in a) {
		if(a[x] != n) {
			t[i] = a[x];
			i++;
		}
	}
	return t;
}

function sortNumber(a,b) {
	return a - b
}

function setSwing(n,d) { 
	var index_array = n.split("_");
	var id = index_array[1]-1;
	
	var swing_array = document.getElementById("swing_input").value.split("-");
	
	swing_array[id] = d;
	var swing_input = swing_array.join("-");
	document.getElementById("swing_input").value = swing_input;
}

function setLock(n) {
	var lock_array = document.getElementById("lock_input").value.split(",");
	var temp_array = removeElement(n,lock_array);

	if(temp_array.length == lock_array.length) {
		t = new Array();
		t[0] = n;
		temp_array = lock_array.concat(t);
	}
	
	temp_array = temp_array.sort(sortNumber);					
	new_value = temp_array.join(",");
	
	document.getElementById("lock_input").value = new_value;
}

function setAllLocks(n) { 
	var prefix = 'https://www.gemquote.com/images/';
	var n = document.getElementById("doornumber").selectedIndex;
	var t = document.getElementById("alllocksbutton");
	var v = "";
	if(t.firstChild.nodeValue == 'All Locks') {
		for(i=0;i<=n;i++) {
			document.getElementById("lock_"+(i+1)).src = prefix+"lock.gif";
			v = v+","+(i+1);
		}
		document.getElementById("lock_input").value = v;
		t.replaceChild(document.createTextNode("No Locks"),t.firstChild);
	}
	else {
		for(i=0;i<=n;i++) {
			document.getElementById("lock_"+(i+1)).src = prefix+"nolock.gif";
		}
		document.getElementById("lock_input").value = "";	
		t.replaceChild(document.createTextNode("All Locks"),t.firstChild);
	}
}

function clearLocks() { 
	var prefix = 'https://www.gemquote.com/images/';
	var n = document.getElementById("doornumber").selectedIndex;
	var t = document.getElementById("alllocksbutton");
	var v = "";
	for(i=0;i<=n;i++) {
		document.getElementById("lock_"+(i+1)).src = prefix+"nolock.gif";
	}
	document.getElementById("lock_input").value = "";	
	t.replaceChild(document.createTextNode("All Locks"),t.firstChild);
}

function swingLeft() {
	var n = document.getElementById("doornumber").selectedIndex;
	var input_value = new Array();
	for(i=0;i<=n;i++) {
		document.getElementById("swing_"+(i+1)).src = "https://www.gemquote.com/images/swing_left.gif";
		input_value[i] = "l";
	}
	document.getElementById("swing_input").value = input_value.join("-");
}
		
function swingRight() {
	var n = document.getElementById("doornumber").selectedIndex;
	var input_value = new Array();
	for(i=0;i<=n;i++) {
		document.getElementById("swing_"+(i+1)).src = "https://www.gemquote.com/images/swing_right.gif";
		input_value[i] = "r";
	}
	document.getElementById("swing_input").value = input_value.join("-");
}
		
function showDiv(divset,keylist,divid) { 
	//showlog('divset = '+divset+'    keylist = '+keylist+'    divid = '+divid);
	for(i=0;i<keylist.length;i++) {
		n = document.getElementById(divset+keylist[i]);
		if(n != null) {
			n.style.visibility = 'hidden'; 
			n.style.display = 'none';
			n.style.height = '0';
		}
	}
	document.getElementById(divset+divid).style.visibility = 'visible'; 
	document.getElementById(divset+divid).style.display = 'block';
	document.getElementById(divset+divid).style.height = 'auto'; 
}

function hide(n) {
	n.style.visibility = 'hidden'; 
	n.style.display = 'none';
	n.style.height = '0'; 
}


function show(n) { 
	n.style.visibility = 'visible'; 
	n.style.display = 'block';
	n.style.height = 'auto'; 
}

function setStyle(n,bc,c,fw) {
		//alert('Error: obj ='+n+'\nbc = '+bc+'\nc = '+c+'\nfw = '+fw);
		n.style.backgroundColor = bc; 
		n.style.color = c; 
		n.style.fontWeight = fw;
}

function switchQuote(s,n) { 
	
	hide(document.getElementById("model_table")); 
	setStyle(document.getElementById("qs_doors"),'#0079bb','#ffffff','normal'); 
	
	hide(document.getElementById("windows_table")); 
	setStyle(document.getElementById("qs_windows"),'#0079bb','#ffffff','normal'); 
	
	hide(document.getElementById("sliders_table")); 
	setStyle(document.getElementById("qs_sliders"),'#0079bb','#ffffff','normal'); 
	
	hide(document.getElementById("acc_table")); 
	setStyle(document.getElementById("qs_acc"),'#0079bb','#ffffff','normal'); 

	hide(document.getElementById("shelving_table")); 
	setStyle(document.getElementById("qs_shelving"),'#0079bb','#ffffff','normal'); 

	hide(document.getElementById("lighting_table")); 
	setStyle(document.getElementById("qs_lighting"),'#0079bb','#ffffff','normal'); 

	show(document.getElementById(n));
	setStyle(s,'#ff9140','#000000','bold'); 

	if(s.parentNode.getAttribute('id') == 'quote_switch_row_1') {
		var t = document.getElementById("quote_switch_row_1");
		var b = document.getElementById("quote_switch_row_2");
		var t2 = t.cloneNode(true);
		var b2 = b.cloneNode(true);
		b2.setAttribute('id','quote_switch_row_1');
		t2.setAttribute('id','quote_switch_row_2');
		var ref1 = t.parentNode.replaceChild(b2,t);
		var ref2 = b.parentNode.replaceChild(t2,b);
	}

}

function toggleUserDetails(t,n2) { 
	u = document.getElementById(n2);
	
	var prefix = 'https://www.gemquote.com/images/';
	if (u.style.visibility == 'visible') { 
		newsrc = prefix+'tog_right.gif';
		hide(u); 
	}
	else {
		newsrc = prefix+'tog_down.gif';
		show(u); 
	}
	t.src = newsrc;
	
	return false;
}

function toggleMultiplierLine(n) {
	cs = document.getElementById('contract_select_'+n);
	ml = document.getElementById('multiplier_line_'+n);
	if(cs.value == 0) {
		show(ml);
	}
	else {
		hide(ml);
	}
}

function changeWindowModel(n) { 
	var x = document.getElementById('windows_sizes').childNodes; 
	for (i=0; i<x.length; i++) { 
		hide(x[i]);  
	} 
	var e = 'size_'+n.options[n.selectedIndex].value;
	show(document.getElementById(e));

}

function slidersLoad(def_model,def_size,def_lighting) {
	var models = document.getElementById('sliders_model');
	for (i=0; i<models.options.length; i++) {
		if(models.options[i].value == def_model) {
			models.selectedIndex = i;
		}
	}
	show(document.getElementById('sliders_sizes_'+models.options[models.selectedIndex].value));
	slidersChangeSize(document.getElementById('sliders_size_'+document.getElementById('sliders_model').options[document.getElementById('sliders_model').selectedIndex].value));
}

function slidersChangeSets(n) {
	c = document.getElementById('sliders_sets');
	if(n.options[n.selectedIndex].value > 1) {
		t = document.createTextNode(' sets of 2');
	}
	else {
		t = document.createTextNode(' set of 2');
	}
	c.replaceChild(t,c.firstChild);
}

function slidersChangeModel() {
	var models = document.getElementById('sliders_model');
	for (i=0; i<models.options.length; i++) {
		hide(document.getElementById('sliders_sizes_'+models.options[i].value));
	}
	show(document.getElementById('sliders_sizes_'+models.options[models.selectedIndex].value));
}

function slidersChangeSize(n) {
	var w = parseInt(n.options[n.selectedIndex].value.substr(0,2) / 2);
	var h = parseInt(n.options[n.selectedIndex].value.substr(3,2));
	
	var l = document.getElementById('sliders_lighting');
	if(h < 72) {
		l.options[1] = new Option('CrossFire LED 60"','23');
	}
	else {
		l.options[1] = new Option('CrossFire LED 72"','24');
	}
	
	var c = document.getElementById('shelving_widths').childNodes;
	for (i=0; i<c.length; i++) { 
		hide(c[i]);
	}
	show(document.getElementById('sliders_shelving_sizes_'+w));
}

function adminDoorsSelectModel() {
	var models = document.getElementById('select_model');
	for (i=0; i<models.options.length; i++) {
		hide(document.getElementById('door_sizes_'+models.options[i].value));
	}
	show(document.getElementById('door_sizes_'+models.options[models.selectedIndex].value));
	adminDoorsSelectDoor(document.getElementById('select_door_'+models.options[models.selectedIndex].value));
}

function adminDoorsSelectDoor(n) { 
	var dv = n.options[n.selectedIndex].value.split(":");
	var di = dv[0].split("|");
	document.getElementById('id_model').value = di[0];
	document.getElementById('id_width').value = di[1];
	document.getElementById('id_height').value = di[2];
	document.getElementById('id_walkin').value = di[3];
	document.getElementById('edit_price').value = dv[1];
	document.getElementById('edit_doe_price').value = dv[2];
	document.getElementById('edit_weight').value = dv[3];
	document.getElementById('edit_amps').value = dv[4];
	
	for(i=0;i<document.getElementById('edit_def_shelf_number').options.length;i++) { if(document.getElementById('edit_def_shelf_number').options[i].value == dv[5]) { document.getElementById('edit_def_shelf_number').selectedIndex = i; } }
	for(i=0;i<document.getElementById('edit_def_shelf_depth').options.length;i++) { if(document.getElementById('edit_def_shelf_depth').options[i].value == dv[6]) { document.getElementById('edit_def_shelf_depth').selectedIndex = i; } }
	for(i=0;i<document.getElementById('edit_def_shelf_type').options.length;i++) { if(document.getElementById('edit_def_shelf_type').options[i].value == dv[7]) { document.getElementById('edit_def_shelf_type').selectedIndex = i; } }
	for(i=0;i<document.getElementById('edit_def_shelf_color').options.length;i++) { if(document.getElementById('edit_def_shelf_color').options[i].value == dv[8]) { document.getElementById('edit_def_shelf_color').selectedIndex = i; } }

	ddh = document.createTextNode(di[2]);
	ddm = document.createTextNode(document.getElementById('select_model').options[document.getElementById('select_model').selectedIndex].text);
	ddt = document.createTextNode(dv[9]);
	if(dv[5] == 'ns') { ddns = document.createTextNode('NOTICE: This door size has no shelving defaults'); }
	else { ddns = document.createTextNode(' '); }

	document.getElementById('def_doorheight').replaceChild(ddh,document.getElementById('def_doorheight').firstChild);
	document.getElementById('def_doormodel').replaceChild(ddm,document.getElementById('def_doormodel').firstChild);
	document.getElementById('def_doortype').replaceChild(ddt,document.getElementById('def_doortype').firstChild);
	document.getElementById('def_doornotice').replaceChild(ddns,document.getElementById('def_doornotice').firstChild);
	
	//document.getElementById('edit_price').disabled = true;
}

function adminShelvingSelectShelving() {
	var n = document.getElementById('select_shelving').options[document.getElementById('select_shelving').selectedIndex].value.split("|");
	document.getElementById('edit_price').value = n[3];
	document.getElementById('edit_weight').value = n[4];
}

function adminPartsSelectPart() {
	var n = document.getElementById('select_part').options[document.getElementById('select_part').selectedIndex].value.split("|");
	document.getElementById('edit_part_category').value = n[1];
	document.getElementById('edit_part_name').value = n[2];
	document.getElementById('edit_part_price').value = n[3];
	document.getElementById('edit_part_weight').value = n[4];
}

function adminPartsSelectPartCategory() {
	var n = document.getElementById('select_part_category').options[document.getElementById('select_part_category').selectedIndex].value.split("|");
	document.getElementById('edit_part_category_name').value = n[1];
	document.getElementById('edit_part_category_parent').value = n[2];
}

function adminAccessoriesLoad() {
	adminAccessoriesSelectAccessories();
	adminAccessoriesSelectHandle();
}

function adminAccessoriesSelectAccessories() { 
	n = document.getElementById('select_accessories');
	v = n.options[n.selectedIndex].value;
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=getAccessory&id="+v,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { //alert(httpObj.responseText);
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				document.getElementById('edit_name').value = jsonObj.name;
				document.getElementById('edit_description').value = jsonObj.description;
				document.getElementById('edit_price').value = jsonObj.price;
				document.getElementById('edit_weight').value = jsonObj.weight;
				document.getElementById('edit_id').value = v;
			}
			httpReqQue();
		}
	}
}

function adminAccessoriesSelectHandle() { 
	n = document.getElementById('select_handle');
	v = n.options[n.selectedIndex].value;
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=getHandle&id="+v,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { //alert(httpObj.responseText);
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				document.getElementById('edit_handle_name').value = jsonObj.name;
				document.getElementById('edit_handle_price').value = jsonObj.price;
				document.getElementById('edit_handle_weight').value = jsonObj.weight;
				document.getElementById('edit_handle_id').value = v;
			}
			httpReqQue();
		}
	}
}

function adminAccessoriesSelectLock() { 
	n = document.getElementById('select_lock');
	v = n.options[n.selectedIndex].value;
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=getLock&id="+v,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { //alert(httpObj.responseText);
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				document.getElementById('edit_lock_name').value = jsonObj.name;
				document.getElementById('edit_lock_price').value = jsonObj.price;
				document.getElementById('edit_lock_weight').value = jsonObj.weight;
				document.getElementById('edit_lock_id').value = v;
			}
			httpReqQue();
		}
	}
}

function adminAccessoriesLoad() {
	document.requestArr = new Array();
	document.requestArr.push(function() { adminAccessoriesSelectAccessories(); } );
	document.requestArr.push(function() { adminAccessoriesSelectHandle(); } );
	document.requestArr.push(function() { adminAccessoriesSelectLock(); } );
	httpReqQue();
}

function showlog(n) {
	console.log(n);
}

function getHTTPObject(){
	if (window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP"); }
	else if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); }
	else {
		alert("Your browser does not support AJAX.");
	return null;
	}
}

function httpReqQue() {
	 if(document.requestArr.length > 0) {
	 	var n = document.requestArr.shift();
	 	n();
	 }
}

function adminCPInit() {
	document.requestArr = new Array();
	
	document.requestArr.push(function() { adminCPRefreshItems('door_items'); } ); 
	document.requestArr.push(function() { adminCPRefreshItems('slider_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('shelving_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('lighting_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('handle_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('lock_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('divider_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('deli_boards_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('posts_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('miscacc_items'); } );
	document.requestArr.push(function() { adminCPRefreshItems('windows_items'); } );
	httpReqQue();
}

function adminCPRefreshItems(n) { 
	itemsTable = document.getElementById(n);
	contract = itemsTable.parentNode.getAttribute('contract');
	prefix = itemsTable.parentNode.getAttribute('prefix');
	httpObj = getHTTPObject(); 
	httpObj.open("GET","ajaxHandler.php?func=getItems&contract="+contract+"&prefix="+prefix,true); 
	httpObj.send(null); 
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { //alert(httpObj.responseText);
			while(itemsTable.hasChildNodes()) { itemsTable.removeChild(itemsTable.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						e = document.createElement("div");
						e.setAttribute('class','liveform_item');
						e.setAttribute('id',prefix+'_item_'+jsonObj[i].item_id);
						e.contract = contract;
						e.pf = prefix;
						e.itemId = jsonObj[i].item_id;
						e.price = jsonObj[i].price; 
						e.itemName = jsonObj[i].name;
						if(jsonObj[i].def == 1) { e.style.backgroundColor = '#f0ee99'; }
						b1 = document.createElement("button");
						b1.setAttribute('class','liveform_button');
						b1.onclick = function() { adminCPDefaultItem(this); }
						b1.appendChild(document.createTextNode("Default"));
						s1 = document.createElement("span");
						s1.style.width = '200px';
						s1.style.display = 'inline-block';
						s1.style.marginLeft = '4px';
						s1.appendChild(document.createTextNode(jsonObj[i].name));
						t1 = document.createTextNode("$");
						s2 = document.createElement('span');
						s2.setAttribute('id',prefix+'_price_'+jsonObj[i].item_id);
						s2.setAttribute('class','liveform_input_span');
						s2.onclick = function() { adminCPEditPrice(this); } 
						s2.appendChild(document.createTextNode((jsonObj[i].price * 1).toFixed(2)));
						b2 = document.createElement("button");
						b2.setAttribute('class','liveform_button');
						b2.style.marginLeft = '20px';
						b2.onclick = function() { adminCPRemoveItem(this); }
						b2.appendChild(document.createTextNode("Remove"));
						dc = document.createElement("div");
						dc.style.clear = 'both';
						e.appendChild(b1);
						e.appendChild(s1);
						e.appendChild(t1);
						e.appendChild(s2);
						e.appendChild(b2);
						e.appendChild(dc);
						itemsTable.appendChild(e);
					}
				}
				else {
					e = document.createTextNode('There are no items in this section');
					itemsTable.appendChild(e);
				}
			}
			else {
				e = document.createTextNode('Error processing this section');
				itemsTable.appendChild(e);
			}
			
			httpReqQue();
		}
	}
}

function adminCPAddItem(n) { 
	sel = document.getElementById(n);
	if(sel.selectedIndex < 0) { alert("Please select an item to Add"); return false; }
	contract = sel.parentNode.parentNode.getAttribute('contract');
	prefix = sel.parentNode.parentNode.getAttribute('prefix');
	//alert(contract+' '+prefix+' '+sel.options[sel.selectedIndex].value);
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET","ajaxHandler.php?func=addItem&contract="+contract+"&prefix="+prefix+"&id="+sel.options[sel.selectedIndex].value,true);
		httpObject.send(null);
		httpObject.onreadystatechange = function() { 
			if(httpObject.readyState == 4) { 
				adminCPRefreshItems(prefix+'_items');
			}
		}
	}
}

function adminCPDefaultItem(n) { 
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET","ajaxHandler.php?func=updateItemDefault&contract="+n.parentNode.contract+"&prefix="+n.parentNode.pf+"&id="+n.parentNode.itemId,true);
		httpObject.send(null);
		httpObject.onreadystatechange = function() { 
			if(httpObject.readyState == 4) { adminCPRefreshItems(n.parentNode.pf+'_items'); }
		}
	}
}

function adminCPEditPrice(n) {
	i = document.createElement('input');
	i.setAttribute('type','text');
	i.setAttribute('value',n.parentNode.price);
	i.setAttribute('size',6);
	i.setAttribute('maxlength',12);
	n.replaceChild(i,n.firstChild);
	n.firstChild.focus();
	n.firstChild.select();
	n.firstChild.onblur = function() { adminCPUpdatePrice(n); }
}

function adminCPUpdatePrice(n) {
	v = n.firstChild.value;
	httpObject = getHTTPObject();
	if (httpObject != null) {
		httpObject.open("GET","ajaxHandler.php?func=updateItemPrice&contract="+n.parentNode.contract+"&prefix="+n.parentNode.pf+"&id="+n.parentNode.itemId+"&price="+v,true);
		httpObject.send(null);
		httpObject.onreadystatechange = function() { 
			if(httpObject.readyState == 4) { adminCPRefreshItems(n.parentNode.pf+'_items'); }
		}
	}
}

function adminCPRemoveItem(n) {
	var answer = confirm("Are you sure you want to Remove "+n.parentNode.itemName);
	if(answer) {
		httpObject = getHTTPObject();
		if (httpObject != null) {
			httpObject.open("GET","ajaxHandler.php?func=removeItem&contract="+n.parentNode.contract+"&prefix="+n.parentNode.pf+"&id="+n.parentNode.itemId,true);
			httpObject.send(null);
			httpObject.onreadystatechange = function() { 
				if(httpObject.readyState == 4) { adminCPRefreshItems(n.parentNode.pf+'_items'); }
			}
		}
	}
	else {
		return false;
	}
}

function checkQualifyNewUser(n) { 
	if(document.getElementById('qualify_rep_'+n).options[document.getElementById('qualify_rep_'+n).selectedIndex].value == '0') {
		alert('Please select a Sales Rep');
		return false;
	}
	else {
		return true;
	}
}

function checkRegisterNewUser(n) { 
	e = document.getElementById('new_registrant_form'+n).pass;
	var iChars = "!@#$%^&*()+=-[]\';,./{}|\":<>? ";
	if(e.value == '') {
		alert('Please enter a password');
		return false;
	}
	for(var i = 0; i < e.value.length; i++) {
		if(iChars.indexOf(e.value.charAt(i)) != -1) {
			alert('Error.\nPassword may not contain punctuation, spaces or other non-alpha numeric characters.');
			return false;
		}
	}
}

function legalChars(n) {
	var illegalChars = "!@#$%^&*()+=[]\';,./{}|\":<>? ";
	for(var i = 0; i < n.length; i++) {
		if(illegalChars.indexOf(n.charAt(i)) != -1) {
			return false;
		}
	}
	return true;
}

function checkRegisterNewUser(n) { 
	e = document.getElementById('new_registrant_form'+n);
	
	if(e.pass.value == '') {
		alert('Please enter a password');
		return false;
	}
	
	if(!legalChars(e.pass.value)) {
		alert('Error.\nPassword may not contain punctuation, spaces or non-alpha numeric characters other than the dash(-) or underscore(_) characters.');
		return false;
	}
	
	/*var iChars = "!@#$%^&*()+=-[]\';,./{}|\":<>? ";
	for(var i = 0; i < e.pass.value.length; i++) {
		if(iChars.indexOf(e.pass.value.charAt(i)) != -1) {
			alert('Error.\nPassword may not contain punctuation, spaces or other non-alpha numeric characters.');
			return false;
		}
	}*/

	if(e.rep.value == '') {
		alert('Please select a rep');
		return false;
	}	
}

function checkDeleteNewUser(n) {
	if(confirm("Are you sure you want to Delete "+n+"?")) {
		return true;
	}
	else {
		return false;
	}
}

function checkUserRegistrationForm() {
	e = document.getElementById('gq_register');
	alert(e.username.value+'\nUser Registration is currently undergoing Maintenance.\nWe apologize for the inconvienience.\nPlease try again shortly.')
	return false;
}

function validate_registration_form() { 
	n = document.getElementById('gq_register');
	e = new Array();

	var t = new Array('Username','Name','Company','Address','Address2','City','State','Zipcode','Country','Phone','Fax','Email'); 
	for(i=0;i<t.length;i++) {
		document.getElementById('reg_'+t[i]).style.backgroundColor = "#9BA3BD";
	}

	if(n.username.value == '') { e.push('Username'); }
	if(n.name.value == '') { e.push('Name'); }
	if(n.company.value == '') { e.push('Company'); }
	if(n.address1.value == '') { e.push('Address'); }
	if(n.city.value == '') { e.push('City'); }
	if(n.state.value == '') { e.push('State'); }
	if(n.zipcode.value == '') { e.push('Zipcode'); }
	if(n.country.value == '') { e.push('Country'); }
	if(n.phone.value == '') { e.push('Phone'); }
	if(n.email.value == '') { e.push('Email'); }

	if(e.length > 1) { 
		for(i=0;i<e.length;i++) {
			document.getElementById('reg_'+e[i]).style.backgroundColor = "#FFCC00";
		}
		alert('You\'ve missed some required information.\n'+e.join(', ')+'\nPlease complete the form and resubmit.');
		return false;
	}
	
	with (n.email) {
		apos = value.indexOf('@');
		dotpos = value.lastIndexOf('.');
		if (apos<1||dotpos-apos<2) {
			document.getElementById('reg_Email').style.backgroundColor = "#FFCC00";
			alert('You\'ve entered an invalid email address. Please try again.');
			return false;
		}
	}

	if(!legalChars(n.username.value)) {
		document.getElementById('reg_Username').style.backgroundColor = "#FFCC00";
		alert('Error: Invalid Username.\nUsername may not contain punctuation, spaces or non-alpha numeric characters other than the dash(-) or underscore(_) characters.');
		return false;
	}
	
	return true;

}

function doorsChangeNumber() {
	dn = document.getElementById('doornumber');
	var selModel = document.getElementById('model').value;
	var selWidth = new Array();
	selWidth = document.getElementById('door_size_'+selModel).value.split('|');
	if(def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+selModel]!=0) {
		document.getElementById('shelving_numberofdoors').selectedIndex = dn.selectedIndex+1;
		document.getElementById('shelving_text').innerHTML = '.';
	} else {
		document.getElementById('shelving_text').innerHTML = ',<BR>&nbsp;&nbsp;&nbsp;&nbsp;<B>'+(document.getElementById('doornumber').selectedIndex+1)+'</B> doors without shelving.';
	}
	document.getElementById('numberofhandles').selectedIndex = dn.selectedIndex+1;
	if(selWidth[0] > 36) { dn.selectedIndex = 1; }
	createSLT(dn.selectedIndex+1);						
}

function doorsChangeModel() { 
	m = document.getElementById('model');
	var selModel = m.options[m.selectedIndex].value;
	selWidth = def_door_width[selModel-1];
	showDiv('doorsizes_',keylist_models,selModel);
	showDiv('select_shelving_width_',keylist_widths,selWidth);
	selDoorsize = document.getElementById('door_size_'+selModel).value.split('|');
	document.getElementById('shelving_width_'+selWidth).selectedIndex = shelving_size_index['size_'+selDoorsize[1]+'|'+selDoorsize[2]]['model_'+selModel]['width_'+selWidth];
	document.getElementById('shelves_per_door').selectedIndex = def_shelving_perdoor['size_'+selDoorsize[1]+'|'+selDoorsize[2]]['model_'+selModel]-1;
	document.getElementById('shelving_color').selectedIndex = def_shelving_color['size_'+selDoorsize[1]+'|'+selDoorsize[2]]['model_'+selModel];
	document.getElementById('door_finish').selectedIndex = def_finish_index[selModel-1];
	document.getElementById('handles').selectedIndex = handles_index['model_'+selModel]['finish_'+document.getElementById('door_finish').value];
	document.getElementById('door_lighting').selectedIndex = def_lighting_index[selModel-1];
	document.getElementById('model_table').style.backgroundColor = def_color1[selModel-1];
	var selWidth = new Array();
	selWidth = document.getElementById('door_size_'+selModel).options[document.getElementById('door_size_'+selModel).selectedIndex].value.split('|');
	var doortype = Number(selWidth[2]);
	if((doortype == 1) || (doortype == 2)) { 
		if(document.getElementById('pushbars_block')) { show(document.getElementById('pushbars_block')); }
		if(document.getElementById('kickplates_block')) { 
			if(selModel != 7) { show(document.getElementById('kickplates_block')); }
			else { hide(document.getElementById('kickplates_block')); }
		}
	}
	else {
		if(document.getElementById('pushbars_block')) { hide(document.getElementById('pushbars_block')); }
		if(document.getElementById('kickplates_block')) { hide(document.getElementById('kickplates_block')); }								
	}
	var ds = document.getElementById('door_size_'+selModel); 
	var selWidth = ds.options[ds.selectedIndex].value.split('|');
	var dspd = def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+selModel];
	if(selWidth[0] > 36) {
		document.getElementById('doornumber').selectedIndex = 1; 
		document.getElementById('numberofhandles').selectedIndex = 2;
		createSLT(2);
		toggleSwing('swing_2');
		dspd = 0;
	}
	if(dspd != 0) {
		show(document.getElementById('shelving_column'));
		showDiv('select_shelving_width_',keylist_widths,selWidth[0]);
		document.getElementById('shelving_width_'+selWidth[0]).selectedIndex = shelving_size_index['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)]['width_'+selWidth[0]];
		document.getElementById('shelves_per_door').selectedIndex = def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)]-1;
		document.getElementById('shelving_color').selectedIndex = def_shelving_color['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)];
		document.getElementById('shelving_numberofdoors').selectedIndex = document.getElementById('doornumber').selectedIndex+1;
		document.getElementById('shelving_text').innerHTML = '.';
		show(document.getElementById('shelving_block'));
	} 
	else {
		document.getElementById('shelving_numberofdoors').selectedIndex = 0;
		document.getElementById('shelving_text').innerHTML = ',<br />&nbsp;&nbsp;&nbsp;&nbsp;<b>'+(document.getElementById('doornumber').selectedIndex+1)+'</b> doors without shelving.';
		hide(document.getElementById('shelving_column'));
		hide(document.getElementById('shelving_block'));
	}
	displayGlassOptions();
	document.requestArr = new Array();
	if(selModel == 7) { /* Kodiak */ 
		show(document.getElementById('formrow_unittype'));
		hide(document.getElementById('formrow_doornumber'));
		doorsChangeSetsLabel('Quantity');
		doorsChangeUnitType();
		document.requestArr.push(function() { updateSelectOptions(document.getElementById('door_finish'),'finish_kodiak'); } );
		document.requestArr.push(function() { updateSelectOptions(document.getElementById('door_lighting'),'lighting_kodiak'); } );
		hide(document.getElementById('handles_select'));
		show(document.getElementById('handles_static'));
		document.getElementById('pushbar').checked = true;
		show(document.getElementById('kickplates_block'));
		//document.getElementById('kpb').replaceChild(document.createTextNode(" (Standard)"),document.getElementById('kpb').firstChild);
	}
	else { /* All Models Except Kodiak */
		show(document.getElementById('formrow_doornumber'));
		hide(document.getElementById('formrow_unittype'));
		doorsChangeSetsLabel('No. of Sets');
		document.slt_freeze = 'false';
		document.lock_freeze = 'false';
		document.requestArr.push(function() { updateSelectOptions(document.getElementById('door_finish'),'finish'); } );
		document.requestArr.push(function() { updateSelectOptions(document.getElementById('door_lighting'),'lighting'); } );
		show(document.getElementById('handles_select'));
		hide(document.getElementById('handles_static'));
		document.getElementById('pushbar').checked = false;
		document.getElementById('kpb').replaceChild(document.createTextNode(" "),document.getElementById('kpb').firstChild);
	}
	document.requestArr.push(function() { updateModelDefaults(); } );
	document.requestArr.push(function() { updatePostsColor(); } );
	httpReqQue();
}

function doorsChangeUnitType() {
	if(document.door_select_form.unit_type[0].checked) {
		document.getElementById('doornumber').selectedIndex = 0;
		doorsChangeNumber();
		document.slt_freeze = 'false';
	}
	else {
		document.getElementById('doornumber').selectedIndex = 1; 
		doorsChangeNumber(); 
		document.slt_freeze = 'false';
		toggleSwing('swing_2');
		document.slt_freeze = 'true';
	}
	clearLocks();
	document.lock_freeze = 'false';
	toggleLock('lock_1');
	toggleLock('lock_2');
	document.lock_freeze = 'true';
}

function doorsChangeSize(n) { 
	var selModel = document.getElementById('model').selectedIndex+1;
	var selWidth = new Array();
	selWidth = n.options[n.selectedIndex].value.split('|');
	var doortype = Number(selWidth[2]);
	if((doortype == 1) || (doortype == 2) || (selModel == 7)) { 
		if(document.getElementById('pushbars_block')) { show(document.getElementById('pushbars_block')); }
		if(document.getElementById('kickplates_block')) { show(document.getElementById('kickplates_block')); }
		/*if(document.getElementById('kickplates_block')) { 
			if(selModel != 7) { show(document.getElementById('kickplates_block')); }
			else { hide(document.getElementById('kickplates_block')); }
		}*/
	}
	else {
		if(document.getElementById('pushbars_block')) { hide(document.getElementById('pushbars_block')); }
		if(document.getElementById('kickplates_block')) { hide(document.getElementById('kickplates_block')); }								
	}
	var dspd = def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+selModel];
	if(selWidth[0] > 36) {
		document.getElementById('doornumber').selectedIndex = 1;
		document.getElementById('numberofhandles').selectedIndex = 2;
		createSLT(2);
		toggleSwing('swing_2');
		dspd = 0;
	}
	if(dspd != 0) {
		show(document.getElementById('shelving_column'));
		showDiv('select_shelving_width_',keylist_widths,selWidth[0]);
		document.getElementById('shelving_width_'+selWidth[0]).selectedIndex = shelving_size_index['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)]['width_'+selWidth[0]];
		document.getElementById('shelves_per_door').selectedIndex = def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)]-1;
		changeShelvingDepth();
		changeShelvingNumber();
		document.getElementById('shelving_color').selectedIndex = def_shelving_color['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)];
		document.getElementById('shelving_numberofdoors').selectedIndex = document.getElementById('doornumber').selectedIndex+1;
		document.getElementById('shelving_text').innerHTML = '.';
		updatePostsColor();
	} 
	else {
		document.getElementById('shelving_numberofdoors').selectedIndex = 0;
		document.getElementById('shelving_text').innerHTML = ',<BR>&nbsp;&nbsp;&nbsp;&nbsp;<B>'+(document.getElementById('doornumber').selectedIndex+1)+'</B> doors without shelving.';
		hide(document.getElementById('shelving_column'));
	}
	doorsChangeLighting();
	updatePostsColor();
}

/*function doorsChangeSize(n) { 
	var ds = document.getElementById('door_size_'+n); //showlog(ds);
	var selWidth = ds.options[ds.selectedIndex].value.split('|');
	var dspd = def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+n];
	if(selWidth[0] > 36) {
		document.getElementById('doornumber').selectedIndex = 1; 
		document.getElementById('numberofhandles').selectedIndex = 2;
		createSLT(2);
		toggleSwing('swing_2');
		dspd = 0;
	}
	if(dspd != 0) {
		show(document.getElementById('shelving_column'));

		showDiv('select_shelving_width_',keylist_widths,selWidth[0]);
		document.getElementById('shelving_width_'+selWidth[0]).selectedIndex = shelving_size_index['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)]['width_'+selWidth[0]];
		document.getElementById('shelves_per_door').selectedIndex = def_shelving_perdoor['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)]-1;
		document.getElementById('shelving_color').selectedIndex = def_shelving_color['size_'+selWidth[1]+'|'+selWidth[2]]['model_'+(document.getElementById('model').selectedIndex+1)];

		document.getElementById('shelving_numberofdoors').selectedIndex = document.getElementById('doornumber').selectedIndex+1;
		document.getElementById('shelving_text').innerHTML = '.';
	} else {
		document.getElementById('shelving_numberofdoors').selectedIndex = 0;
		document.getElementById('shelving_text').innerHTML = ',<BR>&nbsp;&nbsp;&nbsp;&nbsp;<B>'+(document.getElementById('doornumber').selectedIndex+1)+'</B> doors without shelving.';

		hide(document.getElementById('shelving_column'));
	}
}*/

function doorsChangeFinish(n) { 
	if(n.options[n.selectedIndex].value == 13) {
		document.getElementById('shelving_color').selectedIndex = 0;
	}
	else {
		document.getElementById('shelving_color').selectedIndex = 1;
	}
	document.getElementById('handles').selectedIndex = handles_index['model_'+(document.getElementById('model').selectedIndex+1)]['finish_'+n.options[n.selectedIndex].value];
}

function updatePostsColor() {
	if(document.getElementById('door_posts')) { 
		var selModel = document.getElementById('model').selectedIndex+1;
		var selWidth = new Array();
		selWidth = document.getElementById('door_size_'+selModel).options[document.getElementById('door_size_'+selModel).selectedIndex].value.split('|');
		var doortype = Number(selWidth[2]);
		var doorswithshelving = document.getElementById('shelving_numberofdoors').selectedIndex;
		if(doortype != 1 && doortype != 2 && selModel != 7 && doorswithshelving > 0) {
			show(document.getElementById('formrow_posts'));
			if(selModel < 4) {
				document.getElementById('door_posts').selectedIndex = 0;
			}
			else {
				if(document.getElementById('shelving_color').selectedIndex == 0) {
					document.getElementById('door_posts').selectedIndex = 1;
				}
				else {
					document.getElementById('door_posts').selectedIndex = 2;
				}
			}
		}
		else {
			hide(document.getElementById('formrow_posts'));
		}
	}
	return;
}

function doorsChangeLighting() { // This functions makes all lighting options except "No Lighting" and "Crossfire LED" unavailable for doors under 63 inches high
	lighting = document.getElementById('door_lighting');
	selModel = document.getElementById('model').selectedIndex+1;
	var selSize = new Array();
	selSize = document.getElementById('door_size_'+selModel).value.split('|');
	selHeight = selSize[1];
	if(selHeight < 63) {
		if((lighting.value != 24) && (lighting.value != 17)) { lighting.selectedIndex = 0; }
	}
}

function changeShelvingDepth() {
	m = document.getElementById('model').options[document.getElementById('model').selectedIndex].value;
	d = document.getElementById('door_size_'+m).options[document.getElementById('door_size_'+m).selectedIndex].value;
	d = d.split('|');
	s = document.getElementById('shelving_width_'+d[0]).options[document.getElementById('shelving_width_'+d[0]).selectedIndex].value;
	s = s.split('|');
	
	if(s[0] == 27 || s[0] == 36 || s[0] == 43) { 
		show(document.getElementById('shelving_glidesheets'));
		/*document.getElementById('glidesheets_per_door').selectedIndex = document.getElementById('shelves_per_door').selectedIndex + 1;*/
	}
	else { 
		hide(document.getElementById('shelving_glidesheets'));
		/*document.getElementById('glidesheets_per_door').selectedIndex = 0;*/
	}

}

function changeShelvingNumber() {
	/*document.getElementById('glidesheets_per_door').selectedIndex = document.getElementById('shelves_per_door').selectedIndex + 1;*/
}

function changeShelvingColor() {
	//updatePostsColor();
	return;
}

function openUserNotes(n) { 
	show(document.getElementById('reg_user_notes_'+n)); 
	refreshUserNotes(n);
	return false;
}

function closeUserNotes(n) { 
	hide(document.getElementById('reg_user_notes_'+n)); 
	return false;
}

function refreshUserNotes(n) { 
	notes_block = document.getElementById('notes_block_'+n);
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=getUserNotes&userid="+n,true);
	httpObj.send(null);
	while(notes_block.hasChildNodes()) { notes_block.removeChild(notes_block.lastChild); }
	notes_block.appendChild(document.createTextNode('Loading . . . '));
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { //alert(httpObj.responseText);
			while(notes_block.hasChildNodes()) { notes_block.removeChild(notes_block.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						e = document.createElement("div");
						e.setAttribute('class','usernote_item');
						e.setAttribute('className','usernote_item');
						dt = document.createElement("div");
						dt.setAttribute('class','usernote_date');
						dt.setAttribute('className','usernote_date');
						dt.appendChild(document.createTextNode(jsonObj[i].date));
						nt = document.createElement("div");
						nt.setAttribute('class','usernote_note');
						nt.setAttribute('className','usernote_note');
						nt.appendChild(document.createTextNode(jsonObj[i].note));
						dc = document.createElement("div");
						dc.style.clear = 'both';
						e.appendChild(dt);
						e.appendChild(nt);
						e.appendChild(dc);
						notes_block.appendChild(e);
					}
				}
				else {
					e = document.createTextNode('There are no notes for this user.');
					notes_block.appendChild(e);
				}
			}
			else {
				e = document.createTextNode('Error processing this section');
				notes_block.appendChild(e);
			}
		}
	}
}

function addUserNote(n) {
	note = document.getElementById('new_note_'+n).value; //alert(note);
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=addUserNote&userid="+n+"&note="+note,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { 
			if(httpObj.responseText == 'success') {
				document.getElementById('new_note_'+n).value = '';
				refreshUserNotes(n);
			}
			else {
				document.getElementById('notes_block_'+n).appendChild(document.createTextNode('>>ERROR Adding Note<<'));
			}
		}
	}
}

function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function getFrameSets(n) {
	var frames = new Array();
	frames[0] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':0 };
	frames[1] = { '0':0,'1':1,'2':0,'3':0,'4':0,'5':0 };
	frames[2] = { '0':0,'1':0,'2':1,'3':0,'4':0,'5':0 };
	frames[3] = { '0':0,'1':0,'2':0,'3':1,'4':0,'5':0 };
	frames[4] = { '0':0,'1':0,'2':0,'3':0,'4':1,'5':0 };
	frames[5] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':1 };
	frames[6] = { '0':0,'1':0,'2':0,'3':2,'4':0,'5':0 };
	frames[7] = { '0':0,'1':0,'2':0,'3':1,'4':1,'5':0 };
	frames[8] = { '0':0,'1':0,'2':0,'3':0,'4':2,'5':0 };
	frames[9] = { '0':0,'1':0,'2':0,'3':0,'4':1,'5':1 };
	frames[10] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':2 };
	frames[11] = { '0':0,'1':0,'2':0,'3':1,'4':2,'5':0 };
	frames[12] = { '0':0,'1':0,'2':0,'3':0,'4':3,'5':0 };
	frames[13] = { '0':0,'1':0,'2':0,'3':0,'4':2,'5':1 };
	frames[14] = { '0':0,'1':0,'2':0,'3':0,'4':1,'5':2 };
	frames[15] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':3 };
	frames[16] = { '0':0,'1':0,'2':0,'3':0,'4':4,'5':0 };
	frames[17] = { '0':0,'1':0,'2':0,'3':0,'4':3,'5':1 };
	frames[18] = { '0':0,'1':0,'2':0,'3':0,'4':2,'5':2 };
	frames[19] = { '0':0,'1':0,'2':0,'3':0,'4':1,'5':3 };
	frames[20] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':4 };
	frames[21] = { '0':0,'1':0,'2':0,'3':0,'4':4,'5':1 };
	frames[22] = { '0':0,'1':0,'2':0,'3':0,'4':3,'5':2 };
	frames[23] = { '0':0,'1':0,'2':0,'3':0,'4':2,'5':3 };
	frames[24] = { '0':0,'1':0,'2':0,'3':0,'4':1,'5':4 };
	frames[25] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':5 };
	frames[26] = { '0':0,'1':0,'2':0,'3':0,'4':4,'5':2 };
	frames[27] = { '0':0,'1':0,'2':0,'3':0,'4':3,'5':3 };
	frames[28] = { '0':0,'1':0,'2':0,'3':0,'4':2,'5':4 };
	frames[29] = { '0':0,'1':0,'2':0,'3':0,'4':1,'5':5 };
	frames[30] = { '0':0,'1':0,'2':0,'3':0,'4':0,'5':6 };
	return frames[n];
}

function paybackChangeLighting() {
	t = document.getElementById('type').value.substring(0,2);
	/* o = document.getElementById('ledtype').options[document.getElementById('ledtype').selectedIndex].text;
	lt = document.getElementById('ledtype').value;
	if(lt == 'standard') { lumens = ' 1300'; } else { lumens = ' 1600'; } */
	l = document.getElementById('led_description');
	i = document.getElementById('cfcost');
	/* e = document.createTextNode(t+'" CrossFire LED ('+o+lumens+' lumens)'); */
	e = document.createTextNode(t+'" Polaris LED Lighting');
	f = l.firstChild;
	old = f.nodeValue.substring(0,2);
	l.replaceChild(e,f);
	
	if(t != old) {
		i.value = 0;
		paybackChangeCFCost();
	}
	else {
		paybackCalc();
	}

}

function paybackChangeCFCost() {
	i = document.getElementById('cfcost');
	if(i.value > 0) {
		i.style.backgroundColor = '#fff';
	}
	else {
		i.style.backgroundColor = '#ff0';
		document.getElementById('result_ledprice').replaceChild(document.createTextNode(' '),document.getElementById('result_ledprice').firstChild);
		document.getElementById('result_payback').replaceChild(document.createTextNode(' '),document.getElementById('result_payback').firstChild);
		document.getElementById('result_roi').replaceChild(document.createTextNode(' '),document.getElementById('result_roi').firstChild);
	}
	
	paybackCalc();
}

function paybackCalc() { 
	pbCompressorCOP = 2.02;
	pbType = document.getElementById('type').value;
	pbTypeText = document.getElementById('type').options[document.getElementById('type').selectedIndex].text;
	pbCFCost = document.getElementById('cfcost').value;
	pbDoors = document.getElementById('doors').value;
	pbBallast = document.getElementById('ballast').value;
	pbReballast = document.getElementById('reballast').value;
	pbBulb = document.getElementById('bulb').value;
	pbRelamp = document.getElementById('relamp').value;
	pbHours1 = document.getElementById('hours1').value;
	pbHours2 = document.getElementById('hours2').value;
	pbKwh = document.getElementById('kwh').value;
	pbSize = pbType.substring(0,2);
	/* pbLEDType = document.getElementById('ledtype').value; */
	pbLEDType = 'standard';
	if(pbLEDType == 'standard') { pbLEDWatts = pbLEDStandard; }
	else { pbLEDWatts = pbLEDHigh; }
	
	if(pbDoors > 30 || pbDoors < 1) {
		alert("Number of Doors must be a value between 1 and 30");
		if(pbDoors > 30 ) { document.getElementById('doors').value = 30; }
		if(pbDoors < 1 ) { document.getElementById('doors').value = 1; }
		pbDoors = document.getElementById('doors').value;	
	}
	
	pbFrames = getFrameSets(pbDoors);
	pbTotalFrames = pbFrames[1]*1 + pbFrames[2]*1 + pbFrames[3]*1 + pbFrames[4]*1 + pbFrames[5]*1;
	pbCenters = pbFrames[2]*1 + pbFrames[3]*2 + pbFrames[4]*3 + pbFrames[5]*4;
	pbEnds = pbTotalFrames*2;
	pbBulbs = pbFrames[1]*2 + pbFrames[2]*3 + pbFrames[3]*4 + pbFrames[4]*5 + pbFrames[5]*6;
	pbBallasts = pbFrames[1]*1 + pbFrames[2]*2 + pbFrames[3]*2 + pbFrames[4]*3 + pbFrames[5]*3;
	pbLEDWattsPerSystem = (pbCenters + pbEnds/2) * pbLEDWatts * ((pbSize * 1) / 12) * 2; /* Number of doors * watts per linear foot * door height in feet * 2 lights per door */
	pbTotalWatts = pbBulbs * pbWattsPerBulb[pbType];
	pbKwPerYear = pbTotalWatts * pbHours1 * 365.25 / 1000;
	pbKwCostPerYear = pbKwPerYear * pbKwh;
	pbRelampCostPerYear = pbBulbs * pbBulb / pbRelamp;
	pbReballastCostPerYear = pbBallast * pbBallasts / pbReballast;
	pbTotalCostPerYear = pbKwCostPerYear + pbRelampCostPerYear + pbReballastCostPerYear;
	pbLEDKwPerYear = pbLEDWattsPerSystem * pbHours2 * 365.25 / 1000;
	pbLEDKwCostPerYear = pbLEDKwPerYear * pbKwh;
	pbCompressorSavingsPerYear = (pbKwCostPerYear - pbLEDKwCostPerYear) / pbCompressorCOP;
	pbEnergySavingsPerYear = pbKwCostPerYear - pbLEDKwCostPerYear;
	pbMaintenanceSavingsPerYear = pbRelampCostPerYear+pbReballastCostPerYear;
	pbLEDTotalCostPerYear = pbLEDKwCostPerYear - pbCompressorSavingsPerYear;
	pbTotalSavingsPerYear = pbEnergySavingsPerYear + pbCompressorSavingsPerYear + pbMaintenanceSavingsPerYear;
	pbLEDPrice = pbDoors * pbCFCost;
	pbPayback = pbLEDPrice / pbTotalSavingsPerYear;
	pbROI = pbTotalSavingsPerYear / pbLEDPrice * 100;
	
	if(pbLEDPrice > 0) { 
		document.getElementById('result_ledprice').replaceChild(document.createTextNode('$'+addCommas(pbLEDPrice.toFixed(2))),document.getElementById('result_ledprice').firstChild);
		document.getElementById('result_payback').replaceChild(document.createTextNode(pbPayback.toFixed(1)+' years'),document.getElementById('result_payback').firstChild);
		document.getElementById('result_roi').replaceChild(document.createTextNode(pbROI.toFixed(1)+'%'),document.getElementById('result_roi').firstChild);
	}
	
	document.getElementById('result_nodoors').replaceChild(document.createTextNode(pbDoors),document.getElementById('result_nodoors').firstChild);
	document.getElementById('result_nolamps').replaceChild(document.createTextNode(pbBulbs),document.getElementById('result_nolamps').firstChild);
	document.getElementById('result_noballasts').replaceChild(document.createTextNode(pbBallasts),document.getElementById('result_noballasts').firstChild);
	document.getElementById('result_nolampsperballast').replaceChild(document.createTextNode((pbBulbs/pbBallasts*1).toFixed(1)),document.getElementById('result_nolampsperballast').firstChild);
	document.getElementById('result_totalwattspersystem').replaceChild(document.createTextNode(addCommas(pbTotalWatts)),document.getElementById('result_totalwattspersystem').firstChild);
	document.getElementById('result_kwperyear').replaceChild(document.createTextNode(addCommas(pbKwPerYear.toFixed(0))),document.getElementById('result_kwperyear').firstChild);
	document.getElementById('result_kwhcostperyear').replaceChild(document.createTextNode('$'+addCommas(pbKwCostPerYear.toFixed(2))),document.getElementById('result_kwhcostperyear').firstChild);
	document.getElementById('result_maintcostperyear').replaceChild(document.createTextNode('$'+addCommas(pbMaintenanceSavingsPerYear.toFixed(2))),document.getElementById('result_maintcostperyear').firstChild);
	document.getElementById('result_totalcostperyear').replaceChild(document.createTextNode('$'+addCommas(pbTotalCostPerYear.toFixed(2))),document.getElementById('result_totalcostperyear').firstChild);

	document.getElementById('result_noledsleft').replaceChild(document.createTextNode(pbEnds/2),document.getElementById('result_noledsleft').firstChild);
	document.getElementById('result_noledsright').replaceChild(document.createTextNode(pbEnds/2),document.getElementById('result_noledsright').firstChild);
	document.getElementById('result_noledscenter').replaceChild(document.createTextNode(pbCenters),document.getElementById('result_noledscenter').firstChild);
	document.getElementById('result_ledwattspersystem').replaceChild(document.createTextNode(addCommas(pbLEDWattsPerSystem.toFixed(0))),document.getElementById('result_ledwattspersystem').firstChild);
	document.getElementById('result_ledwattsperyear').replaceChild(document.createTextNode(addCommas(pbLEDKwPerYear.toFixed(0))),document.getElementById('result_ledwattsperyear').firstChild);
	document.getElementById('result_kwhcost').replaceChild(document.createTextNode('$'+pbKwh),document.getElementById('result_kwhcost').firstChild);
	document.getElementById('result_ledkwhcostperyear').replaceChild(document.createTextNode('$'+addCommas(pbLEDKwCostPerYear.toFixed(2))),document.getElementById('result_ledkwhcostperyear').firstChild);
	document.getElementById('result_ledenergysavingsperyear').replaceChild(document.createTextNode('$'+addCommas(pbEnergySavingsPerYear.toFixed(2))),document.getElementById('result_ledenergysavingsperyear').firstChild);
	document.getElementById('result_ledcompressorsavingsperyear').replaceChild(document.createTextNode('$'+addCommas(pbCompressorSavingsPerYear.toFixed(2))),document.getElementById('result_ledcompressorsavingsperyear').firstChild);
	document.getElementById('result_ledmaintenancesavingsperyear').replaceChild(document.createTextNode('$'+addCommas(pbMaintenanceSavingsPerYear.toFixed(2))),document.getElementById('result_ledmaintenancesavingsperyear').firstChild);
	//document.getElementById('result_ledtotalcostperyear').replaceChild(document.createTextNode('$'+addCommas(pbLEDTotalCostPerYear.toFixed(2))),document.getElementById('result_ledtotalcostperyear').firstChild);
	document.getElementById('result_totalsavingsperyear').replaceChild(document.createTextNode('$'+addCommas(pbTotalSavingsPerYear.toFixed(2))),document.getElementById('result_totalsavingsperyear').firstChild);

}

function paybackPriceNotice() {
	alert('Enter the LED Lighting price that the END USER will pay per door.');
}

function paybackPrint() {
	if( document.getElementById('cfcost').value <= 0 ) {
		alert('Please enter the LED Lighting price that the END USER will pay per door.');
		return false;
	}
	window.print();
}

function paybackPDF(n) {
	if( document.getElementById('cfcost').value <= 0 ) {
		alert('Please enter the LED Lighting price that the END USER will pay per door.');
		return false;
	}

	v = '?name=' + n;
	v += '&flType=' + document.getElementById('type').options[document.getElementById('type').selectedIndex].text;
	v += '&noDoors=' + document.getElementById('doors').value;
	v += '&flLamps=' + document.getElementById('result_nolamps').firstChild.data;
	v += '&flBallast=' + document.getElementById('result_noballasts').firstChild.data;
	v += '&flLampsPerBallast=' + document.getElementById('result_nolampsperballast').firstChild.data;
	v += '&flTotalWatts=' + document.getElementById('result_totalwattspersystem').firstChild.data;
	v += '&flHours=' + document.getElementById('hours1').value;
	v += '&flKwPerYear=' + document.getElementById('result_kwperyear').firstChild.data;
	v += '&kwhCost=$' + document.getElementById('kwh').value;
	v += '&flTotalEnergyCost=' + document.getElementById('result_kwhcostperyear').firstChild.data;
	v += '&flBallastCost=$' + document.getElementById('ballast').value;
	v += '&flBulbCost=$' + document.getElementById('bulb').value;
	v += '&flReballast=' + document.getElementById('reballast').value;
	v += '&flRelamp=' + document.getElementById('relamp').value;
	v += '&flTotalMaintCost=' + document.getElementById('result_maintcostperyear').firstChild.data;
	v += '&flTotalOperatingCost=' + document.getElementById('result_totalcostperyear').firstChild.data;

	v += '&cfCenterLEDs=' + document.getElementById('result_noledscenter').firstChild.data;
	v += '&cfRightLEDs=' + document.getElementById('result_noledsright').firstChild.data;
	v += '&cfLeftLEDs=' + document.getElementById('result_noledsleft').firstChild.data;
	v += '&cfTotalWatts=' + document.getElementById('result_ledwattspersystem').firstChild.data;
	v += '&cfHours=' + document.getElementById('hours2').value;
	v += '&cfKwPerYear=' + document.getElementById('result_ledwattsperyear').firstChild.data;
	v += '&cfTotalEnergyCost=' + document.getElementById('result_ledkwhcostperyear').firstChild.data;
	v += '&cfSavingsCompressor=' + document.getElementById('result_ledcompressorsavingsperyear').firstChild.data;
	v += '&cfSavingsEnergy=' + document.getElementById('result_ledenergysavingsperyear').firstChild.data;
	v += '&cfSavingsMaint=' + document.getElementById('result_ledmaintenancesavingsperyear').firstChild.data;
	v += '&cfSavingsTotal=' + document.getElementById('result_totalsavingsperyear').firstChild.data;
	v += '&cfSize=' + pbType.substring(0,2);
	/* v += '&cfType=' + document.getElementById('ledtype').value; */
	v += '&cfType=standard';
	v += '&cfCost=$' + document.getElementById('cfcost').value;
	v += '&cfSalesPrice=' + document.getElementById('result_ledprice').firstChild.data;
	v += '&cfPayback=' + document.getElementById('result_payback').firstChild.data;
	v += '&cfROI=' + document.getElementById('result_roi').firstChild.data;
	v += '&jobName=' + document.getElementById('jobname').value;

	window.open('payback_pdf.php'+v,'_blank','height=200,width=400,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no');
}

function gq_notice() {
	hide(document.getElementById("gq_pre"));
	show(document.getElementById("gq_post"));
	return true;
}

function clone(o) {
  function OneShotConstructor(){}
  OneShotConstructor.prototype = o;
  return new OneShotConstructor();
}

function ackInit() {
	ackTally();
	return true;
}

function ackAddItem() {
	idx = document.getElementById('ack_number_of_items').value;
	document.getElementById('ack_number_of_items').value = Number(idx) + 1;

	p = document.createElement("p");
	p.setAttribute('class','ack_para');
	p.setAttribute('id','ack_item_'+idx);
	
	q = document.createElement("input");
	q.setAttribute('type','text');
	q.setAttribute('value','');
	q.setAttribute('maxlength','48');
	q.setAttribute('size','10');
	q.setAttribute('class','topalign');
	q.setAttribute('id','ack_qty_'+idx);
	q.setAttribute('name','ack_qty_'+idx);
	
	d = document.createElement("textarea");
	d.setAttribute('wrap','off');
	d.setAttribute('cols','80');
	d.setAttribute('rows','8');
	d.setAttribute('id','ack_description_'+idx);
	d.setAttribute('name','ack_description_'+idx);
	d.appendChild(document.createTextNode(''));
	
	s = document.createElement("span");
	s.setAttribute('class','topalign');
	s.appendChild(document.createTextNode(' $'));
	
	t = document.createElement("input");
	t.setAttribute('type','text');
	t.setAttribute('value','');
	t.setAttribute('maxlength','48');
	t.setAttribute('size','10');
	t.setAttribute('class','topalign');
	t.setAttribute('id','ack_itemtotal_'+idx);
	t.setAttribute('name','ack_itemtotal_'+idx);
	t.setAttribute('onchange','ackTally();');
	
	p.appendChild(q);
	p.appendChild(d);
	p.appendChild(s);
	p.appendChild(t);
	document.getElementById('ack_items').appendChild(p);
	
	return false;
}

/*function ackProcessItem(n) { 
	httpObj = getHTTPObject(); 
	httpObj.open("GET","process_acknowledgment.php?add_item=true&item="+JSON.stringify(document.ackItems[n]),true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { 
			if(httpObj.responseText == 'success') {
				httpReqQue();
			}
			else {
				alert('An error occurred while processing this Acknowledgment.');
			}
		}
	}
}*/

function ackProcessItem(n) { 
	var item = n;
	return function() {
		httpObj = getHTTPObject(); 
		httpObj.open("GET","process_acknowledgment.php?add_item=true&item="+encodeURI(JSON.stringify(item)),true);
		httpObj.send(null);
		httpObj.onreadystatechange = function() {
			if(httpObj.readyState == 4) {
				if(httpObj.responseText == 'success') {
					httpReqQue();
				}
				else {
					alert('An error occurred while processing this Acknowledgment.');
				}
			}
		}
	}
}

function ackProcessVars(v) { 
	httpObj = getHTTPObject();
	httpObj.open("GET","process_acknowledgment.php?vars=true"+v,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() {
		if(httpObj.readyState == 4) { 
			if(httpObj.responseText == 'success') {
				httpReqQue();
			}
			else {
				alert('An error occurred while processing this Acknowledgment.');
			}
		}
	}
}

function ackComplete() {
	window.open('acknowledgment_pdf.php','_blank','height=200,width=400,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no');
}

function getAcknowledgment() { 

	var ackex = document.acknowledgment.ack_export;
	for(var i=0; i < ackex.length; i++) {
		if (ackex[i].checked) {
			var ack_export_value = ackex[i].value;
		}
	}
	
	var n = document.getElementById('ack_number_of_items').value;
	document.requestArr = new Array();
	
	for(i=0;i<n;i++) { 
		idx = String(i);
		document.requestArr.push(ackProcessItem([document.getElementById('ack_qty_'+idx).value,document.getElementById('ack_description_'+idx).value,document.getElementById('ack_itemtotal_'+idx).value]));
	}

	v = '&id=' + escape(document.getElementById('ack_id').value);
	v += '&rev=' + escape(document.getElementById('ack_rev').value);
	v += '&co=' + escape(document.getElementById('ack_co').value);
	v += '&po=' + escape(document.getElementById('ack_po').value);
	v += '&porev=' + escape(document.getElementById('ack_porev').value);
	v += '&customer=' + escape(document.getElementById('ack_customer').value);
	v += '&customer_userid=' + escape(document.getElementById('ack_customer_userid').value);
	v += '&quoteid=' + escape(document.getElementById('ack_quoteid').value);
	v += '&jobname=' + escape(document.getElementById('ack_jobname').value);
	v += '&rep=' + escape(document.getElementById('ack_salesrep').value);
	v += '&shipto=' + escape(document.getElementById('ack_shipto').value);
	v += '&soldto=' + escape(document.getElementById('ack_soldto').value);
	v += '&shipdate=' + escape(document.getElementById('ack_shipdate').value);
	v += '&export=' + escape(ack_export_value); 
	v += '&currency=' + escape(document.getElementById('ack_currency').value);
	v += '&terms=' + escape(document.getElementById('ack_terms').options[document.getElementById('ack_terms').selectedIndex].text);
	v += '&shipinstructions=' + escape(document.getElementById('ack_shipinstructions').value); 
	v += '&discount_value=' + escape(document.getElementById('ack_discount_value').value); 
	v += '&discount_type=' + escape(document.getElementById('ack_discount_type').value); 
	v += '&discount_note=' + escape(document.getElementById('ack_discount_note').value); 
	
	document.requestArr.push(function() { ackProcessVars(v) });
	document.requestArr.push(function() { ackComplete() });

	httpReqQue();

}

function ackTally() {
	var n = document.getElementById('ack_number_of_items').value;
	var total = Number(0);
	for(i=0;i<n;i++) { 
		var idx = String(i); 
		total = total + parseFloat(document.getElementById('ack_itemtotal_'+idx).value.replace(",",""));
	}
	total = total - parseFloat(document.getElementById('ack_discount_total').value.replace(",",""));
	document.getElementById('ack_total').replaceChild(document.createTextNode('$'+addCommas(total.toFixed(2))),document.getElementById('ack_total').firstChild);

}

function adminNewPassEmail(id) { 
	if(document.getElementById("new_pass_check_"+id)) {
		n = document.getElementById("new_pass_check_"+id);
		show(n); 
		n.firstChild.checked = true;
	}
}

function addDiscount(n) {
	dv = document.getElementById('discount_value').value;
	dn = document.getElementById('discount_note').value;
	if(document.getElementById('discount_amount').checked) { dt = 'amount'; } else { dt = 'percentage'; } 
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=quoteDiscount&id="+n+"&dv="+dv+"&dt="+dt+"&dn="+dn,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			if(httpObj.responseText == 'success') {
				document.location.assign('index.php?p=quote&quote_id='+n);
			}
			else {
				document.getElementById('message_area').appendChild(document.createTextNode('ERROR: Discount could not be added.'));
			}
		}
	}
}

function removeDiscount(n) {
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=quoteDiscountRemove&id="+n,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) {
			if(httpObj.responseText == 'success') { 
				document.location.assign('index.php?p=quote&quote_id='+n); 
			}
			else {
				document.getElementById('message_area').appendChild(document.createTextNode('ERROR: Discount could not be removed.'));
			}
		}
	}
}

function vqDownload(n) {
	document.location.assign('http://www.gemquote.com/vq_quote_download.php?id='+n);
}

function vqEmail(n) {
	window.open('http://www.gemquote.com/vq_quote_email.php?id='+n,'_blank','height=400,width=400,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no');
}

function itrChangeRegion() {
	region = document.getElementById('itr_region');
	rep = document.getElementById('itr_rep');
	region_id = region.options[region.selectedIndex].value;
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=itrUpdateRep&region="+region_id,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(rep.hasChildNodes()) { rep.removeChild(rep.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						e = document.createElement("option");
						e.setAttribute('value',jsonObj[i].value);
						t = document.createTextNode(jsonObj[i].name);
						e.appendChild(t);
						rep.appendChild(e);
					}
					itrChangeRep();
				}
				else {
					e = document.createElement("option");
					e.setAttribute('value','empty');
					t = document.createTextNode('Error');
					e.appendChild(t);
					rep.appendChild(e);
				}
			}
		}
	}
}

function itrChangeRep() {
	region = document.getElementById('itr_region');
	rep = document.getElementById('itr_rep');
	company = document.getElementById('itr_company');
	region_id = region.options[region.selectedIndex].value;
	rep_id = rep.options[rep.selectedIndex].value;
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=itrUpdateCompany&region="+region_id+"&rep="+rep_id,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(company.hasChildNodes()) { company.removeChild(company.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						e = document.createElement("option");
						e.setAttribute('value',jsonObj[i].value);
						t = document.createTextNode(jsonObj[i].name);
						e.appendChild(t);
						company.appendChild(e);
					}
				}
			}
			itrChangeCompany();
		}
	}
}

function itrChangeCompany() {
	region = document.getElementById('itr_region');
	rep = document.getElementById('itr_rep');
	company = document.getElementById('itr_company');
	customer = document.getElementById('itr_customer');
	region_id = region.options[region.selectedIndex].value;
	rep_id = rep.options[rep.selectedIndex].value;
	company_id = company.options[company.selectedIndex].value;
	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=itrUpdateCustomer&region="+region_id+"&rep="+rep_id+"&company="+company_id,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(customer.hasChildNodes()) { customer.removeChild(customer.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						e = document.createElement("option");
						e.setAttribute('value',jsonObj[i].value);
						t = document.createTextNode(jsonObj[i].name);
						e.appendChild(t);
						customer.appendChild(e);
					}
				}
			}
		}
	}
}

function displayITR() {
	var radioItemTypes = new Array();
	var inputs = document.getElementsByTagName('input');
	for(var i=0; i<inputs.length; i++) {
		if(inputs[i].name == 'itr_itemtype') {
			radioItemTypes.push(inputs[i]);
		}
	}

	region = document.getElementById('itr_region'); 
	rep = document.getElementById('itr_rep');
	company = document.getElementById('itr_company');
	customer = document.getElementById('itr_customer');
	list = document.getElementById('itr_list'); 

	for(var i=0; i<radioItemTypes.length; i++) { 
		if(radioItemTypes[i].checked) { 
			it = radioItemTypes[i].value; 
		} 
	}

	region_id = region.options[region.selectedIndex].value;
	rep_id = rep.options[rep.selectedIndex].value;
	company_id = company.options[company.selectedIndex].value;
	customer_id = customer.options[customer.selectedIndex].value;

	b_month = document.getElementById('itr_begin_month').options[document.getElementById('itr_begin_month').selectedIndex].value;
	b_day = document.getElementById('itr_begin_day').options[document.getElementById('itr_begin_day').selectedIndex].value;
	b_year = document.getElementById('itr_begin_year').options[document.getElementById('itr_begin_year').selectedIndex].value;
	e_month = document.getElementById('itr_end_month').options[document.getElementById('itr_end_month').selectedIndex].value;
	e_day = document.getElementById('itr_end_day').options[document.getElementById('itr_end_day').selectedIndex].value;
	e_year = document.getElementById('itr_end_year').options[document.getElementById('itr_end_year').selectedIndex].value;

	httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=itrDisplay&itemtype="+it+"&region="+region_id+"&rep="+rep_id+"&company="+company_id+"&customer="+customer_id+"&begin_month="+b_month+"&begin_day="+b_day+"&begin_year="+b_year+"&end_month="+e_month+"&end_day="+e_day+"&end_year="+e_year,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(list.hasChildNodes()) { list.removeChild(list.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						row = document.createElement("div");
						row.className = 'report_row';
						item_qty = document.createElement("div")
						item_qty.className = 'report_col_a';
						item_qty_txt = document.createTextNode(jsonObj[i].qty);
						item_qty.appendChild(item_qty_txt);
						item_name = document.createElement("div");
						item_name.className = 'report_col_b';
						item_name_txt = document.createTextNode(jsonObj[i].name);
						item_name.appendChild(item_name_txt);
						item_clear = document.createElement("div");
						item_clear.className = 'cleardiv';
						row.appendChild(item_qty);
						row.appendChild(item_name);
						row.appendChild(item_clear);
						list.appendChild(row);
					}
				}
			}
		}
	}	
}

function displayGlassOptions() {
	m = document.getElementById('model').selectedIndex+1;
	if( m == 4) {
		show(document.getElementById('tundra_glass_options_block'));
		hide(document.getElementById('kodiak_glass_options_block'));
	}
	else if( m == 7) {
		hide(document.getElementById('tundra_glass_options_block'));
		show(document.getElementById('kodiak_glass_options_block'));
	}
	else {
		hide(document.getElementById('tundra_glass_options_block'));
		hide(document.getElementById('kodiak_glass_options_block'));
	}
}

function displayRetrofitLightingLEDColors() { 
	s = document.getElementById('lighting');
	t1 = document.getElementById('retrofit_led_output');
	t2 = document.getElementById('retrofit_led_height');
	t3 = document.getElementById('retrofit_led_color');
	if(s.options[s.selectedIndex].value == 'polaris') { show(t1); show(t2); show(t3); } else { hide(t1); hide(t2); hide(t3); }
}

/*function updateSelectOptions(e,q,x) { 
	x = x || []; 
	httpObj = getHTTPObject(); 
	httpObj.open("GET","ajaxHandler.php?public=true&func=getNameValuePairs&q="+q,true); 
	httpObj.send(null); 
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(e.hasChildNodes()) { e.removeChild(e.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						if(x.length > 0) {
							skip = 'true';
							for (n=0; n<x.length; n++) { if(x[n] == jsonObj[i].value) { skip = 'false'; } }
						}
						else {
							skip = 'false';
						}
						if(skip == 'false') {
							opt = document.createElement("option");
							opt.setAttribute('value',jsonObj[i].value);
							opt.appendChild(document.createTextNode(jsonObj[i].name));
							e.appendChild(opt);
						}
					}
				}
			}
			httpReqQue();
		}
	}
}*/

function updateSelectOptions(e,q,x) { 
	usled_exception = document.getElementById('usled_exception').value; 
	httpObj = getHTTPObject(); 
	httpObj.open("GET","ajaxHandler.php?public=true&func=getNameValuePairs&q="+q,true); 
	httpObj.send(null); 
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(e.hasChildNodes()) { e.removeChild(e.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					for (i=0; i<jsonObj.length; i++) {
						n = jsonObj[i].name;
						if(usled_exception == 'true') { n = n.replace("CrossFire","US"); }
						opt = document.createElement("option");
						opt.setAttribute('value',jsonObj[i].value);
						opt.appendChild(document.createTextNode(n));
						e.appendChild(opt);
					}
				}
			}
			httpReqQue();
		}
	}
}

function updateModelDefaults() {
	m = document.getElementById('model').options[document.getElementById('model').selectedIndex].value;
	usled = document.getElementById('usled_exception').value;
	httpObj = getHTTPObject(); 
	httpObj.open("GET","ajaxHandler.php?public=true&func=getModelDefaults&m="+m,true); 
	httpObj.send(null); 
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				if(jsonObj[0] != "empty") {
					if(usled == 'true') { jsonObj.def_lighting = '24'; }
					setSelectOption(document.getElementById('door_size_'+m),jsonObj.def_door_width+'|'+jsonObj.def_door_height+'|'+jsonObj.def_door_walkin);
					setSelectOption(document.getElementById('door_finish'),jsonObj.def_finish);
					setSelectOption(document.getElementById('door_lighting'),jsonObj.def_lighting);
					setDoorsLightingColor();
					setSelectOption(document.getElementById('shelving_width_'+jsonObj.def_door_width),jsonObj.def_shelv_depth+'|'+jsonObj.def_shelv_gravityflow);
					setSelectOption(document.getElementById('shelving_color'),jsonObj.def_shelv_color);
					setSelectOption(document.getElementById('shelves_per_door'),jsonObj.def_shelv_perdoor);
					setSelectOption(document.getElementById('handles'),jsonObj.def_handle);
				}
			}
			httpReqQue();
		}
	}
}

function setSelectOption(e,n) { 
	for(i=0; i<e.options.length; i++) {
		if(e.options[i].value == n) { e.selectedIndex = i; }
	}
}

function doorsChangeSetsLabel(n) {
	e = document.getElementById('doors_numberofsets_label');
	while(e.hasChildNodes()) { e.removeChild(e.lastChild); }
	e.appendChild(document.createTextNode(n));
}

function setDoorsLightingColor() {
	if(lighting.options[lighting.selectedIndex].value == '43' || lighting.options[lighting.selectedIndex].value == '24') { 
		show(document.getElementById('lighting_color'));
		document.getElementById('door_lighting_color').options[1].selected = true;
	} 
	else { 
		hide(document.getElementById('lighting_color')); 
	}
	if(lighting.options[lighting.selectedIndex].value == '43') {
		show(document.getElementById('lighting_output'));
		show(document.getElementById('lighting_motion_sensors'));
	}
	else {
		hide(document.getElementById('lighting_output'));
		hide(document.getElementById('lighting_motion_sensors'));
	}
}

function initDoorsTable(){
	createSLT(1);
	displayGlassOptions();
	lighting = document.getElementById('door_lighting');
	setDoorsLightingColor();
	updatePostsColor();
}

function displayQ2O() {
	list = document.getElementById('q2o_list'); 

	b_month = document.getElementById('q2o_begin_month').options[document.getElementById('q2o_begin_month').selectedIndex].value;
	b_day = document.getElementById('q2o_begin_day').options[document.getElementById('q2o_begin_day').selectedIndex].value;
	b_year = document.getElementById('q2o_begin_year').options[document.getElementById('q2o_begin_year').selectedIndex].value;
	e_month = document.getElementById('q2o_end_month').options[document.getElementById('q2o_end_month').selectedIndex].value;
	e_day = document.getElementById('q2o_end_day').options[document.getElementById('q2o_end_day').selectedIndex].value;
	e_year = document.getElementById('q2o_end_year').options[document.getElementById('q2o_end_year').selectedIndex].value;

	document.getElementById('q2o_chart').src="includes/q2o_chart.php?begin_month="+b_month+"&begin_day="+b_day+"&begin_year="+b_year+"&end_month="+e_month+"&end_day="+e_day+"&end_year="+e_year;

	/*httpObj = getHTTPObject();
	httpObj.open("GET","ajaxHandler.php?func=q2oDisplay&begin_month="+b_month+"&begin_day="+b_day+"&begin_year="+b_year+"&end_month="+e_month+"&end_day="+e_day+"&end_year="+e_year,true);
	httpObj.send(null);
	httpObj.onreadystatechange = function() { 
		if(httpObj.readyState == 4) { 
			while(list.hasChildNodes()) { list.removeChild(list.lastChild); }
			if(jsonObj = eval ('('+httpObj.responseText+')')) {
				list.appendChild(document.createTextNode(jsonObj['total_ack']+' total orders from '+jsonObj['total_quotes']+' total quotes ('+(parseFloat(jsonObj['total_ack'])/parseFloat(jsonObj['total_quotes'])*100).toFixed(1)+'%)'));
			}
		}
	}	*/
	
}

/*function recentQuotes(a,n) { // Requires JQuery
	$.ajax({ 
		type: "GET", 
		url: ajax_recentquotes.php, 
		async: false, 
		beforeSend: function(x) {
			if(x && x.overrideMimeType) {
				x.overrideMimeType("application/j-son;charset=UTF-8");
			}
		},
		dataType: "json",
		success: function(data) {
			rq = document.getElementById("recent_quotes");
			$.each(data, function() {
				$("#recent_quotes").append(data);
			};
		}
	});


}*/

function recentQuotes(page,limit) { // JQuery Routine
	$.getJSON('ajax_recentquotes.php', { "page": page, "limit": limit }, function(data) {
		$("#recent_quotes").empty();
		$("#recent_quotes").append(data.qlist);
		$("#recent_quotes_nav").empty();
		$("#recent_quotes_nav").append(data.pagin);
	});
}



