var arLayers = '';
var useOverviewMap = false;
var useStartLogo = true;		
var myMarkerManager = null;
function pdf()
{
	alert("In order to print map layouts in PDF format,\nyou must purchase the required license\nby TYDAC AG - info@tydac.ch");
}
function logout(lang,win)
{
	if (win != "") win.close();
	
	var url = shostname+"/"+sVirtualDir+"/?logout";
	parent.document.location.replace(url);
	
	//var url='http://www.swisscom.com/ws/content/pan/infoseitemaponline/index_'+lang.toUpperCase()+'.html';
	//parent.document.location.replace(url);
}

function resizeIn(new_w, new_h) 
{
        var old_w = this.innerWidth || self.document.body.offsetWidth;
        var old_h = this.innerHeight || self.document.body.offsetHeight;
        if (!new_w) { new_w = old_w; }
        if (!new_h) { new_h = old_h; }
        new_w -= old_w; new_h -= old_h;
        self.parent.window.moveTo(0,0);
	      self.parent.window.focus();
        self.parent.window.resizeBy(new_w,new_h);
}

function changeNeapoljsLang(lang)
{				
	var url = self.parent.location.href;
	eval('var relang = /&lang='+parent.lang+'/');
	url = url.replace(relang, '&lang='+lang);
	self.parent.location.replace(url);
	return;
}
function change_resol_up()
{
	parent.resol_index++;
	
	if (parent.resol_index < parent.arResols.length)
	{
		parent.MapPage.changeNeapoljsResol(parent.arResols[parent.resol_index]);
	} else {
		parent.resol_index = (parent.arResols.length-1);
	}
}			
function change_resol_down()
{
	parent.resol_index--;

	if (parent.resol_index>=0)
	{
		parent.MapPage.changeNeapoljsResol(parent.arResols[parent.resol_index]);
	} else {
		parent.resol_index = 0;
	}
}	
function changeNeapoljsResol(resol)
{
	switch(resol)
	{
		case '800x600':
			winWidth = 700;
			winHeight = 530;
			break;
		case '1024x768':
			winWidth = 940;
			winHeight = 700;
			break;
		case '1280x1024':
			winWidth = 1200;
			winHeight = 950;
			break;				
	}

	var url = self.parent.location.href;
	eval('var old_resol = /&resol='+parent.resol+'/');
	url = url.replace(old_resol, '&resol='+resol);

	resizeIn(winWidth,winHeight);
	self.parent.location.replace(url);	
	return;
}
function window_width()
{
 if (window.innerWidth) return window.innerWidth;
 else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
 else return 0;
}

function window_height()
{
 if (window.innerHeight) return window.innerHeight  ;
 else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
 else return 0;
}
function in_popup(event){
	//rba20110824: cross browser mouse event support
    event = event || window.event;

    var e = { event: event,
        target: event.target ? event.target : event.srcElement,
        which: event.which ? event.which :
            event.button === 1 ? 1 :
            event.button === 2 ? 3 : 
            event.button === 4 ? 2 : 1,
        x: event.x ? event.x : event.clientX,
        y: event.y ? event.y : event.clientY
    };
	if (typeof e.x == 'undefined' || typeof e.y == 'undefined') return;
	
	
	var dynInfo = document.getElementById('dynamicinfo');
	if (dynInfo.style.visibility=="hidden"){
		return;
	}
	
	var IE = document.all?true:false;
	var dl = dynInfo.offsetLeft - 10;
	var dr = dynInfo.offsetLeft + dynInfo.offsetWidth + 10;
	var dt = dynInfo.offsetTop - 10;
	var db = dynInfo.offsetTop + dynInfo.offsetHeight + 10;

	var tempX = e.x;
	var tempY = e.y;
	
	if (tempX > dl && tempX < dr && tempY > dt && tempY < db ){
		return;
	}else{
		dynInfo.style.visibility="hidden";
	}
}
function setDraggable() //used in classGooMap.php
{
	if(isNav4 || isNav6){
	
		document.onmousedown = document.onmousemove = document.ondblclick = null;
		
		var obj = getParObject('mapdisplayGoo');

		if (isNav4 || isNav6)
		{
			document.captureEvents(Event.MOUSEMOVE);
			document.captureEvents(Event.MOUSEDOWN);
			document.captureEvents(Event.MOUSEUP);
			document.captureEvents(Event.MOUSEOUT);
		}
		
		document.onmousemove=moveit;
	} else if (isIE4) 
	{					
		var obj = getParObject('mapdisplayGoo');
		obj.onmousemove=moveit;
	}
}
function moveit(e) 
{	
	if (isNav4) {
		parent.cursorX = e.pageX;
		parent.cursorY = e.pageY;
	} else if (isNav6) {
		parent.cursorX = e.pageX;
		parent.cursorY = e.pageY;			
	} else {
		parent.cursorX = window.event.clientX;
		parent.cursorY = window.event.clientY;			
	}
	var mapDisplay = document.getElementById('mapdisplayGoo');
	
	var offLeft = parseFloat(mapDisplay.style.left);
	var offTop = parseFloat(mapDisplay.style.top);
	parent.cursorX = parent.cursorX - offLeft;
	parent.cursorY = parent.cursorY - offTop;
}
function showDynamicInfo(varLeft,varTop,varTitle,varValue,varWidth,varHeight,varClass,varMapContainer){	
	if (isDistanceOpened)
	{
		return;
	}	
	var mapDisplay = document.getElementById(varMapContainer);
	var dynInfo = document.getElementById('dynamicinfo');
	dynInfo.innerHTML = '';
	dynInfo.style.width ='250px';
	var MaxWidth = varWidth/2;
	var MaxHeight = varHeight/2;
	dynInfo.innerHTML = varValue;
	dwidth = dynInfo.offsetWidth;
	
	if (dwidth > MaxWidth){
		dynInfo.innerHTML = varValue;
		dwidth = dynInfo.offsetWidth;
	}
	dheight = dynInfo.clientHeight;
	if (dheight > MaxHeight){
		dheight = MaxHeight;
	}
	
	if (varLeft == null) varLeft = parent.cursorX;
	if (varTop == null) varTop = parent.cursorY;
	
	varPosX = parseFloat(varLeft) + parseFloat(mapDisplay.style.left);
	varPosY = parseFloat(varTop) + parseFloat(mapDisplay.style.top);
	
	if (parseInt(varLeft) < parseInt(varWidth/2)){
		dynInfo.style.left = (varPosX-5)+'px';
	}else{
		dynInfo.style.left =  (varPosX-(dwidth-5))+'px';		
	}
	
	if (parseInt(varTop) < parseInt(varHeight/2)){
		dynInfo.style.top = (varPosY-5)+'px';	
	}else{
		dynInfo.style.top = parseInt(varPosY-(dheight-5))+'px';
	}
	dynInfo.style.visibility="visible";
}		
function CustomGetTileUrl2(a,b) {
	var z = 17 - b;
	var w = ((a.x + a.y) % 3)+1;
	if (b >= 13) 
	{
		var f = top.shostname+"/geocache/ortsplaene/"+b+"/"+a.x+"/"+a.y+".png";
		return f;
	} else {
		return G_NORMAL_MAP.getTileLayers()[0].getTileUrl(a,b);	
	}
}
function CustomGetTileUrl(a,b)
{
	var w = ((a.y + a.x) % 3)+1;
	var sURL = top.shostname+"/geocache/ortsplaene/Z";
        if (b == 8 && top.isFirstLoad==1)
        {
            	return top.shostname+"/geocache/karte_schweiz/Z" + b + "/" + a.y + "/" + a.x + ".png";
        }	
        else //if ( b == 15)
        {
            return sURL + b + "/" + a.y + "/" + a.x + ".png"; // replace that with a "real" URL
        }
        //else if (b == 16)
        //{
        //    return sURL + b + "/" + a.y + "/" + a.x + ".png"; // replace that with a "real" URL
        //}
        //return G_NORMAL_MAP.getTileLayers()[0].getTileUrl(a,b);
}
    function CustomGetSwissMapTileUrl(a,b)
    {
    	var w = ((a.y + a.x) % 3)+1;
    	var sURL = top.shostname+"/geocache/karte_schweiz/Z";
        if ( b == 8)
        {
            	return sURL + b + "/" + a.y + "/" + a.x + ".png";
        }else {
	        return G_NORMAL_MAP.getTileLayers()[0].getTileUrl(a,b);
	}
    }
