//---------------------- Global Variables ------------------------
var gta_Area = new Array();
var gta_Country = new Array();
var gta_Dest = new Array();

//---------------------- Function Domain ------------------------
function gta_Init(){
	var form = document.GTASearchModule;
	gta_SetArea(form);
	gta_setCheckInOptions(form);

//----Google Analysis Begin----	
//	window.onload = function () {
		gaSSDSLoad("UA-9778589-1");
//	};
//----Google Analysis End----	
	


}
//Initializing Options
function gta_ClearOptions( obj ){
	obj.options.length = 0;
	obj.options[0] = new Option('-----',0,true,false);
	return true;
}
//Setting Options
function gta_SetArea( FormObj ){
	var i,data,splited;
	FormObj.area.options.length = 0;
	if(!gta_Area){return false;}
	for(i=0;i<gta_Area.length;i++){
		data = gta_Area[i];
		splited = data.split('::');
		FormObj.area.options[i] = new Option(splited[1],splited[0],false,false);
	}
	FormObj.area.options[0].selected = true;
	gta_SetCountry(FormObj.area);
	gta_ClearOptions(FormObj.destination);
	return true;
}
function gta_SetCountry( obj ){
	var i,data,splited;
	gta_ClearOptions(obj.form.country);
	gta_ClearOptions(obj.form.destination);
	if(!gta_Country[obj.value]){return false;}
	for(i=0;i<gta_Country[obj.value].length;i++){
		data = gta_Country[obj.value][i];
		splited = data.split('::');
		obj.form.country.options[i+1] = new Option(splited[1],splited[0],false,false);
	}
	gta_SetDestination(obj.form.country);
	return true;
}
function gta_SetDestination( obj ){
	var i,data,splited;
	gta_ClearOptions(obj.form.destination);
	if(!gta_Dest[obj.value]){return false;}
	for(i=0;i<gta_Dest[obj.value].length;i++){
		data = gta_Dest[obj.value][i];
		splited = data.split('::');
		obj.form.destination.options[i+1] = new Option(splited[1],splited[0],false,false);
	}
	return true;
}
//Redirecting
function gta_Submit(FormObj,target){
	var i,p_obj;
	var url = 'http://gbs.gta-travel.com/jp/HotelLink';
	var query_string = '?';
	var params = new Array('siteid','affiliateref','language','currency','country','destination','checkin','nights','location','starrating','location','hotelname','roomtype','rooms');
	if(FormObj.destination.value == 0){
		alert('Please Select City');
		return false;
	}
	for(i=0;i<params.length;i++){
		if(params[i] == 'checkin'){
			query_string += params[i] + '=' + FormObj.CheckInYM.value + '-' + FormObj.CheckInD.value + '&';
		}else if(params[i] == 'country'){
			query_string += params[i] + '=JP&';
		}else if((p_obj = eval('FormObj.'+params[i])) && p_obj.value && p_obj.value != 0){
			query_string += params[i] + '=' + p_obj.value + '&';
		}
	}
	query_string = query_string.substr(0,query_string.length-1);
	if(target == '_self'){
		document.location.href = url + query_string;
	}else{
		window.open(url + query_string,'_blank');
	}
	return false;
}
//setting check in options
function gta_setCheckInOptions(form){
	var i,y,m,ms,d,ds;
	var today = new Date();
	y = today.getYear();
	m = today.getMonth() + 1;
	d = today.getDate();
	if(y<1900){y += 1900;}
	form.CheckInYM.options.length=0;
	form.CheckInD.options.length=0;
	for(i=0;i<12;i++){
		ms = m;
		if(m>12){m=1;y++;}
		if(m<10){ms = '0' + m;}
		form.CheckInYM.options[i] = new Option('' + y + ' ' + ms + '/','' + y + '-' + ms,i==0,i==0);
		m++;
	}
	for(i=1;i<32;i++){
		ds = i;
		if(i<10){ds = '0' + i;}
		form.CheckInD.options[i-1] = new Option('' + ds + '',ds,i==d,i==d);
	}
	return true;
}

//Data operation
function gta_newArea(code,name){
	gta_Area[gta_Area.length] = code + '::' + name;
	gta_Country[code] = new Array();
}
function gta_newCountry(area_code,code,name){
	gta_Country[area_code][gta_Country[area_code].length] = code + '::' + name;
	gta_Dest[code] = new Array();
}
function gta_newDest(country_code,code,name){
	gta_Dest[country_code][gta_Dest[country_code].length] = code + '::' + name;
}

