// Global window.open options
var windowOptions = 'directories=no;fullscreen=no,location=no,menubar=no,resizable=yes,status=yes,titlebar=yes,toolbar=no,height=770,width=615';

function newWindow() {
    // test links with rel of external
    var $external = $('a[rel="external"]').newWindow();
    var numTargetBlanks = 0;
    $external.each(function() {
        if (this.target = "_blank") numTargetBlanks++;
    });
}

function popRecipeWindow() {
    $('a.recipe-pop').popup({ width: 420, height: 600 });
}

function popProductWindow() {
    $('a.product-pop').popup({ width: 1010, height: 600 });
}

function dropDownMenus()
{
    $('.dropdown-trigger').mouseenter(function()
	{
		$(this).children('.dropdown').show();
	}).mouseleave(function()
	{
		$(this).children('.dropdown').hide();
	})
}

function popUpButton()
{
	$('#sign-up-now-btn, .print-now-btn, .sign-in-btn, .pop-up-btn').popup({ width: 608, height: 750 });
	$('.pop-up-btn-big-win').popup({ width: 850, height: 600 });
	
	$('.sign-in-btn').click(function(e){ e.preventDefault() });
}

function callProductRatings(type){
	$('.star-product').rating({ 
		focus: function(value, link){ 
				var tip = $('span.rating-link'); 
				tip[0].data = tip[0].data || tip.html(); 
				tip.html(link.title || 'value: '+value); 
				}, 
		blur: function(value, link){ 
				var tip = $('span.rating-link'); 
				$('span.rating-link').html(tip[0].data || ''); 
			},
		callback: function(value, link){ 
			var productid = parseInt($('input#product-id').val());
			var rating = '';
			rating = $.toJSON(rating);
			
			$.ajax({
			    url: '/products/RateProduct/' + productid + '/' + value,
			    type: 'POST',
			    data: rating,
			    dataType: 'JSON',
			    contentType: "application/json; charset=utf-8",
			    success: handleRatedProduct
			});
		} 
	});
	
	$('span.star-rating-control').hide();
	$('span.rating-link > a').click(function(e){
		e.preventDefault();
		$('div.rating-average').hide();
		$('span.star-rating-control').show();
	});
}

function handleRatedProduct(data)
{
	var returnObj = $.evalJSON(data);
	
	var totalRatings = returnObj.Result['ResultPackets'][0];
	
	if(returnObj.Result['ReturnCode'] == 1)
	{
		$('.star-product').rating('disable');
		$('span.rating-link').hide();
		$('span#thank-you-hidden').show();
		if(totalRatings == 1)
		{
			$('span.rating-title').html(totalRatings + " RATING " + "|");
		}
		else
		{
			$('span.rating-title').html(totalRatings + " RATINGS " + "|");
		}
		
	}
	console.log("returnObj is " + returnObj);
	console.log(returnObj.Result);
	console.log("totalRatings is " + totalRatings);
} 

function callRecipeRatings(type){
	$('.star-recipe').rating({ 
		focus: function(value, link){ 
				var tip = $('span.rating-link'); 
				tip[0].data = tip[0].data || tip.html(); 
				tip.html(link.title || 'value: '+value); 
				}, 
		blur: function(value, link){ 
				var tip = $('span.rating-link'); 
				$('span.rating-link').html(tip[0].data || ''); 
			},
		callback: function(value, link){ 
			var recipeid = parseInt($('input#recipe-id').val());
			var rating = '';
			rating = $.toJSON(rating);
			
			$.ajax({
			    url: '/products/RateRecipe/' + recipeid + '/' + value,
			    type: 'POST',
			    data: rating,
			    dataType: 'JSON',
			    contentType: "application/json; charset=utf-8",
			    success: handleRatedRecipe
			});
		} 
	});
	
	$('span.star-rating-control').hide();
	$('span.rating-link > a').click(function(e){
		e.preventDefault();
		$('div.rating-average').hide();
		$('span.star-rating-control').show();
	});
}

function handleRatedRecipe(data)
{
	var returnObj = $.evalJSON(data);
	
	var totalRatings = returnObj.Result['ResultPackets'][0];
	
	if(returnObj.Result['ReturnCode'] == 1)
	{
		$('.star-recipe').rating('disable');
		$('span.rating-link').hide();
		$('span#thank-you-hidden').show();
		if(totalRatings == 1)
		{
			$('span.rating-title').html(totalRatings + " RATING " + "|");
		}
		else
		{
			$('span.rating-title').html(totalRatings + " RATINGS " + "|");
		}
		
	}
	console.log("returnObj is " + returnObj);
	console.log(returnObj.Result);
	console.log("totalRatings is " + totalRatings);
} 

$(document).ready(function()
{
	dropDownMenus();
	newWindow();
	popRecipeWindow();
	popProductWindow();
	callProductRatings();
	callRecipeRatings();
	popUpButton();
})

function CheckUserAuthentication()
{
    var userLoggedIn = false;
    
        var postData = $.toJSON('checkauth');
        $.ajax({
                url: '/Account/CheckUserAuthentication/',
                type: 'POST',
                data: postData,
                dataType: 'JSON',
                contentType: "application/json; charset=utf-8",
                success: function(data)
                {
                    var returnObject = $.evalJSON(data);
                    if(returnObject.Result['ReturnCode'] == 1)
                    {
                        userLoggedIn = true;
                    }
                }
            });
    
    
    return userLoggedIn;

}