//<![CDATA[

google.load('search', '1.0');

var searchControl;

function OnLoad() {
	// Create a search control
	searchControl = new google.search.SearchControl();
	searchControl.setLinkTarget('gs_iframe');

	var gs_options = new google.search.SearcherOptions();
	gs_options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);

	searchControl.addSearcher(new google.search.ImageSearch(), gs_options);
	searchControl.addSearcher(new google.search.VideoSearch(), gs_options);

	// tell the searcher to draw itself and tell it where to attach
	searchControl.draw(document.getElementById("searchcontrol"));

	// execute an inital search
	//searchControl.execute("VW GTI");
}

google.setOnLoadCallback(OnLoad, true);



function getCenter(koordinate) {
	var kooX = new Array();
	var kooY = new Array();

	for (var i=0; i<koordinate.length; i++) {
		var temp = koordinate[i].split(',');
		kooX[i] = temp[0];
		kooY[i] = temp[1];
	}

	var maxX = kooX[0], minX = kooX[0];
	var maxY = kooY[0], minY = kooY[0];

	for (var i=0; i<kooX.length; i++) {
		if (kooX[i] > maxX) {
			maxX = kooX[i];
		}
		if (kooX[i] < minX) {
			minX = kooX[i];
		}
		if (kooY[i] > maxY) {
			maxY = kooY[i];
		}
		if (kooY[i] < minY) {
			minY = kooY[i];
		}
	}

	maxX = Math.round(parseFloat(maxX)*1000000)/1000000;
	minX = Math.round(parseFloat(minX)*1000000)/1000000;
	maxY = Math.round(parseFloat(maxY)*1000000)/1000000;
	minY = Math.round(parseFloat(minY)*1000000)/1000000;

	var midX = ((maxX-minX))/2+minX;
	var midY = ((maxY-minY))/2+minY;

	var center = midX+','+midY;

	return center;
}


function drawMap(koordinate, zoom) {

	if (GBrowserIsCompatible()) {

		var str = '';
		var samoKoordinate = new Array();

		for (var i=0; i<koordinate.length; i++) {
			str += "var point = new GLatLng("+koordinate[i][0]+");\n";
			str += "map.addOverlay(createMarker(point, '"+koordinate[i][1]+"'));\n\n";
			samoKoordinate[i] = koordinate[i][0];
		}

		var mljac = "var map = new GMap2(document.getElementById(\"map_canvas\"));\n"+
		"map.setCenter(new GLatLng("+getCenter(samoKoordinate)+"), "+zoom+");\n"+
		"map.setUIToDefault();\n"+
		"map.disableScrollWheelZoom();\n\n"+str;
		//alert(mljac);
		eval(mljac);
	}
}


// Creates a marker whose info window displays the letter corresponding
// to the given index.
function createMarker(point, slug) {

	var baseIcon = new GIcon(G_DEFAULT_ICON);
	baseIcon.iconSize = new GSize(76, 30);
	baseIcon.imageMap = [0,0, 75,0, 75,29, 0,29];
	baseIcon.shadow = "http://www.prodavnicemuzickihinstrumenata.com/img/mapa_senka.png";
	baseIcon.shadowSize = new GSize(85, 46);
	baseIcon.iconAnchor = new GPoint(0, 45);

	var myIcon = new GIcon(baseIcon);
	myIcon.image = "http://www.prodavnicemuzickihinstrumenata.com/img/logo_mapa/"+slug+".png";

	// Set up our GMarkerOptions object
	markerOptions = { icon:myIcon, title:slug.replace(/_/g, ' ') };
	var marker = new GMarker(point, markerOptions);

	GEvent.addListener(marker, "click", function() {
		location.href = 'http://www.prodavnicemuzickihinstrumenata.com/'+slug+'.html';
	});
	return marker;
}



function gSearch(query, button) {

	//enter
	if (button == undefined) {
		var active_button = $(".logo_menu button.active");
		if (active_button.length == 0) {
			var url = 'www.google.com';
		}
		else {
			var url = $(".logo_menu button.active").attr("rel");
		}

		//var url = $(".logo_menu button.active").attr("rel");
	}
	//klik na button
	else {
		var url = button.attr("rel").replace('http://', '');				
	}


	if (query != '') {

		$("#logo").hide();

		//$("#logo_form_holder").attr("class", "horizont");
		$("#logo_form_holder").removeClass("horizont").addClass("horizont");

		if ($.browser.msie) {
			$("#logo_form_holder.horizont .td_1").show();
		}

		$("#pretraga_help").hide();

		searchControl.execute(query);

		var query_radnje = query;
		if (url != 'www.google.com') {
			query_radnje += " site:"+url;						
		}

		$("#gs_iframe").attr('src', 'http://www.google.rs/search?q='+query_radnje);		

		if (button != undefined) {
			$(".logo_menu button").removeClass("active");
			button.addClass("active");
		}
		else {
			if (url == 'www.google.com') {
				$(".logo_menu button:first").addClass("active");
			}
		}

		$("tr.firma_info").hide();

		if ($.browser.msie) {
			$("#gs_results").show();
			$("tr#"+url.replace(/\./g, '').replace('http://', '')).show();
		}
		else {
			$("#gs_results").css('display', 'table');
			$("tr#"+url.replace(/\./g, '').replace('http://', '')).css('display', 'table-row');
		}

		var post_data = 'q='+$("#keyword").val()+'&f='+$(".logo_menu .active").attr('rel');

		//ajax save search
		$.ajax({
			type: "POST",
			url: "/ajax/save_query.php",
			data: post_data,
			success: function(msg) {
				//alert(msg);
			}
		});

	}
	else {
		$("#keyword").focus();
	}


}


$(document).ready(
	function(){

		$("#keyword").focus();

		$(".logo_menu button").bind("click", function() {
			gSearch($("#keyword").val(), $(this));
		});
/*
		$("#keyword").bind("click", function() {
			if ($(this).val() == "Unesi naziv proizvoda") {
				$(this).val("");
			}
		});
*/
		$("form#pretraga").submit(function() {
			gSearch($("#keyword").val());
			return false;
		});


		//crtamo prvu mapu
		var kojiGrad = $("#gradovi li.ld_active");
		
		if (kojiGrad.length > 0) {
			var isOne = $("#firma_slug").val() != '';
			var zoom = 15;
			var smaller = false;

			if (isOne) {
				zoom = 15;
				smaller = true;
			}
			else {
				if (kojiGrad.text() == "Beograd") {
					zoom = 13;
				}
			}

			if (smaller){
				$("#map_canvas").css("height", "450px");
			}

			//var koordinate = kojiGrad.attr("rel").split("|");
			eval('var koordinate = '+kojiGrad.attr("rel"));
			//alert(koordinate);
			drawMap(koordinate, zoom);
		}

		$("#gradovi li").bind("click", function() {
			//var koordinate = $(this).attr("rel").split("|");
			eval('var koordinate = '+$(this).attr("rel"));

			var isOne = $("#firma_slug").val() != '';

			var zoom = 15;
			var smaller = false;

			if (isOne) {
				zoom = 15;
				smaller = true;
			}
			else {
				if ($(this).text() == "Beograd") {
					zoom = 13;
				}
			}

			if (smaller){
				$("#map_canvas").css("height", "450px");
			}

			drawMap(koordinate, zoom);
			$("#gradovi li").removeClass("ld_active");
			$(this).addClass("ld_active");
		});

		$("body").bind("unload", function() {
			GUnload();
		});

});

//]]>
