//--方面選択表示
function makeSelectBox(onsenAreaCD,cityCD,stayDay,roomType,bedType){
	
	onsenAreaMade(onsenAreaCD);
	cityMade(cityCD);
	stayDayMade(stayDay);
	dayCount();
	roomTypeMade(roomType);
	bedTypeMade(bedType);
}
function onsenAreaMade(onsenAreaCD) {

	var obj=document.getElementById("searchRegion").options;
	var sel=0;
	var cnt=1;
	for( var i in onsenArea_kr_array ) {
		obj[cnt]=new Option(onsenArea_kr_array[i]);
		obj[cnt].value=i;
		if (onsenAreaCD == i) {
			sel = cnt;
		}
		cnt++;
	}
	obj[sel].selected=true;
	if(document.layers) {
		window.resizeBy(-10,-10);
		window.resizeBy(10,10)
	}
}


function cityMade(cityCD) {
	var obj=document.getElementById("searchCity").options;
	var sel=0;
	var cnt=1;
	for( var i in city_kr_array ) {
		obj[cnt]=new Option(city_kr_array[i]);
		obj[cnt].value=i;
		if (cityCD == i) {
			sel = cnt;
		}
		cnt++;
	}
	obj[sel].selected=true;
	if(document.layers) {
		window.resizeBy(-10,-10);
		window.resizeBy(10,10)
	}
}
function roomTypeMade(roomType) {
	var obj=document.getElementById("searchRoomType").options;
	var sel=0;
	var cnt=1;
	for( var i in roomType_array ) {
		obj[cnt]=new Option(roomType_array[i]);
		obj[cnt].value=i;
		if (roomType == i) {
			sel = cnt;
		}
		cnt++;
	}
	obj[sel].selected=true;
	if(document.layers) {
		window.resizeBy(-10,-10);
		window.resizeBy(10,10)
	}
}
function bedTypeMade(bedType) {
	var obj=document.getElementById("searchBedType").options;
	var sel=0;
	var cnt=1;
	for( var i in bedType_array ) {
		obj[cnt]=new Option(bedType_array[i]);
		obj[cnt].value=i;
		if (bedType == i) {
			sel = cnt;
		}
		cnt++;
	}
	obj[sel].selected=true;
	if(document.layers) {
		window.resizeBy(-10,-10);
		window.resizeBy(10,10)
	}
}
function stayDayMade(stayDay) {
	var obj=document.getElementById("searchStayDay").options;
	var sel=0;
	obj[0]=new Option("1");
	obj[0].value="1";
	var cnt=1;
	for( var i in stayDay_array ) {
		obj[cnt]=new Option(stayDay_array[i]);
		obj[cnt].value=i;
		if (stayDay == i) {
			sel = cnt;
		}
		cnt++;
	}
	obj[sel].selected=true;
	if(document.layers) {
		window.resizeBy(-10,-10);
		window.resizeBy(10,10)
	}
}

function currentDay(){
		var now=new Date();
		var nowYear=now.getFullYear(); 
		var nowMonth=now.getMonth() + 1;
		if(nowMonth < 10){
			nowMonth = "0"+ nowMonth;
		}
				
		var nowDay=now.getDate();
		if(nowDay < 10){
			nowDay = "0"+ nowDay;
		}
		
		var currentDay = nowYear+""+nowMonth+""+nowDay;		
	
		return currentDay;
}

