var thisform = document.forms[0];
var checkboxvalue = new Array;
function selectall(opt){
	if (opt == 1){ //1 = Select all 0 0 Deselect all
		for (var i=0;i<thisform.elements.length;i++){
			switch (thisform.elements[i].type){
				case 'checkbox':{
					thisform.elements[i].checked = true;
				}
			}
		}
	}else{
		for (var i=0;i<thisform.elements.length;i++){
			switch (thisform.elements[i].type){
				case 'checkbox':{
					thisform.elements[i].checked = false;
				}
			}
		}		
	}
}
function fancyclose(type){ // ใช้ปิด fancybox
	if (window == top)
		window.close();
	else top.document.getElementById('fancyclose').click();
}
function selectgroupcheckbox(groupname){
	for (var i=0;i<thisform.elements.length;i++){
		switch (thisform.elements[i].type){
			case 'checkbox':{
				thisid = thisform.elements[i].id;
				if (thisid.match(groupname) == groupname){
					if (document.getElementById(groupname).checked == true)
						thisform.elements[i].checked = true;
					else
						thisform.elements[i].checked = false;
				}
				break;
			}
		}
	}
}
function sentgroupcheckboxvalue(opt){
	for (var i=0;i<thisform.elements.length;i++){
		switch (thisform.elements[i].type){
			case 'checkbox':{
				if (thisform.elements[i].checked == true){
					checkboxvalue.push(thisform.elements[i].value);
				}
				break;
			}
		}
	}
	if (opt){
		checkboxvalue.reverse();
		checkboxvalue.pop();
	}
	document.getElementById('checkboxvalue').value = checkboxvalue.join("','");
}	

function selectorderby(Orderby,arrow){ 
// function ไว้สลับหัวลูกศรตอน Order by แบบ desc or asc 
//ต้องกำหนด array ของชื่อ field ที่จะให้ order ไว้ท้ายหน้าตาราง และกำหนด <img id=arrow+i> ที่หัวตารางด้วย
	var d = document;
	for (var i=0;i<arrow.length;i++){
		if (Orderby == arrow[i]){
			var thisarrow = 'arrow'+i;
			var thisa = 'a'+i;
			thisa = d.getElementById(thisa);
			thisarrow = d.getElementById(thisarrow);
		}
	}
	for (var i=0;i<arrow.length;i++){
//		alert(i);
		var aimg = 'arrow'+i;
		d.getElementById(aimg).style.display = 'none';
	}
	thisarrow.style.display = 'inline';
	thisa.onmouseout = function(){ 
		if (thisarrow.src.search('s_desc.png') != -1){
			thisarrow.src = 'images/s_asc.png';
		}else {
			thisarrow.src = 'images/s_desc.png';
		}
	}
	thisa.onmouseover = function(){ 
		if (thisarrow.src.search('s_desc.png') == -1){
			thisarrow.src = 'images/s_desc.png';
		}else {
			thisarrow.src = 'images/s_asc.png';
		}
	}	
}