function resizeMapContainer()
{
	  var mapdiv = gooNeaMap.map.getContainer();
	  var header_div = document.getElementById('sponsor_banner_div');
	  var header_table = document.getElementById('sponsor_banner_table');  
	  var footer_table = document.getElementById('bottom-impressum');
	  var width = parseInt(mapdiv.style.width);
	  var height =  parseInt(mapdiv.style.height);
	  var win_width = window_width();
	  var win_height = window_height();
	  var map_width = 0;
	  var map_height = 0;
	  var map_x = parseInt(mapdiv.style.left);
	  var map_y = parseInt(mapdiv.style.top);
	  var map_margin_x = 5;
	  var map_margin_y = 5;

	  map_width = win_width - map_x - map_margin_x;
	  map_height = win_height - map_y - map_margin_y;
	  mapdiv.style.width  = map_width + "px";
	  
	  header_div.style.width  = parseInt(map_width-2) + "px";
	  header_table.style.width  = parseInt(map_width-2) + "px";
	  footer_table.style.width  = parseInt(map_x+map_width+2) + "px";
	  
	  gooNeaMap.map.checkResize();
}
function resizeMapPage()
{
	return;
	var mapdiv = document.getElementById('MapPage');
	var width = parseInt(mapdiv.style.width);
	var height =  parseInt(mapdiv.style.height);
	var map_width = 0;
	var map_height = 0;
	var map_x = parseInt(mapdiv.style.left);
	var map_y = parseInt(mapdiv.style.top);
	var map_margin_x = 10;
	var map_margin_y = 10;	
	largeur = window_width();
	hauteur = window_height();
	mapdiv.style.width = parseInt(largeur-20)+"px";
	mapdiv.style.height = parseInt(hauteur-20)+"px";
	return true;
}
function insertParam(key, value) {
	key = escape(key); value = escape(value);

	var kvp = document.location.search.substr(1).split('&');
	if (kvp == '') {
		document.location.search = key + '=' + value;
	}
	else {

		var i = kvp.length; var x; while (i--) {
			x = kvp[i].split('=');

			if (x[0] == key) {
				x[1] = value;
				kvp[i] = x.join('=');
				break;
			}
		}

		if (i < 0) { kvp[kvp.length] = [key, value].join('='); }

		document.location.search = kvp.join('&');
	}
}
function WaitMapPageLoaded()
{
	if (typeof parent.MapPage.isNeapoljsLoaded != 'undefined' && parent.MapPage.isNeapoljsLoaded)
	{
		clearInterval(timerID5);
		alert('MapPage loaded');
	}
}
function StartMap(name)
{
	var url = self.top.location.href+'&city='+name;
	self.top.location.replace(url);
}
function openWindow(url,w,h,sb)
{
	if (!sb) sb = 'no';
	var impressum_window = window.open(url, 'impressum_window','scrollbars='+sb+',width='+w+',height='+h+',menubar=no,resizable=yes,toolbar=no,location=no,status=no');
	impressum_window.resizeTo(w,h);
	impressum_window.focus();
}

