window.daum = {};
/**
 * @namespace JIGU의 기본 namespace daum 
 */
daum = {
    /**
     * @ignore
     */
    documentLoaded : false,
	/**
     * @param {Object} dest - 대상객체
     * @param {Object} source - 원본객체
     * @param {Boolean} overwrite - 대상객체에 원본객체의 멤버를 덮어 쓸것인지를 결정
     * @default Boolean true 
     */
	extend : function(dest, source, overwrite){
		var ow = true; if(overwrite != undefined) ow = overwrite;
	
		for(var p in source) if(!dest[p] || ow){
			dest[p] = source[p];		
		}
		
		return dest;
	},
	/**
	 * descrptrion 
	 * 
	 * @param
	 * @type Object dest - 목적객체
	 * @param {Object} source - 대상객체
	 * @param {Boolean} overwrite - 덮어쓸지를 결정	 
	 * @return object
	 */
	extendMethods : function(dest, source, overwrite){
		var ow = true; if(overwrite != undefined) ow = overwrite;
		
		for(var p in source) if(!dest[p] || ow){
			if(source[p].isFunction) dest[p] = daum.methodize(source[p]);
		}
		
		return dest;
	},
    
    Function : {    	
		bind : function(f){
			var __method = f, args = daum.$A(arguments); args.shift();						
			var object = args.shift();
			f.__Binded = true;
			return function(){
		    	return __method.apply(object, args.concat(daum.$A(arguments)));
			}
		},
		bindAsEventListener : function(f){
			var __method = f, args = daum.$A(arguments); args.shift();
			var object = args.shift();
			f.__Binded = true;
			return function(e){				
				return __method.apply(object, [e || window.event].concat(args));
			}
		},
		
		timeout : function(f, ms, _object){
			var func = (_object) ? daum.Function.bind(f, _object) : f;		
			return window.setTimeout(func, ms);
		},
		
		interval : function(f, ms, _object){
			var func = (_object) ? daum.Function.bind(f, _object) : f;
			return window.setInterval(func, ms);
		}
	},
    
    createFunction : function(param, body){
		var statement = 'return function(';

		for(var i=0,loop=param.length; i<loop; i++){
			statement += '' + param[i] + ',';
		}

		statement = statement.replace(/,$/,'');
		statement = statement + '){' + body + '}';

		return (new Function(statement))();
	}, //Create New Function By Statement
    
    Array : {
		each : function(a, func){		
			for(var i=0,len=a.length; i<len; i++){
				func(a[i]);
			}
		},	

		indexOf : function(a, _find){
			for(var i=a.length; i>-1; i--) if(a[i] === _find) return i;
			
			return -1;
		}
	}, //Array Native Extension
    

    
	String : {		
		
		px : function(s){
			s = String(s);
			return daum.String.endWith(s, "px") ? s : s + "px";
		},
		
		endWith : function(s, se){		
			return s.substring(s.length - se.length) == se;
		},
		
		trim : function(s){
			return s.replace(/^\s*(\S*(\s+\S+)*)\s*$/, "$1");
		},
		replaceAll : function(/* s, findstr, newstr */){
			if(navigator.userAgent.toLowerCase().indexOf("msie") != -1){
				return function(s, findstr, newstr){
					return s.replace(new RegExp(findstr, "gi"), newstr);
				}
			}else{
				return function(s, findstr, newstr){
					return s.split(findstr).join(newstr);
				}
			}		
		}(),


		byteLength : function(s){
			var _byte = 0;
			for(var i=0,len=s.length;i<len;i++){
				var val = escape(s.charAt(i)).length;
				if(val>3) _byte++;
				_byte++;
			}
			
			return _byte;
		},
		
		cutString : function(s, limit, suffix){		
			var suffix = suffix || "";
			var _limit = limit - suffix.length;
			var _byte = 0;
			var _str = new String.Buffer();
			for(var i=0,len=s.length;i<len;i++){			
				if(_limit>0) _str.append(s.charAt(i));			
				var val = escape(s.charAt(i)).length;
				if(val>3){ _byte++; _limit--; }
				_byte++; _limit--;
			}
			_str.append(suffix);
			
			return (limit >= _byte) ? s : _str.evaluate(); 
		}
	}, //String Native Extension
	
	//////////// Jigu Utilities
	loadedScripts : {},
	loadTimer : {},
	load : function(jsurl, onsuccess, options){
		if(daum.loadedScripts[jsurl]){ if(onsuccess) onsuccess(); return false; }
		
		var s = document.createElement("script");
		s.src = jsurl;
		s.type = "text/javascript";
		for(var p in options) if(options.hasOwnProperty(p)){
			s.setAttribute(p, options[p]);
		}
		
		daum.$T("head")[0].appendChild(s);
		
		if(!onsuccess) return false;
		
		s.onreadystatechange = function(){
			if(this.readyState == "loaded" || this.readyState == "complete"){					
				if(!daum.loadedScripts[jsurl]){
					daum.loadedScripts[jsurl] = true;
					onsuccess();
				}
			}
			return;
		}
		s.onload = function(){
			if(!daum.loadedScripts[jsurl]){
				daum.loadedScripts[jsurl] = true; 
				onsuccess();
			}
			return;
		}
		if(daum.Browser.sf || daum.Browser.op){
			daum.loadTimer[jsurl] = window.setInterval(function(){					
				if(/loaded|complete/.test(document.readyState)){
					window.clearInterval(daum.loadTimer[jsurl]);
					if(!daum.loadedScripts[jsurl]) onsuccess();
				}					
			}, 10);
		}
	},
		
    $A : function(unarray){  		
		if(!unarray) return [];
		if(unarray instanceof Array) return unarray;
		
		var ret = [];
		for(var i=0,len=unarray.length; i<len; i++){
			ret.push(unarray[i]);
		}
		
		return ret;		
    },
    
    $ : function(obj){
		return (obj) ? ((typeof(obj) == "string") ? document.getElementById(obj) : obj) : null;
	},
	
	$T : function(tagName,node){
		node = node || document;
		return node.getElementsByTagName(tagName);
	},
	
	$C : function(e, _cname){
		var e = daum.$(e);
		return daum.Element.getElementsByClassName(e, _cname);
	},
	
	$E : function(obj){
		var e = daum.$(obj);
		if(e) daum.extendMethods(e, daum.Element, false);		
		
		return e;
	},
	

	random : function(min, max){
		return Math.floor(Math.random() * (max - min + 1) + min);
	},
	

	
	activeX : function(/*obj,div, htmltext*/){
		var seq = 0;
		
		return function(obj, div, htmltext){
			var htmltext = htmltext || false;		
			var idx = seq++, buffer = new String.Buffer("<object ");
			//, add = function(str){ buffer.append(str); };
			var add = buffer.append.bind(buffer);
			add('id="'); if(obj.id) add(obj.id+'" '); else add('daumActiveX'+idx+'" ');		
			add('name="'); if(obj.name) add(obj.name+'" '); else add('daumActiveX'+idx+'" ');
			
			if(obj.type) add('type="'+obj.type+'" ');
			if(obj.classid) add('classid="'+obj.classid+'" ');
			if(obj.width) add('width="'+obj.width+'" ');
			if(obj.height) add('height="'+obj.height+'" ');
			if(obj.codebase) add('codebase="'+obj.codebase+'" ');
			add('>\r\n');	
		
			var params = obj.param;
			for(var pname in params) if(params.hasOwnProperty(pname)) add('<param name="'+pname+'" value="'+params[pname]+'" \/>\r\n');
			
			add('<embed '); add('id="');
			//ingpdw수정 090619
			//if(obj.id) add(obj.id+'" '); else add('daumActiveX'+idx+'" ');
			if(obj.id) add(obj.id+'E" '); else add('daumActiveX'+idx+'" ');
			add('name="'); if(obj.name) add(obj.name+'E"" '); else add('daumActiveX'+idx+'" ');
			
			if(obj.type) add('type="'+obj.type+'" ');
			if(obj.width) add('width="'+obj.width+'" ');
			if(obj.height) add('height="'+obj.height+'" ');
	
			var useflashvar = false, src = null;		
			for(var pname in params) if(params.hasOwnProperty(pname)){
				var param_name = pname.toLowerCase();			 
				if(param_name){
					if(param_name == "movie" || param_name == "src") src = params[pname];				
					if(param_name != "flashvars") add(param_name+'="'+params[pname]+'" '); else useflashvar = params[pname];				
				}
			}
			add(' \/>\r\n<\/object>\r\n');
			add = null;
			var html = buffer.evaluate();
			if(!!useflashvar && !!src) html = html.replace('src="'+src+'"', 'src="'+src+'?'+useflashvar+'"');
		
			if(!htmltext){
				var _panel = daum.$(div);
				if(daum.Browser.ie || obj.type=='application/x-shockwave-flash' || obj.classid.toLowerCase()=='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' || (daum.Browser.win && obj.classid.toLowerCase()=='clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95')){
					if(!htmltext) _panel.innerHTML = html;
				}
			
				var activeObject = daum.Element.getFirstChild(_panel);
				
				return (daum.Browser.ie) ? activeObject : activeObject.getElementsByTagName("embed")[0];
			}else{
				return html;
			}
		}
	}(),
	
	showFlash : function(src, width, height, div, _options , /*추가*/ id){
		var options = {quality : "high", wmode : "transparent", bgcolor : "#FFFFFF", pluginspace : "http://www.macromedia.com/go/getflashplayer",allowScriptAccess : "always", allowFullScreen : "true", htmltext : false };
		daum.extend(options, _options || {});

		var obj = {
			"type" : 'application/x-shockwave-flash',
			"classid" : 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
			"codebase" : 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
			"wmode" : 'transparent',
			"width" : width,
			"height" : height,
			//ingpdw수정 090619
			"id" : id,
			 "name" : id,
			"param" : { "movie" : src, "src" : src }			
		};				
		daum.extend(obj.param, options);
		
		if(location.toString().indexOf("https://") != -1) obj.codebase = obj.codebase.replace("http://", "https://");
		return daum.activeX(obj,div, options.htmltext);
	},
	
	methodize : function(method){	
		return function(){
			return method.apply(null, [this].concat(daum.$A(arguments)));
		}
	},
	
	nativeExtend : function(){
		var natives = [[daum.Object, Object], [daum.String, String.prototype], [daum.Number, Number.prototype], [daum.Array, Array.prototype], [daum.Function, Function.prototype]];
		Array.prototype.isArray = true; Number.prototype.isNumber = true; String.prototype.isString = true; Function.prototype.isFunction = true;
		
		for(var i=0,len=natives.length; i<len; i++){
			daum.extendMethods(natives[i][1], natives[i][0], false);
		}		
	}
};
daum.useHTMLPrototype = function(){    	
	daum.HTMLFragment = (document.createDocumentFragment) ? document.createDocumentFragment() : document.createElement("div");
	
	daum.HTMLPrototype = document.createElement("div");
	daum.HTML_Stack = document.createElement("div");

	daum.HTMLPrototype.id = "daum_html_prototype";
	daum.HTML_Stack.id = "daum_html_stack";
	
	daum.HTMLFragment.appendChild(daum.HTMLPrototype);
	daum.HTMLFragment.appendChild(daum.HTML_Stack);
	
	daum.HTMLPrototype.style.position = daum.HTML_Stack.style.position = "absolute";
	daum.HTMLPrototype.style.left = daum.HTML_Stack.style.left = daum.HTMLPrototype.style.top = daum.HTML_Stack.style.top = "-10000px";
	
	return true;		
}();

