//**********************************
//　グローバル変数
//**********************************
var objXmlHttp   = null;	// xmlHTTPオブジェクト
var select_id    = null;	// プルダウンID
var selected_val = null;	// プルダウン選択値

//******************************************************************
// [関数名  ] doXML()
// [機能内容] 指定されたURLにHTTPリクエストを行い指定された関数を実行
// [引数    ] target_url:実行Servlet、method:get,post
//         data:パラメータ、success_func:実行関数
// [戻り値  ]
//******************************************************************
function doXML(target_url, method, data, success_func) {
	// XMLHttpRequest の準備
	objXmlHttp = createXmlHttpObj();
	
	if(objXmlHttp == null) {
		alert('XMLHttpRequest オブジェクトが利用できません');
		return;
	}
	
	objXmlHttp.onreadystatechange = success_func;
	// REST リクエスト
	objXmlHttp.open(method, target_url, true);
	objXmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
	objXmlHttp.send(data);
}

//******************************************************************
// [関数名  ] createXmlHttpObj()
// [機能内容] Webブラウザによる XMLHttp オブジェクト差異の吸収
// [引数    ] なし
// [戻り値  ] XMLHttpRequest
//******************************************************************
function createXmlHttpObj() {
	if(window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				return null;
			}
		}
	} else {
		return null;
	}
}

//******************************************************************
//[関数名  ] createComBox()
//[機能内容] コンボボックス生成ランチャー関数
//[引数    ] selectID:プルダウン名、selectedVal:選択値、schKey:国ID
//[戻り値  ] 
//******************************************************************
function createComBox(selectID, selectedVal, schKey, url) {
	
	select_id = selectID;
	selected_val = selectedVal;
	
	var param = "key=" + schKey;
	
	doXML(url, 'Post', param, loadList);
}

//******************************************************************
//[関数名  ] searchCust()
//[機能内容] 顧客検索ランチャー関数
//[引数    ] email:Eメールアドレス
//[戻り値  ] 
//******************************************************************
function searchCust(email, url) {
	
	var param = "email=" + email;
	
	doXML(url, 'Post', param, loadCust);
}

//******************************************************************
//[関数名  ] chkInspe()
//[機能内容] 検査要否チェックランチャー関数
//[引数    ] country:国ID
//[戻り値  ] 
//******************************************************************
function chkInspe(url) {
	
	var country = document.getElementById('country').value;
	country = country.split('@');
	var param = "country=" + country[0];
	
	doXML(url, 'Post', param, retInspeCnty);
}

//******************************************************************
//[関数名  ] searchVehRemarks()
//[機能内容] 車輛検索ランチャー関数
//[引数    ] refno:RefNo、disparea:表示位置
//[戻り値  ] 
//******************************************************************
function searchVehRemarks(refno, disparea, url) {
	
	var param = "refno=" + refno + "&disparea=" + disparea;
	
	doXML(url, 'Post', param, loadVeh);
}

//******************************************************************
//[関数名  ] execInquiry()
//[機能内容] 問合せランチャー関数
//[引数    ] param:パラメータ、url:リクエストURL
//[戻り値  ] 
//******************************************************************
function execInquiry(param, url) {
	
	doXML(url, 'Post', param, retInquiry);
}

//******************************************************************
//[関数名  ] delImgUnit()
//[機能内容] 画像単体削除ランチャー関数
//[引数    ] param:パラメータ、index:枝番、url:リクエストURL
//[戻り値  ] 
//******************************************************************
function delImgUnit(param, index, url) {
	if(window.confirm("画像"+index+"を削除します。よろしいですか？")) {
		doXML(url, 'Post', param, retDelImgUnit);
	} else {
		return false;
	}
}

//******************************************************************
//[関数名  ] chkRefNo()
//[機能内容] REFNO存在チェックランチャー関数
//[引数    ] refno:REFNO
//[戻り値  ] 
//******************************************************************
function chkRefNo(refno, url) {
	
	if(refno == "") {
		document.getElementById('refMes').innerHTML ="";
		return false;
	}
	
	var param = "refno=" + refno;
	
	doXML(url, 'Post', param, retRefNo);
}

