var active_div = 0;
var active_region = '';
var reversed = 0;

$(document).ready(function(){
	
	//$("#home").click()
});

function login_button_click() {
	if($("#login_form").css("visibility")=="hidden") {
		$("#login_form").css("visibility","inherit");
	} else {
		$.ajax({  
		type: "POST", url: '/login_ajax', data: 'username='+cEscape($("#username_login").val()) + '&password='+cEscape($("#password_login").val()), contentType: "application/x-www-form-urlencoded; charset=utf-8",
		complete: function(data){
			if (data.responseText != "0"){
				$("#login_name").html("Hello "+data.responseText+"!");
				$("#login_name").css("display","block");
				$("#login_fields").toggle();
				$("#login").toggle();
				$("#register").toggle();
				$("#logout").toggle();
			} else {
				 $("#feedback_login").val("Invalid username or password");
			}
		}});
	}
		//$("#login_form").css("visibility","hidden");
}

function logout_button_click() {
	$.ajax({  
		type: "POST", url: '/logout_ajax', contentType: "application/x-www-form-urlencoded; charset=utf-8",
		complete: function(data){
			$("#login_name").html("");
			$("#login_fields").toggle();
			$("#username_login").val("username");
			$("#username_login").removeClass("has_text");
			$("#login").toggle();
			$("#register").toggle();
			$("#logout").toggle();
		}});
}

function onFocus_login_fields(text) {
	if($("#"+text+"_login").val() == text) {
		$("#"+text+"_login").val("");
		$("#"+text+"_login").addClass("has_text");
	}
}

function focusOut_login_fields(text) {

	if($("#"+text+"_login").val() == "") {
		$("#"+text+"_login").val(text);
		$("#"+text+"_login").removeClass("has_text");
	}
}

function onFocus_search_fields() {
	if($("#search_keyword").val() == "Search") {
		$("#search_keyword").val("");
	}
}

function focusOut_search_fields() {

	if($("#search_keyword").val() == "") {
		$("#search_keyword").val("Search");
	}
}

function subcategories (category)
{
	active_div = 0;
	if(category == '')
	{
		window.location.href = "directory";
	}
	//alert(category);
	$(".subcategory_container").fadeOut('fast');
	$(".subcategory_container").css("display", "none");
	$("#subcategory_holder_"+category).fadeIn('fast');
	$(".categories").removeClass('clicked_cat').addClass('categories');
	$("#cat_"+category).addClass('clicked_cat');
	$(".scroller").css("display", "none");
	active_div = 0;
   	if($("#scroller"+category).length > 0)
   	{
   		$("#scroller"+category).css("display", "block");
   		scroll_left(category)
   	}
   

}

function scroll_left (category)
{	
	$(".sub_piece").fadeOut("fast")
	$("#subcategory_holder_"+category).find("#sub_piece_"+active_div).delay(200).fadeIn("fast");
	active_div++;
	if($("#sub_piece_"+active_div).length == 0)
	{
		active_div = 0;
	}
}

function setRegion (region, category, subcategory)
{
	var region_num = region.slice(7);
	active_region = region_num;
	if(category == -1) category = "all";
	if(subcategory == -1) subcategory = "all";
	window.location.href = "http://www.taiwanease.com/directory/"+category+"/"+subcategory+"/"+active_region;
}

function directoryPath (category, subcategory)
{
	
	window.location.href = "http://www.taiwanease.com/directory/"+category+"/"+subcategory+"/"+active_region;

}

function branch_az_sort (establishment)
{
	$("#top_sort").removeClass("active_sort");
	$("#top_sort_arrow").css("display", "none");
	$("#az_sort").addClass("active_sort");
	$("#az_sort_arrow").css("display", "block");
	reversed -= 1;
	reversed *= -1;
	$.ajax({  
		type: "POST", url: '/branch_az_sort', data: "establishment="+establishment+"&reversed="+reversed,
		complete: function(data){
		
			var htmlbuffer = '';
			var x = 0;
			var decoded_listings = $.parseJSON(data.responseText);
			
			while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
			{
				htmlbuffer += "<div id = 'directory_entry_"+x+"' class = 'directory_entry'><div id = 'directory_title_"+x+"' class = 'directory_title'><a rel = 'http://taiwanease.com/listing/"+decoded_listings[x]['id']+"' href='/listing/"+decoded_listings[x]['id']+"/"+decoded_listings[x]['uri_name']+"'>"+decoded_listings[x]['branch_title']+"</a></div><div id = 'directory_address_"+x+"' class='directory_address'>"+decoded_listings[x]['street_Address']+"</div><div id = 'stars_"+x+"' class='stars' rel='"+decoded_listings[x]['id']+"'><div id = 'rating_text'>Overall rating: </div><div id = 'star1' class='gray_star rating'></div><div id = 'star2' class='gray_star rating'></div><div id = 'star3' class='gray_star rating'></div><div id = 'star4' class='gray_star rating'></div><div id = 'star5' class='gray_star rating'></div><div id = 'feedback'></div></div><div id = 'directory_divider'></div></div>";
				
				//setLocalRating(x, decoded_listings[x]['rating']);
				x++;
			
			}
			$("#directory_entries").html(htmlbuffer);
			x = 0;
		while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
		{
			setLocalRating(x, decoded_listings[x]['rating']);
			x++;
		}
		
		}
		
	});
}

