/* faster access by caching the window's properties by amachang. http://d.hatena.ne.jp/amachang/20071010/1192012056 */
/*@cc_on eval((function(props) { var code = []; for (var i = 0, l = props.length;i<l;i++){ var prop = props[i]; window['_'+prop]=window[prop]; code.push(prop+'=_'+prop); }; return 'var '+code.join(','); })('document self top parent alert setInterval clearInterval setTimeout clearTimeout'.split(' '))); @*/

/* setInterval03.js by amachang. http://d.hatena.ne.jp/amachang/20060924/1159084608 */
(function(){ var _si_nativeSetInterval = window.setInterval , _si_nativeClearInterval = window.clearInterval , _si_intervalTime = 10 , _si_counter = 1 , _si_length = 0 , _si_functions = {} , _si_counters = {} , _si_numbers = {} , _si_intervalId = undefined; var _si_loop = function() { var f = _si_functions, c = _si_counters, n = _si_numbers; for(var i in f) { if(!--c[i]) { f[i](); c[i] = n[i]; } } }; window.setInterval = function(handler, time) { if(typeof handler == 'string') handler = new Function(handler); _si_functions[_si_counter] = handler; _si_counters[_si_counter] = _si_numbers[_si_counter] = Math.ceil(time / _si_intervalTime); if (++_si_length && !_si_intervalId) { _si_intervalId = _si_nativeSetInterval(_si_loop, _si_intervalTime); }; return _si_counter++; }; window.clearInterval = function(id) { if(_si_functions[id]) { delete _si_functions[id]; delete _si_numbers[id]; delete _si_counters[id]; if (!--_si_length && _si_intervalId) { _si_nativeClearInterval(_si_intervalId); _si_intervalId = undefined; } } }; })();

