﻿function d(){	//return document ovject
	return document;
}
function $(obj_name){	//return object by object id(string)
	return document.getElementById(obj_name)
}
function $$(obj_name){	//return object by object id(string)
//	return document.getElementsByName(obj_name)
	var tagAll = document.body.getElementsByTagName("*");
	
	var rtnObjs = [];
	for (var i = 0; i < tagAll.length; i++) {
		if (tagAll[i].id == obj_name) 
			rtnObjs.push(tagAll[i]);
	}
	return rtnObjs;
}
/* Page url control ------ start */
var servletPath = "/servlet/web.xml";
var servletID = "";
var getObject = "0";
function createUrlObjs(){
	var urlDiv = document.createElement("div");
	var frmUrlForm = document.createElement("form");
	var inputMode = document.createElement("input");
	var inputid = document.createElement("input");
	var inputNav = document.createElement("input");
	
	urlDiv.setAttribute("id", "cs_href");
	

	frmUrlForm.setAttribute("id", "frmUrl");
	inputMode.setAttribute("id", "mode");
	inputid.setAttribute("id", "id");
	inputNav.setAttribute("id", "nav");

	frmUrlForm.setAttribute("name", "frmUrl");
	inputMode.setAttribute("name", "mode");
	inputid.setAttribute("name", "id");
	inputNav.setAttribute("name", "nav");

	frmUrlForm.appendChild(inputMode);
	frmUrlForm.appendChild(inputid);
	frmUrlForm.appendChild(inputNav);
	urlDiv.appendChild(frmUrlForm);
	
	document.body.appendChild(urlDiv);
	$("cs_href").style.display = 'none';
	getObject = "1";
}

function startUrl(svlID){
	if (getObject == "0") createUrlObjs();
	with (SDS.XHR){
		servletID = svlID;
		LoadXMLHttp();
		StartRequest(servletPath, getServlet);
	}
}
function getServlet(){
	var goURL = "";
	var urlPath = "";
	var valMode = "";
	var attId = "";
	var attNav = "";
	//alert(servletID);
	
	with (SDS.XHR){
	
		if (CheckReadyState()){
			var xmlText = xmlhttp.responseText;			
			var response = LoadXMLParser(xmlText);			
			var xmlList = GetXMLElements(response, "servlet");
			for (var i=0; i<xmlList.length; i++){
				//alert(servletID + "--" + GetXMLElementValue(xmlList, i, "servlet-name") );
				if (servletID == GetXMLElementValue(xmlList, i, "servlet-name")){
					urlPath = GetXMLElementValue(xmlList, i, "servlet-url");
					valMode = GetXMLElementValue(xmlList, i, "servlet-mode");
					attId = GetXMLElementAttibute(xmlList, i, "servlet-mode", "id");
					attNav = GetXMLElementAttibute(xmlList, i, "servlet-mode", "nav");
					break;
				}
			}
			if (urlPath != ""){
				/*
				$("mode").value = valMode;
				$("id").value = attId;
				$("nav").value = attNav;
				$("frmUrl").action = urlPath;
				*/
				$("frmUrl").mode.value = valMode;
				$("frmUrl").id.value = attId;
				$("frmUrl").nav.value = attNav;
				$("frmUrl").action = urlPath;
				if (valMode == "javascript"){
					alert(urlPath);
				}else if(valMode != ""){
					$("frmUrl").submit();
				}else{
					
					if (attNav == "pop"){
						window.open (urlPath,"_blank");
					}else{
						window.location.href = urlPath;
					}
				}
				//alert($("frmUrl").action);
			}else{
				alert("Wrong path!");
			}
		}
	}
}
/* Page url control ------ end */

function SetSubMenu(menuId){
	if (menuId == '1'){
		$("cs_sub_navi").innerHTML = "Shinkansen | Tour Taxi";
	}else if (menuId == '2'){
		HideObj("cs_sub_navi");
		return;
	}else if (menuId == '3'){
		$("cs_sub_navi").innerHTML = "Shinkansen | Tour Taxi";
	}else if (menuId == '4'){
		$("cs_sub_navi").innerHTML = "<a onclick=\"startUrl('ryokan.notice');\" class=\"cs_url_link\">Notice</a> | <a onclick=\"startUrl('ryokan.board');\" class=\"cs_url_link\">Ask to Ryokan</a> | <a onclick=\"startUrl('ryokan.faq');\" class=\"cs_url_link\">FAQ</a>";
	}else if (menuId == '5'){
		$("cs_sub_navi").innerHTML = "About Ryokan | Ryokan Manual";
	}else if (menuId == '6'){
		$("cs_sub_navi").innerHTML = "My information | My reservation | ";
	}
	DisplayObj("cs_sub_navi");
}

/* object display control ------ start */
function DisplayObj(obj_name){
	var obj = $(obj_name);
	if (obj != null)
	obj.style.display = "block";
}
function HideObj(obj_name){
	
	var obj = document.getElementById(obj_name);
	if (obj != null)
	obj.style.display = "none";
}
function ToggleDisplayObj(obj_name){
	var obj = $(obj_name);
	if (obj.style.display == "none" || obj.style.display == "")
		DisplayObj(obj_name);
	else
		HideObj(obj_name);
}
/* object display control ------ start */

function InitCombo(obj){
	var obj_len = obj.length;
    for(var i=obj_len-1; i>-1; i--)
    {
      obj.remove(i);
    }
}
function AddCombo(obj, text, value){
	obj.options.add(new Option(text,value)); 
}
function NoEvent(){
	return;	
}

function Download(fileName, filePath){
	var url = "/common/download.asp?fileName="+fileName+"&filePath="+filePath
	window.location.href = url;
}