//---------------------- Data Domain ------------------------
//Area Definitions
gta_newArea('JAPAN','Japan');

//Country Definitions
gta_newCountry('JAPAN','J','Japan');


//Destination Definitions
gta_newDest('J','CTYO','Tokyo');
gta_newDest('J','COSA','Osaka');
gta_newDest('J','CKYOT','Kyoto');
gta_newDest('J','CFUK','Fukuoka');
gta_newDest('J','CHIJ','Hiroshima');
gta_newDest('J','CKIX','Osaka - Kansai Airport');
gta_newDest('J','CKOBE','Kobe');
gta_newDest('J','CNGO','Nagoya');
gta_newDest('J','CNRT','Tokyo - Narita Airport');
gta_newDest('J','CSPK','Sapporo');
gta_newDest('J','CAKJ','Asahikawa');
gta_newDest('J','CHKD','Hakodate');
gta_newDest('J','CNISE','Niseko');
gta_newDest('J','CKUH','Kushiro');
gta_newDest('J','CCTS','Sapporo - Shin Chitose Airport');
gta_newDest('J','CAXT','Akita');
gta_newDest('J','CAOJ','Aomori');
gta_newDest('J','CHNA','Morioka');
gta_newDest('J','CSDJ','Sendai');
gta_newDest('J','CCIBA','Chiba');
gta_newDest('J','CHAKO','Hakone');
gta_newDest('J','CURAY','Urayasu');
gta_newDest('J','CMMJ','Matsumoto');
gta_newDest('J','CNAGN','Nagano');
gta_newDest('J','CKIJ','Niigata');
gta_newDest('J','CKANZ','Kanazawa');
gta_newDest('J','CTOY','Toyama');
gta_newDest('J','CHAMS','Hamamatsu');
gta_newDest('J','CTAKA','Takayama');
gta_newDest('J','CHIME','Himeji');
gta_newDest('J','CNARA','Nara');
gta_newDest('J','CSAKI','Sakai(Osaka)');
gta_newDest('J','CKCZ','Kochi');
gta_newDest('J','CKURS','Kurashiki');
gta_newDest('J','CMYJ','Matsuyama');
gta_newDest('J','COKJ','Okayama');
gta_newDest('J','CTAK','Takamatsu');
gta_newDest('J','CBEPP','Beppu');
gta_newDest('J','CKOJ','Kagoshima');
gta_newDest('J','CKKJ','Kitakyushu');
gta_newDest('J','CKMJ','Kumamoto');
gta_newDest('J','CNGS','Nagasaki');
gta_newDest('J','CONNA','Okinawa - Onnason');
gta_newDest('J','COKA','Okinawa');
gta_newDest('J','CAHA','Okinawa - Naha');


/*
Inserts GA using DOM insertion of <script> tag and "script onload" method
 to initialize the pageTracker object. Prevents GA insertion from blocking I/O!
As suggested in Steve Souder's talk. 
See:
http://google-code-updates.blogspot.com/2009/03/steve-souders-lifes-too-short-write.html
*/
/* acct is GA account number, i.e. "UA-5555555-1" */

function gaSSDSLoad (acct) {
   var   gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."),
         pageTracker,
         textGoogle,  //  Google Analyticsのレポート表示用ラベル
         s;
   s = document.createElement('script');
   s.src = gaJsHost + 'google-analytics.com/ga.js';
   s.type = 'text/javascript';
   s.onloadDone = false;
   function init () {
//     pageTracker = _gat._getTracker(acct);
//     pageTracker._trackPageview();
// modified by http://www.google.com/support/forum/p/Google+Analytics/thread?tid=34f464d4d2239f14&hl=en
       pageTracker = _gat._getTracker(acct);
       pageTracker._setDomainName('none');
       pageTracker._setAllowLinker(true);
       // Hotel Search Windows + URL
       textGoogle = '/HSW-' + 	window.location.host + 
				window.location.pathname + 
				window.location.search + 
				window.location.hash ;
       pageTracker._trackPageview(textGoogle);
   }
   s.onload = function () {
     s.onloadDone = true;
     init();

   };
   s.onreadystatechange = function() {
     if (('loaded' === s.readyState || 'complete' === s.readyState) && !s.onloadDone) { 
        s.onloadDone = true;
        init();
     }
   };

//   document.getElementsByTagName('head')[0].appendChild(s);
// modified by http://www.google.com/support/forum/p/Google+Analytics/thread?tid=34f464d4d2239f14&hl=en

     document.getElementsByTagName('body')[0].appendChild(s);


}

