(function($) {


	$.extend($.fn, {

		AppendCharge: function(options) {

			var p = new $.AppendChargeor(options, this);

		}

	});


	$.AppendChargeor = function(options, obj) {

		//$(document).unbind("mousedown");

		if (!options)
		options = { type: "FCL" };


		$(document).mousedown(function(event) {



			if ($("#txtAppendChargeor").length > 0 && $("#txtAppendChargeor").css("display") != "none") {


				var p = $.getPostion($("#txtAppendChargeor").get(0));



				var isInner = event.pageX > p.left && event.pageX < p.right && event.pageY > p.top && event.pageY < p.bottom;


				if (!isInner) {

					var o = $(event.target);


					if ($(event.target).attr("id") == "sel1" || $(event.target).parent().attr("id") == "sel1") {

					}
					else {
						$("#txtAppendChargeor").hide();
					}
				}



			}


		})

		this.current = null;
		var rowTemplate = "";
		var divTemplate = "";



		if (options.type == "LCL") {


			rowTemplate = ' <tr><td class="selewidth"><select name="select7" id="sel1" style="width: 115px;">' +
			' <option value="BAF">BAF</option><option value="CAF">CAF</option>option value="CSF">CSF</option>' +
			' <option value="WRS">WRS</option><option value="BAF/YAS">BAF/YAS</option><option value="EBS">EBS</option>' +
			' <option value="PSS">PSS</option><option value="DDC">DDC</option><option value="THC">THC</option>' +
			' <option value="ORC">ORC</option><option value="DOC">DOC</option><option value="SPS">SPS</option>' +
			' <option value="ISPS">ISPS</option><option value="AMS">AMS</option><option value="ACI">ACI</option>' +
			' <option value="THC">THC</option><option value="LIST">LIST</option><option value="IPI">IPI</option>' +
			' <option value="IAC">IAC</option><option value="ERS">ERS</option><option value="ACC">ACC</option>' +
			' <option value="PAD">PAD</option><option value="SCS">SCS</option><option value="ESF">ESF</option>' +
			' <option value="SSC">SSC</option><option value="PCS">PCS</option><option value="GRI">GRI</option>' +
			' <option value="CY-CHARGE">CY-CHARGE</option><option value="CGS">CGS</option><option value="TCP">TCP</option>' +
			' <option value="GRR">GRR</option><option value="RR">RR</option><option value="LIS">LIS</option>' +
			' <option value="LSF">LSF</option><option value="RCT">RCT</option><option value="BSS">BSS</option>' +
			' <option value="SCTS">SCTS</option><option value="SUZ">SUZ</option><option value="FAF">FAF</option>' +
			' <option value="DG">DG</option><option value="CIC">CIC</option></select></td>' +
			' <td><input type="text" class="fj_mb" maxlength="6" /></td>' +
			' <td><input type="text" class="fj_a" maxlength="6"  /></td>' +
			' <td><a href="javascript:void(0);" >删除</a></td></tr>';

			divTemplate = '<div class="fujf" id="txtAppendChargeor" style="display:none;position:absolute;z-index:120;"><div><p class="txt">海运附加费</p>' +
			' <em class="warn">(如果您未填写附加费，系统将默认为零)</em>' +
			' <table width="100%" border="0" cellspacing="0" cellpadding="0" id="tableAppendChargeor">' +
			' <tr><th class="selewidth">费用项目</th><th class="mli">每立方米</th> <th class="mli">每吨</th><th class="secaozuo">操作</th></tr>' +
			' </table><p><a href="#" class="zj" id="btnAppendAdd">添加附加费</a><a href="#" class="zj" id="btnAppendChargeor">确定</a></p><p class="c"></p>' +
			' </div></div>';

		}

		else {
			rowTemplate = ' <tr><td class="selewidth"><select name="select7" id="sel1" style="width: 115px;">' +
			' <option value="BAF">BAF</option><option value="CAF">CAF</option>option value="CSF">CSF</option>' +
			' <option value="WRS">WRS</option><option value="BAF/YAS">BAF/YAS</option><option value="EBS">EBS</option><option value="ECR">ECR</option><option value="文件费">文件费</option><option value="箱单">箱单</option>' +
			' <option value="PSS">PSS</option><option value="DDC">DDC</option><option value="THC">THC</option>' +
			' <option value="ORC">ORC</option><option value="DOC">DOC</option><option value="SPS">SPS</option>' +
			' <option value="ISPS">ISPS</option><option value="AMS/ENS">AMS/ENS</option><option value="ACI">ACI</option>' +
			' <option value="THC">THC</option><option value="LIST">LIST</option><option value="IPI">IPI</option>' +
			' <option value="IAC">IAC</option><option value="ERS">ERS</option><option value="ACC">ACC</option>' +
			' <option value="PAD">PAD</option><option value="SCS">SCS</option><option value="ESF">ESF</option>' +
			' <option value="SSC">SSC</option><option value="PCS">PCS</option><option value="GRI">GRI</option>' +
			' <option value="CY-CHARGE">CY-CHARGE</option><option value="CGS">CGS</option><option value="TCP">TCP</option>' +
			' <option value="GRR">GRR</option><option value="RR">RR</option><option value="LIS">LIS</option>' +
			' <option value="LSF">LSF</option><option value="RCT">RCT</option><option value="BSS">BSS</option>' +
			' <option value="SCTS">SCTS</option><option value="SUZ">SUZ</option><option value="FAF">FAF</option>' +
			' <option value="DG">DG</option><option value="CIC">CIC</option></select></td>' +
			' <td><input type="text" class="fj_a" maxlength="6" /></td>' +
			' <td><input type="text" class="fj_b" maxlength="6" /></td>' +
			' <td><input type="text" class="fj_c" maxlength="6" /></td>' +
			' <td><input type="text" class="fj_d" maxlength="6" /></td><td><a href="javascript:void(0);" >删除</a></td></tr>';

			divTemplate = '<div class="fujf" id="txtAppendChargeor" style="display:none;position:absolute;z-index:120;"><div><p class="txt">海运附加费</p>' +
			' <em class="warn">(如果您未填写附加费，系统将默认为零)</em>' +
			' <table width="100%" border="0" cellspacing="0" cellpadding="0" id="tableAppendChargeor">' +
			' <tr><th class="selewidth">费用项目</th><th>20\'</th><th>40\'</th><th>40\'H</th><th>45\'</th><th class="secaozuo">操作</th></tr>' +
			' </table><p><a href="#" class="zj" id="btnAppendAdd">添加附加费</a><a href="#" class="zj" id="btnAppendChargeor">修改</a><a href="#" class="zj" id="btnEsc">取消</a></p><p class="c"></p>' +

			' </div></div>';
		}









		obj.click(function(event) {
			this.current = event.target;
			$C = $(this.current);
			curId = this.current.id;
			//event.target.parentElement.parentElement.rowIndex
			row = (event.target.parentNode.parentNode.rowIndex);
			if ($("#txtAppendChargeor").length == 0) {
				$(divTemplate).prependTo('body');


				$("#btnAppendChargeor").click(function(event) {
					var result = { f20: "", f40: "", f40HQ: "", f45: "" };
					var str = "";
					var str1 ="";
					$("tr", $("#tableAppendChargeor")).each(function(i, e) {
						if (i > 0) {

							$e = $(e);

							var aname = $("select", $e).val();


							if (result.f20.length > 0)
							result.f20 += "|";

							result.f20 += aname + ":" + $("input:eq(0)", $e).val();

							if (result.f40.length > 0)
							result.f40 += "|";

							result.f40 += aname + ":" + $("input:eq(1)", $e).val();

							if (result.f40HQ.length > 0)
							result.f40HQ += "|";

							result.f40HQ += aname + ":" + $("input:eq(2)", $e).val();

							if (result.f45.length > 0)
							result.f45 += "|";

							result.f45 += aname + ":" + $("input:eq(3)", $e).val();

							if (!$("input:eq(0)", $e).val())
							{
								$("input:eq(0)", $e).val(0);
							}
							if (!$("input:eq(1)", $e).val())
							{
								$("input:eq(1)", $e).val(0);
							}

							if (!$("input:eq(2)", $e).val())
							{
								$("input:eq(2)", $e).val(0);
							}

							if (!$("input:eq(3)", $e).val())
							{
								$("input:eq(3)", $e).val(0);
							}

							//							str =  $("select", $e).val()+'-'+ $("input:eq(0)", $e).val()+'-'+ $("input:eq(1)", $e).val()+'-'+$("input:eq(2)", $e).val()+'-'+$("input:eq(3)", $e).val()+'|';
							//							str1 = str1 + str;
							//							$('#expenses_'+row).val(str1);
							var arr = curId.split('_');
							var aa = $("select", $e).val();
							var bb =  $("input:eq(0)", $e).val();
							var cc =  $("input:eq(1)", $e).val();
							var dd = $("input:eq(2)", $e).val();
							var ee = $("input:eq(3)", $e).val();
							if (arr[1] == 0)
							{
								$.post("/admin/freight/handle/changeplace.html", {	select: ""+aa+"",id: ""+arr[2]+"",one: ""+bb+"",two: ""+cc+"",three: ""+dd+"",four: ""+ee+""}, function(data){

								});
							}
							else
							{
								$.post("/admin/freight/handle/addsur.html", {	select: ""+aa+"",id: ""+arr[2]+"",one: ""+bb+"",two: ""+cc+"",three: ""+dd+"",four: ""+ee+""}, function(data){

								});
							}
						}
					});

					var brr = curId.split('_');
					if (brr[1] == 0)
					{
						$.post("/admin/freight/handle/changetype.html", {	id: ""+arr[2]+""}, function(data){
							$('#'+curId+'').attr("id",""+brr[0]+"_1_"+brr[2]+"");
						});
					}

					//gai

					//     alert(result.f20 + "#" + result.f40 + "#" + result.f40HQ + "#" + result.f45);

					$C.attr("v", result.f20 + "#" + result.f40 + "#" + result.f40HQ + "#" + result.f45);


					$AppendChargeor.hide();

					return false;
				})

				$("#btnEsc").click(function(event)
				{
				//	alert('1111');
					$AppendChargeor.hide();
					return false;

				})

				$("#btnAppendAdd").click(function(event) {

					var r = $(rowTemplate).insertAfter("#tableAppendChargeor tr:last-child");

					$("a", r).click(function() {

						r.remove();
						return false;

					});

					return false;
				})
			}

			$AppendChargeor = $("#txtAppendChargeor");
			if ($C.attr("v")) {
				$("#tableAppendChargeor").empty();
				if (options.type == "LCL") {
					$("#tableAppendChargeor").html('<tr><th class="selewidth">费用项目</th><th class="mli">每立方米</th> <th class="mli">每吨</th><th class="secaozuo">操作</th></tr>');
				}
				else{
					$("#tableAppendChargeor").html('<tr><th class="selewidth">费用项目</th><th>20\'</th><th>40\'</th><th>40\'H</th><th>45\'</th><th class="secaozuo">操作</th></tr>');
				}



				var col = $C.attr("v").split("#");


				var v20 = col[0].split("|");

				var v40 = col[1].split("|");
				var v40HQ = col[2].split("|");
				var v45 = col[3].split("|");
				for (var j = 0; j < v20.length; j++) {
					var ar = $(rowTemplate).insertAfter("#tableAppendChargeor tr:last-child");
					$("a", ar).click(function(event) {

						$(event.target).parent().parent().remove();
						//ar.remove();
						return false;

					});

					$("input", ar).blur(function(event) {

						$Target = $(event.target);

						if (!IsDigits($Target.val())) {

							$Target.val("");
							$Target.trigger("focus");

							event.stopPropagation();


						}
					});


					$("select", ar).val(v20[j].split(":")[0]);
					$("input:eq(0)", ar).val(v20[j].split(":")[1]);
					$("input:eq(1)", ar).val(v40[j].split(":")[1]);
					$("input:eq(2)", ar).val(v40HQ[j].split(":")[1]);
					$("input:eq(3)", ar).val(v45[j].split(":")[1]);
				}


			}
			else {
				$("#tableAppendChargeor").empty();
				if (options.type == "LCL") {
					$("#tableAppendChargeor").html('<tr><th class="selewidth">费用项目</th><th class="mli">每立方米</th> <th class="mli">每吨</th><th class="secaozuo">操作</th></tr>');
				}
				else{
					$("#tableAppendChargeor").html('<tr><th class="selewidth">费用项目</th><th>20\'</th><th>40\'</th><th>40\'H</th><th>45\'</th><th class="secaozuo">操作</th></tr>');
				}

				var arr = this.current.id.split('_');
				if (arr[1] == 0)
				{
					$.post("/admin/freight/handle/surcharge.html", {id: ""+arr[2]+""}, function(data){
						//	var col = new array();
					
						var ebs = data.ebs.split('/');
						var ebs1;
						var ebs2;
						var ebs3;
						var ebs4;

						if(data.ebs.split('/').length == 1)
						{
							ebs1 = "EBS:"+data.ebs;
							ebs2 = "EBS:"+data.ebs;
							ebs3 = "EBS:"+data.ebs;
							ebs4 = "EBS:"+data.ebs;
						}

						if(data.ebs.split('/').length == 2)
						{
							ebs1 = "EBS:"+ebs[0];
							ebs2 = "EBS:"+ebs[1];
							ebs3 = "EBS:"+ebs[1];
							ebs4 = "EBS:"+0;
						}
						if(data.ebs.split('/').length == 3)
						{
							ebs1 = "EBS:"+ebs[0];
							ebs2 = "EBS:"+ebs[1];
							ebs3 = "EBS:"+ebs[1];
							ebs4 = "EBS:"+ebs[2];
						}
						if(data.ebs.split('/').length == 4)
						{
							ebs1 = "EBS:"+ebs[0];
							ebs2 = "EBS:"+ebs[1];
							ebs3 = "EBS:"+ebs[2];
							ebs4 = "EBS:"+ebs[3];
						}

						var ecr = data.ecr.split('/');
						var ecr1;
						var ecr2;
						var ecr3;
						var ecr4;

						if(data.ecr.split('/').length == 1)
						{
							ecr1 = "ECR:"+data.ecr;
							ecr2 = "ECR:"+data.ecr;
							ecr3 = "ECR:"+data.ecr;
							ecr4 = "ECR:"+data.ecr;
						}

						if(data.ecr.split('/').length == 2)
						{
							ecr1 = "ECR:"+ecr[0];
							ecr2 = "ECR:"+ecr[1];
							ecr3 = "ECR:"+ecr[1];
							ecr4 = "ECR:"+0;
						}
						if(data.ecr.split('/').length == 3)
						{
							ecr1 = "ECR:"+ecr[0];
							ecr2 = "ECR:"+ecr[1];
							ecr3 = "ECR:"+ecr[1];
							ecr4 = "ECR:"+ecr[2];
						}
						if(data.ecr.split('/').length == 4)
						{
							ecr1 = "ECR:"+ecr[0];
							ecr2 = "ECR:"+ecr[1];
							ecr3 = "ECR:"+ecr[2];
							ecr4 = "ECR:"+ecr[3];
						}

						var cic = data.cic.split('/');
						var cic1;
						var cic2;
						var cic3;
						var cic4;
						if(data.cic.split('/').length == 1)
						{
							cic1 = "CIC:"+data.cic;
							cic2 = "CIC:"+data.cic;
							cic3 = "CIC:"+data.cic;
							cic4 = "CIC:"+data.cic;
						}
						if(data.cic.split('/').length == 2)
						{
							cic1 = "CIC:"+cic[0];
							cic2 = "CIC:"+cic[1];
							cic3 = "CIC:"+cic[1];
							cic4 = "CIC:"+0;
						}
						if(data.cic.split('/').length == 3)
						{
							cic1 = "CIC:"+cic[0];
							cic2 = "CIC:"+cic[1];
							cic3 = "CIC:"+cic[1];
							cic4 = "CIC:"+cic[2];
						}
						if(data.cic.split('/').length == 4)
						{
							cic1 = "CIC:"+cic[0];
							cic2 = "CIC:"+cic[1];
							cic3 = "CIC:"+cic[2];
							cic4 = "CIC:"+cic[3];
						}

						var thc = data.thc.split('/');
						var thc1;
						var thc2;
						var thc3;
						var thc4;
						if(data.thc.split('/').length == 1)
						{
							thc1 = "THC:"+data.thc;
							thc2 = "THC:"+data.thc;
							thc3 = "THC:"+data.thc;
							thc4 = "THC:"+data.thc;
						}
						if(data.thc.split('/').length == 2)
						{
							thc1 = "THC:"+thc[0];
							thc2 = "THC:"+thc[1];
							thc3 = "THC:"+thc[1];
							thc4 = "THC:"+0;
						}
						if(data.thc.split('/').length == 3)
						{
							thc1 = "THC:"+thc[0];
							thc2 = "THC:"+thc[1];
							thc3 = "THC:"+thc[1];
							thc4 = "THC:"+thc[2];
						}
						if(data.thc.split('/').length == 4)
						{
							thc1 = "THC:"+thc[0];
							thc2 = "THC:"+thc[1];
							thc3 = "THC:"+thc[2];
							thc4 = "THC:"+thc[3];
						}
						var file1 = "文件费:"+data.file;
						var file2 = "文件费:"+data.file;
						var file3 = "文件费:"+data.file;
						var file4 = "文件费:"+data.file;
						
						var amsens1 = "AMS/ENS:"+data.amsens;
						var amsens2 = "AMS/ENS:"+data.amsens;
						var amsens3 = "AMS/ENS:"+data.amsens;
						var amsens4 = "AMS/ENS:"+data.amsens;

						var packlist = data.packlist.split('/');
						var packlist1;
						var packlist2;
						var packlist3;
						var packlist4;

						if(data.packlist.split('/').length == 1)
						{
							packlist1 = "箱单:"+data.packlist;
							packlist2 = "箱单:"+data.packlist;
							packlist3 = "箱单:"+data.packlist;
							packlist4 = "箱单:"+data.packlist;
						}

						if(data.packlist.split('/').length == 2)
						{
							packlist1 = "箱单:"+packlist[0];
							packlist2 = "箱单:"+packlist[1];
							packlist3 = "箱单:"+packlist[1];
							packlist4 = "箱单:"+0;
						}
						if(data.packlist.split('/').length == 3)
						{
							packlist1 = "箱单:"+packlist[0];
							packlist2 = "箱单:"+packlist[1];
							packlist3 = "箱单:"+packlist[1];
							packlist4 = "箱单:"+packlist[2];
						}
						if(data.packlist.split('/').length == 4)
						{
							packlist1 = "箱单:"+packlist[0];
							packlist2 = "箱单:"+packlist[1];
							packlist3 = "箱单:"+packlist[2];
							packlist4 = "箱单:"+packlist[3];
						}
						var col = new Array();
						col[0] = ""+ebs1+"|"+ecr1+"|"+cic1+"|"+thc1+"|"+file1+"|"+packlist1+"|"+amsens1;
						col[1] = ""+ebs2+"|"+ecr2+"|"+cic2+"|"+thc2+"|"+file2+"|"+packlist2+"|"+amsens2;
						col[2] = ""+ebs3+"|"+ecr3+"|"+cic3+"|"+thc3+"|"+file3+"|"+packlist3+"|"+amsens3;
						col[3] = ""+ebs4+"|"+ecr4+"|"+cic4+"|"+thc4+"|"+file4+"|"+packlist4+"|"+amsens4;

						var v20 = col[0].split("|");
						var v40 = col[1].split("|");
						var v40HQ = col[2].split("|");
						var v45 = col[3].split("|");
						for (var j = 0; j < v20.length; j++) {
							var ar = $(rowTemplate).insertAfter("#tableAppendChargeor tr:last-child");
							$("a", ar).click(function(event) {

								$(event.target).parent().parent().remove();
								//ar.remove();
								return false;

							});

							$("input", ar).blur(function(event) {

								$Target = $(event.target);

								if (!IsDigits($Target.val())) {
									$Target.val("");
									$Target.trigger("focus");
									event.stopPropagation();
								}
							});
							$("select", ar).val(v20[j].split(":")[0]);
							$("input:eq(0)", ar).val(v20[j].split(":")[1]);
							$("input:eq(1)", ar).val(v40[j].split(":")[1]);
							$("input:eq(2)", ar).val(v40HQ[j].split(":")[1]);
							$("input:eq(3)", ar).val(v45[j].split(":")[1]);
						}
					},"json");
				}
				else
				{
					$.post("/admin/freight/handle/surchargenew.html", {id: ""+arr[2]+""}, function(data){
						$.each(data,function(i,n)
						{
							var ar = $(rowTemplate).insertAfter("#tableAppendChargeor tr:last-child");
							$("a", ar).click(function(event) {

								$(event.target).parent().parent().remove();
								//ar.remove();
								return false;

							});

							$("input", ar).blur(function(event) {

								$Target = $(event.target);

								if (!IsDigits($Target.val())) {
									$Target.val("");
									$Target.trigger("focus");
									event.stopPropagation();
								}
							});
							$("select", ar).val(n.surcharge_type);
							$("input:eq(0)", ar).val(n.price_one);
							$("input:eq(1)", ar).val(n.price_two);
							$("input:eq(2)", ar).val(n.price_three);
							$("input:eq(3)", ar).val(n.price_four);
						});
					},"json");
				}

				//				var r = $(rowTemplate).insertAfter("#tableAppendChargeor tr:last-child");
				//
				//				$("a", r).click(function() {
				//
				//					r.remove();
				//					return false;
				//
				//				});
				//
				//				$("input", r).blur(function(event) {
				//
				//					$Target = $(event.target);
				//
				//					if (!IsDigits($Target.val())) {
				//
				//						$Target.val("");
				//						$Target.trigger("focus");
				//
				//						event.stopPropagation();
				//
				//
				//					}
				//				});
			}



			var p = $.getPostion(event.target);

			$AppendChargeor.css({ top: p.bottom, left: p.left });
			$AppendChargeor.fadeIn('slow');
			$AppendChargeor.show();

			return false;

		})


		obj.blur(function(event) {

			this.current = null;
			//$Weekor.hide();

		})



	},





	$.getPostion = function(obj) {

		var actualTop = obj.offsetTop;
		var actualLeft = obj.offsetLeft;

		var current = obj.offsetParent;
		while (current !== null) {
			actualTop += current.offsetTop;
			actualLeft += current.offsetLeft;
			current = current.offsetParent;
		}


		return { left: actualLeft, right: actualLeft + obj.offsetWidth, top: actualTop, bottom: actualTop + obj.offsetHeight };
	}







} (jQuery));









