//////////////////////////////
// namespace
// @author hooriza
// @compatibility with IE5, IE55, IE6, IE7, FF2, Opera9, Safari3
//////////////////////////////
function namespace(sKeys, pCode) {

	var aKeys = sKeys.split('.'), obj = window;

	for (var i = 0, sKey; sKey = aKeys[i]; i++) {
		if (typeof obj[sKey] == "undefined") obj[sKey] = {};
		obj = obj[sKey];
	}

	// ÇÏÀ§È£È¯¼º À¯Áö¸¦ À§ÇÑ $Namespace ÇÔ¼öÀÇ ±â´É ±¸Çö (deprecated)
	if (typeof pCode == 'object') {
		for (var k in pCode)
			obj[k] = pCode[k];
		return;
	}

	pCode._object = obj;
	pCode();

}

namespace.errorMessage = 'namespace: Only constant values can be exported';

namespace.imports = function() {

	var sCode = '';

	for (var i = 0, s; s = arguments[i]; i++) {

		try {

			for (var k in eval(s))
				sCode += 'var ' + k + ' = ' + s + '.' + k + ';';

		} catch(e) { }
	}

	return sCode;
};

namespace.exports = function() {

	var sCode = '';

	for (var i = 0, s; s = arguments[i]; i++) {
		
		var bConstStyle = /^[A-Z_]+$/.test(s);

		sCode +=
			'if (typeof ' + s + ' != "function" && !' + bConstStyle + ') throw new Error(namespace.errorMessage);\n' +
			'arguments.callee._object.' + s + ' = ' + s + ';\n\n';
	}

	return sCode;
};

/////////////////////////////
// security_slider
/////////////////////////////