function tag_az_sort (tag)
{
	$("#top_sort").removeClass("active_sort");
	$("#top_sort_arrow").css("display", "none");
	$("#az_sort").addClass("active_sort");
	$("#az_sort_arrow").css("display", "block");
	reversed -= 1;
	reversed *= -1;
	$.ajax({  
		type: "POST", url: '/tag_az_sort', data: "tag="+tag+"&reversed="+reversed,
		complete: function(data){
		
			var htmlbuffer = '';
			var x = 0;
			var decoded_listings = $.parseJSON(data.responseText);
			
			while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
			{
				htmlbuffer += "<div id = 'directory_entry_"+x+"' class = 'directory_entry'><div id = 'directory_title_"+x+"' class = 'directory_title'><a rel = 'http://taiwanease.com/listing/"+decoded_listings[x]['id']+"' href='/listing/"+decoded_listings[x]['id']+"/"+decoded_listings[x]['uri_name']+"'>"+decoded_listings[x]['branch_title']+"</a></div><div id = 'directory_address_"+x+"' class='directory_address'>"+decoded_listings[x]['street_Address']+"</div><div id = 'stars_"+x+"' class='stars' rel='"+decoded_listings[x]['id']+"'><div id = 'rating_text'>Overall rating: </div><div id = 'star1' class='gray_star rating'></div><div id = 'star2' class='gray_star rating'></div><div id = 'star3' class='gray_star rating'></div><div id = 'star4' class='gray_star rating'></div><div id = 'star5' class='gray_star rating'></div><div id = 'feedback'></div></div><div id = 'directory_divider'></div></div>";
				
				//setLocalRating(x, decoded_listings[x]['rating']);
				x++;
			
			}
			$("#directory_entries").html(htmlbuffer);
			x = 0;
		while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
		{
			setLocalRating(x, decoded_listings[x]['rating']);
			x++;
		}
		
		}
		
	});
}