//String Buffer
String.Buffer = function(){
	this.buffer = [];
	this.bufferLength = 0;
	this.append.apply(this, arguments);
};
String.Buffer.prototype = {
	append : function(){
		this.bufferLength = this.buffer.push.apply(this.buffer, arguments);		
	},
	
	removeLast : function(){
		this.buffer.splice(this.bufferLength - 1, 1);
	},
	
	evaluate : function(d){		
		return this.buffer.join(d || "");
	}
};

/* Event */
daum.Event = {
	observer : [],	
	crossEvent : function(/*src, type, handler, isCapture*/){
		var methods = {};
		
		if(document.addEventListener){
			methods.add = function(src, type, handler, isCapture){					
				if(type.toLowerCase()=="mousewheel") type="DOMMouseScroll";
				src.addEventListener(type, handler, isCapture || false);					
			}
			methods.remove = function(src, type, handler, isCapture){
				if(type.toLowerCase()=="mousewheel") type="DOMMouseScroll";
				src.removeEventListener(type , handler, isCapture || false);
			}
		}else{
			methods.add = function(src, type, handler){					
				if(type.toLowerCase()=="dommousescroll") type="mousewheel";
				if(!handler.__Binded) handler = daum.Function.bindAsEventListener(handler, src);
				src.attachEvent("on"+type, handler);				
			}
			methods.remove = function(src, type, handler){
				if(type.toLowerCase()=="dommousescroll") type="mousewheel";
				src.detachEvent("on"+type, handler);
			}
		}
		
		return methods;
	}(),
	addEvent : function(src, type, handler, isCapture){
		var src = daum.$(src);
		var observer = {"src" : src, "type" : type, "handler" : handler};
		
		var flag = false;
		var asserted_index = -1;
		//for(var i=0,len=this.observer.length; i<len; i++){
		for(var i=this.observer.length-1; i>=0; i--){
			if(this.observer[i].src === observer.src && this.observer[i].type === observer.type && this.observer[i].handler === observer.handler){
				asserted_index = i;
				break;
			} 
		}
		if(asserted_index != -1) return this.observer[asserted_index];		
		
		asserted_index = this.observer.push(observer) - 1;			
		this.crossEvent.add(src, type, handler, isCapture || false);
			
		return this.observer[asserted_index];		
	},
	removeEvent : function(src, type, handler, isCapture){
		var src = daum.$(src);
		
		this.crossEvent.remove(src, type, handler, isCapture || false);
		
		for(var i=0,len=this.observer.length; i<len; i++){
			if(this.observer[i].src == src && this.observer[i].type == type && this.observer[i].handler === handler){
				this.observer.splice(i, 1);
				break;
			}
		}
	},	
	
	stopObserving : function(observer){
		if(observer) this.removeEvent(observer.src, observer.type, observer.handler);
	},
	
	stopEvent : function(e){
		var e = e || window.event;
		e.cancelBubble = true;
		if(e.stopPropagation) e.stopPropagation();
		return false;
	},
	
	preventDefault : function(e){
		var e = e || window.event;		
		e.returnValue = false;
		if(e.preventDefault) e.preventDefault();		
		return false;		
	},
	GC : function(){			
		for(var i=this.observer.length-1; i>-1; i--){
			var found = false;
	  		var element = this.observer[i].src;	
	  		if(daum.Browser.ie){
	  			if(element && element["ownerDocument"]){
	  				try{
	  					if(!this.observer[i].src["offsetParent"]){
	  						found = true;
	  					}
	  				}catch(e){
	  					found = true;
	  				}
	  			}
	  		}else if(element && element.ownerDocument){
				if(!this.observer[i].src.offsetParent){
					var isBodyElement = false;
					do{
						if(element == document.body){
							isBodyElement = true;
							break;
						}
					}while(element = element.parentNode)
					
					if(!isBodyElement) found = true;
				}
	  		}	  
	    	if(found) this.stopObserving(this.observer[i]);	    		
	   	}
	}

}//daum.Event