namespace("nhn.hangame.securityLogin.jindo2", function(){
	
	function $(sID/*, id1, id2*/) {
		var ret = new Array;
		var el  = null;
		var reg = /<([a-z]+|h[1-5])>/i;
	
		for(var i=0; i < arguments.length; i++) {
			el = arguments[i];
			if (typeof el == "string") {
				if (reg.test(el)) {
					el = document.createElement(RegExp.$1);
				} else {
					el = document.getElementById(el);
				}
			}
			if (el) ret[ret.length] = el;
		}
		return ret.length?((arguments.length>1)?ret:ret[0]):null;
	};
	
	function $Class(oDef) {
		var typeClass = function() {
			if (typeof this.$super != "undefined") {
				this.$super.$this = this;
				if (typeof this.$super.$init != "undefined") this.$super.$init.apply(this.$super,arguments);
			}
			if (typeof this.$init != "undefined") this.$init.apply(this,arguments);
		};
	
		typeClass.prototype = oDef;
		typeClass.extend = $Class.extend;
	
		return typeClass;
	};
	 
	function $Fn(func, thisObject) {
		if (this === window) return new $Fn(func, thisObject);

		this._events = [];
		this._tmpElm = null;

		if (typeof func == "function") {
			this._func = func;
			this._this = thisObject;
		} else if (typeof func == "string" && typeof thisObject == "string") {
			this._func = new Function(func, thisObject);
		}
}
	$Fn.prototype.attach = function(oElement, sEvent) {
		var f;
		
		if ((oElement instanceof Array) || ($A && (oElement instanceof $A) && (oElement=oElement.$value()))) {
			for(var i=0; i < oElement.length; i++) {
				this.attach(oElement[i], sEvent);
			}
			return this;
		}

		if ($Element && oElement instanceof $Element) {
			oElement = oElement.$value();
		}

		oElement = $(oElement);
		sEvent   = sEvent.toLowerCase();
		
		this._tmpElm = oElement;
		f = this.bindForEvent();
		this._tmpElm = null;

		if (typeof oElement.attachEvent != "undefined") {
			oElement.attachEvent("on"+sEvent, f);
		} else {
			if (sEvent == "mousewheel") sEvent = "DOMMouseScroll";
		

			if (sEvent == "DOMMouseScroll" && navigator.userAgent.indexOf("WebKit") > 0) {
				var events = "__jindo_wheel_events";

				if (typeof oElement[events] == "undefined") oElement[events] = new Array;
				if (typeof oElement.onmousewheel == "object") {
					oElement.onmousewheel = function(evt) {
						if (!this[events]) return;
						for(var i=0; i < this[events].length; i++) {
							this[events][i](evt);
						}
					}
				}

				oElement[events][oElement[events].length] = f;
			} else {
				oElement.addEventListener(sEvent, f, false);
			}
		}

		this._events[this._events.length] = {element:oElement, event:sEvent, func:f};
		$Fn.gc.pool.push({element:oElement, event:sEvent, func:f});

		return this;
	}
	$Fn.prototype.detach = function(oElement, sEvent) {
		if ((oElement instanceof Array) || ($A && (oElement instanceof $A) && (oElement=oElement.$value()))) {
			for(var i=0; i < oElement.length; i++) {
				this.detach(oElement[i], sEvent);
			}
			return this;
		}

		if ($Element && oElement instanceof $Element) {
			oElement = oElement.$value();
		}

		oElement = $(oElement);
		sEvent   = sEvent.toLowerCase();
		
		var e = this._events;
		var l = this._events.length;
		var f = null;

		for(var i=0; i < l; i++) {
			if (e[i].element !== oElement || e[i].event !== sEvent) continue;
			f = e[i].func;
			for(var j=i; j < l-1; j++) {
				this._events[j] = this._events[j+1];
			}
			break;
		}

		if (this._events.length) this._events.length--;

		if (typeof oElement.detachEvent != "undefined") {
			oElement.detachEvent("on"+sEvent, f);
		} else {
			if (sEvent.toLowerCase() == "mousewheel") sEvent = "DOMMouseScroll";

			if (sEvent == "DOMMouseScroll" && navigator.userAgent.indexOf("WebKit") > 0) {
				var events = "__jindo_wheel_events", found = false;
				if (!oElement[events]) return;
				for(var i=0; i < oElement[events].length; i++) {
					if (oElement[events][i] == f) {
						found = true;
					} else if (found) {
						oElement[events][i-1] = oElement[events][i];
					}
				}
				if (oElement[events].length) oElement[events].length--;
			} else {
				oElement.removeEventListener(sEvent, f, false);
			}
		}

		return this;
	}
	$Fn.prototype.bindForEvent = function() {
		var a = arguments;
		var f = this._func;
		var t = this._this;
		var m = this._tmpElm || null;
	
		var b = function(e) {
			var args = $A(a);
			if (typeof e == "undefined") e = window.event;
	
			if (typeof e.currentTarget == "undefined") {
				e.currentTarget = m;
			}
	
			args.unshift($Event(e));
	
			return f.apply(t, args.$value());
		};
	
		return b;
	};
	
	$Fn.gc = function() {
		var p = $Fn.gc.pool;
		var l = $Fn.gc.pool.length;
		for(var i=0; i < l; i++) {
			try{ $Fn(p[i].func).detach(p[i].element, p[i].event) }catch(e){};
		}
	};
	
	/**
	 * @id core.$Fn.gcinit
	 */
	$Fn.gc.pool = new Array;
	$Fn($Fn.gc).attach(window, "unload");
	
	function $Event(e) {
		if (this === window) return new $Event(e);
	
		if (typeof e == "undefined") {
			e = !document.createEventObject?window.event:document.createEventObject(window.event);
		}
		this._event = e;
	
		this.type = e.type.toLowerCase();
		if (this.type == "dommousescroll") {
			this.type = "mousewheel";
		}
	
		this.canceled = false;
	
		this.element = e.target || e.srcElement;
		this.currentElement = e.currentTarget;
		this.relatedElement = null;
	
		if (typeof e.relatedTarget != "undefined") {
			this.relatedElement = e.relatedTarget;
		} else if(e.fromElement && e.toElement) {
			this.relatedElement = e[(this.type=="mouseout")?"toElement":"fromElement"];
		}
	};
	$Event.prototype.pos = function() {
		var e   = this._event;
		var b   = document.body;
		var de  = document.documentElement;
		var pos = [b.scrollLeft || de.scrollLeft,b.scrollTop || de.scrollTop];
	
		return {
			clientX : e.clientX,
			clientY : e.clientY,
			pageX   : e.pageX || e.clientX+pos[0]-b.clientLeft,
			pageY   : e.pageY || e.clientY+pos[1]-b.clientTop,
			layerX  : e.offsetX || e.layerX - 1,
			layerY  : e.offsetY || e.layerY - 1
		};
	};
	
	$Event.prototype.mouse = function() {
		var e    = this._event;
		var delta = 0;
		var left  = (e.which&&e.button==0)||!!(e.button&1);
		var mid   = (e.which&&e.button==1)||!!(e.button&4);
		var right = (e.which&&e.button==2)||!!(e.button&2);
	
		if (e.wheelDelta) {
			delta = e.wheelDelta / 120;
		} else if (e.detail) {
			delta = -e.detail / 3;
		}
	
		return {
			delta  : delta,
			left   : left,
			middle : mid,
			right  : right
		};
	};
	$Event.prototype.key = function() {
		var e     = this._event;
		var k     = e.keyCode;

		return {
			keyCode : k,
			alt     : e.altKey,
			ctrl    : e.ctrlKey,
			meta    : e.metaKey,
			shift   : e.shiftKey,
			up      : (k == 38),
			down    : (k == 40),
			left    : (k == 37),
			right   : (k == 39),
			enter   : (k == 13)
		}
	};
	$Event.prototype.stop = function() {
		if (typeof this._event.preventDefault != "undefined") this._event.preventDefault();
		if (typeof this._event.stopPropagation != "undefined") this._event.stopPropagation();
	
		this._event.returnValue = false;
		this._event.cancelBubble = true;
	};
	
	function $Element(el) {
		if (this === window) return new $Element(el);
		if (el instanceof $Element) return el;
	
		this._element = $(el);
		this.tag = this._element?this._element.tagName.toLowerCase():'';
	
		this._queue = new Array;
	};
	
	$Element.prototype.css = function(sName, sValue) {
		var e = this._element;
	
		if (typeof sName == "string") {
			var view;
	
			if (typeof sValue == "string" || typeof sValue == "number") {
				var obj = new Object;
				obj[sName] = sValue;
				sName = obj;
			} else {
				if (e.currentStyle) {
					if (sName == "cssFloat") sName = "styleFloat";
					return e.currentStyle[sName]||e.style[sName];
				} else if (window.getComputedStyle) {
					if (sName == "cssFloat") sName = "float";
					return document.defaultView.getComputedStyle(e,null).getPropertyValue(sName.replace(/([A-Z])/g,"-$1").toLowerCase())||e.style[sName];
				} else {
					if (sName == "cssFloat" && /MSIE/.test(window.navigator.userAgent)) sName = "styleFloat";
					return e.style[sName];
				}
				
				return null;
			}
		}
		
		
		if (typeof $H != "undefined" && sName instanceof $H) {
			sName = sName.$value();
		}
	
		if (typeof sName == "object") {
			var v, type;
	
			for(var k in sName) {
				v  = sName[k];
				type = (typeof v);
				if (type != "string" && type != "number") continue;
				if (k == "cssFloat" && navigator.userAgent.indexOf("MSIE") > -1) k = "styleFloat";
				try {
					e.style[k] = v;
				} catch(err) {
					if (k == "cursor" && v == "pointer") {
						e.style.cursor = "hand";
					} else if (("#top#left#right#bottom#").indexOf(k+"#") > 0 && (type == "number" || !isNaN(parseInt(v)))) {
						e.style[k] = parseInt(v)+"px";
					}
				}
			}
		}
		
		return this;
	};
	
	$Element.prototype.offset = function(top, left) {
		var e = this._element;
		var t = 0, l = 0;
	
		if (typeof top == "number" && typeof left == "number") {
			// TODO : positioning
			return {top:top, left:left};
		}
	
		while(typeof e != "undefined" && e != null) {
			t += e.offsetTop;
			l += e.offsetLeft;
			e = e.offsetParent;
		}
	
		return {top:t, left:l};
	};
	
	function $A(array) {
		if (typeof array == "undefined") array = new Array;
		if (array instanceof $A) return array;
		if (window === this) return new $A(array);
	
		if (array instanceof Array && !(array.callee && window.opera)) {
			this._array = array;
		} else {
			this._array = new Array;
			for(var i=0; i < array.length; i++) {
				this._array[this._array.length] = array[i];
			}
		}
	};
	
	$A.prototype.unshift = function(element1/*, ...*/) {
		return this._array.unshift.apply(this._array, $A(arguments).$value());
	};
	
	$A.prototype.$value = function() {
		return this._array;
	};
	
	eval(namespace.exports('$','$A','$Fn','$Element','$Class','$Event'));
})

