/**
* filename : util.js
* author   : asrada2001@hotmail.com
* date     : 2007-12-05
* desc     : 자바스크립트 유틸리티
**/
/* 2009-05 개편 수정 */

/* array */
Array.prototype.inArray = function(o){
	for(var i=0,max=this.length; i<max; i++){
		if(this[i] == o) return true;
	}

	return false;
}

Array.prototype.indexOf = function(o){
	for(var i=0,max=this.length; i<max; i++){
		if(this[i] == o) return i;
	}

	return -1;
}

/* 다음 엘리먼트 반환 */
function getNextNode(o){
    var n = o.nextSibling;

    if(n.nodeType != 1){
        return getNextNode(n);
    }

    return n;
}

/**
* 입력 글자수 체킹
* input_string_counter((Object)텍스트폼,(Object)카운팅뷰,(int)최대입력수[,(boolean)한글2바이트처리]);
*/

function input_string_counter(frm,view,maxLen){
	if(!frm){
		return false;
	}

	var isInputPossible = true;
	var arrow_keycode = new Array(8,37,38,39,40);
	var korean2Byte = (arguments.length == 4 && arguments[3] == true);

	frm.onkeyup = function(e){
		var korean2Byte = (arguments.length == 4 && arguments[3] == true);
		
		var cnt = stringCounter(this.value,korean2Byte);
		view.innerHTML = cnt;

		if(cnt > maxLen){
			isInputPossible = false;
			alert('입력 글자 수를 초과하였습니다.');
			this.value = this.value.substr(0,this.value.length - 1);
			view.innerHTML = stringCounter(this.value,korean2Byte);
			this.focus();
		}else{
			isInputPossible = true;
		}
	}

	frm.onkeydown = function(e){
		var keycode = (window.event)?window.event.keyCode:e.keyCode;

		if(isInputPossible == false && arrow_keycode.inArray(keycode) == false){
			try{
				e.preventDefault();
			}catch(e){
				window.event.returnValue = false;
			}
		}
	}
}

function stringCounter(str){
	var cnt = 0;
	var korean2Byte = (arguments.length == 2 && arguments[1] == true);

	for(var i=0,max=str.length; i<max; i++){
		if(korean2Byte == true && escape(str.charAt(i)).length > 3) {cnt++;}

		cnt++;
	}

	return cnt;
}

/* GNB 설정 */
function setUpHyphenTab(){
	if(typeof CURRENT_MENU == 'undefined' || CURRENT_MENU == null){
		CURRENT_MENU = 1;
	}

	if(typeof CURRENT_SUBMENU == 'undefined' || CURRENT_SUBMENU == null){
		CURRENT_SUBMENU = 1;
	}

	CURRENT_MENU--;
	CURRENT_SUBMENU--;

	var gnbTabNav = document.getElementById('gnbTabNav').getElementsByTagName('LI');
	var tabs = new Array();

	for(var i=0,max=gnbTabNav.length; i<max; i++){
		if(gnbTabNav[i].className == 'menu_tab'){
			tabs.push(gnbTabNav[i]);
		}
	}

	tabs[CURRENT_MENU].className = 'on';
	tabs[CURRENT_MENU].getElementsByTagName('A')[0].className = 'on';

	if(CURRENT_MENU > 2){
		CURRENT_MENU = 0;
	}
	
    var subtabs = tabs[CURRENT_MENU].getElementsByTagName('UL');

	if(subtabs.length > 0){
		subtabs = subtabs[0];
		subtabs.style.display = 'block';
    
		var selected_submenus = subtabs.getElementsByTagName('LI');
		
		if(selected_submenus.length > 0 && selected_submenus.length > CURRENT_SUBMENU){
			var link = selected_submenus[CURRENT_SUBMENU].getElementsByTagName('A');
			
			if(link.length > 0){
				link[0].className = 'on';
			}
		}
	}
}

var isMicroLoading = false;

function micro_go() {
	if(isMicroLoading == false){
		daumFlash_general('http://html.request.daum.net/v1/common/micro/hyphen.swf?rootURL=http://html.request.daum.net/v1/common/micro/&amount=' + micro_amount,'',978,552,'about_hyphen_flash_wrap',[['allowScriptAccess','always']]);
		isMicroLoading = true;
	}

	document.getElementById('about_hyphen_flash_wrap').style.display = 'block';
}

function micro_close() {
	document.getElementById('about_hyphen_flash_wrap').style.display = 'none';
}

/* GNB end */


function addEvent(obj,eventType,handler){
/*	var currentHandler = obj[eventType];
	var newHandler;

	if (typeof window.onload == 'function') {
		newHandler = function(){
			currentHandler();
			handler();
		}
	}else{
		newHandler = function(){
			handler();
		}
	}
*/
	if(obj.addEventListener){
		obj.addEventListener(eventType.replace(/^on/,''),handler,false);
	}else{
		obj.attachEvent(eventType,handler);
	}
}

/* 게이지 */
function drawGage(){
	var temp = document.getElementsByTagName('DIV');

	for(var i=0,max=temp.length; i<max; i++){
		if(temp[i].className == 'gage'){
			var ratio = parseInt(temp[i].innerHTML);

			if(typeof ratio == "number" && isNaN(ratio) == false){
				var gage = document.createElement('DIV');
				gage.className = 'innerGage';
				gage.style.width = ratio + '%';

				temp[i].appendChild(gage);
			}

		}
	}
}

/* 결제 팝업 */
function openPayPopup(url){
	if(url){
		var param = 'width=584,height=608,scrollbars=no';
		window.open(url,'',param);
	}
}

function getEventTarget(e){
	if(window.event){
		return window.event.srcElement;
	}else{
		return e.target;
	}
}