// JavaScript Document
function dgWebGridy() {
	var s = this;
	function extractData()
	{//actualiza el arreglo DATA
 	 sGetData();
//     var n = s.data;
	// return n;    
	}
	function sAdd() {
		sGetData();
		s.contador =  parseInt(s.contador) + 1;
		s.data.push(["","","","","","","","","","",""]);// [id, descri,value,qrt,total,checked]
		sWrite();
	}
    function sGetData() {
		var inp = xGetElementsByTagName('INPUT', s.con);
		var data = new Array();
		if(inp.length > 0) {
			for(var i = 0; i < inp.length; i += 8) { //>5
				var datos = new Array();			
				datos[0] = inp[i].value;
				datos[1] = inp[i+1].value;
				datos[2] = inp[i+2].value;
				datos[3] = inp[i+3].value;
				datos[4] = inp[i+4].value;
				datos[5] = inp[i+5].value;
				datos[6] = inp[i+6].value;
				///===//==/=>
				var xo = inp[i+7].value;
				datos[7] = xGetElementById("sel_4"+xo).value;
				datos[8] = xGetElementById("sel_3"+xo).value;
				datos[9] = xGetElementById("sel_1"+xo).value;
				datos[10] = xGetElementById("sel_2"+xo).value;
				//datos[5] = inp[i+4].checked ? "si" : "no";
				data.push(datos);
			}
			s.data = data;
		}
	}
	function sWrite() {
		var d = s.data.length;
		var html = "";
		if(d > 0) {
			for(var i = 0; i < d; ++i) { //>
			//	var chk = (s.data[i][5]=="si") ? " checked" : "";
			var select_3 = createSelect3(s.data[i][8]); 
			var select_4 = createSelect4(s.data[i][7]);
			
			var select_1 = createSelect1(s.data[i][9]);
			var select_2="";
			//alert(s.data[i][9]);
			if(s.data[i][9]!=""){
				select_2 = createSelect2((s.data[i][9]*1),s.data[i][10]);	
			}
			
				html += '<div style="position:relative;">'+
				        '<table border="0" cellpadding="0" cellspacing="0" style="text-align:left;"><tr style="height:22px;">' +
				        '<td width="18" class="optGridyBody1">'+ (i+1) +
						'</td>' +
						'<td width="140" class="optGridyBody">'+ 
						'<select id="sel_1'+[i]+'" class="optText" style="width:138px;" onchange="createSubCate('+i+',this.value)">'+select_1+'</select></td>' + //  primer campo
						'<td width="100" class="optGridyBody">'+ 
						'<select id="sel_2'+[i]+'" class="optText" style="width:98px;" onchange="searchShcode(this.value,'+i+')">'+select_2+'</select></td>' + // segundo campo
						'<td width="40" class="optGridyBody">'+
						'<input id="VE_T'+[i]+'"  type="Text" value="' + s.data[i][0] + '" class="optText" style="width:33px;"></td>' +//compo H
						'<td width="40" class="optGridyBody">'+
						'<input id="VE_V'+[i]+'"  type="Text" value="' + s.data[i][1] + '" class="optText" style="width:33px;"></td>' +// campo W
						'<td width="40" class="optGridyBody">'+
						'<input id="VE_Q'+[i]+'"  type="Text" value="' + s.data[i][2] + '" class="optText" style="width:33px;"></td>' +//campo D
						'<td width="50" class="optGridyBody">'+ 
						'<select id="sel_3'+[i]+'" class="optText" style="width:48px;">'+select_3+'</select></td>' + // sexto campo
						'<td width="45" class="optGridyBody">'+ 
						'<input id="weight_3'+[i]+'" type="text" class="optText" value="' + s.data[i][3] + '" style="width:38px;"></td>' + //  campo siete
						'<td width="50" class="optGridyBody">'+ 
						'<select id="sel_4'+[i]+'" class="optText" style="width:48px;" >'+select_4+'</select></td>' + // ocho campo
						'<td width="45" class="optGridyBody">'+ 
						'<input id="qty_'+[i]+'" type="text" class="optText" value="' + s.data[i][4] + '" style="width:38px;"></td>' + //  campo nueve
						'<td width="60" class="optGridyBody">'+ 
						'<input id="itemvalue_'+[i]+'" type="text" class="optText" value="' + s.data[i][5] + '" style="width:53px;"></td>' + //  campo diez
					    '<td width="60" class="optGridyBody">'+ 
						'<input id="sch_'+[i]+'" type="hidden"  value="' + s.data[i][6] + '">'+
						'<input id="ide_'+[i]+'" type="hidden"  value="'+i+'">'+
						'<select id="sel_5'+[i]+'" class="optText" style="width:58px;"><option value="USD">USD</select></td>' + // sexto campo
		                '</tr></table>' +
						'</div>';
			}
			s.con.innerHTML = html;
		}
	}
	function sumTts(){
		sGetData();
		var d = s.data.length;
		var total = 0;
		var p = '|';
		var R = '@@';
		var cadena = "";
		for(i=0;i<d;i++){
			if(s.data[i][6]!=""){
				if(s.data[i][4]==""){
					alert("Please Type Qty");
					return;
				}
				var txt = 0;
				txt = calculaPeso(s.data[i][3],s.data[i][0],s.data[i][1],s.data[i][2],s.data[i][7],s.data[i][8]);
				if(txt==-1000){
					return;
				}
				if(cadena==""){
					cadena+=s.data[i][6]+p+"US"+p+txt+p+s.data[i][5]+p+"100"+p+"12345"+p+s.data[i][4];
				}else{
					cadena+=R+s.data[i][6]+p+"US"+p+txt+p+s.data[i][5]+p+"100"+p+"12345"+p+s.data[i][4];	
				}
			}
		}
		var country = xGetElementById("cmbcountry").value;
		var indice = document.getElementById("cmbcountry").selectedIndex
		var valor = document.getElementById("cmbcountry").options[indice].getAttribute("idx");
		//document.getElementById("CI_phone_cod").value = valor;
		//alert(valor);
		if(valor=='Y'){
			var accion  = "getValues";
		}else{
			var accion  = "getValues2";
		}
		var typeC = xGetElementById("customers").value;
		if(country==0){
			alert("Please Country Destination");
			return;
		}
		if(cadena==""){
			alert("Please Complete Rows");
			return;
		}
		xGetElementById("btn_").innerHTML = '<span style="font-size:20px;color:#87cefa;">processing...</span>';
		var streem = "cmd="+accion+"&data=" + cadena + "&pais=" + country+ "&tipo="+typeC+"&fixid=" + generateProgressID();
		//alert(cadena);
		//return;      8528510000|US|0|20|100|12345|2
		Ajax.post("calc_ajax.php", streem, handleTotal);	
		//alert(cadena);
		
		//xGetElementById("ftls").value = formatNumber(total,"0.00");		
	}
	function sFill(list) {
		if(list && typeof(list) == 'object') {
			s.data = list;
			sWrite();
		}
	}
	// constructor
	this.con = xGetElementById('webListOptions');
	this.data = new Array(); // datos del grid
	this.add = sAdd;
	this.fill = sFill;
	this.content  = extractData;
	this.contador = 0;
	
	this.suma = sumTts;
}
function handleTotal(str){
	var res = str.split("-");
	if(res[0]!="ERROR"){
		xGetElementById("TT_1").innerHTML = "$ "+res[0];//value
		xGetElementById("TT_2").innerHTML = "$ "+res[1];//shiping
		xGetElementById("TT_3").innerHTML = "$ "+res[2];
		xGetElementById("TT_4").innerHTML = "$ "+res[3];
		xGetElementById("TT_5").innerHTML = "<font  style='color:#b3b3b3;'>*</font> $ "+res[4];
		alert('Complete');
		xGetElementById("btn_").innerHTML = '[ <span class="color_button" onClick="webList.suma()" style="cursor:pointer;"> submit </span> ]'; 
	}else{
		alert(res[1]);	
		xGetElementById("btn_").innerHTML = '[ <span class="color_button" onClick="webList.suma()" style="cursor:pointer;"> submit </span> ]'; 
	}
	
}