function az_sort (region, category, subcategory)
{
	$("#top_sort").removeClass("active_sort");
	$("#top_sort_arrow").css("display", "none");
	$("#az_sort").addClass("active_sort");
	$("#az_sort_arrow").css("display", "block");
	reversed -= 1;
	reversed *= -1;
	$.ajax({  
		type: "POST", url: '/az_sort', data: "reversed="+reversed+"&region="+region+"&category="+category+"&subcategory="+subcategory,
		complete: function(data){
	
	var htmlbuffer = '';
	var x = 0;
	var decoded_listings = $.parseJSON(data.responseText);
	
	
	while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
	{
	
		if(decoded_listings[x]['total_branches'] > 1) {

			htmlbuffer += "<div id = 'directory_entry_"+x+"' class = 'directory_entry'><div id = 'directory_title_"+x+"' class = 'directory_title'><a rel = 'http://taiwanease.com/branch_list/"+decoded_listings[x]['establishment_ID']+"' href='/branch_list/"+decoded_listings[x]['establishment_ID']+"/"+decoded_listings[x]['uri_name']+"'>"+decoded_listings[x]['establishment_name']+"</a></div><div id = 'directory_description_"+x+"' class = 'directory_description'>"+decoded_listings[x]['subtitle']+"</div><div id = 'directory_address_"+x+"' class='directory_address'></div><div id = 'stars_"+x+"' class='stars' rel='"+decoded_listings[x]['id']+"'><div id = 'rating_text'>Overall rating: </div><div id = 'star1' class='gray_star rating'></div><div id = 'star2' class='gray_star rating'></div><div id = 'star3' class='gray_star rating'></div><div id = 'star4' class='gray_star rating'></div><div id = 'star5' class='gray_star rating'></div><div id = 'rating_count' style = 'margin-left: 5px; color: #555555; float: left;'>Votes: "+decoded_listings[x]['votes']+"</div><div id = 'feedback'></div></div><div id = 'directory_divider'></div></div>";
		}
		else
		{

			htmlbuffer += "<div id = 'directory_entry_"+x+"' class = 'directory_entry'><div id = 'directory_title_"+x+"' class = 'directory_title'><a rel = 'http://taiwanease.com/listing/"+decoded_listings[x]['id']+"' href='/listing/"+decoded_listings[x]['id']+"/"+decoded_listings[x]['uri_name']+"'>"+decoded_listings[x]['branch_title']+"</a></div><div id = 'directory_description_"+x+"' class = 'directory_description'>"+decoded_listings[x]['subtitle']+"</div><div id = 'directory_address_"+x+"' class='directory_address'>"+decoded_listings[x]['street_Address']+"</div><div id = 'stars_"+x+"' class='stars' rel='"+decoded_listings[x]['id']+"'><div id = 'rating_text'>Overall rating: </div><div id = 'star1' class='gray_star rating'></div><div id = 'star2' class='gray_star rating'></div><div id = 'star3' class='gray_star rating'></div><div id = 'star4' class='gray_star rating'></div><div id = 'star5' class='gray_star rating'></div><div id = 'rating_count' style = 'margin-left: 5px; color: #555555; float: left;'>Votes: "+decoded_listings[x]['votes']+"</div><div id = 'feedback'></div></div><div id = 'directory_divider'></div></div>";
		}
		
		x++;
		
	
	
	}
	$("#directory_entries").html(htmlbuffer);
	x = 0;
	while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
	{
		setLocalRating(x, decoded_listings[x]['rating']);
		x++;
	}
	//alert(htmlbuffer);
	
	$(".rating").mouseover (function(){
   
   		var stars = $(this).attr('id').slice(4);
   		var x = 1;
   		
   		while(x <= stars)
   		{
   			$(this).parent().children("#star"+x).removeClass("gray_star").addClass("blue_star");
   			x++;
   		}
   		while(x <= 5)
   		{
   			$(this).parent().children("#star"+x).removeClass("blue_star").addClass("gray_star");
   			x++;
   		}
   
   	});
   	
   	$(".rating").mouseout (function(){
   		
   		$(this).parent().children(".rating").removeClass("blue_star").addClass("gray_star");
   		$(this).parent().children(".rated").removeClass("gray_star").addClass("blue_star");
   
   	});
   	
   	
   	
   	$(".rating").click (function (){
   		
   		var stars = $(this).attr('id').slice(4);
   		var branch = $(this).parent().attr('rel');
   		//alert(branch);
   		$(this).parent().children("#feedback").text("Rating set!");
   		var rating_target = $(this).parent().attr('id');
   		var datastring = 'branch='+branch+"&stars="+stars;
   		if (rating_target == "food_stars" || rating_target == "value_stars" || rating_target == "service_stars")
   		datastring += "&type="+rating_target;
   		//alert($(this).parent().children("#star"+stars).attr('id'));
   		$.ajax({  
		type: "POST", url: 'http://www.taiwanease.com/setRating', data: datastring,	
		complete: function(data){
			if(isNaN(data.responseText))
			{
				alert(data.responseText);
			}
			else
			{
				var stars = data.responseText;
				x = 1;
				var y = 1;
				//while (y <= 5)
				//{
					$("#"+rating_target).children("#star1").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star2").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star3").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star4").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star5").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					
					//alert($(this).attr('id'));
				//	y++;
				//}
				while (x <= stars)
				{
					$("#"+rating_target).children("#star"+x).addClass("rated").removeClass("gray_star").addClass("blue_star");
					//alert($(this).attr('id'));
					x++;
				}
			}
			}
		});
		
   		
   	});
	}
	});
}

