/**
*	Copyright (C)2009 Mapsolute GmbH
*	All rights reserved
*	Filesize: 361685 byte
*/
function Callable(obj,method,arg_defaults,arg_names){
this.__constructor=function(obj,method,arg_defaults,arg_names){
if(typeof obj=="undefined")obj=null;if((obj!=null)&&!(obj instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'obj' is no object and not null!",obj,"Callable","__constructor");if(typeof method!="function")throw new Map24.Exceptions.InvalidArgument("The given parameter 'method' is no function!",method,"Callable","__constructor");if((typeof arg_defaults=="undefined")||(arg_defaults==null))
arg_defaults=new Array();if(!(arg_defaults instanceof Array)){
if((arg_defaults instanceof Object)&&((typeof arg_names=="undefined")||(arg_names==null)))
{
arg_names=Map24.arrayKeys(arg_defaults);arg_defaults=Map24.arrayValues(arg_defaults);}else
throw new Map24.Exceptions.InvalidArgument("The given parameter 'arg_defaults' is no array and not null!",arg_defaults,"Callable","__constructor");}
if((typeof arg_names=="undefined")||(arg_names==null))
arg_names=new Array();if(!(arg_names instanceof Array))throw new Map24.Exceptions.InvalidArgument("The given parameter 'arg_names' is no array and not null!",arg_names,"Callable","__constructor");if(arg_defaults.length<arg_names.length)
for(var i=arg_defaults.length;i<arg_names.length;i++)
arg_defaults.push(null);this.Instance=obj;this.Method=method;this.ArgumentNames=arg_names;this.ArgumentDefaults=arg_defaults;}
this.invokeEx=function(args){
if((typeof args=="undefined")||(args==null))args={};if(!(args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'args' is no hashtable and not null!",args,"Callable","invoke");var argList=Map24.clone(this.ArgumentDefaults);if(args instanceof Array){
for(var i=0;i<args.length;i++){
if(i<argList.length)
argList[i]=args[i];else
argList.push(args[i]);}
}else{
var argsSet={};var argName="";for(var i=0;i<this.ArgumentNames.length;i++){
argName=this.ArgumentNames[i];if(typeof args[argName]!="undefined"){
argList[i]=args[argName];argsSet[argName]=true;}
}
for(argName in args){
if(typeof argsSet[argName]=="undefined")
argList.push(args[argName]);}
}
if(this.Instance==null)
return Map24.invokeEx(this.Method,argList);else
return Map24.invokeEx(new Array(this.Instance,this.Method),argList);}
this.invoke=function(){
var args=new Array();for(var i=0;i<arguments.length;i++)args.push(arguments[i]);return this.invokeEx(args);}
this.forkEx=function(args){
if((typeof args=="undefined")||(args==null))args={};if(!(args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'args' is no hashtable and not null!",args,"Callable","invoke");var argList=Map24.clone(this.ArgumentDefaults);if(args instanceof Array){
for(var i=0;i<args.length;i++){
if(i<argList.length)
argList[i]=args[i];else
argList.push(args[i]);}
}else{
var argsSet={};var argName="";for(var i=0;i<this.ArgumentNames.length;i++){
argName=this.ArgumentNames[i];if(typeof args[argName]!="undefined"){
argList[i]=args[argName];argsSet[argName]=true;}
}
for(argName in args){
if(typeof argsSet[argName]=="undefined")argList.push(args[argName]);}
}
if(this.Instance==null)
return Map24.forkEx(this.Method,argList);else
return Map24.forkEx(new Array(this.Instance,this.Method),argList);}
this.fork=function(){
var args=new Array();for(var i=0;i<arguments.length;i++)args.push(arguments[i]);return this.forkEx(args);}
this.__constructor(obj,method,arg_defaults,arg_names);this.setTimeoutEx=function(timeout,args){
if((typeof args=="undefined")||(args==null))args=new Array();if(!(args instanceof Array))throw new Map24.Exceptions.InvalidArgument("The given parameter 'args' is invalid, no array and not null",args,"Callable","setTimeoutEx");if(typeof timeout=="undefined")timeout=1;if(typeof timeout=="string")timeout=parseInt(timeout);if(!Map24.isNumeric(timeout)||timeout<=0)throw new Map24.Exceptions.InvalidArgument("The given timeout is invalid, no number or less then 1",timeout,"Callable","setTimeoutEx");var id=Map24.makeUniqueId();Callable._TimeoutList[id]=this;Callable._TimeoutArgs[id]=args;setTimeout("Callable._timeoutHandler(\""+id+"\")",timeout);return true;}
this.setTimeout=function(timeout){
var args=new Array();for(var i=1;i<arguments.length;i++)args.push(arguments[i]);return this.setTimeoutEx(timeout,args);}
}
Callable._TimeoutList=new Hashtable();Callable._TimeoutArgs=new Hashtable();Callable._timeoutHandler=function(item_id){
if(typeof item_id!="string")return;var callable=Callable._TimeoutList[item_id];if(callable instanceof Callable){
var callable_args=Callable._TimeoutArgs[item_id];delete Callable._TimeoutList[item_id];delete Callable._TimeoutArgs[item_id];callable.invokeEx(callable_args);}
}
function Hashtable(){}
function md5(msg)
{
var l,s,k,ka,kb,kc,kd;md5_init();for(k=0;k<msg.length;k++){
l=msg.charAt(k);md5_update(md5_ascii.lastIndexOf(l));}
md5_finish();ka=kb=kc=kd=0;for(i=0;i<4;i++)ka+=md5_shl(md5_digestBits[15-i],(i*8));for(i=4;i<8;i++)kb+=md5_shl(md5_digestBits[15-i],((i-4)*8));for(i=8;i<12;i++)kc+=md5_shl(md5_digestBits[15-i],((i-8)*8));for(i=12;i<16;i++)kd+=md5_shl(md5_digestBits[15-i],((i-12)*8));s=md5_hexa(kd)+md5_hexa(kc)+md5_hexa(kb)+md5_hexa(ka);return s;}
function md5_array(n){
for(i=0;i<n;i++)this[i]=0;this.length=n;}
function md5_integer(n){return n%(0xffffffff+1);}
function md5_shr(a,b){
a=md5_integer(a);b=md5_integer(b);if(a-0x80000000>=0){
a=a%0x80000000;a>>=b;a+=0x40000000>>(b-1);}else
a>>=b;return a;}
function md5_shl1(a){
a=a%0x80000000;if(a&0x40000000==0x40000000)
{
a-=0x40000000;a*=2;a+=0x80000000;}else
a*=2;return a;}
function md5_shl(a,b){
a=md5_integer(a);b=md5_integer(b);for(var i=0;i<b;i++)a=md5_shl1(a);return a;}
function md5_and(a,b){
a=md5_integer(a);b=md5_integer(b);var t1=(a-0x80000000);var t2=(b-0x80000000);if(t1>=0)
if(t2>=0)
return((t1&t2)+0x80000000);else
return(t1&b);else
if(t2>=0)
return(a&t2);else
return(a&b);}
function md5_or(a,b){
a=md5_integer(a);b=md5_integer(b);var t1=(a-0x80000000);var t2=(b-0x80000000);if(t1>=0)
if(t2>=0)
return((t1|t2)+0x80000000);else
return((t1|b)+0x80000000);else
if(t2>=0)
return((a|t2)+0x80000000);else
return(a|b);}
function md5_xor(a,b){
a=md5_integer(a);b=md5_integer(b);var t1=(a-0x80000000);var t2=(b-0x80000000);if(t1>=0)
if(t2>=0)
return(t1^t2);else
return((t1^b)+0x80000000);else
if(t2>=0)
return((a^t2)+0x80000000);else
return(a^b);}
function md5_not(a){
a=md5_integer(a);return(0xffffffff-a);}
var md5_state=new md5_array(4);var md5_count=new md5_array(2);md5_count[0]=0;md5_count[1]=0;var md5_buffer=new md5_array(64);var md5_transformBuffer=new md5_array(16);var md5_digestBits=new md5_array(16);var md5_S11=7;var md5_S12=12;var md5_S13=17;var md5_S14=22;var md5_S21=5;var md5_S22=9;var md5_S23=14;var md5_S24=20;var md5_S31=4;var md5_S32=11;var md5_S33=16;var md5_S34=23;var md5_S41=6;var md5_S42=10;var md5_S43=15;var md5_S44=21;function md5_F(x,y,z){
return md5_or(md5_and(x,y),md5_and(md5_not(x),z));}
function md5_G(x,y,z){
return md5_or(md5_and(x,z),md5_and(y,md5_not(z)));}
function md5_H(x,y,z){
return md5_xor(md5_xor(x,y),z);}
function md5_I(x,y,z){
return md5_xor(y,md5_or(x,md5_not(z)));}
function md5_rotateLeft(a,n){
return md5_or(md5_shl(a,n),(md5_shr(a,(32 - n))));}
function md5_FF(a,b,c,d,x,s,ac){
a=a+md5_F(b,c,d)+ x + ac;a=md5_rotateLeft(a,s);a=a+b;return a;}
function md5_GG(a,b,c,d,x,s,ac){
a=a+md5_G(b,c,d)+x + ac;a=md5_rotateLeft(a,s);a=a+b;return a;}
function md5_HH(a,b,c,d,x,s,ac){
a=a+md5_H(b,c,d)+ x + ac;a=md5_rotateLeft(a,s);a=a+b;return a;}
function md5_II(a,b,c,d,x,s,ac){
a=a+md5_I(b,c,d)+ x + ac;a=md5_rotateLeft(a,s);a=a+b;return a;}
function md5_transform(buf,offset){
var a=0,b=0,c=0,d=0;var x=md5_transformBuffer;a=md5_state[0];b=md5_state[1];c=md5_state[2];d=md5_state[3];for(i=0;i<16;i++){
x[i]=md5_and(buf[i*4+offset],0xff);for(j=1;j<4;j++){
x[i]+=md5_shl(md5_and(buf[i*4+j+offset],0xff),j * 8);}
}
a=md5_FF(a,b,c,d,x[ 0],md5_S11,0xd76aa478);d=md5_FF(d,a,b,c,x[ 1],md5_S12,0xe8c7b756);c=md5_FF(c,d,a,b,x[ 2],md5_S13,0x242070db);b=md5_FF(b,c,d,a,x[ 3],md5_S14,0xc1bdceee);a=md5_FF(a,b,c,d,x[ 4],md5_S11,0xf57c0faf);d=md5_FF(d,a,b,c,x[ 5],md5_S12,0x4787c62a);c=md5_FF(c,d,a,b,x[ 6],md5_S13,0xa8304613);b=md5_FF(b,c,d,a,x[ 7],md5_S14,0xfd469501);a=md5_FF(a,b,c,d,x[ 8],md5_S11,0x698098d8);d=md5_FF(d,a,b,c,x[ 9],md5_S12,0x8b44f7af);c=md5_FF(c,d,a,b,x[10],md5_S13,0xffff5bb1);b=md5_FF(b,c,d,a,x[11],md5_S14,0x895cd7be);a=md5_FF(a,b,c,d,x[12],md5_S11,0x6b901122);d=md5_FF(d,a,b,c,x[13],md5_S12,0xfd987193);c=md5_FF(c,d,a,b,x[14],md5_S13,0xa679438e);b=md5_FF(b,c,d,a,x[15],md5_S14,0x49b40821);a=md5_GG(a,b,c,d,x[ 1],md5_S21,0xf61e2562);d=md5_GG(d,a,b,c,x[ 6],md5_S22,0xc040b340);c=md5_GG(c,d,a,b,x[11],md5_S23,0x265e5a51);b=md5_GG(b,c,d,a,x[ 0],md5_S24,0xe9b6c7aa);a=md5_GG(a,b,c,d,x[ 5],md5_S21,0xd62f105d);d=md5_GG(d,a,b,c,x[10],md5_S22,0x2441453);c=md5_GG(c,d,a,b,x[15],md5_S23,0xd8a1e681);b=md5_GG(b,c,d,a,x[ 4],md5_S24,0xe7d3fbc8);a=md5_GG(a,b,c,d,x[ 9],md5_S21,0x21e1cde6);d=md5_GG(d,a,b,c,x[14],md5_S22,0xc33707d6);c=md5_GG(c,d,a,b,x[ 3],md5_S23,0xf4d50d87);b=md5_GG(b,c,d,a,x[ 8],md5_S24,0x455a14ed);a=md5_GG(a,b,c,d,x[13],md5_S21,0xa9e3e905);d=md5_GG(d,a,b,c,x[ 2],md5_S22,0xfcefa3f8);c=md5_GG(c,d,a,b,x[ 7],md5_S23,0x676f02d9);b=md5_GG(b,c,d,a,x[12],md5_S24,0x8d2a4c8a);a=md5_HH(a,b,c,d,x[ 5],md5_S31,0xfffa3942);d=md5_HH(d,a,b,c,x[ 8],md5_S32,0x8771f681);c=md5_HH(c,d,a,b,x[11],md5_S33,0x6d9d6122);b=md5_HH(b,c,d,a,x[14],md5_S34,0xfde5380c);a=md5_HH(a,b,c,d,x[ 1],md5_S31,0xa4beea44);d=md5_HH(d,a,b,c,x[ 4],md5_S32,0x4bdecfa9);c=md5_HH(c,d,a,b,x[ 7],md5_S33,0xf6bb4b60);b=md5_HH(b,c,d,a,x[10],md5_S34,0xbebfbc70);a=md5_HH(a,b,c,d,x[13],md5_S31,0x289b7ec6);d=md5_HH(d,a,b,c,x[ 0],md5_S32,0xeaa127fa);c=md5_HH(c,d,a,b,x[ 3],md5_S33,0xd4ef3085);b=md5_HH(b,c,d,a,x[ 6],md5_S34,0x4881d05);a=md5_HH(a,b,c,d,x[ 9],md5_S31,0xd9d4d039);d=md5_HH(d,a,b,c,x[12],md5_S32,0xe6db99e5);c=md5_HH(c,d,a,b,x[15],md5_S33,0x1fa27cf8);b=md5_HH(b,c,d,a,x[ 2],md5_S34,0xc4ac5665);a=md5_II(a,b,c,d,x[ 0],md5_S41,0xf4292244);d=md5_II(d,a,b,c,x[ 7],md5_S42,0x432aff97);c=md5_II(c,d,a,b,x[14],md5_S43,0xab9423a7);b=md5_II(b,c,d,a,x[ 5],md5_S44,0xfc93a039);a=md5_II(a,b,c,d,x[12],md5_S41,0x655b59c3);d=md5_II(d,a,b,c,x[ 3],md5_S42,0x8f0ccc92);c=md5_II(c,d,a,b,x[10],md5_S43,0xffeff47d);b=md5_II(b,c,d,a,x[ 1],md5_S44,0x85845dd1);a=md5_II(a,b,c,d,x[ 8],md5_S41,0x6fa87e4f);d=md5_II(d,a,b,c,x[15],md5_S42,0xfe2ce6e0);c=md5_II(c,d,a,b,x[ 6],md5_S43,0xa3014314);b=md5_II(b,c,d,a,x[13],md5_S44,0x4e0811a1);a=md5_II(a,b,c,d,x[ 4],md5_S41,0xf7537e82);d=md5_II(d,a,b,c,x[11],md5_S42,0xbd3af235);c=md5_II(c,d,a,b,x[ 2],md5_S43,0x2ad7d2bb);b=md5_II(b,c,d,a,x[ 9],md5_S44,0xeb86d391);md5_state[0] +=a;md5_state[1] +=b;md5_state[2] +=c;md5_state[3] +=d;}
function md5_init(){
md5_count[0]=md5_count[1]=0;md5_state[0]=0x67452301;md5_state[1]=0xefcdab89;md5_state[2]=0x98badcfe;md5_state[3]=0x10325476;for(i=0;i<md5_digestBits.length;i++)
md5_digestBits[i]=0;}
function md5_update(b){
var index,i;index=md5_and(md5_shr(md5_count[0],3),0x3f);if(md5_count[0]<0xffffffff-7)
md5_count[0] +=8;else{
md5_count[1]++;md5_count[0]-=0xffffffff+1;md5_count[0]+=8;}
md5_buffer[index]=md5_and(b,0xff);if(index>=63){
md5_transform(md5_buffer,0);}
}
function md5_finish(){
var bits=new md5_array(8);var padding;var i=0,index=0,padLen=0;for(i=0;i<4;i++){
bits[i]=md5_and(md5_shr(md5_count[0],(i * 8)),0xff);}
for(i=0;i<4;i++){
bits[i+4]=md5_and(md5_shr(md5_count[1],(i * 8)),0xff);}
index=md5_and(md5_shr(md5_count[0],3),0x3f);padLen=(index<56)?(56 - index):(120 - index);padding=new md5_array(64);padding[0]=0x80;for(i=0;i<padLen;i++)
md5_update(padding[i]);for(i=0;i<8;i++)
md5_update(bits[i]);for(i=0;i<4;i++){
for(j=0;j<4;j++){
md5_digestBits[i*4+j]=md5_and(md5_shr(md5_state[i],(j * 8)),0xff);}
}
}
function md5_hexa(n){
var hexa_h="0123456789abcdef";var hexa_c="";var hexa_m=n;for(hexa_i=0;hexa_i<8;hexa_i++){
hexa_c=hexa_h.charAt(Math.abs(hexa_m)%16)+hexa_c;hexa_m=Math.floor(hexa_m/16);}
return hexa_c;}
var md5_ascii="01234567890123456789012345678901" +
" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"+
"[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";function Map24(){}
Map24.onUserAction=null;Map24.AllowAPIUsageOnArbitraryUrl=false;Map24.VERSION="1.2.11.2827";Map24.CAPTURE_CLICK=false;Map24.DOCTYPE="QuirksMode";if((typeof document.compatMode=="undefined")||(document.compatMode==null)){
Map24.DOCTYPE="QuirksMode";}else
if((document.compatMode=="BackCompat")||(document.compatMode=="QuirksMode")){
Map24.DOCTYPE="QuirksMode";}else
{
Map24.DOCTYPE="CSS1Compat";}
Map24._Initialized=false;Map24._Mutex=0;Map24.Ready=false;Map24._Compress=false;Map24._HtmlEntitiesToCharacter=new Hashtable();Map24._HtmlEntitiesToCharacter["&nbsp;"]=" ";Map24._HtmlEntitiesToCharacter["&iexcl;"]="??";Map24._HtmlEntitiesToCharacter["&cent;"]="??";Map24._HtmlEntitiesToCharacter["&pound;"]="??";Map24._HtmlEntitiesToCharacter["&curren;"]="??";Map24._HtmlEntitiesToCharacter["&yen;"]="??";Map24._HtmlEntitiesToCharacter["&brvbar;"]="??";Map24._HtmlEntitiesToCharacter["&sect;"]="??";Map24._HtmlEntitiesToCharacter["&uml;"]="??";Map24._HtmlEntitiesToCharacter["&copy;"]="??";Map24._HtmlEntitiesToCharacter["&ordf;"]="??";Map24._HtmlEntitiesToCharacter["&laquo;"]="??";Map24._HtmlEntitiesToCharacter["&not;"]="??";Map24._HtmlEntitiesToCharacter["&shy;"]="??";Map24._HtmlEntitiesToCharacter["&reg;"]="??";Map24._HtmlEntitiesToCharacter["&macr;"]="??";Map24._HtmlEntitiesToCharacter["&deg;"]="??";Map24._HtmlEntitiesToCharacter["&plusmn;"]="??";Map24._HtmlEntitiesToCharacter["&sup2;"]="??";Map24._HtmlEntitiesToCharacter["&sup3;"]="??";Map24._HtmlEntitiesToCharacter["&acute;"]="??";Map24._HtmlEntitiesToCharacter["&micro;"]="??";Map24._HtmlEntitiesToCharacter["&para;"]="??";Map24._HtmlEntitiesToCharacter["&middot;"]="??";Map24._HtmlEntitiesToCharacter["&cedil;"]="??";Map24._HtmlEntitiesToCharacter["&sup1;"]="??";Map24._HtmlEntitiesToCharacter["&ordm;"]="??";Map24._HtmlEntitiesToCharacter["&raquo;"]="??";Map24._HtmlEntitiesToCharacter["&frac14;"]="??";Map24._HtmlEntitiesToCharacter["&frac12;"]="??";Map24._HtmlEntitiesToCharacter["&frac34;"]="??";Map24._HtmlEntitiesToCharacter["&iquest;"]="??";Map24._HtmlEntitiesToCharacter["&Agrave;"]="??";Map24._HtmlEntitiesToCharacter["&Aacute;"]="??";Map24._HtmlEntitiesToCharacter["&Acirc;"]="??";Map24._HtmlEntitiesToCharacter["&Atilde;"]="??";Map24._HtmlEntitiesToCharacter["&Auml;"]="??";Map24._HtmlEntitiesToCharacter["&Aring;"]="??";Map24._HtmlEntitiesToCharacter["&AElig;"]="??";Map24._HtmlEntitiesToCharacter["&Ccedil;"]="??";Map24._HtmlEntitiesToCharacter["&Egrave;"]="??";Map24._HtmlEntitiesToCharacter["&Eacute;"]="??";Map24._HtmlEntitiesToCharacter["&Ecirc;"]="??";Map24._HtmlEntitiesToCharacter["&Euml;"]="??";Map24._HtmlEntitiesToCharacter["&Igrave;"]="??";Map24._HtmlEntitiesToCharacter["&Iacute;"]="??";Map24._HtmlEntitiesToCharacter["&Icirc;"]="??";Map24._HtmlEntitiesToCharacter["&Iuml;"]="??";Map24._HtmlEntitiesToCharacter["&ETH;"]="??";Map24._HtmlEntitiesToCharacter["&Ntilde;"]="??";Map24._HtmlEntitiesToCharacter["&Ograve;"]="??";Map24._HtmlEntitiesToCharacter["&Oacute;"]="??";Map24._HtmlEntitiesToCharacter["&Ocirc;"]="??";Map24._HtmlEntitiesToCharacter["&Otilde;"]="??";Map24._HtmlEntitiesToCharacter["&Ouml;"]="??";Map24._HtmlEntitiesToCharacter["&times;"]="??";Map24._HtmlEntitiesToCharacter["&Oslash;"]="??";Map24._HtmlEntitiesToCharacter["&Ugrave;"]="??";Map24._HtmlEntitiesToCharacter["&Uacute;"]="??";Map24._HtmlEntitiesToCharacter["&Ucirc;"]="??";Map24._HtmlEntitiesToCharacter["&Uuml;"]="??";Map24._HtmlEntitiesToCharacter["&Yacute;"]="??";Map24._HtmlEntitiesToCharacter["&THORN;"]="??";Map24._HtmlEntitiesToCharacter["&szlig;"]="??";Map24._HtmlEntitiesToCharacter["&agrave;"]="??";Map24._HtmlEntitiesToCharacter["&aacute;"]="??";Map24._HtmlEntitiesToCharacter["&acirc;"]="??";Map24._HtmlEntitiesToCharacter["&atilde;"]="??";Map24._HtmlEntitiesToCharacter["&auml;"]="??";Map24._HtmlEntitiesToCharacter["&aring;"]="??";Map24._HtmlEntitiesToCharacter["&aelig;"]="??";Map24._HtmlEntitiesToCharacter["&ccedil;"]="??";Map24._HtmlEntitiesToCharacter["&egrave;"]="??";Map24._HtmlEntitiesToCharacter["&eacute;"]="??";Map24._HtmlEntitiesToCharacter["&ecirc;"]="??";Map24._HtmlEntitiesToCharacter["&euml;"]="??";Map24._HtmlEntitiesToCharacter["&igrave;"]="??";Map24._HtmlEntitiesToCharacter["&iacute;"]="??";Map24._HtmlEntitiesToCharacter["&icirc;"]="??";Map24._HtmlEntitiesToCharacter["&iuml;"]="??";Map24._HtmlEntitiesToCharacter["&eth;"]="??";Map24._HtmlEntitiesToCharacter["&ntilde;"]="??";Map24._HtmlEntitiesToCharacter["&ograve;"]="??";Map24._HtmlEntitiesToCharacter["&oacute;"]="??";Map24._HtmlEntitiesToCharacter["&ocirc;"]="??";Map24._HtmlEntitiesToCharacter["&otilde;"]="??";Map24._HtmlEntitiesToCharacter["&ouml;"]="??";Map24._HtmlEntitiesToCharacter["&divide;"]="??";Map24._HtmlEntitiesToCharacter["&oslash;"]="??";Map24._HtmlEntitiesToCharacter["&ugrave;"]="??";Map24._HtmlEntitiesToCharacter["&uacute;"]="??";Map24._HtmlEntitiesToCharacter["&ucirc;"]="??";Map24._HtmlEntitiesToCharacter["&uuml;"]="??";Map24._HtmlEntitiesToCharacter["&yacute;"]="??";Map24._HtmlEntitiesToCharacter["&thorn;"]="??";Map24._HtmlEntitiesToCharacter["&yuml;"]="??";Map24._HtmlEntitiesToCharacter["&quot;"]="\"";Map24._HtmlEntitiesToCharacter["&lt;"]="<";Map24._HtmlEntitiesToCharacter["&gt;"]=">";Map24._HtmlEntitiesToCharacter["&amp;"]="&";Map24._CharacterToHtmlEntities=new Hashtable();Map24._CharacterToHtmlEntities[" "]="&nbsp;";Map24._CharacterToHtmlEntities["??"]="&iexcl;";Map24._CharacterToHtmlEntities["??"]="&cent;";Map24._CharacterToHtmlEntities["??"]="&pound;";Map24._CharacterToHtmlEntities["??"]="&curren;";Map24._CharacterToHtmlEntities["??"]="&yen;";Map24._CharacterToHtmlEntities["??"]="&brvbar;";Map24._CharacterToHtmlEntities["??"]="&sect;";Map24._CharacterToHtmlEntities["??"]="&uml;";Map24._CharacterToHtmlEntities["??"]="&copy;";Map24._CharacterToHtmlEntities["??"]="&ordf;";Map24._CharacterToHtmlEntities["??"]="&laquo;";Map24._CharacterToHtmlEntities["??"]="&not;";Map24._CharacterToHtmlEntities["??"]="&shy;";Map24._CharacterToHtmlEntities["??"]="&reg;";Map24._CharacterToHtmlEntities["??"]="&macr;";Map24._CharacterToHtmlEntities["??"]="&deg;";Map24._CharacterToHtmlEntities["??"]="&plusmn;";Map24._CharacterToHtmlEntities["??"]="&sup2;";Map24._CharacterToHtmlEntities["??"]="&sup3;";Map24._CharacterToHtmlEntities["??"]="&acute;";Map24._CharacterToHtmlEntities["??"]="&micro;";Map24._CharacterToHtmlEntities["??"]="&para;";Map24._CharacterToHtmlEntities["??"]="&middot;";Map24._CharacterToHtmlEntities["??"]="&cedil;";Map24._CharacterToHtmlEntities["??"]="&sup1;";Map24._CharacterToHtmlEntities["??"]="&ordm;";Map24._CharacterToHtmlEntities["??"]="&raquo;";Map24._CharacterToHtmlEntities["??"]="&frac14;";Map24._CharacterToHtmlEntities["??"]="&frac12;";Map24._CharacterToHtmlEntities["??"]="&frac34;";Map24._CharacterToHtmlEntities["??"]="&iquest;";Map24._CharacterToHtmlEntities['??']="&Agrave;";Map24._CharacterToHtmlEntities["??"]="&Aacute;";Map24._CharacterToHtmlEntities["??"]="&Acirc;";Map24._CharacterToHtmlEntities["??"]="&Atilde;";Map24._CharacterToHtmlEntities["??"]="&Auml;";Map24._CharacterToHtmlEntities["??"]="&Aring;";Map24._CharacterToHtmlEntities["??"]="&AElig;";Map24._CharacterToHtmlEntities["??"]="&Ccedil;";Map24._CharacterToHtmlEntities["??"]="&Egrave;";Map24._CharacterToHtmlEntities["??"]="&Eacute;";Map24._CharacterToHtmlEntities["??"]="&Ecirc;";Map24._CharacterToHtmlEntities["??"]="&Euml;";Map24._CharacterToHtmlEntities["??"]="&Igrave;";Map24._CharacterToHtmlEntities["??"]="&Iacute;";Map24._CharacterToHtmlEntities["??"]="&Icirc;";Map24._CharacterToHtmlEntities["??"]="&Iuml;";Map24._CharacterToHtmlEntities["??"]="&ETH;";Map24._CharacterToHtmlEntities["??"]="&Ntilde;";Map24._CharacterToHtmlEntities["??"]="&Ograve;";Map24._CharacterToHtmlEntities["??"]="&Oacute;";Map24._CharacterToHtmlEntities["??"]="&Ocirc;";Map24._CharacterToHtmlEntities["??"]="&Otilde;";Map24._CharacterToHtmlEntities["??"]="&Ouml;";Map24._CharacterToHtmlEntities["??"]="&times;";Map24._CharacterToHtmlEntities["??"]="&Oslash;";Map24._CharacterToHtmlEntities["??"]="&Ugrave;";Map24._CharacterToHtmlEntities["??"]="&Uacute;";Map24._CharacterToHtmlEntities["??"]="&Ucirc;";Map24._CharacterToHtmlEntities["??"]="&Uuml;";Map24._CharacterToHtmlEntities["??"]="&Yacute;";Map24._CharacterToHtmlEntities["??"]="&THORN;";Map24._CharacterToHtmlEntities["??"]="&szlig;";Map24._CharacterToHtmlEntities["??"]="&agrave;";Map24._CharacterToHtmlEntities["??"]="&aacute;";Map24._CharacterToHtmlEntities["??"]="&acirc;";Map24._CharacterToHtmlEntities["??"]="&atilde;";Map24._CharacterToHtmlEntities["??"]="&auml;";Map24._CharacterToHtmlEntities["??"]="&aring;";Map24._CharacterToHtmlEntities["??"]="&aelig;";Map24._CharacterToHtmlEntities["??"]="&ccedil;";Map24._CharacterToHtmlEntities["??"]="&egrave;";Map24._CharacterToHtmlEntities["??"]="&eacute;";Map24._CharacterToHtmlEntities["??"]="&ecirc;";Map24._CharacterToHtmlEntities["??"]="&euml;";Map24._CharacterToHtmlEntities["??"]="&igrave;";Map24._CharacterToHtmlEntities["??"]="&iacute;";Map24._CharacterToHtmlEntities["??"]="&icirc;";Map24._CharacterToHtmlEntities["??"]="&iuml;";Map24._CharacterToHtmlEntities["??"]="&eth;";Map24._CharacterToHtmlEntities["??"]="&ntilde;";Map24._CharacterToHtmlEntities["??"]="&ograve;";Map24._CharacterToHtmlEntities["??"]="&oacute;";Map24._CharacterToHtmlEntities["??"]="&ocirc;";Map24._CharacterToHtmlEntities["??"]="&otilde;";Map24._CharacterToHtmlEntities["??"]="&ouml;";Map24._CharacterToHtmlEntities["??"]="&divide;";Map24._CharacterToHtmlEntities["??"]="&oslash;";Map24._CharacterToHtmlEntities["??"]="&ugrave;";Map24._CharacterToHtmlEntities["??"]="&uacute;";Map24._CharacterToHtmlEntities["??"]="&ucirc;";Map24._CharacterToHtmlEntities["??"]="&uuml;";Map24._CharacterToHtmlEntities["??"]="&yacute;";Map24._CharacterToHtmlEntities["??"]="&thorn;";Map24._CharacterToHtmlEntities["??"]="&yuml;";Map24._CharacterToHtmlEntities["\""]="&quot;";Map24._CharacterToHtmlEntities["<"]="&lt;";Map24._CharacterToHtmlEntities[">"]="&gt;";Map24._CharacterToHtmlEntities["&"]="&amp;";Map24._ClassesShared={
"Map24.Object":true,"Map24.Map":true
};Map24._ClassesSharedURL=new Hashtable();Map24._ScriptsShared=new Hashtable();Map24._ScriptsSharedURL=new Hashtable();Map24._WaitFor=new Array();Map24.waitFor=function(className,scriptName,listener){
var waitObject={};if(!(listener instanceof Callable))throw new Map24.Exceptions.InvalidArgument("Invalid argument 'listener' given, no instance of Callable!",listener,"Map24","waitFor");waitObject.Listener=listener;if(typeof className=="string")className=new Array(className);if(className==null)className=new Array();if(!(className instanceof Array))throw new Map24.Exceptions.InvalidArgument("Invalid argument 'className' given, no string or array and not null!",className,"Map24","waitFor");waitObject.Classes=className;if(typeof scriptName=="string")scriptName=new Array(scriptName);if(scriptName==null)scriptName=new Array();if(!(scriptName instanceof Array))throw new Map24.Exceptions.InvalidArgument("Invalid argument 'scriptName' given, no string or array and not null!",scriptName,"Map24","waitFor");waitObject.Scripts=scriptName;Map24._WaitFor.push(waitObject);Map24._triggerListener();}
Map24._triggerListener=function(){
while(Map24._Mutex>0){};Map24._Mutex++;var newWaitFor=new Array();var trigger=new Array();var currentWaitFor=null;for(var i=0;i<Map24._WaitFor.length;i++){
currentWaitFor=Map24._WaitFor[i];var allClassesReady=true;for(var j=0;j<currentWaitFor.Classes.length;j++){
if(typeof Map24._ClassesShared[currentWaitFor.Classes[j]]!="boolean"||Map24._ClassesShared[currentWaitFor.Classes[j]]==false)
{
allClassesReady=false;break;}
}
if(!allClassesReady){
newWaitFor.push(currentWaitFor);continue;}
var allScriptsReady=true;for(var j=0;j<currentWaitFor.Scripts.length;j++){
if(typeof Map24._ScriptsShared[currentWaitFor.Scripts[j]]!="boolean"||Map24._ScriptsShared[currentWaitFor.Scripts[j]]==false)
{
allScriptsReady=false;break;}
}
if(!allScriptsReady){
newWaitFor.push(currentWaitFor);continue;}
trigger.push(currentWaitFor);}
Map24._Mutex--;var result=null;for(var i=0;i<trigger.length;i++){
try{
var e=new Map24.Event.ShareReady(trigger[i].Classes,trigger[i].Scripts);trigger[i].Listener.invokeEx({event:e});}catch(e){
Map24.dump(e,null,2);}
}
}
Map24.Arguments=new Hashtable();Map24.findScriptByName=function(name)
{
var url="";var test=document.getElementsByTagName("script");for(var i=0;i<test.length;i++){
try{
var src=test[i].getAttribute("src");if(src)
if(src.indexOf(name)!=-1){
if(src.substr(0,7)=="http://"){
url=src;}else{
url=document.URL.substr(0,document.URL.lastIndexOf("/"))+ "/" + src;}
return url;}
}catch(e){
}
}
return url;}
Map24.splitUrl=function(url)
{
var result=new Array();var tmp=url.split("?",2);result.push(tmp[0]);var url_args={};if(tmp.length>1){
var args=tmp[1].split("&");var arg=null;for(var i=0;i<args.length;i++){
arg=args[i].split("=",2);if(arg.length==1){
url_args[arg[0]]=null;}else
if(arg.length==2){
url_args[arg[0]]=arg[1];}
arg=null;}
}
result.push(url_args);return result;}
Map24.dirname=function(url)
{
if(typeof url!="string")return "";var lastIndex=url.lastIndexOf("/");if(lastIndex==-1)return url+"/";return url.substr(0,lastIndex+1);}
Map24.htmlentities=function(string){
var result="";var entity=null;for(i=0;i<string.length;i++){
entity=Map24._CharacterToHtmlEntities[ string.charAt(i)];if(entity!=null)
result +=entity;else
result +=string.charAt(i);}
return result;}
Map24.html_entity_decode=function(string){
var result="";var entity="";for(i=0;i<string.length;i++){
if(string.charAt(i)=="&"){
entity +=string.charAt(i);}else
if(entity.length==0){
result +=string.charAt(i);}else
if(string.charAt(i)==";"){
entity +=';';var translated=Map24._HtmlEntitiesToCharacter[ entity ];if(translated!=null)
result +=translated;else
result +=entity;entity="";}else
entity +=string.charAt(i);}
if(entity.length>0)result+=entity;return result;}
Map24.isApplicationKey=function(key)
{
if(typeof key!="string")return false;if(key.length!=35)return false;if(key.substring(1,3)!="JX")return false;return true;}
Map24._include=function(url){
var script=document.createElement('script');script.defer=true;script.src=url;script.type="text/javascript";script.charset="utf-8";var opera=false;try{
document.getElementsByTagName('HEAD')[0].appendChild(script);}catch(e){
opera=true;}
if(opera){
document.appendChild(script);}
}
Map24._declude=function(url){
var head_array=document.getElementsByTagName('head');var scripts=null;if((head_array instanceof Array)&&(head_array.length==1)){
scripts=head_array[0].childNodes;}else
scripts=document.getElementsByTagName('script');var script=null;if(scripts instanceof Array)
for(var i=0;i<scripts.length;i++){
try{
script=scripts[i];if(script.src==url){
try{
scripts.parentNode.removeChild(script);}catch(e){
e.METHOD="Map24._declude";e.Msg=["Failed to remove script with URL '",url,"'"].join("");Map24.e(e);}
break;}
}catch(e){
e.METHOD="Map24._declude";e.Msg="Unexpected exception while iterating though embedded scripts!";Map24.e(e);}
}
}
Map24.shares=function(name,listener){
if((typeof name!="string")||(name.length<=0))throw new Map24.Exceptions.InvalidArgument("The given classname is no string or an empty string!",name,"Map24","shares");if(typeof Map24._ClassesShared[name]!="boolean"){
Map24._ClassesShared[name]=false;Map24._ClassesSharedURL[name]=Map24.CONST["HTTP_ROOT"]+"?file="+Map24.urlencode(name.replace(new RegExp("[.]","g"),"/")+".js")+"&version="+Map24.VERSION+(Map24._Compress?"":"&viewsource");Map24.Ready=false;if(Map24._Initialized)Map24._include(Map24._ClassesSharedURL[name]);}
if(listener instanceof Callable)Map24.waitFor(name,null,listener);}
Map24.sharesByURL=function(url,listener){
if((typeof url!="string")||(url.length<=0))throw new Map24.Exceptions.InvalidArgument("The given URL is no string or an empty string!",url,"Map24","sharesByURL");if(typeof Map24._ClassesShared[url]!="boolean")
{
if(url.indexOf("http://")<0){
var baseURL=Map24.splitUrl(document.URL);url=Map24.dirname(baseURL[0])+ url;}
var name=Map24.splitUrl(url)[0];Map24._ClassesShared[name]=false;Map24._ClassesSharedURL[name]=url;Map24.Ready=false;if(Map24._Initialized)Map24._include(Map24._ClassesSharesURL[name]);}
if(listener instanceof Callable)Map24.waitFor(name,null,listener);}
Map24.sharesScript=function(url,listener){
if((typeof url!="string")||(url.length<=0))throw new Map24.Exceptions.InvalidArgument("The given URL is no string or an empty string!",url,"Map24","sharesScript");if(url.indexOf("http://")<0){
var baseURL=Map24.splitUrl(document.URL);url=Map24.dirname(baseURL[0])+ url;}
var name=Map24.splitUrl(url)[0];Map24._ScriptsShared[name]=false;Map24._ClassesSharedURL[name]=url;if(Map24._Initialized)Map24._include(url);if(listener instanceof Callable)Map24.waitFor(null,name,listener);}
Map24.sharesScriptOnce=function(url,listener){
if((typeof url!="string")||(url.length<=0))throw new Map24.Exceptions.InvalidArgument("The given URL is no string or an empty string!",url,"Map24","sharesScriptOnce");if(url.indexOf("http://")<0){
var baseURL=Map24.splitUrl(document.URL);url=Map24.dirname(baseURL[0])+ url;}
var name=Map24.splitUrl(url)[0];if(typeof Map24._ScriptsShared[name]!="boolean")Map24.sharesScript(url);if(listener instanceof Callable)Map24.waitFor(null,url,listener);}
Map24.isShared=function(name){
if((typeof name!="string")||(name.length<=0))throw new Map24.Exceptions.InvalidArgument("The given classname is invalid (no string or empty string)!",name,"Map24","isShared");return(typeof Map24._ClassesShared[name]=="boolean");}
Map24.notifyClassReady=function(name){
if((typeof name!="string")||(name.lenght<=0))throw new Map24.Exceptions.InvalidArgument("The given name is no string or an empty string!",name,"Map24","notifyClassReady");Map24._ClassesShared[name]=true;Map24._triggerListener();}
Map24.notifyScriptReady=function(url){
if((typeof url!="string")||(url.lenght<=0))throw new Map24.Exceptions.InvalidArgument("The given URL is no string or an empty string!",url,"Map24","notifyScriptReady");if(url.indexOf("http://")<0){
var baseURL=Map24.splitUrl(document.URL);url=Map24.dirname(baseURL[0])+ url;}
var name=Map24.splitUrl(url)[0];Map24._ScriptsShared[name]=true;Map24._triggerListener();}
Map24.listShares=function(){
return Map24.clone(Map24._ClassesShared);}
Map24.makeUniqueId=function(len){
if(typeof len=="undefined")len=32;if((typeof len!="number")||(len<=0)||(len>256))throw new Map24.Exceptions.InvalidArgument("The given parameter 'len' is no number, less then 1 or greater then 256!",len,"Map24","makeUniqueId");var unique_id="";while(unique_id.length<len)
unique_id +=md5(""+((new Date()).getTime())+""+Math.random());if(unique_id.length==len)return unique_id;return unique_id.substr(0,len);}
Map24.isObject=function(obj,interfacename){
if(typeof interfacename=="undefined")interfacename=null;if((obj==null)||((!(obj instanceof Object))&&((typeof obj).substr(0,6)!="object")))return false;if(interfacename==null)return true;if(typeof interfacename!="string")interfacename="IUnknown";return((obj.Interfaces instanceof Object)&&(typeof obj.Interfaces[interfacename]!="undefined")&&((obj.Interfaces[interfacename] instanceof Callable)||obj.Interfaces[interfacename]==null));}
Map24.isDocument=function(doc){
if(!Map24.isObject(doc))return false;if(Map24.Browser.OPERA)
return((typeof doc.nodeName=="string")&&(doc.nodeName=="#document"));else
if(Map24.Browser.IE)
return(typeof doc.createElement=="object");else
return(typeof doc.createElement=="function");}
Map24.isImage=function(img){
if(!Map24.isObject(img))return false;if(Map24.Browser.IE){
if(typeof img.tagName!="string")return false;return(img.tagName=="IMG");}else
return(img instanceof Image);}
Map24.isNumeric=function(value){
try{
if(typeof value=="number")return true;if(typeof value=="string"){
var rexp=new RegExp("^([+-]{0,1}[0-9]+)([.]{0,1}[0-9]{0,})$");var s=rexp.exec(value);if(!(s instanceof Object))return false;return(s[0]==value);}
}catch(e){}
return false;}
Map24.isNumber=function(value){return Map24.isNumeric(value);}
Map24.isNull=function(value){
if(value==null)return true;switch(typeof value){
case "undefined":case "null":return true;}
return false;}
Map24.empty=function(value){
if(value==null)return true;switch(typeof value){
case "undefined":case "null":return true;case "number":return(value==0);case "boolean":return(value==false);case "string":value=Map24.trim(value);if(value.length<=0)return true;if(value=="0")return true;if(value=="+0")return true;if(value=="-0")return true;return false;}
return false;}
Map24.arrayKeyExists=function(key,array){
if(typeof key!="string")return false;if(!(array instanceof Object))return false;if(typeof array[key]=="undefined")return false;return true;}
Map24.arrayKeys=function(hashtable){
if(!(hashtable instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given hashtable is no object!",hashtable,"Map24","arrayKeys");var result=new Array();for(key in hashtable){result.push(key);}
return result;}
Map24.arrayValues=function(hashtable){
if(!(hashtable instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given hashtable is no object!",hashtable,"Map24","arrayKeys");var result=new Array();for(key in hashtable){result.push(hashtable[key]);}
return result;}
Map24.arraySearch=function(value,array){
if(!(array instanceof Object))return null;if(array instanceof Array){
for(var i=0;i<array.length;i++){
if(array[i]==value)return i;}
}else{
for(var key in array){
if(array[key]==value)return key;}
}
return null;}
Map24.arrayMerge=function(array1,array2){
var type=null;var result=null;if(array1 instanceof Array){
type="Array";result=new Array();}else
if(array1 instanceof Object){
type="Hashtable";result={};}else
throw new Map24.Exceptions.InvalidArgument("The first argument is neither Array nor Hashtable!",array1,"Map24","arrayMerge");for(var i=0;i<arguments.length;i++){
if(!(arguments[i] instanceof Object))throw new Map24.Exceptions.InvalidArgument("The "+i+". argument is neither Array nor Hashtable!",argument[i],"Map24","arrayMerge");if(type=="Array"&&!(arguments[i] instanceof Array))throw new Map24.Exceptions.InvalidArgument("The "+i+". argument is no Array where array is required!",argument[i],"Map24","arrayMerge");if(type=="Hashtable"&&(arguments[i] instanceof Array))throw new Map24.Exceptions.InvalidArgument("The "+i+". argument is an Array where a Hashtable is required!",argument[i],"Map24","arrayMerge");if(type=="Array"){
for(var j=0;j<arguments[i].length;j++)result.push(arguments[i][j]);}else{
for(var key in arguments[i])result[key]=arguments[i][key];}
}
return result;}
Map24.hashtableToQueryString=function(hashtable){
var result="";if(hashtable instanceof Object)
for(var key in hashtable){
if(hashtable[key] instanceof Array)
{
for(var i=0;i<hashtable[key].length;i++){
var value=hashtable[key][i];if(value==null)
result +="&"+key+"=";else
switch(typeof value){
case "number":case "string":result +="&"+key+i+"="+Map24.rawurlencode(value);break;case "boolean":result +="&"+key+i+"="+(value?'true':'false');break;case "undefined":result +="&"+key+i+"=";break;default:result +="&"+key+i+"="+(typeof value);break;}
}
}else{
if(hashtable[key]==null)
result +="&"+key+"=";else
switch(typeof hashtable[key]){
case "number":case "string":result +="&"+key+"="+Map24.rawurlencode(hashtable[key]);break;case "boolean":result +="&"+key+"="+(hashtable[key]?'true':'false');break;case "undefined":result +="&"+key+"=";break;default:result +="&"+key+"="+typeof hashtable[key];break;}
}
}
return result;}
Map24.count=function(obj){
if(!(obj instanceof Object))return 0;if(obj instanceof Array)return obj.length;var count=0;for(var name in obj)count++;return count;}
Map24.urlencode=function(string){
if(typeof string!="string")return string;return escape(string);}
Map24.hexValues=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");Map24.dec2hex=function(dec){
if(typeof dec=="string"){
try{dec=parseInt(dec);}catch(e){}
}
if(typeof dec!="number")throw new Map24.Exceptions.InvalidArgument("The given decimal number if invalid (no number)!",dec,"Map24","dec2hex");var result="";if(dec==0)return "0";while(dec>=1){
result=Map24.hexValues[dec % 16] + result;dec=dec>>4;}
return result;}
Map24.rawurlencode=function(string){
if(typeof string!="string")return string;var newString="";var i;for(i=0;i<string.length;i++)
{
if(string.charCodeAt(i)==32){
newString +="%20";}else
if(string.charCodeAt(i)==43){
newString +="%2B";}else
if(string.charCodeAt(i)==124){
newString +="|";}else
if(string.charCodeAt(i)<128){
newString +=escape(string.charAt(i));}else
if(string.charCodeAt(i)<256){
newString +="%";newString +=hexValues[(string.charCodeAt(i)>>4)];newString +=hexValues[(string.charCodeAt(i)&15)];}else
newString +=escape(string.charAt(i));}
return newString;}
Map24.trim=function(text){
if(typeof text!="string")return text;return text.replace(/\n/ig,"").replace(/\r/ig,"").replace(/^ /i,"").replace(/ $/i,"");}
Map24.millitime=function(){
return new Date().getTime();}
Map24.time=function(){
return Math.round((new Date().getTime())/1000);}
Map24.DEBUG=false;Map24.DumpDefaultMaximalRecursions=1;Map24.DumpFunctions=false;Map24._DebugConsole={
hWin:null,History:new Array(),HistoryBufferSize:50,Left:0,Top:0,Width:500,Height:500,OldOldKeyDownHandler:null
}
Map24.dump=function(obj,maxrecursions,tabchar){
if((maxrecursions==null)&&Map24.isNumber(tabchar)){
maxrecursions=tabchar;if(arguments.length>=4)tabchar=arguments[3];}
if(!Map24.DEBUG)return;if(typeof tabchar!="string")tabchar="\t";if(typeof maxrecursions!="number")
maxrecursions=Map24.DumpDefaultMaximalRecursions;var s=Map24.dump_type(obj,"",maxrecursions,tabchar);if(Map24._DebugConsole.History.length>(Map24._DebugConsole.HistoryBufferSize+10)){
Map24._DebugConsole.History.splice(0,10);}
Map24._DebugConsole.History.push(s);Map24.writeToDebugConsole(s,false);}
Map24.e=function(excpt,force){
if(typeof force!="boolean")force=false;if(Map24.DEBUG_MODE==2||force){
Map24.dump(excpt);}
}
Map24.writeToDebugConsole=function(s,setFocus){
if(typeof setFocus!="boolean")setFocus=false;if((typeof s!="string")&&(typeof s!="number"))return;if(Map24._DebugConsole.hWin!=null)
{
try{
var myXMP=document.createElement("xmp");var myText=document.createTextNode(s);myXMP.appendChild(myText);if(navigator.userAgent.search(/Opera/)>=0||navigator.appName=="Microsoft Internet Explorer"){
var tmp=Map24._DebugConsole.hWin.document.getElementById("debug");if(navigator.userAgent.search(/Opera/)){
tmp.innerHTML=tmp.innerHTML + "<xmp>"+s+"</xmp>";}else
tmp.innerHTML=Map24.html_entity_decode(tmp.innerHTML)+ "<xmp>"+s+"</xmp>";}else{
Map24._DebugConsole.hWin.document.getElementById("debug").appendChild(myXMP);}
if(setFocus)Map24._DebugConsole.hWin.focus();}catch(e){}
}
}
Map24.clearDebugConsoleHistory=function(){
Map24._DebugConsole.History=new Array();}
Map24.openDebugConsole=function(){
if(Map24.DEBUG==false)Map24.DEBUG=true;if(Map24._DebugConsole.hWin==null){
try{
Map24._DebugConsole.hWin=window.open("","Map24AJAXAPIDebug","left="+Map24._DebugConsole.Left+",top="+Map24._DebugConsole.Top+",width="+Map24._DebugConsole.Width+",height="+Map24._DebugConsole.Height+",toolbar=no,status=no,menubar=no,location=no,resizable=yes,scrollbars=yes");Map24._DebugConsole.hWin.document.open("text/html");Map24._DebugConsole.hWin.document.writeln("<html><head><title>Dump page</title></head><body><div id=\"debug\"></div></body></html>");Map24._DebugConsole.hWin.document.close();for(var i=0;i<Map24._DebugConsole.History.length;i++)
Map24.writeToDebugConsole(Map24._DebugConsole.History[i],false);Map24._DebugConsole.hWin.focus();}catch(e){}
}
}
Map24.closeDebugConsole=function(){
if(Map24._DebugConsole.hWin!=null){
try{
var hWin=Map24._DebugConsole.hWin;Map24._DebugConsole.Left=(typeof hWin.screenX=="number"?hWin.screenX:hWin.left);Map24._DebugConsole.Top=(typeof hWin.screenY=="number"?hWin.screenY:hWin.top);Map24._DebugConsole.Width=(typeof hWin.outerWidth=="number"?hWin.outerWidth:hWin.width);Map24._DebugConsole.Height=(typeof hWin.outerHeight=="number"?hWin.outerHeight:hWin.height);Map24._DebugConsole.hWin.close();}catch(e){}
Map24._DebugConsole.hWin=null;}
}
Map24.isDebugConsoleOpen=function(){
return(Map24._DebugConsole.hWin!=null);}
Map24.dump_type=function(obj,tabs,maxrecursions,tabchar){
var s="";switch(typeof obj){
case "function":if(Map24.DumpFunctions)s="function()\r\n";break;case "undefined":s="undefined\r\n";break;case "null":s="null\r\n";break;case "number":s="number("+obj+")\r\n";break;case "boolean":s=(obj?"true":"false")+"\r\n";break;case "string":s="\""+obj+"\"\r\n";break;case "object":s=Map24.dump_object(obj,tabs,maxrecursions,tabchar,1);break;default:s="native object\r\n";}
return s;}
Map24.dump_object=function(obj,tabs,maxrecursions,tabchar,recursion_deepth){
var members=0;tabs +=tabchar;var s="";var objectname="object";for(var key in obj)
{
if(key=="Class"){
objectname=obj.Package + "." + obj.Class;continue;}
if(key=="Package")continue;if(key.substr(0,6)=="DOM_VK")continue;members++;switch(typeof obj[key]){
case "function":if(Map24.DumpFunctions)s +=tabs+"[\""+key+"\"] => function()\r\n";break;case "undefined":s +=tabs+"[\""+key+"\"] => undefined\r\n";break;case "null":s +=tabs+"[\""+key+"\"] => null\r\n";break;case "number":s +=tabs+"[\""+key+"\"] => number("+obj[key]+")\r\n";break;case "boolean":s +=tabs+"[\""+key+"\"] => "+(obj[key]?"true":"false")+"\r\n";break;case "string":s +=tabs+"[\""+key+"\"] => \""+obj[key]+"\"\r\n";break;case "object":if(obj[key]==null){
s +=tabs+"[\""+key+"\"] => null\r\n";break;}else
switch(key){
case "Parent":case "parent":s +=tabs+"[\""+key+"\"] => {... skiped, reference to parent object ...}\r\n";break;case "ownerElement":s +=tabs+"[\""+key+"\"] => {... skiped, high possibility of beeing already displayed ...}\r\n";break;case "previousSibling":case "nextSibling":s +=tabs+"[\""+key+"\"] => {... same as childNodes of parent, therefore skiped ...}\r\n";break;case "parentNode":case "parentBox":case "offsetParent":s +=tabs+"[\""+key+"\"] => {... parent already displayed or not interessting ...}\r\n";break;case "firstChild":case "lastChild":s +=tabs+"[\""+key+"\"] => {... see childNodes ...}\r\n";break;default:try{
if(recursion_deepth<=maxrecursions)
s +=tabs+"[\""+key+"\"] => "+Map24.dump_object(obj[key],tabs,maxrecursions,tabchar,(recursion_deepth+1));else
s +=tabs+"[\""+key+"\"] => object(?)\r\n";break;}catch(e){
s +=tabs+"[\""+key+"\"] => native object\r\n";}
}
break;default:s +=tabs+"[\""+key+"\"] => native object\r\n";}
}
if(tabs.length>0)tabs=tabs.substr(0,tabs.length-tabchar.length);return objectname+"("+members+") {\n"+s+tabs+"}\r\n";}
Map24.appendUrl=function(url,args,url_encode){
if(typeof url!="string")return url;if(typeof url_encode!="boolean")url_encode=true;if(typeof args!="string"){
var s="";for(var key in args){
if(url_encode==true)
s +="&"+key+"="+Map24.urlencode(args[key]);else
s +="&"+key+"="+args[key];}
args=s.substr(1);}
if(args.length<=0)return url;while(args.length>0&&(args.charAt(0)=="?"||args.charAt(0)=="&"))args=args.substr(1);var hasQuestionMark=(url.indexOf("?")>=0);if(hasQuestionMark)
url +="&"+args;else
url +="?"+args;return url;}
Map24.sleep=function(waittime){
if(typeof Map24.SLEEP_SCRIPT!="string")throw new Map24.Exceptions.Exception("No sleep script defined, set the constant Map24.SLEEP_SCRIPT!",0,null,"Map24","sleep");if((typeof waittime!="number"))throw new Map24.Exceptions.InvalidArgument("The given waittime is no number!",waittime,"Map24","sleep");}
Map24.clone=function(obj,deep){
if(typeof deep!="boolean")deep=true;if(obj instanceof Array){
var clone=new Array();for(var i=0;i<obj.length;i++){
if(deep)
clone.push(Map24.clone(obj[i]));else
clone.push(obj[i]);}
return clone;}
if(!(obj instanceof Object))return obj;var objectClone=new obj.constructor();for(var property in obj)
{
if(!deep)
objectClone[property]=obj[property];else
if(typeof obj[property]=="object")
objectClone[property]=Map24.clone(obj[property]);else
objectClone[property]=obj[property];}
return objectClone;}
Map24.enableDebug=function(capture){
if(typeof capture!="boolean")capture=false;if(capture==true)
try{
window.onerror=function(errormsg,filename,line){
if(Map24.DEBUG)Map24.dump("'"+errormsg+'" in "'+filename+'", line '+line);return true;}
}catch(e){
}
Map24.DEBUG=true;}
Map24.suppressErrors=function(){
try{
window.onerror=function(errormsg,filename,line){
if(Map24.DEBUG)Map24.dump('"'+errormsg+'" in "'+filename+'", line '+line);return true;}
Map24.DEBUG=false;}catch(e){
}
}
Map24.isCallable=function(func){
if(typeof func=="function")return true;if(func instanceof Callable)return true;return((func instanceof Array)&&(func.length==2)&&(func[0] instanceof Object)&&(typeof func[1]=="function"));}
Map24.invokeEx=function(func,args){
if(func instanceof Callable)return func.invokeEx(args);if(!Map24.isCallable(func))throw new Map24.Exceptions.InvalidArgument("The given parameter func is no callable!",url,"Map24","invoke");if(!(args instanceof Array))args=new Array();var result=null;var args_text="";for(var i=0;i<args.length;i++){
if((i+1)<args.length)
args_text +="args["+i+"],";else
args_text +="args["+i+"]";}
if(typeof func=="function"){
eval("result = func("+args_text+");");}else{
eval("result = func[1].call(func[0]"+(args.length>0?", ":"")+args_text+");");}
return result;}
Map24.invoke=function(func){
var args=new Array();for(var i=1;i<arguments.length;i++){
args[i-1]=arguments[i];}
if(func instanceof Callable)
return func.invokeEx(args);else
return Map24.invokeEx(func,args);}
Map24._Fork=new Array();Map24._forkNext=function(){
var next=Map24._Fork.shift();if(next){
Map24.invoke(next.Func,next.Args);if(Map24._Fork.length>0)setTimeout(Map24._forkNext,1);}
}
Map24.forkEx=function(func,args){
if(func instanceof Callable)return func.forkEx(args);Map24._Fork.push({Func:func,Args:args});setTimeout(Map24._forkNext,1);return true;}
Map24.fork=function(func){
var args=new Array();for(var i=1;i<arguments.length;i++)args.push(arguments[i]);if(func instanceof Callable)
return func.forkEx(args);else
return Map24.forkEx(func,args);}
Map24.getNodePos=function(node){
var pos=new Map24.Pixel(0,0);try{
do{
if(Map24.isNumber(node.offsetLeft)&&Map24.isNumber(node.offsetTop))
{
pos.X +=node.offsetLeft;pos.Y +=node.offsetTop;}
;}while(node=node.offsetParent);}catch(e){
return null;}
return pos;}
Map24.OBJECT_TYPE_SYMBOL_ID=new Hashtable();Map24.OBJECT_TYPE=new Hashtable();Map24.OBJECT_TYPE["Generic"]=0;Map24.OBJECT_TYPE["Rest Area"]=1;Map24.OBJECT_TYPE["Border Crossing"]=2;Map24.OBJECT_TYPE["Toll Booth"]=118;Map24.OBJECT_TYPE["Park"]=4;Map24.OBJECT_TYPE["Beach"]=5;Map24.OBJECT_TYPE["Zoo"]=6;Map24.OBJECT_TYPE["Camping"]=7;Map24.OBJECT_TYPE["Leisure"]=8;Map24.OBJECT_TYPE["Mobile Home Area"]=95;Map24.OBJECT_TYPE["Car Service"]=9;Map24.OBJECT_TYPE["Petrol Station"]=10;Map24.OBJECT_TYPE["Automobile Club"]=11;Map24.OBJECT_TYPE["Car Rental"]=12;Map24.OBJECT_TYPE["Car Rental Parking"]=106;Map24.OBJECT_TYPE["Car Dealer"]=13;Map24.OBJECT_TYPE["Parking Lot"]=15;Map24.OBJECT_TYPE["Parking Hous"]=16;Map24.OBJECT_TYPE["Park & Ride"]=17;Map24.OBJECT_TYPE["Hotels"]=18;Map24.OBJECT_TYPE["Restaurant"]=19;Map24.OBJECT_TYPE["Museum"]=20;Map24.OBJECT_TYPE["Cinema"]=21;Map24.OBJECT_TYPE["Performing"]=22;Map24.OBJECT_TYPE["Casino"]=23;Map24.OBJECT_TYPE["Nightlife"]=24;Map24.OBJECT_TYPE["Exhibition"]=25;Map24.OBJECT_TYPE["Music Concert"]=26;Map24.OBJECT_TYPE["Art"]=97;Map24.OBJECT_TYPE["Convention Center"]=103;Map24.OBJECT_TYPE["Natives Reservation"]=119;Map24.OBJECT_TYPE["Tourist Info"]=27;Map24.OBJECT_TYPE["Sightseeing"]=28;Map24.OBJECT_TYPE["Monument"]=29;Map24.OBJECT_TYPE["View"]=30;Map24.OBJECT_TYPE["Church"]=31;Map24.OBJECT_TYPE["Mountain"]=96;Map24.OBJECT_TYPE["Mosque"]=107;Map24.OBJECT_TYPE["Synagoge"]=108;Map24.OBJECT_TYPE["Sport Stadium"]=32;Map24.OBJECT_TYPE["Sport Centre"]=33;Map24.OBJECT_TYPE["Bowling Centre"]=34;Map24.OBJECT_TYPE["Swimming Pool"]=35;Map24.OBJECT_TYPE["Ice Skating"]=36;Map24.OBJECT_TYPE["Ski Resort"]=37;Map24.OBJECT_TYPE["Tennis"]=38;Map24.OBJECT_TYPE["Watersport"]=39;Map24.OBJECT_TYPE["Golf"]=40;Map24.OBJECT_TYPE["Racetrack"]=94;Map24.OBJECT_TYPE["Hospital"]=41;Map24.OBJECT_TYPE["Doctor"]=42;Map24.OBJECT_TYPE["Dentist"]=43;Map24.OBJECT_TYPE["Veterinarian"]=44;Map24.OBJECT_TYPE["Pharmacy"]=45;Map24.OBJECT_TYPE["Nursing Home"]=104;Map24.OBJECT_TYPE["Embassy"]=46;Map24.OBJECT_TYPE["City Hall"]=47;Map24.OBJECT_TYPE["Government Building"]=48;Map24.OBJECT_TYPE["School"]=49;Map24.OBJECT_TYPE["University"]=50;Map24.OBJECT_TYPE["Court house"]=51;Map24.OBJECT_TYPE["Library"]=52;Map24.OBJECT_TYPE["Police"]=53;Map24.OBJECT_TYPE["Post"]=54;Map24.OBJECT_TYPE["Fire Station"]=98;Map24.OBJECT_TYPE["Prision"]=99;Map24.OBJECT_TYPE["Cemetery"]=100;Map24.OBJECT_TYPE["Military Intallation"]=120;Map24.OBJECT_TYPE["Winery"]=55;Map24.OBJECT_TYPE["Shopping Centre"]=56;Map24.OBJECT_TYPE["Shop"]=57;Map24.OBJECT_TYPE["Bank"]=58;Map24.OBJECT_TYPE["ATM"]=59;Map24.OBJECT_TYPE["Company"]=60;Map24.OBJECT_TYPE["Land Use"]=105;Map24.OBJECT_TYPE["Airport"]=61;Map24.OBJECT_TYPE["Ferry"]=62;Map24.OBJECT_TYPE["Harbour"]=63;Map24.OBJECT_TYPE["Railway"]=64;Map24.OBJECT_TYPE["Car Loading Facility"]=110;Map24.OBJECT_TYPE["Airport Arrival"]=65;Map24.OBJECT_TYPE["Airport Depature"]=66;Map24.OBJECT_TYPE["Sport Airport"]=67;Map24.OBJECT_TYPE["Marina"]=68;Map24.OBJECT_TYPE["Subway"]=69;Map24.OBJECT_TYPE["Commuter rail"]=70;Map24.OBJECT_TYPE["Bus Station"]=71;Map24.OBJECT_TYPE["Military Airport"]=93;Map24.OBJECT_TYPE["Taxi"]=121;Map24.OBJECT_TYPE["Light Rail"]=122;Map24.OBJECT_TYPE["Heliport"]=123;Map24.LAYER=new Hashtable();Map24.LAYER["Automobile/Traffic"]="map24(3001:1,2,118)";Map24.LAYER["Recreation"]="map24(3002:4,5,6,7,8,95)";Map24.LAYER["Car Service"]="map24(3003:9,10,11,12,13,106)";Map24.LAYER["Parking"]="map24(3004:15,16,17)";Map24.LAYER["Hotels"]="map24(3005:18)";Map24.LAYER["Restaurant"]="map24(3006:19)";Map24.LAYER["Culture"]="map24(3007:20,21,22,23,24,25,26,97,103,119)";Map24.LAYER["Sights"]="map24(3008:27,28,29,30,31,96,107,108)";Map24.LAYER["Sport"]="map24(3009:32,33,34,35,36,37,38,39,40,94)";Map24.LAYER["Healthcare"]="map24(3010:41,42,43,44,45,104)";Map24.LAYER["Public Buildings"]="map24(3011:46,47,48,49,50,51,52,53,54,98,99,100,120)";Map24.LAYER["Commercial"]="map24(3012:55,56,57,58,59,60,105)";Map24.LAYER["Transport"]="map24(3013:61,62,63,64,110)";Map24.LAYER["Transport 2"]="map24(3014:65,66,67,68,69,70,71,93,121,122,123)";Map24.getObjectTypeNameById=function(object_type){
if(typeof object_type=="string")object_type=parseInt(object_type);if(typeof object_type!="number")throw new Map24.Exceptions.Exception("Invalid object type given (no number)!",0,object_type,"map24sdk","getObjectTypeNameById");for(var key in Map24.OBJECT_TYPE){
if(Map24.OBJECT_TYPE[key]==object_type)return key;}
throw new Map24.Exceptions.Exception("No object type with the given id exists!",0,object_type,"map24sdk","getObjectTypeNameById");}
Map24._parseLayerIds=function(ids,service){
if(typeof ids=="undefined"||ids==null)return{customer_ids:"",map24_ids:""};if(typeof ids=="object"&&ids.length>0)ids=ids.join("|");if(typeof ids!="string")throw new Map24.Exceptions.Exception("The given ids are no string!",0,ids,"map24sdk","_parseLayerIds");var id=ids.split('|');var map24_ids="";var customer_ids="";for(var i=0;i<id.length;i++){
if(id[i].substr(0,5)=="map24")
{
try{
var a=id[i].substr(6,id[i].length-7);var b=a.split(':');if(service=="WEBSERVICES"){
map24_ids +="|"+b[0];}else{
map24_ids +="|"+b[1].replace(/,/g,"|");}
}catch(e){}
}else{
customer_ids +="|"+id[i];}
}
if(map24_ids.length>0)map24_ids=map24_ids.substr(1);if(customer_ids.length>0)customer_ids=customer_ids.substr(1);return{customer_ids:customer_ids,map24_ids:map24_ids};}
Map24.getCurrentLayerDefinition=function(){
var result=new Hashtable();for(var layername in Map24.LAYER)
{
try{
var layerids=Map24._parseLayerIds(Map24.LAYER[layername],"PROXIMITYSEARCH")["map24_ids"].split("|");var object_types=new Array();for(var i=0;i<layerids.length;i++)object_types.push(Map24.getObjectTypeNameById(layerids[i]));result[layername]=object_types;}catch(e){
Map24.dump(e);}
}
return result;}
Map24.toXml=function(prefix,value,classname){
if(typeof prefix!="string")prefix="";var result="";if((value instanceof Map24.Object)||(value instanceof Map24.Webservices.CoordinatesArray)||(value instanceof Map24.Webservices.CommandsArray)){
return value.toXml(prefix,classname);}else
if(value instanceof Array){
if(typeof classname!="string"||classname.length<=0)
classname=null;if(classname!=null)result=prefix+"<"+classname+">\n";for(var i=0;i<value.length;i++){
switch(typeof value[i]){
case "function":case "undefined":break;case "null":result +=prefix+"<item>null</item>\n";break;case "number":result +=prefix+"<item>"+value[i]+"</item>\n";break;case "boolean":result +=prefix+"<item>"+(value[i]?'true':'false')+"</item>\n";break;case "string":result +=prefix+"<item><![CDATA["+value[i]+"]]></item>\n";break;case "object":if(value[i] instanceof Map24.Object)
result +=value[i].toXml(prefix,"item");else
result +=Map24.toXml(prefix+(classname==null?"":"\t"),value[i]);break;default:}
}
if(classname!=null)result +=prefix+"</"+classname+">\n";return result;}else
if(value instanceof Object){
if(typeof classname!="string"||classname.length<=0)
classname='item';result=prefix+"<"+classname+">\n";for(key in value){
result +=Map24.toXml(prefix+"\t",value[key],key);}
return result+prefix+"</"+classname+">\n";}
if(typeof classname!="string"||classname.length<=0)
classname=(typeof value);switch(typeof value){
case "function":case "undefined":break;case "null":result=prefix+"<"+classname+">null</"+classname+">\n";break;case "number":result=prefix+"<"+classname+">"+value+"</"+classname+">\n";break;case "boolean":result=prefix+"<"+classname+">"+(value?'true':'false')+"</"+classname+">\n";break;case "string":result=prefix+"<"+classname+"><![CDATA["+value+"]]></"+classname+">\n";break;default:break;}
return result;}
Map24.YahooLib=function(){};Map24.YahooLib.Doc=document;Map24.YahooLib.Win=window;Map24.escapeRegExpPattern=function(pattern,delimiter){
if((typeof delimiter!="string")||(delimiter.length!=1))
delimiter='/';pattern=pattern.replace(/\\/g,"\\\\");pattern=pattern.replace(/\*/g,"\\*");pattern=pattern.replace(/\./g,"\\.");pattern=pattern.replace(/\[/g,"\\[");pattern=pattern.replace(/\]/g,"\\]");pattern=pattern.replace(/\(/g,"\\(");pattern=pattern.replace(/\)/g,"\\)");pattern=pattern.replace(/\{/g,"\\{");pattern=pattern.replace(/\}/g,"\\}");pattern=pattern.replace(/\+/g,"\\+");pattern=pattern.replace(new RegExp("\\"+delimiter,"g"),"\\"+delimiter);return pattern;}
Map24.dispatchEvent=function(instance_id,ev,event_id,form_id){
try{
var map=Map24.Map.getInstanceById(instance_id);var e=new Map24.Browser.Event(ev);if(Map24.arrayKeyExists(event_id,map.Session.MapObjects))
{
var obj=map.Session.MapObjects[event_id];if(obj.Properties["Events"] instanceof Array)
{
for(var i=0;i<obj.Properties.Events.length;i++)
{
var event=obj.Properties.Events[i];if(event instanceof Map24.Webservices.MapObjectEvent)
{
if(event.ID.toLowerCase()==e.Type)
{
if(event.Commands instanceof Array)
{
var mrc=new Map24.Webservices.Request.MapletRemoteControl();mrc.Commands=event.Commands;map.Webservices.sendRequest(mrc);}
}
}
}
}
}
}catch(e){
}
}
Map24.SLEEP_SCRIPT=null;Map24.CLASSLOADER_URL=null;Map24.XSLT_BASE_URL="xslt/ajax/1.2.11/";Map24.init=function(info)
{
if(Map24._Initialized==true)return;Map24._Initialized=true;var debug=false;var api_url=null;var service_url=null;if(typeof info.Debug=="boolean"&&info.Debug==true)debug=true;if(typeof info.ClassLoaderUrl=="string"&&info.ClassLoaderUrl.length>0)
api_url=info.ClassLoaderUrl
if(typeof api_url!="string"){
api_url=Map24.findScriptByName("/ajax/1");}
if(typeof api_url!="string"||api_url.length<=0)throw new Map24.Exceptions.Exception("Invalid class loader URL given!",0,info,"Map24","init");var tmp=api_url.split("?",2);api_url=Map24.dirname(tmp[0]);if(tmp.length>1){
var args=tmp[1].split("&");var arg=null;for(var i=0;i<args.length;i++){
arg=args[i].split("=",2);if(arg.length==1){
Map24.Arguments[arg[0]]=null;}else
if(arg.length==2){
Map24.Arguments[arg[0]]=arg[1];}
arg=null;}
}
if(debug)Map24.enableDebug();Map24.CLASSLOADER_URL=api_url;try{
Map24.Network.ConnectJSPXML.DefaultIFrameUrl=Map24.CLASSLOADER_URL+"proxyit.php?wait_idl=5";}catch(e){}
for(key in Map24._ClassesShared){
if(!Map24._ClassesShared[key])Map24._include(Map24._ClassesSharedURL[key]);}
for(key in Map24._ScriptsShared){
if(!Map24._ScriptsShared[key])Map24._include(Map24._ScriptsSharedURL[key]);}
if(Map24.DEBUG){
Map24._DebugConsole.OldOldKeyDownHandler=document.onkeydown;document.onkeydown=function(event){
if(typeof Map24._DebugConsole.OldOldKeyDownHandler=="function"){
Map24._DebugConsole.OldOldKeyDownHandler(event);}
if(Map24.isNull(event))event=window.event;if(event.altKey&&event.shiftKey){
if(parseInt(event.which)==67||parseInt(event.keyCode)==67){
if(Map24.isDebugConsoleOpen())
Map24.closeDebugConsole();else
Map24.openDebugConsole();}else
if(parseInt(event.which)==86||parseInt(event.keyCode)==86){
Map24.clearDebugConsoleHistory();if(Map24.isDebugConsoleOpen())
Map24.closeDebugConsole();Map24.openDebugConsole();}
}
}
}
}
Map24.Object=function(){
this.__constructor=function(){
this.Interfaces=new Hashtable();this.Interfaces["Object"]=null;this.Interfaces["Map24.Object"]=null;this.Interfaces["IUnknown"]=null;this.Interfaces["Map24.Interfaces.IUnknown"]=null;this.Interfaces["IListener"]=null;this.Interfaces["Map24.Interfaces.IListener"]=null;this.Class="Object";this.Package="";this.Listener=new Array();this.Parent=null;this.IgnoreForSerialization={
IgnoreForSerialization:1,Class:1,Package:1,Listener:1,Parent:1,Interfaces:1
};this.addListener(new Callable(this,this.dispatch));}
this.clone=function(deep){
if(typeof deep!="boolean")deep=true;var objectClone=new this.constructor();for(var property in this)
{
if(!deep){
objectClone[property]=this[property];}else
if(this[property] instanceof Object){
if(typeof this[property]=="object")
objectClone[property]=this[property].clone(deep);else
objectClone[property]=this[property];}else
objectClone[property]=this[property];}
return objectClone;}
this.instanceOf=function(interfacename){
if(typeof interfacename!="string")return false;return(typeof this.Interfaces[interfacename]!="undefined");}
this.getClass=function(){
return this.Class;}
this.has=function(property){
if(typeof property!="string")return false;return(typeof this[property]!="undefined");}
this.isEmpty=function(property){
return Map24.empty(this.get(property));}
this.get=function(property){
if(typeof property!="string")return undefined;return this[property];}
this.set=function(property,value){
if(typeof property=="string")this[property]=value;}
this.toString=function(){
return this.Class;}
this.dispatch=function(event){
if(!Map24.isObject(event)||(typeof event.Class!="string"))return true;var fname="on"+event.Class;var result=true;if(typeof this[fname]=="function")eval("result = this."+fname+"(event);");return result;}
this.toXml=function(prefix,classname){
if(typeof prefix!="string")prefix="";var result="";if(typeof classname!="string"||classname.length<=0)
classname=this.Class;result +=prefix+"<"+classname+">\n";for(var key in this){
if(this.IgnoreForSerialization[key]==1)continue;if(key.charAt(0)=='_')continue;switch(typeof this[key]){
case "function":case "undefined":break;case "null":result +=prefix+"\t<"+key+">null</"+key+">\n";break;case "number":result +=prefix+"\t<"+key+">"+this[key]+"</"+key+">\n";break;case "boolean":result +=prefix+"\t<"+key+">"+(this[key]?'true':'false')+"</"+key+">\n";break;case "string":result +=prefix+"\t<"+key+"><![CDATA["+this[key]+"]]></"+key+">\n";break;case "object":if((this[key] instanceof Map24.Object)||(this[key] instanceof Map24.Array))
result +=this[key].toXml(prefix+"\t",key);else
if(this[key] instanceof Array){
if(this[key].length<=0)break;result +=prefix+"\t<"+key+">\n";result +=Map24.toXml(prefix+"\t\t",this[key]);result +=prefix+"\t</"+key+">\n";}else
result +=Map24.toXml(prefix+"\t",this[key],key);break;default:break;}
}
return result + prefix + "</"+classname+">\n";}
this.addListener=function(listener){
if(!(listener instanceof Callable))throw new Map24.Exceptions.InvalidArgument("Invalid listener given!",listener,"Map24.Object","addListener");this.Listener.push(listener);}
this.removeListener=function(listener){
if(!(listener instanceof Callable))throw new Map24.Exceptions.InvalidArgument("Invalid listener given!",listener,"Map24.Object","removeListener");for(var i=0;i<this.Listener.length;i++){
if(this.Listener[i]==listener){
this.Listener.splice(i,1);}
}
}
this.removeAllListener=function(){
this.Listener=new Array();}
this.trigger=function(event,blocking,ttl){
if(!Map24.isNumeric(ttl))ttl=7;else ttl=parseInt(ttl);if(ttl<0)return;if(!(event instanceof Map24.Events.Event))throw new Map24.Exceptions.InvalidArgument("The given event is no Map24.Events.Event object!",event,"Map24.Object","trigger");if(typeof blocking!="boolean")blocking=true;if(!blocking){
Map24.fork(new Callable(this,this.trigger),event,true);return;}
var isFinished=new Array();var result=null;if(!event._IsDelivered){
event.beforeDelivery();event._IsDelivered=true;}
for(var i=this.Listener.length-1;i>=0;i--){
try{
event.TopDown=true;result=this.Listener[i].invokeEx({event:event});}catch(e){
Map24.dump(e);}
if(typeof result!="boolean")result=true;isFinished.unshift(result);if(event.Cancel)break;}
if(!event.Cancel){
for(var i=0;i<this.Listener.length;i++){
try{
if(!isFinished[i]){
event.TopDown=false;this.Listener[i].invokeEx({event:event});}
}catch(e){
Map24.dump(e);}
if(event.Canel)break;}
}
event.Cancel=false;if(!event.CancelPropagation&&Map24.isObject(this.Parent,"IListener")&&ttl>=1)
{
this.Parent.trigger(event,true,ttl-1);}
}
this.setParent=function(parent){
if(!(parent instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parent is no object!",parent,"Map24.Object","setParent");var prevParent=this.Parent;this.Parent=parent;return prevParent;}
this.getParent=function(){
return this.Parent;}
this.queryInterface=function(name){
if(typeof name!="string")throw new Map24.Exceptions.InvalidArgument("The given interface name is no string!",name,"Map24.Object","queryInterface");if(typeof this.Interfaces[name]=="undefined")throw new Map24.Exceptions.InterfaceNotSupported("The requested interface '"+name+"' is not supported!",name,"Map24.Object","queryInterface");if(this.Interfaces[name]==null)return this;if(this.Interfaces[name] instanceof Callable)return this.Interfaces[name].invokeEx({parent:this});if(this.Interfaces[name] instanceof Object)return this.Interfaces[name];throw new Map24.Exceptions.InterfaceNotSupported("The requested interface '"+name+"' is not supported!",name,"Map24.Object","queryInterface");}
this.__constructor();}
Map24.Array=function(){
this.__constructor=function(){
Map24.Array.prototype.__constructor.call(this);this.Class="Array";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.length=0;for(var i=0;i<arguments.length;i++){
this[this.length++]=arguments[i];}
}
this.push=function(){
for(var i=0;i<arguments.length;i++){
this[this.length++]=arguments[i];}
}
this.pop=function(){
if(this.length<=0)return null;var tmp=this[this.length-1];this.length--;delete this[this.length];return tmp;}
this.toXml=function(prefix,classname){
if(typeof prefix!="string")prefix="";if(typeof classname!="string"||classname.length<=0)
classname=this.Class;var result="";result +=prefix+"<"+classname+">\n";for(var i=0;i<this.length;i++){
result +=prefix+"\t<item>\n";result +=Map24.toXml(prefix+"\t\t",this[i]);result +=prefix+"\t</item>\n";}
return result + prefix + "</"+classname+">\n";}
this.length=0;for(var i=0;i<arguments.length;i++){
this[this.length++]=arguments[i];}
}
Map24.Array.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Array");Map24.Map=function(settings){
this.__constructor=function(settings){
Map24.Map.prototype.__constructor.call(this);this.Class="Map";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this._ToMGISwitchFlag=false;if(!(settings instanceof Object))settings={};this.SuppressInitialMrc=false;if(typeof settings["SuppressInitialMrc"]=="boolean"&&settings.SuppressInitialMrc){
this.SuppressInitialMrc=true;}
this.InstanceId=Map24.makeUniqueId();var i=0;while(Map24.arrayKeyExists(this.InstanceId,Map24.Map._Instances)){
this.InstanceId=Map24.makeUniqueId();if(i++>=1000)throw new Map24.Exceptions.Exception("Creating of a unique ID seems to be failed!",0,null,"Map24.Map","__constructor");}
Map24.Map._Instances[this.InstanceId]=this;this.Skin=null;if((typeof settings.Skin!="undefined")&&settings.Skin!=null){
if(!Map24.isObject(settings.Skin,"ISkin"))throw new Map24.Exceptions.InvalidArgument("The parameter 'Skin' doesn't implement the interface ISkin!",settings,"Map24.Map","__constructor");this.Skin=settings.Skin;}
settings.Map=this;if(this.Skin==null)this.Skin=new Map24.Skins.Map24Portal(settings);this.MapWin=null;this.AppletDisabled=false;if(typeof settings["DisableJava"]=="boolean")
this.AppletDisabled=settings.DisableJava;this.MapDoc=null;this.MapArea=null;this.MapWidth=0;this.CurrentMapView=null;this.MapHeight=0;try{
this.MapWidth=parseInt(settings.MapWidth,10)
this.MapHeight=parseInt(settings.MapHeight,10);}catch(e){}
if((typeof this.MapWidth!="number")||(this.MapWidth<=0))throw new Map24.Exceptions.InvalidArgument("The parameter 'MapWidth' is invalid!",settings,"Map24.Map","__constructor");if((typeof this.MapHeight!="number")||(this.MapHeight<=0))throw new Map24.Exceptions.InvalidArgument("The parameter 'MapHeight' is invalid!",settings,"Map24.Map","__constructor");if(!(settings.AppletParameter instanceof Object))
settings.AppletParameter={};if(typeof settings.AppletParameter["DYNURL_PRINT"]!="string"){
settings.AppletParameter["DYNURL_PRINT"]="javascript:Map24.onPrintButton('"+this.InstanceId+"');";settings.AppletParameter["TITLE_PRINT"]="_self";}
settings.AppletParameter["hiddenwidth"]=this.MapWidth;settings.AppletParameter["hiddenheight"]=this.MapHeight;for(var key in settings.AppletParameter){
if(settings.AppletParameter[key]==null){
try{
delete this.Skin._HiddenAppletParameter[key];}catch(e){}
}else
if((typeof settings.AppletParameter[key]=="string")||(typeof settings.AppletParameter[key]=="number"))
this.Skin._HiddenAppletParameter[key]=settings.AppletParameter[key];}
this.HiddenWin=window;if(Map24.isObject(settings.HiddenWin))this.HiddenWin=settings.HiddenWin;this.HiddenDoc=this.HiddenWin.document;this.HiddenArea=null;if(typeof settings.HiddenArea=="string"){
this.HiddenArea=this.HiddenDoc.getElementById(settings.HiddenArea);}else
if(Map24.isObject(settings.HiddenArea))
this.HiddenArea=settings.HiddenArea;if(this.HiddenArea==null){
this.HiddenArea=this.HiddenDoc.createElement("DIV");this.HiddenArea.style.position="absolute";this.HiddenArea.style.left="0px";this.HiddenArea.style.top="0px";this.HiddenArea.style.width="0px";this.HiddenArea.style.height="0px";this.HiddenArea.style.border="0px none";var bodyNode=this.HiddenDoc.getElementsByTagName("BODY")[0];bodyNode.appendChild(this.HiddenArea);}
this.Maptype="JAVA";if((typeof settings.Maptype=="string")){
if(settings.Maptype=="AUTO")settings.Maptype="JAVA";if(settings.Maptype!="JAVA"&&settings.Maptype!="MGI"&&settings.Maptype!="NONE")throw new Map24.Exceptions.InvalidArgument("The parameter 'Maptype' is invalid, not 'AUTO', 'JAVA', 'MGI' or 'NONE'!",settings,"Map24.Map","__constructor");this.Maptype=settings.Maptype;}else
if(!Map24.isNull(settings.Maptype))throw new Map24.Exceptions.InvalidArgument("The given parameter 'Maptype' is invalid, no string!",settings,"Map24.Map","__constructor");this.CurrentMaptype="NONE";this.addListener(new Callable(this,this._defaultEventHandler));this.Session=null;this.Webservices=new Map24.Webservices.Webservices(this);if(settings.MRC instanceof Map24.Webservices.Request.MapletRemoteControl)
this.Webservices.sendRequest(settings.MRC);this.Visible=false;if(typeof settings.MapWin!="undefined"||typeof settings.MapArea!="undefined")
{
if(typeof settings.MapWin=="undefined")settings.MapWin=null;this.setMapArea(settings.MapArea,settings.MapWin);this.Visible=true;}
}
this._defaultEventHandler=function(event){
if((event instanceof Map24.Events.SessionError)){
Map24.dump("Session error, Message: "+event.Message);}else
if((event instanceof Map24.Webservices.Response.GetMap24Application)){
if(Map24.Browser.IE&&Map24.Browser.MajorVersion==5&&this.Session!=null){
}else{
Map24.dump("Session ready!");Map24.dump(event.Session);this.Session=event.Session;this.Session.setParent(this);this.Skin.initialize(this);if(this.Visible){
this.Visible=false;this.show();}
if(!this.SuppressInitialMrc&&(this.Session.Config.Map=="NTGCET_EUROPE"||this.Session.Config.Map=="TAAND_EUROPE"))
{
var mrc=new Map24.Webservices.Request.MapletRemoteControl();mrc.push(
new Map24.Webservices.MRC.ControlLayer({
Control:"DISABLE",LayerIDs:["3005"],Map24Layer:true
})
);this.Webservices.sendRequest(mrc);}
this.Webservices.trigger(new Map24.Events.SessionReady(this));}
}else
if((event instanceof Map24.Webservices.Response.GetMapletSession))
{
try{
if(event.Request.IdxInMap24MRCs<this.Session.MrcHistory.length){
i=this.Session.MrcHistory.length - event.Request.IdxInMap24MRCs;}else
if(event.Request.IdxInMap24MRCs>this.Session.MrcHistory.length){
throw new Exception();}
for(;i<event.Commands.length;i++){
this.Session.MrcHistory.push(event.Commands[i]);}
this.Session.checkMrcHistoryChange();}catch(e){}
}
return true;}
this.setMaptype=function(maptype){
if(typeof maptype!="string"||(maptype!="JAVA"&&maptype!="MGI"))
throw new Map24.Exceptions.InvalidArgument("The given argument 'maptype' is not valid, not JAVA or MGI!",maptype,"Map24.Map","maptype");if(this.Maptype==maptype)return;this.Maptype=maptype;if(maptype=='MGI'){this._ToMGISwitchFlag=true;}
if(this.Visible)this.Skin.paint();}
this.getPrintMapURL=function(width,height){
if(typeof width=="undefined")width=500;if(typeof height=="undefined")height=400;var uri="?cgi=Map24RenderEngine";uri +="&action=renderMapImage";uri +="&mid=***";uri +="&sid="+this.Session.SessionId;uri +="&iw="+width;uri +="&ih="+height;if(this.Maptype=='JAVA'){
uri +="&view=Map24Applet";}
uri +="&t="+Math.random(10000000000);return "http://"+this.Session.Config.Host+"/"+this.Session.Config.ServiceInterface+uri;}
this.setMapArea=function(map_area,map_win){
Map24.dump("setMapArea called");if(Map24.isObject(map_win)){
if(!Map24.isDocument(map_win.document))throw new Map24.Exceptions.InvalidArgument("The parameter 'map_win' is no valid window!",map_win,"Map24.Map","setMapArea");this.MapWin=map_win;}else
this.MapWin=window;this.MapDoc=this.MapWin.document;Map24.YahooLib.Doc=this.MapDoc;Map24.YahooLib.Win=this.MapWin;if(map_area=="string")
this.MapArea=this.MapDoc.getElementById(map_area);else
if(Map24.isObject(map_area))
this.MapArea=map_area;this.MapArea.style.position="relative";this.MapArea.style.width=this.MapWidth+"px";this.MapArea.style.height=this.MapHeight+"px";this.MapArea.innerHTML="";}
this.resizeTo=function(width,height){
Map24.dump("Map24.Map.resizeTo("+width+","+height+") called, maparea: "+(this.MapArea!=null)+", visible: "+this.Visible+", displayer: "+(this.Skin?(this.Skin.Displayer?true:false):false)+", mapsize: "+this.MapWidth+"x"+this.MapHeight);this.MapWidth=width;this.MapHeight=height;if(this.Visible){
if((this.CurrentMaptype=="JAVA")&&this["Skin"]&&this.Skin["Displayer"])
try{
var canvas=this.Skin.Canvas;canvas.MapImages=[];canvas.clearBackground();canvas.clearViewportObjects();canvas.clearForeground();this.MapArea.style.width=width+"px";this.MapArea.style.height=height+"px";canvas.ViewportWidth=width;canvas.ViewportHeight=height;canvas.Width=width;canvas.Height=height;this.Skin.Displayer.style.width=width+"px";this.Skin.Displayer.style.height=height+"px";canvas.BackgroundNode.style.width=width+"px";canvas.BackgroundNode.style.height=height+"px";canvas.ForegroundNode.style.width=width+"px";canvas.ForegroundNode.style.height=height+"px";canvas.CanvasNode.style.width=width+"px";canvas.CanvasNode.style.height=height+"px";canvas.Overlay.style.width=width+"px";canvas.Overlay.style.height=height+"px";canvas.Viewport.style.width=width+"px";canvas.Viewport.style.height=height+"px";return;}catch(e){
Map24.dump(e);Map24.dump("Failed to resize applet, going to repaint it now!");}
this.hide();this.MapArea.style.width=width+"px";this.MapArea.style.height=height+"px";this.show();}
}
this.show=function(){
Map24.dump("Map24.Map.show() called, maparea: "+(this.MapArea!=null)+", visible: "+(this.Visible)+", displayer: "+(this.Skin?(this.Skin.Displayer?true:false):false)+", mapsize: "+this.MapWidth+"x"+this.MapHeight);if(!this.Visible){
this.Visible=true;if((this.Skin!=null)&&(this.Skin.Parent!=null))
this.Skin.show();}
}
this.hide=function(){
Map24.dump("Map24.Map.hide() called, maparea: "+(this.MapArea!=null)+", visible: "+(this.Visible)+", displayer: "+(this.Skin?(this.Skin.Displayer?true:false):false)+", mapsize: "+this.MapWidth+"x"+this.MapHeight);if(this.Visible){
this.Visible=false;if((this.Skin!=null)&&(this.Skin.Parent!=null))
this.Skin.hide();}
}
this.__constructor(settings);}
Map24.Map.prototype=new Map24.Object;Map24.Map.prototype.onUserAction=function(action,is_user_action,pos){}
Map24.Map.prototype.onMapViewChanged=function(action,is_user_action,view_change,new_view){}
Map24.onPrintButton=function(map_instance_id){
var map=Map24.Map._Instances[map_instance_id];if(map instanceof Map24.Map){
map.onUserAction("PRINT",true,null);}
}
Map24.onUserAction=function(action,is_user_action,map,pos){
if(map instanceof Map24.Map){
map.onUserAction(action,is_user_action,pos);}
}
Map24.onMapViewChanged=function(action,is_user_action,map,view_change,new_view){
if(map instanceof Map24.Map){
map.onMapViewChanged(action,is_user_action,view_change,new_view);}
}
Map24.Map._Instances={};Map24.Map.getInstanceById=function(instance_id){
if(typeof instance_id!="string")throw new Map24.Exceptions.InvalidArgument("The given parameter 'instance_id' is no string!",instance_id,"Map24.Map","getByInstanceId");if(!Map24.arrayKeyExists(instance_id,Map24.Map._Instances))throw new Map24.Exceptions.InvalidArgument("The given parameter 'instance_id' is invalid!",instance_id,"Map24.Map","getByInstanceId");return Map24.Map._Instances[instance_id];}
Map24.Session=function(app_key,session_id,config){
this.__constructor=function(app_key,session_id,config){
Map24.Session.prototype.__constructor.call(this);this.Class="Session";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(!Map24.Session.isApplicationKey(app_key))throw new Map24.Exceptions.InvalidArgument("The given application key is invalid!",app_key,"Map24.Session","__constructor");if((typeof session_id!="string")||(session_id.length<=0))throw new Map24.Exceptions.InvalidArgument("Invalid session ID given!",session_id,"Map24.Session","__constructor");if(!(config instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid config object given!",session_id,"Map24.Session","__constructor");this.ApplicationKey=app_key;this.SessionId=session_id;this.Config=config;this.MrcHistory=new Array();this.NextMrcIndex=0;this.MapObjects=new Hashtable();this.Groups=new Hashtable();}
this.serialize=function(){
}
this.restore=function(data){
}
this.rebuildSession=function(){
this.MapObjects=new Hashtable();this.Groups=new Hashtable();this.checkMrcHistoryChange();}
this.checkMrcHistoryChange=function(){
var cmd=null;var obj=null;var mobid=null;for(;this.NextMrcIndex<this.MrcHistory.length;this.NextMrcIndex++)
{
cmd=this.MrcHistory[this.NextMrcIndex];if(cmd instanceof Map24.Webservices.MRC.DeclareMap24Location){
mobid=cmd.MapObjectID;obj=new Map24.MapObjects.Location({
ObjectId:cmd.MapObjectID,Address:cmd.Address,Coordinate:cmd.Coordinate,Properties:{
LogoURL:cmd.LogoURL,Description:cmd.Description,URL:cmd.URL,TargetFrame:cmd.TargetFrame,CanvasReferencePoint:cmd.CanvasReferencePoint,LogoURLOnMouseOver:cmd.LogoURLOnMouseOver,SymbolIDOnMouseOver:cmd.SymbolIDOnMouseOver,Events:cmd.Events
}
});this.MapObjects[mobid]=obj;}else
if(cmd instanceof Map24.Webservices.MRC.DeclareMap24HTMLObject){
mobid=cmd.MapObjectID;obj=new Map24.MapObjects.HTMLObject({
ObjectId:cmd.MapObjectID,Coordinate:cmd.Coordinate,Properties:{
Orientation:cmd.Orientation,HTML:cmd.HTML
}
});this.MapObjects[mobid]=obj;}else
if(cmd instanceof Map24.Webservices.MRC.ControlMapObject){
var map_obj_ids=new Array();if((cmd.MapObjectIDs instanceof Array))
{
var value=null;for(var i=0;i<cmd.MapObjectIDs.length;i++)
{
value=cmd.MapObjectIDs[i];if(typeof value!="string")continue;var ids=value.split("|");if(!(ids instanceof Array))continue;for(var j=0;j<ids.length;j++){
if(typeof ids[j]!="string")continue;value=Map24.trim(ids[j]);if(value.length<=0)continue;map_obj_ids.push(value);}
}
if(cmd.Control=="ENABLE"){
for(var i=0;i<map_obj_ids.length;i++){
if(this.MapObjects[map_obj_ids[i]] instanceof Map24.MapObjects.MapObject){
this.MapObjects[map_obj_ids[i]].Visible=true;}
}
}else
if(cmd.Control=="DISABLE"){
for(var i=0;i<map_obj_ids.length;i++){
if(this.MapObjects[map_obj_ids[i]] instanceof Map24.MapObjects.MapObject){
this.MapObjects[map_obj_ids[i]].Visible=false;}
}
}else
if(cmd.Control=="SHOW"){
for(mobid in this.MapObjects){
this.MapObjects[mobid].Visible=false;}
for(var i=0;i<map_obj_ids.length;i++){
if(this.MapObjects[map_obj_ids[i]] instanceof Map24.MapObjects.MapObject){
this.MapObjects[map_obj_ids[i]].Visible=true;}
}
}else
if(cmd.Control=="HIDE"){
for(mobid in this.MapObjects){
this.MapObjects[mobid].Visible=true;}
for(var i=0;i<map_obj_ids.length;i++){
if(this.MapObjects[map_obj_ids[i]] instanceof Map24.MapObjects.MapObject){
this.MapObjects[map_obj_ids[i]].Visible=false;}
}
}
}
}
}
}
this.__constructor(app_key,session_id,config);}
Map24.Session.prototype=new Map24.Object;Map24.Session.isApplicationKey=Map24.isApplicationKey;Map24.notifyClassReady("Map24.Session");Map24.Size=function(width,height){
this.__constructor=function(width,height){
Map24.Size.prototype.__constructor.call(this);this.Class="Point";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(typeof width=="string")width=parseFloat(width);if(!Map24.isNumeric(width))throw new Map24.Exceptions.InvalidArgument("The parameter 'width' in no valid number!",width,"Map24.Size","__constructor");if(typeof height=="string")height=parseFloat(height);if(!Map24.isNumeric(height))throw new Map24.Exceptions.InvalidArgument("The parameter 'height' in no valid number!",height,"Map24.Size","__constructor");this.Width=width;this.Height=height;}
this.__constructor(width,height);}
Map24.Size.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Size");Map24.Address=function(default_args){
this.__constructor=function(default_args){
Map24.Address.prototype.__constructor.call(this,default_args);this.Class="Address";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(typeof default_args.Street!="string")default_args.Street="";if(typeof default_args.Postcode!="string")default_args.Postcode="";if(typeof default_args.City!="string")default_args.City="";if(typeof default_args.Country!="string")default_args.Country="";if(typeof default_args.State!="string")default_args.State="";if(typeof default_args.County!="string")default_args.County="";if(typeof default_args.District!="string")default_args.District="";if(typeof default_args.Housenumber=="number")default_args.Housenumber=""+default_args.Housenumber;else
if(typeof default_args.Housenumber!="string")default_args.Housenumber="";if(typeof default_args.Streetnumber=="number")default_args.Streetnumber=""+default_args.Streetnumber;else
if(typeof default_args.Streetnumber!="string")default_args.Streetnumber="";this.Street=default_args.Street;this.StreetNumber=default_args.Streetnumber;this.Housenumber=default_args.Housenumber;this.Postcode=default_args.Postcode;this.City=default_args.City;this.District=default_args.District;this.Country=default_args.Country;this.State=default_args.State;this.County=default_args.County;}
this.isValid=function(){
if(Map24.empty(this.Country))return false;return!(Map24.empty(this.City)&&Map24.empty(this.Postcode));}
this.toString=function(){
var s="";if(this.Street.length>0)s+=this.Street+"\r\n";if(this.Postcode.length>0)s+=this.Postcode;if(this.City.length>0){
if(this.Postcode.length>0)
s+=" "+this.City;else
s+=this.City;}
if(this.Postcode.length>0||this.City.length>0)s+="\r\n";if(this.District.length>0)s+="("+this.District+")\r\n";if(this.Country.length>0)s+="["+this.Country+"]\r\n";if(this.State.length>0)s+="{"+this.State+"}\r\n";if(this.County.length>0)s+="-"+this.County+"-\r\n";return s;}
this.toXml=function(prefix,classname){
if(typeof prefix!="string")prefix="";if(typeof classname!="string"||classname.length<=0)
classname=this.Class;return Map24.toXml(prefix,{
ID:null,HouseNo:this.Housenumber,Street:this.Street,ZIP:this.Postcode,City:this.City,District:this.District,County:this.County,State:this.State,Country:this.Country
},classname);}
this.__constructor(default_args);}
Map24.Address.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Address");Map24.Point=function(x,y){
this.__constructor=function(x,y){
Map24.Point.prototype.__constructor.call(this);this.Class="Point";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(!Map24.isNull(x)){
if(typeof x=="string")x=parseFloat(x);if(typeof x!="number")throw new Map24.Exceptions.InvalidArgument("The given parameter 'x' is no number!",x,"Map24.Point","__constructor");}else
x=0;if(!Map24.isNull(y)){
if(typeof y=="string")y=parseFloat(y);if(typeof y!="number")throw new Map24.Exceptions.InvalidArgument("The given parameter 'y' is no number!",y,"Map24.Point","__constructor");}else
y=0;this.X=x;this.Y=y;}
this.__constructor(x,y);}
Map24.Point.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Point");Map24.Pixel=function(x,y){
this.__constructor=function(x,y){
Map24.Pixel.prototype.__constructor.call(this,x,y);this.Class="Pixel";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.X=Math.round(this.X);this.Y=Math.round(this.Y);}
this.__constructor(x,y);}
Map24.Pixel.prototype=new Map24.Point;Map24.notifyClassReady("Map24.Pixel");Map24.Coordinate=function(longitude,latitude){
this.__constructor=function(longitude,latitude){
if(Map24.isNull(latitude)&&(longitude instanceof Object)){
latitude=longitude.Latitude;longitude=longitude.Longitude;}
if(!Map24.isNull(longitude)){
if(typeof longitude=="undefined")longitude=0;if(typeof longitude=="string")longitude=parseFloat(longitude);if(!Map24.isNumeric(longitude))throw new Map24.Exceptions.InvalidArgument("The given parameter 'longitude' is invalid!",longitude,"Map24.Coordinate","__constructor");}else
longitude=0;if(!Map24.isNull(longitude)){
if(typeof latitude=="undefined")latitude=0;if(typeof latitude=="string")latitude=parseFloat(latitude);if(!Map24.isNumeric(latitude))throw new Map24.Exceptions.InvalidArgument("The given parameter 'latitude' is invalid!",latitude,"Map24.Coordinate","__constructor");}else
latitude=0;Map24.Coordinate.prototype.__constructor.call(this,longitude,latitude);this.IgnoreForSerialization.X=1;this.IgnoreForSerialization.Y=1;this.Class="Coordinate";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Longitude=longitude;this.Latitude=latitude;this.distanceTo=function(p){
if(!(p instanceof Map24.Coordinate))return null;try{
var long1=Math.min(this.Longitude,p.Longitude)/ 60;var lat1=Math.min(this.Latitude,p.Latitude)/ 60;var long2=Math.max(this.Longitude,p.Longitude)/60;var lat2=Math.max(this.Latitude,p.Latitude)/ 60;lat1=(lat1*Math.PI)/ 180;long1=(long1*Math.PI)/ 180;lat2=(lat2*Math.PI)/ 180;long2=(long2*Math.PI)/ 180;var a=6378137.0;var b=6356752.3142;var f=(a-b)/ a;var e=2.0*f - f*f;var beta=(a / Math.sqrt(1.0 - e * Math.sin(lat1)* Math.sin(lat1)));var cos=Math.cos(lat1);var x=beta * cos * Math.cos(long1);var y=beta * cos * Math.sin(long1);var z=beta *(1 - e)* Math.sin(lat1);beta=(a / Math.sqrt(1.0 - e * Math.sin(lat2)* Math.sin(lat2)));cos=Math.cos(lat2);x -=(beta * cos * Math.cos(long2));y -=(beta * cos * Math.sin(long2));z -=(beta *(1 - e)* Math.sin(lat2));return Math.sqrt((x*x)+(y*y)+(z*z));}catch(ex){
Map24.e(ex);return null;}
}
}
this.__constructor(longitude,latitude);this.toString=function(){
return "longitude= "+this.Longitude+" | latitude= "+this.Latitude+"\r\n";}
}
Map24.Coordinate.prototype=new Map24.Point;Map24.Coordinate.isValidCoordinate=function(longitude,latitude){
if(typeof longitude=="string")longitude=parseFloat(longitude);if(typeof longitude!="number")return false;if(typeof latitude=="string")latitude=parseFloat(latitude);if(typeof latitude!="number")return false;return true;}
Map24.Coordinate.LONGITUDE_MAX=180*60;Map24.Coordinate.LONGITUDE_MIN=180*60*-1;Map24.Coordinate.LATITUDE_MAX=90*60;Map24.Coordinate.LATITUDE_MIN=90*60*-1;Map24.notifyClassReady("Map24.Coordinate");Map24.Color=function(red,green,blue,alpha){
this.__constructor=function(red,green,blue,alpha){
var default_args=null;if((red instanceof Object))
default_args=red;else
default_args={Red:red,Green:green,Blue:blue,Alpha:alpha};Map24.Color.prototype.__constructor.call(this,default_args);this.Class="Color";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(typeof default_args.R!="undefined")
default_args.Red=default_args.R;if(typeof default_args.r!="undefined")
default_args.Red=default_args.r;if(typeof default_args.red!="undefined")
default_args.Red=default_args.red;if(typeof default_args.Red=="string")
default_args.Red=parseInt(default_args.Red);if(!Map24.isNumeric(default_args.Red)||(default_args.Red<0)||(default_args.Red>255))throw new Map24.Exceptions.InvalidArgument("The color 'Red' is invalid (not numeric, less then zero or greater 255!",default_args.Red,"Map24.Color","__constructor");if(typeof default_args.G!="undefined")
default_args.Green=default_args.G;if(typeof default_args.g!="undefined")
default_args.Green=default_args.g;if(typeof default_args.green!="undefined")
default_args.Green=default_args.green;if(typeof default_args.Green=="string")
default_args.Green=parseInt(default_args.Green);if(!Map24.isNumeric(default_args.Green)||(default_args.Green<0)||(default_args.Green>255))throw new Map24.Exceptions.InvalidArgument("The color 'Green' is invalid (not numeric, less then zero or greater 255!",default_args.Green,"Map24.Color","__constructor");if(typeof default_args.B!="undefined")
default_args.Blue=default_args.B;if(typeof default_args.b!="undefined")
default_args.Blue=default_args.b;if(typeof default_args.blue!="undefined")
default_args.Blue=default_args.blue;if(typeof default_args.Blue=="string")
default_args.Blue=parseInt(default_args.Blue);if(!Map24.isNumeric(default_args.Blue)||(default_args.Blue<0)||(default_args.Blue>255))throw new Map24.Exceptions.InvalidArgument("The color 'Blue' is invalid (not numeric, less then zero or greater 255!",default_args.Blue,"Map24.Color","__constructor");if(typeof default_args.A!="undefined")
default_args.Alpha=default_args.A;if(typeof default_args.a!="undefined")
default_args.Alpha=default_args.a;if(typeof default_args.alpha!="undefined")
default_args.Alpha=default_args.alpha;if(typeof default_args.Alpha=="string")
default_args.Alpha=parseInt(default_args.Alpha);if(!Map24.isNumeric(default_args.Alpha)||(default_args.Alpha<0)||(default_args.Alpha>255))throw new Map24.Exceptions.InvalidArgument("The color 'Alpha' is invalid (not numeric, less then zero or greater 255!",default_args.Alpha,"Map24.Color","__constructor");this.red=default_args.Red;this.green=default_args.Green;this.blue=default_args.Blue;this.alpha=default_args.Alpha;}
this.toHex=function(add_alpha){
if(typeof add_alpha!="boolean")add_alpha=true;var r=Map24.dec2hex(this.red);if(r.length<=1)r="0"+r;var g=Map24.dec2hex(this.green);if(g.length<=1)g="0"+g;var b=Map24.dec2hex(this.blue);if(b.length<=1)b="0"+b;var a="";if(add_alpha){
a=Map24.dec2hex(this.alpha);if(a.length<=1)a="0"+a;}
return ""+r+g+b+a;}
this.toString=function(){
var s="Color{"+
"\nRed: "+this.red+
"\nGreen: "+this.green+
"\nBlue: "+this.blue+
"\nAlpha: "+this.alpha+
"}";return s;}
this.__constructor(red,green,blue,alpha);}
Map24.Color.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Color");Map24.Rectangle=function(top_left,lower_right){
this.__constructor=function(top_left,lower_right){
Map24.Rectangle.prototype.__constructor.call(this);this.Class="Rectangle";this.Package="Map24";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(!Map24.isObject(top_left,"Map24.Point")||!Map24.isObject(lower_right,"Map24.Point"))throw new Map24.Exceptions.InvalidArgument("The parameter 'top_left' or 'lower_right' is no valid Map24.Point object!",[top_left,lower_right],"Map24.Rectangle","__constructor");if(top_left.Class!=top_left.Class)throw new Map24.Exceptions.InvalidArgument("The parameter 'top_left' is not of the same type as 'lower_right'!",[top_left,lower_right],"Map24.Rectangle","__constructor");this._HasCoordinates=(top_left instanceof Map24.Coordinate?true:false);this._HasPixel=(top_left instanceof Map24.Pixel?true:false);this._HasPoints=(top_left instanceof Map24.Point?true:false);this.TopLeft=top_left;this.LowerRight=lower_right;}
this.isMathematical=function(){
return!this._HasCoordinates;}
this.isGeographic=function(){
return this._HasCoordinates;}
this.getCenter=function(){
if(this._HasCoordinates){
var long_center=this.TopLeft.Longitude + 
(Math.abs(this.TopLeft.Longitude - 
this.LowerRight.Longitude)/2);var lat_center=this.TopLeft.Latitude - 
(Math.abs(this.TopLeft.Latitude - 
this.LowerRight.Latitude)/2);return new Map24.Coordinate(long_center,lat_center);}else{
var cx=this.TopLeft.X+(Math.abs(this.TopLeft.X-this.LowerRight.X)/2);var cy=this.TopLeft.Y+(Math.abs(this.TopLeft.Y-this.LowerRight.Y)/2);if(this._HasPixel)
return new Map24.Pixel(cx,cy);return new Map24.Point(cx,cy);}
}
this.getWidth=function(geo){
if(typeof geo!="boolean")geo=false;if(this._HasCoordinates&&geo){
var mid_lat=Math.min(this.LowerRight.Longitude,this.TopLeft.Longitude)+
(Math.abs(this.LowerRight.Longitude - this.TopLeft.Longitude)/2);var p0=new Map24.Coordinate(this.TopLeft.Longitude,mid_lat);var p1=new Map24.Coordinate(this.LowerRight.Longitude,mid_lat);return p0.distanceTo(p1);}else{
if(this._HasCoordinates)
return Math.abs(this.LowerRight.Longitude - this.TopLeft.Longitude);else
if(this._HasPixel)
return Math.abs(this.LowerRight.X - this.TopLeft.X)+1;else
return Math.abs(this.LowerRight.X - this.TopLeft.X);}
}
this.getHeight=function(geo){
if(typeof geo!="boolean")geo=false;if(this._HasCoordinates&&geo){
var p0=new Map24.Coordinate(0,this.LowerRight.Latitude);var p1=new Map24.Coordinate(0,this.TopLeft.Latitude);return p0.distanceTo(p1);}else{
if(this._HasCoordinates)
return Math.abs(this.LowerRight.Latitude - this.TopLeft.Latitude);else
if(this._HasPixel)
return Math.abs(this.LowerRight.Y - this.TopLeft.Y)+1;else
return Math.abs(this.LowerRight.Y - this.TopLeft.Y);}
}
this.containsPoint=function(p){
if(this._HasCoordinates){
if(p instanceof Map24.Coordinate){
return((p.Longitude>=this.TopLeft.Longitude)&&(p.Longitude<=this.LowerRight.Longitude)&&(p.Latitude>=this.LowerRight.Latitude)&&(p.Latitude<=this.TopLeft.Latitude));}
}else{
if(p instanceof Map24.Point){
return((p.X>=this.TopLeft.X)&&(p.X<=this.LowerRight.X)&&(p.Y>=this.TopLeft.Y)&&(p.Y<=this.LowerRight.Y));}
}
return false;}
this.calcPerDiffTo=function(rect){
if(!(rect instanceof Map24.Rectangle))return 1;var ox1=this.TopLeft.X/60;var oy1=180 - this.TopLeft.Y/60;var ox2=this.LowerRight.X/60;var oy2=180 - this.LowerRight.Y/60;var nx1=rect.TopLeft.X/60;var ny1=180 - rect.TopLeft.Y/60;var nx2=rect.LowerRight.X/60;var ny2=180 - rect.LowerRight.Y/60;if((nx1>ox2)||(nx2<ox1)||(ny1>oy2)||(ny2<oy1))return 1;var dx=(ox2<nx2?ox2:nx2)-(ox1>nx1?ox1:nx1);var dy=(oy2<ny2?oy2:ny2)-(oy1>ny1?oy1:ny1);var ab=dx*dy;var ao=(ox2-ox1)*(oy2-oy1);var an=(nx2-nx1)*(ny2-ny1);return 1 -(ao>an?ab/ao:ab/an);}
this.toString=function(){
return"X1:"+this.TopLeft.X+", Y1:"+this.TopLeft.Y+", "+
"X2:"+this.LowerRight.X+", Y2:"+this.LowerRight.Y;}
this.__constructor(top_left,lower_right);}
Map24.Rectangle.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Rectangle");Map24.Browser=function(){}
Map24.Browser.Name=null;Map24.Browser.IE=false;Map24.Browser.OPERA=false;Map24.Browser.SAFARI=false;Map24.Browser.MOZILLA=false;Map24.Browser.KONQUEROR=false;Map24.Browser.FIREFOX=false;Map24.Browser.CAMINO=false;Map24.Browser.NAVIGATOR=false;Map24.Browser.MAC=false;Map24.Browser.LINUX=false;Map24.Browser.WINDOWS=false;Map24.Browser.MajorVersion=0;Map24.Browser.MinorVersion=0;Map24.Browser.Revision=0;Map24.Browser.LEFT_BUTTON=1;Map24.Browser.RIGHT_BUTTON=2;Map24.Browser.MIDDLE_BUTTON=4;Map24.Browser.isQuirksMode=function(doc){
if(typeof doc=="undefined"||doc==null)doc=document;if(typeof doc["compatMode"]!="string")return true;return(doc.compatMode=="BackCompat"||doc.compatMode=="QuirksMode");}
Map24.Browser.leftButton=function(button_flags){
return((button_flags&Map24.Browser.LEFT_BUTTON)==Map24.Browser.LEFT_BUTTON);}
Map24.Browser.rightButton=function(button_flags){
return((button_flags&Map24.Browser.RIGHT_BUTTON)==Map24.Browser.RIGHT_BUTTON);}
Map24.Browser.middleButton=function(button_flags){
return((button_flags&Map24.Browser.MIDDLE_BUTTON)==Map24.Browser.MIDDLE_BUTTON);}
Map24.Browser.getWindowSize=function(win){
if(typeof win=="undefined")win=window;if(!Map24.isWindow(win))throw new Map24.Exception.InvalidArgument("The parameter 'win' is no valid window!",win,"Map24.Browser","getWindowSize");var LayoutIsIE6CSS;if(document.images){
LayoutIsIE6CSS=(document.compatMode&&document.compatMode.indexOf("CSS1")>=0)? true:false;}
var width=0;var height=0;if(window.innerWidth){
width=window.innerWidth;}else if(LayoutIsIE6CSS){
width=document.body.parentElement.clientWidth;}else if(document.body&&document.body.clientWidth){
width=document.body.clientWidth;}
if(window.innerHeight){
height=window.innerHeight;}else if(LayoutIsIE6CSS){
height=document.body.parentElement.clientHeight;}else if(document.body&&document.body.clientHeight){
height=document.body.clientHeight;}
return new Map24.Size(
width,height
);}
Map24.Browser.initialize=function(){
try{
Map24.Browser.MAC=navigator.userAgent.indexOf("Macintosh")>=0;Map24.Browser.WINDOWS=navigator.userAgent.indexOf("Windows")>=0;Map24.Browser.LINUX=navigator.userAgent.indexOf("Linux")>=0;if(navigator.userAgent.match(new RegExp("Camino"))){
Map24.Browser.CAMINO=true;Map24.Browser.Name="Camino";var rexp=new RegExp("Camino[ /]*([\d])\.([\d]{1,2})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);Map24.Browser.Revision=0;}else
if(navigator.userAgent.match(new RegExp("Navigator"))){
Map24.Browser.NAVIGATOR=true;Map24.Browser.Name="Netscape Navigator";var rexp=new RegExp("Navigator[ /]*([\d])\.([\d]{1,2})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);Map24.Browser.Revision=0;}else
if(navigator.userAgent.match(new RegExp("Opera"))){
Map24.Browser.OPERA=true;Map24.Browser.Name="Opera";var rexp=new RegExp("Opera[ /]+([0-9])\\.([0-9]{1,2})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);Map24.Browser.Revision=0;}else
if(navigator.userAgent.match(new RegExp("MSIE"))){
Map24.Browser.IE=true;Map24.Browser.Name="Microsoft Internet Explorer";var rexp=new RegExp("MSIE ([0-9])\\.([0-9])([0-9]{0,1})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);try{
Map24.Browser.Revision=parseInt(res[3]);}catch(e){}
if(isNaN(Map24.Browser.Revision))Map24.Browser.Revision=0;if(Map24.Browser.MajorVersion==6&&Map24.Browser.MinorVersion==0){
try{
var ie_rexp=new RegExp("(SV1)");var ie_res=rexp.exec(navigator.userAgent);if((ie_res instanceof Array)&&(ie_res.length>=2)&&(ie_res[1]=="SV1"))
{
Map24.Browser.Revision=1;}
}catch(e){}
}
}else
if(navigator.userAgent.match(new RegExp("Safari"))){
Map24.Browser.SAFARI=true;Map24.Browser.Name="Safari";try{
var rexp=new RegExp("Version\\/([0-9]+)\\.([0-9]+)\\.([0-9]+)");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);Map24.Browser.Revision=parseInt(res[3]);}catch(e){}
}else
if(navigator.userAgent.match(new RegExp("Firefox"))){
Map24.Browser.FIREFOX=true;Map24.Browser.Name="Firefox";var rexp=new RegExp("Firefox\\/([0-9])\\.([0-9])\\.?([0-9]{0,1})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);try{
Map24.Browser.Revision=parseInt(res[3]);}catch(e){}
if(!Map24.isNumeric(Map24.Browser.Revision))
Map24.Browser.Revision=0;}else
if(navigator.userAgent.match(new RegExp("Konqueror\\/"))){
Map24.Browser.KONQUEROR=true;Map24.Browser.Name="Konqueror";var rexp=new RegExp("Konqueror\\/([0-9])\\.([0-9])\\.{0,1}([0-9]{0,1})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);try{
Map24.Browser.Revision=parseInt(res[3]);}catch(e){}
if(!Map24.isNumeric(Map24.Browser.Revision))
Map24.Browser.Revision=0;}else
if(navigator.userAgent.match(new RegExp("Mozilla\\/"))){
Map24.Browser.MOZILLA=true;Map24.Browser.Name="Mozilla";var rexp=new RegExp("rv:([0-9])\\.([0-9]{1,2})\\.?([0-9]{0,})");var res=rexp.exec(navigator.userAgent);Map24.Browser.MajorVersion=parseInt(res[1]);Map24.Browser.MinorVersion=parseInt(res[2]);try{
Map24.Browser.Revision=parseInt(res[3]);}catch(e){}
if(!Map24.isNumeric(Map24.Browser.Revision))
Map24.Browser.Revision=0;}else{
Map24.Browser.Name="Unknown";}
}catch(e){
Map24.Browser.Name="Unknown";}
}
Map24.Browser.JavaEnabled=null;Map24.Browser.JavaInstalled=null;Map24.Browser.JavaVendor=null;Map24.Browser.JavaMajorVersion=null;Map24.Browser.JavaMinorVersion=null;Map24.Browser.JavaUpdate=null;Map24.Browser.javaAvailable=function(){
if(Map24.Browser.JavaEnabled==null){
if(Map24.Browser.IE){
Map24.Browser.JavaEnabled=window.clientInformation.javaEnabled();if(Map24.Browser.JavaEnabled){
document.getElementsByTagName("head")[0].insertBefore(document.createElement("object"),document.getElementsByTagName("head")[0].firstChild);document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;" codebase="#version=1,0,0,0"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:8AD9C840-044E-11D1-B3E9-00805F499D93');if(document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('object')&&document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')==4){
Map24.Browser.JavaInstalled=true;Map24.Browser.JavaVendor="Sun Microsystems Inc.";}
else{
document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608500');if(document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')==4){
Map24.Browser.JavaInstalled=true;Map24.Browser.JavaVendor="Microsoft Inc.";}
else
Map24.Browser.JavaInstalled=false;}
document.getElementsByTagName("head")[0].removeChild(document.getElementById('Map24_Browser_JavaVM_Test'));}
}
else{
this.JavaEnabled=navigator.javaEnabled();if(Map24.Browser.OPERA){
var javaVer;if(javaVer=(window.java.lang.System.getProperty("java.version")+ "").match(/1\.([\d])\.([\d]+)\_([\d]+)/)){
Map24.Browser.JavaInstalled=true;Map24.Browser.JavaVendor=(Map24.Browser.MAC)? "Apple Inc.":"Sun Microsystems Inc.";Map24.Browser.JavaMajorVersion=parseInt(javaVer[1]);Map24.Browser.JavaMinorVersion=parseInt(javaVer[2]);Map24.Browser.JavaUpdate=parseInt(javaVer[3]);}
else if(javaVer=(window.java.lang.System.getProperty("java.version")+ "").match(/1\.([\d])\.([\d]+)/)){
Map24.Browser.JavaInstalled=true;Map24.Browser.JavaVendor=(Map24.Browser.MAC)? "Apple Inc.":"Sun Microsystems Inc.";Map24.Browser.JavaMajorVersion=parseInt(javaVer[1]);Map24.Browser.JavaMinorVersion=parseInt(javaVer[2]);}
else
Map24.Browser.JavaInstalled=false;}
else 
Map24.Browser.JavaInstalled=(typeof navigator.mimeTypes["application/x-java-applet"]!='undefined'&&typeof navigator.mimeTypes["application/x-java-applet"].enabledPlugin!='undefined');}
}
return(Map24.Browser.JavaInstalled&&Map24.Browser.JavaEnabled);}
Map24.Browser.getJavaVendor=function(){
if(!Map24.Browser.javaAvailable()&&!Map24.Browser.JavaEnabled)
return null;if(Map24.Browser.JavaVendor==null)
Map24.Browser.JavaVendor=(Map24.Browser.MAC)? "Apple Inc.":"Sun Microsystems Inc.";return Map24.Browser.JavaVendor;}
Map24.Browser.getJavaMajorVersion=function(){
if(Map24.Browser.SAFARI||Map24.Browser.KONQUEROR)
return null;if(!Map24.Browser.javaAvailable()&&!Map24.Browser.JavaInstalled)
return null;if(Map24.Browser.JavaMajorVersion==null){
if(Map24.Browser.IE){
document.getElementsByTagName("head")[0].insertBefore(document.createElement("object"),document.getElementsByTagName("head")[0].firstChild);if(Map24.Browser.JavaVendor=="Sun Microsystems Inc."){
for(var i=7;Map24.Browser.JavaMajorVersion==null;i--){
var codebaseVersion=(i>4)? i+',0,0,0':'1,'+i+',0,0';document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;" codebase="#version='+codebaseVersion+'"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:8AD9C840-044E-11D1-B3E9-00805F499D93');if(document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('object')&&document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')==4){
Map24.Browser.JavaMajorVersion=i;break;}
}
}
else{
for(var i=5;Map24.Browser.JavaMajorVersion==null;i--){
var codebaseVersion=i+',0,0,0';document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;" codebase="#version='+codebaseVersion+'"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608500');if(document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')==4){
Map24.Browser.JavaMajorVersion=i;break;}
}
}
document.getElementsByTagName("head")[0].removeChild(document.getElementsByTagName("head")[0].firstChild);}
else{
if((Map24.Browser.FIREFOX||Map24.Browser.MOZILLA||Map24.Browser.NAVIGATOR)&&!Map24.Browser.MAC)
var versionString=navigator.mimeTypes["application/x-java-applet"].enabledPlugin.description;else if((Map24.Browser.FIREFOX||Map24.Browser.CAMINO)&&Map24.Browser.MAC)
var versionString=navigator.mimeTypes["application/x-java-applet"].enabledPlugin[ navigator.mimeTypes["application/x-java-applet"].enabledPlugin.length-1 ].type;else if((Map24.Browser.MOZILLA||Map24.Browser.NAVIGATOR)&&Map24.Browser.MAC){
var versionString=navigator.mimeTypes["application/x-java-applet"].enabledPlugin[ navigator.mimeTypes["application/x-java-applet"].enabledPlugin.length-1 ].suffixes;}
var regExG;if((Map24.Browser.FIREFOX||Map24.Browser.CAMINO)&&Map24.Browser.MAC){
var regExG=versionString.match(/1\.([\d])/);Map24.Browser.JavaMajorVersion=regExG[1];}
else{
if(regExG=versionString.match(/1\.([\d])\.([\d]+)_([\d]+)/)){
Map24.Browser.JavaMajorVersion=parseInt(regExG[1]);Map24.Browser.JavaMinorVersion=parseInt(regExG[2]);Map24.Browser.JavaUpdate=parseInt(regExG[3]);}
else if(regExG=versionString.match(/1\.([\d])\.([\d]+)/)){
Map24.Browser.JavaMajorVersion=parseInt(regExG[1]);Map24.Browser.JavaMinorVersion=parseInt(regExG[2]);}
}
}
}
return Map24.Browser.JavaMajorVersion;}
Map24.Browser.getJavaMinorVersion=function(){
if(Map24.Browser.SAFARI||Map24.Browser.KONQUEROR)
return null;if(!Map24.Browser.javaAvailable()&&!Map24.Browser.JavaInstalled)
return null;if(Map24.Browser.JavaMinorVersion==null){
Map24.Browser.getJavaMajorVersion();if(Map24.Browser.IE){
document.getElementsByTagName("head")[0].insertBefore(document.createElement("object"),document.getElementsByTagName("head")[0].firstChild);if(Map24.Browser.JavaVendor=="Sun Microsystems Inc."){
for(var i=1;Map24.Browser.JavaMinorVersion==null;i++){
var codebaseVersion=(Map24.Browser.JavaMajorVersion>4)? Map24.Browser.JavaMajorVersion + ','+i+',0,0':'1,'+Map24.Browser.JavaMajorVersion+','+i+',0';document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;" codebase="#version='+codebaseVersion+'"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:8AD9C840-044E-11D1-B3E9-00805F499D93');if(!document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('object')||document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')<4){
Map24.Browser.JavaMinorVersion=i - 1;break;}
}
}
else{
for(var i=1;Map24.Browser.JavaMinorVersion==null;i++){
var codebaseVersion=Map24.Browser.JavaMajorVersion+','+i+',0,0';document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;" codebase="#version='+codebaseVersion+'"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608500');if(document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')<4){
Map24.Browser.JavaMinorVersion=i - 1;break;}
}
}
document.getElementsByTagName("head")[0].removeChild(document.getElementsByTagName("head")[0].firstChild);}
}
return Map24.Browser.JavaMinorVersion;}
Map24.Browser.getJavaUpdate=function(){
if(Map24.Browser.SAFARI||Map24.Browser.KONQUEROR)
return null;if(!Map24.Browser.javaAvailable()&&!Map24.Browser.JavaInstalled)
return null;if(Map24.Browser.JavaUpdate==null){
Map24.Browser.getJavaMajorVersion();if(Map24.Browser.IE){
document.getElementsByTagName("head")[0].insertBefore(document.createElement("object"),document.getElementsByTagName("head")[0].firstChild);if(Map24.Browser.JavaVendor=="Sun Microsystems Inc."){
for(var i=1;Map24.Browser.JavaUpdate==null;i++){
var codebaseVersion=(Map24.Browser.JavaMajorVersion>4)? Map24.Browser.JavaMajorVersion + ','+Map24.Browser.JavaMinorVersion+','+i+'0,0':'1,'+Map24.Browser.JavaMajorVersion+','+Map24.Browser.JavaMinorVersion+','+i+'0';document.getElementsByTagName("head")[0].firstChild.outerHTML='<object id="Map24_Browser_JavaVM_Test" width="1" height="1" style="display:none;" codebase="#version='+codebaseVersion+'"><param name="code" value="Map24BrowserJavaVMTest.class" /></object>';document.getElementById('Map24_Browser_JavaVM_Test').setAttribute('classid','clsid:8AD9C840-044E-11D1-B3E9-00805F499D93');if(!document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('object')||document.getElementById('Map24_Browser_JavaVM_Test').getAttribute('readyState')<4){
Map24.Browser.JavaUpdate=i - 1;break;}
}
}
}
}
return Map24.Browser.JavaUpdate;}
Map24.Browser.initialize();Map24.Browser.Event=function(e,win){
this.__constructor=function(e,win){
Map24.Browser.Event.prototype.__constructor.call(this);this.Class="Event";this.Package="Map24.Browser";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Time=(new Date()).getTime();this.Event=e;if(Map24.isNull(win))win=window;if(Map24.isNull(this.Event))this.Event=win.event;if(Map24.isNull(this.Event))this.Event={};this.Source=null;if(!Map24.isNull(this.Event.srcElement)&&Map24.isObject(this.Event.srcElement))
this.Source=this.Event.srcElement;else
if(!Map24.isNull(this.Event.originalTarget)&&Map24.isObject(this.Event.originalTarget))
this.Source=this.Event.originalTarget;if((this.Event.type=="mouseover")||(this.Event.type=="mouseenter")){
if(Map24.Browser.IE)
this.FromElement=this.Event.fromElement;else
this.FromElement=this.Event.relatedTarget;}else
if((this.Event.type=="mouseout")||(this.Event.type=="mouseleave")){
this.FromElement=this.Source;}
if((this.Event.type=="mouseover")||(this.Event.type=="mouseenter")){
this.ToElement=this.Source;}else
if((this.Event.type=="mouseout")||(this.Event.type=="mouseleave")){
if(Map24.Browser.IE)
this.ToElement=this.Event.toElement;else
this.ToElement=this.Event.relatedTarget;}
this.X=0;this.Y=0;if(Map24.Browser.OPERA){
this.X=this.Event["offsetX"];this.Y=this.Event["offsetY"];}else
if(Map24.Browser.IE){
this.X=this.Event.x;if(this.Event["srcElement"]&&Map24.isNumber(this.Event.srcElement["scrollLeft"]))
this.X +=this.Event.srcElement.scrollLeft;this.Y=this.Event.y;if(this.Event["srcElement"]&&Map24.isNumber(this.Event.srcElement["scrollTop"]))
this.Y +=this.Event.srcElement.scrollTop;}else
if(typeof this.Event.layerY=="number"){
this.X=this.Event.layerX - this.Event.currentTarget.offsetLeft;this.Y=this.Event.layerY - this.Event.currentTarget.offsetTop;}
this.ClientX=null;this.ClientY=null;if(Map24.Browser.IE||Map24.Browser.OPERA){
this.ClientX=this.Event.clientX;this.ClientY=this.Event.clientY;}else{
this.ClientX=this.Event.pageX;this.ClientY=this.Event.pageY;}
this.AltKey=false;if(this.Event.altKey)this.AltKey=true;this.CtrlKey=false;if(this.Event.ctrlKey)this.CtrlKey=true;this.ShiftKey=false;if(this.Event.shiftKey)this.ShiftKey=true;this.KeyCode=null;if(typeof this.Event.keyCode=="number")
this.KeyCode=this.Event.keyCode;this.Type="unknown";if(typeof this.Event.type=="string"){
if(this.Event.type.substr(0,2)!="on")
this.Type="on"+this.Event.type;else
this.Type=this.Event.type;}
this.Button=0;if(typeof this.Event.button=="number")
{
if(Map24.Browser.IE||Map24.Browser.SAFARI){
this.Button=this.Event.button;}else
if(Map24.Browser.OPERA&&Map24.Browser.MajorVersion<8){
switch(this.Event.button){
case 1:this.Button=Map24.Browser.LEFT_BUTTON;break;case 2:this.Button=Map24.Browser.RIGHT_BUTTON;break;case 3:this.Button=Map24.Browser.MIDDLE_BUTTON;break;}
}else
{
switch(this.Event.button){
case 0:this.Button=Map24.Browser.LEFT_BUTTON;break;case 1:this.Button=Map24.Browser.MIDDLE_BUTTON;break;case 2:this.Button=Map24.Browser.RIGHT_BUTTON;break;}
}
}
this._cancel=false;}
this.leftButton=function(){
return Map24.Browser.leftButton(this.Button);}
this.rightButton=function(){
return Map24.Browser.rightButton(this.Button);}
this.middleButton=function(){
return Map24.Browser.middleButton(this.Button);}
this.stop=function(){
this.cancel();this.stopPropagation();}
this.stopEvent=function(){
this.cancel();this.stopPropagation();}
this.cancel=function(){
if(this.Event.preventDefault){
this.Event.preventDefault();}else{
this.Event.returnValue=false;}
}
this.stopPropagation=function(){
if(this.Event.stopPropagation){
this.Event.stopPropagation();}else{
this.Event.cancelBubble=true;}
}
this.__constructor(e,win);}
Map24.Browser.Event.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Browser.Event");Map24.Browser.LEFT_BUTTON=1;Map24.Browser.RIGHT_BUTTON=2;Map24.Browser.MIDDLE_BUTTON=4;Map24.Browser.leftButton=function(button_flags){
return((button_flags&Map24.Browser.LEFT_BUTTON)==Map24.Browser.LEFT_BUTTON);}
Map24.Browser.rightButton=function(button_flags){
return((button_flags&Map24.Browser.RIGHT_BUTTON)==Map24.Browser.RIGHT_BUTTON);}
Map24.Browser.middleButton=function(button_flags){
return((button_flags&Map24.Browser.MIDDLE_BUTTON)==Map24.Browser.MIDDLE_BUTTON);}
Map24.GUI=function(){}
Map24.GUI.Object=function(default_args){
this.__constructor=function(default_args){
Map24.GUI.Object.prototype.__constructor.call(this);this.Class="Object";this.Package="Map24.GUI";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(typeof default_args=="boolean"&&(default_args==false))return;if(!(default_args instanceof Object))default_args={};this.Win=null;if(typeof default_args["Win"]!="undefined")
this.Win=default_args.Win;else
this.Win=window;this.Doc=null;if(typeof default_args["Doc"]!="undefined")
this.Doc=default_args.Doc;else
this.Doc=this.Win.document;this.Node=null;if(typeof default_args["Node"]!="undefined")
this.Node=default_args.Node;else
this.Node=this.Doc.createElement("DIV");this.ButtonStatus=0;this.ReleaseButtonOnMouseOut=true;if(typeof default_args["ReleaseButtonOnMouseOut"]!="undefined")
this.ReleaseButtonOnMouseOut=default_args.ReleaseButtonOnMouseOut;this.IgnoreImpossibleEvents=true;if(typeof default_args["IgnoreImpossibleEvents"]!="undefined")
this.IgnoreImpossibleEvents=default_args.IgnoreImpossibleEvents;this.OptimizeMouseMove=true;if(typeof default_args["OptimizeMouseMove"]!="undefined")
this.OptimizeMouseMove=default_args.OptimizeMouseMove;this.InstanceId=null;if(typeof default_args["InstanceId"]!="undefined")
this.InstanceId=default_args.InstanceId;else
this.InstanceId=Map24.makeUniqueId(10);this.Node.InstanceId=this.InstanceId;Map24.GUI.Object._Instances[ this.InstanceId ]=this;}
this.destroy=function(){
try{
delete Map24.GUI.Object._Instances[ this.InstanceId ];}catch(e){
e.Method="Map24.GUI.Object.destroy";Map24.e(e);}
}
this.disableContextMenu=function(){
this.Node.oncontextmenu=Map24.GUI.Object.MouseEventHandlerKiller;this.Node.ondragstart=Map24.GUI.Object.MouseEventHandlerKiller;this.Node.ondrag=Map24.GUI.Object.MouseEventHandlerKiller;}
this.addEventListener=function(event_type,listener){
if(typeof event_type!="string")return false;if(typeof listener=="undefined")return false;if((typeof listener!="function")&&!(listener instanceof Callable))return false;event_type=event_type.toLowerCase();if(!(this._EventQueue[event_type] instanceof Array))return false;var event_queue=this._EventQueue[event_type];if((event_type=="onmousedown"||event_type=="onmouseup")&&!this._OnMouseOutRelease)
{
this._OnMouseOutRelease=true;this.addEventListener("onmouseleave",Map24.GUI.Object._checkARMBOMO);}
event_queue[event_queue.length++]=listener;if(event_type=="onmouseenter")event_type="onmouseover";if(event_type=="onmouseleave")event_type="onmouseout";if(this.Node[event_type]!=Map24.GUI.Object.MouseEventHandler)
this.Node[event_type]=Map24.GUI.Object.MouseEventHandler;return true;}
this.removeEventListener=function(listener){
if(typeof event_type!="string")return 0;if(typeof listener=="undefined")return 0;if((typeof listener!="function")&&!(listener instanceof Callable))return 0;var cn=0;var event_queue=null;for(var key in this._EventQueue){
event_queue=this._EventQueue[key];for(var i=0,n=event_queue.length;i<n;i++){
if(event_queue[i]==listener){
event_queue[i]=null;cn++;}
}
}
return cn;}
this.clearEventListener=function(){
for(var key in this._EventQueue){
this._EventQueue[key].length=0;}
this._OnMouseOutRelease=false;this.Node.onclick=null;this.Node.ondblclick=null;this.Node.onmouseup=null;this.Node.onmousedown=null;this.Node.onmousemove=null;this.Node.onmouseover=null;this.Node.onmouseout=null;}
this.getOffset=function(){
return Map24.getNodePos(this.Node);}
this._EventQueue={
"onclick":[],"ondblclick":[],"onmouseover":[],"onmouseenter":[],"onmouseout":[],"onmouseleave":[],"onmousemove":[],"onmouseup":[],"onmousedown":[]
};this._MouseMoveMutex=false;this._NextMouseMove=0;this._MouseMoveCooldown=10;this._MouseIsAbove=false;this._OnMouseOutRelease=false;this.__constructor(default_args);}
Map24.GUI.Object.prototype=new Map24.Object;Map24.GUI.Object._Instances={};Map24.GUI.Object.getInstanceById=function(id){
if(typeof id!="string")return null;if(Map24.GUI.Object._Instances[id])
return Map24.GUI.Object._Instances[id];return null;}
Map24.GUI.Object.MouseEventHandler=function(event){
var METHOD="Map24.GUI.Object.onMouseEventHandler";if(typeof this.InstanceId!="undefined"){
var layer=Map24.GUI.Object._Instances[ this.InstanceId ];if(layer){
var e=new Map24.Browser.Event(event,layer.Win);Map24.GUI.Object.TriggerMouseEvent(e,layer);}
}
}
Map24.GUI.Object.MouseEventHandlerKiller=function(event){return false;}
Map24.GUI.Object.TriggerMouseEvent=function(e,layer){
var METHOD="Map24.GUI.Object.TriggerMouseEvent";var id=e.Type;var id2=null;switch(id){
case "onmousedown":if(layer.IgnoreImpossibleEvents&&(layer.ButtonStatus&e.Button))return;layer.ButtonStatus=layer.ButtonStatus|e.Button;break;case "onmouseup":if(layer.IgnoreImpossibleEvents&&!(layer.ButtonStatus&e.Button))return;layer.ButtonStatus=layer.ButtonStatus&(~e.Button);break;case "onmousemove":var now=(new Date()).getTime();if(layer._MouseMoveMutex){
layer._NextMouseMove=now + layer._MouseMoveCooldown;return;}
if(now<layer._NextMouseMove)return;layer._MouseMoveMutex=true;layer._NextMouseMove=now + layer._MouseMoveCooldown;break;case "onmouseover":if(!layer._MouseIsAbove){
id2="onmouseenter";layer._MouseIsAbove=true;}
break;case "onmouseout":if(layer._MouseIsAbove){
var top_left=Map24.getNodePos(layer.Node);var lower_right=new Map24.Pixel(
top_left.X + layer.Node.offsetWidth - 1,top_left.Y + layer.Node.offsetHeight - 1
);if((e.ClientX<=top_left.X)||(e.ClientX>=lower_right.X)||(e.ClientY<=top_left.Y)||(e.ClientY>=lower_right.Y))
{
id2="onmouseleave";layer._MouseIsAbove=false;}
}
break;}
var eventqueue=layer._EventQueue[id];try{
if(eventqueue instanceof Array)
for(var i=(eventqueue.length-1);i>=0;i--){
try{
if(eventqueue[i] instanceof Callable){
eventqueue[i].invokeEx([e,layer]);}else{
eventqueue[i](e,layer);}
}catch(e){
e.Method=METHOD;Map24.e(e);}
}
if(id2!=null){
eventqueue=layer._EventQueue[id2];if(eventqueue instanceof Array)
for(var i=(eventqueue.length-1);i>=0;i--){
try{
if(eventqueue[i] instanceof Callable){
eventqueue[i].invokeEx([e,layer]);}else{
eventqueue[i](e,layer);}
}catch(e){
e.Method=METHOD;Map24.e(e);}
}
}
}catch(e){
e.Method=METHOD;Map24.e(e);}
if(id=="onmousemove")layer._MouseMoveMutex=false;}
Map24.GUI.Object._checkARMBOMO=function(event,layer){
if(layer.ReleaseButtonOnMouseOut){
var top_left=Map24.getNodePos(layer.Node);var lower_right=new Map24.Pixel(
top_left.X + layer.Node.offsetWidth,top_left.Y + layer.Node.offsetHeight
);if((event.ClientX<=top_left.X)||(event.ClientX>=lower_right.X)||(event.ClientY<=top_left.Y)||(event.ClientY>=lower_right.Y))
{
if(layer.ButtonStatus&Map24.Browser.LEFT_BUTTON){
event.Type="onmouseup";event.Button=Map24.Browser.LEFT_BUTTON;Map24.GUI.Object.TriggerMouseEvent(event,layer);}
if(layer.ButtonStatus&Map24.Browser.RIGHT_BUTTON){
event.Type="onmouseup";event.Button=Map24.Browser.RIGHT_BUTTON;Map24.GUI.Object.TriggerMouseEvent(event,layer);}
if(layer.ButtonStatus&Map24.Browser.MIDDLE_BUTTON){
event.Type="onmouseup";event.Button=Map24.Browser.MIDDLE_BUTTON;Map24.GUI.Object.TriggerMouseEvent(event,layer);}
}
}
}
Map24.notifyClassReady("Map24.GUI.Object");Map24.GUI.Slider=function(default_args){
this.__constructor=function(default_args){
Map24.GUI.Slider.prototype.__constructor.call(this,default_args);this.Class="Slider";this.Package="Map24.GUI";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(!(default_args instanceof Object))default_args={};if(!Map24.isNumber(default_args["Width"]))default_args.Width=0;if(!Map24.isNumber(default_args["Height"]))default_args.Height=0;if(!(default_args["KnobSize"] instanceof Map24.Size))
default_args.KnobSize=new Map24.Size(0,0);this.Node.style.position="absolute";this.Node.style.overflow="visible";this.Node.style.left="0px";this.Node.style.top="0px";this.Width=default_args.Width;this.Node.style.width=this.Width+"px";this.Height=default_args.Height;this.Node.style.height=this.Height+"px";this.Background=new Map24.GUI.Object({Win:this.Whin,Doc:this.Doc});this.Background.disableContextMenu();this.Background.Node.style.position="absolute";this.Background.Node.style.overflow="hidden";this.Background.Node.style.zIndex=1;this.Background.Node.style.left="0px";this.Background.Node.style.top="0px";this.Background.Node.style.width=this.Width+"px";this.Background.Node.style.height=this.Height+"px";this.Node.appendChild(this.Background.Node);this.Knob=new Map24.GUI.Object({Win:this.Whin,Doc:this.Doc});this.Knob.disableContextMenu();this.Knob.Node.style.position="absolute";this.Knob.Node.style.overflow="hidden";this.Knob.Node.style.zIndex=50;this.Knob.Node.style.left="0px";this.Knob.Node.style.top="0px";this.KnobSize=default_args.KnobSize;this.Knob.Node.style.width=this.KnobSize.Width+"px";this.Knob.Node.style.height=this.KnobSize.Height+"px";this.Node.appendChild(this.Knob.Node);this.KnobHotspot=null;if(default_args["KnobHotspot"] instanceof Map24.Point)
this.KnobHotspot=default_args["KnobHotspot"];else
this.KnobHotspot=new Map24.Pixel(
this.KnobSize.Width/2,this.KnobSize.Height/2
);this.InnerBounds=null;if(default_args["InnerBounds"] instanceof Map24.Rectangle){
this.InnerBounds=default_args["InnerBounds"];}else
if(this.Width>this.Height){
alert('horizontal');var tmp_mid=this.Height>>1;this.InnerBounds=new Map24.Rectangle(
new Map24.Pixel(0,tmp_mid),new Map24.Pixel(this.Width-1,tmp_mid)
);}else
{
var tmp_mid=this.Width>>1;this.InnerBounds=new Map24.Rectangle(
new Map24.Pixel(tmp_mid,0),new Map24.Pixel(tmp_mid,this.Height-1)
);}
this.Pos=null;if(default_args["Pos"] instanceof Map24.Pixel)
this.Pos=default_args["Pos"];else
this.Pos=new Map24.Pixel(0,0);this.addEventListener("onmousedown",this.onMouseDown);this.addEventListener("onmousemove",this.onMouseMove);this.addEventListener("onmouseup",this.onMouseUp);this.disableContextMenu();this.setKnobTo(this.Pos.X,this.Pos.Y);this._DragStatus=null;}
this.getXPercentage=function(){
return this.Pos.X /(this.InnerBounds.getWidth()-1);}
this.getYPercentage=function(){
return this.Pos.Y /(this.InnerBounds.getHeight()-1);}
this.setXPercentage=function(per,sim_user){
if(typeof sim_user!="boolean")sim_user=false;if(Map24.isNumber(per)){
if(sim_user){
this.trigger(new Map24.Events.MapEvent(this,{
ID:"DRAG_START",ButtonState:this.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(this.Pos.X,this.Pos.Y)
}),0);}
this.setKnobTo(per*(this.InnerBounds.getWidth()-1),this.Pos.Y);if(sim_user){
this.trigger(new Map24.Events.MapEvent(this,{
ID:"DRAG_UPDATE",ButtonState:this.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(this.Pos.X,this.Pos.Y)
}),0);this.trigger(new Map24.Events.MapEvent(this,{
ID:"DRAG_STOP",ButtonState:this.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(this.Pos.X,this.Pos.Y)
}),0);}
}
}
this.setYPercentage=function(per,sim_user){
if(typeof sim_user!="boolean")sim_user=false;if(Map24.isNumber(per)){
if(sim_user){
this.trigger(new Map24.Events.MapEvent(this,{
ID:"DRAG_START",ButtonState:this.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(this.Pos.X,this.Pos.Y)
}),0);}
this.setKnobTo(this.Pos.X,per*(this.InnerBounds.getHeight()-1));if(sim_user){
this.trigger(new Map24.Events.MapEvent(this,{
ID:"DRAG_UPDATE",ButtonState:this.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(this.Pos.X,this.Pos.Y)
}),0);this.trigger(new Map24.Events.MapEvent(this,{
ID:"DRAG_STOP",ButtonState:this.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(this.Pos.X,this.Pos.Y)
}),0);}
}
}
this.setKnobTo=function(x,y){
if(!Map24.isNumber(x)||!Map24.isNumber(y))return;if(x<0)x=0;if(y<0)y=0;if(x>=this.InnerBounds.getWidth())
x=this.InnerBounds.getWidth()-1;if(y>=this.InnerBounds.getHeight())
y=this.InnerBounds.getHeight()-1;this.Pos.X=x;this.Pos.Y=y;this.Knob.Node.style.left=this.Pos.X - 
this.KnobHotspot.X + 
this.InnerBounds.TopLeft.X;this.Knob.Node.style.top=this.Pos.Y - 
this.KnobHotspot.Y + 
this.InnerBounds.TopLeft.Y;}
this.onMouseDown=function(e,slider){
try{
if(Map24.Browser.leftButton(e.Button)){
if(slider._DragStatus==null){
var now=(new Date().getTime());var slider_pos=Map24.getNodePos(slider.Node);var x_pos=(e.ClientX - slider_pos.X)- slider.InnerBounds.TopLeft.X;var y_pos=(e.ClientY - slider_pos.Y)- slider.InnerBounds.TopLeft.Y;slider._DragStatus={
X:x_pos,Y:y_pos,SliderPos:slider_pos,SkipMoveTill:now
};slider.setKnobTo(x_pos,y_pos);if(Map24.Browser.IE){
slider.Node.style.cursor="hand";}else{
slider.Node.style.cursor="pointer";slider.trigger(new Map24.Events.MapEvent(slider,{
ID:"DRAG_START",ButtonState:slider.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(slider.Pos.X,slider.Pos.Y)
}),0);}
}
}
e.stop();}
catch(e){
Map24.dump(e);}
}
this.onMouseUp=function(e,slider){
try{
if(Map24.Browser.leftButton(e.Button)){
if(slider._DragStatus!=null){
var slider_pos=slider._DragStatus.SliderPos;var x_pos=(e.ClientX - slider_pos.X)- slider.InnerBounds.TopLeft.X;var y_pos=(e.ClientY - slider_pos.Y)- slider.InnerBounds.TopLeft.Y;slider._DragStatus=null;slider.setKnobTo(x_pos,y_pos);if(Map24.Browser.IE)
slider.Node.style.cursor="pointer";else
slider.Node.style.cursor="default";slider.trigger(new Map24.Events.MapEvent(slider,{
ID:"DRAG_STOP",ButtonState:slider.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(slider.Pos.X,slider.Pos.Y)
}),0);}
}
e.stop();}
catch(e){
Map24.dump(e);}
}
this.onMouseMove=function(e,slider){
try{
if(slider._DragStatus){
var now=(new Date().getTime());if(now>=slider._DragStatus.SkipMoveTill){
var slider_pos=slider._DragStatus.SliderPos;var x_pos=(e.ClientX - slider_pos.X)- slider.InnerBounds.TopLeft.X;var y_pos=(e.ClientY - slider_pos.Y)- slider.InnerBounds.TopLeft.Y;slider._DragStatus={
X:x_pos,Y:y_pos,SliderPos:slider_pos,SkipMoveTill:(now+30)
};slider.setKnobTo(x_pos,y_pos);slider.trigger(new Map24.Events.MapEvent(slider,{
ID:"DRAG_UPDATE",ButtonState:slider.ButtonStatus,Button:Map24.Browser.LEFT_BUTTON,Position:new Map24.Pixel(slider.Pos.X,slider.Pos.Y)
}),0);}
}
e.stop();}
catch(e){
Map24.dump(e);}
}
this.__constructor(default_args);}
Map24.GUI.Slider.prototype=new Map24.GUI.Object(false);Map24.notifyClassReady("Map24.GUI.Slider");Map24.MapObjects=function(){}
Map24.MapObjects.MapObject=function(default_args)
{
this.__constructor=function(default_args){
Map24.MapObjects.MapObject.prototype.__constructor.call(this);if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"Map24.MapObjects.MapObject","__constructor");}else
default_args={};this.Class="MapObject";this.Package="Map24.MapObjects";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["IGeometry"]=null;this.Interfaces["Map24.Interfaces.IGeometry"]=null;this.LocationId=null;if(!Map24.isNull(default_args.LocationId)){
if(!Map24.isNumber(default_args.LocationId))throw new Map24.Exceptions.InvalidArgument("Invalid default value for 'LocationId' given!",default_args.LocationId,"Map24.MapObjects.MapObject","__constructor");this.LocationId=parseInt(default_args.LocationId);}
this.ObjectId=null;if(!Map24.isNull(default_args.ObjectId)){
if(typeof default_args.ObjectId!="number"&&typeof default_args.ObjectId!="string")throw new Map24.Exceptions.InvalidArgument("Invalid default value for 'ObjectId' given!",default_args.ObjectId,"Map24.MapObjects.MapObject","__constructor");this.ObjectId=default_args.ObjectId;}
this.Position=null;if(Map24.isObject(default_args.Position,"Position"))this.Position=default_args.Position;this.Address=null;if(Map24.isObject(default_args.Address,"Map24.Address"))this.Address=default_args.Address;this.Properties=new Hashtable();if(Map24.isObject(default_args.Properties,null))this.Properties=default_args.Properties;this.Visible=false;this.ZIndex=0;this.Dirty=0;if(Map24.isNumber(default_args.Dirty)){
this.Dirty=parseInt(default_args.Dirty);}
this.ObjectType=Map24.OBJECT_TYPE["Generic"];if(Map24.isNumber(default_args.ObjectType)){
this.ObjectType=parseInt(default_args.ObjectType);}
}
this.getObjectId=function(){
if(Map24.empty(this.ObjectId))this.ObjectId=this.LocationId;if(Map24.empty(this.ObjectId))this.ObjectId=Map24.makeUniqueId().substr(0,8);return this.ObjectId;}
this.hasGeometry=function(){
if(Map24.empty(this.Geometry))return false;return(this.Geometry.isValid());}
this.hasPosition=function(){
if(Map24.empty(this.Position))return false;return(this.Position.isValid());}
this.getPosition=function(){
return this.Position;}
this.setPosition=function(loc){
if(!Map24.isObject(loc,"IGeometry"))throw new Map24.Exceptions.InvalidArgument("The given parameter 'loc' is no valid IGeometry object!",loc,"Map24.MapObjects.MapObject","setGeometry");var old=this.Position;this.Position=loc;return old;}
this.hasAddress=function(){
if(Map24.empty(this.Address))return false;return(this.Address.isValid());}
this.getAddress=function(){
return this.Address;}
this.setAddress=function(addr){
if(!Map24.isObject(addr,"Map24.Address"))throw new Map24.Exceptions.InvalidArgument("The given parameter 'addr' is no valid Map24.Address object!",addr,"Map24.MapObjects.MapObject","setAddress");var old=this.Address;this.Address=addr;return old;}
this.get=function(property){
switch(property){
case "ObjectId":case "ObjectID":case "CustLocId":case "CustLocID":return this.getObjectId();break;case "Street":case "Postcode":case "Zip":case "City":case "Country":case "State":case "County":case "District":case "Housenumber":if(this.Address==null)return null;if(property=="Zip")property="Postcode";return this.Address.get(property);case "Longitude":case "Long":try{
var p=this.getHotspot();return p.Longitude;}catch(e){
return null;}
case "Latitude":case "Lat":try{
var p=this.getHotspot();return p.Latitude;}catch(e){
return null;}
case "x":case "X":if(this.Position==null)return null;try{
var p=this.Position.getHotspot();return p.X;}catch(e){
return null;}
case "y":case "Y":if(this.Position==null)return null;try{
var p=this.Position.getHotspot();return p.Y;}catch(e){
return null;}
case "LogoURL":case "LogoUrl":case "SymbolUrl":case "SymbolURL":return this.LogoUrl;default:return this[property];}
}
this.set=function(property,value){
switch(property){
case "ObjectId":case "ObjectID":case "CustLocId":case "CustLocID":this.ObjectId=value;break;case "Street":case "Postcode":case "Zip":case "City":case "Country":case "State":case "County":case "District":case "Housenumber":if(this.Address==null)this.Address=new Map24.Address();if(property=="Zip")property="Postcode";return this.Address.set(property,value);case "Longitude":case "Long":this.Longitude=value;break;case "Latitude":case "Lat":this.Latitude=value;break;case "x":case "X":if(this.Position==null)this.Position=new Map24.Point();this.Position.X=value;break;case "y":case "Y":if(this.Position==null)this.Position=new Map24.Point();this.Position.Y=value;break;case "LogoURL":case "LogoUrl":case "SymbolUrl":case "SymbolURL":this.LogoUrl=value;break;default:this[property]=value;}
}
this.toString=function(){
var s=this.Class+" {\r\n";if(Map24.isObject(this.Address,"Map24.Address"))s +=this.Address.toString();try{
var p=this.getHotspot();s+="Longitude: "+p.Longitude+"\r\nLatitude: "+p.nLatitude+"\r\n";}catch(e){}
try{
p=this.Position.getHotspot();s+="X: "+p.X+"\r\Y: "+p.Y+"\r\n";}catch(e){}
for(key in this.Properties){
if(typeof this.Properties[key]=="string"||typeof this.Properties[key]=="number")
s+=key+": "+this.Properties[key]+"\r\n";}
return s+"}\r\n";}
this.paintTo=function(doc,div,map_id){
}
this.getObjectTypeName=function(){
return Map24.getObjectTypeNameById(this.ObjectType);}
this.isMathematical=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","isMathematical");}
this.isGeographic=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","isGeographic");}
this.isValid=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","isValid");}
this.getCenterOfGravity=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","getCenterOfGravity");}
this.getCenter=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","getCenter");}
this.getHotspot=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","getHotspot");}
this.getDimensioning=function(){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","getDimensioning");}
this.isInside=function(p){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","isInside");}
this.isCrossing=function(p){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","isCrossing");}
this.isOutside=function(p){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","isOutside");}
this.distanceTo=function(p){
throw new Map24.Exceptions.NotSupported("Method not supported!","Map24.MapObjects.MapObject","distanceTo");}
this.__constructor(default_args);}
Map24.MapObjects.MapObject.prototype=new Map24.Object;Map24.notifyClassReady("Map24.MapObjects.MapObject");Map24.MapObjects.Location=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"Map24.MapObjects.Location","__constructor");}else
default_args={};Map24.MapObjects.Location.prototype.__constructor.call(this,default_args);this.Class="Location";this.Package="Map24.MapObjects";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinate=default_args.Coordinate;}
this.paintTo=function(doc,div,map_id){
var img=doc.createElement("img");img.border=0;img.src=this.Properties.LogoURL;img.style.position="absolute";img.style.left="0px";img.style.top="0px";div.appendChild(img);}
this.__constructor(default_args);}
Map24.MapObjects.Location.prototype=new Map24.MapObjects.MapObject;Map24.notifyClassReady("Map24.MapObjects.Location");Map24.MapObjects.HTMLObject=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"Map24.MapObjects.HTMLObject","__constructor");}else
default_args={};Map24.MapObjects.HTMLObject.prototype.__constructor.call(this,default_args);this.Class="HTMLObject";this.Package="Map24.MapObjects";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinate=default_args.Coordinate;}
this.paintTo=function(doc,div,map_id){
Map24.dump(this.Properties.HTML.replace(/Map24\.dispatchEvent\(/,"Map24.dispatchEvent('"+map_id+"',event,"));div.innerHTML=this.Properties.HTML.replace(/Map24\.dispatchEvent\(/,"Map24.dispatchEvent('"+map_id+"',event,");}
this.__constructor(default_args);}
Map24.MapObjects.HTMLObject.prototype=new Map24.MapObjects.MapObject;Map24.notifyClassReady("Map24.MapObjects.HTMLObject");Map24.Errors=function(){}
Map24.Errors.AUTH_FAILED={Code:-1,Msg:"Authentification failed!"};Map24.Errors.AUTH_TIMEOUT={Code:-2,Msg:"Authentification request timed out!"};Map24.Events=function(){}
Map24.Events.Event=function(source){
this.__constructor=function(source){
if(typeof source=="undefined")source=null;if(!(source instanceof Object)&&(source!=null))throw new Map24.Exceptions.InvalidArgument("The given source is no object and not null!",source,"Map24.Events.Event","__constructor");Map24.Events.Event.prototype.__constructor.call(this);this.Class="Error";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Cancel=false;this.CancelPropagation=false;this.TopDown=true;this.Request=null;this.Source=source;this.Attachment=null;this.Message=null;this.Code=0;this.Error=false;this.TriggerList=new Array();this._IsDelivered=false;}
this.isError=function(){
return this.Error;}
this.cancel=function(){
this.Cancel=true;}
this.cancelPropagation=function(){
this.CancelPropagation=true;}
this.beforeDelivery=function(){}
this.__constructor(source);}
Map24.Events.Event.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Events.Event");Map24.Events.Error=function(source,message,code,attachment){
this.__constructor=function(source,message,code,attachment){
Map24.Events.Error.prototype.__constructor.call(this,source);this.Class="Error";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if((typeof message=="undefined")||(message==null))message="Unknown error occurred";if(typeof message!="string")throw new Map24.Exceptions.InvalidArgument("The error message given is invalid, no string and not null!",message,"Map24.Events.Error","__constructor");if((typeof code=="undefined")||(code==null))code=0;if(typeof code!="number")throw new Map24.Exceptions.InvalidArgument("The error code given is invalid, no number and not null!",code,"Map24.Events.Error","__constructor");if(typeof attachment=="undefined")attachment=null;this.Message=message;this.Code=code;this.Attachment=attachment;}
this.__constructor(source,message,code,attachment);}
Map24.Events.Error.prototype=new Map24.Events.Event;Map24.notifyClassReady("Map24.Events.Error");Map24.Events.ShareReady=function(classes_ready,scripts_ready){
this.__constructor=function(classes_ready,scripts_ready){
if(!(classes_ready instanceof Array))throw new Map24.Exceptions.InvalidArgument("The given parameter 'classes_ready' is no array!",classes_ready,"ShareReady","__constructor");if(!(scripts_ready instanceof Array))throw new Map24.Exceptions.InvalidArgument("The given parameter 'scripts_ready' is no array!",scripts_ready,"ShareReady","__constructor");Map24.Events.ShareReady.prototype.__constructor.call(this,null);this.Class="EShareReady";this.Interfaces[this.Class]=null;this.ClassesReady=classes_ready;this.ScriptsReady=scripts_ready;}
this.__constructor(classes_ready,scripts_ready);}
Map24.Events.ShareReady.prototype=new Map24.Events.Event;Map24.notifyClassReady("Map24.Events.ShareReady");Map24.Events.ConnectionResult=function(result_set,meta_info){
this.__constructor=function(result_set,meta_info){
if(!(result_set instanceof Array))throw new Map24.Exceptions.InvalidArgument("The given parameter 'result_set' is no array!",result_set,"Map24.Events.ConnectionResult","__constructor");if(typeof meta_info=="undefined")meta_info=null;if(!(meta_info instanceof Object)&&(meta_info!=null))throw new Map24.Exceptions.InvalidArgument("The given parameter 'meta_info' is no object and not null!",meta_info,"Map24.Events.ConnectionResult","__constructor");Map24.Events.ConnectionResult.prototype.__constructor.call(this,null);this.Class="ConnectionResult";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ResultSet=result_set;this.MetaInfo=meta_info;this.Request=null;}
this.__constructor(result_set,meta_info);}
Map24.Events.ConnectionResult.prototype=new Map24.Events.Event;Map24.notifyClassReady("Map24.Events.ConnectionResult");Map24.Events.ConnectionTimeout=function(){
this.__constructor=function(){
Map24.Events.ConnectionTimeout.prototype.__constructor.call(this,null,"Connection timed out!");this.Class="ConnectionTimeout";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Request=null;}
this.__constructor();}
Map24.Events.ConnectionTimeout.prototype=new Map24.Events.Error;Map24.notifyClassReady("Map24.Events.ConnectionTimeout");Map24.Events.ConnectionError=function(message,code,attachment){
this.__constructor=function(message,code,attachment){
Map24.Events.ConnectionError.prototype.__constructor.call(this,null,message,code,attachment);this.Class="ConnectionError";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Request=null;}
this.__constructor(message,code,attachment);}
Map24.Events.ConnectionError.prototype=new Map24.Events.Error;Map24.notifyClassReady("Map24.Events.ConnectionError");Map24.Events.SessionError=function(source,message,code,attachment){
this.__constructor=function(source,message,code,attachment){
Map24.Events.SessionError.prototype.__constructor.call(this,source,message,code,attachment);this.Class="SessionError";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Source=source;}
this.__constructor(source,message,code,attachment);}
Map24.Events.SessionError.prototype=new Map24.Events.Error;Map24.notifyClassReady("Map24.Events.SessionError");Map24.Events.SessionReady=function(source){
this.__constructor=function(source){
Map24.Events.SessionReady.prototype.__constructor.call(this,source);this.Class="SessionReady";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Source=source;}
this.__constructor(source);}
Map24.Events.SessionReady.prototype=new Map24.Events.Event;Map24.notifyClassReady("Map24.Events.SessionReady");Map24.Events.AuthentificationError=function(app_key,session_id,message,code,attachment){
this.__constructor=function(app_key,session_id,message,code,attachment){
Map24.Events.AuthentificationError.prototype.__constructor.call(this,null,message,code,attachment);this.Class="AuthentificationError";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ApplicationKey=app_key;this.SessionId=session_id;}
this.__constructor(app_key,session_id,message,code,attachment);}
Map24.Events.AuthentificationError.prototype=new Map24.Events.Error;Map24.notifyClassReady("Map24.Events.AuthentificationError");Map24.Events.MapEvent=function(source,default_args){
this.__constructor=function(source,default_args){
Map24.Events.MapEvent.prototype.__constructor.call(this,source);this.Class="MapEvent";this.Package="Map24.Events";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(!(default_args instanceof Object))default_args={};this.ID=null;if(typeof default_args.ID=="string")this.ID=default_args.ID;this.Time=null;if(typeof default_args.Time=="number")
this.Time=default_args.Time;else
this.Time=(new Date()).getTime();this.TargetId=null;if(typeof default_args.TargetId=="string")
this.TargetId=default_args.TargetId;this.Target=null;if(default_args.Target instanceof Object)
this.Target=default_args.Target;this.ButtonState=0;if(typeof default_args.ButtonState=="number")
this.ButtonState=default_args.ButtonState;this.Button=0;if(typeof default_args.Button=="number")
this.Button=default_args.Button;this.Position=null;if(default_args.Position instanceof Map24.Point)
this.Position=default_args.Position;this.MapPan=null;if(default_args.MapPan instanceof Map24.Pixel)
this.MapPan=default_args.MapPan;this.Properties={};if(default_args.Properties instanceof Object)
this.Properties=default_args.Properties;}
this.getRectangle=function(){}
this.getPoint=function(){}
this.getCoordinate=function(){}
this.__constructor(source,default_args);}
Map24.Events.MapEvent.prototype=new Map24.Events.Event;Map24.notifyClassReady("Map24.Events.MapEvent");Map24.Exceptions=function(){}
Map24.Exceptions.Exception=function(message,errorcode,attachment,clas,method){
this.__constructor=function(message,errorcode,attachment,clas,method){
Map24.Exceptions.Exception.prototype.__constructor.call(this);this.Class="Exception";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this._ExceptionClass="";if(typeof clas=="string")this._ExceptionClass=clas;this._ExceptionMethod="";if(typeof method=="string")this._ExceptionMethod=method;this._File=null;if(typeof this["fileName"]=="string")this._File=this["fileName"];this._Line=null;if(typeof this["lineNumber"]=="string")this._Line=this["lineNumber"];this._Message="";this._Errorcode=0;this._Attachment=null;if(typeof message!="string")
this._Message="Invalid message for exception given!";else
this._Message=message;if(typeof errorcode=="number")
this._Errorcode=errorcode;else
if(typeof errorcode=="string")
this._Errorcode=parseInt(errorcode);if(typeof attachment!="undefined")this._Attachment=attachment;}
this.__constructor(message,errorcode,attachment,clas,method);this.toString=function(){
var s="";if(!Map24.empty(this._ExceptionMethod))s +=this._ExceptionClass;if(!Map24.empty(this._ExceptionClass)&&!Map24.empty(this._ExceptionMethod))s +=".";if(!Map24.empty(this._ExceptionMethod))s +=this._ExceptionMethod+"(): ";if(this._Line!=null)s +=":"+this._Line;if(this._Errorcode!=0)
s +="["+this._Errorcode+"] "+this._Message;else
s +=this._Message;switch(typeof this._Attachment){
case "undefined":break;case "number":case "string":s +=" {"+this._Attachment+"}";break;case "boolean":s +=" {"+(this._Attachment?"true":"false")+"}";break;case "null":case "object":if(this._Attachment==null)
s +=" {null}";else
if(typeof this._Attachment._class=="string")
s +=" {"+this._Attachment._class+"}";else
s +=" {object}";break;case "function":s +=" {function}";break;default:s +=" {native object}";break;}
if(!Map24.empty(this._File))s +=" @"+this._File;if(!Map24.empty(this._Line))s +=":"+this._Line;return s;}
this.getMessage=function(){
return this._Message;}
this.getClass=function(){
return this._ExceptionClass;}
this.getMethod=function(){
return this._ExceptionMethod;}
this.getFile=function(){
return this._File;}
this.getLine=function(){
return this._Line;}
this.getAttachment=function(){
return this._Attachment;}
this.getCode=function(){
return this._Errorcode;}
this.dump=function(){Map24.dump(this);}
}
Map24.Exceptions.Exception.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Exceptions.Exception");Map24.Exceptions.InvalidArgument=function(message,attachment,clas,method){
this.__constructor=function(message,attachment,clas,method){
if(Map24.empty(message))message="Invalid argument given!";Map24.Exceptions.InvalidArgument.prototype.__constructor.call(this,message,-1,attachment,clas,method);this.Class="InvalidArgument";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(message,attachment,clas,method);}
Map24.Exceptions.InvalidArgument.prototype=new Map24.Exceptions.Exception;Map24.notifyClassReady("Map24.Exceptions.InvalidArgument");Map24.Exceptions.InterfaceNotSupported=function(message,attachment,clas,method){
this.__constructor=function(message,attachment,clas,method){
if(Map24.empty(message))message="Interface not supported!";Map24.Exceptions.InterfaceNotSupported.prototype.__constructor.call(this,message,-3,attachment,clas,method);this.Class="InterfaceNotSupported";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(message,attachment,clas,method);}
Map24.Exceptions.InterfaceNotSupported.prototype=new Map24.Exceptions.Exception;Map24.notifyClassReady("Map24.Exceptions.InterfaceNotSupported");Map24.Exceptions.ClassNotReady=function(message,attachment,clas,method){
this.__constructor=function(message,attachment,clas,method){
if(Map24.empty(message))message="Class not ready!";Map24.Exceptions.ClassNotReady.prototype.__constructor.call(this,message,-2,attachment,clas,method);this.Class="ClassNotReady";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(message,attachment,clas,method);}
Map24.Exceptions.ClassNotReady.prototype=new Map24.Exceptions.Exception;Map24.notifyClassReady("Map24.Exceptions.ClassNotReady");Map24.Exceptions.NotImplemented=function(message,clas,method){
this.__constructor=function(message,clas,method){
if(Map24.empty(message))message="The called method/function is not implemented!";Map24.Exceptions.NotImplemented.prototype.__constructor.call(this,message,-4,null,clas,method);this.Class="NotImplemented";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(message,clas,method);}
Map24.Exceptions.NotImplemented.prototype=new Map24.Exceptions.Exception;Map24.notifyClassReady("Map24.Exceptions.NotImplemented");Map24.Exceptions.Busy=function(message,clas,method){
this.__constructor=function(message,clas,method){
if(Map24.empty(message))message="The called method/function is currently busy!";Map24.Exceptions.Busy.prototype.__constructor.call(this,message,-5,null,clas,method);this.Class="Busy";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(message,clas,method);}
Map24.Exceptions.Busy.prototype=new Map24.Exceptions.Exception;Map24.notifyClassReady("Map24.Exceptions.Busy");Map24.Exceptions.NotSupported=function(message,attachment,clas,method){
this.__constructor=function(message,attachment,clas,method){
if(Map24.empty(message))message="Not supported!";Map24.Exceptions.NotSupported.prototype.__constructor.call(this,message,-5,attachment,clas,method);this.Class="NotSupported";this.Package="Map24.Exceptions";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(message,attachment,clas,method);}
Map24.Exceptions.NotSupported.prototype=new Map24.Exceptions.Exception;Map24.notifyClassReady("Map24.Exceptions.NotSupported");Map24.Network=function(){}
Map24.Network.Proxies=new Array();Map24.Network._proxyHttpGet=function(url){
if(Map24.Network.Proxies.length<=0)return url;var result=null;var call_again=new Array();for(var i=0;i<Map24.Network.Proxies.length;i++)
{
call_again.push(false);if(Map24.isObject(Map24.Network.Proxies[i],"IProxy")){
result=Map24.Network.Proxies[i].proxyHttpGet(url,true);if((result instanceof Object)){
if(typeof result.Url=="string")url=result.Url;if((typeof result.Finish=="boolean")&&(result.Finish==false))call_again[i]=true;}
}
}
for(var i=0;i<Map24.Network.Proxies.length;i++)
{
if(call_again[i]){
result=Map24.Network.Proxies[i].proxyHttpGet(url,false);if((result instanceof Object)&&(typeof result.Url=="string"))
url=result.Url;}
}
return url;}
Map24.Network._proxyHttpPost=function(url,xml){
if(Map24.Network.Proxies.length<=0)return{Url:url,Xml:xml};var result=null;var call_again=new Array();for(var i=0;i<Map24.Network.Proxies.length;i++)
{
call_again.push(false);if(Map24.isObject(Map24.Network.Proxies[i],"IProxy")){
result=Map24.Network.Proxies[i].proxyHttpPost(url,xml,true);if((result instanceof Object)){
if(typeof result.Url=="string")url=result.Url;if(typeof result.Xml=="string")xml=result.Xml;if((typeof result.Finish=="boolean")&&(result.Finish==false))call_again[i]=true;}
}
}
for(var i=0;i<Map24.Network.Proxies.length;i++)
{
if(call_again[i]){
result=Map24.Network.Proxies[i].proxyHttpPost(url,xml,false);if((result instanceof Object)){
if(typeof result.Url=="string")url=result.Url;if(typeof result.Xml=="string")xml=result.Xml;}
}
}
return{Url:url,Xml:xml};}
Map24.Network.ConnectJS=function(timeout){
this.__constructor=function(timeout)
{
if((typeof timeout=="undefined")||(timeout==null))timeout=60;if(typeof timeout!="number")throw new Map24.Exceptions.InvalidArgument("The given parameter 'timeout' is invalid, no number and not null!",timeout,"Map24.Network.ConnectJS","__constructor");Map24.Network.ConnectJS.prototype.__constructor.call(this);this.Class="ConnectJS";this.Package="Map24.Network";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["IConnect"]=null;this.Interfaces["Map24.Interfaces.IConnect"]=null;this.Ready=true;this.Timeout=60;this._TimeoutAt=0;this._TimedOut=false;this._Request=null;this._RequestId=null;this.addListener(new Callable(this,this._defaultEventHandler));}
this.setTimeout=function(timeout){
if((typeof timeout!="number")||(timeout<=0))throw new Map24.Exceptions.InvalidArgument("The given timeout is invalid!",timeout,"Map24.Network.ConnectJS","setTimeout");this.Timeout=timeout;}
this.getTimeout=function(timeout){
return this.Timeout;}
this.timeout=function(){
return this._TimedOut;}
this._defaultEventHandler=function(event){
if((event instanceof Map24.Events.ConnectionError)||(event instanceof Map24.Events.ConnectionTimeout)||(event instanceof Map24.Events.ConnectionResult))
{
this.Ready=true;}
return true;}
this.sendRequest=function(request,blocking){
if(!this.Ready)throw new Map24.Exceptions.Busy("There is an open request, it is not possible to send two requests parallel!",null,"Map24.Network.ConnectJS","sendRequest");if(typeof blocking!="boolean")blocking=false;if(blocking)throw new Map24.Exceptions.InvalidArgument("Blocking mode is not supported by this implementation of the IConnect interface!",null,"Map24.Network.ConnectJS","sendRequest");if(!Map24.isObject(request,"IConnectRequest"))throw new Map24.Exceptions.InvalidArgument("The given parameter 'request' is not implementing the IConnectRequest interface!",request,"Map24.Network.ConnectJS","sendRequest");this.Ready=false;this._TimeoutAt=Map24.millitime()+ this.Timeout*1000;this._TimedOut=false;this._Request=request;this._RequestId=request.RequestId;Map24.Network.ConnectJS.OpenRequests[request.RequestId]=this;var url="";if((typeof request.ResultUrl=="string")&&(request.ResultUrl.length>0))
{
url=request.ResultUrl;}else{
var args="";if(request.Args instanceof Object){
for(var key in request.Args){
args +="&"+Map24.urlencode(key)+"="+Map24.urlencode(request.Args[key]);}
}
args +="&sid="+Map24.urlencode(request.SessionId);args +="&mid="+Map24.urlencode(request.Map24Id);var url=request.Url;if(url.indexOf("?")<0)
url +='?'+args.substr(1);else
url +=args;}
url=Map24.Network._proxyHttpGet(url);Map24.dump("sending GET-request: "+url);var script=document.createElement('SCRIPT');script.id=this._RequestId;script.defer=true;script.src=url;script.type="text/javascript";script.charset="utf-8";document.getElementsByTagName('head')[0].appendChild(script);}
this.countOpenRequests=function(){
return(this.Ready?0:1);}
this.isReady=function(){
return(this.Ready);}
this.__constructor(timeout);}
Map24.Network.ConnectJS.prototype=new Map24.Object;Map24.Network.ConnectJS.OpenRequests={};Map24.Network.ConnectJS.checkTimeout=function(){
try
{
var timedOut=new Array();var now=Map24.millitime();var conn=null;for(var key in Map24.Network.ConnectJS.OpenRequests)
{
try{
if(Map24.Network.ConnectJS.OpenRequests[key]!=null){
if(Map24.Network.ConnectJS.OpenRequests[key]._TimeoutAt<now&&Map24.Network.ConnectJS.OpenRequests[key].Ready==false)
{
conn=Map24.Network.ConnectJS.OpenRequests[key]
delete Map24.Network.ConnectJS.OpenRequests[key];conn._TimedOut=true;conn.Ready=true;timedOut.push(conn);}
}
}catch(e){
Map24.dump(e,null,1);}
}
while(timedOut.length>0){
try{
var tmpNode=document.getElementById(conn._RequestId);tmpNode.parentNode.removeChild(tmpNode);var event=new Map24.Events.ConnectionTimeout();conn=timedOut.shift();event.Request=conn._Request;event.Source=conn;conn.trigger(event);}catch(e){
Map24.dump(e,null,1);}
}
}catch(e){
Map24.dump(e);}
setTimeout("Map24.Network.ConnectJS.checkTimeout()",1000);}
setTimeout("Map24.Network.ConnectJS.checkTimeout()",1000);Map24.Network.ConnectJS.triggerResult=function(request_id,event){
Map24.dump("results for request with ID '"+request_id+"' received!");if((typeof Map24.Network.ConnectJS.OpenRequests[request_id]!="undefined")&&(Map24.Network.ConnectJS.OpenRequests[request_id]!=null))
{
try{
var conn=Map24.Network.ConnectJS.OpenRequests[request_id];delete Map24.Network.ConnectJS.OpenRequests[request_id];if(!(event instanceof Map24.Events.Event)){
event=new Map24.Events.ConnectionError("The event object returned by the service is no Map24.Events.Event instance!",0,event,null,"Map24.Network.ConnectJS.triggerResult");}
event.Request=conn._Request;event.Source=conn;conn.trigger(event);}catch(e){
Map24.dump(e,null,1);}
}
}
function Map24ConnectJS_triggerResult(request_id,event){Map24.Network.ConnectJS.triggerResult(request_id,event);}
function CConnectJS_triggerResult(request_id,event){Map24.Network.ConnectJS.triggerResult(request_id,event);}
Map24.notifyClassReady("Map24.Network.ConnectJS");Map24.Network.ConnectJSPXML=function(formnode){
this.__constructor=function(formnode)
{
if(typeof formnode=="string")formnode=document.getElementById(formnode);if(!Map24.isObject(formnode)||(typeof formnode.nodeName!="string"))throw new Map24.Exceptions.InvalidArgument("The given parameter 'formnode' is invalid, no node object!",formnode,"Map24.Exceptions.ConnectJSPXML","__constructor");Map24.Network.ConnectJSPXML.prototype.__constructor.call(this);this.Class="ConnectJSPXML";this.Package="Map24.Network";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["IConnect"]=null;this.Interfaces["Map24.Interfaces.IConnect"]=null;this.Timeout=60;this._Request=null;this._FormNode=formnode;this._IFrameName=Map24.makeUniqueId();this._PostIFrame=null;this._IFrameTop=0;this._IFrameLeft=0;this._IFrameWidth=0;this._IFrameHeight=0;this.RequestTimeLimit=Map24.Network.ConnectJSPXML.REQUESTTIMELIMIT;this._Form=document.createElement("FORM");this._Form.style.width="0px";this._Form.style.height="0px";this._Form.style.border="0px none";this._Form.action="";this._Form.method="POST";this._Form.acceptCharset="UTF-8";this._Form.name="xmlrequest";this._Form.id=Map24.makeUniqueId();this._Form.target=this._IFrameName;this._XMLDoc=document.createElement("TEXTAREA");this._XMLDoc.style.width="0px";this._XMLDoc.style.height="0px";this._XMLDoc.style.border="0px none";this._XMLDoc.name="requestvalue";this._XMLDoc.value="";this._XMLDoc.id=Map24.makeUniqueId();this._Form.appendChild(this._XMLDoc);this._FormNode.appendChild(this._Form);this._PostQueue=new Array();this._PostRuning=false;}
this.setTimeout=function(timeout){
if((typeof timeout!="number")||(timeout<=0))throw new Map24.Exceptions.InvalidArgument("The given timeout is invalid!",timeout,"Map24.Network.ConnectJSPXML","setTimeout");this.Timeout=timeout;}
this.getTimeout=function(timeout){
return this.Timeout;}
this._postRun=function(recall){
if(typeof recall!="boolean")recall=false;this._PostRuning=true;if(this._PostQueue.length>0){
var postPrepare=new Callable(this,this._postPrepare);if(!recall){
postPrepare.setTimeout(650);}else
postPrepare.setTimeout(400);}else
this._PostRuning=false;}
this._postPrepare=function(){
var request=null;try{
var mrc=[];var request_mrc=null;var request_rim=null;while(request=this._PostQueue.shift()){
if(request instanceof Map24.Webservices.Request.RenderImageMap){
if((request["MRC"] instanceof Map24.Webservices.Request.MapletRemoteControl)&&(request.MRC["Commands"] instanceof Array)&&(request.MRC.Commands.length>0))
{
mrc=mrc.concat(request.MRC.Commands);}
request_rim=request;request_rim.MRC=null;}else
if(request instanceof Map24.Webservices.Request.MapletRemoteControl){
if((request["Commands"] instanceof Array)&&(request.Commands.length>0))
{
mrc=mrc.concat(request.Commands);}
request_mrc=request;request.Commands=null;}else
break;if(this._PostQueue.length>0){
if(!(this._PostQueue[0] instanceof Map24.Webservices.Request.RenderImageMap)&&!(this._PostQueue[0] instanceof Map24.Webservices.Request.MapletRemoteControl))
break;}
}
if(request_rim!=null){
request=request_rim;request.MRC=new Map24.Webservices.Request.MapletRemoteControl();request.MRC.Commands=mrc;}else 
if(request_mrc!=null){
request=request_mrc;request.Commands=mrc;}
if(!request){
this._postRun(true);return;}
}catch(e){
Map24.dump(e);}
try{
this._Request=request;this._Request.Retries=0;if((request instanceof Map24.Webservices.Request.MapletRemoteControl)||(request instanceof Map24.Webservices.Request.RenderImageMap)){
try{
Map24.dump("serializing MRC into URL:");var mrc_by_image_url=request.toUrl();if((typeof mrc_by_image_url=="string")&&(mrc_by_image_url.length>0))
{
if(mrc_by_image_url.length<900)
{
var url=request.Url;if(url.indexOf("?")<0)
url +="?";else
url +="&";url +="sid="+Map24.urlencode(request.SessionId);if(!Map24.isNull(request.Map24Id))
url +="&mid="+Map24.urlencode(request.Map24Id);url +=mrc_by_image_url;url +="&t="+Map24.makeUniqueId(8);if(request instanceof Map24.Webservices.Request.RenderImageMap)
{
Map24.dump("sending RenderImageMap by HTTP-Get load, url is: "+url);Map24.dump("original XML was:");Map24.dump(request.toXml());request.ResultUrl=url;request.Conn.sendRequest(request);this._Request=null;this._postRun(true);return;}else{
Map24.dump("sending MRC by image load, url is: "+url);Map24.dump("original XML was:");Map24.dump(request.toXml());request.LoadByImage=document.createElement("img");request.LoadByImage.src=url;request.LoadByImage.onload=function(e){
}
this._Request=null;this._postRun(true);return;}
}else{
Map24.dump("The resulting URL would be too long, going to do POST (length:"+mrc_by_image_url.length+")");Map24.dump("URL would be: "+mrc_by_image_url);}
}
}catch(e){
Map24.dump(e);}
}
var xml=request.toXml();var url=request.Url;if(url.indexOf("?")<0)
url +="?NOTIFY="+Map24.urlencode(request.RequestId);else
url +="&NOTIFY="+Map24.urlencode(request.RequestId);url +="&DEPOSIT="+Map24.urlencode(request.RequestId);url +="&sid="+Map24.urlencode(request.SessionId);if(!Map24.isNull(request.Map24Id))
url +="&mid="+Map24.urlencode(request.Map24Id);if(request.Args instanceof Object){
for(key in request.Args){
url +="&"+Map24.urlencode(key)+"="+Map24.urlencode(request.Args[key]);}
}
url +="&t="+Map24.makeUniqueId();if(Map24.Browser.IE||(Map24.Browser.FIREFOX&&Map24.Browser.MajorVersion==1&&Map24.Browser.MinorVersion==5))
{
}else
url +="&pxmlsleep="+this.RequestTimeLimit;this._IFrameName=Map24.makeUniqueId();var data=Map24.Network._proxyHttpPost(url,xml);document.getElementById(this._XMLDoc.id).value=data.Xml;document.getElementById(this._Form.id).action=data.Url;document.getElementById(this._Form.id).target=this._IFrameName;Map24.dump("prepared POST request: "+data.Url+"\nwith body:");Map24.dump(data.Xml);var postExecute=new Callable(this,this._postExecute);postExecute.setTimeout(10);}catch(e){
Map24.dump("Method '_postPrepare()' failed!");Map24.dump(e);this._Request=null;this.trigger(new Map24.Events.ConnectionError("An exception occurred while tried to post an SOAP request!",e,"Map24.Network.ConnectJSPXML","sendRequest"));this._postRun();}
}
this._postExecute=function(){
try{
if(Map24.Network.ConnectJSPXML.DEBUG==true){
}else
if(Map24.Browser.IE||(Map24.Browser.FIREFOX&&Map24.Browser.MajorVersion==1&&Map24.Browser.MinorVersion==5))
{
Map24.dump("Using innerHTML - IFrame hack");this._PostIFrame=document.createElement("DIV");this._PostIFrame.style.position="absolute";this._PostIFrame.style.left=this._IFrameLeft+"px";this._PostIFrame.style.top=this._IFrameTop+"px";this._PostIFrame.style.width=this._IFrameWidth+"px";this._PostIFrame.style.height=this._IFrameHeight+"px";this._PostIFrame.style.border="0px none";this._PostIFrame.innerHTML='\<iframe name="'+this._IFrameName+'" id="'+this._IFrameName+'" width="'+this._IFrameWidth+'" height="'+this._IFrameHeight+'"><\/iframe>';this._FormNode.appendChild(this._PostIFrame);}else{
this._PostIFrame=document.createElement("IFRAME");this._PostIFrame.style.position="absolute";this._PostIFrame.style.left=this._IFrameLeft+"px";this._PostIFrame.style.top=this._IFrameTop+"px";this._PostIFrame.style.width=this._IFrameWidth+"px";this._PostIFrame.style.height=this._IFrameHeight+"px";this._PostIFrame.style.border="0px none";this._PostIFrame.id=this._IFrameName;this._PostIFrame.name=this._IFrameName;this._PostIFrame.src=Map24.Network.ConnectJSPXML.DefaultIFrameUrl;this._FormNode.appendChild(this._PostIFrame);}
document.getElementById(this._Form.id).submit();Map24.dump("submitted POST request...");var postFinish=new Callable(this,this._postFinish);postFinish.setTimeout(10);}catch(e){
Map24.dump("The method '_postExecute()' failed!");Map24.dump(e);this._Request=null;this.trigger(new Map24.Events.ConnectionError("An exception occurred while tried to post an SOAP request!",e,"Map24.Network.ConnectJSPXML","sendRequest"));this._postRun();}
}
this._postFinish=function(){
var request=this._Request;try{
if(Map24.Network.ConnectJSPXML.DEBUG!=true){
request._RemoveIFrame=true;request._IFrameName=this._IFrameName;request._PostIFrame=this._PostIFrame;request._FormNode=this._FormNode;}
this._IFrameName=null;this._PostIFrame=null;var url=request.Url;var url_args={
sid:request.SessionId,WAIT:request.RequestId,PICKUP:request.RequestId,xslt:request.Xslt,"xslt-mime":"application/x-javascript; charset=UTF-8"
};if(!Map24.isNull(request.Map24Id))url_args["mid"]=request.Map24Id;request.ResultUrl=Map24.appendUrl(url,url_args);Map24.dump("post successfull, requesting answer ...");request.Conn.sendRequest(request);}catch(e){
Map24.dump("post failed!");Map24.dump(e);this.trigger(new Map24.Events.ConnectionError("An exception occurred while tried to post an SOAP request!",e,"Map24.Events.ConnectJSPXML","sendRequest"));this._Request=null;}
this._postRun(true);}
this.sendRequest=function(request,blocking)
{
if(!Map24.isObject(request,"IConnectRequest"))throw new Map24.Exceptions.InvalidArgument("The given parameter 'request' is not implementing the IConnectRequest interface!",request,"Map24.Network.ConnectJSPXML","sendRequest");if((typeof blocking=="boolean")&&blocking)throw new Map24.Exceptions.InvalidArgument("Blocking mode not supported!",request,"Map24.Network.ConnectJSPXML","sendRequest");request.Conn=new Map24.Network.ConnectJS();request.Conn.setParent(this);request.Conn.setTimeout(this.Timeout);this._PostQueue.push(request);Map24.dump(this._PostQueue.length+" requests in the queue now");if(!this._PostRuning)this._postRun();}
this.countOpenRequests=function(){
return this._PostQueue.length;}
this.isReady=function(){
return true;}
this.__constructor(formnode);}
Map24.Network.ConnectJSPXML.prototype=new Map24.Object;Map24.Network.ConnectJSPXML.DEBUG=false;Map24.Network.ConnectJSPXML.REQUESTTIMELIMIT=30;Map24.Network.ConnectJSPXML.DefaultIFrameUrl=null;Map24.notifyClassReady("Map24.Network.ConnectJSPXML");Map24.Network.Proxy=function(){
this.__constructor=function()
{
Map24.Network.Proxy.prototype.__constructor.call(this);this.Class="Proxy";this.Package="Map24.Network";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["IProxy"]=null;this.Interfaces["Map24.Interfaces.IProxy"]=null;}
this.proxyHttpGet=function(url,topDown){
if(!topDown)return;return{Url:Map24.Network.Proxy.SCRIPT_URL+Map24.urlencode(url),Finish:true};}
this.proxyHttpPost=function(url,xml,topDown){
if(!topDown)return;return{Url:Map24.Network.Proxy.SCRIPT_URL+Map24.urlencode(url),Xml:xml,Finish:true};}
this.__constructor();}
Map24.Network.Proxy.prototype=new Map24.Object;Map24.Network.Proxy.SCRIPT_URL='http://api.map24.com/ajax/1.2/proxyit.php?url=';Map24.Webservices=function(){}
Map24.Webservices.getMap24Application=function(settings){
if(!(settings instanceof Object))settings={};if((typeof settings["SuppressInitialMrc"]!="boolean")||(settings["SuppressInitialMrc"]==false))
{
if(!(settings["MRC"] instanceof Map24.Webservices.Request.MapletRemoteControl)){
settings.MRC=new Map24.Webservices.Request.MapletRemoteControl();}
settings.MRC.push(new Map24.Webservices.MRC.ControlComponent({
Component:"MRC",Control:"",Properties:new Map24.Webservices.Hashtable({
"MGI.Draw.Map24HTMLObject":false
})
})
);}
if((typeof settings.SessionId!="string")||(settings.SessionId.length<=4))
settings.SessionId=Map24.makeUniqueId();Map24.Webservices._Map=new Map24.Map(settings);Map24.Webservices._Settings=settings;Map24._include("http://api.maptp.map24.com/ajax?appkey="+settings.AppKey);return Map24.Webservices._Map;}
Map24.Webservices._processWebServicesResponse=function(cfg){
var settings=Map24.Webservices._Settings;var map=Map24.Webservices._Map;if(cfg==null||!(cfg instanceof Object))cfg={};var conn=new Map24.Network.ConnectJS();conn.setParent(map);conn.setTimeout(Map24.Webservices.AUTHENTICATION_REQUEST_TIMEOUT);conn.onConnectionError=function(event){
this.trigger(new Map24.Events.SessionError(this,Map24.Errors.AUTH_FAILED["Msg"],Map24.Errors.AUTH_FAILED["Code"]));event.cancel();event.cancelPropagation();return true;}
conn.onConnectionTimeout=function(event){
this.trigger(new Map24.Events.SessionError(this,Map24.Errors.AUTH_TIMEOUT["Msg"],Map24.Errors.AUTH_TIMEOUT["Code"]));event.cancel();event.cancelPropagation();return true;}
var host=null;if(settings.AppKey.charAt(32)=='X'){
var maptp_id=parseInt(""+settings.AppKey.charAt(33)+settings.AppKey.charAt(34),10);if(maptp_id==13){
host='maptp14.map24.com';}else
if(!isNaN(maptp_id)){
host='maptp'+maptp_id+'.map24.com';}
}else
host="maptp14.map24.com";if((typeof settings["Host"]=="string")&&(settings.Host.length>3)){
host=settings.Host;Map24.dump("Overloaded default host with deprecated parameter \"Host\" to: "+host);}
if(typeof cfg["MapTpHost"]=="string"&&cfg.MapTpHost.length>3){
host=cfg.MapTpHost;}
if(typeof settings["MapTpHost"]=="string"&&settings.MapTpHost.length>3){
host=settings.MapTpHost;Map24.dump("Overloaded default host with to: "+host);}
var i="map24/webservices1.5";if(typeof cfg["WebServicesBaseUrl"]=="string"&&cfg.WebServicesBaseUrl.length>3){
var rexp=new RegExp("(http[s]{0,1})(://)([^/]+/)(.*)","mgi");var r=rexp.exec(cfg.WebServicesBaseUrl);if((r instanceof Array)&&(r.length>=5)){
i=r[4];}
}
if((typeof settings.ServiceInterface=="string")&&(settings.ServiceInterface.length>3)){
i=settings.ServiceInterface;while(i.length>0&&i.charAt(0)=='/')i=i.substr(1);Map24.dump("Overloaded WebServices interface to: "+i);}
if(typeof Map24.Webservices.SessionPatch["Host"]!="string")
Map24.Webservices.SessionPatch["Host"]=host;if(typeof Map24.Webservices.SessionPatch["ServiceInterface"]!="string")
Map24.Webservices.SessionPatch["ServiceInterface"]=i;var request=new Map24.Webservices.Request.GetMap24Application(
settings.AppKey,settings.SessionId,"http://"+host+'/'+i
);request.ResultUrl="http://"+host+'/'+i+
'?cgi=Map24AuthenticationService&action=getMap24Application'+
'&applicationkey='+settings.AppKey+
'&sid='+settings.SessionId+
'&requestid='+request.RequestId+
'&xslt='+Map24.XSLT_BASE_URL+'Map24AuthenticationService/getMap24Application.xsl'+
'&xslt-mime=application/x-javascript'+
'&referer='+Map24.urlencode(document.URL.substring(0,512));conn.sendRequest(request);}
Map24.Webservices._Map=null;Map24.Webservices._Settings=null;Map24.Webservices.SessionPatch={};Map24.Webservices.AUTHENTICATION_REQUEST_TIMEOUT=15;Map24.Webservices.Address=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.Address.prototype.__constructor.call(this,default_args);this.Class="Address";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ID=null;if(!Map24.isNull(default_args.ID)){
if(typeof default_args.ID!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'ID' given (no string)!",default_args.ID,"Map24.Webservices.Address","__constructor");this.ID=default_args.ID;}
this.HouseNo=null;if(!Map24.isNull(default_args.HouseNo)){
if(typeof default_args.HouseNo!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'HouseNo' given (no string)!",default_args.HouseNo,"Map24.Webservices.Address","__constructor");this.HouseNo=default_args.HouseNo;}
this.Street=null;if(!Map24.isNull(default_args.Street)){
if(typeof default_args.Street!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Street' given (no string)!",default_args.Street,"Map24.Webservices.Address","__constructor");this.Street=default_args.Street;}
this.ZIP=null;if(!Map24.isNull(default_args.ZIP)){
if(typeof default_args.ZIP!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'ZIP' given (no string)!",default_args.ZIP,"Map24.Webservices.Address","__constructor");this.ZIP=default_args.ZIP;}
this.City=null;if(!Map24.isNull(default_args.City)){
if(typeof default_args.City!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'City' given (no string)!",default_args.City,"Map24.Webservices.Address","__constructor");this.City=default_args.City;}
this.District=null;if(!Map24.isNull(default_args.District)){
if(typeof default_args.District!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'District' given (no string)!",default_args.District,"Map24.Webservices.Address","__constructor");this.District=default_args.District;}
this.County=null;if(!Map24.isNull(default_args.County)){
if(typeof default_args.County!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'County' given (no string)!",default_args.County,"Map24.Webservices.Address","__constructor");this.County=default_args.County;}
this.State=null;if(!Map24.isNull(default_args.State)){
if(typeof default_args.State!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'State' given (no string)!",default_args.State,"Map24.Webservices.Address","__constructor");this.State=default_args.State;}
this.Country=null;if(!Map24.isNull(default_args.Country)){
if(typeof default_args.Country!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Country' given (no string)!",default_args.Country,"Map24.Webservices.Address","__constructor");this.Country=default_args.Country;}
}
this.__constructor(default_args);}
Map24.Webservices.Address.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Address");Map24.Webservices.CommandsArray=function(){
this.__constructor=function(){
Map24.Webservices.CommandsArray.prototype.__constructor.call(this);this.Class="CommandsArray";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.length=0;for(var i=0;i<arguments.length;i++){
this[this.length++]=arguments[i];}
}
this.toXml=function(prefix,classname){
if(typeof prefix!="string")prefix="";if(typeof classname!="string"||classname.length<=0)
classname=this.Class;var result="";result +=prefix+"<"+classname+">\n";for(var i=0;i<this.length;i++){
result +=prefix+"\t<Command>\n";result +=Map24.toXml(prefix+"\t\t",this[i]);result +=prefix+"\t</Command>\n";}
return result + prefix + "</"+classname+">\n";}
this.length=0;for(var i=0;i<arguments.length;i++){
this[this.length++]=arguments[i];}
}
Map24.Webservices.CommandsArray.prototype=new Map24.Array;Map24.notifyClassReady("Map24.Webservices.CommandsArray");Map24.Webservices.Point=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.Point.prototype.__constructor.call(this,default_args);this.Class="Point";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Address=null;if(default_args.Address instanceof Map24.Webservices.Address){
this.Address=default_args.Address;}
this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate){
this.Coordinate=default_args.Coordinate;}
}
this.__constructor(default_args);}
Map24.Webservices.Point.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Point");Map24.Webservices.CoordinatesArray=function(){
this.__constructor=function(){
Map24.Webservices.CoordinatesArray.prototype.__constructor.call(this);this.Class="CoordinatesArray";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.length=0;for(var i=0;i<arguments.length;i++){
this[this.length++]=arguments[i];}
}
this.toXml=function(prefix,classname){
if(typeof prefix!="string")prefix="";if(typeof classname!="string"||classname.length<=0)
classname=this.Class;var result="";var Longitudes="";var Latitudes="";result +=prefix+"<"+classname+">\n";for(var i=0;i<this.length;i++){
if(this[i] instanceof Map24.Coordinate){
Longitudes +=this[i].Longitude +
((i+1)<this.length?"|":"");Latitudes +=this[i].Latitude +
((i+1)<this.length?"|":"");}
}
result +=prefix+"\t<Longitudes><![CDATA["+Longitudes+"]]></Longitudes>\n";result +=prefix+"\t<Latitudes><![CDATA["+Latitudes+"]]></Latitudes>\n";return result + prefix + "</"+classname+">\n";}
try{
if((arguments.length==2)&&(arguments[0] instanceof Array)&&(arguments[1] instanceof Array))
{
var longitudes=arguments[0];var latitudes=arguments[1];var items=Math.min(longitudes.length,latitudes.length);for(var i=0;i<items;i++){
try{
this.push(new Map24.Coordinate(longitudes[i],latitudes[i]));}catch(e){
Map24.dump("Invalid item at index "+i+" given to CoordinatesArray!");}
}
}else
if((arguments.length==2)&&(typeof arguments[0]=="string")&&(typeof arguments[0]=="string"))
{
var longitudes=arguments[0].split(Map24.Webservices.CoordinatesArray.DELIMITER);var latitudes=arguments[1].split(Map24.Webservices.CoordinatesArray.DELIMITER);var items=Math.min(longitudes.length,latitudes.length);for(var i=0;i<items;i++){
try{
this.push(new Map24.Coordinate(longitudes[i],latitudes[i]));}catch(e){
Map24.dump("Invalid item at index "+i+" given to CoordinatesArray!");}
}
}else
if((arguments.length==1)&&(arguments[0] instanceof Array))
{
for(var i=0;i<arguments[0].length;i++){
if(arguments[0][i] instanceof Map24.Coordinate)
this.push(arguments[0][i]);else
Map24.dump("Invalid item at index "+i+" given to CoordinatesArray!");}
}else
{
for(var i=0;i<arguments.length;i++){
if(arguments[i] instanceof Map24.Coordinate)
this.push(arguments[i]);else
Map24.dump("Invalid item at index "+i+" given to CoordinatesArray!");}
}
}catch(e){
Map24.dump("Unknown error in constructor of CoordinatesArray!");}
}
Map24.Webservices.CoordinatesArray.prototype=new Map24.Array;Map24.Webservices.CoordinatesArray.DELIMITER="|";Map24.notifyClassReady("Map24.Webservices.CoordinatesArray");Map24.Webservices.Map24Location=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.Map24Location.prototype.__constructor.call(this,default_args);this.Class="Map24Location";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ObjectId=null;if(!Map24.isNull(default_args.ObjectId)){
if(typeof default_args.ObjectId!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'ObjectId' given (no string)!",default_args.ObjectId,"Map24.Webservices.Map24Location","__constructor");this.ObjectId=default_args.ObjectId;}
this.CustomerLocationId=null;if(!Map24.isNull(default_args.CustomerLocationId)){
if(typeof default_args.CustomerLocationId!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'CustomerLocationId' given (no string)!",default_args.CustomerLocationId,"Map24.Webservices.Map24Location","__constructor");this.CustomerLocationId=default_args.CustomerLocationId;}
this.Address=null;if(default_args.Address instanceof Map24.Address)
this.Address=default_args.Address;this.Url=null;if(!Map24.isNull(default_args.Url)){
if(typeof default_args.Url!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Url' given (no string)!",default_args.Url,"Map24.Webservices.Map24Location","__constructor");this.Url=default_args.Url;}
this.UrlTarget=null;if(!Map24.isNull(default_args.UrlTarget)){
if(typeof default_args.UrlTarget!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'UrlTarget' given (no string)!",default_args.UrlTarget,"Map24.Webservices.Map24Location","__constructor");this.UrlTarget=default_args.UrlTarget;}
this.Description=null;if(!Map24.isNull(default_args.Description)){
if(typeof default_args.Description!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Description' given (no string)!",default_args.Description,"Map24.Webservices.Map24Location","__constructor");this.Description=default_args.Description;}
this.SymbolUrl=null;if(!Map24.isNull(default_args.SymbolUrl)){
if(typeof default_args.SymbolUrl!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'SymbolUrl' given (no string)!",default_args.SymbolUrl,"Map24.Webservices.Map24Location","__constructor");this.SymbolUrl=default_args.SymbolUrl;}
this.SymbolId=0;if(!Map24.isNull(default_args.SymbolId)){
if(!Map24.isNumeric(default_args.SymbolId))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'SymbolId' given (no number)!",default_args.SymbolId,"Map24.Webservices.Map24Location","__constructor");this.SymbolId=parseInt(default_args.SymbolId);}
this.GmSimilarity=null;if(!Map24.isNull(default_args.GmSimilarity)){
if(!Map24.isNumeric(default_args.GmSimilarity))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'GmSimilarity' given (no number)!",default_args.GmSimilarity,"Map24.Webservices.Map24Location","__constructor");this.GmSimilarity=parseInt(default_args.GmSimilarity);if(this.GmSimilarity<0||this.GmSimilarity>100)throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'GmSimilarity' given (out of bound, 0..100)!",default_args.GmSimilarity,"Map24.Webservices.Map24Location","__constructor");}
this.GmQuality=null;if(!Map24.isNull(default_args.GmQuality)){
if(typeof default_args.GmQuality!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'GmQuality' given (no string)!",default_args.GmQuality,"Map24.Webservices.Map24Location","__constructor");switch(default_args.GmQuality){
case Map24.Webservices.Map24Location.QUALITY_EXACT:case Map24.Webservices.Map24Location.QUALITY_STREET:case Map24.Webservices.Map24Location.QUALITY_POSTCODE:case Map24.Webservices.Map24Location.QUALITY_DISTRICT:case Map24.Webservices.Map24Location.QUALITY_CITY:case Map24.Webservices.Map24Location.QUALITY_STATE:case Map24.Webservices.Map24Location.QUALITY_COUNTRY:case Map24.Webservices.Map24Location.QUALITY_MISSMATCH:break;default:throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'GmQuality' given (unknown quality)!",default_args.GmQuality,"Map24.Webservices.Map24Location","__constructor");}
this.GmQuality=default_args.GmQuality;}
this.Salutation=null;if(!Map24.isNull(default_args.Salutation)){
if(typeof default_args.Salutation!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Salutation' given (no string)!",default_args.Salutation,"Map24.Webservices.Map24Location","__constructor");this.Salutation=default_args.Salutation;}
this.Longitude=null;this.Latitude=null;if(!Map24.isNull(default_args.Longitude)||!Map24.isNull(default_args.Latitude)){
if(Map24.Coordinate.isValidCoordinate(default_args.Longitude,default_args.Latitude)){
this.Longitude=default_args.Longitude;this.Latitude=default_args.Latitude;}else
throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Longitude' and/or 'Latitude'!",{Longitude:default_args.Longitude,Latitude:default_args.Latitude},"Map24.Webservices.Map24Location","__constructor");}
this.Name1=null;if(!Map24.isNull(default_args.Name1)){
if(typeof default_args.Name1!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Name1' given (no string)!",default_args.Name1,"Map24.Webservices.Map24Location","__constructor");this.Name1=default_args.Name1;}
this.Name2=null;if(!Map24.isNull(default_args.Name2)){
if(typeof default_args.Name2!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Name2' given (no string)!",default_args.Name2,"Map24.Webservices.Map24Location","__constructor");this.Name2=default_args.Name2;}
this.Name3=null;if(!Map24.isNull(default_args.Name3)){
if(typeof default_args.Name3!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Name3' given (no string)!",default_args.Name3,"Map24.Webservices.Map24Location","__constructor");this.Name3=default_args.Name3;}
this.Phone=null;if(!Map24.isNull(default_args.Phone)){
if(typeof default_args.Phone!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Phone' given (no string)!",default_args.Phone,"Map24.Webservices.Map24Location","__constructor");this.Phone=default_args.Phone;}
this.Fax=null;if(!Map24.isNull(default_args.Fax)){
if(typeof default_args.Fax!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Fax' given (no string)!",default_args.Fax,"Map24.Webservices.Map24Location","__constructor");this.Fax=default_args.Fax;}
this.EMail=null;if(!Map24.isNull(default_args.EMail)){
if(typeof default_args.EMail!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'EMail' given (no string)!",default_args.EMail,"Map24.Webservices.Map24Location","__constructor");this.EMail=default_args.EMail;}
this.ClippingWidth=null;if(!Map24.isNull(default_args.ClippingWidth)){
if(!Map24.isNumeric(default_args.ClippingWidth))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'ClippingWidth' given (no number)!",default_args.ClippingWidth,"Map24.Webservices.Map24.Webservices.Map24Location","__constructor");this.ClippingWidth=parseInt(default_args.ClippingWidth);}
this.Distance=null;if(!Map24.isNull(default_args.Distance)){
if(!Map24.isNumeric(default_args.Distance))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Distance' given (no number)!",default_args.Distance,"Map24.Webservices.Map24Location","__constructor");this.Distance=parseInt(default_args.Distance);}
this.DistanceFromLane=null;if(!Map24.isNull(default_args.DistanceFromLane)){
if(!Map24.isNumeric(default_args.DistanceFromLane))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'DistanceFromLane' given (no number)!",default_args.DistanceFromLane,"Map24.Webservices.Map24Location","__constructor");this.DistanceFromLane=parseInt(default_args.DistanceFromLane);}
this.Site=null;if(!Map24.isNull(default_args.Site)){
if(typeof default_args.Site!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Site' given (no string)!",default_args.Site,"Map24.Webservices.Map24Location","__constructor");this.Site=default_args.Site;}
this.LayerIds=null;if(!Map24.isNull(default_args.LayerIds)){
if(default_args.LayerIds instanceof Array)throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'LayerIds' given (no array)!",default_args.LayerIds,"Map24.Webservices.Map24Location","__constructor");this.LayerIds=default_args.LayerIds;}
this.GroupIds=null;if(!Map24.isNull(default_args.GroupIds)){
if(default_args.GroupIds instanceof Array)throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'GroupIds' given (no array)!",default_args.GroupIds,"Map24.Webservices.Map24Location","__constructor");this.GroupIds=default_args.GroupIds;}
}
this.__constructor(default_args);}
Map24.Webservices.Map24Location.prototype=new Map24.Object;Map24.Webservices.Map24Location.QUALITY_EXACT="Exact";Map24.Webservices.Map24Location.QUALITY_STREET="Street";Map24.Webservices.Map24Location.QUALITY_POSTCODE="Postcode";Map24.Webservices.Map24Location.QUALITY_DISTRICT="District";Map24.Webservices.Map24Location.QUALITY_CITY="City";Map24.Webservices.Map24Location.QUALITY_STATE="State";Map24.Webservices.Map24Location.QUALITY_COUNTRY="Country";Map24.Webservices.Map24Location.QUALITY_MISSMATCH="Mismatch";Map24.OBJECT_TYPE["Location"]=1000;Map24.notifyClassReady("Map24.Webservices.Map24Location");Map24.Webservices.GeocodedAddress=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.GeocodedAddress.prototype.__constructor.call(this,default_args);this.Class="GeocodedAddress";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(default_args);}
Map24.Webservices.GeocodedAddress.prototype=new Map24.Webservices.Map24Location;Map24.notifyClassReady("Map24.Webservices.GeocodedAddress");Map24.Webservices.GeocodedAddressWithLocations=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.GeocodedAddressWithLocations.prototype.__constructor.call(this,default_args);this.Class="GeocodedAddressWithLocations";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Map24Locations=default_args.Map24Locations;}
this.__constructor(default_args);}
Map24.Webservices.GeocodedAddressWithLocations.prototype=new Map24.Webservices.Map24Location;Map24.notifyClassReady("Map24.Webservices.GeocodedAddressWithLocations");Map24.Webservices.Map24LocationPaintRule=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Map24LocationPaintRule.prototype.__constructor.call(this);this.Class="Map24LocationPaintRule";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MinMPP=0;if(Map24.isNumber(default_args.MinMPP))
this.MinMPP=Math.round(parseFloat(default_args.MinMPP));this.LogoURL=null;if(typeof default_args.LogoURL=="string")
this.LogoURL=default_args.LogoURL;this.SymbolID=null;if(Map24.isNumber(default_args.SymbolID))
this.SymbolID=parseInt(default_args.SymbolID);this.MinScaleFactor=null;if(Map24.isNumber(default_args.MinScaleFactor))
this.MinScaleFactor=parseFloat(default_args.MinScaleFactor);this.MaxScaleFactor=null;if(Map24.isNumber(default_args.MaxScaleFactor))
this.MaxScaleFactor=parseFloat(default_args.MaxScaleFactor);this.LogoURLTables=null;if(default_args.LogoURLTables instanceof Array)
this.LogoURLTables=LogoURLTables;else if(default_args.LogoURLTables instanceof Map24.Webservices.Map24LocationPaintRule.LogoURLTable)
this.LogoURLTables=[default_args.LogoURLTables];this.LogoURLTablesOnMouseOver=null;if(default_args.LogoURLTablesOnMouseOver instanceof Array)
this.LogoURLTablesOnMouseOver=default_args.LogoURLTablesOnMouseOver;else if(default_args.LogoURLTablesOnMouseOver instanceof Map24.Webservices.Map24LocationPaintRule.LogoURLTable)
this.LogoURLTablesOnMouseOver=[default_args.LogoURLTablesOnMouseOver];this.SymbolIDTables=null;this.SymbolIDTablesOnMouseOver=null;}
this.__constructor(default_args);}
Map24.Webservices.Map24LocationPaintRule.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Map24LocationPaintRule");Map24.Webservices.Map24LocationPaintRule.LogoURLTable=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Map24LocationPaintRule.prototype.__constructor.call(this);this.Class="LogoURLTable";this.Package="Map24.Webservices.Map24LocationPaintRule";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.LogoURLs=null;if(default_args.LogoURLs instanceof Array)
this.LogoURLs=default_args.LogoURLs;else if(typeof default_args.LogoURLs=="string")
this.LogoURLs=[default_args.LogoURLs];else if(typeof default_args.LogoURL=="string")
this.LogoURLs=[default_args.LogoURL];}
this.__constructor(default_args);}
Map24.Webservices.Map24LocationPaintRule.LogoURLTable.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Map24LocationPaintRule.LogoURLTable");Map24.Webservices.MapSearchAlternative=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.MapSearchAlternative.prototype.__constructor.call(this,default_args);this.Class="MapSearchAlternative";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinate=default_args.Coordinate;this.Hierarchy=0;if(typeof default_args.Hierarchy=="string")
default_args.Hierarchy=parseInt(default_args.Hierarchy);if(Map24.isNumeric(default_args.Hierarchy))
this.Hierarchy=default_args.Hierarchy;this.PropertiesMajor=null;if(default_args.PropertiesMajor instanceof Object)
this.PropertiesMajor=default_args.PropertiesMajor;else
this.PropertiesMajor=new Hashtable();var v="";var p=this.PropertiesMajor;if(typeof p["Street"]!="string"){
v="";if(typeof p["street"]=="string")v=p["street"];this.PropertiesMajor["Street"]=v;}
if(typeof p["Zip"]!="string"){
v="";if(typeof p["zip"]=="string")v=p["zip"];this.PropertiesMajor["Zip"]=v;}
if(typeof p["City"]!="string"){
v="";if(typeof p["city"]=="string")v=p["city"];this.PropertiesMajor["City"]=v;}
if(typeof p["District"]!="string"){
v="";if(typeof p["district"]=="string")v=p["district"];this.PropertiesMajor["District"]=v;}
if(typeof p["State"]!="string"){
v="";if(typeof p["Sta"]=="string")v=p["Sta"];if(typeof p["state"]=="string")v=p["state"];this.PropertiesMajor["State"]=v;}
if(typeof p["Country"]!="string"){
v="";if(typeof p["Ctry"]=="string")v=p["Ctry"];if(typeof p["ctry"]=="string")v=p["ctry"];this.PropertiesMajor["Country"]=v;}
if(typeof p["County"]!="string"){
v="";if(typeof p["Cty"]=="string")v=p["Cty"];if(typeof p["cty"]=="string")v=p["cty"];this.PropertiesMajor["County"]=v;}
this.PropertiesMajor["Cty"]=this.PropertiesMajor["County"];this.PropertiesMajor["Ctry"]=this.PropertiesMajor["Country"];this.PropertiesMajor["Sta"]=this.PropertiesMajor["State"];this.PropertiesMinor=null;if(default_args.PropertiesMinor instanceof Object)
this.PropertiesMinor=default_args.PropertiesMinor;else
this.PropertiesMinor=new Hashtable();this.Housenumbers=null;if(default_args.Housenumbers instanceof Map24.Webservices.MapSearchAlternative.Housenumber)
this.Housenumbers=default_args.Housenumbers;else
this.Housenumbers=new Array();}
this.__constructor(default_args);}
Map24.Webservices.MapSearchAlternative.Housenumber=function(default_args){
if(typeof default_args.Housenumber!="number")
default_args.Housenumber=0;if(!(default_args.Coordinate instanceof Map24.Coordinate))
default_args.Coordinate=null;this.Housenumber=default_args.Housenumber;this.Coordinate=default_args.Coordinate;}
Map24.Webservices.MapSearchAlternative.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.MapSearchAlternative");Map24.Webservices.Route=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.Route.prototype.__constructor.call(this,default_args);this.Class="Route";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Start=null;if(default_args.Start instanceof Map24.Coordinate){
this.Start=default_args.Start;}
this.Vias=null;if(default_args.Vias instanceof Array){
this.Vias=default_args.Vias;}
this.Destination=null;if(default_args.Destination instanceof Map24.Coordinate){
this.Destination=default_args.Destination;}
this.Segments=null;if(default_args.Segments instanceof Array){
this.Segments=default_args.Segments;}
this.RouteID=null;if(!Map24.isNull(default_args.RouteID)){
this.RouteID=default_args.RouteID;}
this.TotalLength=null;if(Map24.isNumber(default_args.TotalLength)){
this.TotalLength=default_args.TotalLength;}
this.TotalTime=null;if(Map24.isNumber(default_args.TotalTime)){
this.TotalTime=default_args.TotalTime;}
}
this.__constructor(default_args);}
Map24.Webservices.Route.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Route");Map24.Webservices.RouteSegment=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.RouteSegment.prototype.__constructor.call(this,default_args);this.Class="RouteSegment";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Start=null;if(default_args.Start instanceof Map24.Coordinate){
this.Start=default_args.Start;}
this.SegmentLength=null;if(Map24.isNumber(default_args.SegmentLength)){
this.SegmentLength=default_args.SegmentLength;}
this.Time=null;if(Map24.isNumber(default_args.Time)){
this.Time=default_args.Time;}
this.Direction=null;if(default_args.Direction instanceof Map24.Webservices.RouteSegmentDirectionHint){
this.Direction=default_args.Direction;}
this.StreetName=null;if(!Map24.isNull(default_args.StreetName)){
if(typeof default_args.StreetName!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'StreetName' given (no string)!",default_args.StreetName,"Map24.Webservices.RouteSegment","__constructor");this.StreetName=default_args.StreetName;}
this.StreetNumber=null;if(!Map24.isNull(default_args.StreetNumber)){
if(typeof default_args.StreetNumber!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'StreetNumber' given (no string)!",default_args.StreetNumber,"Map24.Webservices.RouteSegment","__constructor");this.StreetNumber=default_args.StreetNumber;}
this.StreetClass=null;if(!Map24.isNull(default_args.StreetClass)){
if(typeof default_args.StreetClass!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'StreetClass' given (no string)!",default_args.StreetClass,"Map24.Webservices.RouteSegment","__constructor");this.StreetClass=default_args.StreetClass;}
this.City=null;if(!Map24.isNull(default_args.City)){
if(typeof default_args.City!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'City' given (no string)!",default_args.StreetClass,"Map24.Webservices.City","__constructor");this.City=default_args.City;}
this.CityDistrict=null;if(!Map24.isNull(default_args.CityDistrict)){
if(typeof default_args.CityDistrict!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'CityDistrict' given (no string)!",default_args.CityDistrict,"Map24.Webservices.City","__constructor");this.CityDistrict=default_args.CityDistrict;}
this.Country=null;if(!Map24.isNull(default_args.Country)){
if(typeof default_args.Country!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Country' given (no string)!",default_args.Country,"Map24.Webservices.City","__constructor");this.Country=default_args.Country;}
this.SignPost=null;if(!Map24.isNull(default_args.SignPost)){
if(typeof default_args.SignPost!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'SignPost' given (no string)!",default_args.SignPost,"Map24.Webservices.City","__constructor");this.SignPost=default_args.SignPost;}
this.FreewayExit=null;if(!Map24.isNull(default_args.FreewayExit)){
if(typeof default_args.FreewayExit!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'FreewayExit' given (no string)!",default_args.FreewayExit,"Map24.Webservices.City","__constructor");this.FreewayExit=default_args.FreewayExit;}
this.ExitNumber=null;if(Map24.isNumber(default_args.ExitNumber)){
this.ExitNumber=default_args.ExitNumber;}
this.Descriptions=null;if(default_args.Descriptions instanceof Array){
this.Descriptions=default_args.Descriptions;}
this.Via=null;if(typeof default_args.Via=='boolean'){
this.Via=default_args.Via;}
this.Coordinates=null;if(default_args.Coordinates instanceof Map24.Webservices.CoordinatesArray){
this.Coordinates=default_args.Coordinates;}else{
if(default_args.Coordinates instanceof Array)
this.Coordinates=new Map24.Webservices.CoordinatesArray(
default_args.Coordinates
);}
}
this.__constructor(default_args);}
Map24.Webservices.RouteSegment.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.RouteSegment");Map24.Webservices.RouteSegmentDescription=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.RouteSegmentDescription.prototype.__constructor.call(this,default_args);this.Class="RouteSegmentDescription";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Text=null;if(!Map24.isNull(default_args.Text)){
if(typeof default_args.Text!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Text' given (no string)!",default_args.Text,"Map24.Webservices.RouteSegmentDescription","__constructor");this.Text=default_args.Text;}
this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate){
this.Coordinate=default_args.Coordinate;}
}
this.__constructor(default_args);}
Map24.Webservices.RouteSegmentDescription.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.RouteSegmentDescription");Map24.Webservices.RouteSegmentDirectionHint=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.RouteSegmentDirectionHint.prototype.__constructor.call(this,default_args);this.Class="RouteSegmentDirectionHint";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Value=null;if(Map24.isNumber(default_args.Value)){
this.Value=default_args.Value;}
this.Hint=null;if(!Map24.isNull(default_args.Hint)){
if(typeof default_args.Hint!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Hint' given (no string)!",default_args.Hint,"Map24.Webservices.RouteSegmentDirectionHint","__constructor");this.Hint=default_args.Hint;}
}
this.__constructor(default_args);}
Map24.Webservices.RouteSegmentDirectionHint.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.RouteSegmentDirectionHint");Map24.Webservices.SpeedClassification=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.SpeedClassification.prototype.__constructor.call(this,default_args);this.Class="SpeedClassification";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Motorway=null;if(Map24.isNumber(default_args.Motorway)){
this.Motorway=default_args.Motorway;}
this.CountryRoad=null;if(Map24.isNumber(default_args.CountryRoad)){
this.CountryRoad=default_args.CountryRoad;}
this.CityRoad=null;if(Map24.isNumber(default_args.CityRoad)){
this.CityRoad=default_args.CityRoad;}
this.Ferry=null;if(Map24.isNumber(default_args.Ferry)){
this.Ferry=default_args.Ferry;}
}
this.__constructor(default_args);}
Map24.Webservices.SpeedClassification.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.SpeedClassification");Map24.Webservices.ViaPoint=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.ViaPoint.prototype.__constructor.call(this,default_args);this.Class="ViaPoint";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Address=null;if(default_args.Address instanceof Map24.Webservices.Address){
this.Address=default_args.Address;}
this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate){
this.Coordinate=default_args.Coordinate;}
this.ViaPointProperties=new Hashtable();if(default_args.ViaPointProperties instanceof Object)
this.ViaPointProperties=default_args.ViaPointProperties;this.TransitRadius=null;if(Map24.isNumber(default_args.TransitRadius)){
this.TransitRadius=default_args.TransitRadius;}
}
this.__constructor(default_args);}
Map24.Webservices.ViaPoint.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.ViaPoint");Map24.Webservices.Webservices=function(map){
this.__constructor=function(map){
if(!Map24.isObject(map,"Map24.Map"))throw new Map24.Exceptions.InvalidArgument("The given object is no Map24.Map object!",map,"Map24.Webservices.Webservices","__constructor");Map24.Webservices.Webservices.prototype.__constructor.call(this);this.Class="Webservices";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["IConnect"]=null;this.Interfaces["Map24.Interfaces.IConnect"]=null;this.setParent(map);this.Conn=new Map24.Network.ConnectJSPXML(this.Parent.HiddenArea);this.Conn.setParent(this);this._PreInitRequestQueue=new Array();this._Initialized=false;}
this.onSessionReady=function(event){
var request=null;while(this._PreInitRequestQueue.length>0){
request=this._PreInitRequestQueue.shift();this._sendRequest(request);}
this._Initialized=true;return true;}
this.sendRequest=function(request,blocking){
if(typeof blocking!="boolean")blocking=false;if(request==null||(typeof request=="undefined"))return null;if(!(request instanceof Map24.Webservices.Request.Soap))throw new Map24.Exceptions.InvalidArgument("The given parameter 'request' is no valid SOAP request!",request,"Map24.Webservices.Webservices","sendRequest");if(!this._Initialized){
this._PreInitRequestQueue.push(request);return null;}
this._sendRequest(request,blocking);}
this._sendRequest=function(request,blocking){
if((request instanceof Map24.Webservices.Request.MapletRemoteControl)||(request instanceof Map24.Webservices.Request.RenderImageMap)){
request=this.Parent.Skin.updateMrcRequest(request);}
if(request instanceof Map24.Webservices.Request.Soap){
request.prepareSend(this.Parent);return this.Conn.sendRequest(request,blocking);}else
return null;}
this.countOpenRequests=function(){
return this.Conn.countOpenRequests();}
this.isReady=function(){
return true;}
if(arguments.length>0)this.__constructor(map);}
Map24.Webservices.Webservices.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Webservices");Map24.Webservices.BitmapDescriptor=function(width,height){
this.__constructor=function(width,height){
Map24.Webservices.BitmapDescriptor.prototype.__constructor.call(this);this.Class="BitmapDescriptor";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ImageWidth=width;this.ImageHeight=height;this.Properties=new Map24.Webservices.Hashtable();this.Properties["MapTPServiceID"]="map24/mgi";}
this.__constructor(width,height);}
Map24.Webservices.BitmapDescriptor.prototype=new Map24.Object;Map24.Webservices.BitmapDescriptor.prototype.MimeType="image/gif";Map24.notifyClassReady("Map24.Webservices.BitmapDescriptor");Map24.Webservices.ClippingWidth=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.ClippingWidth.prototype.__constructor.call(this);this.Class="ClippingWidth";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MinimumWidth=null;if(Map24.isNumber(default_args.MinimumWidth))
this.MinimumWidth=Math.round(parseFloat(default_args.MinimumWidth));this.ViewPercentage=null;if(Map24.isNumber(default_args.ViewPercentage))
this.ViewPercentage=parseFloat(default_args.ViewPercentage);this.Pitch=null;if(Map24.isNumber(default_args.Pitch))
this.Pitch=parseFloat(default_args.Pitch);this.Rotation=null;if(Map24.isNumber(default_args.Rotation))
this.Rotation=parseFloat(default_args.Rotation);}
this.__constructor(default_args);}
Map24.Webservices.ClippingWidth.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.ClippingWidth");Map24.Webservices.ZoomRectangle=function(x,y,width,height){
this.__constructor=function(x,y,width,height){
var default_args=null;if(Map24.isNull(y)&&Map24.isNull(width)&&Map24.isNull(height))
default_args=x;else
default_args={X:x,Y:y,Width:width,Height:height};Map24.Webservices.ZoomRectangle.prototype.__constructor.call(this,default_args);this.Class="ZoomRectangle";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.X=null;if(Map24.isNumber(default_args.X))
this.X=default_args.X;this.Y=default_args.Green;if(Map24.isNumber(default_args.Y))
this.Y=default_args.Y;this.Width=default_args.Blue;if(Map24.isNumber(default_args.Width))
this.Width=default_args.Width;this.Height=default_args.Alpha;if(Map24.isNumber(default_args.Height))
this.Height=default_args.Height;}
this.__constructor(x,y,width,height);}
Map24.Webservices.ZoomRectangle.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.ZoomRectangle");Map24.Webservices.Hashtable=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Hashtable.prototype.__constructor.call(this);this.Class="Hashtable";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(default_args instanceof Object)
for(key in default_args)this[key]=default_args[key];}
this.toXml=function(prefix,classname){
if(typeof prefix!="string")prefix="";if(typeof classname!="string"||classname.length<=0)
classname=this.Class;var result="";result +=prefix+"<"+classname+">\n";for(key in this){
if(this.IgnoreForSerialization[key]==1)continue;if(key.charAt(0)=='_')continue;switch(typeof this[key]){
case "function":case "undefined":break;case "null":result +=prefix+"\t<item>\n";result +=prefix+"\t\t<Key>"+key+"</Key>\n";result +=prefix+"\t\t<Value>null</Value>\n";result +=prefix+"\t</item>\n";break;case "number":result +=prefix+"\t<item>\n";result +=prefix+"\t\t<Key>"+key+"</Key>\n";result +=prefix+"\t\t<Value>"+this[key]+"</Value>\n";result +=prefix+"\t</item>\n";break;case "boolean":result +=prefix+"\t<item>\n";result +=prefix+"\t\t<Key>"+key+"</Key>\n";result +=prefix+"\t\t<Value>"+(this[key]?"true":"false")+"</Value>\n";result +=prefix+"\t</item>\n";break;case "string":result +=prefix+"\t<item>\n";result +=prefix+"\t\t<Key>"+key+"</Key>\n";result +=prefix+"\t\t<Value><![CDATA["+this[key]+"]]></Value>\n";result +=prefix+"\t</item>\n";break;default:break;}
}
return result + prefix + "</"+classname+">\n";}
this.__constructor(default_args);}
Map24.Webservices.Hashtable.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Hashtable");Map24.Webservices.MapObjectCustomSettings=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.MapObjectCustomSettings.prototype.__constructor.call(this);this.Class="Hashtable";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Handler=null;if(typeof default_args.Handler=="string")
this.Handler=default_args.Handler;this.Properties=null;if(default_args.Properties instanceof Map24.Webservices.Hashtable)
this.Properties=default_args.Properties;}
this.__constructor(default_args);}
Map24.Webservices.MapObjectCustomSettings.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.MapObjectCustomSettings");Map24.Webservices.MapObjectEvent=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.MapObjectEvent.prototype.__constructor.call(this,default_args);this.Class="MapObjectEvent";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ID=null;if(typeof default_args.ID=="string")this.ID=default_args.ID;this.Modifiers=null;if(typeof default_args.Modifiers=="string")
this.Modifiers=new Array(default_args.Modifiers);if(default_args.Modifiers instanceof Array)
this.Modifiers=default_args.Modifiers;this.Commands=null;if(default_args.Commands instanceof Array){
this.Commands=new Map24.Webservices.CommandsArray();for(var i=0;i<default_args.Commands.length;i++)
this.Commands[this.Commands.length++]=default_args.Commands[i];}else
if(default_args.Commands instanceof Map24.Webservices.CommandsArray)
this.Commands=default_args.Commands
else
if(default_args.Commands instanceof Map24.Webservices.MRC.Command)
this.Commands=new Map24.Webservices.CommandsArray(default_args.Commands);}
this.__constructor(default_args);}
Map24.Webservices.MapObjectEvent.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.MapObjectEvent");Map24.Webservices.MapObjectOrientation=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MapObjectOrientation","__constructor");Map24.Webservices.MapObjectOrientation.prototype.__constructor.call(this);this.Class="MapObjectOrientation";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Horizontal=null;if(!Map24.isNull(default_args.Horizontal)){
if(typeof default_args.Horizontal!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Horizontal' given (no string)!",default_args.Horizontal,"Map24.Webservices.MapObjectOrientation","__constructor");if(default_args.Horizontal!="CENTER"&&default_args.Horizontal!="LEFT"&&default_args.Horizontal!="RIGHT")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Horizontal' given! It can just have the following string values: 'CENTER', 'LEFT', 'RIGHT'",default_args.Horizontal,"Map24.Webservices.MapObjectOrientation","__constructor");this.Horizontal=default_args.Horizontal;}
this.Vertical=null;if(!Map24.isNull(default_args.Vertical)){
if(typeof default_args.Vertical!="string")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Vertical' given (no string)!",default_args.Vertical,"Map24.Webservices.MapObjectOrientation","__constructor");if(default_args.Vertical!="CENTER"&&default_args.Vertical!="TOP"&&default_args.Vertical!="BOTTOM")throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'Vertical' given! It can just have the following string values: 'CENTER', 'TOP', 'BOTTOM'",default_args.Vertical,"Map24.Webservices.MapObjectOrientation","__constructor");this.Vertical=default_args.Vertical;}
this.HOffset=null;if(Map24.isNumber(default_args.HOffset))
this.HOffset=default_args.HOffset;this.VOffset=null;if(Map24.isNumber(default_args.VOffset))
this.VOffset=default_args.VOffset;}
this.__constructor(default_args);}
Map24.Webservices.MapObjectOrientation.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.MapObjectOrientation");Map24.Webservices.CanvasReferencePoint=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.CanvasReferencePoint","__constructor");Map24.Webservices.CanvasReferencePoint.prototype.__constructor.call(this);this.Class="CanvasReferencePoint";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.HPercentage=null;if(Map24.isNumber(default_args.HPercentage))
this.HPercentage=default_args.HPercentage;this.VPercentage=null;if(Map24.isNumber(default_args.VPercentage))
this.VPercentage=default_args.VPercentage;}
this.__constructor(default_args);}
Map24.Webservices.CanvasReferencePoint.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.CanvasReferencePoint");Map24.Webservices.Request=function(){}
Map24.Webservices.Request.Soap=function(map,values){
this.__constructor=function(map,values){
if(!(map instanceof Map24.Map))map=null;if(Map24.isNull(values)||!(values instanceof Object))values={};Map24.Webservices.Request.Soap.prototype.__constructor.call(this);this.Class="Soap";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["IConnectRequest"]=null;this.Interfaces["Map24.Interfaces.IConnectRequest"]=null;this.Map=map;this.ResultUrl=null;this.Xslt=null;if(typeof values.Xslt=="string")this.Xslt=values.Xslt;this.Url=null;if(typeof values.Url=="string")this.Url=values.Url;this.Map24Id=null;if(typeof values.Map24Id=="string")this.Map24Id=values.Map24Id;this.SessionId=null;if(typeof values.SessionId=="string")this.SessionId=values.SessionId;this.RequestId=null;if(typeof values.RequestId=="string")
this.RequestId=values.RequestId;else
this.RequestId=Map24.makeUniqueId().substr(0,8);this.Args=new Hashtable();if(values.Args instanceof Object)this.Args=values.Args;this.RequestMethod=null;if(typeof values.RequestMethod=="string")
this.RequestMethod=values.RequestMethod;this.RequestNamespace=null;if(typeof values.RequestNamespace=="string")
this.RequestNamespace=values.RequestNamespace;this.RequestName=null;if(typeof values.RequestName=="string")
this.RequestName=values.RequestName;else
if(typeof this.RequestMethod=="string"){
this.RequestName=this.RequestMethod.charAt(0).toUpperCase()+
this.RequestMethod.substr(1)+
"Request";}
this.RequestHeader=null;if(values.RequestHeader instanceof Object)
this.RequestHeader=values.RequestHeader;this.RequestClassProperties=null;if(values.RequestClassProperties instanceof Array)
this.RequestClassProperties=values.RequestClassProperties;else
this.RequestClassProperties=new Array();this.IsUserAction=(typeof values["IsUserAction"]=="boolean"?values.IsUserAction:false);}
this.prepareSend=function(map){
try{
if(Map24.isNull(this.Map))
this.Map=map;if(Map24.isNull(this.Map24Id))
this.Map24Id=this.Map.Session.Config.Map24Id;if(Map24.isNull(this.SessionId))
this.SessionId=this.Map.Session.SessionId;if(Map24.isNull(this.Url))
this.Url='http://'+this.Map.Session.Config.Host+'/'+
this.Map.Session.Config.ServiceInterface;if(Map24.isNull(this.RequestHeader)){
this.RequestHeader={
Map24ID:this.Map24Id,ClientID:this.SessionId,CustomerHashtable:new Array(
{Key:"RequestId",Value:this.RequestId}
)
}
}
}catch(e){}
}
this.toXml=function(prefix,classname){
if(!(this.RequestClassProperties instanceof Array))return;if(typeof this.RequestMethod!="string")return;if(typeof this.RequestNamespace!="string")return;var prefix="\t";var xml=""
var request={};var key="";for(var i=0;i<this.RequestClassProperties.length;i++){
key=this.RequestClassProperties[i];request[ key ]=this[key];}
if(this.RequestHeader instanceof Object)
xml +=Map24.toXml(prefix,this.RequestHeader,"RequestHeader");xml +=Map24.toXml(prefix,request,this.RequestName);xml=Map24.Webservices.Request.Soap.EnvelopeEx.replace(/\$\{XML\}/,xml);xml=xml.replace(/\$\{NAMESPACE\}/,this.RequestNamespace);xml=xml.replace(/\$\{METHOD\}/,this.RequestMethod);xml=xml.replace(/\$\{METHOD\}/,this.RequestMethod);return xml;}
this.toUrl=function(){
return "";}
this.__constructor(map,values);}
Map24.Webservices.Request.Soap.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Request.Soap");Map24.Webservices.Request.Soap.Envelope="<\?xml version='1.0' encoding='UTF-8'\?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n\
<SOAP-ENV:Body>\n\
${XML}</SOAP-ENV:Body>\n\
</SOAP-ENV:Envelope>\n";Map24.Webservices.Request.Soap.EnvelopeEx="<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n\
<SOAP-ENV:Body>\n\
<tns:${METHOD} xmlns:tns=\"${NAMESPACE}\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n\
${XML}</tns:${METHOD}>\n\
</SOAP-ENV:Body>\n\
</SOAP-ENV:Envelope>\n";Map24.Webservices.Request.CalculateRoute=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};this.MaxNoOfGeocodeAlternatives=1;if(typeof default_args.MaxNoOfGeocodeAlternatives=="string")
default_args.MaxNoOfGeocodeAlternatives=parseInt(default_args.MaxNoOfGeocodeAlternatives);if(Map24.isNumeric(default_args.MaxNoOfGeocodeAlternatives))
this.MaxNoOfGeocodeAlternatives=default_args.MaxNoOfGeocodeAlternatives;this.CalculationMode=null;if(typeof default_args.CalculationMode=="string")
this.CalculationMode=default_args.CalculationMode;this.VehicleType=null;if(typeof default_args.VehicleType=="string")
this.VehicleType=default_args.VehicleType;this.SpeedClassification=null;if(default_args.SpeedClassification instanceof Map24.Webservices.SpeedClassification)
this.SpeedClassification=default_args.SpeedClassification;this.IgnoreWaypoints=true;if(typeof default_args.IgnoreWaypoints=="boolean")
this.IgnoreWaypoints=default_args.IgnoreWaypoints;this.IgnoreDescription=false;if(typeof default_args.IgnoreDescription=="boolean")
this.IgnoreDescription=default_args.IgnoreDescription;this.DescriptionLanguage=null;if((typeof default_args.DescriptionLanguage=="string")&&(default_args.DescriptionLanguage.length==2))
this.DescriptionLanguage=default_args.DescriptionLanguage;this.Start=null;if(default_args.Start instanceof Map24.Webservices.Point)
this.Start=default_args.Start;this.Destination=null;if(default_args.Destination instanceof Map24.Webservices.Point)
this.Destination=default_args.Destination;this.Vias=null;if(default_args.Vias instanceof Array)
this.Vias=default_args.Vias;this.ViaPoints=null;if(default_args.ViaPoints instanceof Array)
this.ViaPoints=default_args.ViaPoints;this.LoadTMCs=false;if(typeof default_args.LoadTMCs=="boolean")
this.LoadTMCs=default_args.LoadTMCs;this.RoutingServiceID=null;if(typeof default_args.RoutingServiceID=="string")
this.RoutingServiceID=default_args.RoutingServiceID;this.MinQualityOfGeocodeResults=null;if(typeof default_args.MinQualityOfGeocodeResults=="string")
this.MinQualityOfGeocodeResults=default_args.MinQualityOfGeocodeResults;this.StartLocationID=null;if(Map24.isNumeric(default_args.StartLocationID))
this.StartLocationID=default_args.StartLocationID;this.DestinationLocationID=null;if(Map24.isNumeric(default_args.DestinationLocationID))
this.DestinationLocationID=default_args.DestinationLocationID;this.Properties=new Hashtable();if(default_args.Properties instanceof Object)
this.Properties=default_args.Properties;Map24.Webservices.Request.CalculateRoute.prototype.__constructor.call(this,map,{
Xslt:Map24.XSLT_BASE_URL+'Map24Routing/calculateRoute.xsl',RequestMethod:'calculateRoute',RequestNamespace:'Map24Routing',RequestClassProperties:new Array(
"MaxNoOfGeocodeAlternatives","CalculationMode","VehicleType","SpeedClassification","IgnoreWaypoints","IgnoreDescription","DescriptionLanguage","Start","Destination","Vias","ViaPoints","LoadTMCs","RoutingServiceID","MinQualityOfGeocodeResults","StartLocationID","DestinationLocationID","Properties"
)
});this.Class="CalculateRoute";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.toUrl=function(){
return "";}
this.__constructor(map,default_args);}
Map24.Webservices.Request.CalculateRoute.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.CalculateRoute");Map24.Webservices.Request.CalculateRoute.RouteViaPoint=function(){
this.Longitude=null;this.Latitude=null;this.Street=null;}
Map24.Webservices.Request.FindByPoints=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};this.CustomerLayerIDs=null;if(default_args.CustomerLayerIDs instanceof Array){
this.CustomerLayerIDs=default_args.CustomerLayerIDs;}
this.Map24LayerIDs=null;if(default_args.Map24LayerIDs instanceof Array){
this.Map24LayerIDs=default_args.Map24LayerIDs;}
this.Points=null;if(default_args.Points instanceof Array){
this.Points=default_args.Points;}
else if(default_args.Points instanceof Map24.Coordinate){
var Point=new Map24.Webservices.Point();Point.Coordinate=default_args.Points;this.Points=new Array(Point);}
this.MaxNoOfGeocodeAlternatives=1;if(typeof default_args.MaxNoOfGeocodeAlternatives=="string")
default_args.MaxNoOfGeocodeAlternatives=parseInt(default_args.MaxNoOfGeocodeAlternatives);if(Map24.isNumeric(default_args.MaxNoOfGeocodeAlternatives))
this.MaxNoOfGeocodeAlternatives=default_args.MaxNoOfGeocodeAlternatives;this.Radius=parseInt(default_args.Radius);if(Map24.isNumeric(default_args.Radius))
this.Radius=default_args.Radius;this.Properties=new Hashtable();if(default_args.Properties instanceof Object)
this.Properties=default_args.Properties;Map24.Webservices.Request.FindByPoints.prototype.__constructor.call(this,map,{
Xslt:Map24.XSLT_BASE_URL+'Map24LocationService/findByPoints.xsl',RequestMethod:'findByPoints',RequestNamespace:'Map24LocationService',RequestClassProperties:new Array(
"CustomerLayerIDs","Map24LayerIDs","Points","MaxNoOfGeocodeAlternatives","Radius","Properties"
)
});this.Class="FindByPoints";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.toUrl=function(){
return "";}
this.__constructor(map,default_args);}
Map24.Webservices.Request.FindByPoints.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.FindByPoints");Map24.Webservices.Request.GetMap24Application=function(app_key,session_id,webservices_url){
this.__constructor=function(app_key,session_id,webservices_url){
if(typeof webservices_url!="string"||webservices_url.length<=0)
webservices_url='http://maptp11.map24.com/map24/webservices1.5?action=soap';if(typeof session_id!="string"||session_id.length<=0)
session_id=Map24.makeUniqueId().substr(0,12);Map24.Webservices.Request.GetMap24Application.prototype.__constructor.call(
this,null,{Url:webservices_url,SessionId:session_id}
);this.Class="GetMap24Application";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Xslt=Map24.XSLT_BASE_URL+"Map24AuthenticationService/getMap24Application.xsl";this.AppKey=app_key;}
this.toXml=function(){
var request=Map24.Webservices.Request.Soap.Envelope.replace(/\$\{XML\}/,"<tns:getMap24Application xmlns:tns=\"Map24AuthenticationService\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n\
<RequestHeader>\n\
	<RequestID>"+this.RequestId+"</RequestID>\n\
	<CustomerKeyValuePair>\n\
		<Key>SessionId</Key>\n\
		<Value>"+this.SessionId+"</Value>\n\
	</CustomerKeyValuePair>\n\
</RequestHeader>\n\
<GetMap24ApplicationRequest>\n\
	<ApplicationKey>"+this.AppKey+"</ApplicationKey>\n\
</GetMap24ApplicationRequest>\n\
</tns:getMap24Application>\n");return request;}
this.toUrl=function(){
return "";}
this.__constructor(app_key,session_id,webservices_url);}
Map24.Webservices.Request.GetMap24Application.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.GetMap24Application");Map24.Webservices.Request.GetMapletSession=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};this.MapletSessionID=this.Map.Session.SessionId;this.IdxInMap24MRCs=0;if(Map24.isNumber(default_args.IdxInMap24MRCs))
this.IdxInMap24MRCs=default_args.IdxInMap24MRCs;this.Map24MRCComandsFilter=null;if(typeof default_args.Map24MRCComandsFilter=="string")
this.Map24MRCComandsFilter=new Array(default_args.Map24MRCComandsFilter);else
if(default_args.Map24MRCComandsFilter instanceof Array)
this.Map24MRCComandsFilter=default_args.Map24MRCComandsFilter;this.Map24MRCMapObjectIDsFilter=null;if(typeof default_args.Map24MRCMapObjectIDsFilter=="string")
this.Map24MRCMapObjectIDsFilter=new Array(default_args.Map24MRCMapObjectIDsFilter);else
if(default_args.Map24MRCMapObjectIDsFilter instanceof Array)
this.Map24MRCMapObjectIDsFilter=default_args.Map24MRCMapObjectIDsFilter;this.RequestProperties=new Hashtable();if(default_args.Properties instanceof Object)
this.Properties=default_args.Properties;if(default_args.RequestProperties instanceof Object)
this.RequestProperties=default_args.RequestProperties;Map24.Webservices.Request.GetMapletSession.prototype.__constructor.call(this,map,{
Xslt:Map24.XSLT_BASE_URL+'Map24MapletRemoteControl/getMapletSession.xsl',RequestMethod:'getMapletSession',RequestNamespace:'Map24MapletRemoteControl',RequestClassProperties:new Array(
"IdxInMap24MRCs","Map24MRCComandsFilter","Map24MRCMapObjectIDsFilter"
)
});this.Class="GetMapletSession";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(map,default_args);}
Map24.Webservices.Request.GetMapletSession.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.GetMapletSession");Map24.Webservices.Request.LogMap24Application=function(default_args){
this.__constructor=function(default_args){
if(!(default_args instanceof Object))default_args={};this.ApplicationKey=null;if(typeof default_args.ApplicationKey=="string")this.ApplicationKey=default_args.ApplicationKey;this.Referer=null;if(typeof default_args.Referer=="string")this.Referer=default_args.Referer;Map24.Webservices.Request.LogMap24Application.prototype.__constructor.call(this,null,{
Xslt:Map24.XSLT_BASE_URL+'Map24AuthenticationService/logMap24Application.xsl',RequestMethod:'logMap24Application',RequestNamespace:'Map24AuthenticationService',RequestClassProperties:new Array(
"ApplicationKey","Referer"
)
});this.Class="LogMap24Application";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(default_args);}
Map24.Webservices.Request.LogMap24Application.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.LogMap24Application");Map24.Webservices.Request.LogMap24PageImpression=function(default_args){
this.__constructor=function(default_args){
if(!(default_args instanceof Object))default_args={};this.ClientIP=null;if(typeof default_args.ClientIP=="string")this.ClientIP=default_args.ClientIP;this.ClientHost=null;if(typeof default_args.ClientHost=="string")
this.ClientHost=default_args.ClientHost;this.ClientUserAgent=navigator.userAgent;if(typeof default_args.ClientUserAgent=="string")
this.ClientUserAgent=default_args.ClientUserAgent;this.ClientReferer=null;if(typeof default_args.ClientReferer=="string")
this.ClientReferer=default_args.ClientReferer;this.Script=null;if(typeof default_args.Script=="string")
this.Script=default_args.Script;this.Server=null;if(typeof default_args.Server=="string")
this.Server=default_args.Server;this.ExecTime=null;if((typeof default_args.ExecTime=="string")||Map24.isNumeric(default_args.ExecTime))
this.ExecTime=""+default_args.ExecTime;this.DeliveryTime=null;if((typeof default_args.DeliveryTime=="string")||Map24.isNumeric(default_args.DeliveryTime))
this.DeliveryTime=""+default_args.DeliveryTime;this.ServicesTime=null;if((typeof default_args.ServicesTime=="string")||Map24.isNumeric(default_args.ServicesTime))
this.ServicesTime=""+default_args.ServicesTime;this.ScriptID=null;if((typeof default_args.ScriptID=="string")||Map24.isNumeric(default_args.ScriptID))
this.ScriptID=""+default_args.ScriptID;this.UniqueUserID=null;if((typeof default_args.UniqueUserID=="string")||Map24.isNumeric(default_args.UniqueUserID))
this.UniqueUserID=""+default_args.UniqueUserID;this.MapType="MGI";if((typeof default_args.MapType=="string")||Map24.isNumeric(default_args.MapType))
this.MapType=""+default_args.MapType;this.SubMap24ID="MGI";if((typeof default_args.SubMap24ID=="string")||Map24.isNumeric(default_args.SubMap24ID))
this.SubMap24ID=""+default_args.SubMap24ID;Map24.Webservices.Request.LogMap24PageImpression.prototype.__constructor.call(this,null,{
Xslt:Map24.XSLT_BASE_URL+'Map24AuthenticationService/logMap24PageImpression.xsl',RequestMethod:'logMap24PageImpression',RequestNamespace:'Map24AuthenticationService',RequestClassProperties:new Array(
"ClientIP","ClientHost","ClientUserAgent","ClientReferer","Script","Server","ExecTime","DeliveryTime","ServicesTime","ScriptID","UniqueUserID","MapType","SubMap24ID"
)
});this.Class="LogMap24PageImpression";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(default_args);}
Map24.Webservices.Request.LogMap24PageImpression.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.LogMap24PageImpression");Map24.Webservices.Request.MapletRemoteControl=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};if(default_args==null)default_args={};default_args.Xslt=Map24.XSLT_BASE_URL+'Map24MapletRemoteControl/mapletRemoteControl.xsl';Map24.Webservices.Request.MapletRemoteControl.prototype.__constructor.call(
this,map,default_args
);this.Class="MapletRemoteControl";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Commands=[];if(default_args["Commands"] instanceof Array)
this.Commands=default_args.Commands;else
if(default_args["Commands"] instanceof Map24.Webservices.MRC.Command)
this.Commands=[default_args.Commands];else
if(default_args["Command"] instanceof Map24.Webservices.MRC.Command)
this.Commands=[default_args.Command];}
this.push=function(command){
if(!(command instanceof Map24.Webservices.MRC.Command))throw new Map24.Exceptions.InvalidArgument("The given argument 'command' is invalid (not Map24.Webservices.MRC.Command or derived)!",command,"Map24.Webservices.Request.MapletRemoteControl","push");this.Commands.push(command);}
this.toMrcXml=function(prefix){
if(typeof prefix!="string")prefix="";var xml="";if(this.Commands instanceof Array){
for(var i=0;i<this.Commands.length;i++){
xml +=prefix+"<Command>\n";xml +=this.Commands[i].toXml(prefix+"\t");xml +=prefix+"</Command>\n";}
}
return xml;}
this.toXml=function(prefix){
if(typeof prefix!="string")prefix="";var xml="";xml +=prefix+"<tns:mapletRemoteControl xmlns:tns=\"Map24MapletRemoteControl\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n";xml +=prefix+"<RequestHeader>\n";xml +=prefix+"\t<Map24ID>"+this.Map24Id+"</Map24ID>\n";xml +=prefix+"\t<ClientID>"+this.SessionId+"</ClientID>\n";xml +=prefix+"\t<CustomerKeyValuePair>\n";xml +=prefix+"\t\t<Key>RequestId</Key><Value>"+this.RequestId+"</Value>\n";xml +=prefix+"\t</CustomerKeyValuePair>\n";xml +=prefix+"</RequestHeader>\n";xml +=prefix+"<MapletRemoteControlRequest><Map24MRC>\n";xml +=prefix+"\t<Map24SessionID>"+this.SessionId+"</Map24SessionID>\n";xml +=this.toMrcXml(prefix+"\t");xml +=prefix+"</Map24MRC></MapletRemoteControlRequest>\n";xml +=prefix+"</tns:mapletRemoteControl>\n";return Map24.Webservices.Request.Soap.Envelope.replace(/\$\{XML\}/,xml);}
this.toUrl=function(){
if(!(this.Commands instanceof Array))return null;var uri="&cgi=Map24MapletRemoteControl&action=mapletRemoteControl";var arg=null;for(var i=0;i<this.Commands.length;i++){
Map24.dump("command #"+i+" = "+this.Commands[i].toUrlParam(i));arg=this.Commands[i].toUrlParam(i);if((typeof arg!="string")||(arg.length<=0))return null;uri +=arg;}
return uri;}
this.__constructor(map,default_args);}
Map24.Webservices.Request.MapletRemoteControl.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.MapletRemoteControl");Map24.Webservices.Request.MapSearchFree=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};Map24.Webservices.Request.MapSearchFree.prototype.__constructor.call(this,map,{
Xslt:Map24.XSLT_BASE_URL+'Map24Geocoder51/mapSearchFree.xsl'
});this.Class="MapSearchFree";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MaxNoOfAlternatives=100;if(Map24.isNumeric(default_args.MaxNoOfAlternatives))
this.MaxNoOfAlternatives=default_args.MaxNoOfAlternatives;this.ResponseStyle=null;if(typeof default_args.ResponseStyle=="string")
this.ResponseStyle=default_args.ResponseStyle;this.SearchText=null;if(typeof default_args.SearchText=="string")
this.SearchText=default_args.SearchText;this.Options=new Array("Crossings");if(default_args.Options instanceof Array)
this.Options=default_args.Options;this.Properties=null;if(default_args["Properties"] instanceof Array)
this.Properties=default_args.Properties;this.Database=null;if(typeof default_args.Database=="string")
this.Database=default_args.Database;}
this.toXml=function(prefix){
if(typeof prefix!="string")prefix="";var xml="";xml +=prefix+"<tns:searchFree xmlns:tns=\"Map24Geocoder51\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n";xml +=prefix+"<RequestHeader>\n";xml +=prefix+"\t<Map24ID>"+this.Map24Id+"</Map24ID>\n";xml +=prefix+"\t<ClientID>"+this.SessionId+"</ClientID>\n";xml +=prefix+"\t<CustomerKeyValuePair>\n";xml +=prefix+"\t\t<Key>RequestId</Key><Value>"+this.RequestId+"</Value>\n";xml +=prefix+"\t</CustomerKeyValuePair>\n";xml +=prefix+"</RequestHeader>\n";xml +=prefix+"<MapSearchFreeRequest>\n";if(typeof this.SearchText=="string")
xml +=prefix+"\t<SearchText><![CDATA["+this.SearchText+"]]></SearchText>\n";if(Map24.isNumeric(this.MaxNoOfAlternatives))
xml +=prefix+"\t<MaxNoOfAlternatives>"+this.MaxNoOfAlternatives+"</MaxNoOfAlternatives>\n";if((this.Options instanceof Array)&&(this.Options.length>0))
{
xml +=prefix+"\t<Options>\n";for(var i=0;i<this.Options.length;i++)
xml +=prefix+"\t\t<item>"+this.Options[i]+"</item>\n";xml +=prefix+"\t</Options>\n";}
if(this.Properties instanceof Object){
xml +=prefix+"\t<Properties>\n";for(var i=0;i<this.Properties.length;i++){
if((this.Properties[i] instanceof Object)&&(typeof this.Properties[i]["Key"]=="string")&&(typeof this.Properties[i]["Value"]=="string"))
xml +=prefix+"\t\t<item><Key>"+this.Properties[i]["Key"]+
"</Key><Value><![CDATA["+this.Properties[i]["Value"]+"]]></Value></item>\n";}
xml +=prefix+"\t</Properties>\n";}
xml +=prefix+"</MapSearchFreeRequest>\n";xml +=prefix+"</tns:searchFree>\n";return Map24.Webservices.Request.Soap.Envelope.replace(/\$\{XML\}/,xml);}
this.toUrl=function(){
return "";}
this.__constructor(map,default_args);}
Map24.Webservices.Request.MapSearchFree.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.MapSearchFree");Map24.Webservices.Request.ReadLocations=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};this.CustomerLayerIDs=null;if(default_args.CustomerLayerIDs instanceof Array){
this.CustomerLayerIDs=default_args.CustomerLayerIDs;}
this.Map24LayerIDs=null;if(default_args.Map24LayerIDs instanceof Array){
this.Map24LayerIDs=default_args.Map24LayerIDs;}
this.Offset=0;if(Map24.isNumeric(default_args.Offset))
this.Offset=default_args.Offset;this.Count=null;if(Map24.isNumeric(default_args.Count)){
this.Count=default_args.Count;}
if(this.Count>50){
this.Count=50;}
this.Address=null;if(default_args.Address instanceof Map24.Webservices.Address)
this.Address=default_args.Address;this.SearchString=null;if(typeof default_args.SearchString=="string")
this.SearchString=default_args.SearchString;this.Properties=new Hashtable();if(default_args.Properties instanceof Object)
this.Properties=default_args.Properties;Map24.Webservices.Request.ReadLocations.prototype.__constructor.call(this,map,{
Xslt:Map24.XSLT_BASE_URL+'Map24LocationService/readLocations.xsl',RequestMethod:'readLocations',RequestNamespace:'Map24LocationService',RequestClassProperties:new Array(
"CustomerLayerIDs","Map24LayerIDs","Offset","Count","Address","SearchString","Properties"
)
});this.Class="ReadLocations";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.toUrl=function(){
return "";}
this.__constructor(map,default_args);}
Map24.Webservices.Request.ReadLocations.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.ReadLocations");Map24.Webservices.Request.RenderImageMap=function(map,width,height,args){
this.__constructor=function(map,width,height,args){
if(!(args instanceof Object))args={};if(Map24.isNull(args.Xslt))
args.Xslt=Map24.XSLT_BASE_URL+'Map24MGI/renderImageMap.xsl';Map24.Webservices.Request.RenderImageMap.prototype.__constructor.call(this,map,args);this.Class="RenderImageMap";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;if(this.Map.Skin.isAppletLoaded()&&typeof map._ToMGISwitchFlag=='boolean'&&map._ToMGISwitchFlag==true)
{
map._ToMGISwitchFlag=false;this.Args["view"]="Map24Applet";}
this.Args["prop:MapTPServiceID"]="map24/mgi";this.BitmapDescriptor=new Map24.Webservices.BitmapDescriptor(width,height);this.MRC=null;if((typeof args.MRC!="undefined")&&(args.MRC instanceof Map24.Webservices.Request.MapletRemoteControl))
this.MRC=args.MRC;if(this.MRC==null)
this.MRC=new Map24.Webservices.Request.MapletRemoteControl(map);this.ReplyBitmapData=false;}
this.toXml=function(prefix){
if(typeof prefix!="string")prefix="";var xml="";xml +=prefix+"<tns:renderImageMap xmlns:tns=\"Map24MGI\" SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">\n";xml +=prefix+"<RequestHeader>\n";xml +=prefix+"\t<Map24ID>"+this.Map24Id+"</Map24ID>\n";xml +=prefix+"\t<ClientID>"+this.SessionId+"</ClientID>\n";xml +=prefix+"\t<CustomerKeyValuePair>\n";xml +=prefix+"\t\t<Key>RequestId</Key><Value>"+this.RequestId+"</Value>\n";xml +=prefix+"\t</CustomerKeyValuePair>\n";xml +=prefix+"</RequestHeader>\n";xml +=prefix+"<RenderImageMapRequest>\n";xml +=prefix+"\t<Map24SessionID>"+this.SessionId+"</Map24SessionID>\n";xml +=prefix+"\t<ImageKey>"+this.RequestId+"</ImageKey>\n";xml +=prefix+"\t<ReplyBitmapData>"+(this.ReplyBitmapData?"true":"false")+"</ReplyBitmapData>\n";xml +=this.BitmapDescriptor.toXml("\t");if((this.MRC.Commands instanceof Array)&&(this.MRC.Commands.length>0))
{
xml +=prefix+"\t<MRC>\n";xml +=this.MRC.toMrcXml(prefix+"\t\t");xml +=prefix+"\t</MRC>\n";}
xml +=prefix+"</RenderImageMapRequest>\n";xml +=prefix+"</tns:renderImageMap>\n";return Map24.Webservices.Request.Soap.Envelope.replace(/\$\{XML\}/,xml);}
this.toUrl=function(){
var uri="&cgi=Map24MGI&mime=imap/xml";uri +="&imgmime="+this.BitmapDescriptor.MimeType;uri +="&iw="+this.BitmapDescriptor.ImageWidth;uri +="&ih="+this.BitmapDescriptor.ImageHeight;uri +="&imgkey="+this.RequestId+"&xslt="+this.Xslt;if(this.BitmapDescriptor.Properties instanceof Map24.Webservices.Hashtable){
var bmd_props=this.BitmapDescriptor.Properties;for(var key in bmd_props){
if(bmd_props.IgnoreForSerialization[key]==1)continue;if(key.charAt(0)=='_')continue;switch(typeof bmd_props[key]){
case "number":case "boolean":case "string":uri +="&prop:"+key+"="+Map24.urlencode(bmd_props[key]);break;default:}
}
}
uri +="&xslt-mime="+Map24.urlencode("application/x-javascript; charset=UTF-8");if(this.Args instanceof Object){
for(var key in this.Args){
uri +="&"+Map24.urlencode(key)+"="+Map24.urlencode(this.Args[key]);}
}
var arg=null;if((this.MRC instanceof Map24.Webservices.Request.MapletRemoteControl)&&(this.MRC.Commands instanceof Array))
{
for(var i=0;i<this.MRC.Commands.length;i++){
Map24.dump("command #"+i+" = "+this.MRC.Commands[i].toUrlParam(i));arg=this.MRC.Commands[i].toUrlParam(i);if((typeof arg!="string")||(arg.length<=0))return null;uri +=arg;}
}
return uri;}
this.__constructor(map,width,height,args);}
Map24.Webservices.Request.RenderImageMap.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.RenderImageMap");Map24.Webservices.Response=function(){}
Map24.Webservices.Response.Soap=function(values){
this.__constructor=function(values){
if(typeof values=="undefined")values={};if(values==null)values={};if(!Map24.isObject(values))throw new Map24.Exceptions.InvalidArgument("The given parameter 'values' is no hashtable and not null!",values,"Map24.Webservices.Response.Soap","__constructor");var source=null;if((typeof values.Source!="undefined")&&Map24.isObject(values.Source))
source=values.Source;Map24.Webservices.Response.Soap.prototype.__constructor.call(this,source);this.Class="Soap";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.beforeDelivery=function(){
if(this.Request._RemoveIFrame)
{
try{
if(Map24.SAFARI)document.getElementById(this.Request._IFrameName).style.display="none";}catch(e){}
try{
Map24.dump("remove iframe from document ...");this.Request._FormNode.removeChild(this.Request._PostIFrame);}catch(e){
Map24.dump("exception while trying to remove iframe from document!");}
this.Request._RemoveIFrame=false;}
}
this.__constructor(values);}
Map24.Webservices.Response.Soap.prototype=new Map24.Events.Event;Map24.notifyClassReady("Map24.Webservices.Response.Soap");Map24.Webservices.Response.CalculateRoute=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Response.CalculateRoute.prototype.__constructor.call(this);this.Class="CalculateRoute";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Route=default_args.Route;}
this.__constructor(default_args);}
Map24.Webservices.Response.CalculateRoute.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.CalculateRoute");Map24.Webservices.Response.FindByPoints=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Response.FindByPoints.prototype.__constructor.call(this);this.Class="FindByPoints";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ResponseID=default_args.ResponseID;this.Addresses=default_args.Addresses;this.MaxNoOfGeocodeAlternatives=default_args.MaxNoOfGeocodeAlternatives;this.Radius=default_args.Radius;this.CustomerLayerIDs=default_args.CustomerLayerIDs;this.Map24LayerIDs=default_args.Map24LayerIDs;}
this.__constructor(default_args);}
Map24.Webservices.Response.FindByPoints.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.FindByPoints");Map24.Webservices.Response.GetMap24Application=function(app_key,session_id,config){
this.__constructor=function(app_key,session_id,config){
Map24.Webservices.Response.GetMap24Application.prototype.__constructor.call(this,null);this.Class="GetMap24Application";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Session=new Map24.Session(app_key,session_id,config);for(key in Map24.Webservices.SessionPatch){
this.Session.Config[key]=Map24.Webservices.SessionPatch[key];if(key=="Host"){
this.Session.Host=Map24.Webservices.SessionPatch["Host"];}
}
try{
this.Session.Config.Archive=this.Session.Config.Archive.replace(
/\$\{LANG\}/,this.Session.Config.Language);}catch(e){}
var s_regexp=/_v([0-9])\.([0-9])\.([0-9]+)_[0-9]{4,4}([0-9]{4,4})/;try{
var vno=s_regexp.exec(this.Session.Config.Codebase);if(vno instanceof Array){
while(vno[1].length<2)vno[1]='0'+vno[1];while(vno[2].length<2)vno[2]='0'+vno[2];while(vno[3].length<4)vno[3]='0'+vno[3];}
this.Session.Config.Version=vno[1]+vno[2]+'.'+
vno[3]+'.'+
vno[4]+'.'+
'0003';}catch(e){
this.Session.Config.Version='0000.0000.0000.0000';}
}
this.__constructor(app_key,session_id,config);}
Map24.Webservices.Response.GetMap24Application.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.GetMap24Application");Map24.Webservices.Response.GetMapletSession=function(commands,map24_maplet_info){
this.__constructor=function(commands,map24_maplet_info){
Map24.Webservices.Response.GetMapletSession.prototype.__constructor.call(this);this.Class="GetMapletSession";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Commands=commands;this.Map24MapletInfo=map24_maplet_info;}
this.__constructor(commands,map24_maplet_info);}
Map24.Webservices.Response.GetMapletSession.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.GetMapletSession");Map24.Webservices.Response.LogMap24Application=function(){
this.__constructor=function(){
Map24.Webservices.Response.LogMap24Application.prototype.__constructor.call(this);this.Class="LogMap24PageImpression";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor();}
Map24.Webservices.Response.LogMap24Application.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.LogMap24Application");Map24.Webservices.Response.LogMap24PageImpression=function(){
this.__constructor=function(){
Map24.Webservices.Response.LogMap24PageImpression.prototype.__constructor.call(this);this.Class="LogMap24PageImpression";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor();}
Map24.Webservices.Response.LogMap24PageImpression.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.LogMap24PageImpression");Map24.Webservices.Response.MapletRemoteControl=function(){
this.__constructor=function(){
Map24.Webservices.Response.MapletRemoteControl.prototype.__constructor.call(this);this.Class="MapletRemoteControl";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor();}
Map24.Webservices.Response.MapletRemoteControl.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.MapletRemoteControl");Map24.Webservices.Response.MapSearchFree=function(objects,info){
this.__constructor=function(objects,info){
Map24.Webservices.Response.MapSearchFree.prototype.__constructor.call(this);this.Class="MapSearchFree";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Alternatives=objects;this.Info=info;}
this.__constructor(objects,info);}
Map24.Webservices.Response.MapSearchFree.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.MapSearchFree");Map24.Webservices.Response.ReadLocations=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Response.ReadLocations.prototype.__constructor.call(this);this.Class="ReadLocations";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ResponseID=default_args.ResponseID;this.Offset=0;if(Map24.isNumeric(default_args.Offset))
this.Offset=default_args.Offset;this.Count=null;if(Map24.isNumeric(default_args.Count)){
this.Count=default_args.Count;}
this.CustomerLayerIDs=default_args.CustomerLayerIDs;this.Map24LayerIDs=default_args.Map24LayerIDs;this.TotalCount=null;if(Map24.isNumeric(default_args.TotalCount)){
this.TotalCount=default_args.TotalCount;}
this.Map24Locations=default_args.Map24Locations;}
this.__constructor(default_args);}
Map24.Webservices.Response.ReadLocations.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.ReadLocations");Map24.Webservices.Response.RenderImageMap=function(objects,info){
this.__constructor=function(objects,info){
Map24.Webservices.Response.RenderImageMap.prototype.__constructor.call(this);this.Class="RenderImageMap";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjects=objects;this.Info=info;}
this.__constructor(objects,info);}
Map24.Webservices.Response.RenderImageMap.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.RenderImageMap");Map24.Webservices.MRC=function(){}
Map24.Webservices.MRC.Command=function(){
this.__constructor=function(){
Map24.Webservices.MRC.Command.prototype.__constructor.call(this);this.Class="Command";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this._RequiresImageMapReload=true;}
this.toUrlParam=function(index){
return null;}
this.__constructor();}
Map24.Webservices.MRC.Command.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.MRC.Command");Map24.Webservices.MRC.ControlMapObject=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.ControlMapObject","__constructor");Map24.Webservices.MRC.ControlMapObject.prototype.__constructor.call(this);this.Class="ControlMapObject";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this._RequiresImageMapReload=false;this.Control=null;if(typeof default_args.Control=="string")
this.Control=default_args.Control;this.MapObjectIDs=null;if((default_args.MapObjectIDs instanceof Array))
this.MapObjectIDs=default_args.MapObjectIDs;if(typeof default_args.MapObjectIDs=="string")
this.MapObjectIDs=new Array(default_args.MapObjectIDs);if(typeof default_args.MapObjectID=="string")
this.MapObjectIDs=new Array(default_args.MapObjectID);this.LayerIDs=null;if((default_args.LayerIDs instanceof Array))
this.LayerIDs=default_args.LayerIDs;if(typeof default_args.LayerIDs=="string")
this.LayerIDs=new Array(default_args.LayerIDs);this.GroupIDs=null;if((default_args.GroupIDs instanceof Array))
this.GroupIDs=default_args.GroupIDs;if(typeof default_args.GroupIDs=="string")
this.GroupIDs=new Array(default_args.GroupIDs);}
this.toUrlParam=function(index){
var arg="";try{
arg +="&cmd"+index+"="+Map24.urlencode(""+this.Control);if(this.MapObjectIDs instanceof Array)
arg +="&mobid"+index+"="+Map24.urlencode(""+this.MapObjectIDs.join("|"));if(this.LayerIDs instanceof Array)
arg +="&layer"+index+"="+Map24.urlencode(""+this.LayerIDs.join("|"));if(this.GroupIDs instanceof Array)
arg +="&group"+index+"="+Map24.urlencode(""+this.GroupIDs.join("|"));return arg;}catch(e){}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.ControlMapObject.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC");Map24.Webservices.MRC.DeclareMap24HTMLObject=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24HTMLObject","__constructor");Map24.Webservices.MRC.DeclareMap24HTMLObject.prototype.__constructor.call(this);this.Class="DeclareMap24HTMLObject";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinate=default_args.Coordinate;this.CanvasReferencePoint=null;if(default_args.CanvasReferencePoint instanceof Map24.Webservices.CanvasReferencePoint)
this.CanvasReferencePoint=default_args.CanvasReferencePoint;this.Orientation=null;if(default_args.Orientation instanceof Map24.Webservices.MapObjectOrientation)
this.Orientation=default_args.Orientation;this.HTML=null;if(typeof default_args.HTML=="string")
this.HTML=default_args.HTML;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24HTMLObject.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24HTMLObject");Map24.Webservices.MRC.DeclareMap24Label=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24Label","__constructor");Map24.Webservices.MRC.DeclareMap24Label.prototype.__constructor.call(this);this.Class="DeclareMap24Label";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Anchor=null;if(typeof default_args.Anchor=="string")
this.Anchor=default_args.Anchor;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinate=default_args.Coordinate;this.Text=null;if(typeof default_args.Text=="string")
this.Text=new Array(default_args.Text);if(default_args.Text instanceof Array)
this.Text=default_args.Text;this.InscriptionColor=null;if(default_args.InscriptionColor instanceof Map24.Color)
this.InscriptionColor=default_args.InscriptionColor;if(default_args.Color instanceof Map24.Color)
this.InscriptionColor=default_args.Color;this.BgrdColor=null;if(default_args.BgrdColor instanceof Map24.Color)
this.BgrdColor=default_args.BgrdColor;if(default_args.BgColor instanceof Map24.Color)
this.BgrdColor=default_args.BgColor;this.FrameColor=null;if(default_args.FrameColor instanceof Map24.Color)
this.FrameColor=default_args.FrameColor;if(default_args.BorderColor instanceof Map24.Color)
this.FrameColor=default_args.BorderColor;this.XOffset=0;if(typeof default_args.XOffset=="string")
default_args.XOffset=parseInt(default_args.XOffset);if(Map24.isNumeric(default_args.XOffset))
this.XOffset=default_args.XOffset;this.YOffset=0;if(typeof default_args.YOffset=="string")
default_args.YOffset=parseInt(default_args.YOffset);if(Map24.isNumeric(default_args.YOffset))
this.YOffset=default_args.YOffset;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24Label.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24Label");Map24.Webservices.MRC.DeclareMap24Location=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24Location","__constructor");Map24.Webservices.MRC.DeclareMap24Location.prototype.__constructor.call(this);this.Class="DeclareMap24Location";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinate=default_args.Coordinate;this.LogoURL=null;if((typeof default_args.LogoURL=="string")&&(default_args.LogoURL.length>0))
this.LogoURL=default_args.LogoURL;this.SymbolID=null;if(typeof default_args.SymbolID=="string")
default_args.SymbolID=parseInt(default_args.SymbolID);if(Map24.isNumeric(default_args.SymbolID))
this.SymbolID=default_args.SymbolID;this.Description=null;if((typeof default_args.Description=="string")&&(default_args.Description.length>0))
this.Description=default_args.Description;this.URL=null;if((typeof default_args.URL=="string")&&(default_args.URL.length>0))
this.URL=default_args.URL;this.TargetFrame=null;if((typeof default_args.TargetFrame=="string")&&(default_args.TargetFrame.length>0))
this.TargetFrame=default_args.TargetFrame;this.MaxMPP=null;if(Map24.isNumber(default_args.MaxMPP))
this.MaxMPP=parseInt(default_args.MaxMPP);this.MinMPP=null;if(Map24.isNumber(default_args.MinMPP))
this.MinMPP=parseInt(default_args.MinMPP);this.Customize=null;if(default_args.Customize instanceof Map24.Webservices.MapObjectCustomSettings)
this.Customize=default_args.Customize;this.Address=null;if(default_args.Address instanceof Map24.Address)
this.Address=default_args.Address;this.CanvasReferencePoint=null;if(default_args.CanvasReferencePoint instanceof Map24.Webservices.CanvasReferencePoint)
this.CanvasReferencePoint=default_args.CanvasReferencePoint;this.LogoURLOnMouseOver=null;if((typeof default_args.LogoURLOnMouseOver=="string")&&(default_args.LogoURLOnMouseOver.length>0))
this.LogoURLOnMouseOver=default_args.LogoURLOnMouseOver;this.SymbolIDOnMouseOver=null;if(typeof default_args.SymbolIDOnMouseOver=="string")
default_args.SymbolIDOnMouseOver=parseInt(default_args.SymbolIDOnMouseOver);if(Map24.isNumeric(default_args.SymbolIDOnMouseOver))
this.SymbolIDOnMouseOver=default_args.SymbolIDOnMouseOver;this.Events=null;if(default_args.Events instanceof Array)
this.Events=default_args.Events;else
if(default_args.Events instanceof Map24.Webservices.MapObjectEvent)
this.Events=[default_args.Events];this.PaintRules=null;if(default_args.PaintRules instanceof Map24.Webservices.Map24LocationPaintRule)
this.PaintRules=[default_args.PaintRules];else if(default_args.PaintRules instanceof Array)
this.PaintRules=default_args.PaintRules;}
this.toUrlParam=function(index){
var arg="";try{
if(this.Events!=null)return null;if(this.PaintRules!=null)return null;if(this.SymbolIDOnMouseOver!=null)return null;if(this.LogoURLOnMouseOver!=null)return null;if(this.CanvasReferencePoint!=null)return null;if(this.MaxMPP!=null)return null;if(this.MinMPP!=null)return null;if(this.Customize!=null)return null;if(this.Address!=null)return null;arg +="&cmd"+index+"="+Map24.urlencode("ADD");arg +="&id"+index+"="+Map24.urlencode(""+this.MapObjectID);arg +="&x"+index+"="+this.Coordinate.Longitude;arg +="&y"+index+"="+this.Coordinate.Latitude;if(typeof this.LogoURL=="string")
arg +="&logo_url"+index+"="+Map24.urlencode(this.LogoURL);if(typeof this.SymbolID=="number")
arg +="&symbol_id"+index+"="+this.SymbolID;if(typeof this.Description=="string")
arg +="&description"+index+"="+Map24.urlencode(this.Description);if(typeof this.URL=="string")
arg +="&url"+index+"="+Map24.urlencode(this.URL);if(typeof this.TargetFrame=="string")
arg +="&target_frame"+index+"="+Map24.urlencode(this.TargetFrame);return arg;}catch(e){}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24Location.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24Location");Map24.Webservices.MRC.DeclareMap24Polyline=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24Polyline","__constructor");Map24.Webservices.MRC.DeclareMap24Polyline.prototype.__constructor.call(this);this.Class="DeclareMap24Polyline";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Coordinates=null;if(default_args.Coordinates instanceof Map24.Webservices.CoordinatesArray)
this.Coordinates=default_args.Coordinates;else
if(default_args.Coordinates instanceof Array)
this.Coordinates=new Map24.Webservices.CoordinatesArray(
default_args.Coordinates
);this.Description=null;if(typeof default_args.Description=="string")
this.Description=default_args.Description;this.URL=null;if(typeof default_args.URL=="string")
this.URL=default_args.URL;this.TargetFrame=null;if(typeof default_args.TargetFrame=="string")
this.TargetFrame=default_args.TargetFrame;this.Color=null;if(default_args.Color instanceof Map24.Color)
this.Color=default_args.Color;this.StrokePaintRules=null;this.IconPaintRules=null;this.Customize=null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24Polyline.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24Polyline");Map24.Webservices.MRC.DeclareMap24Polygon=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24Polygon","__constructor");Map24.Webservices.MRC.DeclareMap24Polygon.prototype.__constructor.call(this);this.Class="DeclareMap24Polygon";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Coordinates=null;if(default_args.Coordinates instanceof Map24.Webservices.CoordinatesArray)
this.Coordinates=default_args.Coordinates;else
if(default_args.Coordinates instanceof Array)
this.Coordinates=new Map24.Webservices.CoordinatesArray(
default_args.Coordinates
);this.Description=null;if(typeof default_args.Description=="string")
this.Description=default_args.Description;this.URL=null;if(typeof default_args.URL=="string")
this.URL=default_args.URL;this.TargetFrame=null;if(typeof default_args.TargetFrame=="string")
this.TargetFrame=default_args.TargetFrame;this.FillColor=null;if(default_args.FillColor instanceof Map24.Color)
this.FillColor=default_args.FillColor;this.StrokePaintRules=null;this.FillPaintRules=null;this.Customize=null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24Polygon.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24Polygon");Map24.Webservices.MRC.DeclareMap24Oval=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24Oval","__constructor");Map24.Webservices.MRC.DeclareMap24Oval.prototype.__constructor.call(this);this.Class="DeclareMap24Oval";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Center=null;if(default_args.Center instanceof Map24.Coordinate)
this.Center=default_args.Center;this.Width=null;if(Map24.isNumeric(default_args.Width))
this.Width=default_args.Width;this.Height=null;if(Map24.isNumeric(default_args.Height))
this.Height=default_args.Height;this.FillColor=null;if(default_args.FillColor instanceof Map24.Color)
this.FillColor=default_args.FillColor;this.FillPaintRules=null;this.BorderColor=null;if(default_args.BorderColor instanceof Map24.Color)
this.BorderColor=default_args.BorderColor;this.StrokePaintRules=null;this.Customize=null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24Oval.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24Oval");Map24.Webservices.MRC.DeclareMapObjectGroup=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMapObjectGroup","__constructor");Map24.Webservices.MRC.DeclareMapObjectGroup.prototype.__constructor.call(this);this.Class="DeclareMapObjectGroup";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectGroupID=null;if(typeof default_args.MapObjectGroupID=="string")
this.MapObjectGroupID=default_args.MapObjectGroupID;this.MapObjectIDs=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectIDs=new Array(default_args.MapObjectID);if(typeof default_args.MapObjectIDs=="string")
this.MapObjectIDs=new Array(default_args.MapObjectIDs);if(default_args.MapObjectIDs instanceof Array)
this.MapObjectIDs=default_args.MapObjectIDs;}
this.toUrlParam=function(index){
var arg="";try{
arg +="&cmd"+index+"="+Map24.urlencode("ADDGROUP");arg +="&id"+index+"="+Map24.urlencode(""+this.MapObjectGroupID);if((this.MapObjectIDs instanceof Array)&&(this.MapObjectIDs.length>0))
arg +="&mobid"+index+"="+Map24.urlencode(""+this.MapObjectIDs.join("|"));return arg;}catch(e){}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMapObjectGroup.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMapObjectGroup");Map24.Webservices.MRC.DeclareMap24RouteObject=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.DeclareMap24RouteObject","__constructor");Map24.Webservices.MRC.DeclareMap24RouteObject.prototype.__constructor.call(this);this.Class="DeclareMap24RouteObject";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectID=null;if(typeof default_args.MapObjectID=="string")
this.MapObjectID=default_args.MapObjectID;this.Map24RouteID=null;if(typeof default_args.Map24RouteID=="string")
this.Map24RouteID=default_args.Map24RouteID;this.Map24RoutingServiceID=null;if(typeof default_args.Map24RoutingServiceID=="string")
this.Map24RoutingServiceID=default_args.Map24RoutingServiceID;this.Color=null;if(default_args.Color instanceof Map24.Color)
this.Color=default_args.Color;this.StrokePaintRules=null;this.IgnoreDescription=true;if(typeof default_args.IgnoreDescription=="boolean")
this.IgnoreDescription=default_args.IgnoreDescription;else
if(Map24.isNumeric(default_args.IgnoreDescription))
this.IgnoreDescription=(default_args.IgnoreDescription==0?false:true);this.Customize=null;}
this.toUrlParam=function(index){
var arg="";try{
arg +="&cmd"+index+"="+Map24.urlencode("ADD");arg +="&id"+index+"="+Map24.urlencode(""+this.MapObjectID);arg +="&routeid"+index+"="+Map24.urlencode(""+this.Map24RouteID);if((typeof this.Map24RoutingServiceID=="string")&&(this.Map24RoutingServiceID.length>0))
arg +="&routingserviceid"+index+"="+Map24.urlencode(""+this.Map24RoutingServiceID);if(this.Color instanceof Map24.Color)
arg +="&color"+index+"="+this.Color.toHex();return arg;}catch(e){}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.DeclareMap24RouteObject.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.DeclareMap24RouteObject");Map24.Webservices.MRC.RemoveMapObject=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="string")
default_args={MapObjectID:default_args};if(typeof default_args=="number")
default_args={MapObjectID:""+default_args};if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.RemoveMapObject","__constructor");Map24.Webservices.MRC.RemoveMapObject.prototype.__constructor.call(this);this.Class="RemoveMapObject";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.MapObjectIDs=null;if(typeof default_args.MapObjectID=="number")
this.MapObjectIDs=new Array(""+default_args.MapObjectID);if(typeof default_args.MapObjectID=="string")
this.MapObjectIDs=new Array(default_args.MapObjectID);if(typeof default_args.MapObjectIDs=="number")
this.MapObjectIDs=new Array(""+default_args.MapObjectIDs);if(typeof default_args.MapObjectIDs=="string")
this.MapObjectIDs=new Array(default_args.MapObjectIDs);if(default_args.MapObjectIDs instanceof Array)
this.MapObjectIDs=default_args.MapObjectIDs;}
this.toUrlParam=function(index){
var arg="";try{
arg +="&cmd"+index+"="+Map24.urlencode("REMOVE");if(this.MapObjectIDs instanceof Array)
arg +="&mobid"+index+"="+Map24.urlencode(""+this.MapObjectIDs.join("|"));return arg;}catch(e){}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.RemoveMapObject.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.RemoveMapObject");Map24.Webservices.MRC.ModifyMapView=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.ModifyMapView","__constructor");Map24.Webservices.MRC.ModifyMapView.prototype.__constructor.call(this);this.Class="ModifyMapView";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Control=null;if(typeof default_args.Control=="string")
this.Control=default_args.Control;this.px=null;if(Map24.isNumeric(default_args.Px))
this.px=parseInt(default_args.Px);if(Map24.isNumeric(default_args.px))
this.px=parseInt(default_args.px);this.py=null;if(Map24.isNumeric(default_args.Py))
this.py=parseInt(default_args.Py);if(Map24.isNumeric(default_args.py))
this.py=parseInt(default_args.py);this.pw=null;if(Map24.isNumeric(default_args.Pw))
this.pw=parseInt(default_args.Pw);if(Map24.isNumeric(default_args.pw))
this.pw=parseInt(default_args.pw);this.ph=null;if(Map24.isNumeric(default_args.Ph))
this.ph=parseInt(default_args.Ph);if(Map24.isNumeric(default_args.ph))
this.ph=parseInt(default_args.ph);this.zoom=null;if(Map24.isNumeric(default_args.Zoom))
this.zoom=default_args.Zoom;if(Map24.isNumeric(default_args.zoom))
this.zoom=default_args.zoom;this.percentage=null;if(Map24.isNumeric(default_args.Percentage))
this.percentage=default_args.Percentage;if(Map24.isNumeric(default_args.percentage))
this.percentage=default_args.percentage;this.Center=null;if(default_args.Center instanceof Map24.Coordinate)
this.Center=default_args.Center;this.ZoomRectangle=null;if(default_args.ZoomRectangle instanceof Map24.Webservices.ZoomRectangle)
this.ZoomRectangle=default_args.ZoomRectangle;}
this.toUrlParam=function(index){
if(this.Center!=null)return null;if(this.ZoomRectangle!=null)return null;var arg="";try{
arg +="&cmd"+index+"="+Map24.urlencode("NAV");if(typeof this.Control=="string")
arg +="&nav"+index+"="+this.Control;if((typeof this.percentage=="string")||(typeof this.percentage=="number"))
arg +="&percent"+index+"="+this.percentage;if((typeof this.px=="string")||(typeof this.px=="number"))
arg +="&px"+index+"="+this.px;if((typeof this.py=="string")||(typeof this.py=="number"))
arg +="&py"+index+"="+this.py;if((typeof this.zoom=="string")||(typeof this.zoom=="number"))
arg +="&zoom"+index+"="+this.zoom;return arg;}catch(e){Map24.dump(e);}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.ModifyMapView.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.ModifyMapView");Map24.Webservices.MRC.SetMapView=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.SetMapView","__constructor");Map24.Webservices.MRC.SetMapView.prototype.__constructor.call(this);this.Class="SetMapView";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.ClippingWidth=null;if(default_args.ClippingWidth instanceof Map24.Webservices.ClippingWidth)
this.ClippingWidth=default_args.ClippingWidth;this.Coordinates=new Array();if(default_args.Coordinates instanceof Map24.Coordinate)
this.Coordinates.push(default_args.Coordinates);else
if(default_args.Coordinates instanceof Array)
this.Coordinates=default_args.Coordinates;if(default_args.Coordinate instanceof Map24.Coordinate)
this.Coordinates.push(default_args.Coordinate);this.MapObjectIDs=new Array();if(default_args.MapObjectIDs instanceof Array)
this.MapObjectIDs=default_args.MapObjectIDs;else
if(typeof default_args.MapObjectIDs=="string")
this.MapObjectIDs.push(default_args.MapObjectIDs);}
this.toUrlParam=function(index){
var arg="";try{
arg +="&cmd"+index+"="+Map24.urlencode("MOV");if((this.MapObjectIDs instanceof Array)&&(this.MapObjectIDs.length>0))
arg +="&mobid"+index+"="+Map24.urlencode(""+this.MapObjectIDs.join("|"));if(this.Coordinates instanceof Array){
for(var i=0;i<this.Coordinates.length;i++){
arg +="&x"+index+"|"+i+"="+this.Coordinates[i].Longitude;arg +="&y"+index+"|"+i+"="+this.Coordinates[i].Latitude;}
}
if(this.ClippingWidth instanceof Map24.Webservices.ClippingWidth){
if(typeof this.ClippingWidth.MinimumWidth=="number")
arg +="&clw_min"+index+"="+this.ClippingWidth.MinimumWidth;if(typeof this.ClippingWidth.ViewPercentage=="number")
arg +="&clw_per"+index+"="+this.ClippingWidth.ViewPercentage;}
return arg;}catch(e){Map24.dump(e);}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.SetMapView.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC.SetMapView");Map24.Webservices.MRC.Surf=function(url,target){
this.__constructor=function(url,target){
var default_args={};if((typeof target=="undefined")&&(url instanceof Object))
default_args=url;else
default_args={URL:url,TargetFrame:target};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.Surf","__constructor");Map24.Webservices.MRC.Surf.prototype.__constructor.call(this);this.Class="Surf";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.URL=null;if(typeof default_args.URL=="string")
this.URL=default_args.URL;this.TargetFrame=null;if(typeof default_args.TargetFrame=="string")
this.TargetFrame=default_args.TargetFrame;}
this.__constructor(url,target);}
Map24.Webservices.MRC.Surf.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC");Map24.Webservices.MRC.ControlComponent=function(default_args){
this.__constructor=function(default_args){
if(typeof default_args=="undefined"||default_args==null)default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.ControlComponent","__constructor");Map24.Webservices.MRC.ControlComponent.prototype.__constructor.call(this);this.Class="ControlComponent";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Component=null;if(typeof default_args.Component=="string")
this.Component=default_args.Component;this.Control=null;if(typeof default_args.Control=="string")
this.Control=default_args.Control;this.Properties=null;if((default_args.Properties instanceof Map24.Webservices.Hashtable))
this.Properties=default_args.Properties;}
this.toUrlParam=function(index){
var arg="";try{
if((typeof this.Control=="string")&&(this.Control=="HIDE"))
arg +="&cmd"+index+"=HIDECOMPONENT";else
arg +="&cmd"+index+"=SHOWCOMPONENT";if((typeof this.Component=="string")&&(this.Component.length>0))
arg +="&component"+index+"="+Map24.urlencode(this.Component);if(this.Properties instanceof Map24.Webservices.Hashtable)
{
var i=0;for(var key in this.Properties)
{
if(this.Properties.IgnoreForSerialization[key]==1)
continue;if(key=="DO_NOT_CONVERT_TO_URL")return null;switch(typeof this.Properties[key]){
case "function":case "undefined":break;case "null":arg +="&key"+index+":"+i+"="+key;arg +="&value"+index+":"+i+"=null";i++;break;case "boolean":arg +="&key"+index+":"+i+"="+key;arg +="&value"+index+":"+i+"="+
(this.Properties[key]?"true":"false");i++;break;case "number":case "string":arg +="&key"+index+":"+i+"="+key;arg +="&value"+index+":"+i+"="+this.Properties[key];i++;break;default:Map24.dump("failed for key '"+key+"' due to valule beeing type '"+(typeof this[key])+"'");return null;}
}
}
return arg;}catch(e){Map24.dump(e);}
return null;}
this.__constructor(default_args);}
Map24.Webservices.MRC.ControlComponent.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC");Map24.Webservices.MRC.ControlLayer=function(cmd,layer_ids,map24_layer){
this.__constructor=function(cmd,layer_ids,map24_layer){
var default_args=null;if((cmd instanceof Object)&&(typeof layerid=="undefined")&&(typeof maper_layer=="undefined"))
default_args=cmd;else
default_args={
Control:cmd,LayerIDs:layer_ids,Map24Layers:map24_layer
};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The given parameter 'default_args' is no object and not null!",default_args,"Map24.Webservices.MRC.ControlLayer","__constructor");Map24.Webservices.MRC.ControlLayer.prototype.__constructor.call(this);this.Class="ControlLayer";this.Package="Map24.Webservices.MRC";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Control=null;if(typeof default_args.Control=="string")
this.Control=default_args.Control;this.LayerIDs=null;if((default_args.LayerIDs instanceof Array))
this.LayerIDs=default_args.LayerIDs;else
if(typeof default_args.LayerIDs=="string")
this.LayerIDs=new Array(default_args.LayerIDs);else
if(Map24.isNumber(default_args.LayerIDs))
this.LayerIDs=new Array(""+default_args.LayerIDs);this.Map24Layers=true;if(typeof default_args.Map24Layers=="boolean")
this.Map24Layers=default_args.Map24Layers;else
if(typeof default_args.Map24Layers=="number")
this.Map24Layers=(default_args.Map24Layers==0?false:true);}
this.toUrlParam=function(index){
try{
var cmdString="";cmdString +="&cmd"+index+"="+Map24.urlencode(""+this.Control+"LAYER");if(typeof this.Map24Layers=='boolean'&&this.Map24Layers==false){
cmdString +="&layer"+index+"="+Map24.urlencode(""+this.LayerIDs.join("|"));}
else{
cmdString +="&map24layer"+index+"="+Map24.urlencode(""+this.LayerIDs.join("|"));}
}catch(e){}
return null;}
this.__constructor(cmd,layer_ids,map24_layer);}
Map24.Webservices.MRC.ControlLayer.prototype=new Map24.Webservices.MRC.Command;Map24.notifyClassReady("Map24.Webservices.MRC");Map24.Webservices.Request.FindCustomerLocations=function(map,default_args){
this.__constructor=function(map,default_args){
if(!(default_args instanceof Object))default_args={};this.Offset=0;if(Map24.isNumeric(default_args.Offset))
this.Offset=default_args.Offset;this.Count=null;if(Map24.isNumeric(default_args.Count)){
this.Count=default_args.Count;}
if(this.Count>100){
this.Count=100;}
this.CustomerLayerIDs=null;if(default_args.CustomerLayerIDs instanceof Array){
this.CustomerLayerIDs=default_args.CustomerLayerIDs;}
this.SearchFields=null;if(default_args.SearchFields instanceof Map24.Webservices.Map24CustomerLocation){
this.SearchFields=default_args.SearchFields;}
this.CircleFilter=null;if(default_args.CircleFilter instanceof Map24.Webservices.CLCircleFilter){
this.CircleFilter=default_args.CircleFilter;}
this.PolygonFilter=null;if(default_args.PolygonFilter instanceof Map24.Webservices.CLPolygonFilter){
this.PolygonFilter=default_args.PolygonFilter;}
this.PolylineCorridorFilter=null;if(default_args.PolylineCorridorFilter instanceof Map24.Webservices.CLPolylineCorridorFilter){
this.PolylineCorridorFilter=default_args.PolylineCorridorFilter;}
this.RouteCorridorFilter=null;if(default_args.RouteCorridorFilter instanceof Map24.Webservices.CLRouteCorridorFilter){
this.RouteCorridorFilter=default_args.RouteCorridorFilter;}
this.RequestProperties=null;if(default_args.RequestProperties instanceof Array){
this.RequestProperties=default_args.RequestProperties;}
Map24.Webservices.Request.FindCustomerLocations.prototype.__constructor.call(this,map,{
Xslt:Map24.XSLT_BASE_URL+'Map24CustomerLocationService/findCustomerLocations.xsl',RequestMethod:'findCustomerLocations',RequestNamespace:'Map24CustomerLocationService',RequestClassProperties:new Array(
"Offset","Count","CustomerLayerIDs","SearchFields","CircleFilter","PolygonFilter","PolylineCorridorFilter","RouteCorridorFilter","RequestProperties"
)
});this.Class="FindCustomerLocations";this.Package="Map24.Webservices.Request";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.toUrl=function(){
return "";}
this.__constructor(map,default_args);}
Map24.Webservices.Request.FindCustomerLocations.prototype=new Map24.Webservices.Request.Soap;Map24.notifyClassReady("Map24.Webservices.Request.FindCustomerLocations");Map24.Webservices.Response.FindCustomerLocations=function(default_args){
this.__constructor=function(default_args){
Map24.Webservices.Response.FindCustomerLocations.prototype.__constructor.call(this);this.Class="FindCustomerLocations";this.Package="Map24.Webservices.Response";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Map24CustomerLocations=null;if(default_args.Map24CustomerLocations instanceof Array){
this.Map24CustomerLocations=default_args.Map24CustomerLocations;}
this.ResponseProperties=null;if(default_args.ResponseProperties instanceof Array){
this.ResponseProperties=default_args.ResponseProperties;}
this.Offset=null;if(Map24.isNumeric(default_args.Offset)){
this.Offset=default_args.Offset;}
this.Count=null;if(Map24.isNumeric(default_args.Count)){
this.Count=default_args.Count;}
this.CustomerLayerIDs=null;if(default_args.CustomerLayerIDs instanceof Array){
this.CustomerLayerIDs=default_args.CustomerLayerIDs;}
}
this.__constructor(default_args);}
Map24.Webservices.Response.FindCustomerLocations.prototype=new Map24.Webservices.Response.Soap;Map24.notifyClassReady("Map24.Webservices.Response.FindCustomerLocations");Map24.Webservices.CLCircleFilter=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.CLCircleFilter.prototype.__constructor.call(this,default_args);this.Class="CLCircleFilter";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Center=null;if(default_args.Center instanceof Map24.Coordinate){
this.Center=default_args.Center;}
this.Radius=0;if(Map24.isNumeric(default_args.Radius)){
this.Radius=default_args.Radius;}
}
this.__constructor(default_args);}
Map24.Webservices.CLCircleFilter.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.CLCircleFilter");Map24.Webservices.CLPolygonFilter=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.CLPolygonFilter.prototype.__constructor.call(this,default_args);this.Class="CLPolygonFilter";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Coordinates=null;if(default_args.Coordinates instanceof Map24.Webservices.CoordinatesArray){
this.Coordinates=default_args.Coordinates;}
}
this.__constructor(default_args);}
Map24.Webservices.CLPolygonFilter.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.CLPolygonFilter");Map24.Webservices.CLPolylineCorridorFilter=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.CLPolylineCorridorFilter.prototype.__constructor.call(this,default_args);this.Class="CLPolylineCorridorFilter";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Coordinates=null;if(default_args.Coordinates instanceof Map24.Webservices.CoordinatesArray){
this.Coordinates=default_args.Coordinates;}
this.Width=null;if(Map24.isNumeric(default_args.Width)){
this.Width=default_args.Width;}
}
this.__constructor(default_args);}
Map24.Webservices.CLPolylineCorridorFilter.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.CLPolylineCorridorFilter");Map24.Webservices.CLRouteCorridorFilter=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.CLRouteCorridorFilter.prototype.__constructor.call(this,default_args);this.Class="CLRouteCorridorFilter";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Map24RouteID=null;if(typeof default_args.Map24RouteID=="string"){
this.Map24RouteID=default_args.Map24RouteID;}
this.Width=null;if(Map24.isNumeric(default_args.Width)){
this.Width=default_args.Width;}
}
this.__constructor(default_args);}
Map24.Webservices.CLRouteCorridorFilter.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.CLRouteCorridorFilter");Map24.Webservices.Map24CustomerLocation=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.Map24CustomerLocation.prototype.__constructor.call(this,default_args);this.Class="Map24CustomerLocation";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Map24LocationID=null;if(Map24.isNumeric(default_args.Map24LocationID)){
this.Map24LocationID=default_args.Map24LocationID;}
this.CustomerLocationID=null;if(typeof default_args.CustomerLocationID=="string"){
this.CustomerLocationID=default_args.CustomerLocationID;}
this.Coordinate=null;if(default_args.Coordinate instanceof Map24.Coordinate){
this.Coordinate=default_args.Coordinate;}
this.Distance=0;if(Map24.isNumeric(default_args.Distance)){
this.Distance=default_args.Distance;}
this.Direction=0;if(Map24.isNumeric(default_args.Direction)){
this.Direction=default_args.Direction;}
this.Orientation=null;if(typeof default_args.Orientation=="string"){
this.Orientation=default_args.Orientation;}
this.Salutation=null;if(typeof default_args.Salutation=="string"){
this.Salutation=default_args.Salutation;}
this.Name1=null;if(typeof default_args.Name1=="string"){
this.Name1=default_args.Name1;}
this.Name2=null;if(typeof default_args.Name2=="string"){
this.Name2=default_args.Name2;}
this.Name3=null;if(typeof default_args.Name3=="string"){
this.Name3=default_args.Name3;}
this.Street=null;if(typeof default_args.Street=="string"){
this.Street=default_args.Street;}
this.ZIP=null;if(typeof default_args.ZIP=="string"){
this.ZIP=default_args.ZIP;}
this.City=null;if(typeof default_args.City=="string"){
this.City=default_args.City;}
this.State=null;if(typeof default_args.State=="string"){
this.State=default_args.State;}
this.Country=null;if(typeof default_args.Country=="string"){
this.Country=default_args.Country;}
this.Phone=null;if(typeof default_args.Phone=="string"){
this.Phone=default_args.Phone;}
this.Fax=null;if(typeof default_args.Fax=="string"){
this.Fax=default_args.Fax;}
this.EMail=null;if(typeof default_args.EMail=="string"){
this.EMail=default_args.EMail;}
this.Description=null;if(typeof default_args.Description=="string"){
this.Description=default_args.Description;}
this.URL=null;if(typeof default_args.URL=="string"){
this.URL=default_args.URL;}
this.TargetFrame=null;if(typeof default_args.TargetFrame=="string"){
this.TargetFrame=default_args.TargetFrame;}
this.ClippingWidth=0;if(Map24.isNumeric(default_args.ClippingWidth)){
this.ClippingWidth=default_args.ClippingWidth;}
this.SymbolID=null;if(Map24.isNumeric(default_args.SymbolID)){
this.SymbolID=default_args.SymbolID;}
this.SymbolCenterX=null;if(Map24.isNumeric(default_args.SymbolCenterX)){
this.SymbolCenterX=default_args.SymbolCenterX;}
this.SymbolCenterY=null;if(Map24.isNumeric(default_args.SymbolCenterY)){
this.SymbolCenterY=default_args.SymbolCenterY;}
this.LogoURL=null;if(typeof default_args.LogoURL=="string"){
this.LogoURL=default_args.LogoURL;}
this.CustomerFields=null;if(default_args.CustomerFields instanceof Array){
this.CustomerFields=default_args.CustomerFields;}
this.LocationProperties=null;if(default_args.LocationProperties instanceof Array){
this.LocationProperties=default_args.LocationProperties;}
}
this.__constructor(default_args);}
Map24.Webservices.Map24CustomerLocation.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Map24CustomerLocation");Map24.Webservices.Property=function(default_args)
{
this.__constructor=function(default_args){
if(!Map24.isNull(default_args)){
if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("Invalid parameter 'default_args' given (no hashtable)!",default_args,"CMapObject","__constructor");}else
default_args={};Map24.Webservices.Property.prototype.__constructor.call(this,default_args);this.Class="Property";this.Package="Map24.Webservices";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Key=null;if(typeof default_args["Key"]!="undefined"){
if((typeof default_args["Key"]!="string")&&default_args["Key"]!=null)
{
try{
this.Key=""+default_args.Key;}catch(e){}
}else
this.Key=default_args.Key;}
this.Value=null;if(typeof default_args["Value"]!="undefined"){
if((typeof default_args["Value"]!="string")&&default_args["Key"]!=null)
{
try{
this.Value=""+default_args.Value;}catch(e){}
}else
this.Value=default_args.Value;}
}
this.__constructor(default_args);}
Map24.Webservices.Property.prototype=new Map24.Object;Map24.notifyClassReady("Map24.Webservices.Property");Map24.Skins=function(){}
Map24.Skins.Canvas=function(default_args){
this.__constructor=function(default_args){
if((typeof default_args=="undefined")||(default_args==null))
default_args={};if(!(default_args instanceof Object))throw new Map24.Exceptions.InvalidArgument("The parameter 'default_args' is no hashtable/object and not null!",default_args,"Map24.Skins.Canvas","__constructor");Map24.Skins.Canvas.prototype.__constructor.call(this);this.Class="Canvas";this.Package="Map24.Skins";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Doc=default_args.Doc;if(!Map24.isDocument(this.Doc))throw new Map24.Exceptions.InvalidArgument("The parameter 'Doc' is no valid document!",default_args.Doc,"Map24.Skins.Canvas","__constructor");this.InstanceId=null;var id=Map24.makeUniqueId(10);var i=0;while((typeof Map24.Skins.Skin._Instances[id]!="undefined")&&(i<10)){
id=Map24.makeUniqueId(10);i++;}
this.InstanceId=id;this.ZIndex=1;if(Map24.isNumber(default_args.ZIndex))
this.ZIndex=default_args.ZIndex;this.Mode=null;this.LastMrcRequestId=null;this.DragMinPixels=12;this.DragStart=null;this.Rectangle=null;this.ViewportWidth=0;if(Map24.isNumber(default_args.ViewportWidth))
this.ViewportWidth=default_args.ViewportWidth;this.ViewportHeight=0;if(Map24.isNumber(default_args.ViewportHeight))
this.ViewportHeight=default_args.ViewportHeight;this.Viewport=this.Doc.createElement("div");this.Viewport.style.position="relative";this.Viewport.style.zIndex=this.ZIndex;this.Viewport.style.width=this.ViewportWidth+"px";this.Viewport.style.height=this.ViewportHeight+"px";this.Viewport.style.backgroundColor="#e0e0e0";this.Viewport.style.overflow="hidden";this.Viewport.CanvasId=this.InstanceId;this.Margin=0;this.Width=Math.round(this.ViewportWidth+(this.Margin*2));this.Height=Math.round(this.ViewportHeight+(this.Margin*2));this.X=this.Margin;this.Y=this.Margin;this.MapImages=new Array();if(default_args.MapImages instanceof Array)
this.MapImages=default_args.MapImages;if(Map24.isImage(default_args.MapImages))
this.MapImages=new Array(default_args.MapImages);this.Session=null;if(default_args.Session instanceof Map24.Session)
this.Session=default_args.Session;this.Overlay=this.Doc.createElement("div");this.Overlay.style.position="absolute";this.Overlay.style.zIndex=(this.ZIndex + 10);this.Overlay.style.left="0px";this.Overlay.style.top="0px";this.Overlay.style.width=this.ViewportWidth+"px";this.Overlay.style.height=this.ViewportHeight+"px";this.Overlay.style.overflow="hidden";this.BackgroundNode=this.Doc.createElement("div");this.BackgroundNode.style.position="absolute";this.BackgroundNode.style.zIndex=this.ZIndex + 3;this.BackgroundNode.style.left="0px";this.BackgroundNode.style.top="0px";this.BackgroundNode.style.width=this.Width+"px";this.BackgroundNode.style.height=this.Height+"px";this.BackgroundNode.style.overflow="hidden";this.ForegroundNode=this.Doc.createElement("div");this.ForegroundNode.style.position="absolute";this.ForegroundNode.style.zIndex=this.ZIndex + 4;this.ForegroundNode.style.left="0px";this.ForegroundNode.style.top="0px";this.ForegroundNode.style.width=this.Width+"px";this.ForegroundNode.style.height=this.Height+"px";this.ForegroundNode.style.overflow="hidden";this.CanvasNode=this.Doc.createElement("div");this.CanvasNode.style.position="absolute";this.CanvasNode.style.zIndex=this.ZIndex + 2;this.CanvasNode.style.left=(this.X*-1)+"px";this.CanvasNode.style.top=(this.Y*-1)+"px";this.CanvasNode.style.width=this.Width+"px";this.CanvasNode.style.height=this.Height+"px";this.CanvasNode.style.backgroundColor="#e0e0e0";this.CanvasNode.style.overflow="hidden";this.CanvasNode.appendChild(this.ForegroundNode);this.CanvasNode.appendChild(this.BackgroundNode);this.Viewport.appendChild(this.CanvasNode);this.Viewport.appendChild(this.Overlay);this.Viewport.onmousedown=this.mouseDownEvent;this.Viewport.onmousemove=this.mouseMoveEvent;this.Viewport.onmouseup=this.mouseUpEvent;this.Viewport.onmouseout=this.mouseOutEvent;this.Viewport.oncontextmenu=function(e){return false;};if(Map24.Browser.IE){
this.Viewport.ondragstart=function(e){return false;}
this.Viewport.ondrag=function(e){return false;}
}
Map24.Skins.Canvas._Instances[id]=this;}
this.setCanvasMode=function(mode,button){
if(typeof button!="number")button=Map24.Browser.LEFT_BUTTON;if(typeof mode!="string")throw new Map24.Exceptions.InvalidArgument("The parameter 'mode' is of an invalid type (no string and not null)!",mode,"Map24.Skins.Canvas","setCanvasMode");switch(mode){
case "CLICK":case "PAN":case "ZOOM":if(button==Map24.Browser.LEFT_BUTTON){
this.Mode=mode;this.Parent.LeftButton=mode;}else
if(button==Map24.Browser.RIGHT_BUTTON){
this.Parent.RightButton=mode;}else
throw new Map24.Exceptions.InvalidArgument("The parameter 'button' has an invalid value!",button,"Map24.Skins.Canvas","setCanvasMode");break;default:throw new Map24.Exceptions.InvalidArgument("The parameter 'mode' has an invalid value!",mode,"Map24.Skins.Canvas","setCanvasMode");}
this._updateCursorByMode();}
this._updateCursorByMode=function(){
try{
if(this.Mode=="PAN"){
if(Map24.Browser.IE)
this.Viewport.style.cursor="hand";else
this.Viewport.style.cursor="pointer";}else{
this.Viewport.style.cursor="default";}
}catch(e){
e.Method="Map24.Canvas._updateCursorByMode";Map24.dump(e);}
}
this.mouseDownEvent=function(event){
var canvas=Map24.Skins.Canvas._Instances[ this.CanvasId ];if(canvas.Parent.Parent.CurrentMaptype=="JAVA")return;var e=new Map24.Browser.Event(event,canvas.Parent.Win);if(canvas.DragStart instanceof Object)return;if(e.Button==Map24.Browser.RIGHT_BUTTON){
canvas.Mode=canvas.Parent.RightButton;canvas._updateCursorByMode();}else
if(e.Button==Map24.Browser.LEFT_BUTTON){
canvas.Mode=canvas.Parent.LeftButton;canvas._updateCursorByMode();}
if(canvas.Mode=="PAN"){
if(Map24.Browser.IE){
try{
if(e.Source.id!=canvas.MapImages[0].id)return;}catch(e){
return;}
}else
{
if(e.Source!=canvas.Overlay)return;}
canvas.DragStart={
DragX:e.ClientX,DragY:e.ClientY,CanvasX:canvas.X,CanvasY:canvas.Y,ValidFrom:Map24.millitime()+ Map24.Skins.Canvas.CLICK_MAX_DELAY
};}else
if(canvas.Mode=="ZOOM"){
canvas.DragStart={
Control:"ZOOMIN",X:e.X,Y:e.Y,Width:1,Height:1,ValidFrom:Map24.millitime()+ Map24.Skins.Canvas.CLICK_MAX_DELAY
};canvas.Rectangle=canvas.Doc.createElement("div");canvas.Rectangle.style.position="absolute";canvas.Rectangle.style.zIndex=canvas.ZIndex + 70;canvas.Rectangle.style.left=(canvas.DragStart.X+canvas.X)+"px";canvas.Rectangle.style.top=(canvas.DragStart.Y+canvas.Y)+"px";canvas.Rectangle.style.width=canvas.DragStart.Width+"px";canvas.Rectangle.style.height=canvas.DragStart.Height+"px";canvas.Rectangle.style.border="dotted 1px";canvas.Rectangle.style.borderColor="#000000";canvas.Rectangle.style.overflow="hidden";if(Map24.Browser.OPERA)
canvas.Rectangle.style.backgroundImage="url("+Map24.CLASSLOADER_URL+"images/opera.png)";else{
canvas.Rectangle.style.backgroundColor="#ffffff";try{
canvas.Rectangle.style.opacity=0.5;canvas.Rectangle.style.MozOpacity=0.5;canvas.Rectangle.style.KhtmlOpacity=0.5;canvas.Rectangle.style.filter="alpha(opacity=50)";}catch(e){}
}
canvas.BackgroundNode.appendChild(canvas.Rectangle);}
}
this.mouseMoveEvent=function(event){
var canvas=Map24.Skins.Canvas._Instances[ this.CanvasId ];if(canvas.Parent.Parent.CurrentMaptype=="JAVA")return;var e=new Map24.Browser.Event(event,canvas.Parent.Win);if(canvas["DragStart"] instanceof Object){
if(canvas.DragStart.ValidFrom>=Map24.millitime())return;if(!canvas.DragStart["ViewportIsClean"])
canvas.clearViewportObjects();canvas.DragStart.ViewportIsClean=true;}else
return;if((canvas.Mode=="PAN")&&(canvas.DragStart instanceof Object)){
var x_move=e.ClientX - canvas.DragStart.DragX;var y_move=e.ClientY - canvas.DragStart.DragY;canvas.setViewportTo(canvas.DragStart.CanvasX-x_move,canvas.DragStart.CanvasY-y_move);}else
if((canvas.Mode=="ZOOM")&&(canvas.DragStart instanceof Object)){
var tmp=null;var control="ZOOMIN";var x1=canvas.DragStart.X;var y1=canvas.DragStart.Y;var x2=e.X;var y2=e.Y;if(x1>x2){
tmp=x2;x2=x1;x1=tmp;}
if(y1>y2){
tmp=y2;y2=y1;y1=tmp;control="ZOOMOUT";}
var width=(x2-x1);var height=(y2-y1);canvas.Rectangle.style.left=(x1+canvas.X)+"px";canvas.Rectangle.style.top=(y1+canvas.Y)+"px";canvas.Rectangle.style.width=width+"px";canvas.Rectangle.style.height=height+"px";}
}
this.mouseUpEvent=function(event){
var canvas=Map24.Skins.Canvas._Instances[ this.CanvasId ];if(canvas.Parent.Parent.CurrentMaptype=="JAVA")return;var e=new Map24.Browser.Event(event,canvas.Parent.Win);if((canvas.Mode=="PAN")&&(canvas.DragStart instanceof Object))
{
if(!canvas._executePan(e))canvas._executeClick(e);}else
if((canvas.Mode=="ZOOM")&&(canvas.DragStart instanceof Object)){
if(!canvas._executeZoom(e))canvas._executeClick(e);}
canvas.Mode="ZOOM";try{
canvas.Viewport.style.cursor="default";}catch(e){
e.Method="Map24.Canvas.mouseUpEvent";Map24.dump(e);}
}
this.mouseOutEvent=function(event){
var canvas=Map24.Skins.Canvas._Instances[ this.CanvasId ];if(canvas.Parent.Parent.CurrentMaptype=="JAVA")return;var e=new Map24.Browser.Event(event,canvas.Parent.Win);var mouse_out_of_viewport=false;var mouseout_node=e.ToElement;if(mouseout_node)
do{
if(mouseout_node==canvas.Viewport){
mouse_out_of_viewport=true;break;}
}while(mouseout_node=mouseout_node.parentNode);if(!mouse_out_of_viewport)return;if((canvas.Mode=="PAN")&&(canvas.DragStart instanceof Object)){
if(!canvas._executePan(e))canvas._executeClick(e);}else
if((canvas.Mode=="ZOOM")&&(canvas.DragStart instanceof Object)){
if(!canvas._executeZoom(e))canvas._executeClick(e);}
}
this._executeClick=function(e){
if(Map24.CAPTURE_CLICK)
try{
var result=null;var current_map_view=this.Parent.Map.CurrentMapView;var lon_pp=(current_map_view.LowerRight.X - current_map_view.TopLeft.X)/this.ViewportWidth;var lat_pp=(current_map_view.TopLeft.Y - current_map_view.LowerRight.Y)/this.ViewportHeight;var pos={
X:e.X,Y:e.Y,Longitude:(current_map_view.TopLeft.X +(e.X*lon_pp)),Latitude:(current_map_view.TopLeft.Y -(e.Y*lat_pp))
}
if(typeof Map24.onUserAction=="function"){
result=Map24.onUserAction("CLICK",true,this.Parent.Map,pos);}else 
if(Map24.onUserAction instanceof Array){
result=Map24.onUserAction[1].call(Map24.onUserAction[0],"CLICK",true,this.Parent.Map,pos);}
if((typeof result=="boolean")&&(result==false))return;}catch(e){}
this.setViewportTo(
this.X +(e.X - Math.round(this.ViewportWidth/2)),this.Y +(e.Y - Math.round(this.ViewportHeight/2))
);var map=this.Parent.Parent;var mrc=new Map24.Webservices.Request.MapletRemoteControl(map,{IsUserAction:true});mrc.push(new Map24.Webservices.MRC.ModifyMapView({
Control:"PAN",Px:e.X,Py:e.Y,Pw:this.ViewportWidth,Ph:this.ViewportHeight
})
);map.Webservices.sendRequest(mrc);}
this._executeZoom=function(e){
this.BackgroundNode.removeChild(this.Rectangle);this.Rectangle=null;var tmp=null;var control="ZOOMIN";var x1=this.DragStart.X;var y1=this.DragStart.Y;var x2=e.X;var y2=e.Y;if(x1>x2){
tmp=x2;x2=x1;x1=tmp;}
if(y1>y2){
tmp=y2;y2=y1;y1=tmp;}
var width=(x2-x1);var height=(y2-y1);if((this.DragStart.ValidFrom>=Map24.millitime())||((width*height)<Map24.Skins.Canvas.ZOOM_MIN_SIZE))
{
this.DragStart=null;return false;}
try{
if(typeof Map24.onUserAction=="function"){
Map24.onUserAction("ZOOM_RECT",true,this.Parent.Map);}else 
if(Map24.onUserAction instanceof Array){
Map24.onUserAction[1].call(Map24.onUserAction[0],"ZOOM_RECT",true,this.Parent.Map);}
}catch(e){}
var map=this.Parent.Parent;var mrc=new Map24.Webservices.Request.MapletRemoteControl(map,{IsUserAction:true});mrc.push(new Map24.Webservices.MRC.ModifyMapView({
Control:control,pw:this.ViewportWidth,ph:this.ViewportHeight,ZoomRectangle:new Map24.Webservices.ZoomRectangle({
X:x1,Y:y1,Width:width,Height:height
})
}));map.Webservices.sendRequest(mrc);this.DragStart=null;for(var i=0;i<this.Overlay.childNodes.length;i++){
try{
if(typeof this.Overlay.childNodes[i].IsMapObject=="boolean"&&this.Overlay.childNodes[i].IsMapObject)
{
this.Overlay.removeChild(this.Overlay.childNodes[i]);i--;}
}catch(e){}
}
return true;}
this._executePan=function(e){
if(this.DragStart.ValidFrom>=Map24.millitime()){
this.DragStart=null;return false;}
var result=false;var x_mid=Math.round(this.ViewportWidth/2);var y_mid=Math.round(this.ViewportHeight/2);var x_move=e.ClientX - this.DragStart.DragX;var y_move=e.ClientY - this.DragStart.DragY;if((Math.abs(x_move)>this.DragMinPixels)||(Math.abs(y_move)>this.DragMinPixels))
{
this.setViewportTo(this.DragStart.CanvasX-x_move,this.DragStart.CanvasY-y_move);try{
if(typeof Map24.onUserAction=="function"){
Map24.onUserAction("PAN",true,this.Parent.Map);}else 
if(Map24.onUserAction instanceof Array){
Map24.onUserAction[1].call(Map24.onUserAction[0],"PAN",true,this.Parent.Map);}
}catch(e){}
var map=this.Parent.Parent;var mrc=new Map24.Webservices.Request.MapletRemoteControl(map,{IsUserAction:true});mrc.push(new Map24.Webservices.MRC.ModifyMapView({
Control:"PAN",Px:(x_mid - x_move),Py:(y_mid - y_move),Pw:this.ViewportWidth,Ph:this.ViewportHeight
})
);map.Webservices.sendRequest(mrc);result=true;}else
this.setViewportTo(this.DragStart.CanvasX,this.DragStart.CanvasY);this.DragStart=null;for(var i=0;i<this.Overlay.childNodes.length;i++){
try{
if(typeof this.Overlay.childNodes[i].IsMapObject=="boolean"&&this.Overlay.childNodes[i].IsMapObject)
{
this.Overlay.removeChild(this.Overlay.childNodes[i]);i--;}
}catch(e){}
}
return result;}
this.clearBackground=function(){
if(typeof remove_all!="boolean")remove_all=false;var images={};for(var i=0;i<this.MapImages.length;i++){
if((typeof this.MapImages[i].id!="string")||(this.MapImages[i].id.length<=0)){
this.MapImages[i].id=""+this.InstanceId+
"_"+Map24.makeUniqueId(8);}
images[ this.MapImages[i].id ]=this.MapImages[i];}
var ch_node=null;for(var i=0;i<this.BackgroundNode.childNodes.length;i++){
ch_node=this.BackgroundNode.childNodes[i];if(!Map24.arrayKeyExists(ch_node.id,images)){
this.BackgroundNode.removeChild(ch_node);i--;}
}
}
this.updateBackground=function(recenterViewport){
if(typeof recenterViewport!="boolean")recenterViewport=true;this.clearBackground();if(recenterViewport){
this.X=this.Margin;this.Y=this.Margin;this.CanvasNode.style.left=(this.X*-1)+"px";this.CanvasNode.style.top=(this.Y*-1)+"px";}
if(this.MapImages.length>0){
if(true){
this.MapImages[0].border=0;this.MapImages[0].style.position="absolute";this.MapImages[0].style.left="0px";this.MapImages[0].style.top="0px";this.MapImages[0].style.width=this.Width+"px";this.MapImages[0].style.height=this.Height+"px";this.MapImages[0].style.zIndex=this.ZIndex + 2;this.BackgroundNode.appendChild(this.MapImages[0]);}else
{
var img=this.Doc.createElement("img");img.src=this.MapImages[0].src;img.id=this.MapImages[0].id;img.border=0;img.style.position="absolute";img.style.left="0px";img.style.top="0px";img.style.width=this.Width+"px";img.style.height=this.Height+"px";img.style.zIndex=this.ZIndex + 2;this.BackgroundNode.appendChild(img);}
}
}
this.appendViewportObjects=function(){
this.clearViewportObjects();var map_obj=null;var div_tag=null;for(key in this.Session.MapObjects){
map_obj=this.Session.MapObjects[key];if(!Map24.isNull(map_obj.Position)&&map_obj.Visible){
div_tag=this.Doc.createElement("div");div_tag.style.position="absolute";div_tag.style.left=(map_obj.Position.Left - this.X)+"px";div_tag.style.top=(map_obj.Position.Top - this.Y)+"px";if(Map24.isNumeric(map_obj.Position.Width)&&(map_obj.Position.Width>0))
{
div_tag.style.width=map_obj.Position.Width+"px";}
if(Map24.isNumeric(map_obj.Position.Height)&&(map_obj.Position.Height>0))
{
div_tag.style.height=map_obj.Position.Height+"px";}
div_tag.style.overflow="hidden";div_tag.style.zIndex=this.ZIndex + 60 + map_obj.ZIndex;div_tag.IsMapObject=true;map_obj.paintTo(this.Doc,div_tag,this.Parent.Parent.InstanceId);this.Overlay.appendChild(div_tag);}
}
}
this.clearViewportObjects=function(){
for(var i=0;i<this.Overlay.childNodes.length;i++){
try{
if(typeof this.Overlay.childNodes[i].IsMapObject=="boolean"&&this.Overlay.childNodes[i].IsMapObject)
{
this.Overlay.removeChild(this.Overlay.childNodes[i]);i--;}
}catch(e){}
}
}
this.clearForeground=function(){
var i=0;try{
while(this.ForegroundNode.childNodes.length>0&&i<1000){
this.ForegroundNode.removeChild(this.ForegroundNode.childNodes[0]);i++;}
}catch(e){
}
}
this.updateForeground=function(){
while(this.ForegroundNode.childNodes.length>0){
this.ForegroundNode.removeChild(this.ForegroundNode.childNodes[0]);}
for(var i=0;i<this.Overlay.childNodes.length;i++){
try{
if(typeof this.Overlay.childNodes[i].IsMapObject=="boolean"&&this.Overlay.childNodes[i].IsMapObject)
{
this.Overlay.removeChild(this.Overlay.childNodes[i]);i--;}
}catch(e){}
}
var map_obj=null;var div_tag=null;for(key in this.Session.MapObjects){
map_obj=this.Session.MapObjects[key];if(!Map24.isNull(map_obj.Position)&&map_obj.Visible){
div_tag=this.Doc.createElement("div");div_tag.style.position="absolute";div_tag.style.left=map_obj.Position.Left+"px";div_tag.style.top=map_obj.Position.Top+"px";if(Map24.isNumeric(map_obj.Position.Width)&&(map_obj.Position.Width>0))
{
div_tag.style.width=map_obj.Position.Width+"px";}
if(Map24.isNumeric(map_obj.Position.Height)&&(map_obj.Position.Height>0))
{
div_tag.style.height=map_obj.Position.Height+"px";}
div_tag.style.overflow="hidden";div_tag.style.zIndex=this.ZIndex + 10 + map_obj.ZIndex;map_obj.paintTo(this.Doc,div_tag,this.Parent.Parent.InstanceId);this.ForegroundNode.appendChild(div_tag);}
}
this.appendViewportObjects();}
this.setViewportTo=function(x,y){
this.X=x;this.Y=y;this.CanvasNode.style.left=(this.X*-1)+"px";this.CanvasNode.style.top=(this.Y*-1)+"px";}
this.attachTo=function(div){
try{
div.appendChild(this.Viewport);}catch(e){}
}
this.detachFrom=function(div){
try{
div.removeChild(this.Viewport);}catch(e){}
}
this.__constructor(default_args);}
Map24.Skins.Canvas.prototype=new Map24.Object;Map24.Skins.Canvas._Instances=new Hashtable();Map24.Skins.Canvas.CLICK_MAX_DELAY=50;Map24.Skins.Canvas.ZOOM_MIN_SIZE=(3*3)+1;Map24.notifyClassReady("Map24.Skins.Canvas");Map24.Skins.Skin=function(default_args){
if(Map24.Browser.SAFARI||(Map24.Browser.OPERA&&!Map24.Browser.WINDOWS)){
this.UseCreateElement=true;if((Map24.Browser.OPERA&&Map24.Browser.LINUX))
this.UseObjectTag=false;else
this.UseObjectTag=true;this.UseParamTags=true;}else
if(Map24.Browser.OPERA&&Map24.Browser.WINDOWS){
this.UseCreateElement=false;this.UseObjectTag=false;this.UseParamTags=true;}
if(this.UseObjectTag==true){
this._TagType="object";}else{
this._TagType="applet";}
if(Map24.Browser.javaAvailable()){
try{
if(this.DisableArchiveCacheOption==null){
if((Map24.Browser.getJavaVendor()=="Sun Microsystems Inc.")&&(Map24.Browser.getJavaMajorVersion()==6))
{
this.DisableArchiveCacheOption=true;}else{
this.DisableArchiveCacheOption=false;}
}
}catch(e){
this.DisableArchiveCacheOption=false;}
}
this.__constructor=function(default_args){
if(!(default_args instanceof Object))default_args={};Map24.Skins.Skin.prototype.__constructor.call(this,default_args);this.Class="Skin";this.Package="Map24.Skins";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;this.Interfaces["ISkin"]=null;this.Interfaces["Map24.Interfaces.ISkin"]=null;if(typeof default_args=="boolean"&&default_args==false)return
this.InstanceId=null;var id=Map24.makeUniqueId(10);var i=0;while((typeof Map24.Skins.Skin._Instances[id]!="undefined")&&(i<10)){
id=Map24.makeUniqueId(10);i++;}
this.InstanceId=id;Map24.Skins.Skin._Instances[id]=this;this._HiddenAppletParameter={
confirmreconnect:"1000000",mrcinitiator:""+this.InstanceId,startup_frame:"_self",logserviceid:"Map24AuthenticationService",startup_document:"javascript:Map24_appletIsReady('"+this.InstanceId+"')",cmd0:"SHOWCOMPONENT&component0=APPLETEVENTNOTIFIER&key0:0=CALLBACK_URL&value0:0=javascript:Map24_appletProvideEvent('"+this.InstanceId+"', '${ID}', '${PARAM}')&key0:1=PARAM_FORMAT&value0:1=JSON&key0:2=CALLBACK_URL_TARGET&value0:2=_self"
};this.Map=null;if(default_args.Map instanceof Map24.Map)
this.Map=default_args.Map;this._ListenerCallable=null;this.Doc=null;this.Win=null;this.Canvas=null;this.Displayer=null;this.HiddenApplet=null;this.JavaAvailable=(Map24.Browser.javaAvailable()?null:false);this.CurrentZoomLevel=0;this.Visible=false;this.LeftButton="ZOOM";this.RightButton="PAN";}
this._setCurrentZoomLevel=function(new_zoomlevel){
this.CurrentZoomLevel=new_zoomlevel;}
this._writeHiddenAppletTag=function(){
if(!(this.Parent instanceof Object))return;if(this.Parent.AppletDisabled)return;if((this.JavaAvailable==null||this.JavaAvailable==true)&&(this.HiddenApplet==null)&&(this.Parent.Session instanceof Map24.Session)&&(this.Parent.Session.Config!=null))
{
this._setAppletConfig();this.HiddenApplet=document.createElement("DIV");this.HiddenApplet.style.position="absolute";this.HiddenApplet.style.top="0px";this.HiddenApplet.style.left="0px";this.HiddenApplet.style.width="0px";this.HiddenApplet.style.height="0px";this.HiddenApplet.style.border="0px none";this.HiddenApplet.style.overflow="hidden";var hiddenwidth=500;var hiddenheight=500;var appAttributes={};var appParams={};var appStyles=null;if(this.UseParamTags){
appStyles={"width":"1px","height":"1px"};}else{
appAttributes["width"]="1";appAttributes["height"]="1";}
appAttributes["codebase"]=this.AppletConfig.Protocol+"://"+this.AppletConfig.Host+"/"+this.AppletConfig.Codebase;appAttributes["archive"]=this.AppletConfig.Archive;if(this.UseObjectTag){
if(Map24.Browser.IE){
appAttributes["classid"]="clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608501";}else{
appAttributes["type"]="application/x-java-applet";appAttributes["codetype"]="application/java-archive";appAttributes["classid"]="java:"+this.AppletConfig.PlaceholderClass;}
appAttributes["code"]=this.AppletConfig.Code;appAttributes["scriptable"]="true";appAttributes["mayscript"]="true";}else{
appAttributes["code"]=this.AppletConfig.Code;appAttributes["MAYSCRIPT"]="MAYSCRIPT";}
if(this.DisableArchiveCacheOption==null||!this.DisableArchiveCacheOption){
appParams["cache_option"]="Plugin";appParams["cache_version"]=""+this.getCodebaseVersion(this.AppletConfig.Codebase);appParams["cache_archive"]=this.AppletConfig.Archive;}
appParams["mid"]=this.AppletConfig.Map24Id;appParams["sid"]=this.AppletConfig.SessionId;appParams["appid"]="APPID_"+this.Map.Session.SessionId;appParams["hiddenwidth"]=""+hiddenwidth;appParams["hiddenheight"]=""+hiddenheight;appParams["map24agentid"]=this.AppletConfig.MapletInterface;appParams["logbaseurl"]=this.AppletConfig.MapletInterface;appParams["redirectbaseurl"]=this.AppletConfig.MapletInterface;if(typeof this.AppletConfig["Skin"]=="string"){
appParams["skin"]=this.AppletConfig.Skin;}
if(typeof this.AppletConfig["Language"]=="string"){
appParams["lang"]=this.AppletConfig.Language;}
if(typeof this.AppletConfig["SymbolsPrefix"]=="string"){
appParams["psym"]=this.AppletConfig.SymbolsPrefix;}
if(typeof this.AppletConfig["ResFilesPrefix"]=="string"){
appParams["pprop"]=this.AppletConfig.ResFilesPrefix;}
for(key in this._HiddenAppletParameter){
if(key=="DYNURL_PRINT"&&(this._HiddenAppletParameter[key].length>11)&&(this._HiddenAppletParameter[key].substr(0,11)=="javascript:"))
{
appParams[key]=this._HiddenAppletParameter[key]+"();//";}else
appParams[key]=this._HiddenAppletParameter[key];}
var stamp=new Date();if(isNaN(this._TSBeforeJavaDetection)||isNaN(this._TSAfterJavaDetection)){
this._TSAfterJavaDetection=stamp.getTime();this._TSBeforeJavaDetection=stamp.getTime();}
appParams["tsBeforeJavaDetection"]=""+this._TSBeforeJavaDetection;appParams["tsAfterJavaDetection"]=""+this._TSAfterJavaDetection;appParams["tsBeforeAppletStart"]=""+stamp.getTime();var body=document.getElementsByTagName('BODY')[0];if(body.firstChild!=null||Map24.Browser.IE){
body.insertBefore(this.HiddenApplet,body.firstChild);}else{
body.appendChild(this.HiddenApplet);}
this._writeAppletTag(this.HiddenApplet,appAttributes,appParams,appStyles);return;var tag="<object width=\"0\" height=\"0\" \r\n\
"+(Map24.Browser.IE?"":"type=\"application/x-java-applet\" codetype=\"application/java-archive\" \r\n")+"\
classid=\""+(Map24.Browser.IE?"clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608501":"java:"+this.Parent.Session.Config.Code)+"\" \r\n\
codebase=\"http://"+this.Parent.Session.Config.Host+"/"+this.Parent.Session.Config.Codebase+"\" \r\n\
archive=\""+this.Parent.Session.Config.Archive+"\"> \r\n\
<param name=\"code\" value=\""+this.Parent.Session.Config.Code+"\" /> \r\n\
<param name=\"codebase\" value=\"http://"+this.Parent.Session.Config.Host+"/"+this.Parent.Session.Config.Codebase+"\" />\r\n\
<param name=\"archive\" value=\""+this.Parent.Session.Config.Archive+"\" /> \r\n\
<param name=\"mid\" value=\""+this.Parent.Session.Config.Map24Id+"\" /> \r\n\
<param name=\"sid\" value=\""+this.Parent.Session.SessionId+"\" /> \r\n\
<param name=\"appid\" value=\""+this.Parent.Session.SessionId+"\" /> \r\n\
<param name=\"cache_version\" value=\""+this.Parent.Session.Config.Version+"\" /> \r\n\
<param name=\"cache_archive\" value=\""+this.Parent.Session.Config.Archive+"\" /> \r\n\
<param name=\"cache_option\" value=\"Plugin\" /> \r\n\
<param name=\"map24agentid\" value=\""+this.Parent.Session.Config.MapletInterface+"\" /> \r\n\
<param name=\"logbaseurl\" value=\""+this.Parent.Session.Config.MapletInterface+"\" /> \r\n\
<param name=\"redirectbaseurl\" value=\""+this.Parent.Session.Config.MapletInterface+"\" /> \r\n\
<param name=\"skin\" value=\""+this.Parent.Session.Config.Skin+"\" /> \r\n\
<param name=\"lang\" value=\""+this.Parent.Session.Config.Language+"\" /> \r\n\
<param name=\"scriptable\" value=\"true\" /> \r\n\
<param name=\"mayscript\" value=\"true\" /> \r\n\
";for(key in this._HiddenAppletParameter){
if(key=="DYNURL_PRINT"&&this._HiddenAppletParameter[key].length>11&&this._HiddenAppletParameter[key].substr(0,11)=="javascript:"){
tag +="<param name=\""+key+"\" value=\""+this._HiddenAppletParameter[key]+"();//\" />\r\n";}
else{
tag +="<param name=\""+key+"\" value=\""+this._HiddenAppletParameter[key]+"\" />\r\n";}
}
tag +="</object>";Map24.dump("write hidden applet-tag:\r\n"+tag);this.Parent.HiddenArea.appendChild(this.HiddenApplet);this.HiddenApplet.innerHTML=tag;}
}
this._setAppletConfig=function(){
if(!(this["AppletConfig"] instanceof Object)){
this.AppletConfig=this.Parent.Session.Config;this.AppletConfig.Protocol="http";this.AppletConfig.PlaceholderClass=this.AppletConfig.Displayer;this.AppletConfig.SessionId=this.Parent.Session.SessionId;}
}
this._paintDisplayer=function(){
if(!this.Visible)return;this.Parent.CurrentMaptype="JAVA";this._setAppletConfig();this._removeDisplayer();this.Displayer=this.Doc.createElement("DIV");this.Displayer.AppletId=Map24.makeUniqueId();this.Displayer.style.position="absolute";this.Displayer.style.top="0px";this.Displayer.style.left="0px";this.Displayer.style.width=this.Canvas.ViewportWidth+"px";this.Displayer.style.height=this.Canvas.ViewportHeight+"px";this.Displayer.style.border="0px none";var appAttributes={};var appParams={};appAttributes["id"]=this.InstanceId;if(!this.UseParamTags){
appAttributes["width"]=this.Canvas.ViewportWidth;appAttributes["height"]=this.Canvas.ViewportHeight;}
appAttributes["codebase"]=this.AppletConfig.Protocol+"://"+this.AppletConfig.Host+"/"+this.AppletConfig.Codebase;appAttributes["archive"]=this.AppletConfig.Archive;if(this.UseObjectTag){
if(Map24.Browser.IE){
appAttributes["classid"]="clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608501";}else{
appAttributes["type"]="application/x-java-applet";appAttributes["codetype"]="application/java-archive";appAttributes["classid"]="java:"+this.AppletConfig.PlaceholderClass;}
appAttributes["code"]=this.AppletConfig.PlaceholderClass;appAttributes["scriptable"]="true";appAttributes["mayscript"]="true";}else{
appAttributes["code"]=this.AppletConfig.PlaceholderClass;appAttributes["MAYSCRIPT"]="MAYSCRIPT";}
if(this.DisableArchiveCacheOption==null||!this.DisableArchiveCacheOption){
appParams["cache_option"]="Plugin";appParams["cache_version"]=""+this.getCodebaseVersion(this.AppletConfig.Codebase);appParams["cache_archive"]=this.AppletConfig.Archive;}
appParams["mid"]=this.AppletConfig.Map24Id;appParams["sid"]=this.AppletConfig.SessionId;appParams["appid"]="APPID_"+this.Map.Session.SessionId;this.Canvas.Overlay.appendChild(this.Displayer);this._writeAppletTag(this.Displayer,appAttributes,appParams,{
width:this.Canvas.ViewportWidth+"px",height:this.Canvas.ViewportHeight+"px"
});return;var tag="<object id=\""+this.Displayer.AppletId+"\" name=\""+this.Displayer.AppletId+"\" width=\"100%\" height=\"100%\"\r\n\
"+(Map24.Browser.IE?"":"type=\"application/x-java-applet\" codetype=\"application/java-archive\" \r\n")+"\
classid=\""+(Map24.Browser.IE?"clsid:08B0E5C0-4FCB-11CF-AAA5-00401C608501":"java:"+this.Parent.Session.Config.Displayer)+"\" \r\n\
codebase=\"http://"+this.Parent.Session.Config.Host+"/"+this.Parent.Session.Config.Codebase+"\" \r\n\
archive=\""+this.Parent.Session.Config.Archive+"\"> \r\n\
<param name=\"code\" value=\""+this.Parent.Session.Config.Displayer+"\" />\r\n\
<param name=\"codebase\" value=\"http://"+this.Parent.Session.Config.Host+"/"+this.Parent.Session.Config.Codebase+"\" />\r\n\
<param name=\"archive\" value=\""+this.Parent.Session.Config.Archive+"\" /> \r\n\
<param name=\"mid\" value=\""+this.Parent.Session.Config.Map24Id+"\" /> \r\n\
<param name=\"sid\" value=\""+this.Parent.Session.SessionId+"\" /> \r\n\
<param name=\"appid\" value=\""+this.Parent.Session.SessionId+"\" /> \r\n\
<param name=\"cache_version\" value=\""+this.Parent.Session.Config.Version+"\" /> \r\n\
<param name=\"cache_archive\" value=\""+this.Parent.Session.Config.Archive+"\" /> \r\n\
<param name=\"cache_option\" value=\"Plugin\" /> \r\n\
<param name=\"scriptable\" value=\"true\" /> \r\n\
<param name=\"mayscript\" value=\"true\" /> \r\n\
";tag +="</object>";Map24.dump("write displayer-tag:\r\n"+tag);this.Canvas.Overlay.appendChild(this.Displayer);this.Displayer.innerHTML=tag;}
this.sendMlc=function(xml){
if(typeof xml!="string")return;var hiddenApplet=null;var j=0;while(j<this.HiddenApplet.childNodes.length){
hiddenApplet=this.HiddenApplet.childNodes[j];if((hiddenApplet.nodeName.toLowerCase()=="applet")||(hiddenApplet.nodeName.toLowerCase()=="object")){
break;}
j++;}
try{
Map24.dump("Map24.Skin.sendMlc: Send XML code to applet: "+xml);hiddenApplet.processMLCCommands(xml);}catch(e){
Map24.dump("Map24.Skin.sendMlc: Failed to send XML!");Map24.dump(e);}
}
this._appletIsReady=function(){
this.JavaAvailable=true;Map24.dump("The hidden applet is loaded and ready!");if(Map24.CAPTURE_CLICK)
this.sendMlc("<commands><item><DeclareMap24Location><MapObjectID>MAP24_CLICK</MapObjectID><URL>javascript:Map24_appletProvideEvent('"+this.InstanceId+"', 'MAP24_CLICK', {Type:'left_click', Longitude:parseFloat(${LONGITUDE}), Latitude:parseFloat(${LATITUDE})})</URL><TargetFrame>_self</TargetFrame><Customize><Handler>MAP24_CLICK</Handler><Properties><item><Key>CLICK</Key><Value>left_click</Value></item><item><Key>CLICK_EVENT_BLOCK</Key><Value>true</Value></item></Properties></Customize><Discard>true</Discard></DeclareMap24Location></item></commands>");if((this.Parent.CurrentMaptype!="JAVA")&&(this.Parent.Maptype=="JAVA"))this.paint();}
this._removeDisplayer=function(){
if(this.Displayer!=null){
try{
Map24.dump("Map24.Skin: Removing applet displayer.");this.Canvas.Overlay.removeChild(this.Displayer);}catch(e){}
this.Displayer=null;}else
Map24.dump("Map24.Skin: Skip remove of applet displayer as displayer isn't painted currently.");}
this.paintOverlay=function(){}
this.removeOverlay=function(){
try{
while(this.Canvas.Overlay.childNodes.length>0){
this.Canvas.Overlay.removeChild(this.Canvas.Overlay.childNodes[0]);}
}catch(e){}
}
this.onRenderImageMap=function(rim){
if(Map24.isNumber(rim.Info.ZoomPercentage)){
this._setCurrentZoomLevel(parseFloat(rim.Info.ZoomPercentage));}
if(this.Slider){
var newperc=this.CurrentZoomLevel/100;this.Slider.setXPercentage(newperc);}
if(this.Parent.Maptype=="JAVA"&&this.JavaAvailable==true){
this.paint();return;}
var cfg=this.Parent.Session.Config;var session=this.Parent.Session;var currentMillies=Map24.millitime();rim.Info.ImageUrl='http://'+cfg.Host+'/'+cfg.ServiceInterface+
'?cgi=Map24RenderEngine&action=getMapImageMap'+
'&imgkey='+rim.Info.ImageKey+
'&mid='+cfg.Map24Id+
'&sid='+this.Parent.Session.SessionId+
'&t='+Map24.makeUniqueId()+'.gif';Map24.dump("get image form URL: "+rim.Info.ImageUrl);var x1=rim.Info.Bounds.NorthWest.Longitude;var y1=(rim.Info.Bounds.NorthWest.Latitude>rim.Info.Bounds.SouthEast.Latitude?rim.Info.Bounds.NorthWest.Latitude:rim.Info.Bounds.SouthEast.Latitude);var x2=rim.Info.Bounds.SouthEast.Longitude;var y2=(rim.Info.Bounds.SouthEast.Latitude<rim.Info.Bounds.NorthWest.Latitude?rim.Info.Bounds.SouthEast.Latitude:rim.Info.Bounds.NorthWest.Latitude);var old_view=this.Parent.CurrentMapView;var view_diff=1;this.Parent.CurrentMapView=new Map24.Rectangle(
new Map24.Coordinate(x1,y1),new Map24.Coordinate(x2,y2)
);if(old_view instanceof Map24.Rectangle){
view_diff=old_view.calcPerDiffTo(this.Parent.CurrentMapView);}
if(typeof Map24.onMapViewChanged=="function"){
Map24.onMapViewChanged(
"MAP_VIEW_CHANGED",rim.Request.IsUserAction,this.Parent,view_diff,this.Parent.CurrentMapView
);}else
if((Map24.onMapViewChanged instanceof Array)&&(Map24.onMapViewChanged.length==2)&&(Map24.onMapViewChanged[0]==null||Map24.onMapViewChanged[0] instanceof Object)&&(typeof Map24.onMapViewChanged[1]=="function")){
Map24.onMapViewChanged[1].call(Map24.onMapViewChanged[0],"MAP_VIEW_CHANGED",rim.Request.IsUserAction,this.Parent,view_diff,this.Parent.CurrentMapView
);}
for(var key in session.MapObjects){
if(session.MapObjects[key].Position!=null){
session.MapObjects[key].Position=null;session.MapObjects[key].Dirty=currentMillies;}
}
var mobid=null;for(var i=0;i<rim.MapObjects.length;i++){
mobid=rim.MapObjects[i].Id;if(
session.MapObjects[mobid] instanceof Map24.MapObjects.HTMLObject)
{
session.MapObjects[mobid].Position=rim.MapObjects[i].Position;session.MapObjects[mobid].Dirty=currentMillies;}
}
var map_image=this.Doc.createElement("IMG");map_image.src=rim.Info.ImageUrl;map_image.width=this.Canvas.Width;map_image.height=this.Canvas.Height;this.Canvas.MapImages=[map_image];this.Canvas.MapImages[0].IsMapImage=true;this.Canvas.MapImages[0].CanvasId=this.Canvas.InstanceId;this.Canvas.MapImages[0].RequestId=rim.Request.RequestId;this.Canvas.MapImages[0].onload=function(){
try{
var canvas=Map24.Skins.Canvas._Instances[ this.CanvasId ];if(this.RequestId==canvas.LastMrcRequestId){
canvas.updateBackground();canvas.updateForeground();}
}catch(e){}
try{
delete this.onload;}catch(e){
this.onload=function(event){};}
}
}
this.initialize=function(map){
if(!Map24.isObject(map,"Map24.Map"))throw new Map24.Exceptions.InvalidArgument("The given parameter 'map' is no instance of the class Map24.Map!",map,"Map24.Skins.Skin","initialize");this.setParent(map);this.Map=map;this._writeHiddenAppletTag();}
this.updateMrcRequest=function(request)
{
if(this.Visible){
try{
var tmpNode=this.Canvas.CanvasNode.textContent;}catch(e){
try{
this.Parent.hide();}catch(e2){}
}
}
if((this.Parent.CurrentMaptype=="MGI")&&(request instanceof Map24.Webservices.Request.MapletRemoteControl)&&(this.Visible))
{
request=new Map24.Webservices.Request.RenderImageMap(
this.Parent,this.Canvas.ViewportWidth,this.Canvas.ViewportHeight,{
MRC:request,RequestId:request.RequestId,IsUserAction:request.IsUserAction
}
);}
if((request instanceof Map24.Webservices.Request.RenderImageMap)&&(!this.Visible))
{
request=request.MRC;}
if(request instanceof Map24.Webservices.Request.RenderImageMap){
request.BitmapDescriptor.Properties["MARGIN"]=this.Canvas.Margin;if((this.Canvas.MapImages instanceof Array)&&(this.Canvas.MapImages.length>0))
{
var must_reload_image=false;var cmd=null;for(var i=0;i<request.MRC.Commands.length;i++){
cmd=request.MRC.Commands[i];if(cmd._RequiresImageMapReload){
must_reload_image=true;break;}
}
if(!must_reload_image){
request=new Map24.Webservices.Request.MapletRemoteControl(
this.Parent,{
Commands:request.MRC.Commands,IsUserAction:request.IsUserAction
}
);}
}
this.Canvas.LastMrcRequestId=request.RequestId;}
var mrcCommands=null;if(request instanceof Map24.Webservices.Request.RenderImageMap){
mrcCommands=request.MRC.Commands;}else
if(request instanceof Map24.Webservices.Request.MapletRemoteControl){
mrcCommands=request.Commands;}
if((mrcCommands instanceof Array)&&(mrcCommands.length>0)){
for(var i=0;i<mrcCommands.length;i++){
this.Parent.Session.MrcHistory.push(mrcCommands[i]);}
this.Parent.Session.checkMrcHistoryChange();if((request instanceof Map24.Webservices.Request.MapletRemoteControl)&&(this.Visible))
{
this.Canvas.updateForeground();}
}
return request;}
this.destroy=function(){
}
this.show=function(){
if(this.Visible)return;this.Visible=true;this.Doc=this.Parent.MapDoc;this.Win=this.Parent.MapWin;this.Canvas=new Map24.Skins.Canvas({
Doc:this.Parent.MapDoc,Session:this.Parent.Session,ViewportWidth:this.Parent.MapWidth,ViewportHeight:this.Parent.MapHeight
});this.Canvas.setParent(this);this.Canvas.attachTo(this.Parent.MapArea);this._ListenerCallable=new Callable(this,this.dispatch);this.Parent.Webservices.addListener(this._ListenerCallable);this.paint(true);this.paintOverlay();this.Canvas.setCanvasMode('ZOOM');}
this.hide=function(){
if(!this.Visible)return;this.Visible=false;this.Parent.Webservices.removeListener(this._ListenerCallable);this._ListenerCallable=null;this._removeDisplayer();this.removeOverlay();try{
this.Canvas.clearViewportObjects();this.Canvas.clearBackground();this.Canvas.detachFrom(this.Parent.MapArea);}catch(e){}
this.Canvas=null;}
this.Visible=function(){
return this.Visible;}
this.isAppletLoaded=function(){
return(typeof this.JavaAvailable!="boolean"?false:this.JavaAvailable);}
this.paint=function(forceAppletRepaint){
if(typeof forceAppletRepaint!="boolean")forceAppletRepaint=false;Map24.dump("paint called with this.Parent.Maptype = "+
this.Parent.Maptype+", this.Parent.CurrentMaptype = "+
this.Parent.CurrentMaptype+" and this.JavaAvailable = "+
this.JavaAvailable);if(this.Parent.Maptype=="JAVA"){
if(this.JavaAvailable==true)
{
if(this.Parent.CurrentMaptype!="JAVA"||forceAppletRepaint){
this.removeOverlay();this.Parent.CurrentMaptype="JAVA";this._paintDisplayer();}
return;}else
if(this.JavaAvailable==null){
this._writeHiddenAppletTag();}
}
if(this.Parent.Maptype=="MGI"){
if(this.Displayer!=null){
this._removeDisplayer();this.Parent.CurrentMaptype="MGI";this.Canvas.MapImages=[];this.Canvas.clearBackground();this.paintOverlay();}
}
this.Parent.CurrentMaptype="MGI";var mrc=null;if(this.Parent.InitialMRC instanceof Map24.Webservices.Request.MapletRemoteControl){
this.Parent.InitialMRC.prepareSend();mrc={
MRC:this.Parent.InitialMRC
};this.Parent.InitialMRC=null;}
this.Parent.Webservices.sendRequest(
new Map24.Webservices.Request.RenderImageMap(
this.Parent,this.Canvas.ViewportWidth,this.Canvas.ViewportHeight,mrc
)
);}
this.update=function(){
this.paint();}
this.__constructor(default_args);}
Map24.Skins.Skin.prototype=new Map24.Object;Map24.notifyClassReady("Map24.SKins.Skin");Map24.Skins.Skin.prototype.Protocol="http";Map24.Skins.Skin.prototype.UseObjectTag=false;Map24.Skins.Skin.prototype.UseCreateElement=true;Map24.Skins.Skin.prototype.UseParamTags=false;Map24.Skins.Skin.prototype._TagType=null;Map24.Skins.Skin.prototype.DisableArchiveCacheOption=null;Map24.Skins.Skin.prototype._writeAppletTag=function(node,appAttributes,appParams,styles){
if(this.UseCreateElement){
var s=[];var p=null;var doc=node.ownerDocument;var appTag=doc.createElement(this._TagType);s[s.length]="<";s[s.length]=this._TagType;s[s.length]="\r\n";if(this.UseParamTags){
if((styles!=null)&&(styles instanceof Object)){
s[s.length]=' style="';for(var key in styles){
s[s.length]=key;s[s.length]=':';s[s.length]=styles[key];s[s.length]=';';appTag.style[key]=styles[key];}
s[s.length]='"';}
s[s.length]=">\r\n";for(var key in appAttributes){
s[s.length]="<param name=\"";s[s.length]=key;s[s.length]='\" value="';s[s.length]=appAttributes[key];s[s.length]='" />\r\n';p=doc.createElement("param");p.setAttribute("name",key);p.setAttribute("value",appAttributes[key]);appTag.appendChild(p);}
for(var key in appParams){
s[s.length]="<param name=\"";s[s.length]=key;s[s.length]='\" value="';s[s.length]=appParams[key];s[s.length]='" />\r\n';p=doc.createElement("param");p.setAttribute("name",key);p.setAttribute("value",appParams[key]);appTag.appendChild(p);}
s[s.length]="</"+this._TagType+">";}else
{
for(var key in appAttributes){
s[s.length]=" ";s[s.length]=key;s[s.length]='="';s[s.length]=appAttributes[key];s[s.length]='"\r\n';appTag.setAttribute(key,appAttributes[key]);}
for(var key in appParams){
s[s.length]=" ";s[s.length]=key;s[s.length]='="';s[s.length]=appParams[key];s[s.length]='"\r\n';appTag.setAttribute(key,appParams[key]);}
if((styles!=null)&&(styles instanceof Object)){
s[s.length]=' style="';for(var key in styles){
s[s.length]=key;s[s.length]=':';s[s.length]=styles[key];s[s.length]=';';appTag.style[key]=styles[key];}
s[s.length]='"';}
s[s.length]="/>";}
Map24.dump("Write applet tag using appendChild:\r\n"+
s.join(""),null,Map24.E_CORE_NOTICE);node.appendChild(appTag);}else 
{
var s=["<",this._TagType];for(var key in appAttributes){
s[s.length]=" ";s[s.length]=key;s[s.length]='="';s[s.length]=appAttributes[key];s[s.length]='"';}
if((styles!=null)&&(styles instanceof Object)){
s[s.length]=' style="';for(var key in styles){
s[s.length]=key;s[s.length]=':';s[s.length]=styles[key];s[s.length]=';';}
s[s.length]='"';}
s[s.length]='>\r\n';for(var key in appParams){
s[s.length]='<param name="';s[s.length]=key;s[s.length]='" value="';s[s.length]=appParams[key];s[s.length]="\" />\r\n";}
s[s.length]='</';s[s.length]=this._TagType;s[s.length]='>\r\n';var tag=s.join("");Map24.dump("Write applet tag using innerHTML:\r\n"+tag,null,Map24.E_CORE_NOTICE);node.innerHTML=tag;}
}
Map24.Skins.Skin.prototype.getCodebaseVersion=function(codebase){
var version=null;var s_regexp=/_v([0-9]+)\.([0-9]+)\.([0-9]+)_([0-9]{4,4})([0-9]{4,4})/;try{
if(typeof codebase!="string")codebase=this.AppletConfig.Codebase;var vno=s_regexp.exec(codebase);if(vno instanceof Array){
while(vno[1].length<2)vno[1]='0'+vno[1];while(vno[2].length<2)vno[2]='0'+vno[2];while(vno[3].length<4)vno[3]='0'+vno[3];while(vno[4].length<4)vno[4]='0'+vno[4];while(vno[5].length<4)vno[5]='0'+vno[5];}
version=[vno[1],vno[2],'.',vno[3],'.',vno[4],'.',vno[5]].join("");}catch(e){
version='0000.0000.0000.0000';}
return version;}
Map24.Skins.Skin._Instances=new Hashtable();function Map24_appletIsReady(instance_id){
Map24.Skins.Skin._Instances[instance_id]._appletIsReady();}
function Map24_appletProvideEvent(instance_id,event_id,data){
try{
var applet=Map24.Skins.Skin._Instances[instance_id];if(applet.Map.Maptype!="JAVA")return;if(event_id=="COPYRIGHT_CHANGE"){
var repl_regex=new RegExp("\\{\"copyright\":([^}]*)\\}");var copyright_text=repl_regex.exec(data);if(copyright_text instanceof Array){
data=data.replace(copyright_text[1],'"'+copyright_text[1]+'"');}else
return;}
if(typeof data=="string"){
try{
eval("data = "+data);}catch(ex){
ex.Method="Map24_appletProvideEvent";Map24.dump(ex,Map24.E_CORE_WARNING);return;}
}
switch(event_id){
case "COPYRIGHT_CHANGE":case "MAP_PAN_START":case "MAP_PAN_UPDATE":case "ZOOMRECT_START":case "ZOOMRECT_UPDATE":break;case "MAP24_CLICK":{
var result=null;var current_map_view=applet.Map.CurrentMapView;var cmv_width=(current_map_view.LowerRight.X - current_map_view.TopLeft.X);var cmv_height=(current_map_view.TopLeft.Y - current_map_view.LowerRight.Y);var px=Math.round(Math.abs(data.Longitude - current_map_view.TopLeft.Longitude)/ cmv_width * applet.Canvas.ViewportWidth);var py=Math.round(Math.abs(data.Latitude - current_map_view.LowerRight.Latitude)/ cmv_height * applet.Canvas.ViewportHeight);var pos={
X:px,Y:py,Longitude:data.Longitude,Latitude:data.Latitude
}
if(typeof Map24.onUserAction=="function"){
result=Map24.onUserAction("CLICK",true,applet.Map,pos);}else 
if(Map24.onUserAction instanceof Array){
result=Map24.onUserAction[1].call(Map24.onUserAction[0],"CLICK",true,applet.Map,pos);}
if((typeof result=="boolean")&&(result==false))return;break;}
case "COPYRIGHT_CHANGE":{
if(this.Canvas!=null){
applet.Canvas.Copyright=data.copyright;for(var widget in applet.Canvas.Widgets){
applet.Canvas.Widgets[widget].paint();}
}
break;}
case "MAP_PAN_START":{
applet.Map.trigger(new Map24.Event.MapPanStart({
MapClient:applet,Canvas:applet.Canvas,Coordinate:new Map24.Coordinate(data.lon,data.lat),Pixel:new Map24.Pixel(data.cx,data.cy)
}));break;}
case "MAP_PAN_UPDATE":{
applet.Map.trigger(new Map24.Event.MapPanUpdate({
MapClient:applet,Canvas:applet.Canvas,Coordinate:new Map24.Coordinate(data.lon,data.lat),Pixel:new Map24.Pixel(data.cx,data.cy)
}));break;}
case "MAP_PAN_STOP":{
if(typeof Map24.onUserAction=="function"){
result=Map24.onUserAction("PAN",true,applet.Map,pos);}else 
if(Map24.onUserAction instanceof Array){
result=Map24.onUserAction[1].call(Map24.onUserAction[0],"PAN",true,applet.Map,pos);}
if((typeof result=="boolean")&&(result==false))return;break;}
case "ZOOMRECT_START":{
break;}
case "ZOOMRECT_UPDATE":{
break;}
case "ZOOMRECT_STOP":{
if(typeof Map24.onUserAction=="function"){
result=Map24.onUserAction("ZOOM_RECT",true,applet.Map,pos);}else 
if(Map24.onUserAction instanceof Array){
result=Map24.onUserAction[1].call(Map24.onUserAction[0],"ZOOM_RECT",true,applet.Map,pos);}
if((typeof result=="boolean")&&(result==false))return;break;}
case "MAP_VIEW_CHANGED":{
var old_view=applet.Parent.CurrentMapView;var view_diff=1;applet.Parent.CurrentMapView=new Map24.Rectangle(
new Map24.Coordinate(parseFloat(data.lon1),parseFloat(data.lat1)),new Map24.Coordinate(parseFloat(data.lon2),parseFloat(data.lat2))
);if(old_view instanceof Map24.Rectangle){
view_diff=old_view.calcPerDiffTo(applet.Parent.CurrentMapView);}
if(typeof Map24.onMapViewChanged=="function"){
Map24.onMapViewChanged(
"MAP_VIEW_CHANGED",(data.mode==Map24.MAPVIEWCHANGED_USER?true:false),applet.Parent,view_diff,applet.Parent.CurrentMapView
);}else
if((Map24.onMapViewChanged instanceof Array)&&(Map24.onMapViewChanged.length==2)&&(Map24.onMapViewChanged[0]==null||Map24.onMapViewChanged[0] instanceof Object)&&(typeof Map24.onMapViewChanged[1]=="function")){
Map24.onMapViewChanged[1].call(Map24.onMapViewChanged[0],"MAP_VIEW_CHANGED",(data.mode==Map24.MAPVIEWCHANGED_USER?true:false),applet.Parent,view_diff,applet.Parent.CurrentMapView
);}
break;}
default:{
break;}
}
}catch(ex){
try{
Map24.dump("Map24_appletProvideEvent: Exception in applet eventhandler!");Map24.dump(ex,1);}catch(ex2){
}
}
}
Map24.MAPVIEWCHANGED_MRC=0;Map24.MAPVIEWCHANGED_FIRST=1;Map24.MAPVIEWCHANGED_USER=2;Map24.Skins.Default=function(default_args){
this.__constructor=function(default_args){
Map24.Skins.Default.prototype.__constructor.call(this);this.Class="Default";this.Package="Map24.Skins";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.__constructor(default_args);}
Map24.Skins.Default.prototype=new Map24.Skins.Skin;Map24.notifyClassReady("Map24.SKins.Default");Map24.Skins.Map24Portal=function(default_args)
{
this.__constructor=function(default_args){
Map24.Skins.Map24Portal.prototype.__constructor.call(this,default_args);this.Class="Map24Portal";this.Package="Map24.Skins";this.Interfaces[this.Class]=null;this.Interfaces[this.Package+'.'+this.Class]=null;}
this.initialize=function(map){
Map24.Skins.Map24Portal.prototype.initialize.call(this,map);if(typeof this.ImageUrl=='undefined'||this.ImageUrl==null){
if(typeof Map24.CLASSLOADER_URL!='undefined'&&Map24.CLASSLOADER_URL!=null){
this.ImageUrl=Map24.CLASSLOADER_URL+"images/Map24/Skins/Map24Portal/";}
else{
Map24.dump('Map24.CLASSLOADER_URL is undefined in map24Portal skin!');this.ImageUrl="http://api.map24.com/ajax/1.2.8/images/Map24/Skins/Map24Portal/";Map24.dump('this.ImageUrl: '+this.ImageUrl);}
}
}
this._paintToolbar=function(){
if(this.Parent.CurrentMaptype!="MGI")return;if((this.Toolbar!=null)&&(this.ToolBar.parentNode)){
if(this.ToolBar.parentNode==this.Canvas.Overlay)return;try{
this.ToolBar.parentNode.removeChild(this.Toolbar);}catch(e){}
}
if(typeof this.ImageUrl=='undefined'||this.ImageUrl==null){
if(typeof Map24.CLASSLOADER_URL!='undefined'&&Map24.CLASSLOADER_URL!=null){
this.ImageUrl=Map24.CLASSLOADER_URL+"images/Map24/Skins/Map24Portal/";}
else{
Map24.dump('Map24.CLASSLOADER_URL is undefined in map24Portal skin!');this.ImageUrl="http://api.map24.com/ajax/1.2.8/images/Map24/Skins/Map24Portal/";Map24.dump('this.ImageUrl: '+this.ImageUrl);}
}
this.ToolBar=null;this.ToolBar=this.Doc.createElement("DIV");this.ToolBar.Skin=this;this.ToolBar.style.position="absolute";this.ToolBar.style.left="0px";this.ToolBar.style.top="0px";this.ToolBar.style.zIndex=this.Canvas.ZIndex + 60;this.ToolBar.style.width=this.Canvas.ViewportWidth+"px";this.ToolBar.style.height="21px";this.ToolBar.style.background="#E6E9EB";this.ToolBar.onmousedown=function(event){
var e=new Map24.Browser.Event(event);e.stop();};this.ToolBar.id="ToolBar"+this.InstanceId;this.Canvas.Overlay.appendChild(this.ToolBar);this.NavZoomOut=null;this.NavZoomOut=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.NavZoomOut.Node.style.position="absolute";this.NavZoomOut.Node.style.left="0px";this.NavZoomOut.Node.style.top="0px";this.NavZoomOut.Node.style.width="23px";this.NavZoomOut.Node.style.height="21px";this.NavZoomOut.Image=this.Doc.createElement('img');this.NavZoomOut.Image.style.width='23px';this.NavZoomOut.Image.style.height='21px';this.NavZoomOut.Image.src=this.ImageUrl+'zoomout_0.gif';this.NavZoomOut.Node.appendChild(this.NavZoomOut.Image);this.NavZoomOut.Skin=this;this.NavZoomOut.Map=this.Map;this.NavZoomOut.onClick=function(e,me){
me.Skin.Slider.setXPercentage(me.Skin.Slider.getXPercentage()- 0.10,true);e.stop();}
this.NavZoomOut.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.NavZoomOut.onMouseOut=function(e,me){try{me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.NavZoomOut.onMouseDown=function(e,me){e.stop();}
this.NavZoomOut.onMouseUp=function(e,me){e.stop();}
this.NavZoomOut.addEventListener("onclick",this.NavZoomOut.onClick);this.NavZoomOut.addEventListener("onmousedown",this.NavZoomOut.onMouseDown);this.NavZoomOut.addEventListener("onmouseup",this.NavZoomOut.onMouseUp);this.NavZoomOut.addEventListener("onmouseover",this.NavZoomOut.onMouseOver);this.NavZoomOut.addEventListener("onmouseout",this.NavZoomOut.onMouseOut);this.Slider=new Map24.GUI.Slider({
Win:this.Win,Doc:this.Doc,Width:99,Height:21,InnerBounds:new Map24.Rectangle(new Map24.Pixel(6,11),new Map24.Pixel(90,11)),KnobHotspot:new Map24.Pixel(2,7),KnobSize:new Map24.Size(18,15)
});this.Slider.Skin=this;this.Slider.Map=this.Map;this.Slider.Node.style.left="26px";this.Slider.Node.style.top="0px";this.Slider.Knob.Image=this.Doc.createElement('img');this.Slider.Knob.Image.src=this.ImageUrl+'zoomslider_0.gif';this.Slider.Knob.Node.appendChild(this.Slider.Knob.Image);this.Slider.Background.Node.innerHTML='<img style="position:absolute; left:1px; top:0px; width:99px; height:21px;" src="'+this.ImageUrl+'zoombar_0.gif'+'" />';this.Slider.onMapEvent=function(e){
if(e.ID=="DRAG_START"){
this.Knob.Image.src=this.Knob.Image.src.replace(/_0.gif/,'_1_2.gif');}
else if(e.ID=="DRAG_STOP"){
this.Knob.Image.src=this.Knob.Image.src.replace(/_1_2.gif/,'_0.gif');var per=this.getXPercentage();this.Skin.setZoom((per * 100));}
}
this.NavZoomIn=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.NavZoomIn.Node.style.position="absolute";this.NavZoomIn.Node.style.left="124px";this.NavZoomIn.Node.style.top="0px";this.NavZoomIn.Node.style.width="23px";this.NavZoomIn.Node.style.height="21px";this.NavZoomIn.Image=this.Doc.createElement('img');this.NavZoomIn.Image.style.width='23px';this.NavZoomIn.Image.style.height='21px';this.NavZoomIn.Image.src=this.ImageUrl+'zoomin_0.gif';this.NavZoomIn.Node.appendChild(this.NavZoomIn.Image);this.NavZoomIn.Skin=this;this.NavZoomIn.Map=this.Map;this.NavZoomIn.onClick=function(e,me){
me.Skin.Slider.setXPercentage(me.Skin.Slider.getXPercentage()+ 0.10,true);e.stop();}
this.NavZoomIn.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.NavZoomIn.onMouseOut=function(e,me){try{me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.NavZoomIn.onMouseDown=function(e,me){e.stop();}
this.NavZoomIn.onMouseUp=function(e,me){e.stop();}
this.NavZoomIn.addEventListener("onclick",this.NavZoomIn.onClick);this.NavZoomIn.addEventListener("onmousedown",this.NavZoomIn.onMouseDown);this.NavZoomIn.addEventListener("onmouseup",this.NavZoomIn.onMouseUp);this.NavZoomIn.addEventListener("onmouseover",this.NavZoomIn.onMouseOver);this.NavZoomIn.addEventListener("onmouseout",this.NavZoomIn.onMouseOut);this.ToolBar.appendChild(this.NavZoomIn.Node);this.ToolBar.appendChild(this.Slider.Node);this.ToolBar.appendChild(this.NavZoomOut.Node);this.BackButton=null;this.BackButton=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.BackButton.Node.style.position="absolute";this.BackButton.Node.style.left="148px";this.BackButton.Node.style.top="0px";this.BackButton.Node.style.width="23px";this.BackButton.Node.style.height="21px";this.BackButton.Image=this.Doc.createElement('img');this.BackButton.Image.style.width='23px';this.BackButton.Image.style.height='21px';this.BackButton.Image.src=this.ImageUrl+'back_0.gif';this.BackButton.Node.appendChild(this.BackButton.Image);this.BackButton.Skin=this;this.BackButton.Map=this.Map;this.BackButton.onClick=function(e,me){
me.Skin.modifyMapView('BACK');e.stop();}
this.BackButton.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.BackButton.onMouseOut=function(e,me){try{me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.BackButton.onMouseDown=function(e,me){e.stop();}
this.BackButton.onMouseUp=function(e,me){e.stop();}
this.BackButton.addEventListener("onclick",this.BackButton.onClick);this.BackButton.addEventListener("onmousedown",this.BackButton.onMouseDown);this.BackButton.addEventListener("onmouseup",this.BackButton.onMouseUp);this.BackButton.addEventListener("onmouseover",this.BackButton.onMouseOver);this.BackButton.addEventListener("onmouseout",this.BackButton.onMouseOut);this.ToolBar.appendChild(this.BackButton.Node);this.ForwardButton=null;this.ForwardButton=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.ForwardButton.Node.style.position="absolute";this.ForwardButton.Node.style.left="172px";this.ForwardButton.Node.style.top="0px";this.ForwardButton.Node.style.width="23px";this.ForwardButton.Node.style.height="21px";this.ForwardButton.Image=this.Doc.createElement('img');this.ForwardButton.Image.style.width='23px';this.ForwardButton.Image.style.height='21px';this.ForwardButton.Image.src=this.ImageUrl+'forward_0.gif';this.ForwardButton.Node.appendChild(this.ForwardButton.Image);this.ForwardButton.Skin=this;this.ForwardButton.Map=this.Map;this.ForwardButton.onClick=function(e,me){
me.Skin.modifyMapView('FORWARD');e.stop();}
this.ForwardButton.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.ForwardButton.onMouseOut=function(e,me){try{me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.ForwardButton.onMouseDown=function(e,me){e.stop();}
this.ForwardButton.onMouseUp=function(e,me){e.stop();}
this.ForwardButton.addEventListener("onclick",this.ForwardButton.onClick);this.ForwardButton.addEventListener("onmousedown",this.ForwardButton.onMouseDown);this.ForwardButton.addEventListener("onmouseup",this.ForwardButton.onMouseUp);this.ForwardButton.addEventListener("onmouseover",this.ForwardButton.onMouseOver);this.ForwardButton.addEventListener("onmouseout",this.ForwardButton.onMouseOut);this.ToolBar.appendChild(this.ForwardButton.Node);this.HomeButton=null;this.HomeButton=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.HomeButton.Node.style.position="absolute";this.HomeButton.Node.style.left="196px";this.HomeButton.Node.style.top="0px";this.HomeButton.Node.style.width="23px";this.HomeButton.Node.style.height="21px";this.HomeButton.Image=this.Doc.createElement('img');this.HomeButton.Image.style.width='23px';this.HomeButton.Image.style.height='21px';this.HomeButton.Image.src=this.ImageUrl+'home_0.gif';this.HomeButton.Node.appendChild(this.HomeButton.Image);this.HomeButton.Skin=this;this.HomeButton.Map=this.Map;this.HomeButton.onClick=function(e,me){
me.Skin.modifyMapView('HOME');e.stop();}
this.HomeButton.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.HomeButton.onMouseOut=function(e,me){try{me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.HomeButton.onMouseDown=function(e,me){e.stop();}
this.HomeButton.onMouseUp=function(e,me){e.stop();}
this.HomeButton.addEventListener("onclick",this.HomeButton.onClick);this.HomeButton.addEventListener("onmousedown",this.HomeButton.onMouseDown);this.HomeButton.addEventListener("onmouseup",this.HomeButton.onMouseUp);this.HomeButton.addEventListener("onmouseover",this.HomeButton.onMouseOver);this.HomeButton.addEventListener("onmouseout",this.HomeButton.onMouseOut);this.ToolBar.appendChild(this.HomeButton.Node);this.DragButton=null;this.DragButton=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.DragButton.Node.style.position="absolute";this.DragButton.Node.style.left="220px";this.DragButton.Node.style.top="0px";this.DragButton.Node.style.width="23px";this.DragButton.Node.style.height="21px";this.DragButton.Image=this.Doc.createElement('img');this.DragButton.Image.style.width='23px';this.DragButton.Image.style.height='21px';this.DragButton.Image.src=this.ImageUrl+'drag_0.gif';this.DragButton.Node.appendChild(this.DragButton.Image);this.DragButton.Skin=this;this.DragButton.Map=this.Map;this.DragButton.onClick=function(e,me){
if(me.Skin.LeftButton=="PAN"){
me.Skin.Canvas.setCanvasMode("ZOOM",Map24.Browser.LEFT_BUTTON);me.Skin.Canvas.setCanvasMode("PAN",Map24.Browser.RIGHT_BUTTON);me.src=me.src.replace(/_1_2.gif/,"_0.gif");}else{
me.Skin.Canvas.setCanvasMode("PAN",Map24.Browser.LEFT_BUTTON);me.Skin.Canvas.setCanvasMode("ZOOM",Map24.Browser.RIGHT_BUTTON);me.src=me.src.replace(/_0.gif/,"_1_2.gif");}
e.stop();}
this.DragButton.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.DragButton.onMouseOut=function(e,me){try{if(me.Skin.Canvas.Mode!="PAN"){me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}}catch(ex){Map24.dump(ex);}e.stop();}
this.DragButton.onMouseDown=function(e,me){e.stop();}
this.DragButton.onMouseUp=function(e,me){e.stop();}
this.DragButton.addEventListener("onclick",this.DragButton.onClick);this.DragButton.addEventListener("onmousedown",this.DragButton.onMouseDown);this.DragButton.addEventListener("onmouseup",this.DragButton.onMouseUp);this.DragButton.addEventListener("onmouseover",this.DragButton.onMouseOver);this.DragButton.addEventListener("onmouseout",this.DragButton.onMouseOut);this.ToolBar.appendChild(this.DragButton.Node);if(!Map24.isNull(this._HiddenAppletParameter['DYNURL_PRINT'])&&!Map24.isNull(this._HiddenAppletParameter['TITLE_PRINT']))
{
this.PrintButton=null;this.PrintButton=new Map24.GUI.Object({Win:this.Win,Doc:this.Doc});this.PrintButton.Node.style.position="absolute";this.PrintButton.Node.style.left="244px";this.PrintButton.Node.style.top="0px";this.PrintButton.Node.style.width="23px";this.PrintButton.Node.style.height="21px";this.PrintButton.Image=this.Doc.createElement('img');this.PrintButton.Image.style.width='23px';this.PrintButton.Image.style.height='21px';this.PrintButton.Image.src=this.ImageUrl+'print_0.gif';this.PrintButton.Node.appendChild(this.PrintButton.Image);this.PrintButton.Skin=this;this.PrintButton.Map=this.Map;this.PrintButton.onClick=function(e,me){
if(typeof me.Skin._HiddenAppletParameter['DYNURL_PRINT']=="string"&&me.Skin._HiddenAppletParameter['DYNURL_PRINT'].length>11&&me.Skin._HiddenAppletParameter['DYNURL_PRINT'].substr(0,11)=="javascript:")
{
var functionString=me.Skin._HiddenAppletParameter['DYNURL_PRINT'].substr(11);if(me.Skin._HiddenAppletParameter['TITLE_PRINT'].toUpperCase()=="_SELF"){
eval(functionString);}else{
frames[functiontarget].eval(functionString);}
}else{
if(me.Skin._HiddenAppletParameter['TITLE_PRINT']=="_SELF"){
me.Skin.Win.location=me.Skin._HiddenAppletParameter['DYNURL_PRINT'];}else{
frames[functiontarget].location=me.Skin._HiddenAppletParameter['DYNURL_PRINT'];}
}
var e=new Map24.Browser.Event(event);e.stop();}
this.PrintButton.onMouseOver=function(e,me){try{me.Image.src=me.Image.src.replace(/_0.gif/,'_1_2.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.PrintButton.onMouseOut=function(e,me){try{me.Image.src=me.Image.src.replace(/_1_2.gif/,'_0.gif');}catch(ex){Map24.dump(ex);}e.stop();}
this.PrintButton.onMouseDown=function(e,me){e.stop();}
this.PrintButton.onMouseUp=function(e,me){e.stop();}
this.PrintButton.addEventListener("onclick",this.PrintButton.onClick);this.PrintButton.addEventListener("onmousedown",this.PrintButton.onMouseDown);this.PrintButton.addEventListener("onmouseup",this.PrintButton.onMouseUp);this.PrintButton.addEventListener("onmouseover",this.PrintButton.onMouseOver);this.PrintButton.addEventListener("onmouseout",this.PrintButton.onMouseOut);this.ToolBar.appendChild(this.PrintButton.Node);}
}
this._setCurrentZoomLevel=function(new_zoomlevel){
this.CurrentZoomLevel=new_zoomlevel;}
this.paintOverlay=function(rim){
this._paintToolbar();}
this.sendRequest=function(request){
this.Parent.Webservices.sendRequest(request);}
this.sendModifyMapViewRequest=function(args){
var mrc=new Map24.Webservices.Request.MapletRemoteControl(this.Parent);mrc.push(new Map24.Webservices.MRC.ModifyMapView(args));this.sendRequest(mrc);}
this.modifyMapView=function(control){
var mrc=new Map24.Webservices.Request.MapletRemoteControl(this.Parent);mrc.push(new Map24.Webservices.MRC.ModifyMapView({Control:control}));this.sendRequest(mrc);}
this.panTo=function(_px,_py,_pw,_ph){
Map24.dump(this.Package+"."+this.Class+".panTo() x:"+_px+", y:"+_py+", w:"+_pw+", h:"+_ph);var mrc=new Map24.Webservices.Request.MapletRemoteControl(this.Parent);mrc.push(new Map24.Webservices.MRC.ModifyMapView({Control:"PAN",Px:_px,Py:_py,Pw:_pw,Ph:_ph}));this.sendRequest(mrc);}
this.setZoom=function(percentage){
this.currentZoom=percentage;var mrc=new Map24.Webservices.Request.MapletRemoteControl(this.Map);mrc.push(new Map24.Webservices.MRC.ModifyMapView({Control:"ZOOM",Percentage:percentage}));this.sendRequest(mrc);}
this.prepareAnimation=function(){
this.ANIMATION_TIME=1500;this.aniW=400;this.aniH=400;this.aniL=0;this.aniT=0;l=Math.round(this.RectDiv.style.left.replace("px",""));w=Math.round(this.RectDiv.style.width.replace("px",""));t=Math.round(this.RectDiv.style.top.replace("px",""));h=Math.round(this.RectDiv.style.height.replace("px",""));ncx=l + w/2;ncy=t + h/2;this.dcx=(ncx - this.getMapWidth()/2)*(this.getMapWidth()/ w);this.dcy=(ncy - this.getMapHeight()/2)*(this.getMapHeight()/ h);this.nh=this.getMapHeight()*(this.getMapHeight()/ h);this.nw=this.getMapWidth()*(this.getMapWidth()/ w);this.animationSteps=35;this.animPixH=(this.nh - this.getMapHeight())/this.animationSteps;this.animPixW=(this.nw - this.getMapWidth())/this.animationSteps;this.animPix;if(this.animPixH>this.animPixW){
this.animPix=this.animPixH;}else{
this.animPix=this.animPixW;}
}
this.setAnimVals=function(animBitmap){
this.aniW +=this.animPix;this.aniH +=this.animPix;this.aniL -=(this.animPixW / 2)+ this.dcx/this.animationSteps;this.aniT -=(this.animPixH / 2)+ this.dcy/this.animationSteps;animBitmap.style.width=this.aniW+"px";animBitmap.style.height=this.aniH+"px";animBitmap.style.left=this.aniL+"px";animBitmap.style.top=this.aniT+"px";this.MoveDiv.appendChild(animBitmap);}
this.getMapWidth=function(){
return this.Parent.MapArea.style.width.replace("px","");}
this.getMapHeight=function(){
return this.Parent.MapArea.style.height.replace("px","");}
this.__constructor(default_args);}
Map24.Skins.Map24Portal.prototype=new Map24.Skins.Skin;Map24.notifyClassReady("Map24.Skins.Map24Portal");
Map24.init({ Debug:true, ClassLoaderUrl: "http://api.map24.com/ajax/1.2/index.php" });
Map24.dump("API v"+Map24.VERSION+" initialized!");