daum.Browser = {
	ua : navigator.userAgent.toLowerCase(),
	offset : { width : 0, height:0 },
	init : function(){
		this.ie = this.ua.indexOf("msie") != -1;
		this.ie_sv1 = this.ua.indexOf("sv1") != -1;
		this.ie_sv2 = this.ua.indexOf("sv2") != -1;
		this.ie55 = this.ua.indexOf("msie 5.5") != -1;
		this.ie6 = this.ua.indexOf("msie 6") != -1;
		this.ie7 = this.ua.indexOf("msie 7") != -1;
		this.ie8 = this.ua.indexOf("msie 8") != -1;
		this.ff = this.ua.indexOf("firefox") != -1 && this.ua.indexOf("navigator") == -1;
		this.ff2 = this.ff && this.ua.indexOf("firefox/2.") != -1;
		this.ff3 = this.ff && this.ua.indexOf("firefox/3.") != -1;
		this.sf = this.ua.indexOf("safari") != -1;
		this.op = this.ua.indexOf("opera") != -1;
		this.cr = this.ua.indexOf("chrome/") != -1;
		this.ns = this.ua.indexOf("netscape") != -1 || (this.ua.indexOf("firefox") != -1 && this.ua.indexOf("navigator") != -1);
		this.gecko = this.ua.indexOf("gecko") != -1 && this.ua.indexOf("khtml") == -1;
		this.webkit = this.ua.indexOf("applewebkit/") != -1 && !this.cr;
		this.infopath = this.ua.indexOf("infopath") != -1;
		this.etc = this.gecko && this.ff && this.ns;

		this.win = this.ua.indexOf("win") != -1; 
		this.vista = this.ua.indexOf("nt 6") != -1; this.xp = this.ua.indexOf("nt 5.1") != -1; this.w2k = this.ua.indexOf("nt 5.0") != -1; this.w98 = this.ua.indexOf("windows 98") != -1;
		this.mac = this.ua.indexOf("mac") != -1;
		this.unix = !(this.win || this.mac);		
		
		this.versioning();
		
		return;
	},
	
	versioning : function(){
		if(this.ie){						
			if(this.ie8) this.ie7 = this.ie6 = this.ie_sv2 = this.ie_sv1 = false;			
			if(this.ie7) this.ie6 = this.ie_sv2 = this.ie_sv1 = false;						
		}
		if(this.ff) if(this.ff3) this.ff2 = false;
		
		if(this.sf && this.cr) this.sf = false;	
	},
	
	setOffset : function(){
		if(this.ie_sv1)	{ this.offset.width = 10; this.offset.height = (this.infopath) ? 58 : 29; }
		else if(this.ie7) { this.offset.width = 10; this.offset.height = 81; }	
		else if(this.etc) { this.offset.width = (this.mac) ? 0 : 6; this.offset.height = (this.mac) ? 68 : 54; } 
		else if(this.ff2) { this.offset.width = (this.mac) ? 0 : 6; this.offset.height = (this.mac) ? 18 : (this.infopath) ? 54 : 49; }
		else if(this.ff3) { this.offset.width = (this.mac) ? 0 : 8; this.offset.height = (this.mac) ? 68 : (this.infopath) ? 85 : 75; }
		else if(this.sf) { this.offset.width = (this.mac) ? 0 : 4; this.offset.height = (this.mac) ? 23 : 27; }
		else if(this.ns) { this.offset.width = (this.mac) ? 0 : 6; this.offset.height = (this.mac) ? 18 : 54; }
		else if(this.op) { this.offset.width = (this.mac) ? 0 : 9; this.offset.height = (this.mac) ? 36 : 49; }
	},
			
	
	resizePop : function(w, h){
		if(typeof(w) == "object") var h = w.offsetHeight, w = w.offsetWidth;
		
		w += this.offset.width;
		h += this.offset.height;

		window.resizeTo(w, h);
	}, 

	resizePopup : function(w, h){
		if(typeof(w) == "object") var h = w.offsetHeight, w = w.offsetWidth;
		
		w += this.offset.width;
		h += this.offset.height;

		window.resizeTo(w, h);
	}, 	

	resizePop2 : function(){
		var gap = 0;
		var heightOffset = 0;		
		var width = document.documentElement.scrollWidth;
		if(this.cr){
			if(document.documentElement.clientHeight > 0) { gap = 50; }
			window.resizeTo(width, document.body.clientHeight + gap + heightOffset);
			return;
		}//Chrome
		
		var height = this.webkit ? document.body.clientHeight : document.body.scrollHeight;
		window.resizeTo(width, height);//set Standard Size...
		
		var innerHeight = document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight;
		var contentHeight=0;
		if(this.ie || this.op){
			contentHeight = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
			if(this.ie55){ innerHeight = document.body.scrollHeight; }
		}else if(this.gecko){
			contentHeight = window.innerHeight;
		}else if(this.webkit){
			innerHeight = document.body.clientHeight;
			contentHeight = window.innerHeight;
		}
		
		if(innerHeight && contentHeight && innerHeight != contentHeight){
			gap = innerHeight - contentHeight;
		}


		window.resizeTo(width, height+gap+heightOffset);
	},
	
	popup : function(url, w, h, _options){
		var options = {
			"name" : "daumPopup",
			"scroll" : false,
			"resize" : false,
			"status" : false		
		}		
		daum.extend(options, _options || {}, true);		

		return window.open(url,options.name,"width="+w+",height="+h+",status="+options.status+",resizable="+options.resize+",scrollbars="+options.scroll);
	}	
}; //daum.Broswer
daum.Browser.init();