namespace("nhn.hangame.securityLogin",function(){
	
	eval(namespace.imports('nhn.hangame.securityLogin.jindo2'));
	
	var Slider = $Class({
		_applying : false,
		$init : function(id) {
			this.options = {
				unit       : null, // id of draggable unit
				minValue   : 1,
				maxValue   : 3,
				defValue   : 1, // default value
				step       : 1,
				maxPos     : 56, // position related to parent (px)
				initPos    : {x:-4, y:12}, // initial position (minimun value)
				vertical   : false,
				onChange   : function(v){},
				onChanging : function(v){}
			};
			
			this._input = arguments[1];
			if (typeof this._input == "undefined") this._input = new Object;
			
			for(var x in this._input) {
				this.options[x] = this._input[x];
				if (typeof this.options[x] != 'function') continue;
			}
			
			var e = $(id);
			this._element = e;
			var o = this.options;		
			this._value = o.defValue;
			
			// event binding
			this.onmousedown = $Fn(this.onDown, this);
			this.onmousemove = $Fn(this.onMove, this);
			this.onmouseup   = $Fn(this.onUp, this);
			$Fn(this.onClick, this).attach(this._element, 'click');
			
			// positining draggable unit
			var u = $(o.unit);
			this._unit_element = u;
			u.ondragstart = u.ondrag = function(){ return false }
			this.onmousedown.attach( u, 'mousedown');		
			
			$Element(u).css({
				cursor : 'pointer',
				top  : o.initPos.y+'px',
				left : o.initPos.x+'px'
			});
			
			
		},
		setDefaultValue : function(defValue){
			this.setValue(defValue);
		},
		getValue : function() {
			return this._value;
		},
		setValue : function(v) {
						
			var o = this.options; v = Math.min(Math.max(v,o.minValue),o.maxValue);
			var p = this._val2pos(v);
			
			if (this.options.vertical) {
				this._unit_element.style.top = p+'px';
			} else {
				this._unit_element.style.left = p+'px';
			}
			
			this._value = v;
			this.options.onChange(v);
		},
		setValueBy : function(diff) {
			
			var o = this.options;
			var v = Math.min(Math.max(this._value+diff,o.minValue),o.maxValue);
			
			this.setValue(v);
		},
		onDown : function(e) {		
			var u = this._unit_element;
			if (e.mouse().left) {
				this._moving = true;
				this._startPos = [parseInt(u.style.left), parseInt(u.style.top)];
				this._startXY  = [e.pos().clientX, e.pos().clientY];
	
				// register event
				this.onmouseup.attach(document, 'mouseup');
				this.onmousemove.attach(document, 'mousemove');
				this.onmousemove.attach(document, 'keypress');
			
				e.stop();
			}
		},
		onMove : function(e) {
			var newX, newY;
			var o = this.options;
			var u = this._unit_element;
	
			if (!this._moving || !e.mouse().left) return;		
			newX = this._startPos[0] + e.pos().clientX - this._startXY[0];
			newY = this._startPos[1] + e.pos().clientY - this._startXY[1];
	
			if (o.vertical) {
				newY = Math.max(Math.min(newY,o.maxPos),o.initPos.y);
				u.style.top = newY + 'px';
			} else {
				newX = Math.max(Math.min(newX,o.maxPos),o.initPos.x);
				u.style.left = newX + 'px';
			}
			this._value = this._pos2val(o.vertical?newY:newX);
			this.options.onChanging(this._value);
		},
		onUp   : function() {
			var t =this;		
			this._moving = false;
			// unregister event
			this.onmouseup.detach(document, 'mouseup');
			this.onmousemove.detach(document, 'mousemove');
			this.onmousemove.detach(document, 'keypress');
			
			this.setValue(this._value);
			this.options.onChange(this._value);
			
			// prevent onclick event
			this._applying = true;
			setTimeout(function(){t._applying=false}, 50);
		},
		onClick : function(e) {
			if (this._applying) return;		
			var pos = $Element(this._element).offset();
			var val = this._pos2val(e.pos().pageX-pos.left-this._unit_element.offsetWidth/2);
			
			this.setValue(val);
			e.stop();
		},
		_pos2val : function(p) {
			var o = this.options,s=o.step;
			var m = o.vertical?o.initPos.y:o.initPos.x;
			var v = (p-m)*(o.maxValue-o.minValue)/(o.maxPos-m);
			var q = Math.floor(v/s), r=v-q*s, v=q*s;
	
			return Math.max(Math.min(Math.round((v+o.minValue+((s/2)>r?0:s))*100)/100, o.maxValue), o.minValue);
		},
		_val2pos : function(v) {
			var o = this.options;
			var m = o.vertical?o.initPos.y:o.initPos.x;
			var p = (v-o.minValue)*(o.maxPos-m)/(o.maxValue-o.minValue);
	
			return Math.max(Math.min(Math.round((p+m)*100)/100, o.maxPos), m);
		}
	});
	
	var IPCheck = $Class({
		$init : function(sTarget, oOptions){
			
			this.oTarget = $(sTarget);
			this.options = {
				img_check_off : null,
				img_check_on : null,
				img_uncheck_off : null,
				img_uncheck_on : null,
				checked : true,
				onChange : {}
			};
			
			
			for( var i in oOptions ) this.options[i] = oOptions[i];
			var o = this.options;
			this.checked = o.checked;
			
			this.oTarget.src = o.checked ? o.img_check_off : o.img_uncheck_off ; 
			this.oTarget.alt = o.checked ? 'ipº¸¾ÈÀÌ ÄÑÁ® ÀÖ½À´Ï´Ù.' : 'ipº¸¾ÈÀÌ ²¨Á® ÀÖ½À´Ï´Ù.';
			
			this.onmouseover = $Fn(this._onOver, this);
			this.onmouseout = $Fn(this._onOut, this);
			this.onmouseover.attach(this.oTarget, "mouseover");
			
			$Fn(this._onClick, this).attach(this.oTarget, "click");
			
			$Fn(this._onKeyDown, this).attach(this.oTarget, "keydown");
		},
		
		_changeChecked : function(we, bIsKeyDown){
			var o = this.options;
			this.checked = !this.checked;
			
			this._changeIPBoxImage(bIsKeyDown);
			o.onChange();
		},
		_changeIPBoxImage : function(bIsKeyDown){
			var o = this.options;
			if (!this.checked) {
				this.oTarget.src = bIsKeyDown ? o.img_uncheck_off : o.img_uncheck_on;
				this.oTarget.alt = 'ipº¸¾ÈÀÌ ²¨Á® ÀÖ½À´Ï´Ù.';
			} else {
				this.oTarget.src = bIsKeyDown ? o.img_check_off : o.img_check_on;
				this.oTarget.alt = 'ipº¸¾ÈÀÌ ÄÑÁ® ÀÖ½À´Ï´Ù.';
			}
		},
		
		_onClick : function(we) {
			this._changeChecked(we, false);
		},
		
		_onKeyDown : function(we) {
			if( we.key().enter )
				this._changeChecked(we, true);
		},

		_onOut : function(we) {
			var o = this.options;
			if (this.checked){
				this.oTarget.src = o.img_check_off;
			} else {
				this.oTarget.src = o.img_uncheck_off; 
			}
			this.onmouseout.detach(this.oTarget, "mouseout");
			this.onmouseover.attach(this.oTarget, "mouseover");
		},
		
		_onOver : function(we) {
			var o = this.options;
			if (this.checked) {
				this.oTarget.src = o.img_check_on;
			} else {
				this.oTarget.src = o.img_uncheck_on; 
			}
			this.onmouseover.detach(this.oTarget, "mouseover");
			this.onmouseout.attach(this.oTarget, "mouseout");
		},
		setChecked : function(bChecked){
			this.checked = bChecked;
			this._changeIPBoxImage(true);
		},
		getChecked : function(){
			return this.checked;
		}
		
	});
	
	eval(namespace.exports('Slider', 'IPCheck'));
	
});