function selectrow(idname,totalRow){ //ใช้เปลี่ยนสี row ในหน้า Search ต่างๆ
	var 	tr = "tr"+idname;
			tr = document.getElementById(tr);
	var 	colorRow = "colorRow"+idname;
			colorRow = document.getElementById(colorRow);
	if (tr.className == colorRow.value){
		clearrow(totalRow);
		tr.className = 'selectTableRow';
	}else{
		clearrow(totalRow);		
	}
}
function clearrow(totalRow){ //ใช้กลับค่าสีเดิมของ row ในหน้า Search ต่างๆ
	for (var i=1;i<=totalRow;i++){
		var tr = "tr"+i;
		var colorRow = "colorRow"+i;
		tr = document.getElementById(tr);
		colorRow = document.getElementById(colorRow);
		tr.className = colorRow.value;
	}
}
function showtype(f){ //ใช้ set ค่า readonly ให้กับ input ต่าง ให้ในหน้า show ของ customer logistic product (ในหน้าตาแบบ fancybox)
//	alert(f.elements[5].type);
	for (var i=0;i<f.elements.length;i++){
		switch (f.elements[i].type){
			case 'text': case 'password': case 'textarea': {
				f.elements[i].setAttribute('readonly','readonly');
				break;
			}
			case 'button': case 'reset': case 'submit': {
				document.getElementById('submitTR').style.display = 'none';
				document.getElementById('editTR').style.display = 'inline';
				break;
			}
			default: f.elements[i].setAttribute('disabled','disabled');
				break;
		}			
	}
}
function showmore(end){ //เป็น funciton ที่ใช้ในหน้า deliverySearch เพื่อขยาย option ในการ search
	var m;
	if (document.getElementById('morebt').value == 'More>>'){
		for (var i=0;i<=end;i++){
			m = 'more'+i;
			document.getElementById(m).style.display = 'inline';
		}
		document.getElementById('morebt').value = '<<Less';
	} else if (document.getElementById('morebt').value == '<<Less'){
		for (var i=0;i<=end;i++){
			m = 'more'+i;
			document.getElementById(m).style.display = 'none';
		}
		document.getElementById('morebt').value = 'More>>';
	}	
}
function checkthisradio(obj,opt){ //เป็น funtion ที่ใช้ select radio ให้ส่วนของ logisticDetail 
	thisid = checkElementsID(thisform,obj);
	if(opt == 1)
		thisid--;
	else if(opt == 0)
		thisid++;
	thisid = thisform.elements[thisid].id;
	if(opt < 2){
		if (thisid == 'Freshfoodpay')
			thisform.Freshfoodpay[opt].checked = true;
		else if (thisid == 'Dryfoodpay')
			thisform.Dryfoodpay[opt].checked = true;
			if (obj.type == 'checkbox'){
				if (obj.checked == false && thisid == 'Freshfoodpay'){
					thisform.Freshfoodpay[0].checked = false;
					thisform.Freshfoodpay[1].checked = false;
				}
				if (obj.checked == false && thisid == 'Dryfoodpay'){
					thisform.Dryfoodpay[0].checked = false;
					thisform.Dryfoodpay[1].checked = false;
				}
			}
		}
		if(thisform.Freshfoodpay[0].checked == true || thisform.Freshfoodpay[1].checked == true)
			thisform.Freshfood.checked = true;
		if(thisform.Dryfoodpay[0].checked == true || thisform.Dryfoodpay[1].checked == true)
			thisform.Dryfood.checked = true;
		if (thisform.Freshfoodpay[0].checked == true || thisform.Freshfood.checked == false)
			thisform.Freshprice.value = '';
		if (thisform.Dryfoodpay[0].checked == true || thisform.Dryfood.checked == false)
			thisform.Dryprice.value = '';
}
function checkquery(result){
	if (result >0){
		if (document.getElementById('checkqueryboxIframe')){
			document.getElementById('checkqueryboxIframe').innerHTML = 'Affected your Data Success '+result+' row(s)';
			$('#checkqueryboxIframe').fadeIn('slow',
					function (){
						setTimeout("$('#checkqueryboxIframe').fadeOut('slow');",10000);
					}
			);
		}else if (document.getElementById('checkquerybox')){
			document.getElementById('checkquerybox').innerHTML = 'Affected your Data Success '+result+' row(s)';
			$('#checkquerybox').fadeIn('slow',
					function (){
						setTimeout("$('#checkquerybox').fadeOut('slow');",10000);
					}
			);			
		}
	}
}

function selectpayby(obj){ // เป็น function ที่ใช้สลับช่องให้เติมค่าระหว่างการจ่ายเงินแบบต่างๆ ใช้ในหน้ารับชำระ
	var v = obj.value;
	switch (v){
		case 'TR': {
			document.getElementById('bankTR').style.display = 'inline';
			document.getElementById('chequebankTR').style.display = 'none'; 
			document.getElementById('chequenumberTR').style.display = 'none'; 			
			document.getElementById('chequedateTR').style.display = 'none'; 	
			document.getElementById('payTR').style.display = 'inline';
			break;
		}
		case 'Cheque': {
			document.getElementById('chequebankTR').style.display = 'inline'; 
			document.getElementById('chequenumberTR').style.display = 'inline'; 			
			document.getElementById('chequedateTR').style.display = 'inline'; 			
			document.getElementById('bankTR').style.display = 'none';
			document.getElementById('payTR').style.display = 'inline';			
			break;
		}
		case 'Cash': {
			document.getElementById('chequebankTR').style.display = 'none'; 
			document.getElementById('chequenumberTR').style.display = 'none'; 			
			document.getElementById('chequedateTR').style.display = 'none'; 			
			document.getElementById('bankTR').style.display = 'none';
			document.getElementById('payTR').style.display = 'inline';			
			break;
		}
		default : {
			document.getElementById('chequebankTR').style.display = 'none'; 
			document.getElementById('chequenumberTR').style.display = 'none'; 			
			document.getElementById('chequedateTR').style.display = 'none'; 	
			document.getElementById('bankTR').style.display = 'none';
			document.getElementById('payTR').style.display = 'inline';			
			break;
		}
	}
}


var tempX = 0
var tempY = 0

// Main function to retrieve mouse x-y pos.s

