function gotoaddr(a){ var gtf = window.open(a); } function $(el){ return document.getElementById(el)} function is_number(str){ exp=/[^0-9]/g; if(str.search(exp) != -1){ return false; } return true; } function sformat(str){ for(var i=1; idelete"; el_p.style.padding = "3px 5px"; el_p.style.cursor = "default"; if(el_p.addEventListener){ el_p.addEventListener("mouseover",hiLightMsgHnd,false); el_p.addEventListener("mouseout",normalMsgHnd,false); }else if(el_p.attachEvent){ el_p.attachEvent("onmouseover",hiLightMsg); el_p.attachEvent("onmouseout",normalMsg); } appendSysMsg(el_p); } function hiLightMsgHnd(){ hiLightMsg(this) } function normalMsgHnd(){ normalMsg(this) } function removeSysMsg(id){ $(SysMsgBox).removeChild($("sysMsg"+id)); SysMsgsLeft--; $("sysMsgsLeft").innerHTML = SysMsgsLeft; } function myDecodeURI(val){ val=val.replace(/%3F/g,'?'); val=val.replace(/%3D/g,'='); val=val.replace(/%3B/g,';'); val=val.replace(/%3A/g,':'); val=val.replace(/%2F/g,'/'); val=val.replace(/%2C/g,','); val=val.replace(/%26/g,'&'); val=val.replace(/%24/g,'$'); val=val.replace(/%23/g,'#'); val=decodeURI(val); return val; } function getStyle(el,styleProp) { if(typeof el == "string"){ var x = $(el) }else{x = el} if (x.currentStyle) var y = x.currentStyle[styleProp]; else if (window.getComputedStyle) var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp); return y; } function put_fb_name(tag){ FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("68c7f439d8d0bd1dedfb68d588bcbc4b", "xd_receiver.htm"); FB.XFBML.Host.addElement(new FB.XFBML.Name($(tag))); }); } function put_fb_profilepic(tag){ FB_RequireFeatures(["XFBML"], function(){ FB.Facebook.init("68c7f439d8d0bd1dedfb68d588bcbc4b", "xd_receiver.htm"); FB.XFBML.Host.addElement(new FB.XFBML.ProfilePic($(tag))); }); } // FB.XFBML.Element - google search on this // http://www.somethingtoputhere.com/therunaround/documentation/ConnectJsApi/T_FB.XFBML.Element.html /* Provide the XMLHttpRequest class for IE 5.x-6.x: Other browsers (including IE 7.x-8.x) ignore this when XMLHttpRequest is predefined This example is based on findings at: http://blogs.msdn.com/xmlteam/archive/2006/10/23/using-the-right-version-of-msxml-in-internet-explorer.aspx */ if (typeof XMLHttpRequest == "undefined") { var fakeXML = true; XMLHttpRequest = function () { try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e1) {} try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e2) {} try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e3) {} //Microsoft.XMLHTTP points to Msxml2.XMLHTTP.3.0 and is redundant throw new Error("This browser does not support XMLHttpRequest."); }; } function XMLHttpRequestObj() { var me = this; if(typeof fakeXML == "undefined"){ // use built-in object me.x = new XMLHttpRequest() }else{ // use fake XMLHttpRequest function me.x = XMLHttpRequest(); } } $parser = function(text){ if (window.DOMParser){ var parser=new DOMParser(); var xmlDoc=parser.parseFromString(text,"text/xml"); } else // Internet Explorer { var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(text); } return xmlDoc; } // PANELS ////////////////////////////////////////////// var panels = new Object; panels.a = new Array(); panels.register = function(name,img_el,div_el){ this.a[name] = new Array(); this.a[name].img = img_el; this.a[name].div = div_el; } panels.registerHelp = function(name,topic){ if(typeof this.a[name] != "undefined"){ this.a[name].hTopic = topic } } panels.open = function(name){ if(typeof this.a[name] != "undefined"){ openPanel(this.a[name].img,this.a[name].div) } } panels.close = function(name){ if(typeof this.a[name] != "undefined"){ closePanel(this.a[name].img,this.a[name].div) } } panels.checkForHelp = function(target){ var me = this; for(var i in me.a){ if(me.a[i].div == target){ if(typeof me.a[i].hTopic != "undefined"){ var t = me.a[i].hTopic; __api("html.autohelp","t="+t,function(r){ if(r==0){inMapHelp.show(t,true)} }) } } } } function openPanel(node,target){ $(node).src="icons/arrow-down-white.gif"; $(target).style.display = "block"; window.location.href = "#"+target; } function closePanel(node,target){ $(node).src="icons/arrow-right-white.gif"; $(target).style.display = "none"; } panels.autoLoad = function(){} function TOP(){ window.location.href = "#top" } //////////////////////////////////////////// function onclickhnd(node,target){ if(getStyle(target,'display')=='none'){ $(target).style.display = "block"; $(node).src="icons/arrow-down-white.gif"; panels.checkForHelp(target); }else{ closePanel(node,target) } } function r_mout(el){if(window.event){el = window.event.srcElement};el.src="icons/r.png"} function r_mover(el){if(window.event){el = window.event.srcElement};el.src="icons/r_active.png"} function createRefreshImg(){ var rimg_ = document.createElement('img'); rimg_.src = 'icons/r.png'; rimg_.title = 'refresh'; rimg_.alt = 'refresh'; rimg_.style.cursor='pointer'; rimg_.style.margin='0px 5px 0px 0px'; rimg_.className = 'png'; __addEventHnd(rimg_,'mouseover',r_moverHnd); __addEventHnd(rimg_,'mouseout',r_moutHnd); return rimg_; } function r_moverHnd(){ r_mover(this) } function r_moutHnd(){ r_mout(this) } function getCookie(c_name){ if (document.cookie.length>0){ c_start=document.cookie.indexOf(c_name + "="); if (c_start!=-1){ c_start=c_start + c_name.length+1; c_end=document.cookie.indexOf(";",c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return ""; } function setCookie(c_name,value,expiredays){ var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toUTCString()); } function checkCookie(){ username=getCookie('username'); if (username!=null && username!=""){ alert('Welcome again '+username+'!'); }else{ username=prompt('Please enter your name:',""); if (username!=null && username!=""){ setCookie('username',username,365); } } } // HintBox ---------------------------------------------------------------------------------------------- function meHintBox_populate(_srcObj,_trg){ // recursive DOM tree search // $(_src) is the container if(typeof _srcObj.title != "undefined"){ if(_srcObj.title != ""){ // element with title found __addEventHnd(_srcObj,"mouseover",meHintBox_show); __addEventHnd(_srcObj,"mouseout",meHintBox_hide); _srcObj.hintbox = _trg; } } for(var i in _srcObj.childNodes){ if(typeof _srcObj.childNodes[i].childNodes !="undefined"){ if( _srcObj.childNodes[i].childNodes.length > 0 ){ meHintBox_populate(_srcObj.childNodes[i],_trg) }else{ if(typeof _srcObj.childNodes[i].title != "undefined"){ if(_srcObj.childNodes[i].title != ""){ // element with title found __addEventHnd(_srcObj.childNodes[i],"mouseover",meHintBox_show); __addEventHnd(_srcObj.childNodes[i],"mouseout",meHintBox_hide); _srcObj.childNodes[i].hintbox = _trg; } } } } } } function meHintBox_show(){ if(window.event){ var me = window.event.srcElement }else{ var me = this } if(typeof me.hintbox != "undefined") { $(me.hintbox).innerHTML = me.title; $(me.hintbox).style.display = ''; } else { if(typeof me.parentNode.hintbox != "undefined") { $(me.parentNode.hintbox).innerHTML = me.parentNode.title; $(me.parentNode.hintbox).style.display = '' } } } function meHintBox_hide(){ if(window.event){ var me = window.event.srcElement }else{ var me = this } if(typeof me.hintbox != "undefined") { $(me.hintbox).style.display = 'none' } else { if(typeof me.parentNode.hintbox != "undefined") { $(me.parentNode.hintbox).style.display = 'none' } } } // HintBox end ---------------------------------------------------------------------------------------------- // DOM Utils ---------------------------------------------------------------------------------------------- function setCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if(elem != null) { if(elem.createTextRange) { var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } else { if(elem.selectionStart) { elem.focus(); elem.setSelectionRange(caretPos, caretPos); } else elem.focus(); } } } function scrollTop(){ var ScrollTop = document.body.scrollTop; if(ScrollTop == 0){ if(window.pageYOffset){ ScrollTop = window.pageYOffset } else { ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0 } } return ScrollTop; } function windowWidth(){ var windowWidth = -1; if(typeof(window.innerWidth) == 'number') { //Non-IE windowWidth = window.innerWidth; } else if(document.documentElement && (document.documentElement.clientWidth)) { //IE 6+ in 'standards compliant mode' windowWidth = document.documentElement.clientWidth; } return windowWidth; } function windowHeight(){ var windowHeight = -1; if(typeof(window.innerHeight) == 'number') { //Non-IE windowHeight = window.innerHeight; } else if(document.documentElement && (document.documentElement.clientHeight)) { //IE 6+ in 'standards compliant mode' windowHeight = document.documentElement.clientHeight; } return windowHeight; } function meCreateList(_start,_stop,_inc){ var _r = ''; for(var i = _start; i <= _stop; i += _inc ){ _r += i + ',' } _r = _r.substr(0,_r.length-1); return _r; } function meDOMSelect_clear(_sObj){ while(_sObj.options.length > 0){ _sObj.remove(0) } } function meDOMSelect_populate(_sObj,_list){ var _a = _list.split(','); for(var i in _a){ _sObj.options[_sObj.options.length] = new Option(_a[i],_a[i]) } } function meDOMDiv_disable(_b,_trg){ // recursive DOM tree search // _trg is the container if(typeof _trg.disabled != "undefined") { _trg.disabled= !_b } if(typeof _trg.style != "undefined"){ if(!_b){ _trg.oldcolor = _trg.style.color; _trg.style.color = '#aaa' }else{ _trg.style.color = _trg.oldcolor; } } for(var i in _trg.childNodes){ if(typeof _trg.childNodes[i].childNodes !="undefined"){ if( _trg.childNodes[i].childNodes.length > 0 ){ meDOMDiv_disable(_b,_trg.childNodes[i]) }else{ if(typeof _trg.childNodes[i].disabled !="undefined"){ _trg.childNodes[i].disabled=!_b } if(typeof _trg.childNodes[i].style !="undefined"){ if(!_b){ _trg.childNodes[i].oldcolor = _trg.childNodes[i].style.color; _trg.childNodes[i].style.color = '#aaa' }else{ _trg.childNodes[i].style.color = _trg.childNodes[i].oldcolor; } } } } } } function parseScripts(str,_trg){ var i; var j; var _ss = new Array(); str = parseTimeTags(str); while(str.indexOf(''); var scr_str = str.slice(i,j+8); str = str.slice(0,i) + str.slice(j+8,str.length); var src_str = ''; i = scr_str.indexOf('src='); var src_str = scr_str.slice(i,scr_str.length); i = src_str.indexOf('"'); // maybe replace all ' with ", now only "" are taken as valid string delimiters src_str = src_str.slice(i+1,src_str.length); i = src_str.indexOf('"'); src_str = src_str.slice(0,i); i = scr_str.indexOf('>'); j = scr_str.lastIndexOf('<'); scr_str = scr_str.slice(i+1,j); var _s = document.createElement('script'); _s.type = "text/javascript"; _s.text = scr_str; _s.src = src_str; _ss.push(_s); } if(typeof _trg == 'string'){ $(_trg).innerHTML = str; for(var i in _ss){ $(_trg).appendChild(_ss[i]) } }else{ _trg.innerHTML = str; for(var i in _ss){ _trg.appendChild(_ss[i]) } } } /////////////// function genCaller(_cb,_hr){ var a = new Array(); a.callback = _cb; a.hr = _hr; return a; } /////////////////////////// IMAGES CACHE PROBLEM __IC = new ImageCache(); function ImageCache(){ var me = this; me.list = new Array(); } ImageCache.prototype.reload = function(iName){ // iname = image name = src var me = this; if(typeof me.list[iName] == "undefined"){ me.list[iName] = 0 }else{ me.list[iName]++ } if(iName.indexOf('?') == -1){ var ext = "?ic="+me.list[iName] }else{ var ext = "&ic="+me.list[iName] } return iName+ext } ImageCache.prototype.get = function(iName){ var me = this; if(typeof me.list[iName] == "undefined"){ return iName }else{ if(iName.indexOf('?') == -1){ var ext = "?ic="+me.list[iName] }else{ var ext = "&ic="+me.list[iName] } return iName+ext } } // ######################################################################### // TIME function nowUTC(){ var d = new Date(); return d.getTime() + d.getTimezoneOffset()*60*1000; } function fromUNIX_UTC_toLocale_string(ut){ var d = new Date(ut*1000); d.setTime( d.getTime() - d.getTimezoneOffset()*60*1000); d.setTime( d.getTime()); return d.toLocaleString(); }; function fromUNIX_UTC_toLocale_string_short(ut){ var dnow = new Date(); var d = new Date(ut*1000); d.setTime( d.getTime() - d.getTimezoneOffset()*60*1000); var _d = d.getDate(); var _m = d.getMonth(); _m++; var _y = d.getFullYear(); if(_m < 10){ _m = "0" + _m } if(_d < 10){ _d = "0" + _d } var r = dnow.toLocaleDateString() == d.toLocaleDateString() ? d.toLocaleTimeString() : _d+"."+_m+"."+_y; return r; }; function parseUNIX_TIME(ut){ var d = new Date(ut*1000); return d.toLocaleString(); } function parseUNIX_UTC(ut){ return fromUNIX_UTC_toLocale_string(ut) } function parseUNIX_TSPAN(ut){ var days = Math.floor(ut / (60*60*24)); ut -= days*60*60*24; var hours = Math.floor(ut / (60*60)); ut -= hours*60*60; var mins = Math.floor(ut / 60); if( mins < 10 ){ mins = "0" + mins } var r = days==0 ? hours+":"+mins+"h" : days+"day(s) "+hours+":"+mins+"h"; return r; } function parseTimeTags(str){ var i; var j; var _ss = new Array(); while(str.indexOf('') != -1){ i = str.indexOf(''); j = str.indexOf(''); var scr_str = str.slice(i+9,j); str = str.slice(0,i) + parseUNIX_TIME(scr_str) + str.slice(j+10,str.length); } while(str.indexOf('') != -1){ i = str.indexOf(''); j = str.indexOf(''); var scr_str = str.slice(i+10,j); str = str.slice(0,i) + parseUNIX_TSPAN(scr_str) + str.slice(j+11,str.length); } while(str.indexOf('') != -1){ i = str.indexOf(''); j = str.indexOf(''); var scr_str = str.slice(i+8,j); str = str.slice(0,i) + parseUNIX_UTC(scr_str) + str.slice(j+9,str.length); } return str }