var USER_INFO = new Object;
USER_INFO.ID = '';
USER_INFO.NAME = '';
USER_INFO.LV = 9;
USER_INFO.IsLogin = false;
USER_INFO.IsMaster = false;
var HTTP_HOST = 'www.busanaquarium.com';
/*!
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);

/// <reference path="~/scripts/jquery-1.4.2.min.js" />

var AJAX_HANDLER = new Object();

AJAX_HANDLER.timeOut = 60 * 10000;
AJAX_HANDLER.loadingVarAble = false;
AJAX_HANDLER.loadingVarImage = "/images/common/ajax-loader.gif";
AJAX_HANDLER.loginVarObj = null;
AJAX_HANDLER.aysnc = true;	//�⺻ ��ũ



AJAX_HANDLER.printAjaxError = function(msg, err, runFunction) {
	
	if($("#AJAX_HANDLER_DEBUG_LAYER").length == 0){
		$("body").append('<div style="position:absolute; left:0px; top:0px; background-color:#FFF"></div>');
	}

	var debugPannelLayer = document.getElementById("AJAX_HANDLER_DEBUG_LAYER");

	var errorMsgStr = "";
	if (err == "timeout") {
		alert("������ ��û�ð��� �ʰ� �Ǿ����ϴ�.");
		return;
	}
	else {
		errorMsgStr += "���� ���� " + msg.status.toString() + "<br />";
		errorMsgStr += "�����Լ� " + runFunction + "<br />";
		errorMsgStr += "�����޼��� ���� " + err + "<br />";
		try {
			errorMsgStr += msg.responseText;
		}
		catch (e) {
			errorMsgStr += e;
		}
	}

	//debugPannelLayer.innerHTML = errorMsgStr;
}




if (AJAX_HANDLER.loadingVarAble) {
	AJAX_HANDLER.loginVarObj = '<div id="insLodingVar" style="width:100%;text-align:center"><img src="' + AJAX_HANDLER.loadingVarImage + '" alt="�ε�������" style="vertical-align:middle" /></div>';
}

function getLodingVarString(height) {
	if (height == "" || height === null || height === undefined || height == "0") return AJAX_HANDLER.loginVarObj;

	return '<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: ' + height + 'px;"><tr><td valign="middle" align="center" style="text-align:center"><img src="http://www.iamcompassion.or.kr/Images/ajax-loader.gif" alt="�ε�������"/><tr></td></table>';
}

AJAX_HANDLER.ExcuteAjaxAtJScript = function(targetPage, vars, sync) {

	if (sync === undefined || sync == "") {
		sync = AJAX_HANDLER.aysnc;
	}
	$.ajax({
		url: targetPage,
		type: "post",
		dataType: "script",
		async: sync,
		data: vars,
		timeout: AJAX_HANDLER.timeOut,
		error: function (msg, err) { AJAX_HANDLER.printAjaxError(msg, err) }
	});
}



function executeAjax(targetPage, thisSendVars, runFunction, asyncMode) {
	if (eval(runFunction) === undefined || eval(runFunction) == null) {
		alert("�����Լ��� �������� �ʽ��ϴ�.");
		return;
	}
	if (asyncMode === undefined || asyncMode == "") {
		asyncMode = true;
	}

	$.ajax({
		url: targetPage,
		type: "post",
		dataType: "json",
		async: asyncMode,
		data: thisSendVars,
		timeout: AJAX_HANDLER.timeOut,
		error: function (msg, err) { AJAX_HANDLER.printAjaxError(msg, err) },
		success: function (msg) {
			if (msg.json != "true") {
				AJAX_HANDLER.reportExecuteAjax(targetPage, thisSendVars, msg);
			}
			else {
				eval(runFunction + "(msg, thisSendVars)");
			}
		}
	});
}

AJAX_HANDLER.reportExecuteAjax = function(targetPage, thisSendVars, msg) {
	var debugPannelLayer = document.getElementById("ctl00_debugLayer");
	if (debugPannelLayer === undefined) {
		alert("����׸� ���� �ǳ��� �����ϴ�. : ctl00_debugLayer");
		return;
	}
	var debugPannel = document.getElementById("ctl00_cell_debug");

	var errorMsgStr = "<br />*************************************************************<br/>";
	errorMsgStr += "��� ������ : " + targetPage + " �� ���� ������ true�� �ƴմϴ�.<br />";
	errorMsgStr += "���� �޼���------------------------------<br />";

	for (var keyValue in thisSendVars) {
		errorMsgStr += keyValue + "=" + thisSendVars[keyValue] + "<br />";
	}

	errorMsgStr += "���� �޼���------------------------------<br />";
	for (var keyValue in msg) {
		errorMsgStr += keyValue + "=" + msg[keyValue] + "<br />";
	}
	debugPannel.innerHTML += errorMsgStr;
	debugPannelLayer.style.display = "block";
}

AJAX_HANDLER.getHTML = function (targetPage, vars, targetObj, isObj, callback, loadingVarHeight) {
	var obj;
	if (isObj) {
		obj = targetObj;
	}
	else {
		obj = document.getElementById(targetObj);
	}
	if (obj == undefined) {
		alert("�������� �ٿ� ���� ��� ��ü�� �����ϴ�.");
		return;
	}
	if (AJAX_HANDLER.loadingVarAble) {
		//�ε��ٸ� ����Ѵٸ�..
		if (loadingVarHeight == null || loadingVarHeight === undefined || loadingVarHeight == "") {
			$(obj).html(AJAX_HANDLER.loginVarObj);
		}
		else {
			$(obj).html(getLodingVarString(loadingVarHeight));
		}
	}

	$.ajax({
		url: targetPage,
		type: "post",
		dataType: "html",
		data: vars,
		timeout: AJAX_HANDLER.timeOut,
		error: function (msg, err) { AJAX_HANDLER.printAjaxError(msg, err) },
		success: function (msg) { successAjaxCommunity(msg, targetObj, isObj, callback, vars) }
	});
}

AJAX_HANDLER.successAjaxCommunity = function(msg, targetObj, isObj, callback, vars) {
	var obj;
	if (isObj) {
		obj = targetObj;
	}
	else {
		obj = document.getElementById(targetObj);
	}
	if (obj == undefined) {
		alert("�������� �ٿ� ���� ��� ��ü�� �����ϴ�.");
		return;
	}

	//���͸�
	var $page = $(msg);
	var $formPage;

	$page.each(function () {
		if (this.nodeName == "FORM") {
			$formPage = $(this);
		}
	})
	$formPage.find('input[id^="__"]').parent().remove();

	if (obj.jquery === undefined || obj.jquery == null) {
		obj.innerHTML = $formPage.html();
	}
	else {
		obj.html($formPage.html());
	}

	if (eval(callback) === undefined || eval(callback) == null) {
	}
	else {
		eval(callback + "(msg, vars)");
	}

}



AJAX_HANDLER.getJsonVar = function(jsonObj, indexKey) {
	if (jsonObj[indexKey] === undefined) {
		return "";
	}
	else {
		return jsonObj[indexKey];
	}
}

// JavaScript Document

/*
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
										공통적으로 쓰이는 함수
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/
//쿼리스트링 변환
function convertPageURL(page) {
	var PathName = "";
	var tmpQuery = "";

	var PathNameArr = location.pathname.split("/");

	for (var i = 0; i < PathNameArr.length - 1; i++) {
		if (PathNameArr[i] != "") {
			PathName += "/" + PathNameArr[i];
		}
	}

	PathName += "/" + page;

	tmpQuery = location.search.toString();
	if (tmpQuery != "") {
		PathName += "?" + tmpQuery;
	}

	return PathName;
}

function convertQueryString(tURL, query, value) {
	var PathName = "";
	var tmpQuery = "";
	if(tURL === undefined || tURL == null || tURL == ""){
		PathName = location.pathname;
		tmpQuery = location.search.toString();
		if(tmpQuery != ""){
			tmpQuery = tmpQuery.slice(1);
		}
	}
	else{
		if(tURL.indexOf("?") == -1){
			PathName = tURL;
		}
		else{
			PathName = tURL.substr(0,tURL.indexOf("?"));
			tmpQuery = tURL.substr(tURL.indexOf("?") + 1, tURL.length);
		}
	}
	
	
	var QueryArray = new Array();
	
	if(tmpQuery != ""){
		var tmpArr = tmpQuery.split("&"); // & 배열로 나눈다.
		var ei = 0;
		for (var i = 0; i < tmpArr.length; i++) {
			var tmpArr2 = tmpArr[i].split("="); // = 배열나누기
			if(tmpArr2.length == 2){
				if(tmpArr2[0].toLowerCase() != query.toLowerCase()){
					QueryArray[ei] = new Array();
					QueryArray[ei][0] = tmpArr2[0];
					QueryArray[ei][1] = tmpArr2[1];
					ei++;
				}
			}
		}
	}
	
	if(query === undefined || query == null || query == "" || value === undefined || value == null || value == ""){
	}
	else{
		var lastIndex = QueryArray.length;
		QueryArray[lastIndex] = new Array();
		QueryArray[lastIndex][0] = query;
		QueryArray[lastIndex][1] = value;
	}
	
	PathName += "?";

	for (var i = 0; i < QueryArray.length; i++) {
		if(i != 0){
			PathName += "&";
		}
		PathName += QueryArray[i][0] + "=" + QueryArray[i][1];
	}
	return PathName;
}

function GotoPage(boardname,cPage)
{
	var path = location.pathname;
	location.href = path+'?boardname='+boardname+'&cPage='+cPage;
}

//쿠키관련
//쿠키 쓰기.
function setCookie(name, value, expires) {
	var tmp_str;
	tmp_str = name + "=" + escape (value) + ";" // 값을 기록할떄는 UrlEncode로 합니다.
	tmp_str += "path=/;"	//쿠키가 사용될 특정 폴더를 지정할 수 있습니다.
	//tmp_str = tmp_str + "domain=yk.namgil.com;" //쿠키가 사용될 도메인을 설정합니다. 공란이면 그냥 해당 도메인에서만 읽힙니다.

	if (expires != 0) {
	  var today = new Date();
	  today.setDate(today.getDate() + expires);
		tmp_str += "expires=" + today.toGMTString(); //쿠키의 소멸시간 GMT형식은 찾아 보세요~ 국제 표준입니다.
}
document.cookie = tmp_str;
}

//쿠키 가져오기.
function getCookie(Name) {
	
   var search = Name + "=";
   if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
	
      offset = document.cookie.indexOf(search); //일단 찾아봅니다.
			 
      if (offset != -1) { // 쿠키가 존재하면 (Name이름으로된 쿠키가 있으면 
      //(정확히는 Name의 이름이 시작되는 위치가 반환되는데 -1이면 없다는 뜻입니다.
         offset += search.length;
         end = document.cookie.indexOf(";", offset);
				 
         // 쿠키 값의 마지막 위치 인덱스 번호 설정
         if (end == -1)
            end = document.cookie.length;
         return unescape(document.cookie.substring(offset, end)); 
         //UrlEncode된 값을 다시 변환해서 반환.
      }
   }
   return ""; //여기까기 흘러오면 해당 쿠키가 없는걸로 간주함.
}

//쿠키의 소멸시간 설정
function SetCookiesExpDate(ival)
{
   var expdate = new Date(); //오늘날자를 먼저 슬쩍..
   if (ival == 0)
   {
      expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건
   }
   else
   {
      expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * ival); // ival 일 만큼만.
   }

   return expdate;
}


//텍스트 박스 체크 후 포커스 함수
function Valid_tb(form_name,obj,msg)
{
	var frm;
	var tmp_str;
	frm = eval("document.forms."+form_name+"."+obj);
	tmp_str = frm.value;
	if(ig_space(tmp_str) == '')
	{
			alert(msg);
			frm.focus();
			return false;
	}
	else
	{
		return true;	
	}
}

function ig_space(str) //공백 제거 함수
{
	var temp ='';
	str = '' + str;
	splitstring = str.split(' ');
	for(i=0;i<splitstring.length;i++)
		temp += splitstring[i];
	return temp;
}

//이미지 바꾸는 함수
function ConvertImageBotton(img_name,obj_name)
{
	var img_src;
	img_src = '/image/community/'+img_name+'.jpg';
	document.getElementById(obj_name).src = img_src;
}



function IsDate(year, month, day) {

	if (year.num() && month.num() && day.num()) {
	}
	else {
		return false;
	}


	year = Number(year);
	month = Number(month);
	day = Number(day);

	if (year < 0) return false;
	if (month < 1 || month > 12) return false;
	if (day < 1 || day > 31) return false;


	if (month == 4 || month == 6 || month == 9 || month == 11) {
		if (day == 31) return false;
	}

	// 윤년체크
	if (month == 2) {
		var g = parseInt(year / 4)
		if (isNaN(g)) {
			return false;
		}
		if (day > 29) return false;
		if (day == 29 && ((year / 4) != parseInt(year / 4))) return false;
	}
	return true;
}



//숫자인지 체크
function IsNumber(para)
{
	for(var i = 0; i < para.length; i++)
	{
		var chr = para.substr(i,1);
		if(chr < '0' || chr > '9')
		{            
			return false;
		}
	}
	return true;
}

//라이오 버튼 체크
function valid_radio(obj)
{
	var ojbname = document.getElementsByName(obj);
	var i=0;
	var cnt = 0;
	for(i=0;i<ojbname.length;i++)
	{
		if(document.getElementsByName(obj)[i].checked == true)
		{
			cnt++;
		}

	}
	if(cnt==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}



//주민등록 번호 체크
function Check_jumin(ssn1,ssn2)
{
	if((ssn1.length==6) &&(ssn2.length==7))
	{
		var ssn=ssn1+ssn2;
		a = new Array(13);
		for (var i=0; i < 13; i++)
		{
			a[i] = parseInt(ssn.charAt(i));
		}
		var k = 11 - (((a[0] * 2) + (a[1] * 3) + (a[2] * 4) + (a[3] * 5) + (a[4] * 6) + (a[5] * 7) + (a[6] * 8) + (a[7] * 9) + (a[8] * 2) + (a[9] * 3) + (a[10] * 4) + (a[11] * 5)) % 11);
		if (k > 9)
		{
			k -= 10;
		}
		if (k == a[12])
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

//뷰 모드 바꾸기
//예 Convert_view_status('view','display','object')
function Convert_view_status(mode,style_attribute,object)
{
	var obj;
	obj = document.getElementById(object);
	if(style_attribute == 'display'){
		if(mode == 'view'){
			obj.style.display = 'block';
		}
		else
		{
			obj.style.display = 'none';
		}
	}
	else{
		if(mode == 'view'){
			obj.style.visibility = 'visible';
		}
		else
		{
			obj.style.visibility = 'hidden';
		}
	}
}

//IFRAME 리사이즈
function FrameResize(obj)
{ 
	document.getElementById(obj).style.height = eval(obj).document.body.scrollHeight;
	document.getElementById(obj).style.width =  eval(obj).document.body.scrollWidth;
}

function IFrameAutoResize(obj){
	// IFRAME 내부의 body 개체
	var fBody  = $(obj.document).find("body");
	obj.style.height = fBody.height();
	obj.style.width = fBody.width();
	 // IFRAME 개체  var fName  = document.all(name);  // IFRAME 내부의 body개체의 넓이를 계산하여 IFRAME의 넓이를 설정해 준다.  fName.style.width     = fBody.scrollWidth + (fBody.offsetWidth - fBody.clientWidth);  // IFRAME 내부의 body개체의 높이를 계산하여 IFRAME의 높이를 설정해 준다.  fName.style.height     = fBody.scrollHeight + (fBody.offsetHeight - fBody.clientHeight);  // 만약 IFRAME의 크기 설정에 실패 하였다면 기본크기로 설정한다.  if (Frame_name.style.height == "0px" || Frame_name.style.width == "0px")  {    fName.style.width = "700px";     //기본 iframe 너비    fName.style.height = "300px";    //기본 iframe 높이  }[출처] iframe 크기 자동 조절|작성자 마루아라
}

//마우스 XY좌표 구하기
function FindXY()
{
	
	var dd = document.documentElement; //최신버전의 브라우저들
	var db= document.body;//구 버전의 브라우저들
	
	var scrollLeft = 0;
	var scrollTop = 0;
	
	if(dd)
	{
		scrollLeft+=dd.scrollLeft;
		scrollTop+=dd.scrollTop;
	}
	else if(db)
	{
		scrollLeft+=db.scrollLeft;
		scrollTop+=db.scrollTop;
	}

	var mouseX = event.clientX;
	var mouseY = event.clientY;

	if(dd)
	{
		mouseX+=dd.scrollLeft;
		mouseY+=dd.scrollTop;
	}
	else if(db)
	{
		mouseX+=db.scrollLeft;
		mouseY+=db.scrollTop;
	}

	var point;
	point = mouseX+","+mouseY;
	
	return point;
	
}
function downloadFile(realfilename,dbfilename,folderOption)
{
	var tmpStr;
	tmpStr = '/board/download.asp?';
	tmpStr = tmpStr + 'realfilename='+realfilename;
	tmpStr = tmpStr + '&dbfilename='+dbfilename;
	tmpStr = tmpStr + '&folderOption='+folderOption;
	window.open(tmpStr,'DownLoad','width=100,height=100');
}




/*
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
										공통적으로 쓰이는 함수
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/

function flashWrite(url, w, h, vars, win, alt)
{
  var id = url.split("/")[url.split("/").length-1].split(".")[0];
  if(vars == null || vars === undefined) vars='';
  if(win == null || vars === undefined) win = 'transparent';
	if(alt == null || vars === undefined) alt = "";
  var objStr = "     <object ";

  if(navigator.appName.match("Internet Explorer")){
		objStr += "classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'";
  }
	else {
		objStr += "type='application/x-shockwave-flash' data='"+url+"' ";
  }
	objStr +="     id='"+id+"' style='width:"+w+"; height:"+h+";'>";
	objStr +="    <param name='base' value='.' />";
	objStr+= "    <param name='showLiveConnect' value='true' />";
	objStr +="    <param name='allowScriptAccess' value='always' />";
	objStr +="    <param name='movie' value='"+url+"' />";
	objStr +="    <param name='FlashVars' value='"+vars+"' />";
	objStr +="    <param name='wmode' value='"+win+"' />";
	objStr +="    <param name='menu' value='false' />";
	objStr +="    <param name='quality' value='high' />";
	if(alt != ""){
		objStr +="    <p>"+alt+"</p>";
	}
	objStr +="  </object>";
  document.write(objStr);
}


function flashWriteUseID(url, w, h, id, vars, win, alt) {

	if (vars == null || vars === undefined) vars = '';
	if (win == null || vars === undefined) win = 'transparent';
	if (alt == null || vars === undefined) alt = "";
	var objStr = "     <object ";
	if (navigator.appName.match("Internet Explorer")) {
		objStr += "classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0'";
	}
	else {
		objStr += "type='application/x-shockwave-flash' data='" + url + "' ";
	}
	objStr += "     id='" + id + "' style='width:" + w + "; height:" + h + ";'>";
	objStr += "    <param name='base' value='.' />";
	objStr += "    <param name='showLiveConnect' value='true' />";
	objStr += "    <param name='allowScriptAccess' value='always' />";
	objStr += "    <param name='movie' value='" + url + "' />";
	objStr += "    <param name='FlashVars' value='" + vars + "' />";
	objStr += "    <param name='wmode' value='" + win + "' />";
	objStr += "    <param name='menu' value='false' />";
	objStr += "    <param name='quality' value='high' />";
	if (alt != "") {
		objStr += "    <p>" + alt + "</p>";
	}

	objStr += "<embed src='" + url + "' FlashVars='" + vars + "' wmode='" + win + "' menu='false' qinitTabMenu uality='high' width='" + w + "' height='" + h + "' name='" + id + "' align='middle' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/etflashplayer' />";
	objStr += "  </object>";
	document.write(objStr);
}


function getFlashString(path_, width_, height_, flashvars_, transparent_) {
	width_ = width_ || "100%";
	height_ = height_ || "100%";
	flashvars_ = flashvars_ || "";
	transparent_ = transparent_ ? "window" : "transparent";
	var n = 0, strFlash;
	while (el("flashMedia_" + n))
		n++;
	if (User.browser == "msie")
		strFlash = "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0\" width=\"" + width_ + "\" height=\"" + height_ + "\" id=\"flashMedia_" + n + "\">"
						+ "    <param name=\"movie\" value=\"" + path_ + "\">"
						+ "    <param name=\"menu\" value=\"false\">"
						+ "    <param name=\"wmode\" value=\"" + transparent_ + "\">"
						+ "    <param name=\"quality\" value=\"high\">"
						+ "    <param name=\"allowscriptaccess\" value=\"always\">"
						+ "    <param name=\"flashvars\" value=\"" + flashvars_ + "\">"
						+ "</object>";
	else
		strFlash = "<embed src=\"" + path_ + "\" quality=\"high\" wmode=\"" + transparent_ + "\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\"" + width_ + "\" height=\"" + height_ + "\" allowScriptAccess=\"always\" name=\"" + flashvars_ + "\" flashvars=\"" + flashvars_ + "\"></embed>";

	return strFlash;
};
function el() {
	var owner, i = 0;
	if (isElement(arguments[i]))
		owner = arguments[i++];
	if (!arguments[i])
		return owner || document;
	if (arguments.length > i + 1) {
		var array = [];
		for (var len = arguments.length; i < len; i++)
			array.push(owner ? el(owner, arguments[i]) : el(arguments[i]));
		return array;
	}

	return /[^A-Z]/.test(arguments[i]) ?
				document.getElementById(arguments[i]) :
				(owner || document).getElementsByTagName(arguments[i]);
};


function isElement(obj_) {
	return typeof obj_ == "object" && /[A-Z]/.test(obj_.tagName);
};

var agent = navigator.userAgent.toLowerCase();
var User = {
	version: agent.replace(/.*(?:rv|it|ra|ie|on|ox)[\/: ]([\d.]+).*/, "$1"),
	browser: agent.replace(/.*(msie|opera|apple|mozilla).*/, "$1"),
	doc: null,
	referrer: document.referrer
};