function top_sort (region, category, subcategory)
{
	$("#top_sort").addClass("active_sort");
	$("#top_sort_arrow").css("display", "block");
	$("#az_sort").removeClass("active_sort");
	$("#az_sort_arrow").css("display", "none");
	
	$.ajax({  
		type: "POST", url: '/top_sort', data: "region="+region+"&category="+category+"&subcategory="+subcategory,
		complete: function(data){
	
	var htmlbuffer = '';
	var x = 0;
	var decoded_listings = $.parseJSON(data.responseText);
	
	
	while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
	{
	
		if(decoded_listings[x]['total_branches'] > 1) {

			htmlbuffer += "<div id = 'directory_entry_"+x+"' class = 'directory_entry'><div id = 'directory_title_"+x+"' class = 'directory_title'><a rel = 'http://taiwanease.com/branch_list/"+decoded_listings[x]['establishment_ID']+"' href='/branch_list/"+decoded_listings[x]['establishment_ID']+"/"+decoded_listings[x]['uri_name']+"'>"+decoded_listings[x]['establishment_name']+"</a></div><div id = 'directory_description_"+x+"' class = 'directory_description'>"+decoded_listings[x]['subtitle']+"</div><div id = 'directory_address_"+x+"' class='directory_address'></div><div id = 'stars_"+x+"' class='stars' rel='"+decoded_listings[x]['id']+"'><div id = 'rating_text'>Overall rating: </div><div id = 'star1' class='gray_star rating'></div><div id = 'star2' class='gray_star rating'></div><div id = 'star3' class='gray_star rating'></div><div id = 'star4' class='gray_star rating'></div><div id = 'star5' class='gray_star rating'></div><div id = 'rating_count' style = 'margin-left: 5px; color: #555555; float: left;'>Votes: "+decoded_listings[x]['votes']+"</div><div id = 'feedback'></div></div><div id = 'directory_divider'></div></div>";
		}
		else
		{

			htmlbuffer += "<div id = 'directory_entry_"+x+"' class = 'directory_entry'><div id = 'directory_title_"+x+"' class = 'directory_title'><a rel = 'http://taiwanease.com/listing/"+decoded_listings[x]['id']+"' href='/listing/"+decoded_listings[x]['id']+"/"+decoded_listings[x]['uri_name']+"'>"+decoded_listings[x]['branch_title']+"</a></div><div id = 'directory_description_"+x+"' class = 'directory_description'>"+decoded_listings[x]['subtitle']+"</div><div id = 'directory_address_"+x+"' class='directory_address'>"+decoded_listings[x]['street_Address']+"</div><div id = 'stars_"+x+"' class='stars' rel='"+decoded_listings[x]['id']+"'><div id = 'rating_text'>Overall rating: </div><div id = 'star1' class='gray_star rating'></div><div id = 'star2' class='gray_star rating'></div><div id = 'star3' class='gray_star rating'></div><div id = 'star4' class='gray_star rating'></div><div id = 'star5' class='gray_star rating'></div><div id = 'rating_count' style = 'margin-left: 5px; color: #555555; float: left;'>Votes: "+decoded_listings[x]['votes']+"</div><div id = 'feedback'></div></div><div id = 'directory_divider'></div></div>";
		}
		
		x++;
		
	
	
	}
	$("#directory_entries").html(htmlbuffer);
	x = 0;
	while(decoded_listings[x] != null && decoded_listings[x]['id'] != '')
	{
		setLocalRating(x, decoded_listings[x]['rating']);
		x++;
	}
	//alert(htmlbuffer);
	
	$(".rating").mouseover (function(){
   
   		var stars = $(this).attr('id').slice(4);
   		var x = 1;
   		
   		while(x <= stars)
   		{
   			$(this).parent().children("#star"+x).removeClass("gray_star").addClass("blue_star");
   			x++;
   		}
   		while(x <= 5)
   		{
   			$(this).parent().children("#star"+x).removeClass("blue_star").addClass("gray_star");
   			x++;
   		}
   
   	});
   	
   	$(".rating").mouseout (function(){
   		
   		$(this).parent().children(".rating").removeClass("blue_star").addClass("gray_star");
   		$(this).parent().children(".rated").removeClass("gray_star").addClass("blue_star");
   
   	});
   	
   	
   	
   	$(".rating").click (function (){
   		
   		var stars = $(this).attr('id').slice(4);
   		var branch = $(this).parent().attr('rel');
   		//alert(branch);
   		$(this).parent().children("#feedback").text("Rating set!");
   		var rating_target = $(this).parent().attr('id');
   		var datastring = 'branch='+branch+"&stars="+stars;
   		if (rating_target == "food_stars" || rating_target == "value_stars" || rating_target == "service_stars")
   		datastring += "&type="+rating_target;
   		//alert($(this).parent().children("#star"+stars).attr('id'));
   		$.ajax({  
		type: "POST", url: 'http://www.taiwanease.com/setRating', data: datastring,	
		complete: function(data){
			if(isNaN(data.responseText))
			{
				alert(data.responseText);
			}
			else
			{
				var stars = data.responseText;
				x = 1;
				var y = 1;
				//while (y <= 5)
				//{
					$("#"+rating_target).children("#star1").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star2").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star3").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star4").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					$("#"+rating_target).children("#star5").removeClass("rated").removeClass("blue_star").addClass("gray_star");
					
					//alert($(this).attr('id'));
				//	y++;
				//}
				while (x <= stars)
				{
					$("#"+rating_target).children("#star"+x).addClass("rated").removeClass("gray_star").addClass("blue_star");
					//alert($(this).attr('id'));
					x++;
				}
			}
			}
		});
		
   		
   	});
	}
	});

}

function cEscape(str){
	str = str.replace("&",escape("&"));
	str = str.replace("+",escape("+"));
	str = str.replace("'",escape("'"));
	str = str.replace('"',escape('"'));
	str = str.replace('¡',"");
	return str;
	
}
