<!--

//20090911
// ajax framework waere sinnvoll. prototyp koennte alles was wir brauchen und ist auch bereits im einsatz
// mit extensions laesst sich beschriebenermassen auch die back-button/bookmark sache loesen/verbessern

var xmlHttpObject = false;
if (typeof XMLHttpRequest != 'undefined') 
{
    xmlHttpObject = new XMLHttpRequest();
}
if (!xmlHttpObject) 
{
    try 
    {
        xmlHttpObject = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e) 
    {
        try 
        {
            xmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) 
        {
            xmlHttpObject = null;
        }
    }
}

var progress_bar = new Image();
progress_bar.src = '/img/ajax_media_xl.gif';

function loadContent(url)
{
    preloadOverlay();
    // progress bar
    if (document.getElementById('media_xl') != null ) {
        /*
        var ajax = 'media_xl';
        var media_x = document.getElementById('media_x')
        for( var x = 0; x < media_x.attributes.length; x++ ) {
            if (media_x.attributes[x].nodeName.toLowerCase() == "kind") {
                ajax = media_x.attributes[x].nodeValue; 
                break;
            }
        }
        */

        document.getElementById('media_xl').src = "/img/ajax_media_xl.gif";
    }

    xmlHttpObject.open('POST', url);
    xmlHttpObject.onreadystatechange = handleContent;
    xmlHttpObject.send(null);
    return false;
}

function handleContent()
{
    if (xmlHttpObject.readyState == 4)
    {
        if (typeof pageTracker != "undefined") {
            pageTracker._trackPageview("/ajax-content" );
        }
		var div = document.getElementById('blockOverlay'); 
        div.innerHTML = xmlHttpObject.responseText;
		var x = div.getElementsByTagName('script');   
		for(var i=0;i<x.length;i++)  
		{  
			eval(x[i].text);  
		}  
		div.style.visibility='visible';
    }
}

function preloadOverlay() {
    if (document.getElementById('blockOverlay').innerHTML == "") {
        document.getElementById('blockOverlay').innerHTML = document.getElementById('blockOverlayDefault').innerHTML;
    }
    if (document.getElementById('media_xl') != null ) {
        document.getElementById('media_xl').src = '/img/ajax_media_xl.gif';
    }
	coord = new Array();
	coord=getScrollXY();
	Y=coord[1];
	(Y+5<131)?Y=131:Y=Y+5;
	document.getElementById('blockOverlay').style.top=Y+'px'; 
	document.getElementById('blockOverlay').style.visibility='visible';
}

function showOverlay(url) {
    preloadOverlay();
    loadContent(url);
	coord = new Array();
	coord=getScrollXY();
	Y=coord[1];
	(Y+5<131)?Y=131:Y=Y+5;
	document.getElementById('blockOverlay').style.top=Y+'px'; 
	document.getElementById('blockOverlay').style.visibility='visible';
}

function hideOverlay() {
    document.getElementById('blockOverlay').innerHTML = '';
    document.getElementById('blockOverlay').style.visibility='hidden'
}

function loadForm(url, id) {
    queryString="";
    var frm = document.forms[id];
    var numberElements = frm.elements.length;
    for(var i = 0; i < numberElements; i++) {
        if(i < numberElements-1) {
            queryString += frm.elements[i].name+"="+
            encodeURIComponent(frm.elements[i].value)+"&";
        } else {
            queryString += frm.elements[i].name+"="+
            encodeURIComponent(frm.elements[i].value);
        }
    }
    loadContent(url +"?"+ queryString);
}

function clearForm() {
    for (var i = 0; i < clearForm.arguments.length; i++) {
        document.getElementById(clearForm.arguments[i]).selected=true;
    }
}
















function setCookieValue(key, id, action) {
    if (action) {
        addCookieValue(key, id);
    } else {
        delCookieValue(key, id);
    }
} 

function addCookieValue(key, id) {
    var cookie = getCookie(key);
    setCookie(key, cookie + id +"-");
} 

function delCookieValue(key, id) {
    var cookie = new String(getCookie(key));
    var new_cookie = new String(); 
    offset=cookie.indexOf(id); 
    if(offset!=-1) { 
        var idList = cookie.split("-");
        for (i=0; i<idList.length-1; i++) {
            if (idList[i] != id) {
                new_cookie += idList[i] +"-";
            }
        }
        setCookie(key, new_cookie);
    }
}

function setCookie(key, value) {
    var expire = new Date();
    expire.setTime(expire.getTime() + 3600000*24*1);
    document.cookie = key +"="+ escape(value) + ";expires="+expire.toGMTString();
    return true;
}

function getCookie(key) { 
    var search=key+"="; 
    if(document.cookie.length>0) { 
        offset=document.cookie.indexOf(search); 
        if(offset!=-1) { 
            offset+=search.length; 
            end=document.cookie.indexOf(";",offset); 
            if(end==-1)end=document.cookie.length; 
            return unescape(document.cookie.substring(offset,end)); 
        } 
    } 
    return "";
} 

function setAndExecute(divId, innerHTML)  
{  
   var div = document.getElementById(divId);  
   div.innerHTML = innerHTML;  
   var x = div.getElementsByTagName("script");   
   for(var i=0;i<x.length;i++)  
   {  
       eval(x[i].text);  
   }  
}  

//umkreissuche
//muss hier sitzen wg. ajax
function radiussearch(sid,radius,lat,lon) {
    //if (!radius) { radius = Math.max(.2,Math.round(map.getBounds().toSpan().y/2*(2*6371*Math.PI/360))); }
    if (!lat) { lat = map.getCenter().y; }
    if (!lon) { lon = map.getCenter().x; }
    var mapwidth = map.getBounds().getNorthEast().lng()-map.getBounds().getSouthWest().lng();
    var mapheight = map.getBounds().getNorthEast().lat()-map.getBounds().getSouthWest().lat();
    var zoom = map.getZoom();
    var link = 
        "/gis.php?inc=home&sid="+ sid +
        "&radius="+ radius +
        "&mapwidth="+ mapwidth +
        "&mapheight="+ mapheight +
        "&lat="+ lat +
        "&lon="+ lon +
        "&zoom="+ zoom +
        " ";
    loadContent(link);
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
    gmarkers[i].openInfoWindowHtml(htmls[i]);
}


//grauflaechenplatzierung browserunabhaengig
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}

//-->


