// module.ops.js
// Application specific function definitions

function selectAll() {
	if(xmlHttp) {
		try {
		 	request = "select.php?all";
			xmlHttp.open("GET", request, false);
			try {
			 	xmlHttp.onreadystatechange = handleRequestStateChange;
			}
			catch (e1) {
				alert(e1) 
			}
			xmlHttp.send(null);
		}
		catch(e2) {
			alert(e2) 
		}
	}

	i=0;
	while(document.getElementById('cb_'+i) != null) {
		document.getElementById('cb_'+i).checked = true;
		i++;
	}
	return true;
}
function selectNone() {
	if(xmlHttp) {
		try {
		 	request = "select.php?none";
			xmlHttp.open("GET", request, false);
			try {
			 	xmlHttp.onreadystatechange = handleRequestStateChange;
			}
			catch (e1) {
				alert(e1) 
			}
			xmlHttp.send(null);
		}
		catch(e2) {
			alert(e2) 
		}
	}

	i=0;
	while(document.getElementById('cb_'+i) != null) {
		document.getElementById('cb_'+i).checked = false;
		i++;
	}
	return true;
}
function changeVal(cid,eid) {
	var curVal = document.getElementById(eid).checked;
	if(!curVal){
		document.getElementById(eid).checked = false;	
		if(xmlHttp) {
			try {
			 	request = "select.php?del="+cid;
				xmlHttp.open("GET", request, false);
				try {
				 	xmlHttp.onreadystatechange = handleRequestStateChange;
				}
				catch (e1) {
					alert(e1) 
				}
				xmlHttp.send(null);
			}
			catch(e2) {
				alert(e2) 
			}
		}

	} else {
		document.getElementById(eid).checked = true;	
		if(xmlHttp) {
			try {
			 	request = "select.php?add="+cid;
				xmlHttp.open("GET", request, false);
				try {
				 	xmlHttp.onreadystatechange = handleRequestStateChange;
				}
				catch (e1) {
					alert(e1) 
				}
				xmlHttp.send(null);
			}
			catch(e2) {
				alert(e2) 
			}
		}

	}
}

function UpdateItemSelection(freighttype) {
	var i = 0;

	if(freighttype>0){
		for (var i = 0; i < items.length; i++){
			if(items[i][0] == freighttype){
				option = items[i][1];
				var newHTML = "<select class='field' style='width:120px' id='in_item'>";
				for(var j = 0; j < option.length; j++) {
					newHTML += "<option selected='selected' value='"+option[j][0]+"'>"+option[j][1]+"</option>";
				}		
			}
		}
		newHTML += "</select>";
		document.getElementById("in_item_div").innerHTML = newHTML;
		document.getElementById("in_item").selectedIndex=0;
		
		
		if (Number(document.getElementById('totals_qty').innerHTML)>0) {
			
			for(var i = 0; i<items.length;i++){
				var freighttype = items[i][1];
				for(j=0;j<freighttype.length;j++){
					var item = freighttype[j];
					document.getElementById('item_'+item[0]+'_qty').innerHTML = 0;
					document.getElementById('item_'+item[0]+'_weight').innerHTML = 0;
					document.getElementById('item_'+item[0]+'_volume').innerHTML = 0;
					document.getElementById('item_'+item[0]).style.display = "none";
					document.getElementById('items_'+item[0]+'_qty').value = 0;
					document.getElementById('items_'+item[0]+'_weight').value = 0;
					document.getElementById('items_'+item[0]+'_volume').value = 0;
					
				}
			}
			
			document.getElementById('totals_qty').innerHTML = 0;
			document.getElementById('totals_weight').innerHTML = 0;
			document.getElementById('totals_volume').innerHTML = 0;
		}
	}
}



