// JavaScript Document
var xmlhttp;

/*$(function() {
	$('.scroll-pane').jScrollPane({scrollbarWidth: 6, scrollbarMargin: 4});
});*/

$(document).ready( function() {
	$('#orders_table').dataTable({
		"aaSorting": [[ 0, "desc" ]],
		"iDisplayLength": 50
	});
});

function toggle_buy(id) {
	if (document.getElementById('buy_' + id).checked == false) {
		//
		document.getElementById('size_' + id).disabled = true;
		document.getElementById('qty_' + id).disabled = true;
		document.getElementById('amount_' + id).innerHTML = '$0.00';
	} else {
		document.getElementById('size_' + id).disabled = false;
		document.getElementById('qty_' + id).disabled = false;
	}
	update_cart();
}

function checkout_submit() {
	//if (document.getElementById('checkout_disclaimer').checked == true) {
		document.getElementById('checkout_buttons').style.display = 'None';
		document.getElementById('checkout_wait').style.display = '';
		document.getElementById('checkout_form').submit();
	//} else {
	//	alert('You must confirm that you have reviewed your order before placing it.');
	//	return false;
	//}
}

function update_cart() {
	var ids, price, qty, i, element, undiscounted;
	var subtotal = count = 0;
	var first_item = false;
	ids = document.getElementById('cart_ids').value.split(' ');
	for (i = 0; i < ids.length; i++) {
		if (document.getElementById('buy_' + ids[i]).checked == true) {
			if (document.getElementById('entry_type').value != 'freehand') {
				element = document.getElementById('size_' + ids[i]);
				price = element.options[element.selectedIndex].text.substr(element.options[element.selectedIndex].text.indexOf('$') + 1);
				qty = document.getElementById('qty_' + ids[i]).value;
				if (first_item == false && qty > 0) {
					first_item = price;
				}
				count = +count + +qty;
				if (isNaN(price)) {
					price = 0;
				}
				if (isNaN(qty)) {
					qty = 0;
				}
				amount = price * qty;
				document.getElementById('amount_' + ids[i]).innerHTML = '$' + amount.toFixed(2);
				subtotal += amount;
			} else {
				qty = document.getElementById('qty_' + ids[i]).value;
				count = +count + +qty;
				subtotal += +document.getElementById('amount_' + ids[i]).value;
			}
		}
	}
	if (count > 1) {
		document.getElementById("discount_row").style.display = '';
		//document.getElementById("discount_amount").innerHTML = '$' + (subtotal * 0.2).toFixed(2); old
		//subtotal = subtotal * 0.8; old
		undiscounted = subtotal;
		if (document.getElementById('entry_type').value != 'freehand') {
			subtotal = +first_item + ((subtotal - +first_item) * 0.8);
		}
		document.getElementById("discount_amount").innerHTML = '$' + (undiscounted - subtotal).toFixed(2);
	} else {
		document.getElementById("discount_row").style.display = 'none';
		document.getElementById("discount_amount").innerHTML = '$0.00';
	}
	document.getElementById("subtotal").innerHTML = subtotal.toFixed(2);
	document.getElementById("tax").innerHTML = (subtotal * .1).toFixed(2);
	document.getElementById("total").innerHTML = subtotal.toFixed(2);
}

function confirm_action(action, order) {
	if (document.getElementById(action + '_' + order).style.display == 'none') {
		document.getElementById(action + '_' + order).style.display = 'inline';
		document.getElementById('confirm_' + action + '_' + order).style.display = 'none';
		document.getElementById('cancel_' + action + '_' + order).style.display = 'none';
	} else {
		document.getElementById(action + '_' + order).style.display = 'none';
		document.getElementById('confirm_' + action + '_' + order).disabled = true;
		document.getElementById('confirm_' + action + '_' + order).style.display = 'inline';
		document.getElementById('cancel_' + action + '_' + order).style.display = 'inline';
		setTimeout(function() {
			document.getElementById('confirm_' + action + '_' + order).disabled = false;
		}, 500);
	}
}

function confirm_complete(order) {
	document.getElementById('complete_' + order).style.display = 'none';
	document.getElementById('confirm_' + order).disabled = true;
	document.getElementById('confirm_' + order).style.display = 'inline';
	document.getElementById('cancel_' + order).style.display = 'inline';
	setTimeout(function() {
		document.getElementById('confirm_' + order).disabled = false;
	}, 500);
}

function cancel_complete(order) {
	document.getElementById('complete_' + order).style.display = 'inline';
	document.getElementById('confirm_' + order).style.display = 'none';
	document.getElementById('cancel_' + order).style.display = 'none';
}

function download_images(order) {	
	xmlhttp = ajax_object();
	
	if (xmlhttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	
	var url = 'ajax/download.php';
	var parameters = 'order=' + order;
	
	xmlhttp.open("POST", url, parameters);
	
	//document.getElementById('confirm_' + order).style.display = 'none';
	//document.getElementById('cancel_' + order).style.display = 'none';
	//document.getElementById('complete_' + order).style.display = 'inline';
	//document.getElementById('complete_' + order).value = 'Please Wait';
	//document.getElementById('complete_' + order).disabled = true;
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 || xmlhttp.readyState == "complete") {
			if (xmlhttp.responseText.substr(0, 4) == "zips") {
				document.getElementById('status_' + order).innerHTML = 'In Production';
				window.location = xmlhttp.responseText;
			} else {
				alert('Error - Please try again.');
			}
		}
	}
	
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", parameters.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	xmlhttp.send(parameters);
}

function mark_complete(order) {	
	xmlhttp = ajax_object();
	
	if (xmlhttp == null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	
	var url = 'ajax/complete.php';
	var parameters = 'order=' + order;
	
	xmlhttp.open("POST", url, parameters);
	
	document.getElementById('confirm_' + order).style.display = 'none';
	document.getElementById('cancel_' + order).style.display = 'none';
	document.getElementById('complete_' + order).style.display = 'inline';
	document.getElementById('complete_' + order).value = 'Please Wait';
	document.getElementById('complete_' + order).disabled = true;
	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 || xmlhttp.readyState == "complete") {
			if (xmlhttp.responseText == "success") {
				document.getElementById('status_' + order).innerHTML = 'Complete';
				document.getElementById('actions_' + order).removeChild(document.getElementById('download_' + order));
				document.getElementById('actions_' + order).removeChild(document.getElementById('complete_' + order));
				document.getElementById('actions_' + order).removeChild(document.getElementById('confirm_' + order));
				document.getElementById('actions_' + order).removeChild(document.getElementById('cancel_' + order));
			}
		}
	}
	
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", parameters.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	xmlhttp.send(parameters);
}

function ajax_object() {
	var xmlhttp = null;
	if (window.XMLHttpRequest) {
		xmlhttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {		
		//ProgIDs 5, 4 and below 3 are unstable
		var progids = new Array(
			'Msxml2.XMLHTTP.6.0', //newest and safest
			'Msxml2.XMLHTTP.3.0', //most common
			'Microsoft.XMLHTTP' //oldest fallback
		);
		for (var i = 0; i < progids.length && !xmlhttp; i++) {
			try {
				xmlhttp = new ActiveXObject(progids[i]);
			} catch (e) {
				//do nothing
			}
		}
	}
	return xmlhttp;
}