function getMouseXY(e) {
// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)	
//if (!IE) document.captureEvents(Event.MOUSEOVER)	
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.documentElement.scrollLeft
    tempY = event.clientY + document.documentElement.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  
  // show the position values in the form named Show
  // in the text fields named MouseX and MouseY
  document.getElementById('remarkbox').style.top = tempY-20+'px';
  document.getElementById('remarkbox').style.left = tempX+'px';
  return true
}
function showalt(id){
	getMouseXY();
	var box = document.getElementById('remarkbox');
	box.innerHTML = id;
	box.style.backgroundColor = '#ffb';
	box.style.borderStyle = 'solid';
	box.style.borderColor = '#000';
	box.style.borderWidth = '1px';
	box.style.padding = '2px';
	$("#remarkbox").fadeIn("slow");
	setTimeout("$('#remarkbox').fadeOut('fast');",5000);
}

function tabenter(moz) {
/*	for(var i=0;i<thisform.elements.length-11;i++){
		if (thisform.elements[i].focus == -1) alert(i);
	}*/
	if (event.keyCode==13) {
		event.keyCode=9; 
		return event.keyCode 
	}
	if (event.keyCode == 120){
		document.getElementById('submitbt').click();
	}
	if (moz == 13){
		event.which = 9;
		return event.which;
	}
}
function findtotal(thisform){ // เป็น funtion ที่ใช้หายอดเงินรวมในหน้าเปิดบิลส่งของ
	totals = 0;
	totalsmdis = 0;
	for (i=initelement+2;i<numrow*elementperrow+initelement;i=i+elementperrow){
//		alert(i);
		var eachtotal = 0;
		var y = thisform.elements[i+2];
		var dis = thisform.elements[i+3].value;
		var maindiscountrate = document.getElementById('Maindiscountrate').value;
		var maindiscount = 0;
//		alert(typeof(parseFloat(thisform.elements[i+1].value)));
		if  (thisform.elements[i].value != '')
			eachtotal = parseFloat(thisform.elements[i].value) * parseFloat(thisform.elements[i+1].value);
		if (dis != ''){
			if (dis.search('%') != -1 || dis.search("/") != -1 || dis.search('-') != -1){
				dis = dis.replace('%','');
				dis = dis.replace('-','');
				dis = dis.replace('/','');
				thisform.elements[i+3].value = dis+"%";
				discount = (eachtotal*(parseFloat(dis)/100));
				if (digidiscount){
					switch (digidiscount){
						case 'floor': discount = Math.floor(discount); break;
						case 'ceil': discount = Math.ceil(discount); break;
						case 'round': discount = Math.round(discount); break;
						default :discount = Math.floor(discount); break;
					}
				}else discount = Math.floor(discount);
				thisform.elements[i+3].value = dis+"%";
			} else discount = parseFloat(dis);
			eachtotal = eachtotal-discount;			
		}
		if  (eachtotal != 0)
			y.value = eachtotal.toFixed(2);
		else
			y.value = '';
		
		totals += parseFloat(eachtotal);
		eachtotal = 0;
		if (maindiscountrate != ''){
			if (maindiscountrate.search('%') != -1 || maindiscountrate.search("/") != -1 || maindiscountrate.search('-') != -1){
				maindiscountrate = maindiscountrate.replace('%','');
				maindiscountrate = maindiscountrate.replace('-','');
				maindiscountrate = maindiscountrate.replace('/','');
				document.getElementById('Maindiscountrate').value = maindiscountrate+"%";
				maindiscount = Math.floor(totals*(maindiscountrate/100));
			}else{
				maindiscount = parseFloat(maindiscountrate);
			}			
			totalsmdis = totals-maindiscount;
		}else {
			totalsmdis = parseFloat(totals);
		}
		if (thisform.Vatrate[0].checked == true){
			gts = totalsmdis;
			vats = 0;
		} else {			
		vats = totalsmdis*0.07;
		gts = totalsmdis+vats;
		}
		if (totals != 0){
			document.getElementById('Grandtotal').value = totals.toFixed(2);	
			document.getElementById('Maindiscount').value = maindiscount.toFixed(2);
			document.getElementById('Vat').value = vats.toFixed(2);
			document.getElementById('Amount').value = gts.toFixed(2);
		} else{
			document.getElementById('Grandtotal').value = '';	
			document.getElementById('Maindiscount').value = '';
			document.getElementById('Vat').value = '';
			document.getElementById('Amount').value = '';
		} 
	}
}
var Hpaybalance = 0;
function receiptssetamount(obj,index){ // เป็น function ที่ใช้เพื่อเพิ่มลด ส่วนลดต่างๆ ในหน้ารับชำระ
	id = checkElementsID(thisform,obj);
	for (i=1;i<=8;i++){
		amountid = checkElementsID(thisform,thisform.elements[id-i]);
		if (thisform.elements[amountid].id == "deliveryAmount[]")
			break;
	}
	var Hamount = thisform.elements[amountid+1];
	var amount = thisform.elements[amountid];
	var logisticfee = thisform.elements[amountid+2];
	var fee = thisform.elements[amountid+3];
	var discount1 = thisform.elements[amountid+4];
	var discount2 = thisform.elements[amountid+5];
	var av = parseFloat(Hamount.value);
	if (logisticfee.value != ''){
		av += parseFloat(logisticfee.value);
	}
	if (fee.value != '')
		av += parseFloat(fee.value);
	if (discount1.value != ''){
		dis1 = discount1.value;
		if (dis1.search('%') != -1 || dis1.search("/") != -1) {
			dis1 = dis1.replace('%','');
			dis1 = dis1.replace('/','');
			discount = parseFloat(dis1)/100*av;
			switch (digidiscount){
				case 'floor': discount = Math.floor(discount); break;
				case 'ceil': discount = Math.ceil(discount); break;
				case 'round': discount = Math.round(discount); break;
				default :discount = Math.floor(discount); break;
			}
			discount1.value = discount.toFixed(2);
		} else discount = parseFloat(dis1);		
		av += discount;
	}
	if (discount2.value != ''){
		dis2 = discount2.value;
		if (dis2.search('%') != -1 || dis2.search("/") != -1) {
			dis2 = dis2.replace('%','');
			dis2 = dis2.replace('/','');
			discount = parseFloat(dis2)/100*av;
			switch (digidiscount){
				case 'floor': discount = Math.floor(discount); break;
				case 'ceil': discount = Math.ceil(discount); break;
				case 'round': discount = Math.round(discount); break;
				default :discount = Math.floor(discount); break;
			}
			discount2.value = discount.toFixed(2);
		} else discount = parseFloat(dis2);		
		av += discount;
	}	
	amount.value = av.toFixed(2);
	Grandtotal = 0;
	Discount = 0;
	for (c=0;c<resultnumrow;c++){
		firstamount = initelement+3;
		if (thisform.elements[firstamount+2+(elementperrow*c)].value != '')
			Discount += parseFloat(thisform.elements[firstamount+2+(elementperrow*c)].value); 
		if (thisform.elements[firstamount+3+(elementperrow*c)].value != '')			
		Discount += parseFloat(thisform.elements[firstamount+3+(elementperrow*c)].value); 
		if (thisform.elements[firstamount+4+(elementperrow*c)].value != '')		
		Discount += parseFloat(thisform.elements[firstamount+4+(elementperrow*c)].value); 
		if (thisform.elements[firstamount+5+(elementperrow*c)].value != '')		
		Discount += parseFloat(thisform.elements[firstamount+5+(elementperrow*c)].value); 	
		Grandtotal += parseFloat(thisform.elements[initelement+4+(elementperrow*c)].value);
	}
	document.getElementById('Grandtotal').value = Grandtotal.toFixed(2);
	document.getElementById('Maindiscount').value = Discount.toFixed(2);
	Amount = parseFloat(Grandtotal)+Discount;
	document.getElementById('Amount').value = Amount.toFixed(2); 
	checkpay(document.getElementById('Pay'));
}
function receiptssetpay(obj,index){ //เป็น function ที่ใช้ลดจำนวนเงินที่ตัดบัญชี กับ ยอดเงินที่จ่าย ในหน้ารับชำระ
	Hpaybalance = parseFloat(document.getElementById('Hpaybalance').value);
	Paybalance = Hpaybalance;
	id = checkElementsID(thisform,obj);
	if (obj.value != '')
		pay1 = parseFloat(obj.value);
	else pay1 = 0;
	a = parseFloat(thisform.elements[id-6].value);
	if (pay1>a){
		alertdiv('จำนวนเงินที่จ่ายเกิน ระบบจะเปลี่ยนให้พอดีอัตโนมัติ');
		pay1 = a;
	}
	if (obj.value == '*')
		pay1 = a;
	totalpay = 0;
	obj.value = pay1.toFixed(2);
	for (i=22;i<=initelement+(elementperrow*resultnumrow);i=i+elementperrow){
		if (thisform.elements[i].value != '' && thisform.elements[i].value != 0 && Paybalance != 0){
			p = parseFloat(thisform.elements[i].value);
			a = parseFloat(thisform.elements[i-6].value);
			totalpay += p;
			Paybalance -= p;
			if (Paybalance < 0){
				Debt = Paybalance*-1;
				p = a - Debt;
				Paybalance = 0;
				if (a-p > 0){
					Debt = a-p;
//					alert('a');
				}else
					Debt = 0;						
				thisform.elements[i].value = p.toFixed(2);
			}
			if (a-p > 0){
				Debt = a-p;
//				alert('b');
			}else
				Debt = 0;						
			thisform.elements[i+1].value = Debt.toFixed(2);
		}else {
			thisform.elements[i].value = '';	
			thisform.elements[i+1].value = '';
		}
	}
	document.getElementById('Paybalance').value = Paybalance.toFixed(2);	
	document.getElementById('Totalpay').value = totalpay.toFixed(2);
}