function Map24(){}
Map24.VERSION ="2.0.1228";if(Map24.VERSION=="$"+"{AJAX_API_VERSION}" )Map24.VERSION ="2.0.4";Map24.DISABLE_WORDBOOK =false;Map24.BASE_URL ="http://maptp15.map24.com/ajax";Map24.DEFAULT_APPKEY ="CJX7937c8a2b65df615d7cdbd2ce102aX15";Map24.WEBSERVICES_BASE_URL ="http://maptp15.map24.com/map24/webservices1.5";Map24.MAPTP_HOST ="maptp15.map24.com";Map24.XSLT_BASE_URL ="ajax/";Map24.IMAGES_BASE_URL =null;Map24.SPACER_URL =null;Map24.LIB_PACKAGES =[];Map24.OnLoadCallback =null;Map24.onLoad =function(){var item =Map24.LIB_PACKAGES.shift();if(item ){Map24._include(item.Url );}else {Map24.preClassCreation();Map24.Xsd.Type.createClasses();Map24.Soap.Message.createClasses();Map24.postClassCreation();Map24.OnLoadCallback[1].call(Map24.OnLoadCallback[0]);}
}
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.loadApi =function(lib_packages,callback,version,params ){if(typeof lib_packages=="string" )lib_packages =[lib_packages];if(!(lib_packages instanceof Array))throw "Map24.loadApi: Invalid 'lib_packages' parameter, should be of type string or array!";if(typeof callback=="function" )callback =[null,callback];if(!(callback instanceof Array)&&typeof callback[1]!="function" )throw "Map24.loadApi: Invalid 'callback' supplied!";Map24.OnLoadCallback =callback;if(typeof version!="string" )version =Map24.VERSION;else
Map24.VERSION =version;if(Map24.XSLT_BASE_URL=="$"+"{AJAX_API_XSLT_BASE_URL}" )Map24.XSLT_BASE_URL ="ajax/"+version+"/";else
Map24.XSLT_BASE_URL =Map24.XSLT_BASE_URL+version+"/";var no_service_mode =false;var obfuscate =true;var gzip =true;if(params instanceof Object ){if(typeof params["gzip"]=="boolean" )gzip =params.gzip;if(typeof params["obfuscate"]=="boolean" )obfuscate =params.obfuscate;if(typeof params["NOSERVICELOAD"]=="boolean" &&params.NOSERVICELOAD )no_service_mode =true;if(typeof params["BASE_URL"]=="string" )Map24.BASE_URL =params.BASE_URL;if(typeof params["WEBSERVICES_BASE_URL"]=="string" )Map24.WEBSERVICES_BASE_URL =params.WEBSERVICES_BASE_URL;if(typeof params["MAPTP_HOST"]=="string" )Map24.MAPTP_HOST =params.MAPTP_HOST;if(typeof params["XSLT_BASE_URL"]=="string" )Map24.XSLT_BASE_URL =params.XSLT_BASE_URL;if(typeof params["IMAGES_BASE_URL"]=="string" )Map24.IMAGES_BASE_URL =params.IMAGES_BASE_URL;if(typeof params["AppKey"]=="string" )Map24.DEFAULT_APPKEY =params.AppKey;if(typeof params["APPKEY"]=="string" )Map24.DEFAULT_APPKEY =params.APPKEY;if(typeof params["DEFAULT_APPKEY"]=="string" )Map24.DEFAULT_APPKEY =params.DEFAULT_APPKEY;}
if(Map24.WEBSERVICES_BASE_URL=="$"+"{AJAX_WS_BASE_URL}" )Map24.WEBSERVICES_BASE_URL ="http://"+Map24.MAPTP_HOST+"/map24/webservices1.5";if(Map24.DEFAULT_APPKEY=="$"+"{AJAX_DEFAULT_APPKEY}" )Map24.DEFAULT_APPKEY =null;if(Map24.IMAGES_BASE_URL==null ){if(no_service_mode )Map24.IMAGES_BASE_URL =Map24.BASE_URL+"images/";else
Map24.IMAGES_BASE_URL =Map24.WEBSERVICES_BASE_URL+"?action=demo&image=../../ajax/"+version+"/images/";}
if(Map24.SPACER_URL==null )Map24.SPACER_URL =Map24.IMAGES_BASE_URL +"core_api/space.gif";var doc_url =null;try {doc_url =decodeURIComponent(document.URL);var patch_version_regexp =new RegExp("(.*?)map24:version=([0-9._]*)","i");var ver_patch =patch_version_regexp.exec(doc_url );if((ver_patch instanceof Array)&&(ver_patch.length >=2)&&(typeof ver_patch[2]=="string")&&(ver_patch[2].length>=3)){version =ver_patch[2];}
}catch(e){}
try {var patch_lib_regexp =new RegExp("(.*?)map24:test_lib=([0-9._ystrue]*)","i");var lib_patch =patch_lib_regexp.exec(doc_url );if((lib_patch instanceof Array)&&(lib_patch.length >=2)&&(typeof lib_patch[2]=="string")&&(lib_patch[2].length>=1)){lib_packages[lib_packages.length++] ="test_lib";}
}catch(e){}
var lib_url =null;var lib_url_regex =new RegExp("^[a-z0-9]+://","i");for(var i=0;i<lib_packages.length;i++){lib_url =lib_packages[i];if(typeof lib_url !="string")throw "Map24.loadApi: Invalid 'lib_packages' parameter!";if(lib_url.match(lib_url_regex)){}else
if(no_service_mode ){lib_url =Map24.BASE_URL+"api/"+lib_packages[i]+(obfuscate?"_obfuscated":"")+".js";}else {lib_url =Map24.BASE_URL+"?action=ajax_load_part"+"&v="+version+"&name="+lib_packages[i]+"&gzip="+(gzip?"1":"0")+"&obfuscate="+(obfuscate?"1":"0");}
Map24.LIB_PACKAGES[Map24.LIB_PACKAGES.length++] ={Url:lib_url };}
var item =Map24.LIB_PACKAGES.shift();Map24._include(item.Url );}
Map24.loadFailed =function(msg ){};Map24.forName ={};Map24.ExecutionQueue =function(default_args ){if(typeof default_args=="boolean" &&default_args==false )return;this._Items =[];}
Map24.ExecutionQueue.prototype.Class ="ExecutionQueue";Map24.ExecutionQueue.prototype.Package ="Map24";Map24.ExecutionQueue.prototype.ClassId ="Map24.ExecutionQueue";Map24.forName["Map24.ExecutionQueue"] =Map24.ExecutionQueue;Map24.ExecutionQueue.prototype._Items =null;Map24.ExecutionQueue.prototype.AutoCommit =false;Map24.ExecutionQueue.prototype.call =function(code ){var item =new Map24.ExecutionQueue.Item();var arg_index =1;if(typeof code=="string" ){item.Code =code;}else
if(code instanceof Function ){item.Method =code;}else
if((code instanceof Array)&&(code.length==2)&&(code[1] instanceof Function)){item.Method =code[1];if(code[0] instanceof Object )item.Object =code[0];else
item.Object =null;}else
if(((code instanceof Object)||(code==null))&&(arguments.length >=1)&&(arguments[0] instanceof Function)){item.Object =code;item.Method =arguments[0];arg_index =2;}else {if(Map24 &&Map24.Exception )throw new Map24.Exception.InvalidArgument("Invalid parameter 'code' given, must be string, function or array[obj,method]!",code,this.ClassId,"call");else
throw new {Msg:"Invalid parameter 'code' given, must be string, function or array[obj,method]!",Attachment:code,Class:this.ClassId,Method:"call"};}
for(var i=arg_index;i <arguments.length;i++){item.Args[item.Args.length++] =arguments[i];}
if(this.AutoCommit ){return item.execute();}else {item.Queue =this;item.Index =this._Items.length;this._Items[this._Items.length++] =item;return undefined;}
}
Map24.ExecutionQueue.prototype.commit =function(){var c =this._Items;this._Items =[];for(var i=0;i <c.length;i++)try {c[i].execute();}catch(e){if(Map24 &&Map24.e ){e.Msg ="Exception while executing queued code";e.Item =c[i];Map24.e(e,Map24.E_CORE_ERROR);}
}
}
Map24.ExecutionQueue.prototype.iterate =function(){return this._Items;}
Map24.ExecutionQueue.prototype.rollback =function(){this._Items =[];}
Map24.ExecutionQueue.prototype.autoCommit =function(b ){if(typeof b!="boolean" )b =false;if(this.AutoCommit ==b )return;if(b ){while(this._Items.length >0 ){this.commit();}
this.AutoCommit =true;}else
this.AutoCommit =false;}
Map24.ExecutionQueue.Item =function(default_args ){if(typeof default_args=="boolean" &&default_args==false )return;if(default_args instanceof Object )for(var key in default_args )this[key] =default_args[key];if(!(this.Args instanceof Array))this.Args =[];}
Map24.ExecutionQueue.Item.prototype.Class ="Item";Map24.ExecutionQueue.Item.prototype.Package ="Map24.ExecutionQueue";Map24.ExecutionQueue.Item.prototype.ClassId ="Map24.ExecutionQueue.Item";Map24.forName["Map24.ExecutionQueue.Item"] =Map24.ExecutionQueue.Item;Map24.ExecutionQueue.Item.prototype.Queue =null;Map24.ExecutionQueue.Item.prototype.Index =null;Map24.ExecutionQueue.Item.prototype.Code =null;Map24.ExecutionQueue.Item.prototype.Object =null;Map24.ExecutionQueue.Item.prototype.Method =null;Map24.ExecutionQueue.Item.prototype.Args =null;Map24.ExecutionQueue.Item.prototype.execute =function(){if(typeof this.Code=="string" ){eval(this.Code );return null;}else {switch(this.Args.length ){case 0:return this.Method.call(this.Object );case 1:return this.Method.call(this.Object,this.Args[0] );case 2:return this.Method.call(this.Object,this.Args[0],this.Args[1] );case 3:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2] );case 4:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3] );case 5:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4] );case 6:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5] );case 7:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5],this.Args[6] );case 8:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5],this.Args[6],this.Args[7] );case 9:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5],this.Args[6],this.Args[7],this.Args[8] );case 10:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5],this.Args[6],this.Args[7],this.Args[8],this.Args[9] );case 11:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5],this.Args[6],this.Args[7],this.Args[8],this.Args[9],this.Args[10] );case 12:return this.Method.call(this.Object,this.Args[0],this.Args[1],this.Args[2],this.Args[3],this.Args[4],this.Args[5],this.Args[6],this.Args[7],this.Args[8],this.Args[9],this.Args[10],this.Args[11] );default:var r =null;var s =["r = this.Method.call( this.Object, "];var len =this.Args.length-1;for(var i=0;i <len;i++){s[s.length++] ="this.Args["+i+"], ";}
s[s.length++] ="this.Args["+i+"] );";eval(s);return r;}
}
}
Map24.ExecutionQueue.Item.prototype.remove =function(){if(this.Queue instanceof Map24.ExecutionQueue )try {this.Queue._Items.splice(this.Index,1 );}catch(e){};this.Queue =null;this.Index =null;}
