/* =============================================リスト========= */

/* 読み込むHTMLファイルからの相対パスを指定。末尾のスラッシュは必須*/
if(location.href.indexOf("hotelindex",0)>=0){
var dataDir = "../wp/hoteldata/";		
}else{
var dataDir = "../hoteldata/";	
}

/*  国名データのファイル名*/
var countryDataFile = "001_countrydata.txt";

var currentPath = location.href;


//初期設定（func.jsから呼び出し）
function hotelInit(){
	for(var i = 0, args = []; i < arguments.length; i++){
		args[i] = arguments[i];
	}

	for (i=0; i<args.length;i++) {
		hideElements(args[i]);
	}
}


//不要要素非表示
function hideElements(target){
	var obj = document.getElementById(target).childNodes;

	for (i=0; i<obj.length; i++) {
		if(obj[i].nodeType==1){
		Element.hide(obj[i]);	
		}
	}	
}


//地域選択
function changeElement(value,target) {
		if (value!=""){
		hideElements(target);
		var showObj = document.getElementById(value);
		Element.show(showObj);
		}
		
}


//国・地域選択
function hotelSelect(value,target){
	if(value!=''){
				if(currentPath.indexOf("_e.",0)!=-1){		
				var incFile = dataDir + value + "_e" + ".txt"; 
				}else{
				var incFile = dataDir + value + ".txt"; 
				}
	requestFile( '' , 'GET', incFile , true , value , 'hotel')	;
	requestFile( '' , 'GET', dataDir+ countryDataFile , true , value , 'country')	;
	}
}


//国名データレンダリング
function countryDisp(string,targetValue){
	
	var countryList = new Array();
	countryList = string.split("\n");


	for(c=0;c<countryList.length;c++){
		var countryData = new Array();	
		countryData = countryList[c].split(",");
		if(countryData[0]==targetValue){
				if(currentPath.indexOf("_e.",0)!=-1){
					countryName=countryData[2];
				}else{
					countryName=countryData[1];
				}

		}
	}
	
	
document.getElementById('countryDisp').innerHTML="<h2>"+countryName+"</h2>";
}


//ホテルデータレンダリング
function hotelDisp(string,targetValue){
	
var str="";


/* アメリカ、ヨーロッパのみ */

if((targetValue=='usa')||(targetValue=='europe')){
	
var hotels=new Array();
hotels=string.split("\n");

str += "<div class='hotelUnit'>";

if(hotels[1]){
str += "<div class='hotelName'><a href="+hotels[1]+" target=_blank>"+hotels[0]+"</a></div>";
						}else{
str += "<div class='hotelName'>"+hotels[0]+"</div>";
						}

str += "<p class='organizationNote'>"+hotels[2]+"</p>";
str += "</div>"
	document.getElementById('hotelCountDisp').innerHTML='';
}
else

/* アメリカ、ヨーロッパ以外の国 */
{

var fig=0;
var hotels=new Array();
hotels=string.split("\n");

var hotelArray=new Array();

	for(a=0;a<hotels.length;a++){
	hotelArray=hotels[a].split(";\n");

			for(i=0;i<hotelArray.length;i++){

				if(hotelArray[i].indexOf('hotel\[',0)!=-1){
				var hotelData=hotelArray[i].split("\"");

				var hotel = new Array();
				hotel = hotelData;		
					var data=hotel[1].split("$");

/* 表示処理 */
						str += "<div class='hotelUnit'>";
						
						if((data[6]=="0")||(data[6]==0)){
						}else if(data[6]){
							str += "<div class='hotelCity'>"+data[6]+"</div>";
						}else{
						}

						str += "<div class='hotelName'>"
						if((data[5]=="0")||(data[5]==0)){
							str += data[0];
						}else if(data[5]){
							str += "<a href='http://"+data[5]+"' target=_blank>";
							str += data[0];
							str += "</a>"
						}else{
							str += data[0];
						}
						str += "</div>"


						str += "<table class='hotelcontact'>";


						if((data[1]=="0")||(data[1]==0)){
						}else if(data[1]){
							str += "<tr><th>Address:</th><td>"+data[1]+"</td></tr>";
						}else{
						}

						if((data[2]=="0")||(data[2]==0)){
						}else if(data[2]){
							str += "<tr><th>Tel:</th><td>"+data[2]+"</td></tr>";
						}else{
						}
						
						if((data[3]=="0")||(data[3]==0)){
						}else if(data[3]){
							str += "<tr><th>Fax:</th><td>"+data[3]+"</td></tr>";
						}else{
						}
						
						
						if((data[4]=="0")||(data[4]==0)){
						}else if(data[3]){
							str += "<tr><th>E-mail:</th>";
							str += "<td>"+"<a href='mailto:"+data[4]+"' target=_blank>"+data[4]+"</a></td></tr>";
						}else{
						}
						

						str += "</table>";
						str += "</div>";

					fig++;
							}
			}	


		}
		

/* 単位 */
		if(targetValue=='ship'){
		var units=" vessel\(s\)";
		}else{
		var units=" hotel\(s\)";
		}


/* innerHTML書き換え */
	document.getElementById('hotelCountDisp').innerHTML=fig+units;
}


/* hotelindex用innerHTML書き換え */
if(location.href.indexOf("hotelindex",0)>=0){
	if(location.href.indexOf("_e.",0)>=0){
						str += "<p class='pagetop'><a href='#pagetop'>Back to top</a></p>";		
	}else{
						str += "<p class='pagetop'><a href='#pagetop'>このページのトップへ</a></p>";
	}
}


	document.getElementById('hotelDisp').innerHTML=str;	
}


/* =============================================データ取得関連========= */

//テキストデータ呼び出し
function requestFile( data , method , fileName , async , targetValue , category){
	var httpoj = createHttpRequest();
	httpoj.open( method , fileName , async );
	httpoj.onreadystatechange = function(){
		if (httpoj.readyState==4){ 
		 on_loaded(httpoj,targetValue , category);
		}
	}
	httpoj.send( data ) 
}


//テキストデータ処理
function on_loaded(oj,targetValue , category){
			res = get_response_text ( oj ) ;

		 if(category=='country'){
		 countryDisp(res,targetValue); 
		 }
		 
		 if(category=='hotel'){
		 hotelDisp(res,targetValue); 
		 }
}


//テキストデータ取得
function get_response_text ( req ) {
var text = req.responseText;
if ( navigator.appVersion.indexOf( "KHTML" ) > -1 ) {
var esc = escape( text );
if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
text = decodeURIComponent( esc );
}
}
return text;
}



//XMLHttpRequestオブジェクト生成
function createHttpRequest(){

	//Win ie用
	if(window.ActiveXObject){
		try {
				//MSXML2以降用
				return new ActiveXObject("Msxml2.XMLHTTP") //[1]'
		}catch (e) {
				try {
					//旧MSXML用
					return new ActiveXObject("Microsoft.XMLHTTP") //[1]'
				} catch (e2) {
					return null
				}
			}
	} else if(window.XMLHttpRequest){
		//Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
		return new XMLHttpRequest() //[1]'
	} else {
		 return null
	}
}
