var map;
var marker;

var mapwidth;
var mapheight;
var state=0;

function load() {
    map = new GMap2(document.getElementById("map"));
    map.setMapType(G_HYBRID_MAP);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    jump();
    GEvent.addListener(map, "click", function(overlay, point) {
        if (point){
            if(marker){
                map.removeOverlay(marker);
            }
            marker=new GMarker(point, {draggable: true});
            
            var koords = point.toString();
            document.form.koord_lat.value=koords.substring(1,koords.indexOf(','));
            document.form.koord_lng.value=koords.substring(koords.indexOf(',')+1,koords.length-1);
            map.addOverlay(marker);
            GEvent.addListener(marker, "dragend", function() {
                var koords = marker.getPoint().toString();
                document.form.koord_lat.value=koords.substring(1,koords.indexOf(','));
                document.form.koord_lng.value=koords.substring(koords.indexOf(',')+1,koords.length-1);
            });
        }
    });
    mapwidth=getE('map').offsetWidth;
    mapheight=getE('map').offsetHeight;
}

function jump(){
    var string=document.form.location.value;
    if(string==0){
        map.setCenter(new GLatLng(46.79,8.27), 8);
    }else{
        x=string.substring(0,string.indexOf(','));
        y=string.substring(string.indexOf(',')+1,string.length);
        map.setCenter(new GLatLng(x,y),eval(document.form.zOOm.value));
    }
}

function grow(){
    element=getE('map');
    if(state==0){
    	element.style.width=document.body.clientWidth-30;
    	element.style.height=document.body.clientHeight-30;
	state=1;
    }else{
	element.style.width=mapwidth;
    	element.style.height=mapheight;
	state=0;
    }
    var center=map.getCenter().toString();
    var lat=center.substring(1,center.indexOf(','));
    var lng=center.substring(center.indexOf(',')+1,center.length-1);
    map.checkResize();
    map.panTo(new GLatLng(lat,lng));
}

function getE(e) {
    return document.getElementById(e)
}