var winkels=new Array();
var activemarkers=new Array();
var activecoords=new Array();
var nIcon = new GIcon();
nIcon.image = '/images/nicon.png';
nIcon.iconSize = new GSize(24,29);
nIcon.iconAnchor = new GPoint(12,14);

var hIcon = new GIcon();
hIcon.image = '/images/hicon.png';
hIcon.iconSize = new GSize(26,36);
hIcon.iconAnchor = new GPoint(13,18);

function searchLocation(){
	/** mod 02-03-10 @ JJ: strlen == 6 for zipcode **/
	zip = String($('saddr').value).replace(' ','').substring(0,6);
	if((zip.substring(0,4) * 1) > 0){ 
		if(zip.length > 3 && zip.length < 6){
			while(zip.length < 6)zip+= 'A';	
		}
	}
	/** end mod **/
	geocoder.getLocations(zip, addressResolved);
}

function addressResolved(response) {
 if (response.Status.code == 620) {
   
 } else {
   if (response.Status.code == 200) {
	 place = response.Placemark[0];
	 searchwinkels(place.Point.coordinates[1],place.Point.coordinates[0]);
   }
 }
}

function searchwinkels(lat, long){
	var req = new Request.JSON({url:'/getwinkels.ajax', 
			onSuccess: function(jsonobj,txt) {
				try {
					show_winkel(jsonobj.winkel.pub.pub_Id);
				} catch(e){};
		}
		}).post({'lat':lat,'long':long});
}

function loadWinkels(){
	for (var i=0;i<winkels.length;i++){
		addMarker(winkels[i].lat, winkels[i].long, winkels[i].pubid);
	}
	var docloc = unescape(document.location);
	var hashloc = docloc.indexOf('#');
	if ( hashloc != -1 ) {
		var afterHash = docloc.substring(docloc.indexOf('#')+1, docloc.length);
		
		for (var j=0;j<winkels.length;j++  ) {
			if( afterHash==winkels[j].navigation ){
				show_winkel(winkels[j].pubid);
			}
		}
		
	}
}


function addMarker(lat, long, pubid){
	point = new GLatLng(lat, long);
	marker = new GMarker(point, nIcon);
	marker.pubid=pubid;
	map.addOverlay(marker);
	activemarkers.push(marker);
	activecoords.push(point);
	GEvent.addListener(marker, "click", function() {
		show_winkel(pubid);
	});

}

function show_winkel(pubid){
	var req = new Request.HTML({url:'/getwinkel.ajax', 
			onSuccess: function(html,txt) {
				try {
					$('winkelinfo').set('text','');
					$('winkelinfo').adopt(html);
					for(var i=0;i<activemarkers.length;i++){
						if ( activemarkers[i].pubid==pubid ) {
							activemarkers[i].setImage('/images/hicon.png');
						} else {
							activemarkers[i].setImage('/images/nicon.png');
						}
					}
					var scroll = new Fx.Scroll(window);
					scroll.start(0,720);
					for (var j=0;j<winkels.length;j++  ) {
						if( pubid==winkels[j].pubid ){
							location.href='#'+winkels[j].navigation;
						}
					}

				} catch(e){};
		}
		}).post({'pubid':pubid});
}