//******************************************************************
//[関数名  ] searchPurchaser()
//[機能内容] 発注者情報検索ランチャー関数
//[引数    ] purchaserID:発注者ID
//[戻り値  ] 
//******************************************************************
function searchPurchaser(purchaserID, url) {
	
	var consignee_flg = "0";
	if(document.getElementById('consignee_flg').checked == true) {
		consignee_flg = "1";
	}
	
	if(consignee_flg == "1") {
		var param = "purchaserID=" + purchaserID;
		
		doXML(url, 'Post', param, loadPurchaser);
	} else {
		document.getElementById('consignee_country_id').value = "";
		document.getElementById('consignee_to').value         = "";
		document.getElementById('consignee_name').value       = "";
		document.getElementById('consignee_addr').value       = "";
		document.getElementById('consignee_tel').value        = "";
		document.getElementById('consignee_tel2').value       = "";
		document.getElementById('consignee_tel3').value       = "";
		document.getElementById('consignee_fax').value        = "";
		document.getElementById('consignee_mob').value        = "";
		
		document.getElementById('hid_consignee_flg').value        = "";
		document.getElementById('hid_consignee_country_id').value = "";
		document.getElementById('hid_consignee_to').value         = "";
		document.getElementById('hid_consignee_name').value       = "";
		document.getElementById('hid_consignee_addr').value       = "";
		document.getElementById('hid_consignee_tel').value        = "";
		document.getElementById('hid_consignee_tel2').value       = "";
		document.getElementById('hid_consignee_tel3').value       = "";
		document.getElementById('hid_consignee_fax').value        = "";
		document.getElementById('hid_consignee_mob').value        = "";

		document.getElementById('consignee_country_id').disabled = false;
		document.getElementById('consignee_to').disabled         = false;
		document.getElementById('consignee_name').disabled       = false;
		document.getElementById('consignee_addr').disabled       = false;
		document.getElementById('consignee_tel').disabled        = false;
		document.getElementById('consignee_tel2').disabled       = false;
		document.getElementById('consignee_tel3').disabled       = false;
		document.getElementById('consignee_fax').disabled        = false;
		document.getElementById('consignee_mob').disabled        = false;
		
	}
}

//******************************************************************
//[関数名  ] reg_group()
//[機能内容] グループ登録ランチャー関数
//[引数    ] 
//[戻り値  ] 
//******************************************************************
function reg_group() {
	var group = document.getElementById('group_name').value;
	if(group == "") {
		alert('グループ名を入力してください');
		return false;
	}
	var param = "exeFlg=reg&group_name=" + group;
	doXML('../../ajax/group_proc.php', 'Post', param, retGroup);
}

//******************************************************************
//[関数名  ] pi_situation_proc()
//[機能内容] PI受領ランチャー関数
//[引数    ] 
//[戻り値  ] 
//******************************************************************
function pi_situation_proc(param, url) {
	doXML(url, 'Post', param, retPISituation);
}

//******************************************************************
//[関数名  ] pi_situation_cxl_proc()
//[機能内容] PI取消ランチャー関数
//[引数    ] 
//[戻り値  ] 
//******************************************************************
function pi_situation_cxl_proc(param, url) {
	doXML(url, 'Post', param, retPISituationCxl);
}

//******************************************************************
//[関数名  ] inq_country()
//[機能内容] Inquiry国変更ランチャー関数
//[引数    ] 
//[戻り値  ] 
//******************************************************************
function inq_country(country_id, url) {
	
	var param = "country="+country_id;
	doXML(url, 'Post', param, retInqCountry);
}

//******************************************************************
//[関数名  ] chgYukoMuko()
//[機能内容] PI状況更新ランチャー関数
//[引数    ] 
//[戻り値  ] 
//******************************************************************
function chgYukoMuko(id, flg, url) {
	
	var mes = "";
	if(flg == "0") {
		mes = "有効";
	} else if(flg == "1") {
		mes = "無効";
	}
	
	if(window.confirm(mes+'にしてよろしいですか？')){
		var param = "id="+id+"&flg="+flg;
		doXML(url, 'Post', param, retPIStatus);
	} else {
		return false;
	}
}

//******************************************************************
//[関数名  ] calcFreightPI()
//[機能内容] PI作成時港変更によるフレイト再計算（PI新規作成時）
//[引数    ] portID：港ID、estID：見積りID
//[戻り値  ] 
//******************************************************************
function calcFreightPI(portID, estID, url) {
	
	var param = "estID="+estID+"&portID="+portID;
	doXML(url, 'Post', param, retPIFreight);
}

//******************************************************************
//[関数名  ] calcFreightPIEdit()
//[機能内容] PI作成時港変更によるフレイト再計算（PI編集時）
//[引数    ] portID：港ID、piID：PI ID
//[戻り値  ] 
//******************************************************************
function calcFreightPIEdit(portID, piID, url) {
	
	var param = "piID="+piID+"&portID="+portID;
	doXML(url, 'Post', param, retPIFreight);
}

//******************************************************************
//[関数名  ] setInspectionVal()
//[機能内容] 国IDから検査有無セット
//[引数    ] cntyID：国ID
//[戻り値  ] 
//******************************************************************
function setInspectionVal(cntyID) {
	
	var param = "cntyID="+cntyID;
	doXML('../../ajax/cnty_to_inspe.php', 'Post', param, retInspeVal);
}
