ÿØÿà JFIF  ` ` ÿþš 403 WEBHELL REBORN
403 WEBHELL REBORN
Server : Apache
System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : tkt_travelbus ( 1137)
PHP Version : 7.0.0p1
Disable Function : mysql_pconnect
Directory :  /tkt_travelbus/www/skin/popup/basic_blue/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

Buat Folder Baru:
Buat File Baru:

Current File : /tkt_travelbus/www/skin/popup/basic_blue/popup_control.js
//	- 개발날짜 : 2009년 09월 18일   
//	- 저작권 : topschool
//	- 개발자 : 정진호
//	- email : hssay@naver.com
//	- 탑스쿨 홈페이지빌더 : http://www.topschool.co.kr


if (typeof(ts_layer) == 'undefined') { // 한번만 실행
    var ts_layer = true;

	// sir.co.kr 관리자님 소스 참고
    // Internet Explorer에서 셀렉트박스와 레이어가 겹칠시 레이어가 셀렉트 박스 뒤로 숨는 현상을 해결하는 함수 
    // 레이어가 셀렉트 박스를 침범하면 셀렉트 박스를 hidden 시킴 
    // 사용법 : 
    // <div id=LayerID style="display:none; position:absolute;" onpropertychange="selectbox_hidden('LayerID')"> 

    function selectbox_hidden(layer_id) 
    { 
        var ly = eval(layer_id); 

        // 레이어 좌표 
        var ly_left  = ly.offsetLeft; 
        var ly_top    = ly.offsetTop; 
        var ly_right  = ly.offsetLeft + ly.offsetWidth; 
        var ly_bottom = ly.offsetTop + ly.offsetHeight; 

        // 셀렉트박스의 좌표 
        var el; 

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

            for (k=0; k<document.forms[i].length; k++) { 
                el = document.forms[i].elements[k];    
                if (el.type == "select-one") { 
                    var el_left = el_top = 0; 
                    var obj = el; 
                    if (obj.offsetParent) { 
                        while (obj.offsetParent) { 
                            el_left += obj.offsetLeft; 
                            el_top  += obj.offsetTop; 
                            obj = obj.offsetParent; 
                        } 
                    } 
                    el_left  += el.clientLeft; 
                    el_top    += el.clientTop; 
                    el_right  = el_left + el.clientWidth; 
                    el_bottom = el_top + el.clientHeight; 

                    // 좌표를 따져 레이어가 셀렉트 박스를 침범했으면 셀렉트 박스를 hidden 시킴 
                    if ( (el_left >= ly_left && el_top >= ly_top && el_left <= ly_right && el_top <= ly_bottom) || 
                        (el_right >= ly_left && el_right <= ly_right && el_top >= ly_top && el_top <= ly_bottom) || 
                        (el_left >= ly_left && el_bottom >= ly_top && el_right <= ly_right && el_bottom <= ly_bottom) || 
                        (el_left >= ly_left && el_left <= ly_right && el_bottom >= ly_top && el_bottom <= ly_bottom) ) 
                        el.style.visibility = 'hidden'; 
                } 
            } 
        } 
    } 

    // 감추어진 셀렉트 박스를 모두 보이게 함 
    function selectbox_visible() 
    { 
        for (i=0; i<document.forms.length; i++) { 
            for (k=0; k<document.forms[i].length; k++) { 
                el = document.forms[i].elements[k];    
                if (el.type == "select-one" && el.style.visibility == 'hidden') 
                    el.style.visibility = 'visible'; 
            } 
        } 
    }

	// 주어진 엘리먼트으 style 프로퍼티를 얻는다.
	function ts_getStyle(elem, name){

		// 배열 style[]에 프로퍼티가 존재하는가

		if(elem.style[name]){
			return elem.style[name];

		// 아니면 IE의 메서드를 사용하려고 시도한다
		}else if(elem.currentStyle){
			return elem.currentStyle[name];

		// IE용 메서드를 사용할 수 없으면, W3C 메서드를 사용
		}else if(document.defaultView && document.defaultView.getComputedStyle){
			// 메서드 textAlign 대신,  text-align 형태의 문법을 사용한다.
			name = name.replace(/([A-Z])/g,"-$1");
			name = name.toLowerCase();

			// style 객체를 얻은후 , 프로퍼티의 값을 얻는다
			var s = document.defaultView.getComputedStyle(elem,"");
			return s && s.getPropertyValue(name);

		// 그 외의 경우
		}else{
			return null;
		}

	}

	// 엘레먼트의 X(수평선 상의 왼쪽) 좌표를 찾는다.
	function ts_pageX(elem){
		var p = 0;

		// 부모의 오프셋을 더해야 한다.
		while(elem.offsetParent){
			// 현재 부모의 오프셋을 더한다.
			p += elem.offsetLeft;

			// 다음 부모 엘레멘트를 얻은 후, 작업을 계속 진행한다.
		elem = elem.offsetParent;
		}

		return p;
	}

	// 엘리먼트의 Y(수직선 상의 위쪽) 좌표를 찾는다.
	function ts_pageY(elem){
		var p = 0;

		// 부모의 오프셋을 더해야 한다.
		while(elem.offsetParent){
			// 현재 부모의 오프셋을 더한다.
			p += elem.offsetTop;

			// 다음 부모 엘리먼트를 얻은 후, 작업을 계속 진행한다.
		elem = elem.offsetParent;
		}

		return p;
	}

	// 엘리먼트의 X(수평) 위치를 설정하는 함수
	function ts_setX(elem, pos){

		// CSS 프로퍼티 중 'left' 의 값을 설정하고, 값의 단위는 픽셀이다.
		elem.style.left = pos + "px";
	}

	// 엘리먼트의 Y(수직) 위치를 설정하는 함수
	function ts_setY(elem, pos){

		// CSS 프로퍼티 중 'top' 의 값을 설정하고, 값의 단위는 픽셀이다.
		elem.style.top = pos + "px";
	}

	// 엘리먼트의 실제 높이(CSS 값)를 얻는다.
	function ts_getHeight(elem){
		// CSS 값을 숫자로 변환하여 얻는다.
		return parseInt(ts_getStyle(elem, 'height'));
	}

	// 엘리먼트의 실제 너비(CSS 값)를 얻는다.
	function ts_getWidth(elem){
		// CSS 값을 숫자로 변환하여 얻는다.
		return parseInt(ts_getStyle(elem, 'width'));
	}

	// 엘리먼트의 불투명도를 설정
	function ts_setOpacity(elem, level){
		// filtersr가 존재하면, IE이기 때문에 Alpha 필터를 사용
		if(elem.filters){
			elem.filters.alpha.opacity = level;

		// 그 외의 경우는 W3C의 opacity 프로퍼티를 사용
		}else{
			elem.style.opacity = level / 100;
		}
	}

	// 엘리먼트의 페이드인 효과 설정 열기
	function ts_fadeIn(elem,delay){

		// 불투명도는 0에서 시작
		ts_setOpacity(elem, 0);

		setTimeout(function(){

			// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
			for (var i =0; i <= 100; i += 1){
				// i 값을 올바르게 얻을 수 있게 크로저를 만든다
				(function(){
					var pos = i;

					// 주어진 시간에 타임아웃을 발생시킨다.
					setTimeout(function(){
						ts_setOpacity(elem,pos);
					}, (pos + 1) * 10);
				})();
			}

		}, delay);

	}

	// 엘리먼트의 페이드인 효과 설정 닫기
	function ts_fadeInBack(elem){

		// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
		for (var i =0; i <= 100; i += 1){
			// i 값을 올바르게 얻을 수 있게 크로저를 만든다
			(function(){
				var pos = i;

				// 주어진 시간에 타임아웃을 발생시킨다.
				setTimeout(function(){
					ts_setOpacity(elem,100 - pos);
					if(pos == 100)
						elem.style.display = "none";
				}, (pos + 1) * 10);
			})();
		}

	}

	// 엘리먼트의 슬라이드 효과 설정 열기
	function ts_slideLeftDown(elem,delay){
		// 엘리먼트의 최대 높이를 구한다.
		var h = ts_getHeight(elem);
		var w = ts_getWidth(elem);

		// 0 픽셀부터 슬라이드 다운을 시작한다.
		elem.style.height = "0px";
		elem.style.width = "0px";

		setTimeout(function(){

			// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
			for (var i =0; i <= 100; i += 1){
				// i 값을 올바르게 얻을 수 있게 크로저를 만든다
				(function(){
					var pos = i;

					// 주어진 시간에 타임아웃을 발생시킨다.
					setTimeout(function(){
						elem.style.height = ((pos / 100) * h) + "px";
					}, (pos + 1) * 20);

					// 주어진 시간에 타임아웃을 발생시킨다.
					setTimeout(function(){
						elem.style.width = ((pos / 100) * w) + "px";
					}, (pos + 1) * 20);

				})();
			}

		}, delay);

	}

	// 엘리먼트의 슬라이드 효과 설정 닫기
	function ts_slideLeftDownBack(elem){
		// 엘리먼트의 최대 높이를 구한다.
		var h = ts_getHeight(elem);
		var w = ts_getWidth(elem);

		// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
		for (var i =0; i <= 100; i += 1){
			// i 값을 올바르게 얻을 수 있게 크로저를 만든다
			(function(){
				var pos = i;

				// 주어진 시간에 타임아웃을 발생시킨다.
				setTimeout(function(){
					elem.style.height = h - ((pos / 100) * h) + "px";
				}, (pos + 1) * 20);

				// 주어진 시간에 타임아웃을 발생시킨다.
				setTimeout(function(){
					elem.style.width = w - ((pos / 100) * w) + "px";
				}, (pos + 1) * 20);

			})();
		}

	}

	// 엘리먼트의 슬라이드 효과 설정 열기
	function ts_slideLeft(elem,delay){
		// 엘리먼트의 최대 높이를 구한다.
		var w = ts_getWidth(elem);

		// 0 픽셀부터 슬라이드 다운을 시작한다.
		elem.style.width = "0px";

		setTimeout(function(){

			// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
			for (var i =0; i <= 100; i += 1){
				// i 값을 올바르게 얻을 수 있게 크로저를 만든다
				(function(){
					var pos = i;

					// 주어진 시간에 타임아웃을 발생시킨다.
					setTimeout(function(){
						elem.style.width = ((pos / 100) * w) + "px";
					}, (pos + 1) * 20);

				})();
			}

		}, delay);

	}

	// 엘리먼트의 슬라이드 효과 설정 닫기
	function ts_slideLeftBack(elem){
		// 엘리먼트의 최대 높이를 구한다.
		var w = ts_getWidth(elem);

		// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
		for (var i =0; i <= 100; i += 1){
			// i 값을 올바르게 얻을 수 있게 크로저를 만든다
			(function(){
				var pos = i;

				// 주어진 시간에 타임아웃을 발생시킨다.
				setTimeout(function(){
					elem.style.width = w - ((pos / 100) * w) + "px";
					if(pos == 100)
						elem.style.display = "none";
				}, (pos + 1) * 20);

			})();
		}

	}


	// 엘리먼트의 슬라이드 효과 설정 열기
	function ts_slideDown(elem,delay){
		// 엘리먼트의 최대 높이를 구한다.
		var h = ts_getHeight(elem);

		// 0 픽셀부터 슬라이드 다운을 시작한다.
		elem.style.height = "0px";
		elem.style.display = "none";

		setTimeout(function(){

			// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
			for (var i =0; i <= 100; i += 1){
				// i 값을 올바르게 얻을 수 있게 크로저를 만든다
				(function(){
					var pos = i;
				// 익스플로러 height 버그 때문에 추가
				if(i == 0)
					elem.style.display = "block";


					// 주어진 시간에 타임아웃을 발생시킨다.
					setTimeout(function(){
						elem.style.height = ((pos / 100) * h) + "px";
					}, (pos + 1) * 20);

				})();
			}

		}, delay);

	}

	// 엘리먼트의 슬라이드 효과 설정 닫기
	function ts_slideDownBack(elem){
		// 엘리먼트의 최대 높이를 구한다.
		var h = ts_getHeight(elem);

		// 매 초마다 화면이 바뀌는 20 프레임짜리 에니메이션
		for (var i =0; i <= 100; i += 1){
			// i 값을 올바르게 얻을 수 있게 크로저를 만든다
			(function(){
				var pos = i;

				// 주어진 시간에 타임아웃을 발생시킨다.
				setTimeout(function(){
					elem.style.height = h - ((pos / 100) * h) + "px";
					if(pos == 100)
						elem.style.display = "none";
				}, (pos + 1) * 20);

			})();
		}

	}

	// 엘리먼트의 깜빡이는 효과 설정
	function ts_flickeringly(elem,delay){

		// 엘레먼트를 감춘다
		elem.style.display = "none";

		// delay 시간마다 실행한다
		act_tmp = setInterval(function(){

			// 마우스가 올라오면 멈춘다
			elem.onmouseover = function(){
				elem.style.display = "";
				clearInterval(act_tmp);
			}

			// 현재 엘레먼트가 감춤인지 숨킴인지 체크후 반전한다
			if(elem.style.display == "none"){
				elem.style.display = "";
			}else{
				elem.style.display = "none";
			}

		}, delay);

	}

	function layer_close(id,hiddenWay) {
		var obj = document.getElementById("expirehours"+ id);
		var tmpid = document.getElementById("pop"+id);
		if (obj.checked == true) {
			set_cookie("it_ck_pop_"+id, "done", obj.value, window.location.host);
		}
		if(hiddenWay == "ts_slideDownBack"){
			ts_slideDownBack(tmpid);
		}else if(hiddenWay == "ts_slideLeftBack"){
			ts_slideLeftBack(tmpid);
		}else if(hiddenWay == "ts_slideLeftDownBack"){
			ts_slideLeftDownBack(tmpid);
		}else if(hiddenWay == "ts_fadeInBack"){
			ts_fadeInBack(tmpid);
		}else{
			tmpid.style.display = "none";
		}
		selectbox_visible();
	}

}


Anon7 - 2021