// JavaScript Document

	//var map;
	//var marker_exists = false;
	//var zoom;
	//var MapType;
	//function load() {
	//if (GBrowserIsCompatible()) {
	//try{
	//map = new GMap2(document.getElementById("map"));
	//map.addControl(new GSmallMapControl());
	//map.addControl(new GMapTypeControl());
	//map.setCenter(new GLatLng(32.076284,34.771063),15);
	//map.setMapType();
	//var point = new GLatLng(32.076284,34.771063);
	//
	//marker_exists = new GMarker(point);
	//
	//map.addOverlay(marker_exists);
	//map.openInfoWindow(map.getCenter(),document.createTextNode("Cozy Home on Bugrashov St near the beach in Tel Aviv"));
	//}
	//catch(e){
	////alert(e.description);
	//}
	//}
	//}



	var use_openstreetmap;

	var Google_Maps = {
		conf: {},
		markers: {},
		el: null,
		map: null,
		mapdata: {},
		icons: {
	        attraction0: new GIcon(),
	        attraction1: new GIcon(),
	        attraction2: new GIcon(),
	        attraction3: new GIcon(),
	        attraction4: new GIcon(),
	        attraction5: new GIcon(),
	        attraction6: new GIcon(),
	        attraction7: new GIcon(),
	        attraction8: new GIcon(),
	        attraction9: new GIcon(),
	        attraction10: new GIcon(),
	        attraction11: new GIcon(),
	        attraction12: new GIcon(),
	        attraction13: new GIcon(),
	        attraction14: new GIcon(),
	        attraction15: new GIcon(),
	        attraction16: new GIcon(),
	        attraction17: new GIcon(),
	        attraction18: new GIcon(),
	        attraction19: new GIcon(),
	        attraction20: new GIcon(),
	        attraction21: new GIcon(),
	        attraction22: new GIcon(),
	        attraction23: new GIcon(),
	        attraction24: new GIcon(),
	        attraction25: new GIcon(),
	        attraction26: new GIcon(),
	        attraction27: new GIcon(),
	        attraction28: new GIcon(),
	        attraction29: new GIcon(),
	        attraction30: new GIcon(),
	        attraction31: new GIcon(),
	        attraction32: new GIcon(),
	        
			premium: new GIcon(),
			klant: new GIcon(),
			nklant: new GIcon(),
			red: new GIcon(),
			ds: new GIcon(),
			dskl: new GIcon()
		},
		gfx: {}
	};
	Google_Maps.icons.attraction0.image 			= "/___sajat_komp/_sajat_file/attractionMap.php?sorszam=112";
	Google_Maps.icons.attraction0.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction0.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction0.infoWindowAnchor 	= new GPoint(9, 2);
	Google_Maps.icons.attraction1.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction1.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction1.infoWindowAnchor 	= new GPoint(9, 2);
	Google_Maps.icons.attraction2.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction2.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction2.infoWindowAnchor 	= new GPoint(9, 2);
	Google_Maps.icons.attraction3.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction3.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction3.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction4.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction4.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction4.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction5.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction5.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction5.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction6.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction6.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction6.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction7.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction7.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction7.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction8.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction8.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction8.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction9.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction9.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction9.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction10.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction10.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction10.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction11.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction11.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction11.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction12.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction12.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction12.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction13.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction13.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction13.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction14.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction14.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction14.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction15.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction15.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction15.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction16.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction16.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction16.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction17.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction17.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction17.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction18.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction18.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction18.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction19.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction19.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction19.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction20.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction20.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction20.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction21.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction21.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction21.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction22.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction22.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction22.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction23.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction23.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction23.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction24.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction24.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction24.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction25.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction25.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction25.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction26.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction26.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction26.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction27.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction27.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction27.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction28.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction28.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction28.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction29.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction29.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction29.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction30.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction30.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction30.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction31.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction31.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction31.infoWindowAnchor 	= new GPoint(9, 2);
	
	Google_Maps.icons.attraction32.iconSize 		= new GSize(31, 35);
	Google_Maps.icons.attraction32.iconAnchor 		= new GPoint(9, 34);
	Google_Maps.icons.attraction32.infoWindowAnchor 	= new GPoint(9, 2);
	
	
	
	
	Google_Maps.icons.dskl.shadow 				= "";
	Google_Maps.icons.dskl.image 				="http://home4trip.com/img/google_map/house.png";//"../img/google_map/house.png";
	//Google_Maps.icons.dskl.iconSize 			= new GSize(28, 32);
	//Google_Maps.icons.dskl.shadowSize 			= new GSize(42, 32);
	//Google_Maps.icons.dskl.iconAnchor 			= new GPoint(2, 32);
	//Google_Maps.icons.dskl.infoWindowAnchor 		= new GPoint(9, 2);
	//Google_Maps.icons.dskl.infoShadowAnchor 		= new GPoint(18, 25);
	Google_Maps.icons.dskl.iconSize 			= new GSize(30, 32);
	Google_Maps.icons.dskl.shadowSize 			= new GSize(42, 32);
	Google_Maps.icons.dskl.iconAnchor 			= new GPoint(7, 32);
	Google_Maps.icons.dskl.infoWindowAnchor 		= new GPoint(9, 2);
	Google_Maps.icons.dskl.infoShadowAnchor 		= new GPoint(18, 25);

	Google_Maps.init = function(){
		if (GBrowserIsCompatible()){
			//map = new GMap2(document.getElementById("map_canvas"));
			//map.addControl(new GLargeMapControl());
			//map.setCenter(new GLatLng(41, -98), 4);
			//window.setTimeout(setupWeatherMarkers, 0);
			
			//this.el = Ext.get(this.conf['container'])
			this.el = jQuery('#' + this.conf['container'])
			this.el.height(this.conf['height']);
			this.el.width(this.conf['width']);
			
			//this.el.setHeight(this.conf['height']);
			//this.el.setWidth(this.conf['width']);
			
			if(typeof use_openstreetmap != 'undefined' && use_openstreetmap == 1){
				var copyrightGoogle = new GCopyrightCollection("<a href=\"http://maps.google.com/\">Google</a>");
				copyrightGoogle.addCopyright(new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, " "));
			
				var tilesGmap	= new GTileLayer(copyrightGoogle, 1, 17, {tileUrlTemplate: "http://mt3.google.com/vt/lyrs=m@107&hl=" + this.conf.language + "&x={X}&y={Y}&z={Z}"});
				var mapGmap		= new GMapType([tilesGmap],     G_NORMAL_MAP.getProjection(), "Map");
				this.map		= new GMap2(document.getElementById(this.conf['container']), { mapTypes: [mapGmap] });
			
				this.map.addMapType(G_SATELLITE_MAP);
			
				/* open streetmap code.
			
				var copyOSM = new GCopyrightCollection("<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>");
				copyOSM.addCopyright(new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, " "));
			
				var tilesMapnik		= new GTileLayer(copyOSM, 1, 17, {tileUrlTemplate: 'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png'});
				var mapMapnik		= new GMapType([tilesMapnik],     G_NORMAL_MAP.getProjection(), "Mapnik");
				this.map			= new GMap2(document.getElementById(this.conf['container']), { mapTypes: [mapMapnik] });
			
				this.map.addMapType(G_SATELLITE_MAP);
				*/
			}
			else{
				this.map = new GMap2(document.getElementById(this.conf['container']));
			
				if(this.conf.mapType)
				{
					this.map.setMapType(window[this.conf.mapType]);
				}
			}
			
			this.map.setCenter(new GLatLng(this.conf['center']['latitude'] , this.conf['center']['longitude']), this.conf['zoomLevel']);
			
			GEvent.addListener(this.map, "maptypechanged", function() {
				var mapType = Google_Maps.map.getCurrentMapType().getName();
				if(mapType == 'Map') 		var type = 'roadmap';
				if(mapType == 'Satellite') 	var type = 'satellite';
				if(mapType == 'Hybrid') 	var type = 'hybrid';
				if(typeof(type) != 'undefined')
				{
					var time=new Date()
					var expires = new Date();
					expires.setTime(time.getTime() + (3600 * 100));
			
				    document.cookie = "ds_google_maps_map_type=" + type +
				        "; expires=" + expires.toGMTString();
				}
			});
			
			if(typeof(this.conf.mapoptions) != 'undefined')
			{
				for(key in this.conf.mapoptions)
				{
					this.map[this.conf.mapoptions[key]]();
				}
			}
			
			
			for(key in this.conf.controls)
			{
				eval('this.map.addControl(new '+this.conf.controls[key]+'());');
			}
			
			if(this.conf.events)
			for(eventkey in this.conf.events)
			{
				var eventinfo = this.conf.events[eventkey];
				if(typeof(this.conf.events[eventkey]['params']) != 'undefined')
				{
					GEvent.addListener(this.map, eventkey, function() {
						eval(eventinfo['handler']+'(this, '+eventinfo[eventkey]['params']+')');
					});
				}
				else
				{
					GEvent.addListener(this.map, eventkey, function() {
						eval(eventinfo['handler']+'(this)');
					});
				}
			}
			
			for(key in this.markers)
			{
				Google_Maps.addMarker(key, this.markers[key], false);
			}
		}
	};


	Google_Maps.addMarker = function(number, config, from_config){
		if(typeof(from_config) == 'undefined' || from_config == true){
			Google_Maps.markers[number] = config;
		}
		if(config.icon){
			icon = new GIcon(Google_Maps.icons[config.icon]);
	
			if(config.numbered){
				icon.image = icon.image.replace(/marker.png/i, 'marker'+(parseInt(number)+1)+'.png');
			}
	
			var options = config.options ? config.options : {};
			options.icon = icon;
			//alert("here1");
			this.mapdata[number] = new GMarker(new GLatLng(config.latitude, config.longitude), options);
		}
		else{
			icon = new GIcon(G_DEFAULT_ICON);
			if(config.numbered){
				icon.image = icon.image.replace(/marker.png/i, 'marker'+(parseInt(number)+1)+'.png');
			}
	
			var options = config.options ? config.options : {};
			options.icon = icon;
			//alert("here2");
			this.mapdata[number] = new GMarker(new GLatLng(config.latitude, config.longitude), options);
		}
		if(config.myHtml){
			var haha=config.myHtml;
		}
		if(config.events){
			for(eventkey in config.events){
				var eventdata = config.events[eventkey];
				//Moet op deze manier, als je een lege functie (function () { en dan het eval gedeelte }) doorgeeft haalt ie ze door elkaar..
				eval('var eventFunction = function gmEvent'+eventkey+'() { '+eventdata['handler']+'(this, '+eventdata['params']+'); }');
				GEvent.addListener(this.mapdata[number], eventkey, eventFunction);
			}
		}
	
		this.map.addOverlay(this.mapdata[number]);
	}
	Google_Maps.getMarker = function(id){
		for(key in this.markers){
			if(this.markers[key].id == id){
				return this.mapdata[key];
			}
		}
		return false;
	};
	
	
	Google_Maps.gfx.drawCircle = function(center, radius, options){
		if(typeof(options) == 'undefined'){
			var options = {};
		}
		// Esa 2006
		//calculating km/degree
		var latConv = center.distanceFrom(new GLatLng(center.lat()+0.1,	center.lng()))/100;
		var lngConv = center.distanceFrom(new GLatLng(center.lat(),	center.lng()+0.1))/100;
	
		//Loop
		var points = [];
		var step = parseInt(360/options.precision)||10;
		for(var i=0; i<=360; i+=step){
			var pint = new GLatLng(center.lat() + (radius/latConv * Math.cos(i * Math.PI/180)), center.lng() + (radius/lngConv * Math.sin(i * Math.PI/180)));
			points.push(pint);
		}
		options.fillColor = options.fillColor||options.color||"#82008F";
		if(typeof(options.color) == 'undefined') options.color = '#82008F';
		options.width = options.width||2;
		var poly = new GPolygon(points, options.color, options.width, options.opacity, options.fillColor, options.fillOpacity);
		Google_Maps.map.addOverlay(poly);
		return poly;
	}