//////////////////////////////
// slider_etc
//////////////////////////////
function callbackSlider(nLevel){
	var fromLogin = "";
	try {
		fromLogin = document.getElementById("from").value;
	} catch (e) {
		fromLogin = "";
	}
	document.getElementById("login_steptxt").innerHTML = nLevel;
	if( nLevel == 1 ){
		hidePlugin();
		document.getElementById("login_box").style.display="block";

		if (document.getElementById("login_box_error")) {
			document.getElementById("login_box_error").style.display="block";
		}
		document.getElementById("login_flash").style.display="none";
		document.getElementById("login_activex").style.display="none";

		document.getElementById("btnLogin").innerHTML = getLoginBtnHtml(nLevel);
		document.getElementById("activexframe").src = "about:blank";

	}else if( nLevel == 2 ){
		hidePlugin();
		document.getElementById("login_box").style.display="none";

		if (document.getElementById("login_box_error")) {
			document.getElementById("login_box_error").style.display="block";
		}
		document.getElementById("login_flash").style.display="block";
		document.getElementById("login_activex").style.display="none";
		if( !getFlashPluginInfo().installed ){
			document.getElementById("install_step1_flash").style.display = "block";
		}else if( flashenable == -1 ){
			document.getElementById("install_step1_flash").style.display = "block";
		}else if( flashenable != 1 ){
			document.getElementById("fail_step1_flash").style.display = "block";
		}else if( !DetectFlashVer(9,0,124) ){
			document.getElementById("install_step1_flash").style.display = "block";
		}else if(typeof(document.getElementById("login"))!='object'){
			document.getElementById("fail_step1_flash").style.display = "block";
		}

		document.getElementById("btnLogin").innerHTML = getLoginBtnHtml(nLevel);
		document.getElementById("activexframe").src = "about:blank";
		
	}else if( nLevel == 3 ){
		hidePlugin();
		document.getElementById("login_box").style.display="none";

		if (document.getElementById("login_box_error")) {
			document.getElementById("login_box_error").style.display="none";
		}
		document.getElementById("login_flash").style.display="none";
		document.getElementById("login_activex").style.display="block";
		document.getElementById("btnLogin").innerHTML = ""; 

		document.getElementById("activexframe").src = getActivexFrameUrl(fromLogin);
	}
	resetInputForm(nLevel, orgSliderLevel);
}


