<!--

//***************************************
//*										*
//*		Yokogawa Electric Corporation	*
//*		location selector program		*
//*										*
//***************************************

//define

var lcOBJ = new Object();

lcOBJ.locXMLPass = $("locXMLPass").value;

lcOBJ.lvLimit =99;		//レベル上限
lcOBJ.lvlast = 1;		//最下層レベル

lcOBJ.lvMax = new Array();
lcOBJ.lvCnt = new Array();
lcOBJ.lvNodeName = new Array();
lcOBJ.lvNodes = new Array();
lcOBJ.lvName = new Array();
lcOBJ.lvLink = new Array();
lcOBJ.setCurrent = new Array();
lcOBJ.lvMacthCnt =0;
lcOBJ.menuWk ="";

lcOBJ.thisObj = this;
lcOBJ.msgObj = new lcOBJ_msgControler();

//**************
//	起動処理
//**************
window.onload = function() {
	$("location-title").style.visibility ="visible";
	lcOBJ.msgObj.msgDisp(0);	// "Be reading" message display. 
	lcOBJ.nwLocation = lcOBJ.httpCutter(parent.location.toString());	//現在地のドキュメントルートからのアドレス
	if(Ajax.getTransport()) var xmlLoad = new Ajax.Request(lcOBJ.locXMLPass, { method:'get', onComplete:lcOBJ.loadingProc});
}

lcOBJ.loadingProc = function(httpObj){

	var xmlObj = httpObj.responseXML;

	lcOBJ.lvNodeNameSet();

	lcOBJ.lvNodes[1] = xmlObj.getElementsByTagName(lcOBJ.lvNodeName[1]).item(0);

	lcOBJ.xmlMatchCalc();		//xmlから検索
	
	lcOBJ.xmlOutPut();		//出力

	lcOBJ.msgObj.msgClear();

	$("select-country-area").style.visibility ="visible";
	$("selected-country").style.visibility ="visible";

}

//*******************************
//* level メインシンボル セット	*
//*******************************

lcOBJ.lvNodeNameSet = function() {

	var i=1;

	while(i<=(lcOBJ.lvLimit+1)){

		lcOBJ.lvMax[i] =0;

		lcOBJ.lvCnt[i] =0;

		lcOBJ.lvNodeName[i] = "level_" + i;

		i++;

	}

}


//***************************
//*	xml Match Level calc	*
//***************************

lcOBJ.xmlMatchCalc = function() {

	var levelNum=1;

	lcOBJ.lvMacthCnt =0;

	lcOBJ.lvMax[levelNum+1] = lcOBJ.lvNodes[levelNum].getElementsByTagName(lcOBJ.lvNodeName[levelNum+1]).length;

	if(lcOBJ.lvMax[levelNum+1] > 0) xmlCalc();

	//再帰的 xml calc

	function xmlCalc() {
		levelNum++;

		lcOBJ.lvCnt[levelNum] = 0;

		while(lcOBJ.lvCnt[levelNum]<lcOBJ.lvMax[levelNum]) {

			lcOBJ.nodeGetter(levelNum,lcOBJ.lvCnt[levelNum]);	//ノード取り出し

			lcOBJ.lvCnt[levelNum]++;

		}

		levelNum--;

	}

}



//********************
// xml -> tag Output
//********************

lcOBJ.xmlOutPut = function() {

	var levelNum=1;

	var idCnt=1;
	
	lcOBJ.menuWk = '<form action="javascript:void(0);" id="location-form" name="location-form">\n<select id="location-selecter" name="location-selecter" tabindex="0" onChange="lcOBJ.selector_Selected(this);return false" onMouseOver="this.focus()" size="18">\n';

if(fcObj.uAgent.indexOf("MSIE") !=-1){
/*@cc_on
@if (@_win32 && @_jscript_version>4)
	lcOBJ.menuWk = '<form action="javascript:void(0);" id="location-form" name="location-form">\n<select id="location-selecter" name="location-selecter" tabindex="0" onChange="lcOBJ.selector_Selected(this);return false" onMouseOver="this.focus();scanMW.scanMWClear()" onMouseOut="scanMW.scanMWstart()" size="18">\n';
@end @*/
}

	lcOBJ.lvMax[levelNum+1] = lcOBJ.lvNodes[levelNum].getElementsByTagName(lcOBJ.lvNodeName[levelNum+1]).length;
	
	xmlOut_normal();		//level_2以降 再帰的 xml出力

	lcOBJ.menuWk += '<\/form>\n';

	lcOBJ.locMax = idCnt-1;

	$("location-selector-area").innerHTML = lcOBJ.menuWk;


	//再帰的 xml出力
	function xmlOut_normal(){
		levelNum++;

		lcOBJ.lvCnt[levelNum] = 0;

		while(lcOBJ.lvCnt[levelNum]<lcOBJ.lvMax[levelNum]) {

			lcOBJ.nodeGetter(levelNum,lcOBJ.lvCnt[levelNum]);

			lcOBJ.menuWk += menuLineReturn(levelNum);

			lcOBJ.lvCnt[levelNum]++;

		}

		levelNum--;

	}


	//***menu line return

	function menuLineReturn(lvNum) {
		var retwk="";
		retwk += '<option class="location-subwindow"' + ' value="' +  lcOBJ.lvName[lvNum] + ":" + lcOBJ.lvLink[lvNum] + '" id="location_' + lvNum + '" tabindex="0">' + lcOBJ.lvName[lvNum] + '</option>';
		return retwk;
	}

}


