var map = this;
var GoogleMarker;
var elementsArray = new Array;

function createMarker( point, html) {
	var marker = new GMarker(point);
	var maxContent = html;		  
	
	GEvent.addListener(marker, "click", function() {
	 	marker.openInfoWindowHtml(maxContent);
	});
	
	GEvent.addListener(marker, "mouseover", function() {
	    marker.openInfoWindowHtml(maxContent);
	});
	    
	return marker;
}

function showGmap( name, singular, div, coord, dragg ) {
    if (GBrowserIsCompatible()) {

   		map[name] = new GMap2(document.getElementById( div ));
	
		coord = coord.replace(/[()]/gi,"");
		coord = coord.split(',');
		var point = new GLatLng( coord[0], coord[1] );
	    
	    /* glowne elementy */
		if ( singular == true ) {
			map[name].setCenter(point, 6);
		} else {
			map[name].setCenter(new GLatLng(0,0),0);
		}
	    map[name].addControl(new GLargeMapControl ());
	    map[name].addControl(new GMapTypeControl());
	    
	    map[name].hideControls();   
	    GEvent.addListener(map[name], "mouseover", function(){map[name].showControls();});   
	    GEvent.addListener(map[name], "mouseout", function(){map[name].hideControls();});  

	    if ( singular == false ) {
		    var bounds = new GLatLngBounds();	    
		    for (i = 0; i < elementsArray.length; i++) {
		    	//majorka psuje nam mapke ;)
		    	if ( 
			    		( elementsArray[i][0] != '39.5694701' && elementsArray[i][1] != '2.6500168') &&
			    		( elementsArray[i][0] != '40.2457487' && elementsArray[i][1] != '0.2761178')
		    	) {
		    		bounds.extend(new GLatLng(elementsArray[i][0],elementsArray[i][1]));
		    	}
		    	map[name].addOverlay(createMarker(new GLatLng(elementsArray[i][0],elementsArray[i][1]), elementsArray[i][2]));
			}	    	    
		    map[name].setZoom(map[name].getBoundsZoomLevel(bounds));
		    map[name].setCenter(bounds.getCenter());
	    } else {
			GoogleMarker = new GMarker( point, {draggable: true});
		    GEvent.addListener(GoogleMarker, "dragend", function() {
		              jQuery('#photo_coord').val( GoogleMarker.getLatLng() );
		      });
		
		      GEvent.addListener(map[name],"click",function(overlay, point) {
		    	  GoogleMarker.setLatLng(point);
		    	  jQuery('#photo_coord').val( GoogleMarker.getLatLng() );
		      });
		      map[name].addOverlay(GoogleMarker);
	    }
	    
	    return map[name];
    } else {
        jQuery( div ).html("Niestety, Twoja przeglądarka nie obsługuje map[name]s. Zalecamy używanie Opery (www.opera.com).");
    }
}

function geoLocate( prefix ) {

	var city = jQuery("#"+prefix+"_city").val();
	var street = jQuery("#"+prefix+"_street").val();
	
	var address = city + " " + " " + street;

	if(address != '   ') {
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng( address, 
		   function(point) {
		     if(point) {
	  	        GoogleMarker.setLatLng(point);
		        jQuery('#'+prefix+'_coord').val(point);
		        map['add'].setCenter(point, 13);
		     }
		   }
		);
	}
}

jQuery(function(){	
	jQuery("#photo_city").change( function () { geoLocate('photo'); } );
	jQuery("#photo_street").change( function () { geoLocate('photo'); } );
	jQuery("#photo_number").change( function () { geoLocate('photo'); } );
	
    jQuery("#pinger").click(function(){
    	var id = jQuery("#pinger").attr('rel');
        jQuery.post("/pinger",{'id':id} ,function(data){
        	if( data.status == "success" ) {
        		jQuery("#pinger_ok").show();
        	} else {
        		jQuery("#pinger_err").show();
        	}
        }, "json");
	});
    
    jQuery('#fb_like_box .icon').click( function(){alert('1');} );
    jQuery('#fb_like_box').hover(
    		function() {
    			jQuery(this).stop().animate({right: '0'}, 'slow');
    		},
    		function() {
    			jQuery(this).stop().animate({right: '-300px'}, 'slow');
    		}
    );
	
    jQuery(".miasto").click(function(){
    	var miasto = jQuery(this).attr('rel');
        jQuery.post("/wyniki",{'typ':'miasto','city':miasto} ,function(data){
        	jQuery("#wynik").html(data);
        }, "html");
	}); 
	
    jQuery(".data").click(function(){
    	var date = jQuery(this).attr('rel');
        jQuery.post("/wyniki",{'typ':'data','date':date} ,function(data){
        	jQuery("#wynik").html(data);
        }, "html");
	});    

});