function dayCount(){
		
	if(document.getElementById("searchCheckIn").value == ""){		
		document.getElementById("searchCheckIn").value = currentDay();		
	}
	
	var aryDate = new Array();
	var lbldate = document.getElementById("searchCheckIn").value; 
	var txtdays = document.getElementById("searchStayDay").value;

    //현재 년,월,일을 배열에저장.
    var years = lbldate.substring(0,4)
    var months = lbldate.substring(4,6);
    var days =lbldate.substring(6,8);	
    
    aryDate[0] = years;
    aryDate[1] = months;
    aryDate[2] = days;
    
    
    //문자열을 정수형으로 캐스팅해준다.
     for(i=0; i<aryDate.length; i++)
     {	
         aryDate[i] = parseInt(aryDate[i],10);
     }
     	
    //현재 날짜의 마지막일수 구하기
    var lastDay = lastDaySelect(aryDate[0], aryDate[1]);
    //마지막 일에서 현재 일을 빼고 증가 되어야할 일 을 빼준다.
    var addDay = (lastDay - aryDate[2]) - parseInt(txtdays);	
	var nextAddDay;
	
    //tempDate 값을 확인하여 마이너스인지 0 인지 정수인지 판단.
    //만약 정수형이거나 0 이라면 현재일에서 증가되어야할일수 더하고 출력
    //그렇지 않다면 다음달의 마지막 일수를 구한다.
    while(addDay < 0)
    {
    	nextAddDay = 0;
    	
        if(aryDate[1] == 12)
        {
            aryDate[0] = aryDate[0] + 1
            aryDate[1] = 1
        }
        else
        {
            aryDate[1] += 1
        }
       
        lastDay = lastDaySelect(aryDate[0], aryDate[1])
        aryDate[2] = addDay;
        nextAddDay = addDay + lastDay
       
        if(nextAddDay >= 0)
        {
            ShowDate(aryDate[0], aryDate[1], -aryDate[2]);
            return false;
        }
    }
   
    ShowDate(aryDate[0], aryDate[1], parseInt(aryDate[2]) + parseInt(txtdays));
   
    return false;	
}