function checkandsubmit(action) {
	var error = "";
	error = "";
	

	//error = (!isNaN(document.getElementById("customerid").value))?error:"Consignee id must be a number.";
	error = (!isNaN(document.getElementById("customeraddressnumber").value))?error:"Consignee address no. must be a number.";
	error = (document.getElementById("selectedAddress").value != null)?error:"Please select a consignor address.";
	error = (document.getElementById("deliveryterm").value != "FALSE")?error:"Please select a delivery term.";
	error = (
		document.getElementById("customerid").value != "" &&
		document.getElementById("customeraddressnumber").value != "" &&
		document.getElementById("customername").value != "" &&
		document.getElementById("customeraddress").value != "" &&
		document.getElementById("customerpostalcode").value != "" &&
		document.getElementById("customercity").value != ""
	)?error:"Please select/enter a consignee.";
				
	error = (Number(document.getElementById('totals_qty').innerHTML)>0)?error:"Please add one or more items to the consignment.";
	
	if(document.getElementById("requireterminalorder").value=="true") {
		error = (document.getElementById("ordernumber").value != "")?error:"Please enter a terminal order number.";
		error = (!isNaN(document.getElementById("ordernumber").value))?error:"Please enter a valid terminal order number.";
	}
			
	
	if(error!="")
		alert(error);
	else
		//if((action == 1 && confirm("Are you sure you want to register this consignment?")) || (action == 2 && confirm("Are you sure you want to update this consignment?")))
			document.getElementById("consignmentform").submit();	
}

function addItem() {
	if(document.getElementById('in_item').options[document.getElementById('in_item').selectedIndex].value != "Select freight type"){
		var item = document.getElementById('in_item').options[document.getElementById('in_item').selectedIndex].value;
	
		var qty = Number(document.getElementById('in_qty').value.replace(",","."));
		var weight = Number(document.getElementById('in_weight').value.replace(",","."));
		var volume = Number(document.getElementById('in_volume').value.replace(",","."));
		
	
		if(isNaN(qty) || isNaN(weight)  || isNaN(volume)){
			alert("Please enter numeric values.");
			document.getElementById('in_qty').value = "";
			document.getElementById('in_weight').value = ""
			document.getElementById('in_volume').value = ""		
			document.getElementById('in_qty').focus();
			return 0;
		}
		else if(qty < 1) {
			alert("Quantity must be at least 1.");
			document.getElementById('in_qty').focus();
			return 0;		
		}
		else {
			var oldqty = Number(document.getElementById('item_'+item+'_qty').innerHTML);
			var oldweight = Number(document.getElementById('item_'+item+'_weight').innerHTML);
			var oldvolume = Number(document.getElementById('item_'+item+'_volume').innerHTML);
			var oldtotalqty = Number(document.getElementById('totals_qty').innerHTML);
			var oldtotalweight = Number(document.getElementById('totals_weight').innerHTML);
			var oldtotalvolume = Number(document.getElementById('totals_volume').innerHTML);
			
			document.getElementById('item_'+item+'_qty').innerHTML = (oldqty + qty).toFixed(0);
			document.getElementById('item_'+item+'_weight').innerHTML = (oldweight + weight).toFixed(1);
			document.getElementById('item_'+item+'_volume').innerHTML = (oldvolume + volume).toFixed(1);
			
			document.getElementById('totals_qty').innerHTML = (oldtotalqty + qty).toFixed(0);
			document.getElementById('totals_weight').innerHTML = (oldtotalweight + weight).toFixed(1);
			document.getElementById('totals_volume').innerHTML = (oldtotalvolume + volume).toFixed(1);
	
			document.getElementById('items_'+item+'_qty').value = Number(document.getElementById('item_'+item+'_qty').innerHTML).toFixed(0);
			document.getElementById('items_'+item+'_weight').value = Number(document.getElementById('item_'+item+'_weight').innerHTML).toFixed(1);
			document.getElementById('items_'+item+'_volume').value = Number(document.getElementById('item_'+item+'_volume').innerHTML).toFixed(1);
			
			document.getElementById('item_'+item).style.display = "";		
			document.getElementById('in_qty').value = "";
			document.getElementById('in_weight').value = ""
			document.getElementById('in_volume').value = ""
			document.getElementById('in_qty').focus();
			return 1;
		}
	}
	else
		return 0;
}