//****************************
// 当該レベルノード情報取得
//****************************

lcOBJ.nodeGetter = function(lvNum,itemCnt) {

	if(lcOBJ.lvlast <lvNum) lcOBJ.lvlast = lvNum;		//最下層レベル

	if(lvNum>1) lcOBJ.lvNodes[lvNum]= lcOBJ.lvNodes[lvNum-1].getElementsByTagName(lcOBJ.lvNodeName[lvNum]).item(itemCnt);

	lcOBJ.lvName[lvNum] = lcOBJ.lvNodes[lvNum].getElementsByTagName("dname").item(0).childNodes.item(0).nodeValue;

	lcOBJ.lvLink[lvNum] = lcOBJ.lvNodes[lvNum].getElementsByTagName("link").item(0).childNodes.item(0).nodeValue;

}


//***********************
// Message control class
//***********************
function lcOBJ_msgControler() {
	var msgBuffer ="";

	msgTbl = {0: valueGetter(0), 10:valueGetter(10), 100:valueGetter(100), 200:valueGetter(200)}

	lcOBJ_msgControler.prototype.msgClear = function() {
		if(msgBuffer !="") $("location-title").innerHTML = msgBuffer;
	}

	lcOBJ_msgControler.prototype.msgDisp = function(num) {
		var msgWk ="";
		if(msgTbl[num]) {
			msgBuffer = $("location-title").innerHTML;
			$("location-title").innerHTML = msgTbl[num];
		}
	}

	function valueGetter(valueNum) {
		var retText ="";
		if($("msgTbl_" + valueNum)) retText = $("msgTbl_" + valueNum).value;
		return retText;	
	}

}


//******************
// selector on/off
//******************

lcOBJ.selector_OnOff = function() {

	lcOBJ.selObj = $("location-selector-area");

	if(lcOBJ.selObj.style.visibility != "visible") {

		if(fcObj.uAgent.indexOf("MSIE") !=-1){
/*@cc_on
@if (@_win32 && @_jscript_version>4)
		//clearInterval(scanMW.intId);
		window.document.detachEvent("onmousedown", scanMW.scanMWClear);
		window.document.detachEvent("onmouseup", scanMW.scanMWstart);
		window.document.detachEvent("onclick", scanMW.scanMWstart);
@end @*/
		}

		lcOBJ.selObj.style.visibility = "visible";
		$("location-selecter").focus();

	} else {

		if(fcObj.uAgent.indexOf("MSIE") !=-1){
/*@cc_on
@if (@_win32 && @_jscript_version>4)
		//scanMW.intId = setInterval("scanMW.detectFontSizeScan()",scanMW.scanDelay);
		window.document.attachEvent("onmousedown", scanMW.scanMWClear);
		window.document.attachEvent("onmouseup", scanMW.scanMWstart);
		window.document.attachEvent("onclick", scanMW.scanMWstart);
@end @*/
		}

		lcOBJ.selObj.style.visibility  = "hidden";

	}

}


//********************
// selector selected.
//********************

lcOBJ.selector_Selected = function(selObj){

	var getValue = selObj.value.split(":");

	var selectedObj = $("selected-country");

	var textObj = selectedObj.getElementsByTagName("span").item(0);

	textObj.innerHTML = getValue[0];

	var submitObj = $("submit-location");

	submitObj.setAttribute("href",getValue[1]);

	submitObj.getElementsByTagName("img").item(0).setAttribute("alt",('It is a location in "' + getValue[0] + '".'));

	$("location-selector-area").style.visibility  = "hidden";

}

//***********************
// http://xxxxx.xxx/ cut
//***********************

lcOBJ.httpCutter = function(srcText) {

	var hrefObj01=srcText;

	var httpChek = hrefObj01.indexOf("http://");

	if(httpChek !=-1) {

		var charChg01 = hrefObj01.split("http://");

		var charChg02 = charChg01[1].indexOf("/");

		var charChg03 = charChg01[1].slice(charChg02);

		hrefObj01 = charChg03;

	}

	return hrefObj01;

}


// -->