function CreateObject(objType, objId, objName){
	var newObj = document.createElement(objType);
	
	newObj.setAttribute("id", objId);
	newObj.setAttribute("name", objName);
	return newObj;
}

function DateDiff(date1, date2, splitString){
	var v0;
	var v1;
	v0=date1.split(splitString); //첫번째 입력폼의 값을 - 구분자로 나누어 배열로 변환
	v1=date2.split(splitString); //두번째 입력폼의 값을 - 구분자로 나누어 배열로 변환

	v0=new Date(v0[0],v0[1],v0[2]).valueOf(); //일자에 해당하는 타임스탬프로 변환
	v1=new Date(v1[0],v1[1],v1[2]).valueOf();

	cha=(v1-v0)/(1000*60*60*24); //일차이를 구한뒤 하루에 해당하는 값으로 곱하여, 초단위를 일단위로 변환

	if(cha>365){ 
		//alert('일년이 넘습니다.'+cha);
	} else {
		//alert('일년이 안넘습니다.'+cha);
	}
	return cha;
}


function setDate(objIn, objOut, objDays)
{
	if(objIn.value=="")
	{
		alert(" 먼저 체크인 날짜를 선택해 주세요 ");
		objDays.options[0].selected = true;
		return;
	}
	var ndate = objIn.value;
	if (ndate.length <10){
		ndate=ndate.substring(0,4) + "." + ndate.substring(4,6) + "." + ndate.substring(6,8)
		objIn.value = ndate;
	}
	ndate = ndate.split('.');
	if (objDays.value == ""){
		return;
	}
	var yyyy = ndate[0];
	var mm = parseInt(ndate[1],10);
	var dd = parseInt(ndate[2],10);
 
	if(parseInt(mm,10)<10)
	{
		var nmm = "0" + mm;
	}else
	{
		var nmm = mm;
	}
	if(parseInt(dd,10)<10)
	{
		var ndd = "0" + dd;
	}else
	{
		var ndd = dd;
	}
	var ngt = objDays.value;
	var cDate = addDay(yyyy, parseInt(mm,10), parseInt(dd,10), ngt)
	var months = parseInt(cDate.getMonth())+1;
	var days = cDate.getDate();
 
	if(parseInt(months,10)<10)
	{
		months = "0" + months;
	}
	if(parseInt(days,10)<10)
	{
		days = "0" + days;
	}
	objOut.value =cDate.getFullYear() + "." + months + "." + days;
}

function addDay(yyyy, mm, dd, pDay)
{
	var oDate;
	dd = parseInt(dd)*1 + parseInt(pDay)*1;
	mm--;
 
	oDate = new Date(yyyy, mm, dd)
	return oDate;
}

var nav=navigator.appName;
var ns=(nav.indexOf("Netscape")!=-1);
var cnj_click
var cnj_ment = "\n\nhttp://www.CginJs.Com";

function LockRight(e) {
	var btn_id;
	if(ns) btn_id = e.which;
	else btn_id = event.button;

	switch(btn_id)   { 
		case 1: break;	//left click
		case 2: alert('No support'); break;	//right click
		case 4: break;	//wheel click
	}
}

function ChkFormValue(frm){
	var objFrm = document.getElementById(frm);
	for(var i = 0; i < objFrm.elements.length; i++) {
		var f = objFrm[i];

		// checkbox
		if(f.type == "checkbox") {
		}
		// radio
		else if(f.type == "radio") {
		}
		else if(f.type == "password") {
		}
		else {
			if(f.value == ""){
				alert("항목들 모두 입력 하세요.");
				f.focus();
				return;
			}
		}
	}
	objFrm.submit();
}


////////////////////////////////////////////////////////////////////////////////////
//flash 연동 관련 function
////////////////////////////////////////////////////////////////////////////////////
//
//Flash Grid Component 동작 개괄
//
//1. flash가 로딩이 완료되면 flash ==> script dataGridLoadOk() 호출
//2. 로딩 직후 Object 태그의 param에서 flashVars속성의 requestUrl이 존재하면 flash ==> script flash_enc() 호출
//3. 로딩 직후 Object 태그의 param에서 flashVars속성의 requestUrl이 존재하지 않으면 멈춤
//4. 전송 버튼을 클릭 시에 flashDataGridSend()를 호출하면 flash ==> script flash_enc() 호출
////////////////////////////////////////////////////////////////////////////////////

//Flash Grid load 완료 여부
var isFlashGridLoadOk = false;

//Flash Grid 작업중 여부
var isFlashGridWorkingOk = false;

//flashLoad(파일경로, 가로, 세로, 아이디, 배경색, 변수, 윈도우모드)
function flashLoad(url,w,h,id,bg,vars,win) {

	var win = "transparent";

	// 플래시 코드 정의
	var flashStr=
	"<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='"+w+"' height='"+h+"' id='"+id+"' align='middle'>"+
	"<param name='allowScriptAccess' value='always' />"+
	"<param name='movie' value='"+url+"' />"+
	"<param name='FlashVars' value='"+vars+"' />"+
	"<param name='wmode' value='"+win+"' />"+
	"<param name='menu' value='false' />"+
	"<param name='quality' value='high' />"+
	"<param name='bgcolor' value='"+bg+"' />"+
	"<param name='base' value='.'>"+
	"<embed src='"+url+"' FlashVars='"+vars+"' wmode='"+win+"' menu='false' quality='high' base='.' bgcolor='"+bg+"' width='"+w+"' height='"+h+"' name='"+id+"' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' />"+
	"</object>";

	// 플래시 코드 출력
	document.write(flashStr);
	
	//Flash의 ExternalInterface가 Form Tag내에서 오류나는 버그를 해결하는 코드     
	eval("window." + id + " = document.getElementById('" + id + "');");

}

-->