function deleteItem(item) {
	var qty = document.getElementById('item_'+item+'_qty').innerHTML;
	var weight = document.getElementById('item_'+item+'_weight').innerHTML;
	var volume = document.getElementById('item_'+item+'_volume').innerHTML;

	document.getElementById('item_'+item+'_qty').innerHTML = (Number(document.getElementById('item_'+item+'_qty').innerHTML) - qty).toFixed(0);
	document.getElementById('item_'+item+'_weight').innerHTML = (Number(document.getElementById('item_'+item+'_weight').innerHTML) - weight).toFixed(1);
	document.getElementById('item_'+item+'_volume').innerHTML = (Number(document.getElementById('item_'+item+'_volume').innerHTML) - volume).toFixed(1);
	
	document.getElementById('items_'+item+'_qty').value = Number(document.getElementById('item_'+item+'_qty').innerHTML).toFixed(0);
	document.getElementById('items_'+item+'_weight').value = Number(document.getElementById('item_'+item+'_weight').innerHTML).toFixed(1);
	document.getElementById('items_'+item+'_volume').value = Number(document.getElementById('item_'+item+'_volume').innerHTML).toFixed(1);
		
	document.getElementById('totals_qty').innerHTML = (Number(document.getElementById('totals_qty').innerHTML) - qty).toFixed(0);
	document.getElementById('totals_weight').innerHTML = (Number(document.getElementById('totals_weight').innerHTML) - weight).toFixed(1);
	document.getElementById('totals_volume').innerHTML = (Number(document.getElementById('totals_volume').innerHTML) - volume).toFixed(1);
		
	document.getElementById('item_'+item).style.display = "none";
	return 1;
}

// Delete from this on
var articleId = null;
var numberOfRecords = 0;

function SelectRecord(id) {
	if(xmlHttp) { 
		elementId = id.split('_');
		var parts = document.images[id].src.split('/');
		var value;
		if(parts[5] == 'checkbox_selected.gif') {
			document.images[id].src = 'pics/checkbox.gif'; 
			value = 0;
		} else {
			document.images[id].src = 'pics/checkbox_selected.gif';
			value = 1;
		}		 
		try {
			xmlHttp.open("GET", "SelectRecord.php?userId=" + elementId[2] + "&orderNumber=" + elementId[1] + "&value=" + value + "&sid=" + Math.random(), true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		} 
		catch(e) {}  
	}
}
	 
function DeleteOrderHeader(id) {
	elementId = id.split('_');
	if(window.confirm('Are you sure you want to delete order ' + elementId[1] + '?')) {
		try {
			xmlHttp.open("GET", "DeleteRecord.php?userId=" + elementId[0] + "&id=" + elementId[1] + "&type=orderHeader&sid=" + Math.random(), true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		} catch(e) { } 
		finally {
			wait(1000);
			window.location.href="<?PHP print $_SERVER['PHP_SELF'] . '?p=' . $_GET['p']; ?>";
		}
	}
}
	 
function DeleteArticle(id) {
	elementId = id.split('_');
	if(window.confirm('Are you sure you want to delete article (' + elementId[1] + ',' + elementId[2] + ')?')) {  
		try {
			xmlHttp.open("GET", "DeleteRecord.php?userId=" + elementId[0] + "&shelfId=" + elementId[1] + "&id=" + elementId[2] + "&type=article&sid=" + Math.random(), true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		} 
		catch(e) { } 
		finally {
			wait(1000);
			window.location.href="<?PHP print $_SERVER['PHP_SELF'] . '?p=' . $_GET['p']; ?>";
		}
	}
}