function COM(){
	
	var common = this;
	
	
	
	
	
	/* ---------- Enhancing built-in class ---------- */
	
	COM.prototype.String = function(){ var Wrap = this; this.str = new String(arguments[0]); var Substance = this.str; for(var i in this)(function(prop){ if(Wrap[prop] instanceof Function)(function(name,method){ Substance[name] = function(){ return method.apply(Substance,arguments); } })(prop,Wrap[prop]); })(i); return this.str; };
	COM.prototype.String.prototype = { addGetParameter : function(param){ return (this.indexOf("?") != -1) ? this + "&" + common.createGetString(param) : this + "?" + common.createGetString(param) ; }, untiCache : function(){ var tmp = new Date() , param = { untiCache : tmp.getTime() }; return this.addGetParameter(param); }, trim : function(){ return this.replace(/^\s*|\s*$/g,""); } };
	COM.prototype.Array = function(){ var Wrap = this; this.arr = []; this.arr.push.apply(this.arr,arguments); var Substance = this.arr; for(var i in this)(function(prop){ if(Wrap[prop] instanceof Function)(function(name,method){ Substance[name] = function(){ return method.apply(Substance,arguments); } })(prop,Wrap[prop]); })(i); return this.arr; };
	COM.prototype.Array.prototype = { each : function(){ var func = arguments[0]; for(var i=0 , l=this.length ; i<l ; i++) func.apply(this[i],[i,this[i]]); }, shuffle : function(){ var tmp = []; tmp.push.apply(tmp,this); var len = tmp.length , ret = new common.Array(); while(len){ var c = Math.floor(Math.random() * len); ret[ret.length] = tmp[c]; tmp.splice(c,1); len--; }; return ret; } };
	
	
	
	
	
	/* ---------- variables ---------- */
	
	this.__WindowOnload        = window.onload;
	this.__WindowOnresize      = window.onresize;
	this.__WindowOnscroll      = window.onscroll;
	this._startup_items        = new common.Array();
	this._onresize_items       = new common.Array();
	this._onscroll_items       = new common.Array();
//	this._currentScript        = null;
	this._scriptName           = "com.js";
	this._SARI_safemode        = 1;
	this._SARI_safemode_array  = new common.Array("img","input");
	this._SARI_className       = "SARI";
	this._SARI_object          = {};
	this._mailto_className     = "mailto";
	this._DOM                  = false;
	this._DCL_check_file       = "ThisFileDoseNotExist.js";
	this._LBX                  = null;
	this._LBX_className        = "LB";
	this._debugger             = {};
	this._debugger.write       = function(){};
	this._debug_mode           = false;
	this._debug_position       = "top right";
	this._debug_size           = [500,300];
	this._e                    = new common.Array();
	
	
	
	
	
	/* ---------- own functions ---------- */
	
	COM.prototype.Import = function(src){ var att = (arguments.length > 1 && typeof arguments[1] == "object") ? arguments[1] : {} , script = document.createElement("script") , flag = true; script.type = "text/javascript"; script.src = src; for(var i in att) script.setAttribute(i,att[i]); common.getElementsBySelector("script").each(function(index,item){ if(item.src == script.src) flag = false; }); if(flag !== true) return; if(common._DOM !== true) document.write("<script type=\"text/javascript\" src=\"" + src + "\"></script>"); else common.getElementsBySelector("head")[0].appendChild(script); };
	COM.prototype.bind = function(element,type,callback){ if(!element.listener) element.listener = {}; if(!element.listener[type]) element.listener[type] = {}; var arg2 = (arguments.length > 3 && arguments[3] === true) ? true : false ; var n = element.listener[type].length;  var hash = encodeURIComponent(callback.toString());  if(element.__addEventListener){ element.listener[type][hash] = function(evt){ callback(this,evt); }; element.__addEventListener(type,element.listener[type][hash],arg2); } else if(document.addEventListener){ element.listener[type][hash] = function(evt){ callback(this,evt); }; element.addEventListener(type,element.listener[type][hash],arg2); } else if(document.attachEvent){ if(type == "load" && (element.nodeName == "IMG" || element.nodeName == "INPUT" || element.nodeName == "SCRIPT" || element.nodeName == "FRAME" || element.nodeName == "IFRAME")){ element.listener[type][hash] = function(evt){ callback(evt.srcElement,evt); }; if(element.readyState == "complete"){ element.listener[type][hash](element,null); } else{ element.attachEvent("onreadystatechange",function(evt){ if(element.readyState == "complete") element.listener[type][hash](evt); }); } } else{ element.listener[type][hash] = function(evt){ callback(evt.srcElement,evt); }; element.attachEvent("on" + type,element.listener[type][hash]); } } };
	COM.prototype.unbind = function(element,type,callback){ if(!element.listener || !element.listener[type]) return; var arg2 = (arguments.length > 2 && arguments[2] == true) ? true : false , F = null;  var hash = encodeURIComponent(callback.toString());   if(hash in element.listener[type]){ if(element.__removeEventListener){ element.__removeEventListener(type,element.listener[type][hash],arg2); } else if(document.addEventListener){ element.removeEventListener(type,element.listener[type][hash],arg2); } else if(document.attachEvent){ element.detachEvent("on" + type,element.listener[type][hash]); } } };
	COM.prototype.getElementsByTagAndClassName = function(tag_name,class_name){ return common.D((tag_name == "*") ? "."+class_name : tag_name+"."+class_name); };
	COM.prototype.getBeforeElement = function(obj){ var ret = false; (function(elem){ if(!!elem.previousSibling){ var tmp = elem.previousSibling; if(tmp.nodeType == 1) ret = tmp; else arguments.callee(tmp); } })(obj); return ret; };
	COM.prototype.getNextElement = function(obj){ var ret = false; (function(elem){ if(!!elem.nextSibling){ var tmp = elem.nextSibling; if(tmp.nodeType == 1) ret = tmp; else arguments.callee(tmp); } })(obj); return ret; };
	COM.prototype.getChildElements = function(obj){ var ret = [] , cn = obj.childNodes; for(var i=0 , l=cn.length ; i<l ; i++){ if(cn[i].nodeType == 1) ret.push(cn[i]); } return ret; };
	COM.prototype.getChildElementsByTagName = function(obj,tagname){ var ret = [] , cn = obj.childNodes; for(var i=0 , l=cn.length ; i<l ; i++) if(cn[i].nodeType == 1 && cn[i].nodeName == tagname.toUpperCase()) ret.push(cn[i]); return ret; };
	COM.prototype.getChildElementById = function(obj,id){ var ret = null , cn = obj.childNodes; for(var i=0 , l=cn.length ; i<l ; i++){ if(cn[i].nodeType == 1 && cn[i].id == id) ret = cn[i]; break; } return ret; };
	COM.prototype.isClassMatch = function(element,className){ if(!element.className) return; var ret = false; for(var cls = element.className.split(" ") , i=0 , l=cls.length ; i<l ; i++){ if(cls[i] == className){ ret = true; break; } } return ret; };
	COM.prototype.isAttMatch = function(element,att){ var ret = true; for(var i in att){ if(!element[i] || element[i] != att[i]){ ret = false; break; } } return ret; };
	COM.prototype.clearChildNodes = function(obj){ if(!obj) return; var cn = obj.childNodes , ret = new common.Array(); for(var i=cn.length-1 ; i>=0 ; i--){ ret.push(cn[i]); obj.removeChild(cn[i]); } return ret.reverse(); };
	COM.prototype.getElementsBySelector = function(selector){ var _ret = new common.Array() , _r = -1 , _arg = arguments , _root = (_arg.length>1&&_arg[1].nodeType==1)?_arg[1]:document , _sel = new common.Array() , _sep_tmp = null , _sep_pattern = /[ >\+]/g , _tagname_pattern = /^(A|ABBR|ACRONYM|ADDRESS|APPLET|AREA|B|BASE|BASEFONT|BDO|BGSOUND|BIG|BLINK|BLOCKQUOTE|BODY|BR|BUTTON|CAPTION|CENTER|CITE|CODE|COL|COLGROUP|COMMENT|DD|DEL|DFN|DIR|DIV|DL|DT|EM|EMBED|FIELDSET|FONT|FORM|FRAME|FRAMESET|H1|H2|H3|H4|H5|H6|HEAD|HR|HTML|I|IFRAME|ILAYER|IMG|INPUT|INS|ISINDEX|KBD|LABEL|LAYER|LEGEND|LI|LINK|LISTING|MAP|MARQUEE|MENU|META|MULTICOL|NOBR|NOEMBED|NOFRAMES|NOLAYER|NOSCRIPT|OBJECT|OL|OPTGROUP|OPTION|P|PARAM|PLAINTEXT|PRE|Q|RB|RP|RT|RUBY|S|SAMP|SCRIPT|SELECT|SMALL|SPACER|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TABLE|TBODY|TD|TEXTAREA|TFOOT|TH|THEAD|TITLE|TR|TT|U|UL|VAR|WBR|XMP)$/ig , _classname_pattern = /\.([a-z_\u00C0-\uFFEE\-][\w\u00C0-\uFFEE\-]*)/i , _id_pattern = /#([a-z_\u00C0-\uFFEE\-][\w\u00C0-\uFFEE\-]*)/i , _att_pattern = /\[([^\]=]+)(?:=["']?([^\'\"\]]+)['"]?)?\]/g , _pseudo_pattern = /:(link|visited|hover|active|first\-child|last\-child|focus|first\-line|first\-letter|nth\-child|nth\-last\-child|nth\-of\-type|nth\-last\-of\-type)(?:\(([^\)]+)\))?/ig , _quick_selector = { "body" : document.body }; selector = new common.String(selector).trim().replace(/(['"])([^"']+)\1/g,function($0,$1,$2){ return $1 + $2.replace(/\s/g,"%%NBSP%%") + $1; }).replace(/\s*(?:\[|\()[^\]\)]+(?:\]|\))/g,function($0){ $0 = new common.String($0); return $0.trim().replace(/\s/g,""); }).replace(/\s*( |>|\+|\:)\s*/g,"$1"); (function(selsrc,root){ if(selsrc.indexOf(",") != -1){ var tmp = selsrc.split(","); for(var i=0 , l=tmp.length ; i<l ; i++) arguments.callee(tmp[i],root); } else{ var sel_array = selsrc.replace(_sep_pattern,"%%SEP%%").replace(/%%NBSP%%/g," ").split("%%SEP%%") , sep_match = selsrc.match(_sep_pattern); if(!sep_match) sep_match = []; sep_match.unshift(null) , ret = [] , r = -1 , i=0 , len=sel_array.length; (function(INDEX,ROOT){ var F = arguments.callee , ATT = null , PSEUDO = null , TAG = null , CLASS = null , ID = null , SEL = sel_array[INDEX].replace(_att_pattern,function($0,name,value){ if(!ATT) ATT = {}; ATT[name] = value; return ""; }).replace(_pseudo_pattern,function($0,name,syntax){ if(!PSEUDO) PSEUDO = {}; PSEUDO[name] = syntax; return ""; }).replace(_classname_pattern,function($0,value){ CLASS = value; return ""; }).replace(_id_pattern,function($0,value){ ID = value; return ""; }).replace(_tagname_pattern,function($0){ TAG = $0; return ""; }) , SEP = sep_match[INDEX]; if(SEP == "+") (function(){ if(ROOT == document) return; var pE = common.getBeforeElement(ROOT) , nE = common.getNextElement(ROOT) , tmp = []; if(pE) tmp.push(pE); if(nE) tmp.push(nE); if(tmp.length < 1) return; for(var t=0 , n=tmp.length ; t<n ; t++)(function(ind,item){ var flag = true; if(TAG && item.nodeName != TAG.toUpperCase()) flag = false; if(CLASS && !common.isClassMatch(item,CLASS)) flag = false; if(ID && item.id != ID) flag = false; if(ATT && !common.isAttMatch(item,ATT)) flag = false; if(flag == true){ if(INDEX < len - 1) F(INDEX + 1,item); else _ret[++_r] = item; } })(t,tmp[t]); })(); else (function(){ if(ID){ var tmp = document.getElementById(ID); if(tmp && (ROOT == document || tmp.parentNode == ROOT) && (!ATT || common.isAttMatch(tmp,ATT))){ if(INDEX < len - 1) F(INDEX + 1,tmp); else _ret[++_r] = tmp; } } else{ var tmp = (SEP == ">") ? common.getChildElementByTagName((TAG)?TAG:"*",ROOT) : ROOT.getElementsByTagName((TAG)?TAG:"*"); for(var t=0 , n=tmp.length ; t<n ; t++)(function(ind,item){ var flag = true; if(CLASS && !common.isClassMatch(item,CLASS)) flag = false; if(ATT && !common.isAttMatch(item,ATT)) flag = false; if(flag == true){ if(INDEX < len - 1) F(INDEX + 1,item); else _ret[++_r] = item; } })(t,tmp[t]); } })(); })(i,root); } })(selector,_root); return _ret; };
	COM.prototype.D = common.getElementsBySelector;
	COM.prototype.A = function(obj){ var ret = null; common._e.each(function(index,item){ if(item == obj) ret = item; }); if(!ret){ ret = (function(element){ if(element.addEventListener) element.__addEventListener = element.addEventListener; element.addEventListener = function(type,cb){ var arg2 = (arguments.length > 2 && arguments[2] === true) ? true : false ; common.bind(element,type,cb,arg2); }; if(element.removeEventListener) element.__removeEventListener = element.removeEventListener; element.removeEventListener = function(type,cb){ var arg2 = (arguments.length > 2 && arguments[2] === true) ? true : false ; common.unbind(element,type,cb,arg2); }; element.setStyle = function(style){ common.setStyle(element,style); }; element.getSize = function(){ return {x:element.offsetWidth,y:element.offsetHeight}; }; element.setAtt = function(){ if(typeof arguments[0] == "object"){ var override = (arguments.length > 1 && arguments[1] == true) ? true : false; for(var i in arguments[0]){ if(!element.getAttribute(i) || override == true){ if(i.toUpperCase() == "CLASS") element.className = arguments[0][i]; else element.setAttribute(i,arguments[0][i]); } } } else if(arguments.length >= 2 && typeof arguments[0] == "string" && typeof arguments[1] == "string"){ var override = (arguments.length > 2 && arguments[2] == true) ? true : false; if(!element.getAttribute(arguments[0]) || override == true){ if(arguments[0].toUpperCase() == "CLASS") element.className = arguments[1]; else element.setAttribute(arguments[0],arguments[1]); } } }; element.getAtt = function(){ if(arguments.length > 0 && typeof arguments[0] == "string"){ if(arguments[0].toUpperCase() == "CLASS") return element.className; else return element.getAttribute(arguments[0]); } else{ var ret = {}; for(var i=0 , l=element.attributes.length ; i<l ; i++)(function(){ var att_name = (element.attributes[i].nodeName.toUpperCase == "CLASS" || element.attributes[i].nodeName.toUpperCase == "CLASSNAME") ? "class" : element.attributes[i].nodeName , att_value = (att_name == "class") ? element.className : element.getAttribute(att_name) ; ret[att_name] = att_value; })(i); return ret; } }; element.append = function(node){ element.appendChild(node); }; element.remove = function(node){ element.removeChild(node); }; element.before = function(node){ element.parentNode.insertBefore(node,element); }; element.after = function(node){ var strict = (arguments.length > 1 && arguments[1] == true) ? true : false , n = common.getNextElement(element); if(strict && element.nextSibling) element.parentNode.insertBefore(node,element.NextSibling); else if(n) element.parentNode.insertBefore(node,n); else element.parentNode.appendChild(node); }; element.Delete = function(){ var p = element.parentNode; if(arguments.length > 0 && arguments[0] == true){ common.clearChildNodes(element).each(function(index,cn){ p.insertBefore(cn,element); }); p.removeChild(element); } else p.removeChild(element); }; element.getElementsBySelector = function(selector){ return common.getElementsBySelector(selector,element); }; element.D = element.getElementsBySelector; element.getBeforeElement = function(){ return common.getBeforeElement(element); }; element.getNextElement = function(){ return common.getNextElement(element); }; element.getChildElements = function(){ return common.getChildElements(element); }; element.getChildElementsByTagName = function(tagname){ return common.getChildElementsByTagName(element,tagname); }; element.clearChildNodes = function(){ return common.clearChildNodes(element); }; element.E = function(selector){ return common.E(selector,element); }; element.isCE = true; return element; })(obj); common._e.push(ret); } return ret; };
	COM.prototype.E = function(){ function ComCollection(selector){ this.selector = { value : selector, type : undefined }; this.length = 0; }; ComCollection.prototype = { __additem : function(element){ this[this.length] = common.A(element); this.length++; }, each : function(){ var callback = (arguments.length > 0 && typeof arguments[0] == "function") ? arguments[0] : null; if(callback){ for(var i=0 , l=this.length ; i<l ; i++){ callback(i,this[i]); } }; }, addEventListener : function(type,callback){ var arg2 = (arguments.length > 2 && arguments[2] == true) ? true : false ; this.each(function(index,item){ item.addEventListener(type,callback,arg2); }); }, removeEventListener : function(type,callback){ var arg2 = (arguments.length > 2 && arguments[2] == true) ? true : false ; this.each(function(index,item){ item.removeEventListener(type,callback,arg2); }); } }; var selector = arguments[0] , parent = (arguments.length > 1 && arguments[1].nodeType == 1) ? arguments[1] : document , ret = null; ret = new ComCollection(selector); if(selector.nodeType == 1) ret.__additem(selector); else if(typeof selector == "object") for(var i in selector){ ret.__additem(selector[i]) } else common.getElementsBySelector(selector,parent).each(function(index,item){ ret.__additem(item); }); return ret; };
	COM.prototype.delegate = function(base,current,methodname){ current[methodname] = function(){ return base[methodname].apply(this,arguments); }; };
	COM.prototype.CompareVersion = function(ver1,ver2){ var ret = true, v1 = ver1.split("."), v2 = ver2.split("."), d1 = 0, d2 = 0, L = Math.min(v1.length,v2.length); for(var i=0 ; i<L ; i++){ if(ret != true) break; d1 = (!v1[i]) ? 0 : parseInt(v1[i]) ; d2 = (!v2[i]) ? 0 : parseInt(v2[i]) ; if(d1 > d2) ret = ver1; if(d1 < d2) ret = ver2; }; return ret; };
	COM.prototype.sprint_r = function(obj){ function tab(n){ var ret = ""; for(var i=0 ; i<n ; i++) ret += "\t"; return ret; }; var r_check = (function(){ var checked = new common.Array(); return function(obj){ var ret = true; checked.each(function(index,item){ if(obj == item) ret = false; }); if(ret == true) checked.push(obj); return ret; } })(); return (function(obj,t){ var ret = ""; for(var i in obj){ ret += tab(t) + "[" + i + "] => "; if(typeof obj[i] == "object" || typeof obj[i] == "array"){ ret += "(\n"; if(r_check(obj[i])){ ret += arguments.callee(obj[i],t+1); } else{ ret += tab(t+1) + "::: RECURSIVE :::\n"; } ret += tab(t) + ")\n"; } else ret += obj[i] + "\n"; } return ret; })(obj,0); };
	COM.prototype.print_r = function(obj){ var target = "debugger"; if(arguments.length > 1 && arguments[1] == "alert") target = "alert"; else if(arguments.length > 1 && arguments[1].nodeType == 1) target = arguments[1]; var str = common.sprint_r(obj); if(target == "debugger"){ common._debugger.write(str); } else if(target == "alert"){ alert(str); } else if(target.nodeType == 1){ var pre = document.createElement("pre"); pre.appendChild(document.createTextNode(str)); target.appendChild(pre); } };
	COM.prototype.browsercheck = function(){ function getUserAgent(){ return navigator.userAgent; }; function client(){ var str = null , UA = getUserAgent(); if(UA.toUpperCase().indexOf("MSIE") != -1){ str = "MSIE"; } else if(UA.toUpperCase().indexOf("SAFARI") != -1){ str = "Safari"; } else if(UA.toUpperCase().indexOf("FIREFOX") != -1){ str = "Firefox"; } else if(UA.toUpperCase().indexOf("NETSCAPE") != -1 || ( UA.toUpperCase().indexOf("MOZILLA/4") != -1 && UA.toUpperCase().indexOf("MSIE") == -1 )){ str = "Netscape"; } else if(UA.toUpperCase().indexOf("OPERA") != -1){ str = "Opera"; }; return str; }; function platform(){ var str = { major : null, minor : null } , UA = getUserAgent(); if(UA.toUpperCase().indexOf("WINDOWS") != -1){ str["major"] = "Windows"; if(UA.toUpperCase().indexOf("NT 6.") != -1){ str["minor"] = "Vista"; } else if(UA.toUpperCase().indexOf("NT 5.1") != -1){ str["minor"] = "XP"; } else if(UA.toUpperCase().indexOf("NT 5.0") != -1){ str["minor"] = "2000"; } else if(UA.toUpperCase().indexOf("WINDOWS 95") != -1 || UA.toUpperCase().indexOf("WIN 95") != -1){ str["minor"] = "95"; } else if(UA.toUpperCase().indexOf("WINDOWS 98") != -1 || UA.toUpperCase().indexOf("WIN 98") != -1 ){ str["minor"] = "98"; } else if(UA.toUpperCase().indexOf("WIN 9X 4.90") != -1){ str["minor"] = "ME"; } } else if(UA.toUpperCase().indexOf("MAC") != -1){ var pattern = new RegExp("MSIE ([0-9\.]+)") , match = UA.match(pattern); if(UA.toUpperCase().indexOf("MAC OS X") != -1 || (match != null && match[1] - 0 >= 5.1)){ str["major"] = "MacOSX"; } else{ str["major"] = "Mac"; } } else if(UA.toUpperCase().indexOf("X11") != -1){ str["major"] = "unix"; }; return str; }; function version(){ var str = { major : null, minor : null } , Cl = client() , Pl = platform().major , UA = getUserAgent(); if(Cl == "MSIE"){ var pattern = new RegExp("MSIE ([0-9\.]+)") , match = UA.match(pattern); if(match != null){ str["major"] = match[1].charAt(0); str["minor"] = match[1]; } } if(Cl == "Safari"){ var pattern = new RegExp("Safari/([0-9\.]+)") , match = UA.match(pattern); if(match != null){ var v = match[1] - 0; if(common.CompareVersion(v.toString(),"312.6") == true || common.CompareVersion(v.toString(),"312.6") == "312.6"){ str["major"] = 1; } else if((common.CompareVersion(v.toString(),"412") == v) && (common.CompareVersion(v.toString(),"419.3") == true || common.CompareVersion(v.toString(),"419.3") == "419.3")){ str["major"] = 2; } else if(common.CompareVersion(v.toString(),"522") == v && (common.CompareVersion(v.toString(),"525.27.1") == true || common.CompareVersion(v.toString(),"525.27.1") == "525.27.1")){ str["major"] = 3; } else if(common.CompareVersion(v.toString(),"525.27.1") == v){ str["major"] = 4; }; str["minor"] = match[1]; } } if(Cl == "Firefox"){ var pattern = new RegExp("Firefox/([0-9\.]+)") , match = UA.match(pattern); if(match != null){ str["major"] = match[1].charAt(0); str["minor"] = match[1]; } } if(Cl == "Netscape"){ var pattern = new RegExp("Netscape/([0-9\.]+)") , match = UA.match(pattern); if(match != null){ str["major"] = match[1].charAt(0); str["minor"] = match[1]; } else{ var pattern = new RegExp("Mozilla/([0-9\.]+)") , match = UA.match(pattern); if(match != null){ str["major"] = match[1].charAt(0); str["minor"] = match[1]; } } } if(Cl == "Opera"){ var pattern = new RegExp("Opera/([0-9\.]+)") , match = UA.match(pattern); if(match != null){ str["major"] = match[1].charAt(0); str["minor"] = match[1]; } } return str; }; return { plf : platform(), nav : client(), ver : version() }; }; this._browser = this.browsercheck();
	COM.prototype.isArray = function(array){ return !( !array || (!array.length || array.length == 0) || typeof array !== 'object' || !array.constructor || array.nodeType || array.item ); };
	COM.prototype.getCurrentScript = function(){ var ret = null; try{ (function(obj){ if(obj.nodeName.toLowerCase() == "script"){ ret = obj; } else{ arguments.callee(obj.lastChild); } })(document); }catch(e){ common.getElementsBySelector("script").each(function(index,item){ if(item.src.indexOf(common._scriptName) != -1){ ret = item.obj; } }); }; return ret; }; //this._currentScript = this.getCurrentScript();
	COM.prototype.getScreenInfo = function(){ function info(){ this.page   = { width : 0, height : 0 }; this.window = { width : 0, height : 0 }; this.scroll = { left : 0, top : 0 }; var style = document.body.currentStyle || document.defaultView.getComputedStyle(document.body,"") , m = parseInt(style.marginLeft) + parseInt(style.marginRight); if (window.innerHeight && window.scrollMaxY) { this.page.width  = document.body.scrollWidth + m; this.page.height = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ this.page.width  = document.body.scrollWidth; this.page.height = document.body.scrollHeight; } else { this.page.width  = document.body.offsetWidth + m; this.page.height = document.body.offsetHeight; }; if(self.innerWidth){ this.window.width  = self.innerWidth; this.window.height = self.innerHeight; } else if(document.documentElement && document.documentElement.clientWidth){ this.window.width  = document.documentElement.clientWidth; this.window.height = document.documentElement.clientHeight; } else{ this.window.width  = document.body.clientWidth; this.window.height = document.body.clientHeight; }; if(self.pageYOffset){ this.scroll.left = self.pageXOffset; this.scroll.top  = self.pageYOffset; } else if(document.documentElement && document.documentElement.scrollTop){ this.scroll.left = document.documentElement.scrollLeft; this.scroll.top  = document.documentElement.scrollTop; } else{ this.scroll.left = document.body.scrollLeft; this.scroll.top  = document.body.scrollTop; }; if(this.page.height < this.window.height){ this.page.height = this.window.height; }; }; return new info(); };
	COM.prototype.empty = function(obj){ var ret = true , opt = (arguments.length > 1 && arguments[1] === true) ? true : false ; if(!obj){ return undefined; } else if(common.isArray(obj)){ ret = (obj.length == 0); } else if(obj.nodeType == 1 && obj.childNodes.length != 0){ if(opt){ ret = false; } else{ for(var i=0 , l=obj.childNodes.length ; i<l ; i++){ if(obj.childNodes[i].nodeType == 1){ ret = false; break; } } } }; return ret; };
	COM.prototype.DeBug = function(){ function DeBugWindow(obj){ var D = this , screenInfo = common.getScreenInfo(); this.obj = obj; this.w = 0; this.h = 0; this.x = 10; this.y = 10; this.xscale = (common._debug_size && !isNaN(common._debug_size[0]) && common._debug_size[0] < screenInfo.window.width)  ? common._debug_size[0] / screenInfo.window.width  : 0.5; this.yscale = (common._debug_size && !isNaN(common._debug_size[1]) && common._debug_size[1] < screenInfo.window.height) ? common._debug_size[1] / screenInfo.window.height : 0.3; this.ResetProperty(); this.Init(); common._onresize_items.push(function(){ D.ResetProperty(); D.Init(); }); }; DeBugWindow.prototype = { ResetProperty : function(){ var screenInfo = common.getScreenInfo(); this.w = (common._debug_size && !isNaN(common._debug_size[0])) ? Math.min(common._debug_size[0],screenInfo.window.width * this.xscale)  : screenInfo.window.width * this.xscale; this.h = (common._debug_size && !isNaN(common._debug_size[1])) ? Math.min(common._debug_size[1],screenInfo.window.height * this.yscale) : screenInfo.window.height * this.yscale; this.x = 10; this.y = 10; }, Init : function(){ this.obj.style.position = "fixed"; common.setStyle(this.obj,{ width : this.w + "px", height : this.h + "px", opacity : 0.7, zIndex : 65535 }); if(common._debug_position.indexOf("top") != -1){ common.setStyle(this.obj,{ top : this.y + "px" }); }; if(common._debug_position.indexOf("bottom") != -1){ common.setStyle(this.obj,{ bottom : this.y + "px" }); }; if(common._debug_position.indexOf("left") != -1){ common.setStyle(this.obj,{ left : this.x + "px" }); }; if(common._debug_position.indexOf("right") != -1){ common.setStyle(this.obj,{ right : this.x + "px" }); }; if(!common._debug_position || common._debug_position){ common.setStyle(this.obj,{ right : this.x + "px", bottom : this.y + "px" }); }; }, write : function(str){ if(!common._debug_mode) return; this.obj.value += str + "\n"; }, clear : function(){ if(!common._debug_mode) return; this.obj.value = ""; } }; var DBW = null; if(common._debug_mode){ if(!document.getElementById("debug-window")){ DBW = document.createElement("textarea"); DBW.id = "debug-window"; document.body.appendChild(DBW); } else{ DBW = document.getElementById("debug-window"); }; common._debugger = new DeBugWindow(DBW); }; }; this._startup_items.push(this.DeBug);
	COM.prototype.puWindow = function(url,nam,wid,hei,prop){ wid = (wid <= window.screen.width)  ? wid : window.screen.width  * 0.8 ; hei = (hei <= window.screen.height) ? hei : window.screen.height * 0.8 ; var offset = 0 , w = window.screen.width , h = window.screen.height , l = (w-wid)/2 , t = ((h-hei)/2)-offset; sty = prop + ",width=" + wid + ",height=" + hei + ",left=" + l + ",top=" + t; return window.open(url,nam,sty); };
	COM.prototype.popup0 = function(url,nam,wid,hei){ return this.puWindow(url,nam,wid,hei,"status=no,scrollbars=no,resizable=no"); };
	COM.prototype.popup1 = function(url,nam,wid,hei){ return this.puWindow(url,nam,wid,hei,"status=yes,scrollbars=yes,resizable=yes"); };
	COM.prototype.getUrlInfo = function(){ function info(url){ var sect = [] , tmp1 = url.split("#") , tmp2 = tmp1[0].split("?"); sect[0] = tmp2[0]; sect[1] = tmp2[1]; sect[2] = tmp1[1]; var slashed = sect[0].split("/") , scheme_patern = /([a-z]+):/; this.scheme = (url.match(scheme_patern)) ? url.match(scheme_patern)[1] : null; this.host = (slashed[2].indexOf("@") != -1) ? slashed[2].split("@")[1] : slashed[2] ; this.userName = (slashed[2].indexOf("@") != -1) ? slashed[2].split("@")[0].split(":")[0] : null; this.passphrase = (slashed[2].indexOf("@") != -1) ? slashed[2].split("@")[0].split(":")[1] : null; var dir_str = "" , dir_arr = []; (function(){ for(var i=3 , l=slashed.length-1 ; i<l ; i++){ dir_str += "/" + slashed[i]; dir_arr.push(slashed[i]); }; dir_str += "/"; })(); this.directory = { string : dir_str, array : dir_arr, length : dir_arr.length }; this.file = slashed[slashed.length - 1].split("#")[0].split("?")[0]; if(this.file == "") this.file = null; this.path = (this.file) ? this.directory.string + this.file : this.directory.string ; this.hash = (sect[2]) ? sect[2] : null ; this.query = { string : (sect[1]) ? sect[1] : null, array : null, length : 0 } ; if(this.query.string){ this.query.array = {}; var q_tmp_1 = this.query.string.split("&"); for(var i=0 , l=q_tmp_1.length ; i<l ; i++){ var q_tmp_2 = q_tmp_1[i].split("="); this.query.array[q_tmp_2[0]] = q_tmp_2[1]; }; this.query.length = q_tmp_1.length; }; }; return new info( (arguments.length > 0) ? arguments[0] : window.location.href ); };
	COM.prototype.setStyle = function(obj,style){ if(!obj) return; for(var i in style){ if(i.indexOf("-") != -1){ i = i.replace(/\-([\w])/g,function($0,$1){ return $1.toUpperCase(); }); } if(common._browser.nav == "MSIE"){ if(i == "top"){ obj.style.posTop = parseInt(style[i]); } else if(i == "bottom" ){ obj.style.posBottom   = parseInt(style[i]); } else if(i == "left"   ){ obj.style.posLeft     = parseInt(style[i]); } else if(i == "right"  ){ obj.style.posRight    = parseInt(style[i]); } else if(i == "width"  ){ obj.style.pixelWidth  = parseInt(style[i]); } else if(i == "height" ){ obj.style.pixelHeight = parseInt(style[i]); } else if(i == "opacity"){ if(obj.parentNode){ obj.style.filter = obj.currentStyle.filter; }; var pattern = /alpha\(opacity=[^\)]+\)/ , new_alpha_str = "alpha(opacity=" + (style[i] * 100) + ")"; if(pattern.test(obj.style.filter)){ obj.style.filter = obj.style.filter.replace(pattern,new_alpha_str); } else{ obj.style.filter += "\n" + new_alpha_str; } } else{ obj.style[i] = style[i]; } } else{ obj.style[i] = style[i]; }; } };
	COM.prototype.getOffsetPosition = function(obj){ var ret = { offset : { left : 0, top  : 0 }, absolute : { left : 0, top : 0 } }; function getOffset(obj){ var ret = { left : 0, top  : 0 }; if(common._browser.nav != "MSIE"){ ret.left = obj.offsetLeft; ret.top  = obj.offsetTop; } else{ (function(obj){ var f = arguments.callee; ret.left += obj.offsetLeft; ret.top  += obj.offsetTop; try{ if(obj.offsetParent){ var op_style = obj.offsetParent.currentStyle; if(op_style.position == "static"){ f(obj.offsetParent); } } } catch(e){ /* do nothing */ } })(obj); }; return ret; }; ret.offset.left = getOffset(obj).left; ret.offset.top  = getOffset(obj).top; (function(obj){ var f = arguments.callee , o = getOffset(obj); ret.absolute.left += o.left; ret.absolute.top  += o.top; (function(obj){ var g = arguments.callee; if(obj.parentNode && obj.parentNode.nodeName != "HTML"){ var p = obj.parentNode , style = p.currentStyle || document.defaultView.getComputedStyle(p,""); if(p.nodeName == "TABLE" || p.nodeName == "TR" || p.nodeName == "TD" || p.nodeName == "TH" || p.nodeName == "CAPTION"){ if(common._browser.nav == "MSIE"){ g(p); } else if(p == obj.offsetParent){ f(p); } else{ g(p); } } else if(style.position != "static"){ f(p); } else{ g(p); } } })(obj) })(obj); return ret; };
	COM.prototype.createGetString = function(param){ var str = ""; for(var i in param){ str += (str == "") ? "" : "&" ; str += i + "=" + param[i]; }; return str; };
	COM.prototype.fade = function(obj){ function Fade(obj){ this.obj = obj; this.style = obj.currentStyle || document.defaultView.getComputedStyle(obj,''); this.alpha = 100; this.timerID = null; this.getAlpha(); }; Fade.prototype = { setAlpha : function(value){ if(common._browser.nav == "MSIE"){ this.obj.style.filter = "alpha(opacity=" + value + ")"; } else{ this.obj.style.opacity = value / 100; }; this.alpha = value; }, getAlpha : function(){ if(common._browser.nav == "MSIE"){ var tmp = this.style.filter.match(/alpha\(opacity=([0-9]+)\)/); this.alpha = (tmp) ? tmp[1] : 100; } else{ this.alpha = this.style.opacity * 100; }; }, In : function(){ var a = (arguments.length > 0) ? arguments[0] : 5 ; var callback = (arguments.length > 1) ? arguments[1] : false ; this.To(100,a,callback); }, Out : function(){ var a = (arguments.length > 0) ? arguments[0] : 5 , callback = (arguments.length > 1) ? arguments[1] : false ; this.To(0,a,callback); }, To : function(value){ var F = this , a = (arguments.length > 1) ? arguments[1] : 5 , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false , pA = this.alpha , tA = value , dA = tA - pA , Dec = common.decelerate(); Dec.Trigon(function(p){ F.setAlpha(Math.floor(pA + dA * p)); },a,callback); } }; return new Fade(obj); };
	COM.prototype.createXMLHttpRequest = function(){ var XMLhttpObject = null; try{ XMLhttpObject = new XMLHttpRequest(); } catch(e){ try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ return null; } } }; return XMLhttpObject; };
	COM.prototype.crawl = function(){ function Crawler(){ this.XHR = common.createXMLHttpRequest(); this.response = { text : null, xml : null }; }; Crawler.prototype = { Load : function(url){ var L = this , callback = (arguments.length > 1 && typeof arguments[1] == "function") ? arguments[1] : false  , errorfunc = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false ; this.XHR.open("GET",url,true); this.XHR.send(null); function DO(){ if(L.XHR.responseText && L.XHR.status == 200){ L.response.text = L.XHR.responseText; L.response.xml  = L.XHR.responseXML; if(callback) callback(L.response); } else{ if(errorfunc) errorfunc(); } } if(L.XHR.readyState == 4 && L.XHR.responseText){ DO(); } else{ L.XHR.onreadystatechange = function(){ if(L.XHR.readyState == 4 && L.XHR.responseText){ DO(); } }; } }, Post : function(url){ if(arguments.length < 2){ this.Load(url); return; }; var P = this , dat = this.CreateData(arguments[1]) , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false  , errorfunc = (arguments.length > 3 && typeof arguments[3] == "function") ? arguments[3] : false ; this.XHR.open("POST",url,true); this.XHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); this.XHR.send(dat); function DO(){ if(P.XHR.status == 200){ P.response.text = P.XHR.responseText; P.response.xml  = P.XHR.responseXML; if(callback) callback(P.response); } else{ if(errorfunc) errorfunc(); } } if(P.XHR.readyState == 4 && P.XHR.responseText){ DO(); } else{ P.XHR.onreadystatechange = function(){ if(P.XHR.readyState == 4 && P.XHR.responseText){ DO(); } }; } }, CreateData : function(dat){ var C = this;   if(dat.nodeType == 1 && dat.nodeName == "FORM"){ var ret_obj = {}; var ret_str = "";  common.getElementsBySelector("input").each(function(index,item){ if(!item.name) return;  if(item.type == "text"){ ret_obj[item.obj.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "password"){ ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "radio" && item.checked == true){ ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "hidden"){ ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "submit"){ ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "button"){ ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "image"){ ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); } else if(item.type == "checkbox" && item.checked == true){ if(ret_str != "") ret_str += "&"; ret_str += item.name + "=" + encodeURI(item.value.replace("&","&amp;")); } });  common.getElementsBySelector("select").each(function(index,item){ if(!item.name) return; ret_obj[item.name] = encodeURI(item.options[item.selectedIndex].value.replace("&","&amp;")); });  common.getElementsBySelector("textarea").each(function(index,item){ if(!item.name) return; ret_obj[item.name] = encodeURI(item.value.replace("&","&amp;")); });    if(ret_str != "") ret_str += "&"; ret_str += common.createGetString(ret_obj); return ret_str; } else{ return common.createGetString(dat); } } }; return new Crawler(); };
	COM.prototype.B = common.crawl;
	COM.prototype.scroll = function(){ function Scroll(){ this.obj = (arguments.length > 0) ? arguments[0] : window ; this.dec = common.decelerate(); this.timerID = null; }; Scroll.prototype = { To : function(){ var S = this , screenInfo = common.getScreenInfo() , pX = screenInfo.scroll.left , pY = screenInfo.scroll.top; var tX = (!arguments[0] || isNaN(arguments[0])) ? pX : arguments[0] ; if(tX > screenInfo.page.width)  tX = screenInfo.page.width; var tY = (!arguments[1] || isNaN(arguments[1])) ? pY : arguments[1] ; if(tY > screenInfo.page.height) tY = screenInfo.page.height; var dX = tX - pX , dY = tY - pY; var a = (arguments.length > 2 && !isNaN(arguments[2])) ? arguments[2] : 5 ; if(a > 1) a = 1 / a; var callback = (arguments.length > 3 && typeof arguments[3] == "function") ? arguments[3] : false ; this.dec.Stop(); this.dec.HardBrake(function(p){ var x = pX + dX * p , y = pY + dY * p; S.obj.scrollTo(x,y); },a,callback); } }; var obj = (arguments.length > 0) ? arguments[0] : window ; return new Scroll(obj); };
	COM.prototype.mailto2link = function (){ function Span(element){ var S = this; this.obj = element; this.address = null; this.Init(); }; Span.prototype = { Init : function(){ var S = this; this.address = (function(){ if(!S.obj.childNodes || S.obj.childNodes.length < 1) return null; if(S.obj.childNodes[0].nodeName == "IMG"){ return S.obj.childNodes[0].alt; } else{ return S.obj.childNodes[0].nodeValue; } })(); if(this.address){ common.bind(this.obj,"click",function(){ window.location.href = "mailto:" + S.address; }); }; } }; var span = []; common.getElementsBySelector("span." + common._mailto_className).each(function(index,item){ span.push(new Span(item)); });   }; this._startup_items.push(this.mailto2link);
	COM.prototype.decelerate = function(){ function Decelerate(){ this.available = true; this.timerID = null; }; Decelerate.prototype = { Trigon : function(){ var func = (arguments.length > 0 && typeof arguments[0] == "function") ? arguments[0] : function(arg){ common._debugger.write(arg); }  , T = (arguments.length > 1 && !isNaN(arguments[1])) ? arguments[1] : 1  , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false  , p = 0 , t = 0 , D = this; (function(){ p = Math.sin(Math.PI / 2 * (t / T)); func(p); t += 10 / 1000; if(t < T && D.available){ D.timerID = setTimeout(arguments.callee,10); } else{ func(1); if(callback) callback(); }; })(); }, Liner : function(){ var func = (arguments.length > 0 && typeof arguments[0] == "function") ? arguments[0] : function(arg){ trace(arg); }  , T = (arguments.length > 1 && !isNaN(arguments[1])) ? arguments[1] : 1  , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false  , p = 0 , t = 0 , D = this; (function(){ p = t / T; func(p); t += 10 / 1000; if(t < T && D.available){ D.timerID = setTimeout(arguments.callee,10); } else{ func(1); if(callback) callback(); }; })(); }, Physics : function(){ var func = (arguments.length > 0 && typeof arguments[0] == "function") ? arguments[0] : function(arg){ trace(arg); }  , T = (arguments.length > 1 && !isNaN(arguments[1])) ? arguments[1] : 1  , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false  , V = 2 / T  , a = 0 - V / T , p = 0 , t = 0 , D = this; (function(){ p = 0.5 * a * Math.pow(t,2) + V * t; func(p); t += 10 / 1000; if(t < T && D.available){ D.timerID = setTimeout(arguments.callee,10); } else{ func(1); if(callback) callback(); }; })(); }, HardBrake : function(){ var func = (arguments.length > 0 && typeof arguments[0] == "function") ? arguments[0] : function(arg){ trace(arg); }  , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false  , p = 0 , t = 0 , D = this , a = (arguments.length > 1 && !isNaN(arguments[1])) ? arguments[1] : 5 ; if(a > 1) a = 1 / a; (function(){ p += (1 - p) * a; if(Math.abs(1 - p) > 0.005 && D.available){ func(p); D.timerID = setTimeout(arguments.callee,10); } else{ func(1); if(callback) callback(); }; })(); }, OverShoot : function(){ var func = (arguments.length > 0 && typeof arguments[0] == "function") ? arguments[0] : function(arg){ trace(arg); }  , T = (arguments.length > 1 && !isNaN(arguments[1])) ? arguments[1] : 1  , callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false  , V = 2 / T  , a = 0 - V / T , p = 0 , t = 0 , O = 1.3 , D = this; (function(){ var s = 0.5 * a * Math.pow(t,2) + V * t; p = s + ((1 - s) * O * Math.sin(1 * Math.PI * (t / T))); func(p); t += 10 / 1000; if(t < T && D.available){ D.timerID = setTimeout(arguments.callee,10); } else{ func(1); if(callback) callback(); }; })(); }, Stop : function(){ var callback = (arguments.length > 2 && typeof arguments[2] == "function") ? arguments[2] : false ; this.available = false; clearTimeout(this.timerID); this.available = true; if(callback) callback(); } }; return new Decelerate(); };
	COM.prototype.SARI = function(element){ var SR = this , pattern = /_f[12]\./; this.obj = element;  this.f1 = document.createElement("img"); this.f2 = document.createElement("img"); this.f1.src = this.obj.src; this.f2.src = this.obj.src.replace(pattern,"_f2.");  common.bind(this.f2,"load",this.SetEvent()); common._SARI_object[this.obj.src] = this; };
	COM.prototype.SARI.prototype = { SetEvent : function(){ var SR = this;  return function(target){ if(SR.obj.className.indexOf(common._SARI_className) == -1) return; common.bind(SR.obj,"mouseover",function(){ SR.Swap() }); common.bind(SR.obj,"mouseout" ,function(){ SR.Restore() }); } }, Swap : function(){ this.obj.src = this.f2.src; }, Restore : function(){ this.obj.src = this.f1.src; } };
	COM.prototype.SARI_setup = function(){ common.getElementsBySelector((common._SARI_safemode == 0)?common._SARI_className:"img."+common._SARI_className+",input."+common._SARI_className).each(function(index,item){ new common.SARI(item); }); }; this._startup_items.push(this.SARI_setup);
	
	
	
	
	
	/* -------------------- SWFObject -------------------- */
	/*! SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
	*/
	COM.prototype.swfobject = function() {
		var UNDEF = "undefined",OBJECT = "object",SHOCKWAVE_FLASH = "Shockwave Flash",SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",FLASH_MIME_TYPE = "application/x-shockwave-flash",EXPRESS_INSTALL_ID = "SWFObjectExprInst",win = window,doc = document,nav = navigator,domLoadFnArr = [],regObjArr = [],objIdArr = [],listenersArr = [],script,timer = null,storedAltContent = null,storedAltContentId = null,isDomLoaded = false,isExpressInstallActive = false;
		var ua = function() {var w3cdom = typeof doc.getElementById != UNDEF && typeof doc.getElementsByTagName != UNDEF && typeof doc.createElement != UNDEF,playerVersion = [0,0,0],d = null;if (typeof nav.plugins != UNDEF && typeof nav.plugins[SHOCKWAVE_FLASH] == OBJECT) {d = nav.plugins[SHOCKWAVE_FLASH].description;if (d && !(typeof nav.mimeTypes != UNDEF && nav.mimeTypes[FLASH_MIME_TYPE] && !nav.mimeTypes[FLASH_MIME_TYPE].enabledPlugin)) {d = d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");playerVersion[0] = parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);playerVersion[1] = parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);playerVersion[2] = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, "$1"), 10) : 0;}}else if (typeof win.ActiveXObject != UNDEF) {var a = null, fp6Crash = false;try {a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");}catch(e) {try { a = new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");playerVersion = [6,0,21];a.AllowScriptAccess = "always";}catch(e) {if (playerVersion[0] == 6) {fp6Crash = true;}}if (!fp6Crash) {try {a = new ActiveXObject(SHOCKWAVE_FLASH_AX);}catch(e) {}}}if (!fp6Crash && a) {try {d = a.GetVariable("$version");if (d) {d = d.split(" ")[1].split(",");playerVersion = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];}}catch(e) {}}};var u = nav.userAgent.toLowerCase(),p = nav.platform.toLowerCase(),webkit = /webkit/.test(u) ? parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false,ie = false,windows = p ? /win/.test(p) : /win/.test(u),mac = p ? /mac/.test(p) : /mac/.test(u); /*@cc_on ie = true; @if (@_win32) windows = true; @elif (@_mac) mac = true; @end @*/ return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, win:windows, mac:mac };}();
		/*
		COM.js rewrite the following two lines.
		*/
		//var onDomLoad = function() {if (!ua.w3cdom) {return;};addDomLoadEvent(main);if (ua.ie && ua.win) {try {var script_tag_id = "__ie_ondomload" + (new Date()).getTime();doc.write("<scr" + "ipt id=" + script_tag_id + " defer=true src=//:></scr" + "ipt>");script = getElementById(script_tag_id);if (script) {addListener(script, "onreadystatechange", checkReadyState);};}catch(e){}};if (ua.webkit && typeof doc.readyState != UNDEF){timer = setInterval(function() { if (/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, 10);};if (typeof doc.addEventListener != UNDEF) {doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);};addLoadEvent(callDomLoadFunctions);}();
		//function checkReadyState() {if (script.readyState == "complete") {script.parentNode.removeChild(script);callDomLoadFunctions();};};
		var onDomLoad = function() { addDomLoadEvent(main); common._startup_items.push(callDomLoadFunctions); }();addLoadEvent(callDomLoadFunctions);
		
		function callDomLoadFunctions() {if (isDomLoaded) {return;};if (ua.ie && ua.win) {var s = createElement("span");try {var t = doc.getElementsByTagName("body")[0].appendChild(s);t.parentNode.removeChild(t);}catch (e) {return;};};isDomLoaded = true;if (timer) {clearInterval(timer);timer = null;};var dl = domLoadFnArr.length;for (var i = 0; i < dl; i++) {domLoadFnArr[i]();};};
		function addDomLoadEvent(fn) {if (isDomLoaded) {fn();}else {domLoadFnArr[domLoadFnArr.length] = fn;};};
		function addLoadEvent(fn) {if (typeof win.addEventListener != UNDEF) {win.addEventListener("load", fn, false);}else if (typeof doc.addEventListener != UNDEF) {doc.addEventListener("load", fn, false);}else if (typeof win.attachEvent != UNDEF) {addListener(win, "onload", fn);}else if (typeof win.onload == "function") {var fnOld = win.onload;win.onload = function() {fnOld();fn();};}else {win.onload = fn;};};
		function main() {var rl = regObjArr.length;for (var i = 0; i < rl; i++) {var id = regObjArr[i].id;if (ua.pv[0] > 0) {var obj = getElementById(id);if (obj) {regObjArr[i].width = obj.getAttribute("width") ? obj.getAttribute("width") : "0";regObjArr[i].height = obj.getAttribute("height") ? obj.getAttribute("height") : "0";if (hasPlayerVersion(regObjArr[i].swfVersion)) {if (ua.webkit && ua.webkit < 312) {fixParams(obj);};setVisibility(id, true);}else if (regObjArr[i].expressInstall && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {showExpressInstall(regObjArr[i]);}else {displayAltContent(obj);};};}else {setVisibility(id, true);};};};
		function fixParams(obj) {var nestedObj = obj.getElementsByTagName(OBJECT)[0];if (nestedObj) {var e = createElement("embed"), a = nestedObj.attributes;if (a) {var al = a.length;for (var i = 0; i < al; i++) {if (a[i].nodeName == "DATA") {e.setAttribute("src", a[i].nodeValue);}else {e.setAttribute(a[i].nodeName, a[i].nodeValue);};};};var c = nestedObj.childNodes;if (c) {var cl = c.length;for (var j = 0; j < cl; j++) {if (c[j].nodeType == 1 && c[j].nodeName == "PARAM") {e.setAttribute(c[j].getAttribute("name"), c[j].getAttribute("value"));};};};obj.parentNode.replaceChild(e, obj);};};
		function showExpressInstall(regObj) {isExpressInstallActive = true;var obj = getElementById(regObj.id);if (obj) {if (regObj.altContentId) {var ac = getElementById(regObj.altContentId);if (ac) {storedAltContent = ac;storedAltContentId = regObj.altContentId;};}else {storedAltContent = abstractAltContent(obj);};if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {regObj.width = "310";};if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) {regObj.height = "137";};doc.title = doc.title.slice(0, 47) + " - Flash Player Installation";var pt = ua.ie && ua.win ? "ActiveX" : "PlugIn",dt = doc.title,fv = "MMredirectURL=" + win.location + "&MMplayerType=" + pt + "&MMdoctitle=" + dt,replaceId = regObj.id;if (ua.ie && ua.win && obj.readyState != 4) {var newObj = createElement("div");replaceId += "SWFObjectNew";newObj.setAttribute("id", replaceId);obj.parentNode.insertBefore(newObj, obj);obj.style.display = "none";var fn = function() {obj.parentNode.removeChild(obj);};addListener(win, "onload", fn);};createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId);};};
		function displayAltContent(obj) {if (ua.ie && ua.win && obj.readyState != 4) {var el = createElement("div");obj.parentNode.insertBefore(el, obj);el.parentNode.replaceChild(abstractAltContent(obj), el);obj.style.display = "none";var fn = function() {obj.parentNode.removeChild(obj);};addListener(win, "onload", fn);}else {obj.parentNode.replaceChild(abstractAltContent(obj), obj);};};
		function abstractAltContent(obj) {var ac = createElement("div");if (ua.win && ua.ie) {ac.innerHTML = obj.innerHTML;}else {var nestedObj = obj.getElementsByTagName(OBJECT)[0];if (nestedObj) {var c = nestedObj.childNodes;if (c) {var cl = c.length;for (var i = 0; i < cl; i++) {if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {ac.appendChild(c[i].cloneNode(true));};};};};};return ac;};
		function createSWF(attObj, parObj, id) {var r, el = getElementById(id);if (el) {if (typeof attObj.id == UNDEF) {attObj.id = id;};if (ua.ie && ua.win) {var att = "";for (var i in attObj) {if (attObj[i] != Object.prototype[i]) {if (i.toLowerCase() == "data") {parObj.movie = attObj[i];}else if (i.toLowerCase() == "styleclass") {att += ' class="' + attObj[i] + '"';}else if (i.toLowerCase() != "classid") {att += ' ' + i + '="' + attObj[i] + '"';};};};var par = "";for (var j in parObj) {if (parObj[j] != Object.prototype[j]) {par += '<param name="' + j + '" value="' + parObj[j] + '" />';};};el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';objIdArr[objIdArr.length] = attObj.id;r = getElementById(attObj.id);}else if (ua.webkit && ua.webkit < 312) {var e = createElement("embed");e.setAttribute("type", FLASH_MIME_TYPE);for (var k in attObj) {if (attObj[k] != Object.prototype[k]) {if (k.toLowerCase() == "data") {e.setAttribute("src", attObj[k]);}else if (k.toLowerCase() == "styleclass") {e.setAttribute("class", attObj[k]);}else if (k.toLowerCase() != "classid") {e.setAttribute(k, attObj[k]);};};};for (var l in parObj) {if (parObj[l] != Object.prototype[l]) {if (l.toLowerCase() != "movie") {e.setAttribute(l, parObj[l]);};};};el.parentNode.replaceChild(e, el);r = e;}else {var o = createElement(OBJECT);o.setAttribute("type", FLASH_MIME_TYPE);for (var m in attObj) {if (attObj[m] != Object.prototype[m]) {if (m.toLowerCase() == "styleclass") {o.setAttribute("class", attObj[m]);}else if (m.toLowerCase() != "classid") {o.setAttribute(m, attObj[m]);};};};for (var n in parObj) {if (parObj[n] != Object.prototype[n] && n.toLowerCase() != "movie") {createObjParam(o, n, parObj[n]);};};el.parentNode.replaceChild(o, el);r = o;};};return r;};
		function createObjParam(el, pName, pValue) {var p = createElement("param");p.setAttribute("name", pName);p.setAttribute("value", pValue);el.appendChild(p);};
		function removeSWF(id) {var obj = getElementById(id);if (obj && (obj.nodeName == "OBJECT" || obj.nodeName == "EMBED")) {if (ua.ie && ua.win) {if (obj.readyState == 4) {removeObjectInIE(id);}else {win.attachEvent("onload", function() {removeObjectInIE(id);});};}else {obj.parentNode.removeChild(obj);};};};
		function removeObjectInIE(id) {var obj = getElementById(id);if (obj) {for (var i in obj) {if (typeof obj[i] == "function") {obj[i] = null;};};obj.parentNode.removeChild(obj);};};
		function getElementById(id) {var el = null;try {el = doc.getElementById(id);}catch (e) {};return el;};
		function createElement(el) {return doc.createElement(el);};
		function addListener(target, eventType, fn) {target.attachEvent(eventType, fn);listenersArr[listenersArr.length] = [target, eventType, fn];};
		function hasPlayerVersion(rv) {var pv = ua.pv, v = rv.split(".");v[0] = parseInt(v[0], 10);v[1] = parseInt(v[1], 10) || 0;v[2] = parseInt(v[2], 10) || 0;return (pv[0] > v[0] || (pv[0] == v[0] && pv[1] > v[1]) || (pv[0] == v[0] && pv[1] == v[1] && pv[2] >= v[2])) ? true : false;};
		function createCSS(sel, decl) {if (ua.ie && ua.mac) {return;};var h = doc.getElementsByTagName("head")[0], s = createElement("style");s.setAttribute("type", "text/css");s.setAttribute("media", "screen");if (!(ua.ie && ua.win) && typeof doc.createTextNode != UNDEF) {s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));};h.appendChild(s);if (ua.ie && ua.win && typeof doc.styleSheets != UNDEF && doc.styleSheets.length > 0) {var ls = doc.styleSheets[doc.styleSheets.length - 1];if (typeof ls.addRule == OBJECT) {ls.addRule(sel, decl);};};};
		function setVisibility(id, isVisible) {var v = isVisible ? "visible" : "hidden";if (isDomLoaded && getElementById(id)) {getElementById(id).style.visibility = v;}else {createCSS("#" + id, "visibility:" + v);};};
		function urlEncodeIfNecessary(s) {var regex = /[\\\"<>\.;]/;var hasBadChars = regex.exec(s) != null;return hasBadChars ? encodeURIComponent(s) : s;};
		var cleanup = function() {if (ua.ie && ua.win) {window.attachEvent("onunload", function() {var ll = listenersArr.length;for (var i = 0; i < ll; i++) {listenersArr[i][0].detachEvent(listenersArr[i][1], listenersArr[i][2]);};var il = objIdArr.length;for (var j = 0; j < il; j++) {removeSWF(objIdArr[j]);};for (var k in ua) {ua[k] = null;};ua = null;for (var l in common.swfobject) {common.swfobject[l] = null;};common.swfobject = null;});};}();
		return {
			registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {if (!ua.w3cdom || !objectIdStr || !swfVersionStr) {return;};var regObj = {};regObj.id = objectIdStr;regObj.swfVersion = swfVersionStr;regObj.expressInstall = xiSwfUrlStr ? xiSwfUrlStr : false;regObjArr[regObjArr.length] = regObj;setVisibility(objectIdStr, false);},
			getObjectById: function(objectIdStr) {var r = null;if (ua.w3cdom) {var o = getElementById(objectIdStr);if (o) {var n = o.getElementsByTagName(OBJECT)[0];if (!n || (n && typeof o.SetVariable != UNDEF)) {r = o;}else if (typeof n.SetVariable != UNDEF) {r = n;};};};return r;},
			embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || !heightStr || !swfVersionStr) {return;};widthStr += "";heightStr += "";if (hasPlayerVersion(swfVersionStr)) {setVisibility(replaceElemIdStr, false);var att = {};if (attObj && typeof attObj === OBJECT) {for (var i in attObj) {if (attObj[i] != Object.prototype[i]) {att[i] = attObj[i];};};};att.data = swfUrlStr;att.width = widthStr;att.height = heightStr;var par = {}; if (parObj && typeof parObj === OBJECT) {for (var j in parObj) {if (parObj[j] != Object.prototype[j]) {par[j] = parObj[j];};};};if (flashvarsObj && typeof flashvarsObj === OBJECT) {for (var k in flashvarsObj) {if (flashvarsObj[k] != Object.prototype[k]) {if (typeof par.flashvars != UNDEF) {par.flashvars += "&" + k + "=" + flashvarsObj[k];}else {par.flashvars = k + "=" + flashvarsObj[k];};};};};addDomLoadEvent(function() {createSWF(att, par, replaceElemIdStr);if (att.id == replaceElemIdStr) {setVisibility(replaceElemIdStr, true);};});}else if (xiSwfUrlStr && !isExpressInstallActive && hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {isExpressInstallActive = true;setVisibility(replaceElemIdStr, false);addDomLoadEvent(function() {var regObj = {};regObj.id = regObj.altContentId = replaceElemIdStr;regObj.width = widthStr;regObj.height = heightStr;regObj.expressInstall = xiSwfUrlStr;showExpressInstall(regObj);});};},
			getFlashPlayerVersion: function() {return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };},
			hasFlashPlayerVersion: hasPlayerVersion,
			createSWF: function(attObj, parObj, replaceElemIdStr) {if (ua.w3cdom) {return createSWF(attObj, parObj, replaceElemIdStr);}else {return undefined;}},
			removeSWF: function(objElemIdStr) {if (ua.w3cdom) {removeSWF(objElemIdStr);}},
			createCSS: function(sel, decl) {if (ua.w3cdom) {createCSS(sel, decl);}},
			addDomLoadEvent: addDomLoadEvent,
			addLoadEvent: addLoadEvent,
			getQueryParamValue: function(param) {var q = doc.location.search || doc.location.hash;if (param == null) {return urlEncodeIfNecessary(q);}if (q) {var pairs = q.substring(1).split("&");for (var i = 0; i < pairs.length; i++) {if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {return urlEncodeIfNecessary(pairs[i].substring((pairs[i].indexOf("=") + 1)));};};};return "";},
			expressInstallCallback: function() {if (isExpressInstallActive && storedAltContent) {var obj = getElementById(EXPRESS_INSTALL_ID);if (obj) {obj.parentNode.replaceChild(storedAltContent, obj);if (storedAltContentId) {setVisibility(storedAltContentId, true);if (ua.ie && ua.win) {storedAltContent.style.display = "block";};};storedAltContent = null;storedAltContentId = null;isExpressInstallActive = false;};};}
		};
	}();
	COM.prototype.Dom = { complete : function(){ if(common._DOM === true) return; common._DOM = true; common.Dom.onload(); }, check : function(){ if(document.addEventListener){ document.addEventListener("DOMContentLoaded", common.Dom.complete, false); } else if(navigator.userAgent.match(/webkit|safari|khtml/i)){ var timerID = setInterval(function(){ if(document.readyState.match(/loaded|complete/)){ common.Dom.complete(); clearInterval(timerID); } },10); } /*@cc_on var dammy_script_tag_id = "dammy_script_tag" + (new Date()).getTime(); document.write("<script type=\"text/javascript\" defer id=\"" + dammy_script_tag_id + "\" src=\"" + common._DCL_check_file + "\"></" + "script>"); var script = document.getElementById(dammy_script_tag_id); if(script){ script.onreadystatechange = function(){ if(script.readyState == "complete") common.Dom.complete(); } }; @*/ else{ window.onload = function(){ common.Dom.complete(); if(typeof common.__WindowOnload == "function") __WindowOnload(); } } }, onload : function(){ common._startup_items.each(function(index,func){ func(); }); } }; this.Dom.check();
	common._onresize_items.each(function(index,func){ func(); });
	common._onscroll_items.each(function(index,func){ func(); });
}

var com = new COM();



/* ---------- switch css ---------- */
if(com._browser.nav == "Firefox" && com._browser.plf.major == "MacOSX") document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/_css/MacFx.css\" media=\"screen,print\">");
if(com._browser.nav == "MSIE") document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/_css/WinIE.css\" media=\"screen,print\">");
if(com._browser.nav == "Safari") document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/_css/safari.css\" media=\"screen,print\">");
document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/_css/print.css\" media=\"print\">");









/*
common script lib. Ver.5.0.6
2009.07.12.
*/