function chgsearchCheckOut(){
	var searchCheckIn = document.getElementById("searchCheckIn").value;
	var searchCheckOut = document.getElementById("searchCheckOut").value;
	var stayDay = 0;
	
	var searchCheckInArr = new Array();
	var searchCheckOutArr = new Array();

    //현재 년,월,일을 배열에저장.
    var years = searchCheckIn.substring(0,4)
    var months = searchCheckIn.substring(4,6);
    var days =searchCheckIn.substring(6,8);	
    
    searchCheckInArr[0] = years;
    searchCheckInArr[1] = months;
    searchCheckInArr[2] = days;
	
    //현재 년,월,일을 배열에저장.
    years = searchCheckOut.substring(0,4)
    months = searchCheckOut.substring(4,6);
    days =searchCheckOut.substring(6,8);
    
    searchCheckOutArr[0] = years;
    searchCheckOutArr[1] = months;
    searchCheckOutArr[2] = days;
    
    var lastDay = lastDaySelect(searchCheckInArr[0], searchCheckInArr[1])

    if(parseInt(searchCheckIn,10) < parseInt(searchCheckOut,10)){
    	if(parseInt(searchCheckInArr[1],10) == parseInt(searchCheckOutArr[1],10)){
    		stayDay = parseInt(searchCheckOutArr[2],10) - parseInt(searchCheckInArr[2],10)
    	}else{
    		stayDay = (lastDay - parseInt(searchCheckInArr[2],10))+ parseInt(searchCheckOutArr[2],10);
    	}
    }else{
    	alert("체크아웃 날짜가 체크인 날짜보다 적습니다.");
    	return;
    }	
    
    document.getElementById("searchStayDay").value = stayDay;
}
//마지막 일수 리턴
function lastDaySelect(Dyear, DMonth)
{
    var tempDay = 0;
    switch (DMonth)
    {
        case 1: tempDay = 31; break;
        case 3: tempDay = 31; break;
        case 5: tempDay = 31; break;
        case 7: tempDay = 31; break;
        case 8: tempDay = 31; break;
        case 10: tempDay = 31; break;
        case 12: tempDay = 31; break;



        case 4: tempDay = 30; break;
        case 6: tempDay = 30; break;
        case 9: tempDay = 30; break;
        case 11: tempDay = 30; break;



        case 2:
            {
                if ((Dyear % 4 == 0 && Dyear % 100 != 0) || Dyear % 400 == 0)
                {
                    tempDay = 29; break;
                }
                else
                {
                    tempDay = 28; break;
                }
            }
    }

    return tempDay;
}
//날짜를 출력해주는 함수
function ShowDate(years, months, days)
{
    months = ""+months;
    months = (months.length == 1)? "0"+ months : months
    days = ""+days;
    days = (days.length == 1)? "0"+ days : days
    
    
    document.getElementById("searchCheckOut").value = years +""+ months +""+ days;
}



	/** 
	 * objId : 변환될 select box ID
	 * chkMappingCode : 매핑구분코드
	 * chkBaseMCode : 매핑분류 Major Code
	 * chkBaseSCode : 매핑분류 Sub Code
	 * selected : select box 선택 값(value)
	 * **/
	function getCodeList(objId, chkMappingCode, chkBaseMCode, chkBaseSCode, selected){
		
		var searchMappingCode = chkMappingCode;
		var searchBaseMajorCode = chkBaseMCode;
		var searchBaseSubCode = chkBaseSCode;		
		
		var objSelect = document.getElementById(objId);
		var selectedVal = selected;
		var majorCode;
		var subCode;
		//var codeValue;
		var codeNameJp;

		if ( document.all )
		{
		 // IE only?
			while(objSelect.length>0){
				objSelect.options.remove(objSelect.length-1);
			}
		}
		else
		{
		 // Firefox?
			while(objSelect.length>0){
				//var optionToRemove = objSelect.options[objSelect.length-1]; 
				//objSelect.removeChild(optionToRemove);
				objSelect.innerHTML = "";
				
			} 
		 
		}

		var objOption = document.createElement('option');
		objOption.text = "SELECT";
		objOption.value = "";
		objSelect.options.add(objOption);
				
		$.ajax({
		
		type: "POST",
		
		url: "/getCommCodeByXML.do",
		
		data: "searchMappingCode="+searchMappingCode+"&searchBaseMajorCode="+searchBaseMajorCode+"&searchBaseSubCode="+searchBaseSubCode,
		
		success: function(data){
			
				$("#"+objId+" option").remove();
				if($.browser.msie){
					$("#"+objId).append("<option value=''>select</option>");
				}else{
					var option = new Option("SELECT", "");
					$("#"+objId).append(option);	
				}
				$(data).find('items').each(function(i){
					var $items = $(this);
					var $majorCode = $items.find('majorcode').attr('code');
					var $subCode = $items.find('subcode').attr('code');
					var $codeValue = $items.find('codevalue').attr('code');
					var $codeNameJp = $items.find('codenamejp').attr('code');
					
					var $selected = false;
					if(selected == $subCode){
						$selected = true;
					}
					if($.browser.msie){
						$("#"+objId).append("<option value='"+$subCode+"' "+(($selected==true)?'selected':'')+">"+$codeNameJp+"</option>");
					}else{
						var option = new Option($codeNameJp, $subCode);
						option.selected = $selected;
						$("#"+objId).append(option);
					}
					
					
				});		
			
			}
		});
		
	}
	//---------------------------------------------------------------------
	// Function name : getFormattedVal 
	// Description   : 숫자를 포멧이 갖추어진 문자열로 바꿈

	//                 ###3 <= 숫자3은 세자리마다 ,를 찍겠다는 말

	//                 .##### <= .(소수점)뒤로 5자리까지 표현하겠다는 말

	// Parameter     : value  : 검사할 값

	//                 format : 변환할 형태
	// Return        :  변환된 값 리턴
	// -------------------------------------------------------------------- 
	// Usage         : getFormattedVal(value , "###3.#####")
	//---------------------------------------------------------------------

	function getFormattedVal(value,format) {
	    value = ""+value;
	
	    if(!format)
	      return value;
	
	    var sp = parseInt(format.charAt(3));
	
	    if(!sp)
	      return value;
	
	    var pos = 0;
	    var ret = "";
	    var vSplit = value.split('.');
	    var fSplit = format.split('.');
	    var fp = fSplit[1];
	    var fv = vSplit[1];
	    var lv = vSplit[0];
	    var len = lv.length;
	
	    for(var i = len % sp; i < len; i += sp){
	        if(i == 0 || lv.charAt(i-1) == '-')
	            ret += lv.substring(pos,i);
	        else
	            ret += lv.substring(pos,i)+',';
	        pos = i;
	    }
	
	    ret += lv.substring(pos,len);
	
	    if(!fv)
	        fv = "";
	    if(!fp)
	        fp = "";
	
	    var len1 = fp.length;
	    var len2 = fv.length;
	
	    if(len1)
	      ret += '.' + fv.substring(0,len1) + fp.substring(len1,len2);
	    return ret;
	}
