var cheddr_homepage;
if(!cheddr_homepage)
{
	cheddr_homepage = {};
}

cheddr_homepage.connects = {
		facebook:function(){
			var u=location.href;
			var t=document.title;
			window.open('http://www.facebook.com/sharer.php?u='+
				encodeURIComponent(u)+'&t='+
				encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;
		},
		twitter:function(){
			var url="http://twitter.com/home?source=twitterremote&status=";
			var message = encodeURIComponent("Check out 20 Decibels, a forum that let you connect with your favorite Brands on Twitter. http://www.20dbs.com/")
			window.open(url+message); return false;
		}
}

cheddr_homepage.ajax = {
	options:{
		dataType:"json",
		timeout:10000,
		error:function(){alert("there has been an error retrieving data from the server!")}
	}
}

cheddr_homepage.cache = {};

$(function(){
	
	// attaching sharing features
	(function(){
		var area = $("#a_shareThisSite");
		var facebook = area.find("a.facebook");
		var twitter = area.find("a.twitter");
		
		facebook.click(function(){
			cheddr_homepage.connects.facebook();
		});
		
		twitter.click(function(){
			cheddr_homepage.connects.twitter();			
		});
	})();
	// END:attaching sharing features
	
	// hooking up the suggest a product area
	(function(){
		var area = $("#a_suggestion")
		var form = area.find("form");
		var submit = form.find("input.submit");
		
		submit.click(function(e){
			e.preventDefault();
			var data = {
				name:form.find("input#company_name").val(),
				url:form.find("input#twitter_url").val(),
				category:form.find("select#category").val()
			}
			//console.dir(data);
			ajax_options = cheddr_homepage.ajax.options;
			ajax_options.data = data;
			ajax_options.url = "/suggest_product.json";
			ajax_options.success = show_success_message;
			$.ajax(ajax_options);

			function show_success_message(response)
			{
				if(response.success)
				{
					var facebook_link = "<a class='facebook' href='javascript:;'>send to facebook</a>";
					var twitter_link = "<a class='twitter' href='javascript:;'>tweet this</a>";
					var message = "<div class='notice'>Your suggestion " +
						"has been received and will be reviewed by our staff" +
						" and added to this site if it qualifies. Thank you " +
						"for your suggestion. In the mean time, why not share" +
						" this site with your friends? " + facebook_link + " | " + twitter_link + " </div>";
					
					area.find(".swap").remove();
					area.find(".ap_s").append(message).css("paddingBottom","15px");

					area.find(".facebook").click(function(){
						cheddr_homepage.connects.facebook();						
					});					
					area.find(".twitter").click(function(){
						cheddr_homepage.connects.twitter();									
					});	


				}
			}

			return false;
		});
		
	})();
	// END:hooking up the suggest a product area
	
	//attaching brands pop-up
	(function(){
		var container = $("#a_top10Brands");
		var brands = container.find(".a_brand");
		brands.each(function(){
			var t = $(this);
			var popup_content = t.find(".a_pc");
			var trigger = t.find(".visit");
			var offset = {
				left:10,
				top:25,
			}
			
			if (popup_content.length==1)
			{
				trigger.click(function(e){
					var D = $(document);
					var position = trigger.offset();
					var popup_container = "";
					if (!cheddr_homepage.cache.popup_container)
					{
						popup_container = $("<div class='c_popup'></div>");
						cheddr_homepage.cache.popup_container = popup_container;
					}
					else
					{
						popup_container = cheddr_homepage.cache.popup_container;
						popup_container.html("");
					}
					popup_container.html(popup_content.clone());
					popup_container.append($("<b class='arrow'>&nbsp;</b>"));
					popup_container.css({
						left:position.left + offset.left,
						top:position.top + offset.top,
						position:"absolute"
					});
					$("body").append(popup_container);
					
          e.stopPropagation();
          D.one("click", function() {
              popup_container.remove();
          });
          D.bind("keyup.popup", function(e) {
              if (e.which == 27) {
	              popup_container.remove();
              }
          });

          popup_container.click(function(e) {
              if (e.target.tagName.toLowerCase() != "a") {
                  e.stopPropagation();
              }
          });

					return false;
				});
			}
		});
	})();
	//END:attaching brands pop-up
});