function sendPost(url,arg, target){
	
	$("#dPostForm").remove();
	var ftarget;
	
	if(target === undefined || target == ""){
		ftarget = "";
	}
	else{
		ftarget = ' target="'+ target +'"';
	}
	
	var html = '<form action="' + url + '" method="post" style="display:none" id="dPostForm" '+ ftarget +'>';
	var argArr = arg.split("&");
	var oInputHidden;
	for(var i=0 ; i<argArr.length; i++){
		html += '<input  type="hidden" name="' + argArr[i].split("=")[0] + '" value="' + argArr[i].split("=")[1] + '" />';
	}
	html += '</form>';
	$(html).appendTo("body");
	document.getElementById("dPostForm").submit();
}


//엔터 체크
function entCheck(e){
	if(e.keyCode == 13){
		return true;
	}
	else{
		return false;
	}
}

//str1에 매치되는 문자를 전부 str2로 바꾼다
String.prototype.replaceAll = function(str1, str2)
{
	var temp_str = "";

	if (this.trim() != "" && str1 != str2)
	{
		temp_str = this.trim();

		while (temp_str.indexOf(str1) > -1)
		{
			temp_str = temp_str.replace(str1, str2);
		}
	}

	return temp_str;
}



function isN(arg)
{	
	if(arg.replaceAll(' ','') == ''){
		return true;
	}
	else	{
		return false;
	}
}



//텍스트 박스 체크 후 포커스 함수
function TB_NullCheck(obj,msg, onFocus, alertTitle)
{
	if((typeof obj).toString().toLowerCase() != "object"){
		return false;
	}

	//DispHTMLInputElement
	if(onFocus === undefined) onFocus = true;
	if(alertTitle === undefined) onFocus = false;
	
	if(obj.value.trim() == ""){
		if(alertTitle){
			alert(obj.title);
		}
		else{
			alert(msg);
		}
		if(onFocus){
			obj.focus();
		}
		return false;
	}
	
	return true;
}


function TB_AlertFocus(obj, YN , msg)
{
	if((typeof obj).toString().toLowerCase() != "object"){
		return false;
	}
	//DispHTMLInputElement
	if(YN) return true;
	alert(msg);
	obj.focus();
	return false;
}


function DATEDIFF(date1, date2){
 var v1=date1.split("-");
 var v2=date2.split("-"); 
 
  var a1=new Date(v1[0],v1[1],v1[2]).getTime();
  var a2=new Date(v2[0],v2[1],v2[2]).getTime();

 return (a2 - a1) /(1000*60*60*24);
}



/******************************************************
선택한 obj의 체크 박스들중 하나 이상이 체크되어
있을시 true를 반환
******************************************************/
function validCheckBox(obj){
	var boxCnt = document.getElementsByName(obj).length;
	for(var i=0;i<boxCnt;i++){
		if(document.getElementsByName(obj)[i].checked == true){
			return true;
		}
	}
	return false;
}

/******************************************************
문자를 제거 하는 함수
******************************************************/
function eraseStr(para)		
{
	var tmpstr;
	tmpstr = '';
	for (var i=0; i<para.length; i++)
	{
		var chr = para.substr(i,1);
		if(chr >= '0' && chr <= '9')
		{
			tmpstr = tmpstr.toString() + chr.toString();
		}
	}
	return tmpstr;
}



