dojo.require("dojo.io");
dojo.require("dojo.event");
dojo.require("dojo.widget.ComboBox");
dojo.require("dojo.lfx.*");
if (navigator.userAgent.indexOf("Firefox") != -1) {
    dojo.require("dojo.debug.console");
}

// Popularity
function loadPopularityCloud(off) {
dojo.io.bind({
  url: '/ajax/bar/cloud/popularity/',
   method: 'POST',
   content: { bar_id: bar_id, offset: off },
   load: function(type,obj) {
       if (obj) {
          dojo.byId("popularityCloud").innerHTML = obj;
       }
   }
});
}
        
function handleAddFeatureButtonClick(evt) {
	//alert(dojo.byId("addNewFeature").value);
	dojo.io.bind({
		url: '/ajax/bar/add_feature/',
		method: 'POST',
		mimetype: 'text/javascript',
		content: { bar_id: bar_id, feature: dojo.widget.byId("featureComboBox").getValue() },
		load: function(type, obj) {
			if (obj) {
				// add the new feature to the DOM
				var feature_list = dojo.byId("feature_list");
				for (var x=0; x < obj.length; x++) {
					var link = document.createElement("a");
					link.href = "/feature/" + obj[x].fields.slug + "/";
					var newText = document.createTextNode(obj[x].fields.name);
					var newNode = document.createElement("li");
					link.appendChild(newText);
					newNode.appendChild(link);
					newNode.appendChild(document.createTextNode(", "));
					feature_list.appendChild(newNode);
				}
				dojo.widget.byId("featureComboBox").setValue("")
			} else {
				dojo.debug('there was an error');
			}
		},
		error: function(type, error) {
			alert(error.message);
		}
	});
}
function handleSetHomeBarButtonClick(evt) {
	dojo.io.bind({
		url: '/ajax/bar/set_home/',
		method: 'POST',
		mimetype: 'text/javascript',
		load: function(type, obj) {
			if (obj) {
				button = dojo.byId('set_home_bar_form');
				dojo.lfx.html.fadeHide(button, 1000, dojo.lfx.easeIn, function() {
					dojo.byId("home_bar").innerHTML = "<img src=\"/site_media/images/bullet_check.gif\" /> This is your home bar.";
				}).play();
			} else {
				alert('there was an error');
			}
		},
		error: function(type, error) {
			alert(error.message);
		},
		formNode: dojo.byId("set_home_bar_form")
	});
}
function handleSetVisitedBarButtonClick(evt) {
	dojo.io.bind({
		url: '/ajax/bar/set_visited/',
		method: 'POST',
		mimetype: 'text/javascript',
		load: function(type, obj) {
			if (obj) {
				button = dojo.byId('set_visited_bar_form');
				dojo.lfx.html.fadeHide(button, 1000, dojo.lfx.easeIn, function() {
					dojo.byId("visited_bar").innerHTML = "<img src=\"/site_media/images/bullet_check.gif\" /> You have visited this bar.";
				}).play();
			} else {
				alert('there was an error');
			}
		},
		error: function(type, error) {
			alert(error.message);
		},
		formNode: dojo.byId("set_visited_bar_form")
	});
}

function rateBar(rating) {
	var rating_form = dojo.byId("bar_rating_form");
	rating_form.rating.value = rating;
	dojo.io.bind({
		url: '/ajax/ratebar/',
	    method: 'POST',
		mimetype: 'text/json',
		formNode: rating_form,
	    load: function(type, obj) {
			if (obj['return']) {
				dojo.byId("ajax_rating").innerHTML = obj['html'];
			} else {
				dojo.debug('error');
				dojo.debug(obj);
			}
		},
		error: function(type, error) {
			dojo.debug(error.message);
		}
  	});
}

function init() {
	var addFeatureButton = dojo.byId("addFeatureButton");
	var setHomeBarButton = dojo.byId("set_home_bar_button");
	var setVisitedBarButton = dojo.byId("set_visited_bar_button");
	var popCloudDiv = dojo.byId("popularityCloud");
	if (addFeatureButton) {
		dojo.event.connect(addFeatureButton, "onclick", handleAddFeatureButtonClick);
	}
	if (setHomeBarButton) {
		dojo.event.connect(setHomeBarButton, "onclick", handleSetHomeBarButtonClick);
	}
	if (setVisitedBarButton) {
		 dojo.event.connect(setVisitedBarButton, "onclick", handleSetVisitedBarButtonClick);
	}
        if (popCloudDiv) { loadPopularityCloud(0); }
}
dojo.addOnLoad(init);

