/* Copyright (C) 2006 ALPS Mapping K.K. */
function AlpsUtil(){};AlpsUtil.getXMLHttp=function(){var xmlhttp;if(typeof ActiveXObject != 'undefined'){try {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}}if(typeof XMLHttpRequest != 'undefined'){xmlhttp = new XMLHttpRequest();}return xmlhttp;};AlpsUtil.getXMLDOM=function(url){var xmlhttp=AlpsUtil.getXMLHttp();if (!xmlhttp) return;xmlhttp.open("GET", url, false);xmlhttp.send(null);if(xmlhttp.status==200||xmlhttp.status==304){return xmlhttp.responseXML;}};AlpsUtil.createXMLDOM=function(){var doc;if(typeof ActiveXObject != 'undefined'){doc=new ActiveXObject("Microsoft.XMLDOM");}else{doc=document.implementation.createDocument("", "", null);}if(doc.documentElement){doc.removeChild(doc.documentElement);}return doc;};AlpsUtil.getXMLDOMFromStr=function(str){try{if(typeof ActiveXObject!="undefined"&&typeof GetObject!="undefined"){var doc=new ActiveXObject("Microsoft.XMLDOM");doc.loadXML(str);return doc;}else if(typeof DOMParser!="undefined"){return (new DOMParser()).parseFromString(str,"text/xml");}else{return null;}}catch(error){return null;}};AlpsUtil.getElementContent=function(e, tagName){var n=e.getElementsByTagName(tagName)[0];if(n) return AlpsUtil.getNodeContent(n);};AlpsUtil.getNodeContent=function(n){var content=n.firstChild;if(content) return content.nodeValue;};AlpsUtil.getElementAttribute=function(e, tagName, attrName){var n=e.getElementsByTagName(tagName)[0];if(n) return n.getAttribute(attrName);};AlpsUtil.getProperties=function(e){var a=new Object;var p=e.getElementsByTagName("property");for(var i=0;i<p.length;i++){var name=p[i].getAttribute("name");var value=p[i].getAttribute("value");if(!value) value=AlpsUtil.getNodeContent(p[i]);if(name&&value){a[name]=value;}}return a;};Array.prototype.find=function(s){for(var i=0;i<this.length;i++){if(this[i]==s) return i;}return -1;};Array.prototype.clear=function(){while(this.pop());};Array.prototype.release=function(){if(_bi.type!=1)return;for(var i=0;i<this.length;++i){if(typeof(this[i])=="object"){if(typeof(this[i].release)!="undefined"){this[i].release();}}delete this[i];}};var _timeoutCounter=0;Object.prototype.setTimeout=function(timeoutHandler,elapseTime){var Ie="tempVar"+_timeoutCounter;_timeoutCounter++;eval(Ie+" = this;");var oi=timeoutHandler.replace(/\\/g,"\\\\").replace(/\"/g,'\\"');return window.setTimeout(Ie+'._setTimeoutDispatcher("'+oi+'");'+Ie+" = null;",elapseTime);};Object.prototype._setTimeoutDispatcher=function(He){eval(He);};Object.prototype.eventHandler=function(Vg){var i=this;return function(e){if(!e){e=window.event;}if(e&&!e.target){e.target=e.srcElement;}i[Vg](e);}};Object.prototype._release=function(){if(_bi.type!=1)return;for(var i in this){if(typeof(this[i])!="function"){delete this[i];}} };Object.prototype.release=function(){this._release();};function BrowserInfo(){this.type=0;this.version=0;this.os=null;var ua=navigator.userAgent.toLowerCase();if(ua.indexOf("opera")!=-1){this.type=4;if(ua.indexOf("opera/7")!=-1||ua.indexOf("opera 7")!=-1){this.version=7;}else if(ua.indexOf("opera/8")!=-1||ua.indexOf("opera 8")!=-1){this.version=8;}}else if(ua.indexOf("msie")!=-1&&document.all){this.type=1;if(ua.indexOf("msie 5")!=-1){this.version=5;}}else if(ua.indexOf("safari")!=-1){this.type=3;}else if(ua.indexOf("mozilla")!=-1){this.type=2;if(ua.indexOf("firefox")!=-1){this.subType=1;}else if(ua.indexOf("netscape")!=-1){this.subType=2;}else{this.subType=3;}}if(ua.indexOf("x11;")!=-1){this.os=1;}else if(ua.indexOf("macintosh")!=-1){this.os=2;}};var _bi=new BrowserInfo();function AlpsEvent(){};function EventObj(source,eventName,ListnerFn){this.instance=source;this.propertyName=eventName;this.listenerFn=ListnerFn};AlpsEvent.addEvent=function(source,eventName,ListnerFn){var propName=AlpsEvent.getPropertyName(eventName);if(source[propName]==null){source[propName]=new Array;}source[propName].push(ListnerFn);return new EventObj(source,eventName,ListnerFn);};AlpsEvent.removeEvent=function(eventObj){var propName=AlpsEvent.getPropertyName(eventObj.propertyName);var eventAry=eventObj.instance[propName];for(var idx=0;idx<eventAry.length;idx++){if(eventAry[idx]==eventObj.listenerFn){eventAry.splice(idx,1);return;}}};AlpsEvent.clearEvents=function(source,eventName){var propName=AlpsEvent.getPropertyName(eventName);source[propName]=null;};AlpsEvent.triggerEvent=function(source,eventName){var eventFireFlag=AlpsEvent.getEventFireFlag(eventName);if(source[eventFireFlag]){return;} source[eventFireFlag]=1;var propName=AlpsEvent.getPropertyName(eventName);var listnerFn=source[propName];if(listnerFn&&listnerFn.length>0){var arg=[];for(var i=2;i<arguments.length;++i){arg.push(arguments[i])}for(var i=0;i<listnerFn.length;++i){var fn=listnerFn[i];if(fn){try{fn.apply(source,arg);}catch(e){}}}}delete source[eventFireFlag];};AlpsEvent.isEventRunning=function(source,eventName){var eventFireFlag=AlpsEvent.getEventFireFlag(eventName);if(source[eventFireFlag]){return true;}else{return false;}};AlpsEvent.bindEvent=function(source,eventName,object,method){return AlpsEvent.addEvent(source,eventName,function(){method.apply(object,arguments)})};AlpsEvent.bindBuiltInEvent=function(obj,event,object,method){var handler=AlpsEvent.makeBinder(object,method);return AlpsEvent.addBuiltInEvent(obj,event,handler);};AlpsEvent.makeBinder=function(object,method){return function(e){if(!e){e=window.event;}if(e&&!e.target){e.target=e.srcElement;}method.call(object,e);}};AlpsEvent.getPropertyName=function(eventName){return "_aevt_"+eventName;};AlpsEvent.getEventFireFlag=function(eventName){return "_fire_"+eventName;};AlpsEvent.addBuiltInEvent=function(obj,event,handler){if(_bi.type==3&&event=="dblclick"){obj["on"+event]=handler;return;}if(obj.addEventListener){obj.addEventListener(event,handler,false);}else if(obj.attachEvent){obj.attachEvent("on"+event,handler);}else{obj["on"+event]=handler;}};AlpsEvent.removeBuiltInEvent=function(obj,event,handler){if(obj.removeEventListener){obj.removeEventListener(event,handler,false);}else if(obj.detachEvent){obj.detachEvent("on"+event,handler);}else{obj["on"+event]=null;}};