daum.Template = function(template){
	this.template = template;	
};
daum.Template.prototype = {
	evaluate : function(data){
		var result = this.template;
		for(var p in data) if(data.hasOwnProperty(p)){
			result = daum.String.replaceAll(result, "#{"+p+"}", data[p]);			
		}
		
		return result;
	},
	
	toElement : function(data){
		daum.HTMLPrototype.innerHTML = this.evaluate(data);
		
		var element = daum.Element.getFirstChild(daum.HTMLPrototype);
		
		daum.HTML_Stack.appendChild(element);
		
		return element;
	}
};


daum.Element = {
	getElementsByClassName : function(e, cname){
		var nodes = daum.$(e).getElementsByTagName("*");
		var element = [];	
		for(var i=0,len=nodes.length; i<len; i++){
			if(daum.Element.hasClassName(nodes[i], cname)) element.push(nodes[i]);
		}
		return (element.length > 0) ? element : null;
	},
	
	getChildElements : function(element){
		var realNodes = [];
		
		if(element.hasChildNodes()){
			var cNodes = element.childNodes;

			for(var i=0,loop=cNodes.length; i<loop; i++){
				if(cNodes[i].nodeType == 1){
					realNodes.push(cNodes[i]);
				}
			}
		}
		
		return realNodes;
	},
	
	hasClassName : function(e, cname){
		return (e.className.indexOf(cname) != -1);
	},

	addClassName : function(e, cname){
		if(daum.Element.hasClassName(e, cname)) return; 
		
		if(daum.String.trim(e.className) == ""){
			e.className = cname;
		}else{
			e.className += (" " + cname);
		}
	},
	
	removeClassName : function(e, cname){
		var _classNames = e.className;
		if(_classNames.length > 0) _classNames = daum.String.replaceAll(_classNames, cname, "");
		
		e.className = _classNames;
	},
	
	setStyle : function(e, cssProperty, cssValue){
		daum.$(e).style[cssProperty] = cssValue;
	},
	
	getStyle : function(e, cssProperty, mozCssProperty){   		
   		var mozCssProperty = mozCssProperty || cssProperty
   		
   		return (e.currentStyle) ? e.currentStyle[cssProperty] : document.defaultView.getComputedStyle(e, null).getPropertyValue(mozCssProperty);  
	},
	
	getNext : function(e){
		var next = e.nextSibling;
		while(next && next.nodeType != 1) next = next.nextSibling;
		
		return next;
	},
	
	getPrev : function(e){
		var prev = e.previousSibling;
		while(prev && prev.nodeType != 1) prev = prev.previousSibling;
		
		return prev;
	},
	
	getParent : function(e){
		return e.parentNode;
	},
	
	getFirstChild : function(e){
		var fchild = e.firstChild;
		while(fchild && fchild.nodeType != 1) fchild = fchild.nextSibling;
		
		return fchild;
	},
	
	getLastChild: function(e){
		var lchild = e.lastChild;
		while(lchild && lchild.nodeType !=1) lchild = lchild.previousSibling;
		
		return lchild;
	},
	
	getCoords : function(e, useOffset){
		var useOffset = useOffset || false;
		var element = daum.$(e);
		var w = element.offsetWidth;
		var h = element.offsetHeight;
		
		var coords = { "left" : 0, "top" : 0, "right" : 0, "bottom" : 0 };
		
		while(element){
			coords.left += element.offsetLeft || 0;
			coords.top += element.offsetTop || 0;
			element = element.offsetParent;		
			
			if(useOffset){
				if(element){
					if(element.tagName == "BODY") break;
					var p = daum.Element.getStyle(element, "position");
					if(p !== "static") break;
				}
			}	
		}
		
		coords.right = coords.left + w;
		coords.bottom = coords.top + h;
	
		return coords;
	},
	visible : function(e){
		return e.style.display != "none";
	},
	show : function(e){
		e.style.display = "";
	},	
	hide : function(e){
		e.style.display = "none";
	},
	toggle : function(e){
		(daum.Element.visible(e)) ? daum.Element.hide(e) : daum.Element.show(e);
	},	

	
	setOpacity : function(e, op){		
		e.style.filter="alpha(opacity="+op*100+")";
		e.style.opacity = e.style.MozOpacity = e.style.KhtmlOpacity = op;
	},
	
	setCssText : function(/*e, _csstext*/){		
		if(daum.Browser.ie) return function(e, _csstext){ e.style.cssText = _csstext; }
		else return function(e, _csstext){ e.setAttribute("style", _csstext); }		
	}(),
	
	setLeft : function(e, _left){
		e.style.left = daum.String.px(_left);
	},

	setTop : function(e, _top){
		e.style.top = daum.String.px(_top);
	},
	
	setPosition : function(e, _left, _top){
		daum.Element.setTop(e, _top);
		daum.Element.setLeft(e, _left);
	}	
	
};

//JIGU initialize
(function(){
	if(!window.$) window.$ = daum.$;	
	if(!window.$A) window.$A = daum.$A;
	if(!window.$E) window.$E = daum.$E;
	if(!window.$T) window.$T = daum.$T;
	if(!window.$C) window.$C = daum.$C;

	daum.extend(daum, daum.Event);
	daum.extend(daum, daum.Browser);
	daum.extend(daum, daum.Element);
	
	window.JiguEventGC = daum.Function.interval(daum.Event.GC, 60000, daum.Event);
	
	daum.Event.addEvent(window, "load", function(){ daum.documentLoaded = true; });
	
	daum.nativeExtend();
	if(!document.getElementsByClassName) document.getElementsByClassName = daum.methodize(daum.Element.getElementsByClassName);

	return true;
})();