function resetInputForm(nLevel, orgSliderLevel){

	if(orgSliderLevel==2){
		try{
			if(typeof(isflashload())!='undefined' && isflashload())
				findSwf("login").getID();
		}catch(e){}
	}else if(orgSliderLevel==1){
		try{
			recentID = document.loginform.turtle2.value;
		}catch(e){}
	}
	
	if(nLevel==1){
		if(typeof(document.loginform)=='object'){
			if(recentID!=''){
				resetTextObj(document.loginform.turtle2,'id');
			}else{
				showTextObj(document.loginform.turtle2,'id')
			}
			document.loginform.turtle2.value = recentID;
			document.loginform.earthworm2.value = '';
		}
	}else if(nLevel==2){
		try{
			if(typeof(isflashload())!='undefined' && isflashload()){
				findSwf("login").setID(recentID);
				findSwf("login").setPassword('');
			}else{
				setTimeout("setFlashIdPwd()", 300);
			}
		}catch(e){}
	}
}

function setFlashIdPwd() {
	if(typeof(isflashload())!='undefined' && isflashload()){
		findSwf("login").setID(recentID);
		findSwf("login").setPassword('');
	}
}

// ÇÃ·¯±×ÀÎ ÆË¾÷ ·¹ÀÌ¾î ¼û±â±â
function hidePlugin(){
	document.getElementById("install_step1_flash").style.display = "none";
	document.getElementById("install_step2_activeX").style.display = "none";
	document.getElementById("fail_step1_flash").style.display = "none";
	document.getElementById("fail_step2_activeX").style.display = "none";
	if(typeof(document.loginform)=='object')
		document.loginform.earthworm2.value = "";
}

