/* version : 0.3.1 */ if(typeof window.nhn=='undefined'){window.nhn=new Object} function $(sID){var ret=new Array;var el=null;var reg=/<([a-z]+|h[1-5])>/i;for(var i=0;i1)?ret:ret[0]):null} function $Class(oDef){var typeClass=function(){if(typeof this.$super!="undefined")this.$super.$this=this;if(typeof this.$init!="undefined")this.$init.apply(this,arguments)};typeClass.prototype=oDef;typeClass.extend=$Class.extend;return typeClass} $Class.extend=function(superClass){this.prototype.$super=new Object;var superFunc=function(m,func){return function(){var f=this.$this[m];this.$this[m]=func;this.$this[m].apply(this.$this,arguments);this.$this[m]=f}};for(var x in superClass.prototype){if(typeof this.prototype[x]=='undefined')this.prototype[x]=superClass.prototype[x];if(typeof this.prototype[x]!='function')continue;this.prototype.$super[x]=superFunc(x,superClass.prototype[x])} return this} function $$(sSelector,oRoot){if(typeof $$._compile=="undefined"){var statics={_cache:[],_regex:{bparse:/([^>|\+|\s]+)\s*([>|\+]?)\s*/g,fparse:/\s*([>|\+]?)\s*([^>|\+|\s]+)/g,tag:/^([\w-]+)/,id:/#([\w-]+)/g,cls:/\.([\w-]+)/g,pseudo:/:([\w-]+(\(.*\))?)/g,pseudoparse:/([\w-]+)(\((.*)\))?/,attr:/\[([^\]]+)]/g,attrparse:/^(\[)([\w-]+)([!|\^|\$|\*]?=)(.*)(\])$/},_push:function(arr,el){arr[arr.length]=el;return arr},_next:function(o){while(o&&(o=o.nextSibling)&&o.nodeType!=1);return o},_prev:function(o){while(o&&(o=o.previousSibling)&&o.nodeType!=1);return o},_index:function(o){var idx=1;for(var child=o.parentNode.firstChild;child&&child!=o;child=$$._next(child),idx++);return idx},_pseudo:{first_child:function(o){return!($$._prev(o))},last_child:function(o){return!($$._next(o))},empty:function(o){return!(o.firstChild)},contains:function(o,arg){return o.innerHTML.indexOf(arg)>-1}},_filter:function(selector,backward){var filter={};var declare={},cond=['true'];var varname,func='';var id,tag,classes,pseudoes,attres;if(id=selector.match($$._regex.id)){if(id[1])return false;filter.id=id[0].substr(1)} tag=selector.match($$._regex.tag);filter.tag=(tag&&tag[1])||'*';if(classes=selector.match($$._regex.cls)){for(var cls,i=0;cls=classes[i];i++) cond.push('/\\b'+cls.substr(1)+'\\b/.test(o.className)')} if(pseudoes=selector.match($$._regex.pseudo)){for(var pseudo,i=0;pseudo=pseudoes[i];i++){pseudo=pseudo.substr(1).match($$._regex.pseudoparse);cond.push('$$._pseudo.'+pseudo[1].replace('-','_')+'(o, "'+pseudo[3]+'")')}} if(attres=selector.match($$._regex.attr)){for(var attr,i=0;attr=attres[i];i++){attr=attr.match($$._regex.attrparse);varname='v_'+attr[2];if(!declare[attr[2]]){func+='var '+varname+' = o.getAttribute("'+attr[2]+'") || "";\n';declare[attr[2]]=true} switch(attr[3]){case'=':cond.push(varname+' == "'+attr[4]+'"');break;case'!=':cond.push(varname+' != "'+attr[4]+'"');break;case'^=':cond.push(varname+'.indexOf("'+attr[4]+'") == 0');break;case'$=':cond.push(varname+'.substr('+varname+'.length - "'+attr[4]+'".length) == "'+attr[4]+'"');break;case'*=':cond.push(varname+'.indexOf("'+attr[4]+'") > -1');break;default:cond.push(varname+' != null')}}} if(backward){if(filter.tag&&filter.tag!='*') cond.push('(casei ? o.tagName.toLowerCase() == "'+filter.tag.toLowerCase()+'" : o.tagName == "'+filter.tag+'")');if(filter.id)cond.push('o.id == "'+filter.id+'"')} filter.func=new Function('o','casei',func+'\nreturn ('+cond.join(" && ")+')');return filter},_trace:function(root,o,selectors,idx,casei){if(idx==-1)return true;var selector=selectors[idx];switch(selector.type){case'':for(o=o.parentNode;o!=root;o=o.parentNode) if(selector.filter.func(o,casei)) if($$._trace(root,o,selectors,idx-1,casei)) return true;break;case'>':o=o.parentNode;if(o&&o!=root&&selector.filter.func(o,casei)) if($$._trace(root,o,selectors,idx-1,casei)) return true;break;case'+':o=this._prev(o);if(o&&selector.filter.func(o,casei)) if($$._trace(root,o,selectors,idx-1,casei)) return true;break} return false},_compile:function(query,bquery,fquery){if(!$$._cache[query]){var cache={backward:[],forward:[]};bquery.replace($$._regex.bparse,function(all,selector,type){$$._push(cache.backward,{'type':type,'filter':$$._filter(selector,true)})});var i=0,method;var code=[];fquery.replace($$._regex.fparse,function(all,type,selector){cache.forward.push({'type':type,'filter':$$._filter(selector)});switch(type){case'>':method="_getChildren";break;case'':method="_getOffspring";break;case'+':method="_getBrother";break} $$._push(code,'result = $$.'+method+'(result, forward['+(i++)+'].filter, casei);')});$$._push(code,'return result;');cache.filter=new Function('result','forward','casei',code.join('\n'));$$._cache[query]=cache} return $$._cache[query]},_getChildren:function(objs,filter,casei){var ret=[];var child;for(var i=0,obj;obj=objs[i];i++){for(child=obj.firstChild;child;child=$$._next(child)) if(filter.func(child,casei))$$._push(ret,child)} return ret},_getOffspring:function(objs,filter,casei){var ret=[];var childs;for(var i=0,obj;obj=objs[i];i++){childs=obj.getElementsByTagName(filter.tag);for(var j=0,child;child=childs[j];j++) if(filter.func(child,casei))$$._push(ret,child)} return ret},_getBrother:function(objs,filter,casei){var ret=[];var child;for(var i=0,obj;obj=objs[i];i++){if(child=$$._next(obj)) if(filter.func(child,casei))$$._push(ret,child)} return ret}};for(var x in statics){$$[x]=statics[x]}} oRoot=$(oRoot||document);var parts=sSelector.match(/(.*#[\w]+[^>|\+|\s]*)([>|\+|\s].*)/)||[];var cache=$$._compile(sSelector,parts[1]||sSelector,parts[2]||'');var idx=cache.backward.length-1;var filter=cache.backward[idx].filter;var sands=[],result=[];var casei=(oRoot==document||(oRoot.ownerDocument||oRoot.document)==document);if(filter.id){$$._push(sands,document.getElementById(filter.id))}else if(filter.tag=="*"){sands=oRoot.all}else{sands=oRoot.getElementsByTagName(casei?filter.tag.toLowerCase():filter.tag)} for(var i=0,sand;sand=sands[i];i++){if(filter.func(sand,casei)) if($$._trace(oRoot,sand,cache.backward,idx-1,casei)) $$._push(result,sand)} return cache.filter(result,cache.forward,casei)} 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-1)} $A.prototype.indexOf=function(any){if(typeof this._array.indexOf!='undefined')return this._array.indexOf(any);for(var i=0;i=1){callback(self)}else{self._fade_timer=setTimeout(func,10)}};this.show();func();return this} $Element.prototype.disappear=function(duration,callback){var self=this;var op=this.opacity();if(op==0)return this;try{clearTimeout(this._fade_timer)}catch(e){};callback=callback||new Function;var step=op/((duration||0.3)*100);var func=function(){op-=step;self.opacity(op);if(op<=0){self.hide();callback(self)}else{self._fade_timer=setTimeout(func,10)}};func();return this} $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]}else if(window.getComputedStyle){if(sName=="cssFloat")sName="float";return document.defaultView.getComputedStyle(e,null).getPropertyValue(sName.replace(/([A-Z])/g,"-$1").toLowerCase())} 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.attr=function(sName,sValue){var e=this._element;if(typeof sName=="string"){if(typeof sValue!="undefined"){var obj=new Object;obj[sName]=sValue;sName=obj}else{if(sName=="class"||sName=="className")return e.className;return e.getAttrbute(sName)}} if(typeof $H!="undefined"&&sName instanceof $H){sName=sName.$value()} if(typeof sName=="object"){for(var k in sName){e.setAttribute(k,sName[k])}} return this} $Element.prototype.offset=function(top,left){var e=this._element;var t=0,l=0;if(typeof top=="number"&&typeof left=="number"){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}} $Element.prototype.width=function(width){if(typeof width=="number"){var e=this._element;e.style.width=width+"px";if(e.offsetWidth!=width){e.style.width=(width*2-e.offsetWidth)+"px"}} return this._element.offsetWidth} $Element.prototype.height=function(height){if(typeof height=="number"){var e=this._element;e.style.height=height+"px";if(e.offsetWidth!=height){e.style.height=(height*2-e.offsetWidth)+"px"}} return this._element.offsetHeight} $Element.prototype.hasClass=function(sClass){return(new RegExp("\\b"+sClass+"\\b")).test(this._element.className)} $Element.prototype.addClass=function(sClass){var e=this._element;e.className=e.className.replace(new RegExp("\\b"+sClass+"(\\b)|$")," "+sClass+"$1");return this} $Element.prototype.removeClass=function(sClass){var e=this._element;e.className=e.className.replace(new RegExp("\\b"+sClass+"\\b")," ");return this} $Element.prototype.text=function(sText){var prop=(typeof this._element.innerText!="undefined")?"innerText":"textContent";if(typeof sText=="string"){this._element[prop]=sText} return this._element[prop]} $Element.prototype.html=function(sHTML){if(typeof sHTML=="string"){this._element.innerHTML=sHTML} return this._element.innerHTML} $Element.prototype.outerHTML=function(){var e=this._element;if(typeof e.outerHTML!="undefined")return e.outerHTML;var div=$("
");this._element.parentNode.insertBefore(div,this._element);div.appendChild(this._element);var s=div.innerHTML;div.parentNode.insertBefore(this._element,div);div.parentNode.removeChild(div);return s} $Element.prototype.append=function(oElement){var o=$Element(oElement).$value();this._element.appendChild(o);return $Element(o)} $Element.prototype.prepend=function(oElement){var e=this._element;var o=$Element(oElement).$value();if(e.childNodes.length>0){e.insertBefore(o,e.childNodes[0])}else{e.appendChild(o)} return $Element(o)} $Element.prototype.replace=function(oElement){var e=this._element;var o=$Element(oElement).$value();e.parentNode.insertBefore(o,e);e.parentNode.removeChild(e);return $Element(o)} $Element.prototype.appendTo=function(oElement){var o=$Element(oElement).$value();o.appendChild(this._element);return this} $Element.prototype.prependTo=function(oElement){var o=$Element(oElement).$value();if(o.childNodes.length>0){o.insertBefore(this._element,o.childNodes[0])}else{o.appendChild(this._element)} return this} $Element.prototype.before=function(oElement){var o=$Element(oElement).$value();this._element.parentNode.insertBefore(o,this._element);return $Element(o)} $Element.prototype.after=function(oElement){var o=this.before(oElement);o.before(this);return o} 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.$value=function(){return this._func} $Fn.prototype.bind=function(){var a=$A(arguments).$value();var f=this._func;var t=this._this;var b=function(){var args=$A(arguments).$value();if(a.length)args=a.concat(args);return f.apply(t,args)};return b} $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.prototype.attach=function(oElement,sEvent){var f;if((oElement instanceof Array)||($A&&(oElement instanceof $A)&&(oElement=oElement.$value()))){for(var i=0;i0){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;i0){var events="__jindo_wheel_events",found=false;if(!oElement[events])return;for(var i=0;i-1)};info.opera=(typeof window.opera!="undefined")||f("Opera",u);info.ie=!info.opera&&f("MSIE",u);info.mozilla=f("Gecko",u);info.firefox=f("Firefox",u);info.camino=f("Camino",v);info.netscape=f("Netscape",u);info.safari=f("Apple",v);info.omniweb=f("OmniWeb",u);info.icab=f("iCab",v);info.konqueror=f("KDE",v);try{if(info.ie){ver=u.match(/(?:MSIE) ([0-9.]+)/)[1]}else if(info.firefox||info.opera||info.omniweb){ver=u.match(/(?:Firefox|Opera|OmniWeb)\/([0-9.]+)/)[1]}else if(info.mozilla){ver=u.match(/rv:([0-9.]+)/)[1]}else if(info.safari){ver=parseFloat(u.match(/Safari\/(0-9.]+)/)[1]);if(ver==100){ver=1.1}else{ver=[1.0,1.2,-1,1.3,2.0,3.0][Math.floor(ver/100)]}}else if(info.icab){ver=u.match(/iCab[ \/]([0-9.]+)/)[1]} info.version=parseFloat(ver);if(isNaN(info.version))info.version=-1}catch(e){info.version=-1} $Agent.prototype.navigator=function(){return info} return info} $Agent.prototype.os=function(){var info=new Object;var u=navigator.userAgent;var p=navigator.platform;var f=function(s,h){return(h.indexOf(s)>-1)};info.win=f("Win",p);info.mac=f("Mac",p);info.linux=f("Linux",p);info.win2000=info.win&&(f("NT 5.0",p)||f("2000",p));info.winxp=info.win&&(f("NT 5.1",p)||f("Win32",p));info.xpsp2=info.winxp&&(f("SV1",u)||f("MSIE 7",u));info.vista=f("NT 6.0",p);$Agent.prototype.os=function(){return info} return info} $Agent.prototype.flash=function(){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(/[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){}}} $Agent.prototype.info=function(){return info} return info} $Agent.prototype.silverlight=function(){var info=new Object;var p=navigator.plugins;var s=null;info.installed=false;info.version=-1;if(typeof p!="undefined"&&p.length){s=p["Silverlight Plug-In"];if(s){info.installed=true}}else{try{s=new ActiveXObject("AgControl.AgControl");info.installed=true}catch(e){}} $Agent.prototype.silverlight=function(){return info} return info} function $Ajax(url,option){if(this===window)return new $Ajax(url,option);function _getXHR(){if(window.XMLHttpRequest){return new XMLHttpRequest()}else if(ActiveXObject){try{return new ActiveXObject('MSXML2.XMLHTTP')} catch(e){return new ActiveXObject('Microsoft.XMLHTTP')} return null}};var loc=document.location.toString();var domain=loc.match(/^https?:\/\/([a-z0-9_\-\.]+)/i)[1];this._url=url;this._options=new Object;this._headers=new Object;this._crossdom=/^https?:\/\//i.test(url)&&!(new RegExp("^https?://"+domain+"(:[0-9]+)?(?:/|$)","i").test(url));this.option({type:"post",timeout:0,proxy:"",onload:function(){}});this.option(option);if(this._crossdom){this._request=new $Ajax.CrossRequest(this.option("proxy"))}else{this._request=_getXHR()}} $Ajax.prototype._onload=function(){if(this._request.readyState==4){this._options.onload($Ajax.Response(this._request))}} $Ajax.prototype.request=function(oData){var req=this._request;var opt=this._options;var data,v,a=[],data="";if(typeof oData=="undefined"||!oData){data=null}else{for(var k in oData){v=oData[k];if(typeof v=="function")v=v();a[a.length]=k+"="+encodeURIComponent(v)} data=a.join("&")} req.open(opt.type.toUpperCase(),this._url,true);req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");req.setRequestHeader("charset","utf-8");for(var x in this._headers){if(typeof this._headers[x]=="function")continue;req.setRequestHeader(x,String(this._headers[x]))} if(typeof req.onload!="undefined"){req.onload=$Fn(this._onload,this).bind()}else{req.onreadystatechange=$Fn(this._onload,this).bind()} req.send(data)} $Ajax.prototype.abort=function(){this._request.abort()} $Ajax.prototype.option=function(name,value){if(typeof name=="undefined")return"";if(typeof name=="string"){if(typeof value=="undefined")return this._options[name];this._options[name]=value;return this} try{for(var x in name)this._options[x]=name[x]}catch(e){};return this} $Ajax.prototype.header=function(name,value){if(typeof name=="undefined")return"";if(typeof name=="string"){if(typeof value=="undefined")return this._headers[name];this._headers[name]=value;return this} try{for(var x in name)this._headers[x]=name[x]}catch(e){};return this} $Ajax.Response=function(req){if(this===$Ajax)return new $Ajax.Response(req);this._response=req} $Ajax.Response.prototype.xml=function(){return this._response.responseXML} $Ajax.Response.prototype.text=function(){return this._response.responseText} $Ajax.Response.prototype.header=function(name){if(typeof name=="string")return this._response.getResponseHeader(name);return this._response.getAllResponseHeaders()} $Ajax.CrossRequest=function(proxy){this._headers=new Object;this._respHeaders=new Object;this._proxy=proxy;this.onload=function(){}} $Ajax.CrossRequest.prototype.open=function(type,url){var re=/https?:\/\/([a-z0-9_\-\.]+)/i;var dom=document.location.toString().match(re);this._type=type;this._url=url;this._remote=String(url).match(/(https?:\/\/[a-z0-9_\-\.]+)/i)[1];this._iframe=null;this._domain=(dom[1]!=document.domain)?document.domain:"";if(typeof $Ajax.CrossRequest._callbacks=="undefined"){$Ajax.CrossRequest._callbacks=new Object}} $Ajax.CrossRequest.prototype._callback=function(id,data,header){var t=this;this.readyState=4;this.responseText=data;this._respHeaderString=header;header.replace(/^([\w\-]+)\s*:\s*(.+)$/m,function($0,$1,$2){t._respHeaders[$1]=$2});this.onload(this);setTimeout(function(){t.abort()},10)} $Ajax.CrossRequest.prototype.abort=function(){try{this._iframe.parentNode.removeChild(this._iframe)}catch(e){}} $Ajax.CrossRequest.prototype.send=function(data){this.responseXML="";this.responseText="";var re=/https?:\/\/([a-z0-9_\-\.]+)/i;var id=String(Math.floor(Math.random()*10000));var url=this._remote+"/ajax_remote_callback.html?type="+this._type;var header=new Array;$Ajax.CrossRequest._callbacks[id]=$Fn(this._callback,this).bind();for(var x in this._headers){header[header.length]="'"+x+"':'"+this._headers[x]+"'"} header="{"+header.join(",")+"}";url+="&id="+id;url+="&header="+encodeURIComponent(header);url+="&proxy="+encodeURIComponent(this._proxy);url+="&domain="+this._domain;url+="&url="+encodeURIComponent(this._url.replace(re,""));url+="#"+encodeURIComponent(data);var fr=this._iframe=$("