function isValidDate(iDate)
{
	if(!iDate.num()){
		return false;
	}
	
	if( iDate.length != 8 ) {
    return false;
  }
	
	var v_year = iDate.substr(0,4);
	var v_month = iDate.substr(4,2);
	var v_day = iDate.substr(6,2);
	
	var err=0
	if ( v_year.length != 4) err=1
	if ( v_month.length != 1 &&  v_month.length !=  2 ) err=1
	if ( v_day.length != 1  &&  v_day.length !=  2) err=1
	
	r_year = eval(v_year);
	r_month = eval(v_month);
	r_day = eval(v_day);
	
	if (r_month<1 || r_month>12) err = 1
	if (r_day<1 || r_day>31) err = 1
	if (r_year<0 ) err = 1
	if (r_month==4 || r_month==6 || r_month==9 || r_month==11){
		if (r_day==31) err=1
	}
	// 2,윤년체크
	if (r_month==2){
		var g=parseInt(r_year/4)
		if (isNaN(g)){
			err=1 
		}
		if (r_day>29) err=1
		if (r_day==29 && ((r_year/4)!=parseInt(r_year/4))) err=1
	}
	if (err==1){
		return false;
	}
	else{
		return true;
	}
}





//라이오 값 가져오기
function getRadioValue(obj){
	var radio = document.getElementsByName(obj);
	var i=0;
	for(i=0;i<radio.length;i++)	{
		if(radio[i].checked == true){
			return radio[i].value;
		}
	}
	return "";
}





function getFrameSize(){
	var oBody=document.documentElement;
	var returnvalue = (oBody.scrollWidth+(oBody.offsetWidth-oBody.clientWidth)).toString();
	returnvalue += ','+(oBody.scrollHeight+(oBody.offsetHeight-oBody.clientHeight)).toString();
	return returnvalue;
}


//오브젝트 반환
function fs(obj){
	return document.getElementsByName(obj);
}
//오브젝트 반환
function f(obj){
	return document.getElementById(obj);
}
//오브젝트 값 반환
function fv(obj){
	return document.getElementById(obj).value;
}



/******************************************************************************
* prototype 모음
*****************************************************************************/

//-----------------------------------------------------------------------------
// 문자 앞 뒤 공백을 제거 한다.
//-----------------------------------------------------------------------------
String.prototype.trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/g, ""); 
}

//-----------------------------------------------------------------------------
// 내용이 있는지 없는지 확인하다.
//
// @return : true(내용 있음) | false(내용 없음)
//-----------------------------------------------------------------------------
String.prototype.notNull = function() {
	return (this == null || this.trim() == "") ? false : true; 
}

//-----------------------------------------------------------------------------
// 내용이 있는지 없는지 확인하다.
//
// @return : true(내용 없음) | false(내용 있음)
//-----------------------------------------------------------------------------
String.prototype.isN = function() {
	return (this == null || this.trim() == "") ? true : false; 
}

//-----------------------------------------------------------------------------
// 메일의 유효성을 체크 한다.
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.mail = function() {
	var em = this.trim().match(/^[_\-\.0-9a-zA-Z]{3,}@[-.0-9a-zA-z]{2,}\.[a-zA-Z]{2,4}$/);
	return (em) ? true : false;
}


//-----------------------------------------------------------------------------
// 주민번호 체크 XXXXXX-XXXXXXX 형태로 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.jumin = function() {
	var num = this.trim().onlyNum();
	if(num.length == 13) {
		num = num.substring(0, 6) + "-" + num.substring(6, 13); 
	}
	else {
		return false;
	}
	num = num.match(/^([0-9]{6})-?([0-9]{7})$/);
	if(!num) return false;
	var num1 = RegExp.$1;
	var num2 = RegExp.$2;
	if(!num2.substring(0, 1).match(/^[1-4]{1}$/)) return false;
	num = num1 + num2;
	var sum = 0;
	var last = num.charCodeAt(12) - 0x30;
	var bases = "234567892345";
	for (i=0; i<12; i++) {
		sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
	}
	var mod = sum % 11;
	return ((11 - mod) % 10 == last) ? true : false;
}




function ssnConfirmForeignCountry(para) { /// 외국은 실명인증

  var fgnno;

  var sum = 0;

  var odd = 0;


  fgnno = para;


  buf = new Array(13);


  for (i = 0; i < 13; i++) { buf[i] = parseInt(fgnno.charAt(i)); }



  odd = buf[7] * 10 + buf[8];


  if (odd % 2 != 0) {

    return false;

  }


  if ((buf[11] != 6) && (buf[11] != 7) && (buf[11] != 8) && (buf[11] != 9)) {

    return false;

  }


  multipliers = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5];


  for (i = 0, sum = 0; i < 12; i++) { sum += (buf[i] *= multipliers[i]); }

  sum = 11 - (sum % 11);


  if (sum >= 10) { sum -= 10; }


  sum += 2;

  if (sum >= 10) { sum -= 10; }


  if (sum != buf[12]) {

    return false;

  }

  return true;

}



//-----------------------------------------------------------------------------
// 사업자번호 체크 XXX-XX-XXXXX 형태로 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.biznum = function() {
	var num = this.trim().onlyNum();
	if(num.length == 10) {
		num = num.substring(0, 3) + "-" + num.substring(3, 5) + "-" + num.substring(5, 10);
	}
	else {
		return false;
	}
	num = num.match(/^([0-9]{3})-?([0-9]{2})-?([0-9]{5})$/);
	
	if(!num) return false;
	
	num = RegExp.$1 + RegExp.$2 + RegExp.$3;
	
	var sumMod = 0;
	sumMod  +=  parseInt(num.substring(0,1));
	sumMod  +=  parseInt(num.substring(1,2)) * 3 % 10;
	sumMod  +=  parseInt(num.substring(2,3)) * 7 % 10;
	sumMod  +=  parseInt(num.substring(3,4)) * 1 % 10;
	sumMod  +=  parseInt(num.substring(4,5)) * 3 % 10;
	sumMod  +=  parseInt(num.substring(5,6)) * 7 % 10;
	sumMod  +=  parseInt(num.substring(6,7)) * 1 % 10;
	sumMod  +=  parseInt(num.substring(7,8)) * 3 % 10;
	sumMod  +=  Math.floor(parseInt(num.substring(8,9)) * 5 / 10);
	sumMod  +=  parseInt(num.substring(8,9)) * 5 % 10;
	sumMod  +=  parseInt(num.substring(9,10));
	
	return (sumMod % 10 == 0) ? true : false;
}

//-----------------------------------------------------------------------------
// 전화번호 체크 XXX-XXXX-XXXX 형태로 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.phone = function() {
	var num = this.trim().onlyNum();
	if(num.substring(1,2) == "2") {
		num = num.substring(0, 2) + "-" + num.substring(2, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
	}
	else {
		num = num.substring(0, 3) + "-" + num.substring(3, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
	}
	num = num.match(/^0[0-9]{1,2}-[1-9]{1}[0-9]{2,3}-[0-9]{4}$/);
	return (num) ? true : false;
}

//-----------------------------------------------------------------------------
// 핸드폰 체크 XXX-XXXX-XXXX 형태로 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.mobile = function() {
	var num = this.trim().onlyNum();
	num = num.substring(0, 3) + "-" + num.substring(3, num.length - 4) + "-" + num.substring(num.length - 4, num.length);
	num = num.trim().match(/^01[016789]{1}-[1-9]{1}[0-9]{2,3}-[0-9]{4}$/);
	return (num) ? true : false;
}