// ÇÃ·¡½¬ ÇÃ·¯±×ÀÎ Å×½ºÆ® ¸Þ¼Òµå
function getFlashPluginInfo(){

	var info = new Object;
	var p    = navigator.plugins;
	var m    = navigator.mimeTypes;
	var f    = null;

	info.installed = false;
	info.version   = -1;
	if (typeof p != "undefined" && p.length) {
		f = p["Shockwave Flash"];
		if (f) {
			info.installed = true;
			if (f.description) {
				info.version = parseFloat(f.description.match(/[0-9.]+/)[0]);
			}
		}
		if (p["Shockwave Flash 2.0"]) {
			info.installed = true;
			info.version   = 2;
		}
	} else if (typeof m != "undefined" && m.length) {
		f = m["application/x-shockwave-flash"];
		info.installed = (f && f.enabledPlugin);
	} else {
		for(var i=9; i > 1; i--) {
			try {
				f = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);

				info.installed = true;
				info.version   = i;
				break;
			} catch(e) {}
		}
	}
	return info;
	
}

function checkLayer(){
	document.getElementById("check_layer");
}

function closePopup(nLevel){
	
	sliderObject.setValue(nLevel);
	callbackSlider(nLevel);
}

var LOGINBTN_IPIN_WLOGIN  = 'http://images.hangame.co.kr/hangame/login/renewal_2009/login_btn_ipin.gif';
var LOGINBTN_IPIN_COMM    = 'http://images.hangame.co.kr/hangame/renewal_2007/common/security/login/btn_login_ipin.gif';
var LOGINBTN_BASIC_WLOGIN = 'http://images.hangame.co.kr/hangame/login/renewal_2009/login_btn.gif';
var LOGINBTN_BASIC_COMM   = 'http://images.hangame.co.kr/hangame/renewal_2007/common/login/btn_login.gif';
var LOGINBTN_MAIN         = 'http://images.hangame.co.kr/hangame/main/login/btn_login.gif';
var LOGINBTN_OB           = 'http://images.hangame.co.kr/hangame/mediachannel/btn_login.gif';
function getLoginBtnHtml(nLevel){
	var _loginBtnImg = "";
	var _loginAlt    = "";
	var _btnLink     = "";
	
	if(bInputJumin && isIpinUser){
		_btnLink = "javascript:ipinLoginClick()";
	}else{
		if (nLevel == 1 || nLevel == 3) {
			_btnLink = "javascript:entersubmit_security()";
		} else if (nLevel == 2) {
			_btnLink = "javascript:loginClick()";
		}
		
		if (mainLogin) {
			_btnLink += " onclick=clickcr(this,'lgn_lof.login','','',event);";
		}
	}
	
	var gubun = getLoginGugun();
	if(gubun == "login" || gubun == "loginErr") {
		if(bInputJumin && isIpinUser){
			_loginBtnImg = LOGINBTN_IPIN_WLOGIN;
			_loginAlt = '¾ÆÀÌÇÉ·Î±×ÀÎ';
		}else{
			if (mainLogin) {
				_loginBtnImg = LOGINBTN_MAIN;
			} else if (obgateLogin) {
				_loginBtnImg = LOGINBTN_OB;
			} else {
				_loginBtnImg = LOGINBTN_BASIC_WLOGIN;
			}
			_loginAlt = '·Î±×ÀÎ';
		}
	}else{
		if(bInputJumin && isIpinUser){
			_loginBtnImg = LOGINBTN_IPIN_COMM;
			_loginAlt = '¾ÆÀÌÇÉ·Î±×ÀÎ';
		}else{
			if (mainLogin) {
				_loginBtnImg = LOGINBTN_MAIN;
			} else if (obgateLogin) {
				_loginBtnImg = LOGINBTN_OB;
			} else {
				_loginBtnImg = LOGINBTN_BASIC_COMM;
			}
			_loginAlt = '·Î±×ÀÎ';
		}
	}
	
	return "<a href="+_btnLink+"><img src='"+_loginBtnImg+"' alt='"+_loginAlt+"'></a>";
}
function getActivexFrameUrl(from) {
	
	var sUrl = "";
	var gubun = "";
	
	if (typeof miniloginList != "undefined" && miniloginList.gubun) {
		gubun = miniloginList.gubun;
	}
	
	if ( mainLogin ) {
		sUrl = "/common/login/loginActivexForm.html";
	} else {
		if (obgateLogin) {
			sUrl = "/common/login/obgate_loginActivexForm.jsp?nxturl=" + miniloginList.nxtURL;
		} else {
			sUrl = "/common/login/commonLoginActivexForm.html";
		}
		if ( commonLoginForm ) {
			sUrl = "/login/loginActivexForm.jsp?gubun=" + gubun + "&bJumin=" + bInputJumin+ "&ipinuser=" + ((isIpinUser)?"Y":"N");
		}
	}
	
	if (commonLoginForm && from != null && from == 'idogame') {
		sUrl += "&from=" + from;
	}

	return sUrl;
}
