var WineLanding = function()
{
  //privat
	var currentVarietalChar = '2';
	var varietals = Array();
	var currentRegionChar = '2';
	var regions = Array();
	var currentWineryChar = 'A';
	var wineries = Array();

	var varietalDialogueContainer = "#varietalDialogueContainer";
	var varietalContainer = "#varietalContainer";
	var regionDialogueContainer = "#regionDialogueContainer";
	var regionContainer = "#regionContainer";
	var wineryDialogueContainer = "#wineryDialogueContainer";
	var wineryContainer = "#wineryContainer";
	var shade = "#shade";

	var GetVarietalCallback = function(response, status)
	{
		if (response.status = "OK")
		{
			if (response.data == null)
				varietals[this.char] = Array();
			else
				varietals[this.char] = response.data;
			WineLanding.ShowVarietal();
		}
	};
    
	var GetRegionCallback = function(response, status)
	{
		if (response.status = "OK")
		{
			if (response.data == null)
				regions[this.char] = Array();
			else
				regions[this.char] = response.data;
			WineLanding.ShowRegion();
		}
	};

	var GetWineryCallback = function(response, status)
	{
		if (response.status = "OK")
		{
			if (response.data == null)
				wineries[this.char] = Array();
			else
				wineries[this.char] = response.data;
			WineLanding.ShowWinery();
		}
	};

//public
return {
	Initialize: function()
	{
		varietalDialogueContainer = jQuery(varietalDialogueContainer);
		varietalContainer = jQuery(varietalContainer);
		regionDialogueContainer = jQuery(regionDialogueContainer);
		regionContainer = jQuery(regionContainer);
		wineryDialogueContainer = jQuery(wineryDialogueContainer);
		wineryContainer = jQuery(wineryContainer);
		shade = jQuery(shade);
	},

	FindVarietal: function()
	{
		$.ajax({
			url: "/catalog/ajax/varietal",
			type: "post",
			data: "&string=" + $('#varietal').val(),
			dataType: "json",
			success: function (r)
			{				r = eval(r);
				varietalContainer.empty();

				for (var i in r.data)
				{
					varietalContainer.append("<li style=\"padding-left: 3px;\"><a href=\"/catalog/varietal/" + r.data[i].seoName + "\">" + r.data[i].name + "</a></li>");
				}

				varietalDialogueContainer.show();
				shade.show();
			}

		});
	},

   
	ShowVarietal: function(char)
	{		if (char != undefined)
			currentVarietalChar = char;
		if (varietals[currentVarietalChar] == undefined)
		{
			varietals[currentVarietalChar] = "load";
			jQuery.ajax(
				{
					url: "/catalog/ajax/varietal",
					type: "post",
					data: "&char=" + currentVarietalChar,
					dataType: "json",
					char: currentVarietalChar,
					success: GetVarietalCallback
				});
		}
		else
		{
			if (varietals[currentVarietalChar] != "load")
			{
				varietalContainer.empty();
				for (var i in varietals[currentVarietalChar])
					varietalContainer.append("<li style=\"padding-left: 3px;\"><a href=\"/catalog/varietal/" + varietals[currentVarietalChar][i].seoName + "\">" + varietals[currentVarietalChar][i].name + "</a></li>");
				varietalDialogueContainer.show();
				shade.show();
			}
		}
	},

	HideVarietal: function()
	{
		varietalDialogueContainer.hide();
		shade.hide();
	},

	FindRegion: function()
	{
		//alert($('#region').val());
		$.ajax({
			url: "/catalog/ajax/region",
			type: "post",
			data: "&string=" + $('#region').val(),
			dataType: "json",
			success: function (r)
			{
				r = eval(r);
				regionContainer.empty();
				for (var i in r.data)
				{
					if(r.cor == '1') {
						regionContainer.append("<li style=\"padding-left: 3px;\"><a href=\"javascript:void(0);\" onclick=\"showhidediv('"+ r.data[i].id +"');\"> + </a><a href=\"/wines/country/" + r.data[i].seoName + "\">" + r.data[i].name + "</a><div id=\"div_"+r.data[i].id+"\" style=\"padding-left:15px; height:auto; display:none;\"></div></li>");
					}
					if(r.cor == '2') {
						regionContainer.append("<li style=\"padding-left: 3px;\"><a href=\"/catalog/region/" + r.data[i].name + "\">" + r.data[i].name + "</a></li>");
					}
					if(r.cor == '0') {
						regionContainer.append("<li style=\"padding-left: 3px;\"><a href=\"/catalog/subregion/" + r.data[i].name + "\">" + r.data[i].name + "</a></li>");
					}
				}

				regionDialogueContainer.show();
				shade.show();
			}

		});
	},
		
	ShowRegion: function(char)
	{       
			
			if (char != undefined)
		      currentRegionChar = char;
	         if (regions[currentRegionChar] == undefined)
		        {
				 regions[currentRegionChar] = "load";
				 jQuery.ajax(				
				 {
				  url: "/catalog/ajax/region",
				  type: "post",
				  data: "&char=" + currentRegionChar,
				  dataType: "json",
				  char: currentRegionChar,
				  success: GetRegionCallback
				 });
				  }
				  else
				  {
					if (regions[currentRegionChar] != "load")
						{
						regionContainer.empty();
					 //   var abc;
						for (var i in regions[currentRegionChar]){
					//	abc='';
//alert(regions[currentRegionChar][i].cregion);
					//	 for(var k in regions[currentRegionChar][i].cregion) 
					//	  { 
                      //        abc=regions[currentRegionChar][i].CRegion[k];
                      //    } 
						regionContainer.append("<li style=\"padding-left: 3px; white-space:nowrap;\"><a href=\"javascript: void(0);\" onclick=\"showhidediv("+regions[currentRegionChar][i].id+");\"><span id=\"c_"+regions[currentRegionChar][i].id+"\" style=\"width:10px;\">+ </span></a><a href=\"wines/country/" + regions[currentRegionChar][i].seoName + "\">" + regions[currentRegionChar][i].name + "</a><div style=\"height:auto; width:300px; padding-left:15px; display:none;\" id=\"div_"+regions[currentRegionChar][i].id+"\"></div></li>");				
					}
						regionDialogueContainer.show();
						shade.show();
						}
						}
		
		//regionDialogueContainer.show();
		//shade.show();
	},

	GetCountryRegion: function(divid)
	{       
			alert(divid);
			
	         
	},
	
	
	//ScrollToRegion: function(char)
	//{
	//	char = jQuery("#region_char_" + char)[0];
//		regionContainer[0].scrollTop = char.offsetTop - char.scrollHeight - 31;
//	},

	HideRegion: function()
	{
		regionDialogueContainer.hide();
		shade.hide();
	},

	FindWinery: function()
	{
		$.ajax({
			url: "/catalog/ajax/winery",
			type: "post",
			data: "&string=" + $('#winery').val(),
			dataType: "json",
			success: function (r)
			{
				r = eval(r);
				wineryContainer.empty();

				for (var i in r.data)
				{
					wineryContainer.append("<li style=\"padding-left: 3px;\"><a href=\"/catalog/winery/" + r.data[i].seoName + "\">" + r.data[i].name + "</a></li>");
				}

				wineryDialogueContainer.show();
				shade.show();
			}

		});
	},

	ShowWinery: function(char)
	{  
		if (char != undefined)
			currentWineryChar = (char == "+" ? "plus" : char);


		if (wineries[currentWineryChar] == undefined)
		{
			wineries[currentWineryChar] = "load";

			jQuery.ajax(
				{
					url: "/catalog/ajax/winery",
					type: "post",
					data: "&char=" + currentWineryChar,
					dataType: "json",
					char: currentWineryChar,
					success: GetWineryCallback
				});
		}
		else
		{
			if (wineries[currentWineryChar] != "load")
			{
				wineryContainer.empty();
				for (var i in wineries[currentWineryChar])
					wineryContainer.append("<li style=\"padding-left: 3px;\"><a href=\"/catalog/winery/" + wineries[currentWineryChar][i].seoName + "\">" + wineries[currentWineryChar][i].name + "</a></li>");
				wineryDialogueContainer.show();
				shade.show();
			}
		}
	},

	HideWinery: function()
	{
		wineryDialogueContainer.hide();
		shade.hide();
	}
};
}();


