﻿
function MyRecipeBox () {
    var _cUSERID = 'PorkUser';
    var _cOptions = { path: '/', expires: 10 };
    var _cDeleteOptions = { path: '/', expires: 10 };
    
    this.RecipeBoxRetrieve = RecipeBoxRetrieve;
    this.AddRecipe = AddRecipe;
    this.AddRecipes = AddRecipes;
    this.RemoveRecipe = RemoveRecipe;
    this.UserIDCookieSet = UserIDCookieSet;
    this.UserIDCookieRemove = UserIDCookieRemove;
    



    function RecipeBoxRetrieve()
    {   
         Pork.PorkAjax.RecipeBoxRetrieve($.cookie(_cUSERID), '', RecipeBoxRetrieve_callback);
    }
    function RecipeBoxRetrieve_callback(res)
    {
        if (res.error)
            alert(res.error.Message);
        else
        {
            //set the user cookie
            UserIDCookieSet($(res.value).find('Data').attr('UserID'));
            var x = $(res.value).find('Recipes');
            $('#divRecipeBoxDetail').html(x.text());            
        }
    }

    function AddRecipe(recipeID)
    {   
        var a = new Array();
        a[0] = recipeID;        
        var r = BuildRecipeXML(a);        
        RecipeBoxAdd(r);
        //document.location.href = "AddRecipeConfirmation.aspx?height=100&width=200";
    }
    function AddRecipes(recipeArr)
    {   
        var a = new Array();
        a = recipeArr;
        var r = BuildRecipeXML(a);
        RecipeBoxAdd(r);
    }
    
    function RecipeBoxAdd(recipeXML)
    {
        Pork.PorkAjax.RecipeBoxRecipeAdd($.cookie(_cUSERID), '', recipeXML, AddRecipe_callback);
    }   
    function AddRecipe_callback(res)
    {
        if (res.error)
            alert(res.error.Message);
        else
        {
            //set the user cookie
            UserIDCookieSet($(res.value).find('Data').attr('UserID'));        
        }
    }
    
    function RemoveRecipe(recipeID)
    {
        var a = new Array();
        a[0] = recipeID;        
        var r = BuildRecipeXML(a);
        Pork.PorkAjax.RecipeBoxRecipeRemove($.cookie(_cUSERID), '', r, RemoveRecipe_callback);
    }
    function RemoveRecipe_callback(res)
    {
        if (res.error)
            alert(res.error.Message);
        else
        {
            //set the user cookie
            UserIDCookieSet($(res.value).find('Data').attr('UserID'));            
            var x = $(res.value).find('Recipes');
            $('#divRecipeBoxDetail').html(x.text());  
        }
    }
    
    function UserIDCookieSet(userID)
    {
        $.cookie(_cUSERID, userID, _cOptions);
    }
    function UserIDCookieRemove()
    {
        $.cookie(_cUSERID, null, _cOptions);
    }
    function BuildRecipeXML(recipeArray)
    {
        var x;
        x = '<Recipes>';
        for (var i = 0; i < recipeArray.length; i++)
        {
            x = x + '<Recipe ID="' + recipeArray[i] + '"/>';
        }
        x = x + '</Recipes>';
        return x;        
    }   
}