function change_menu(url){
	document.location.href = url; 
}
//
function createSelect3(valor){
	var cadena = "";
	var subC = new Array('In','cm');
	var chk = "";
	for(var i = 0; i < subC.length; i ++){
		if(valor == subC[i]){
			chk = " selected ";
		}
		cadena += '<option value="'+subC[i]+'" '+chk+'>'+subC[i];
		chk = "";
	}
	return cadena;
}
function createSelect4(valor){
	var cadena = "";
	var subC = new Array('lbs','kg');
	var chk = "";
	for(var i = 0; i < subC.length; i ++){
		if(valor == subC[i]){
			chk = " selected ";
		}
		cadena += '<option value="'+subC[i]+'" '+chk+'>'+subC[i];
		chk = "";
	}
	return cadena;
}
///////////////////////////////////////////////////////
function calculaPeso(weight,H,W,D,tipopeso,medida){
	//hallamos Libras Iniciales
	var WE_1 = 0;
	var WE_2 = 0;
	var WE_ORI = 0;
	if(weight == ""){
		alert("Please Type Weight!");
		return -1000; 
	}
	if(tipopeso == 'kg'){// este es el select 
		WE_1 = convert(weight);
	}else{
		WE_1 = weight;
	}
	// ahora Hallamos el Segundo Valor  
	var fx = 0;
	fx = (H * W * D) / 139;	
	if(medida == 'In'){// este es el select 
		WE_2 = fx;
	}else{
		WE_2 = convertIn(fx);
	}	
	// AHORA BUSCAMOS EL MAYOR DE LOS DOS;
	if(WE_2>WE_1){
		WE_ORI = WE_2;
	}
	if(WE_1>WE_2){
		WE_ORI = WE_1;
	}
	return WE_ORI;
	///
}