//-----------------------------------------------------------------------------
// 숫자만 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.num = function() {
	return (this.trim().match(/^[0-9]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// 영어만 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.eng = function() {
	return (this.trim().match(/^[a-zA-Z]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// 영어와 숫자만 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.engnum = function() {
	return (this.trim().match(/^[0-9a-zA-Z]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// 영어와 숫자만 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.numeng = function() {
	return this.engnum();
}

//-----------------------------------------------------------------------------
// 아이디 체크 영어와 숫자만 체크 첫글자는 영어로 시작
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.userid = function() {
	return (this.trim().match(/^[a-zA-z]{1}[0-9a-zA-Z]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// 한글만 체크
//
// @return : true(맞는 형식) | false(잘못된 형식)
//-----------------------------------------------------------------------------
String.prototype.kor = function() {
	return (this.trim().match(/^[가-힣]+$/)) ? true : false;
}

//-----------------------------------------------------------------------------
// 숫자와 . - 이외의 문자는 다 뺀다. - 통화량을 숫자로 변환
//
// @return : 숫자
//-----------------------------------------------------------------------------
String.prototype.toNum = function() {
	var num = this.trim();
	return (this.trim().replace(/[^0-9\.-]/g,""));
}

//-----------------------------------------------------------------------------
// 숫자 이외에는 다 뺀다.
//
// @return : 숫자
//-----------------------------------------------------------------------------
String.prototype.onlyNum = function() {
	var num = this.trim();
	return (this.trim().replace(/[^0-9]/g,""));
}

//-----------------------------------------------------------------------------
// 숫자만 뺀 나머지 전부
//
// @return : 숫자 이외
//-----------------------------------------------------------------------------
String.prototype.noNum = function() {
	var num = this.trim();
	return (this.trim().replace(/[0-9]/g,""));
}

//-----------------------------------------------------------------------------
// 숫자에 3자리마다 , 를 찍어서 반환
//
// @return : 통화량
//-----------------------------------------------------------------------------
String.prototype.toMoney = function() {
var num = this.toNum();
var pattern = /(-?[0-9]+)([0-9]{3})/;
while(pattern.test(num)) {
	num = num.replace(pattern,"$1,$2");
}
	return num;
}


//-----------------------------------------------------------------------------
// String length 반환 한글 2글자 영어 1글자
//
// @return : int
//-----------------------------------------------------------------------------
String.prototype.getByteLength = function() {
var tmplen = 0;
	for (var i = 0; i < this.length; i++) {
	if (this.charCodeAt(i) > 127)
		tmplen += 2;
	else
		tmplen++;
	}
	return tmplen;
}

//-----------------------------------------------------------------------------
// 파일 확장자 반환
//
// @return : String
//-----------------------------------------------------------------------------
String.prototype.getExt = function() {
	var ext = this.substring(this.lastIndexOf(".") + 1, this.length);
return ext;
}

//-----------------------------------------------------------------------------
// String에 따라서 받침이 있으면 은|이|을 을
// 받침이 없으면 는|가|를 등을 리턴 한다.
// str.josa("을/를") : 구분자는 항상 "/"로
//
//
// @return : 은/는, 이/가 ...
//-----------------------------------------------------------------------------
String.prototype.josa = function(nm) {
	var nm1 = nm.trim().substring(0, nm.trim().indexOf("/"));
	var nm2 = nm.trim().substring(nm.trim().indexOf("/") + 1, nm.trim().length);
	var a = this.substring(this.length - 1, this.length).charCodeAt();
	a = a - 44032;
	var jongsung = a % 28;
	return (jongsung) ? nm1 : nm2;
}




/***************************************************************************************

***************************************************************************************/
/* ----------------------------------------------------------------------------
* 특정 날짜에 대해 지정한 값만큼 가감(+-)한 날짜를 반환
* 
* 입력 파라미터 -----
* pInterval : "yyyy" 는 연도 가감, "m" 은 월 가감, "d" 는 일 가감
* pAddVal : 가감 하고자 하는 값 (정수형)
* pYyyymmdd : 가감의 기준이 되는 날짜
* pDelimiter : pYyyymmdd 값에 사용된 구분자를 설정 (없으면 "" 입력)
* 
* 반환값 ----
* yyyymmdd 또는 함수 입력시 지정된 구분자를 가지는 yyyy?mm?dd 값
*
* 사용예 ---
* 2008-01-01 에 3 일 더하기 ==> addDate("d", 3, "2008-08-01", "-");
* 20080301 에 8 개월 더하기 ==> addDate("m", 8, "20080301", "");
--------------------------------------------------------------------------- */

function addDate(pInterval, pAddVal, pYyyymmdd, pDelimiter) {
  var yyyy;
  var mm;
  var dd;
  var cDate;
  var oDate;
  var cYear, cMonth, cDay;

  if (pDelimiter != "") {
    pYyyymmdd = pYyyymmdd.replace(eval("/\\" + pDelimiter + "/g"), "");
  }

  yyyy = pYyyymmdd.substr(0, 4);
  mm = pYyyymmdd.substr(4, 2);
  dd = pYyyymmdd.substr(6, 2);

  if (pInterval == "yyyy") {
    yyyy = (yyyy * 1) + (pAddVal * 1);
  } else if (pInterval == "m") {
    mm = (mm * 1) + (pAddVal * 1);
  } else if (pInterval == "d") {
    dd = (dd * 1) + (pAddVal * 1);
  }
  
  cDate = new Date(yyyy, mm - 1, dd)// 12월, 31일을 초과하는 입력값에 대해 자동으로 계산된 날짜가 만들어짐.
  cYear = cDate.getFullYear();
  cMonth = cDate.getMonth() + 1;
  cDay = cDate.getDate();
  
  cMonth = cMonth < 10 ? "0" + cMonth : cMonth;
  cDay = cDay < 10 ? "0" + cDay : cDay;
  
  if (pDelimiter != "") {
    return cYear + pDelimiter + cMonth + pDelimiter + cDay;
  } else {
    return cYear + cMonth + cDay;
  }

}


function downZzangEvent(arg) {
  var down_file = '짱짱이산타콘테스트참가신청서.' + arg;
  down_file = encodeURI(down_file);
  window.open('http://www.busanaquarium.com/events/zzangStar/' + down_file, "down", "toolbar=no,scrollbars=no,location=no,status=no,menubar=no,resizable=no,width=290,height=350")
  //setTimeout((location.href='../common/down/'+scriptwin+'','new2','width=0, height=0'),0);
}



//// 모바일에서 추가된 내용 들.
function rollingBtn(obj, arg, no) {
  var rollImg = document.getElementsByName(obj);
  for (var i = 0; i < rollImg.length; i++) {
    if ((no - 1) == i) {
      rollImg[i].src = '/m/images/list_on.png';
    }
    else {
      rollImg[i].src = '/m/images/list_off.png';
    }
  }
  document.getElementById(arg).value = no;
}


function subMenuLink(arg) {
  var url = "/m/sbBoard/" + arg + "_list.aspx";
  window.location.href = url;
}

function subSightLink(arg) {
  var ii = "";
  if (arg < 10) {
    ii = "0" + arg;
  }
  else {
    ii = arg;
  }
  var url = "/m/use/sightseeingList" + ii + ".aspx";
  window.location.href = url;
}
/*
HTML Validator
작성자 김남길
버전 1.0

* prototype 모음이 필요합니다.


//기본 필드 검사

텍스트 박스에 추가하는 항목 : 해당항목이 설정되어 있지 않다면 모두 false
valid : true 인 경우에만 해당 항목 유효성 검사.
req : true 인 경우 반듯이 필요한 항목.
vType : text | int | email | hp | phone
reqMsg : 빈값일경우 경고 메세지



*/


var FORM_VALIDATOR = new Object;

FORM_VALIDATOR.ACTION = function () {
	var rtn = true;

	$('input').each(function () {
		if ($(this).attr("valid") == "true") {
			var req = $(this).attr("req");

			if (req === undefined || req == "") {
				req = "false";
			}

			var vType = $(this).attr("vType");

			if (vType === undefined || vType == "") {
				vType = "text";
			}

			if (req == "true") {
				var val = $(this).val();
				val = val.replace(/(^\s*)|(\s*$)/g, "");
				if (val == "") {
					var reqMsg = $(this).attr("reqMsg");
					if (reqMsg === undefined || reqMsg == "") {
						reqMsg = "내용을 입력하세요.";
					}
					alert(reqMsg);
					this.focus();
					rtn = false;
					return false;
				}
			}

			var val = $(this).val();
			if (val === undefined || val == "") {
				val = "";
			}

			if (val != "") {
				switch (vType) {
					case "int":
						if (!val.num()) {
							alert("숫자 형식으로 입력해 주세요.");
							this.focus();
							rtn = false;
							return false;
						}
						break;
					case "email":
						if (!val.mail()) {
							alert("유효한 이메일 형식이 아닙니다.");
							this.focus();
							rtn = false;
							return false;
						}
						break;
					case "hp":
						if (!val.mobile()) {
							alert("유효한 핸드폰 형식이 아닙니다.");
							this.focus();
							rtn = false;
							return false;
						}
						break;
					case "phone":
						if (!val.phone()) {
							alert("유효한 전화번호 형식이 아닙니다.");
							this.focus();
							rtn = false;
							return false;
						}
						break;
				}
			}
		}
	});
	return rtn;
}
// JavaScript Document




//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//모든 폼 요소에서 리턴 SUBMIT 방지
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
var MasterInit = function () {
	$("input").keypress(function (e) {
		if (e.keyCode == 13) {
			return false;
		}
	});
}
$(document).ready(MasterInit);





/*
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
공통적으로 쓰이는 함수
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
*/


/* ----------------------------------------------------------------------------
* 특정 날짜에 대해 지정한 값만큼 가감(+-)한 날짜를 반환

* 

* 입력 파라미터 -----
* pInterval : "yyyy" 는 연도 가감, "m" 은 월 가감, "d" 는 일 가감
* pAddVal : 가감 하고자 하는 값 (정수형)
* pYyyymmdd : 가감의 기준이 되는 날짜
* pDelimiter : pYyyymmdd 값에 사용된 구분자를 설정 (없으면 "" 입력)

* 

* 반환값 ----

* yyyymmdd 또는 함수 입력시 지정된 구분자를 가지는 yyyy?mm?dd 값
*

* 사용예 ---

* 2008-01-01 에 3 일 더하기 ==> addDate("d", 3, "2008-08-01", "-");

* 20080301 에 8 개월 더하기 ==> addDate("m", 8, "20080301", "");
--------------------------------------------------------------------------- */
function addDate(pInterval, pAddVal, pYyyymmdd, pDelimiter) {
	var yyyy;
	var mm;
	var dd;
	var cDate;
	var oDate;
	var cYear, cMonth, cDay;

	if (pDelimiter != "") {
		pYyyymmdd = pYyyymmdd.replace(eval("/\\" + pDelimiter + "/g"), "");
	}


	yyyy = pYyyymmdd.substr(0, 4);
	mm = pYyyymmdd.substr(4, 2);
	dd = pYyyymmdd.substr(6, 2);

	if (pInterval == "yyyy") {
		yyyy = (yyyy * 1) + (pAddVal * 1);
	} else if (pInterval == "m") {
		mm = (mm * 1) + (pAddVal * 1);
	} else if (pInterval == "d") {
		dd = (dd * 1) + (pAddVal * 1);
	}


	cDate = new Date(yyyy, mm - 1, dd)// 12월, 31일을 초과하는 입력값에 대해 자동으로 계산된 날짜가 만들어짐.
	cYear = cDate.getFullYear();
	cMonth = cDate.getMonth() + 1;
	cDay = cDate.getDate();

	cMonth = cMonth < 10 ? "0" + cMonth : cMonth;
	cDay = cDay < 10 ? "0" + cDay : cDay;



	if (pDelimiter != "") {
		return cYear + pDelimiter + cMonth + pDelimiter + cDay;
	} else {
		return cYear + cMonth + cDay;
	}

}


function gotoNaviUrl(m0, m1, m2, openPopup) {
	var menu = m0.toString() + "," + m1.toString() + "," + m2.toString();



	if (openPopup === undefined) {
		openPopup = false;
	}



	if (NAVI_URL[menu] === undefined) {
		alert(menu + " URL이 없습니다.");
		return;
	}

	if (openPopup.toString().toLowerCase() == "true") {
		window.open(NAVI_URL[menu]);
	}
	else {
		location.href = NAVI_URL[menu];
	}
}

function gotoMail() {
  var mailLink = "mailto:ny.yun@busanaquarium.com?subject=subject";
  window.location.href = mailLink;
}

/*
var QUICK_LAYER = new Object;
QUICK_LAYER.currentPosition = 0;
*/
$(document).ready(function () {
	//QUICK_LAYER.currentPosition = $("div.quick").offset().top;
	$(window).scroll(function () {
		var position = $(window).scrollTop(); // 현재 스크롤바의 위치값을 반환합니다.
		//$("div.quick").stop().animate({ "top": position + QUICK_LAYER.currentPosition + "px" }, 1000);
		$("div.quick").stop().animate({ "top": position + "px" }, 1000);
	});
});



/*

물고기 사전 링크
*/
function GotoExhibition(idx) {
	location.href = "/Learn/dictionary.aspx?idx=" + idx;
}


/*
-------------------------------------------------------------------------------------
2011-07-06 이벤트 수정 =>>  2011-09-06 보름달 이벤트
-------------------------------------------------------------------------------------
*/

var EVENT_2011_09_08 = new Object;
EVENT_2011_09_08.idx = "14888";

EVENT_2011_09_08.CheckViewPage = function () {
  $.ajax({
    url: "/tools/event.aspx",
    type: "post",
    dataType: "script",
    timeout: 5000,
    error: function (msg, err) { EVENT_2011_09_08.printError(msg, err); }
  });
}



EVENT_2011_09_08.printError = function (msg, err) {

	EVENT_2011_09_08.checkLayer();

	var debugPannelLayer = document.getElementById("div_event_2011_09_08");
	var errorMsgStr = "";
	if (err == "timeout") {
		alert("데이터 요청시간이 초과 되었습니다.");
		return;
	}
	else {
		errorMsgStr += "오류 형태 " + msg.status.toString() + "<br />";
		errorMsgStr += "오류메세지 형태 " + err + "<br />";
		try {
			errorMsgStr += msg.responseText;
		}
		catch (e) {
			errorMsgStr += e;
		}
	}

	debugPannelLayer.innerHTML = errorMsgStr;
}

EVENT_2011_09_08.hideEventIcon = function () {
	document.getElementById("div_event_2011_09_08").style.display = "none";
}

EVENT_2011_09_08.viewEventIcon = function () {
	EVENT_2011_09_08.checkLayer();

	var debugPannelLayer = document.getElementById("div_event_2011_09_08");


	//var body = '<object type="application/x-shockwave-flash" id="event_2011_09_08" title="이벤트" style="width:550px; height:400px"><param name="allowScriptAccess" value="always" /><param name="movie" value="/swf/nimo.swf" /><param name="wmode" value="transparent" /><param name="menu" value="false" /><param name="quality" value="high" /></object>';
	var body = '<img src="/events/Moon/토끼.gif" alt="보름달에게 소원을.." border="0" usemap="#EVENT_2011_09_08" style="outline:none;" />';
	body += '<map name="EVENT_2011_09_08">	<area shape="circle" coords="105,16,9" href="javascript:EVENT_2011_09_08.hideEventIcon();" /> <area shape="circle" coords="62,58,45" href="javascript:EVENT_2011_09_08.wantMoon();" /></map>';



	debugPannelLayer.style.display = "none";
	debugPannelLayer.innerHTML = body;

	var maxW = $("#container").width() - 219;
	var maxH = $(window).height();
	var objW = $(debugPannelLayer).width();
	var objH = $(debugPannelLayer).height();

	var ranL = Math.floor(Math.random() * maxW);
	ranL = ranL + objW;
	if (ranL > maxW) {
		ranL = maxW - objW;
	}

	var ranT = Math.floor(Math.random() * maxH);
	ranT = ranT + objH;
	if (ranT > maxH) {
		ranT = maxH - objH;
	}
	ranL = ranL + 219;
	debugPannelLayer.style.top = ranT + "px";
	debugPannelLayer.style.left = ranL + "px";
	debugPannelLayer.style.display = "block";

}


EVENT_2011_09_08.wantMoon = function () {
  var vars = { "idx": EVENT_2011_09_08.idx };
  //니모를 찾았어요.
  $.ajax({
    url: "/events/Moon/proc.aspx",
    type: "post",
    data: vars,
    dataType: "script",
    timeout: 5000,
    error: function (msg, err) { EVENT_2011_09_08.printError(msg, err); }
  });
}


EVENT_2011_09_08.findNimo = function () {
	var vars = { "idx": EVENT_2011_09_08.idx };
	//니모를 찾았어요.
	$.ajax({
		url: "/events/2011-07-06/proc.aspx",
		type: "post",
		data: vars,
		dataType: "script",
		timeout: 5000,
		error: function (msg, err) { EVENT_2011_09_08.printError(msg, err); }
	});
}


EVENT_2011_09_08.checkLayer = function () {
	var $div = $("#div_event_2011_09_08");
	if ($div.length == 0) {
		$("body").append($('<div class="" id="div_event_2011_09_08" style="position:absolute; top:0px; left:0px"></div>'));
	}
}


EVENT_2011_09_08.checkAlertLayer = function () {
	var $div = $("#div_event_2011_09_08_alert");
	if ($div.length == 0) {
		$("body").append($('<div class="popup_event_la" style="display:none;position:absolute; top:0px; left:0px" id="div_event_2011_09_08_alert"><div class="popup_event"><p class="event_title"><span class="tt">보름달에게 소원을 말해보세요!</span><span class="tt01"><a href="javascript:EVENT_2011_09_08.closeAlertLayer();"><img src="/images/common/btn_close02.gif" alt="x" /></a></span></p><div id="div_event_alert"></div></div><p><img src="/images/common/event_popupbg02.png" alt="" /></p></div>'));
	}
}


EVENT_2011_09_08.closeAlertLayer = function () {
	document.getElementById("div_event_2011_09_08_alert").style.display = "none";
}

EVENT_2011_09_08.gotoEventPage = function () {
	location.href = "/With/event.aspx?artIdx=" + EVENT_2011_09_08.idx + "&viewMode=view";
}


EVENT_2011_09_08.needLogin = function () {
	EVENT_2011_09_08.checkAlertLayer();
	var div_event_alert = document.getElementById("div_event_alert");
	var loginPage = "/With/event.aspx?artIdx=" + EVENT_2011_09_08.idx + "&viewMode=view";
	loginPage = escape(loginPage);
	var str = '<p class="textbox">이벤트 참여를 위해 로그인이 필요합니다. <br />로그인 페이지로 이동합니다.</p><div class="popentbtn"><a href="javascript:EVENT_2011_09_08.closeAlertLayer();"><img src="/images/btn/btn_can.gif" alt="취소" /></a><a href="/myPage/login.aspx?nextPage=' + loginPage + '"><img src="/images/btn/btn_form_ok.gif" alt="확인" /></a>';
	document.getElementById("div_event_alert").innerHTML = str;
	EVENT_2011_09_08.setEventAlertPOS();
}

EVENT_2011_09_08.allreadyEvent = function () {
	EVENT_2011_09_08.checkAlertLayer();
	var div_event_alert = document.getElementById("div_event_alert");
	var str = '<p class="textbox">이벤트 이미 응모하셨습니다. <br />감사합니다.</p><p class="event_text">이벤트 페이지로 이동하시겠습니까?</p><div class="popentbtn"><a href="javascript:EVENT_2011_09_08.closeAlertLayer();"><img src="/images/btn/btn_can.gif" alt="취소" /></a><a href="javascript:EVENT_2011_09_08.gotoEventPage();"><img src="/images/btn/btn_form_ok01.gif" alt="이벤트페이지보기" /></a></div>';
	document.getElementById("div_event_alert").innerHTML = str;
	EVENT_2011_09_08.setEventAlertPOS();

}

EVENT_2011_09_08.setEventAlertPOS = function () {
	//객체 및 위치 설정
	var $obj = $("#div_event_2011_09_08_alert");

	var objH = $obj.height();
	var objW = $obj.width();

	var $container = $("div[id=container]");

	var setL = $container.width() / 2 - objH / 2;
	var setT = $(window).scrollTop() + document.documentElement.clientHeight / 2 - objW /2;
	

	document.getElementById("div_event_2011_09_08_alert").style.top = setT + "px";
	document.getElementById("div_event_2011_09_08_alert").style.left = setL + "px";
	document.getElementById("div_event_2011_09_08_alert").style.display = "block";
}



$(document).ready(EVENT_2011_09_08.CheckViewPage);


//////////////////////////////////////////////////////////////////////


function noLearnLogin() {
  alert('로그인하셔야 학습지 다운로드가 가능합니다.');
}




function viewBerry() {
  window.open("https://sealinfo.verisign.com/splash?form_file=fdf/splash.fdf&dn=www.busanaquarium.com&lang=ko","","width=520,height=430");
}


function gotoBoard(board, idx) {
  var url = '';
  if (idx == '') {
    url = "/m/sbBoard/" + board + "_list.aspx";
  }
  else {
    url = "/m/sbBoard/" + board + "_view.aspx?idx=" + idx;
  }
  window.location.href = url;
}




function REFER() {

	var referUrl = document.referrer;

	if (referUrl == "") return;
	referUrl = referUrl.toLocaleLowerCase();

	if (referUrl.indexOf(HTTP_HOST.toLocaleLowerCase()) != -1) return;
	setCookie("REF_URL", referUrl, 0);

	/*
	var CookieReferUrl = getCookie("REF_URL");
	if (referUrl != "") return;
	*/
	
}

REFER();
function naviURL(depth1, depth2, depth3, NW) {
	//alert(idx);
	if (depth3 == '') depth3 = 0;

	if (menu[depth1][depth2][depth3] === undefined) {
		alert("메뉴가 설정 되어 있지 않습니다. : " + depth1 + "," + depth2 + "," + depth3);
		return;
	}
	
	if(NW === undefined){
		NW = false;
	}
	
	if(NW == true){
		//새창으로 뛰우기
		window.open(menu[depth1][depth2][depth3]);
	}
	else{
		var anchor = document.createElement("a");
		if(!anchor.click) { //Providing a logic for Non IE
			window.location.href = menu[depth1][depth2][depth3];
			return;
		}
		anchor.setAttribute("href", menu[depth1][depth2][depth3])
		anchor.style.display = "none";
		document.getElementsByTagName("body")[0].appendChild(anchor);
		anchor.click();
	}
	
}

function pagego(url) {
	var anchor = document.createElement("a");
	if (!anchor.click) { //Providing a logic for Non IE
		window.location.href = url;
		return;
	}
	anchor.setAttribute("href", url)
	anchor.style.display = "none";
	document.getElementsByTagName("body")[0].appendChild(anchor);
	anchor.click();
}

var menu = new Array();

menu[5] = "/"; // 

menu[0] = new Array(5); // 안녕! 아쿠아리움

menu[0][0] = new Array(1); //
menu[0][0][0] = "/hello/BA_Info.aspx" // 부산 아쿠아리움은
menu[0][1] = new Array(1);
menu[0][1][0] = "/hello/BA_Trace.aspx" // 부산아쿠라이움 발자취
menu[0][2] = new Array();
menu[0][2][0] = "/hello/FloorB1.aspx" // 전시생물 및 시설소개 (지하 1층)
menu[0][2][5] = "/hello/expFacilities.aspx" // 체험시설
menu[0][3] = new Array(1);
menu[0][3][0] = '/hello/ShowOtter.aspx'; //수달 피딩쇼
menu[0][4] = new Array(1);
menu[0][4][0] = '/hello/BA_Aquatist.aspx'; //아쿠아리스트


menu[1] = new Array(7); // 배워요! 아쿠아리움

menu[1][0] = new Array(3); // 교육 프로그램
menu[1][0][0] = "/Learn/eduInfo_01.aspx" // 교육 프로그램 안내 
menu[1][0][1] = "/Learn/eduInfo_02.aspx" // 학교급별 학습 목표
menu[1][0][2] = "/Learn/eduReseve.aspx" // 학생 단체 예약 신청

menu[1][1] = new Array(6); //단계별 BA 학습지
menu[1][1][0] = "/Learn/homeStudy01.aspx" // 1~2학년
menu[1][1][1] = "/Learn/homeStudy02.aspx" // 3~4학년
menu[1][1][2] = "/Learn/homeStudy03.aspx" // 5~6학년
menu[1][1][3] = "/Learn/homeStudyHigh.aspx" // 중고등학교
menu[1][1][4] = "/Learn/homeStudyVacation.aspx" // 방학숙제


menu[1][2] = new Array(4); // 특별 프로그램
menu[1][2][0] = "/Learn/specialProgram01.aspx" // 밤의 해저여행
menu[1][2][1] = "/Learn/specialProgram02.aspx" // 전일제 수업
menu[1][2][2] = "/Learn/specialProgram03.aspx" // SSE 영어캠프
menu[1][2][3] = "/Learn/specialProgram00.aspx" // 패키지 프로그램

menu[1][3] = new Array(1); // 
menu[1][3][0] = "/Learn/schoolTrip.aspx" // 수학여행안내

menu[1][4] = new Array(1); // 
menu[1][4][0] = "/Learn/dictionary.aspx" // 물고기 사전

menu[1][5] = new Array(1); // 
menu[1][5][0] = "/Learn/aquaSchoolNews.aspx" // 아쿠아 스쿨 뉴스

menu[1][6] = new Array(1); // 
menu[1][6][0] = "/Learn/aquaSchoolTalk.aspx" // 아쿠아 스쿨 토크

menu[2] = new Array(8); // 함께해요! 아쿠아리움

menu[2][0] = new Array(1); // 
menu[2][0][0] = "/With/notice.aspx" // 공지사항

menu[2][1] = new Array(3); // 이벤트 스케줄러
menu[2][1][0] = "/With/event.aspx" // 진행중인 이벤트
menu[2][1][1] = "/With/endEvent.aspx" // 종료된 이벤트
menu[2][1][2] = "/With/prizeList.aspx" // 당첨자 발표

menu[2][2] = new Array(1); // 
menu[2][2][0] = "/With/fishStory.aspx" // 피쉬 스토리

menu[2][3] = new Array(1); // 
menu[2][3][0] = "/With/aquaKin.aspx" // 아쿠아 지식인

menu[2][4] = new Array(1); // 
menu[2][4][0] = "/With/photo.aspx" // 포토콘테스트

menu[2][5] = new Array(1); // 
menu[2][5][0] = "/With/memory.aspx" // 방문후기

menu[2][6] = new Array(1); // 
menu[2][6][0] = "/With/rep.aspx" // 댓글게시판

menu[2][7] = new Array(1); // 
menu[2][7][0] = "/With/webzine.aspx" // 아쿠아 웹진

menu[3] = new Array(7); // 이용정보

menu[3][0] = new Array(4); // 이용안내
menu[3][0][0] = "/Use/openTime.aspx" // 개장시간
menu[3][0][1] = "/Use/showtime.aspx" // 공연 시간 안내
menu[3][0][2] = "/Use/charge.aspx" // 요금안내
menu[3][0][3] = "/Use/disCount.aspx" // 할인정보

menu[3][1] = new Array(3); // 온라인 상품권
menu[3][1][0] = "/Use/onlineGift.aspx" // 온라인 상품권 안내
menu[3][1][1] = "/Use/buyHistory.aspx" // 내 구매내역
menu[3][1][2] = "/Use/onlineTicketing.aspx" // 대행사이트 구매 안내

menu[3][2] = new Array(2); // 단체 관람 안내
menu[3][2][0] = "/Use/groupInfo.aspx" // 일반/외국인/기업체단체
menu[3][2][1] = "/Use/groupRsv.aspx" // 단체 예약 신청

menu[3][3] = new Array(3); // 연간 회원권 안내
menu[3][3][0] = "/Use/annualMemberShip.aspx" // 연간 회원권 안내
menu[3][3][1] = "/Use/annualMemberShipHistory.aspx" // 내 연간회원권
menu[3][3][2] = "/Use/annualMemberLounge.aspx" // 연간회원 라운지

menu[3][4] = new Array(1); // 
menu[3][4][0] = "/Use/partyInfo.aspx" // 대관 안내

menu[3][5] = new Array(1); // 
menu[3][5][0] = "/Use/traffic.aspx" // 교통정보/주차정보

menu[3][6] = new Array(1); // 
menu[3][6][0] = "/Use/sightseeingList.aspx" // 주변 관광지


menu[4] = new Array(3); // 고객 센터

menu[4][0] = new Array(1); // 
menu[4][0][0] = "/Customer/faq.aspx" // 자주 묻는 질문

menu[4][1] = new Array(1); // 
menu[4][1][0] = "/Customer/qna.aspx" // 문의 사항

menu[4][2] = new Array(1); // 
menu[4][2][0] = "/Customer/sitemap.aspx" // 사이트맵



menu[5] = new Array(3); // 회사소개

menu[5][0] = new Array(1); // 
menu[5][0][0] = "/Aquarium/ceo.aspx" // 인사말

menu[5][1] = new Array(1); // 
menu[5][1][0] = "/Aquarium/vision.aspx" // 기업비전

menu[5][2] = new Array(1); // 
menu[5][2][0] = "/Aquarium/history.aspx" // 부산아쿠아리움 연혁

menu[5][3] = new Array(3); // 인재채용
menu[5][3][0] = "/Aquarium/recruit.aspx" // 인재채용
menu[5][3][1] = "/Aquarium/resumeResume.aspx" // 입사지원
menu[5][3][2] = "/Aquarium/resumeApply.aspx" // 입사지원 관리

menu[5][4] = new Array(1); // 
menu[5][4][0] = "/Aquarium/partner.aspx" // 협력업체

menu[5][5] = new Array(1); // 
menu[5][5][0] = "/Aquarium/report.aspx" // 보도자료

menu[5][6] = new Array(1); // 
menu[5][6][0] = "/Aquarium/aquaCF.aspx" // AQUA CF

menu[6] = new Array(7); // 마이페이지

menu[6][0] = new Array(1); // 
menu[6][0][0] = "/MyPage/login.aspx" // 회원 로그인

menu[6][1] = new Array(1); // 
menu[6][1][0] = "/MyPage/findID.aspx" // 아이디 찾기

menu[6][2] = new Array(1); // 
menu[6][2][0] = "/MyPage/findPW.aspx" // 비밀번호 찾기

menu[6][3] = new Array(1); // 
menu[6][3][0] = "/MyPage/myInfo.aspx" // 개인정보 변경

menu[6][4] = new Array(1); // 
menu[6][4][0] = "/MyPage/withdraw.aspx" // 회원탈퇴

menu[6][5] = new Array(1); // 
menu[6][5][0] = "/MyPage/join01.aspx" // 회원가입

menu[6][6] = new Array(1); // 
menu[6][6][0] = "/Login/logout.aspx" // 로그아웃

menu[6][7] = new Array(2); //
menu[6][7][0] = "/mypage/LegalNotice02.aspx"; //개인정보 취급방침
menu[6][7][1] = "/mypage/LegalNotice01.aspx"; //이용약관
menu[6][7][2] = "/mypage/LegalNotice03.aspx"; //개인정보 취급방침



menu[7] = new Array();
menu[7][0] = new Array();
menu[7][0][0] = "/eng/f_main.html"; //영문
menu[7][0][1] = "http://www.pusannavi.com/play/1005/"; //일문
menu[7][0][2] = "";



menu[8] = new Array();
menu[8][0] = new Array();
menu[8][0][0] = "/shop/default.aspx"; //샵



var MINI_CAL = new Object;

MINI_CAL.SELECTED_OBJ = null;
MINI_CAL.BT_OBJ = null;
MINI_CAL.YYYY = 0;
MINI_CAL.MM = 0;
MINI_CAL.PAGE = "/tools/calendar.aspx";
MINI_CAL.EXPRESSION = "yyyy-mm-dd";


MINI_CAL.INIT = function () {
	var now = new Date();
	MINI_CAL.YYYY = now.getFullYear();
	MINI_CAL.MM = now.getMonth() + 1;
	MINI_CAL.SET_FORM();
}


MINI_CAL.SET_FORM = function () {
	var type = "";
	$("*[minical=true]").each(function () {
		this.style.cursor = "pointer";

		type = this.toString().toLowerCase();
		type = "htmlinputelement";
		if (type.indexOf("htmlinputelement") == -1) {
			//input이 아닌경우
			if ($(this).attr("targetObj") === undefined) {
				alert("targetObj가 설정되지 않았습니다.");
				return false;
			}
		}
		else {
			MINI_CAL.SELECTED_OBJ = this;
		}


		$(this).click(function () {
		  var type = this.toString().toLowerCase();
		  type = "htmlinputelement";
			if (type.indexOf("htmlinputelement") == -1) {
				//input이 아닌경우
				if ($("#" + $(this).attr("targetObj")).length == 0) {
					alert("targetObj가 존재하지 않습니다.");
					return;
				}
				else {
					MINI_CAL.SELECTED_OBJ = document.getElementById($(this).attr("targetObj"));
					MINI_CAL.BT_OBJ = this;
				}
			}
			else {
				MINI_CAL.SELECTED_OBJ = this;
				MINI_CAL.BT_OBJ = this;
			}
			MINI_CAL.GET_CAL();

		});


	});
}



MINI_CAL.CLOSE_LAYER = function () {
	//document.getElementById("DIV_MINI_CAL").style.display = "none";
	$("#DIV_MINI_CAL").toggle('fast', function () {
		// Animation complete.
	});
}

MINI_CAL.SELECT_CAL = function (yyyy, mm, dd) {
	var expression = "";
	if ($(MINI_CAL.BT_OBJ).attr("expression") === undefined) {
		expression = MINI_CAL.EXPRESSION;
	}
	else {
		expression = $(MINI_CAL.BT_OBJ).attr("expression");
	}
	expression = expression.toLowerCase();

	expression = expression.replace("yyyy", yyyy.toString());

	if (expression.indexOf("mm") != -1) {
		var tmpMM = (mm.toString().length == 1) ? "0" + mm.toString() : mm.toString();
		expression = expression.replace("mm", tmpMM);
	}
	else {
		expression = expression.replace("m", mm.toString());
	}


	if (expression.indexOf("dd") != -1) {
		var tmpDD = (dd.toString().length == 1) ? "0" + dd.toString() : dd.toString();
		expression = expression.replace("dd", tmpDD);
	}
	else {
		expression = expression.replace("d", dd.toString());
	}

	$(MINI_CAL.SELECTED_OBJ).val(expression);
	MINI_CAL.CLOSE_LAYER();
}




MINI_CAL.MOVE_DATE = function (yyyy, mm) {
	MINI_CAL.YYYY = yyyy;
	MINI_CAL.MM = mm;
	MINI_CAL.GET_CAL();
}


MINI_CAL.GET_CAL = function () {

	if ($('#DIV_MINI_CAL').length == 0) {
		var layer = '';
		layer += '<div id="DIV_MINI_CAL" class="calendar" style="position:absolute; display:none;">';
		layer += '</div>';
		$(layer).appendTo("body");
	}

	var vars = { "yyyy": MINI_CAL.YYYY, "mm": MINI_CAL.MM };
	$.ajax({
		url: MINI_CAL.PAGE,
		type: "post",
		dataType: "html",
		data: vars,
		timeout: 50000,
		error: function (msg, err) { MINI_CAL.AJAX_ERR(msg, err) },
		success: function (msg) { MINI_CAL.PRINT(msg) }
	});
}

MINI_CAL.PRINT = function (msg) {
	document.getElementById("DIV_MINI_CAL").innerHTML = $(msg).find("div[id=ajaxContents]").html();

	var x = $(MINI_CAL.BT_OBJ).offset().left;
	var y = $(MINI_CAL.BT_OBJ).offset().top;

	//x = (Number(document.getElementById("DIV_MINI_CAL").style.left.replace("px", "")) - $("#DIV_MINI_CAL").width());
	//document.getElementById("DIV_MINI_CAL").style.left = leftX.toString() + "px";

	document.getElementById("DIV_MINI_CAL").style.left = x.toString() + "px";
	document.getElementById("DIV_MINI_CAL").style.top = y.toString() + "px";

	if (document.getElementById("DIV_MINI_CAL").style.display == "none") {
		$("#DIV_MINI_CAL").toggle('fast', function () {
			// Animation complete.
		});
	}
	//document.getElementById("DIV_MINI_CAL").style.display = "block";
}




MINI_CAL.AJAX_ERR = function (msg, err) {
	var tmpstr = "";
	if (err == "timeout") {
		tmpstr += "데이터 요청시간이 초과 되었습니다.";
	}
	else {
		tmpstr += "오류 형태 " + msg.status.toString() + "<br />";
		tmpstr += "오류메세지 형태 " + err + "<br />";
		try {
			tmpstr += msg.responseText;
		}
		catch (e) {
			tmpstr += e;
		}
	}
	document.getElementById("DIV_MINI_CAL").style.display = "block";
	document.getElementById("DIV_MINI_CAL").innerHTML = tmpstr;
}

$(document).ready(MINI_CAL.INIT);

var NAVI_URL = new Array();
NAVI_URL['0,-1,-1'] = ''; //안녕!아쿠아리움.
NAVI_URL['0,0,-1'] = '/hello/BA_Info.aspx'; //부산아쿠아리움은
NAVI_URL['0,1,-1'] = '/hello/BA_Trace.aspx'; //부산아쿠아리움 발자취
NAVI_URL['0,2,-1'] = ''; //전시생물 및 시설소개
NAVI_URL['0,2,0'] = '/hello/FloorB1.aspx'; //지하 1층
NAVI_URL['0,2,1'] = '/hello/FloorB2.aspx'; //지하 2층
NAVI_URL['0,2,2'] = '/hello/FloorB3.aspx'; //지하 3층
NAVI_URL['0,2,3'] = '/hello/lssSystem.aspx'; //LSS 시스템
NAVI_URL['0,2,4'] = '/hello/subFacilities.aspx'; //부대시설
NAVI_URL['0,2,5'] = '/hello/expFacilities.aspx'; //체험시설
NAVI_URL['0,2,6'] = '/hello/facilityStatus.aspx'; //시설현황
NAVI_URL['0,3,-1'] = ''; //공연 프로그램 안내
NAVI_URL['0,3,0'] = '/hello/ShowOtter.aspx'; //수달 피딩쇼
NAVI_URL['0,3,1'] = '/hello/ShowPenguin.aspx'; //펭귄 피딩쇼
NAVI_URL['0,3,2'] = '/hello/ShowShark.aspx'; //상어 피딩쇼
NAVI_URL['0,3,3'] = '/hello/ShowMagic.aspx'; //수중 마술
NAVI_URL['0,4,-1'] = '/hello/BA_Aquatist.aspx'; //아쿠아리스트
NAVI_URL['1,-1,-1'] = ''; //배워요!아쿠아리움
NAVI_URL['1,0,-1'] = ''; //교육 프로그램
NAVI_URL['1,0,0'] = '/Learn/eduInfo_01.aspx'; //교육 프로그램 안내
NAVI_URL['1,0,1'] = '/Learn/eduInfo_02.aspx'; //학교급별 학습 목표
NAVI_URL['1,0,2'] = '/Learn/eduReseve.aspx'; //학생 단체 예약 신청
NAVI_URL['1,1,-1'] = ''; //단계별 BA 학습지
NAVI_URL['1,1,0'] = '/Learn/homeStudy01.aspx'; //1~2학년
NAVI_URL['1,1,1'] = '/Learn/homeStudy02.aspx'; //3~4학년
NAVI_URL['1,1,2'] = '/Learn/homeStudy03.aspx'; //5~6학년
NAVI_URL['1,1,3'] = '/Learn/homeStudyHigh.aspx'; //중고등학교
NAVI_URL['1,1,4'] = '/Learn/homeStudyVacation.aspx'; //방학숙제
NAVI_URL['1,1,5'] = '/Learn/paintStudy.aspx'; //색칠공부
NAVI_URL['1,2,-1'] = ''; //특별 프로그램
NAVI_URL['1,2,0'] = '/Learn/specialProgram01.aspx'; //전일제 수업
NAVI_URL['1,2,1'] = '/Learn/specialProgram02.aspx'; //SSE 영어캠프
NAVI_URL['1,2,2'] = '/Learn/specialProgram03.aspx'; //패키지 프로그램
NAVI_URL['1,2,3'] = '/Learn/specialProgram00.aspx'; //밤의 해저여행
NAVI_URL['1,3,-1'] = '/Learn/schoolTrip.aspx'; //수학여행안내
NAVI_URL['1,4,-1'] = '/Learn/dictionary.aspx'; //물고기 사전
NAVI_URL['1,5,-1'] = '/Learn/aquaSchoolNews.aspx'; //아쿠아 스쿨 뉴스
NAVI_URL['1,6,-1'] = '/Learn/aquaSchoolTalk.aspx'; //아쿠아 스쿨 토크
NAVI_URL['2,-1,-1'] = ''; //함께해요! 아쿠아리움
NAVI_URL['2,0,-1'] = '/With/notice.aspx'; //공지사항
NAVI_URL['2,1,-1'] = ''; //이벤트 스케줄러
NAVI_URL['2,1,0'] = '/With/event.aspx'; //진행중인 이벤트
NAVI_URL['2,1,1'] = '/With/endEvent.aspx'; //종료된 이벤트
NAVI_URL['2,1,2'] = '/With/prizeList.aspx'; //당첨자 발표
NAVI_URL['2,2,-1'] = '/With/fishStory.aspx'; //피쉬 스토리
NAVI_URL['2,3,-1'] = '/With/aquaKin.aspx'; //아쿠아 지식인
NAVI_URL['2,4,-1'] = '/With/photo.aspx'; //포토콘테스트
NAVI_URL['2,5,-1'] = '/With/memory.aspx'; //방문후기
NAVI_URL['2,6,-1'] = '/With/rep.aspx'; //댓글게시판
NAVI_URL['2,7,-1'] = '/With/webzine.aspx'; //아쿠아 웹진
NAVI_URL['3,-1,-1'] = ''; //이용정보
NAVI_URL['3,0,-1'] = ''; //이용안내
NAVI_URL['3,0,0'] = '/Use/openTime.aspx'; //개장시간
NAVI_URL['3,0,1'] = '/Use/showtime.aspx'; //공연 시간 안내
NAVI_URL['3,0,2'] = '/Use/charge.aspx'; //요금안내
NAVI_URL['3,0,3'] = '/Use/disCount.aspx'; //할인정보
NAVI_URL['3,1,-1'] = ''; //온라인 상품권
NAVI_URL['3,1,0'] = '/Use/onlineGift.aspx'; //온라인 상품권 안내
NAVI_URL['3,1,1'] = '/Use/buyHistory.aspx'; //내 구매내역
NAVI_URL['3,1,2'] = '/Use/onlineTicketing.aspx'; //대행사이트 구매 안내
NAVI_URL['3,2,-1'] = ''; //단체 관람 안내
NAVI_URL['3,2,0'] = '/Use/groupInfo.aspx'; //일반/외국인/기업체단체
NAVI_URL['3,2,1'] = '/Use/groupRsv.aspx'; //단체 예약 신청
NAVI_URL['3,3,-1'] = ''; //연간 회원권 안내
NAVI_URL['3,3,0'] = '/Use/annualMemberShip.aspx'; //연간 회원권 안내
NAVI_URL['3,3,1'] = '/Use/annualMemberShipHistory.aspx'; //내 연간회원권
NAVI_URL['3,3,2'] = '/Use/annualMemberLounge.aspx'; //연간회원 라운지
NAVI_URL['3,4,-1'] = '/Use/partyInfo.aspx'; //대관 안내
NAVI_URL['3,5,-1'] = '/Use/traffic.aspx'; //교통정보/주차정보
NAVI_URL['3,6,-1'] = '/Use/sightseeingList.aspx'; //주변 관광지
NAVI_URL['4,-1,-1'] = ''; //고객센터
NAVI_URL['4,0,-1'] = '/Customer/faq.aspx'; //자주 묻는 질문
NAVI_URL['4,1,-1'] = '/Customer/qna.aspx'; //문의사항
NAVI_URL['4,2,-1'] = '/Customer/sitemap.aspx'; //사이트맵
NAVI_URL['5,-1,-1'] = ''; //회사소개
NAVI_URL['5,0,-1'] = '/Aquarium/ceo.aspx'; //인사말
NAVI_URL['5,1,-1'] = '/Aquarium/vision.aspx'; //기업비전
NAVI_URL['5,2,-1'] = '/Aquarium/history.aspx'; //부산아쿠아리움 연혁
NAVI_URL['5,3,-1'] = ''; //인재채용
NAVI_URL['5,3,0'] = '/Aquarium/recruit.aspx'; //인재채용
NAVI_URL['5,3,1'] = '/Aquarium/resumeResume.aspx'; //입사지원
NAVI_URL['5,3,2'] = '/Aquarium/resumeApply.aspx'; //입사지원 관리
NAVI_URL['5,4,-1'] = '/Aquarium/partner.aspx'; //협력업체
NAVI_URL['5,5,-1'] = '/Aquarium/report.aspx'; //보도자료
NAVI_URL['5,6,-1'] = '/Aquarium/aquaCF.aspx'; //AQUA CF
NAVI_URL['6,-1,-1'] = ''; //마이페이지
NAVI_URL['6,0,-1'] = '/MyPage/login.aspx'; //회원 로그인
NAVI_URL['6,1,-1'] = '/MyPage/findID.aspx'; //아이디 찾기
NAVI_URL['6,2,-1'] = '/MyPage/findPW.aspx'; //비밀번호 찾기
NAVI_URL['6,3,-1'] = '/MyPage/myInfo.aspx'; //개인정보 변경
NAVI_URL['6,4,-1'] = '/MyPage/withdraw.aspx'; //회원탈퇴
NAVI_URL['6,5,-1'] = '/MyPage/join01.aspx'; //회원가입
NAVI_URL['6,6,-1'] = '/Login/logout.aspx'; //로그아웃
NAVI_URL['7,-1,-1'] = ''; //기타
NAVI_URL['7,0,-1'] = ''; //외부 사이트
NAVI_URL['7,0,0'] = '/eng/f_main.html'; //영문 사이트
NAVI_URL['7,0,1'] = 'http://www.pusannavi.com/play/1005/'; //일문 사이트
NAVI_URL['7,0,2'] = 'http://www.aquaworld-oarai.com/'; //AQUA WORLD

(function ($, window, document, undefined) {
  // plugin 이름, default option 설정
  var pluginName = 'cfSlider',
		defaults = {
		  container: '.container', // 아이템들을 가지고 있는 엘리먼트의 jQuery 셀렉터
		  item: '.item', 			// 아이템 엘리먼트의 jQuery 셀렉터
		  display: 1, 				// 화면에 보여지는 아이템의 수
		  move: 1, 				// 한 번에 슬라이드될(이동할) 아이템의 수
		  direction: 'horizontal', // 가로슬라이드: horizontal, 세로슬라이드: vertical
		  speed: 400, 				// 슬라이딩 속도, 밀리세컨드 단위의 숫자 또는 jQuery.animate()에 사용가능한 'slow', 'fast' 등 문자열
		  prevBtn: '.prev', 		// 이전 버튼의 jQuery 셀렉터(꼭 버튼 형태일 필요 없음)
		  nextBtn: '.next', 		// 다음 버튼의 jQuery 셀렉터(꼭 버튼 형태일 필요 없음)
		  eventType: 'click', 		// slider를 작동시킬 때 필요한 이벤트. 즉, 이전/다음 버튼에 이 이벤트가 발생하면 slider 작동
		  prevEventType: null, 	// prev, next로 이동할 때 사용할 특별한 이벤트 타입 등록
		  nextEventType: null, 	// 활용예) 모바일웹 개발할 때 터치 swipe(플리킹)으로 slider를 작동시키고 싶으면 이 자리에 적절한
		  // 커스텀 이벤트 타입을 등록하고, 터치를 할 때 그 커스텀 이벤트를 cfSlider를 실행시킬 엘리먼트에서 발생시키면 됨
		  callback: null				// 슬라이드 애니메이션이 끝나고 실행될 콜백함수, 인자로 현재 화면에 보이고 있는 아이템들의 DOM객체를 받게 됨
		  // callback: function(items) {
		  // console.log(items);	// 이런 식으로 사용하시면 됩니다.
		  // }
		};


  // plugin constructor
  function Plugin(element, options) {
    this.element = element;
    this.options = $.extend({}, defaults, options);

    this._defaults = defaults;
    this._name = pluginName;

    this.init();
  }


  // initialization logic
  Plugin.prototype.init = function () {

    var slider = $(this.element),
			options = this.options,
			$container = slider.find(options.container),
			$items = $container.find(options.item).not('.cfslider_clone'),
			itemLength = $items.length,
			$afterItems = $items.slice(0, options.display).clone(), 	// 아이템들 중에서 앞에서 부터 options.display 만큼 복사
			$beforeItems = $items.slice(itemLength - options.display, itemLength).clone(), // 아이템들 중에서 뒤에서 부터 options.display 만큼 복사
			itemSize = options.direction === 'horizontal' ? $items.first().width() : $items.first().height(), 	// 아이템 하나의 너비 또는 높이를 구함
			marginType = options.direction === 'horizontal' ? 'marginLeft' : 'marginTop', // 슬라이딩 효과에 사용할 margin의 종류
			$prevBtn = $(options.prevBtn),
			$nextBtn = $(options.nextBtn);

    this.container = $container;
    this.marginType = marginType;
    this.itemSize = itemSize;
    this.itemLength = itemLength;

    $beforeItems.each(function () {
      $(this).addClass('cfslider_clone');
    });

    $afterItems.each(function () {
      $(this).addClass('cfslider_clone');
    });

    slider.css('overflow', 'hidden'); // 필수 css 속성, css쪽에서 정의안하는 경우를 대비해 설정, 실제 움직이는 $container를 싸고 있는 slider가 overflow:hidden 속성을 가지고 있어야 자신의 크기만큼만 사용자에게 보여줄수 있기 때문

    $container.empty();
    $container.append($beforeItems, $items, $afterItems); // 기존 아이템들의 앞에는 beforeItems를 추가하고 뒤에는 afterItems를 추가함
    // 즉, 원래 아이템 목록이 '1-가','2-나','3-다','4-라','5-마' 이고 move가 3이라면 아래와 같이됨
    // ==> '1-다','2-라','3-마','4-가','5-나','6-다','7-라','8-마','9-가','10-나','11-다'
    // 좌우 이동을 위해서 원래 html코드에 있던 아이템 목록의 앞뒤에 복사(clone)한 아이템들을 더 붙여 주는 것


    // 그리고 나서 $container의 width를 새로 복사해넣은 아이템들까지 포함한 width로 만들어주고
    // 원래 html코드에 있던 첫 번째 아이템이 보이게 하기위해 $container의 marginLeft 값을 조정함
    // 예) itemLength = 5, itemSize = 100, move = 3 인 상황이었다면
    // 		$container의 width는 앞에 3개, 원래 5개, 뒤에 3개 이렇게 11개의 아이템이라 1100이 되고
    //		원래 5개 중 첫 번째가 제일 처음에 보이게 하기위해 앞에 3개 width 만큼을 -marginLeft 처리함
    // * 위 설명은 direction이 horizontal일 경우에 해당합니다. vertical일 경우에는 $container의 width는 itemSize이고 marginLeft대신 marginTop을 사용합니다.
    var containerCss = {};
    containerCss['width'] = options.direction === 'horizontal' ? itemSize * (itemLength + options.display * 2) : itemSize;
    containerCss[marginType] = -(itemSize * options.display);

    $container.css(containerCss);

    // 이전 버튼에 이벤트 발생시 실행
    $prevBtn
			.unbind(options.eventType + '.cfSlider')
			.bind(options.eventType + '.cfSlider', function () {
			  go('prev', $container, marginType, itemSize, itemLength, options);
			});

    // 다음 버튼에 이벤트 발생시 실행
    $nextBtn
			.unbind(options.eventType + '.cfSlider')
			.bind(options.eventType + '.cfSlider', function () {
			  go('next', $container, marginType, itemSize, itemLength, options);
			});

    // 커스텀 이벤트 타입이 등록되었을 경우
    if (options.prevEventType) {
      slider
				.unbind(options.prevEventType + '.cfSlider')
				.bind(options.prevEventType + '.cfSlider', function () {
				  go('prev', $container, marginType, itemSize, itemLength, options);
				});
    }

    if (options.nextEventType) {
      slider
				.unbind(options.nextEventType + '.cfSlider')
				.bind(options.nextEventType + '.cfSlider', function () {
				  go('next', $container, marginType, itemSize, itemLength, options);
				});
    }

  };


  // 슬라이드 함수
  function go(direction, $container, marginType, itemSize, itemLength, options, currentMargin) {

    if ($container.is(':animated')) {		// 애니메이션 진행중일 때 누르면 반응 없도록 처리
      return;
    }

    var obj = {}, // animate에 넘길 parameter를 만들기 위한 임시 객체
			currentMargin = currentMargin === undefined ? parseInt($container.css(marginType)) : currentMargin; // $container의 현재 margin

    if (direction === 'prev') {

      var targetMargin = currentMargin + itemSize * options.move; 	// 이동할 margin

      obj[marginType] = targetMargin;

      // 슬라이드 실행
      $container.animate(obj, options.speed, function () {
        if ((Math.abs(currentMargin) / itemSize) <= (options.move > options.display ? options.move : options.display)) {	// 다음 위치에 아이템이 move할 아이템보다 적게 남아있을 경우
          targetMargin = targetMargin - (itemSize * itemLength); // 이동할 margin 재설정
          $container.css(marginType, targetMargin); // itemSize * itemLength 만큼 margin을 조정 -> 이렇게 하기 위해 아이템들을 clone()해서 원본의 앞뒤에 붙여놨던 것 -> 순간적으로 margin이 조정되고 보이는 아이템 항목은 같기 때문에 사용자는 인지하지 못함
        }

        if (options.callback != null) {
          var list = $container.find(options.item);
          options.callback(list.slice(Math.abs(targetMargin) / itemSize, Math.abs(targetMargin) / itemSize + options.display));
        }
      });

    } else if (direction === 'next') {

      var targetMargin = currentMargin - itemSize * options.move; 	// 이동할 margin

      obj[marginType] = targetMargin;

      // 슬라이드 실행
      $container.animate(obj, options.speed, function () {
        if (itemLength + options.display * 2 - (Math.abs(currentMargin) / itemSize + options.display) <= (options.move > options.display ? options.move : options.display)) {	// 다음 위치에 아이템이 move할 아이템보다 적게 남아있을 경우
          targetMargin = targetMargin + (itemSize * itemLength); // 이동할 margin 재설정
          $container.css(marginType, targetMargin); // itemSize * itemLength 만큼 margin을 조정 -> 이렇게 하기 위해 아이템들을 clone()해서 원본의 앞뒤에 붙여놨던 것 -> 순간적으로 margin이 조정되고 보이는 아이템 항목은 같기 때문에 사용자는 인지하지 못함
        }

        if (options.callback != null) {
          var list = $container.find(options.item);
          options.callback(list.slice(Math.abs(targetMargin) / itemSize, Math.abs(targetMargin) / itemSize + options.display));
        }
      });

    }

  }

  // go 함수를 cfSlider 인스턴스의 메서드로 만듬
  Plugin.prototype.go = go;

  // jQuery 객체와 element의 data에 plugin을 넣음
  $.fn[pluginName] = function (options) {

    return this.each(function () {

      if (!$.data(this, 'plugin_' + pluginName)) {
        $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
      }

    });

  };

})(jQuery, window, document);
(function (a, b, c, d) { function h(a, b, c, e, f, g, h) { if (b.is(":animated")) { return } var i = {}, h = h === d ? parseInt(b.css(c)) : h; if (a === "prev") { var j = h + e * g.move; i[c] = j; b.animate(i, g.speed, function () { if (Math.abs(h) / e <= (g.move > g.display ? g.move : g.display)) { j = j - e * f; b.css(c, j) } if (g.callback != null) { var a = b.find(g.item); g.callback(a.slice(Math.abs(j) / e, Math.abs(j) / e + g.display)) } }) } else if (a === "next") { var j = h - e * g.move; i[c] = j; b.animate(i, g.speed, function () { if (f + g.display * 2 - (Math.abs(h) / e + g.display) <= (g.move > g.display ? g.move : g.display)) { j = j + e * f; b.css(c, j) } if (g.callback != null) { var a = b.find(g.item); g.callback(a.slice(Math.abs(j) / e, Math.abs(j) / e + g.display)) } }) } } function g(b, c) { this.element = b; this.options = a.extend({}, f, c); this._defaults = f; this._name = e; this.init() } var e = "cfSlider", f = { container: ".container", item: ".item", display: 1, move: 1, direction: "horizontal", speed: 400, prevBtn: ".prev", nextBtn: ".next", eventType: "click", prevEventType: null, nextEventType: null, callback: null }; g.prototype.init = function () { var b = a(this.element), c = this.options, d = b.find(c.container), e = d.find(c.item).not(".cfslider_clone"), f = e.length, g = e.slice(0, c.display).clone(), i = e.slice(f - c.display, f).clone(), j = c.direction === "horizontal" ? e.first().width() : e.first().height(), k = c.direction === "horizontal" ? "marginLeft" : "marginTop", l = a(c.prevBtn), m = a(c.nextBtn); this.container = d; this.marginType = k; this.itemSize = j; this.itemLength = f; i.each(function () { a(this).addClass("cfslider_clone") }); g.each(function () { a(this).addClass("cfslider_clone") }); b.css("overflow", "hidden"); d.empty(); d.append(i, e, g); var n = {}; n["width"] = c.direction === "horizontal" ? j * (f + c.display * 2) : j; n[k] = -(j * c.display); d.css(n); l.unbind(c.eventType + ".cfSlider").bind(c.eventType + ".cfSlider", function () { h("prev", d, k, j, f, c) }); m.unbind(c.eventType + ".cfSlider").bind(c.eventType + ".cfSlider", function () { h("next", d, k, j, f, c) }); if (c.prevEventType) { b.unbind(c.prevEventType + ".cfSlider").bind(c.prevEventType + ".cfSlider", function () { h("prev", d, k, j, f, c) }) } if (c.nextEventType) { b.unbind(c.nextEventType + ".cfSlider").bind(c.nextEventType + ".cfSlider", function () { h("next", d, k, j, f, c) }) } }; g.prototype.go = h; a.fn[e] = function (b) { return this.each(function () { if (!a.data(this, "plugin_" + e)) { a.data(this, "plugin_" + e, new g(this, b)) } }) } })(jQuery, window, document)
/*
* 안녕하세요 코드팩토리입니다. http://codefactory.kr, [프로그램 개발문의] master@codefactory.kr
* 이 프로그램은 아무런 제약없이 복사/수정/재배포 하셔도 되며 주석을 지우셔도 됩니다.
* 감사합니다.
*/

// 모바일기기에서 사용자의 touch swipe 모션에 callback을 사용할 수 있게 해주는 jQuery Plugin 입니다.
// touch event를 지원하지 않는 브라우저(PC 등)에서는 touch event대신 mouse 이벤트를 사용합니다.

; (function ($, window, document, undefined) {

  // plugin 이름, default option 설정
  var pluginName = 'cfTouchSwipe',
		defaults = {
		  minSwipeLength: 50, 	// 사용자가 swipe 했다고 판단하는 최소 거리
		  minMoveLength: 15, 	// 이 거리보다 작게 움직이고 triggerClick = true 이면 click 이벤트 trigger
		  triggerClick: true,
		  preventDefault: true, // touchstart, touchmove 이벤트에 대해 preventDefault 할지 여부
		  swipeLeft: null, 	// swipe callback
		  swipeRight: null, 	// swipe callback
		  swipeUp: null, 		// swipe callback
		  swipeDown: null			// swipe callback
		};

  // touch event 관련 변수
  var startX = 0,
		startY = 0,
		curX = 0,
		curY = 0,
		isMoving = false,
		startTime = null,
		endTime = null,
		touchedElement = null, 	// touch가 발생한 element, triggerClick 할 때 사용됨
		swipeAngle = null, 		// swipe 각도, 이 것을 바탕으로 left, right, down, up을 설정
		swipeDirection = null, 	// swipe 방향
		touchEventEnabled = !!('ontouchstart' in document.documentElement); // touch event 지원 여부

  // plugin constructor
  function Plugin(element, options) {
    this.element = element;
    this.options = $.extend({}, defaults, options);

    this._defaults = defaults;
    this._name = pluginName;

    this.init();
  }

  // initialization logic
  Plugin.prototype.init = function () {

    var $this = $(this.element);

    if (touchEventEnabled) {	// touch event를 지원하는 브라우저에서는 touch event에 리스너 등록
      $this.unbind('touchstart.cfTouchSwipe');
      $this.unbind('touchmove.cfTouchSwipe');
      $this.unbind('touchend.cfTouchSwipe');

      $this.bind('touchstart.cfTouchSwipe', { element: this.element, options: this.options }, onTouchStart);
      $this.bind('touchmove.cfTouchSwipe', { element: this.element, options: this.options }, onTouchMove);
      $this.bind('touchend.cfTouchSwipe', { element: this.element, options: this.options }, onTouchEnd);
    } else {		// 그렇지 않은 브라우저에서는 mouse event에 리스너 등록
      $this.unbind('mousedown.cfTouchSwipe');
      $this.unbind('mousemove.cfTouchSwipe');
      $this.unbind('mouseup.cfTouchSwipe');

      $this.bind('mousedown.cfTouchSwipe', { element: this.element, options: this.options }, onTouchStart);
      $this.bind('mousemove.cfTouchSwipe', { element: this.element, options: this.options }, onTouchMove);
      $this.bind('mouseup.cfTouchSwipe', { element: this.element, options: this.options }, onTouchEnd);
    }

  };

  // 사용자가 터치를 시작했을 때 호출
  function onTouchStart(e) {

    var options = e.data.options;

    if (options.preventDefault) {
      e.preventDefault();
    }

    if (touchEventEnabled) {	// touch event 지원 브라우저

      // 한 손가락으 이벤트에 대해서만 처리, gesture는 처리 안함
      if (e.originalEvent.touches.length != 1) {
        return;
      }

      var touch = e.originalEvent.touches[0];

      startTime = new Date().getTime();
      startX = curX = touch.pageX;
      startY = curY = touch.pageY;
      isMoving = true;
      touchedElement = e.target;

    } else {	// touch event 미지원 브라우저

      startTime = new Date().getTime();
      startX = curX = e.pageX;
      startY = curY = e.pageY;
      isMoving = true;
      touchedElement = e.target;

    }

  };

  // 사용자가 터치를 움직이고 있을 때 호출
  function onTouchMove(e) {

    var options = e.data.options;

    if (options.preventDefault) {
      e.preventDefault();
    }

    if (touchEventEnabled) {	// touch event 지원 브라우저

      // 한 손가락으 이벤트에 대해서만 처리, gesture는 처리 안함
      if (e.originalEvent.touches.length != 1) {
        return;
      }

      var touch = e.originalEvent.touches[0];

      if (isMoving) {
        curX = touch.pageX;
        curY = touch.pageY;
      }

    } else {	// touch event 미지원 브라우저

      if (isMoving) {
        curX = e.pageX;
        curY = e.pageY;
      }

    }
  };

  // 사용자가 터치를 종료했을 때 호출
  function onTouchEnd(e) {
    runTouchSwipe(e);
    resetTouch();
  };

  // touch event 관련 정보를 초기화
  function resetTouch() {
    startX = 0;
    startY = 0;
    curX = 0;
    curY = 0;
    isMoving = false;
    startTime = null;
    endTime = null;
    touchedElement = null;
    swipeAngle = null;
    swipeDirection = null;
  }

  // 사용자의 touch 이동을 계산하여 swipe 판단 후 callback 실행
  function runTouchSwipe(e) {
    endTime = new Date().getTime();

    var options = e.data.options,
			elapsedTime = endTime - startTime,
			deltaX = curX - startX,
			deltaY = curY - startY,
			distX = Math.abs(deltaX),
			distY = Math.abs(deltaY),
			swipeLength = Math.round(Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)));

    // triggerClick = true이고 사용자가 touchmove한 거리가 options.minMoveLength 보다 작고,touch한 시간이 200millisecond 보다 작을 때 touchedElement에 click 이벤트 trigger
    if (options.triggerClick && distX < options.minMoveLength && distY < options.minMoveLength && elapsedTime < 200) {
      $(touchedElement).click();
      return;
    }

    // 사용자가 swipe한 거리가 options.minSwipeLength 보다 작을 때에는 처리 안함
    if (swipeLength < options.minSwipeLength) {
      return;
    }

    // 각도 계산
    var radian = Math.atan2(curY - startY, startX - curX);
    swipeAngle = Math.round(radian * 180 / Math.PI);
    if (swipeAngle < 0) {
      swipeAngle = 360 - Math.abs(swipeAngle);
    }

    // 각도를 바탕으로 swipe 방향 설정
    if (swipeAngle <= 45 && swipeAngle >= 0) {
      swipeDirection = 'left';
    } else if (swipeAngle <= 360 && swipeAngle >= 315) {
      swipeDirection = 'left';
    } else if (swipeAngle >= 135 && swipeAngle <= 225) {
      swipeDirection = 'right';
    } else if (swipeAngle > 45 && swipeAngle < 135) {
      swipeDirection = 'down';
    } else {
      swipeDirection = 'up';
    }

    // swipe 방향에 따른 callback이 있는지 검사하고 있으면 실행시킴
    switch (swipeDirection) {
      case 'left':
        if (options.swipeLeft && typeof options.swipeLeft === 'function') options.swipeLeft();
        break;

      case 'right':
        if (options.swipeRight && typeof options.swipeRight === 'function') options.swipeRight();
        break;

      case 'down':
        if (options.swipeDown && typeof options.swipeDown === 'function') options.swipeDown();
        break;

      case 'up':
        if (options.swipeUp && typeof options.swipeUp === 'function') options.swipeUp();
        break;
    }
  }

  // jQuery 객체와 element의 data에 plugin을 넣음
  $.fn[pluginName] = function (options) {

    return this.each(function () {

      if (!$.data(this, 'plugin_' + pluginName)) {
        $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
      }

    });

  };

})(jQuery, window, document);

/*
* 안녕하세요 코드팩토리입니다. http://codefactory.kr, [프로그램 개발문의] master@codefactory.kr
* 이 프로그램은 아무런 제약없이 복사/수정/재배포 하셔도 되며 주석을 지우셔도 됩니다.
* 감사합니다.
*/
(function (a, b, c, d) { function w(b) { m = (new Date).getTime(); var c = b.data.options, d = m - l, e = i - g, f = j - h, k = Math.abs(e), q = Math.abs(f), r = Math.round(Math.sqrt(Math.pow(e, 2) + Math.pow(f, 2))); if (c.triggerClick && k < c.minMoveLength && q < c.minMoveLength && d < 200) { a(n).click(); return } if (r < c.minSwipeLength) { return } var s = Math.atan2(j - h, g - i); o = Math.round(s * 180 / Math.PI); if (o < 0) { o = 360 - Math.abs(o) } if (o <= 45 && o >= 0) { p = "left" } else if (o <= 360 && o >= 315) { p = "left" } else if (o >= 135 && o <= 225) { p = "right" } else if (o > 45 && o < 135) { p = "down" } else { p = "up" } switch (p) { case "left": if (c.swipeLeft && typeof c.swipeLeft === "function") c.swipeLeft(); break; case "right": if (c.swipeRight && typeof c.swipeRight === "function") c.swipeRight(); break; case "down": if (c.swipeDown && typeof c.swipeDown === "function") c.swipeDown(); break; case "up": if (c.swipeUp && typeof c.swipeUp === "function") c.swipeUp(); break } } function v() { g = 0; h = 0; i = 0; j = 0; k = false; l = null; m = null; n = null; o = null; p = null } function u(a) { w(a); v() } function t(a) { var b = a.data.options; if (b.preventDefault) { a.preventDefault() } if (q) { if (a.originalEvent.touches.length != 1) { return } var c = a.originalEvent.touches[0]; if (k) { i = c.pageX; j = c.pageY } } else { if (k) { i = a.pageX; j = a.pageY } } } function s(a) { var b = a.data.options; if (b.preventDefault) { a.preventDefault() } if (q) { if (a.originalEvent.touches.length != 1) { return } var c = a.originalEvent.touches[0]; l = (new Date).getTime(); g = i = c.pageX; h = j = c.pageY; k = true; n = a.target } else { l = (new Date).getTime(); g = i = a.pageX; h = j = a.pageY; k = true; n = a.target } } function r(b, c) { this.element = b; this.options = a.extend({}, f, c); this._defaults = f; this._name = e; this.init() } var e = "cfTouchSwipe", f = { minSwipeLength: 50, minMoveLength: 15, triggerClick: true, preventDefault: true, swipeLeft: null, swipeRight: null, swipeUp: null, swipeDown: null }; var g = 0, h = 0, i = 0, j = 0, k = false, l = null, m = null, n = null, o = null, p = null, q = !!("ontouchstart" in c.documentElement); r.prototype.init = function () { var b = a(this.element); if (q) { b.unbind("touchstart.cfTouchSwipe"); b.unbind("touchmove.cfTouchSwipe"); b.unbind("touchend.cfTouchSwipe"); b.bind("touchstart.cfTouchSwipe", { element: this.element, options: this.options }, s); b.bind("touchmove.cfTouchSwipe", { element: this.element, options: this.options }, t); b.bind("touchend.cfTouchSwipe", { element: this.element, options: this.options }, u) } else { b.unbind("mousedown.cfTouchSwipe"); b.unbind("mousemove.cfTouchSwipe"); b.unbind("mouseup.cfTouchSwipe"); b.bind("mousedown.cfTouchSwipe", { element: this.element, options: this.options }, s); b.bind("mousemove.cfTouchSwipe", { element: this.element, options: this.options }, t); b.bind("mouseup.cfTouchSwipe", { element: this.element, options: this.options }, u) } }; a.fn[e] = function (b) { return this.each(function () { if (!a.data(this, "plugin_" + e)) { a.data(this, "plugin_" + e, new r(this, b)) } }) } })(jQuery, window, document)