////////////////
function convert(kilos) 
{
  // Clear output field:
  var ch = (kilos * 2.2).toFixed(2);
  return ch;

}
function convertIn(tmp){
	var nn = xtrimx(tmp / 2.54, 2);
	return nn;        

}
function xtrimx(wert, digits_aftercomma){
	var ntmp  = eval(wert)
	var before  = Math.floor(ntmp)
	var after = ntmp - before
	var factor  = Math.pow(10, digits_aftercomma)
	return(before + (Math.round(after * factor) / factor))
}
///*******************************************************************************************////
///*******************************************************************************************////
//  FUNCITON CLASE

function dgWebGridyTwo() {
	var s = this;
	function extractData()
	{//actualiza el arreglo DATA
 	 sGetData();
//     var n = s.data;
	// return n;    
	}
	function sAdd() {
		sGetData();
		s.contador =  parseInt(s.contador) + 1;
		s.data.push(["","","","","","","","","",""]);// [id, descri,value,qrt,total,checked]
		sWrite();
	}
    function sGetData() {
		var inp = xGetElementsByTagName('INPUT', s.con);
		var data = new Array();
		if(inp.length > 0) {
			for(var i = 0; i < inp.length; i += 8) { //>5
				var datos = new Array();			
				datos[0] = inp[i].value;
				datos[1] = inp[i+1].value;
				datos[2] = inp[i+2].value;
				datos[3] = inp[i+3].value;
				datos[4] = inp[i+4].value;
				datos[5] = inp[i+5].value;
				datos[6] = inp[i+6].value;
				///===//==/=>
				var xo = inp[i+7].value;
				datos[7] = xGetElementById("sel_4"+xo).value;
				datos[8] = xGetElementById("sel_3"+xo).value;
				datos[9] = xGetElementById("sel_2"+xo).value;
				//datos[10] = xGetElementById("sel_2"+xo).value;
				//datos[5] = inp[i+4].checked ? "si" : "no";
				data.push(datos);
			}
			s.data = data;
		}
	}
	function sWrite() {
		var d = s.data.length;
		var html = "";
		if(d > 0) {
			for(var i = 0; i < d; ++i) { //>
			//	var chk = (s.data[i][5]=="si") ? " checked" : "";
			var select_3 = createSelect3(s.data[i][8]); 
			var select_4 = createSelect4(s.data[i][7]);
			
			var select_1 = "";//createSelect1(s.data[i][9]);
			var select_5=createSelect5(s.data[i][9]);

			
				html += '<div style="position:relative;">'+
				        '<table border="0" cellpadding="0" cellspacing="0" style="text-align:left;"><tr style="height:22px;">' +
				        '<td width="18" class="optGridyBody1">'+ (i+1) +
						'</td>' +
						'<td width="110" class="optGridyBody">'+ 
						'<input id="sch_'+[i]+'" type="Text"  class="optText" style="width:100px;"  value="' + s.data[i][0] + '"></td>' + //  primer campo
						'<td width="130" class="optGridyBody">'+ 
						'<select id="sel_2'+[i]+'" class="optText" style="width:128px;" >'+select_5+'</select></td>' + // segundo campo
						'<td width="40" class="optGridyBody">'+
						'<input id="VE_T'+[i]+'"  type="Text" value="' + s.data[i][1] + '" class="optText" style="width:33px;"></td>' +//compo H
						'<td width="40" class="optGridyBody">'+
						'<input id="VE_V'+[i]+'"  type="Text" value="' + s.data[i][2] + '" class="optText" style="width:33px;"></td>' +// campo W
						'<td width="40" class="optGridyBody">'+
						'<input id="VE_Q'+[i]+'"  type="Text" value="' + s.data[i][3] + '" class="optText" style="width:33px;"></td>' +//campo D
						'<td width="50" class="optGridyBody">'+ 
						'<select id="sel_3'+[i]+'" class="optText" style="width:48px;">'+select_3+'</select></td>' + // sexto campo
						'<td width="45" class="optGridyBody">'+ 
						'<input id="weight_3'+[i]+'" type="text" class="optText" value="' + s.data[i][4] + '" style="width:38px;"></td>' + //  campo siete
						'<td width="50" class="optGridyBody">'+ 
						'<select id="sel_4'+[i]+'" class="optText" style="width:48px;" >'+select_4+'</select></td>' + // ocho campo
						'<td width="45" class="optGridyBody">'+ 
						'<input id="qty_'+[i]+'" type="text" class="optText" value="' + s.data[i][5] + '" style="width:38px;"></td>' + //  campo nueve
						'<td width="60" class="optGridyBody">'+ 
						'<input id="itemvalue_'+[i]+'" type="text" class="optText" value="' + s.data[i][6] + '" style="width:53px;"></td>' + //  campo diez
					    '<td width="60" class="optGridyBody">'+ 
						''+
						'<input id="ide_'+[i]+'" type="hidden"  value="'+i+'">'+
						'<select id="sel_5'+[i]+'" class="optText" style="width:58px;"><option value="USD">USD</select></td>' + // sexto campo
		                '</tr></table>' +
						'</div>';
			}
			s.con.innerHTML = html;
		}
	}
	function sumTts(){
		sGetData();
		var d = s.data.length;
		var total = 0;
		var p = '|';
		var R = '@@';
		var cadena = "";
		for(i=0;i<d;i++){
			if(s.data[i][0]!=""){
				if(s.data[i][5]==""){
					alert("Please Type Qty");
					return;
				}
				var txt = 0;
				//calculaPeso(weight,H,W,D,tipopeso,medida){
				txt = calculaPeso(s.data[i][4],s.data[i][1],s.data[i][2],s.data[i][3],s.data[i][7],s.data[i][8]);
				if(txt==-1000){
					return;
				}
				if(cadena==""){
					cadena+=s.data[i][0]+p+s.data[i][9]+p+txt+p+s.data[i][6]+p+"100"+p+"12345"+p+s.data[i][5];
				}else{
					cadena+=R+s.data[i][0]+p+s.data[i][9]+p+txt+p+s.data[i][6]+p+"100"+p+"12345"+p+s.data[i][5];	
				}
			}
		}
		var country = xGetElementById("cmbcountry").value;
		var country2 = xGetElementById("cmbcountry2").value;
		var typeC = xGetElementById("customers").value;
		var indice = document.getElementById("cmbcountry").selectedIndex
		var valor = document.getElementById("cmbcountry").options[indice].getAttribute("idx");
		//document.getElementById("CI_phone_cod").value = valor;
		//alert(valor);
		if(valor=='Y'){
			var accion  = "getValuesTwo";
		}else{
			var accion  = "getValues2";
		}
		
		if(country==0){
			alert("Please Country Destination");
			return;
		}
		if(country2==0){
			alert("Please Country of Shipment");
			return;
		}		
		if(cadena==""){
			alert("Please Complete Rows");
			return;
		}
		//alert(cadena);
		//return;
		xGetElementById("btn_").innerHTML = '<span style="font-size:20px;color:#87cefa;">processing...</span>';
		var streem = "cmd="+accion+"&data=" + cadena + "&pais=" + country+"&pais2=" + country2+ "&tipo="+typeC+"&fixid=" + generateProgressID();
		Ajax.post("calc_ajax.php", streem, handleTotal);	
		//alert(cadena);
		
		//xGetElementById("ftls").value = formatNumber(total,"0.00");		
	}
	function sFill(list) {
		if(list && typeof(list) == 'object') {
			s.data = list;
			sWrite();
		}
	}
	// constructor
	this.con = xGetElementById('webListOptions');
	this.data = new Array(); // datos del grid
	this.add = sAdd;
	this.fill = sFill;
	this.content  = extractData;
	this.contador = 0;
	
	this.suma = sumTts;
}

