var AcrossUsers = {

    currentUser   : 0,
    currentRecipe : 0,

    getPassForm : function ()
    {
        dialogHandler.wait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'users.getpassform'   
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body
                    });
                }
            }
        ); 
    },

    doPassChange : function (thisform) 
    {
        dialogHandler.addWait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=users.dopasschange&'+$(thisform).serialize(),
                onComplete: function (request){

                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.errors == 1)
                    {
                        $('login-message').innerHTML = Result.message;
                    }
                    else 
                    {
                        dialogHandler.popup({
                            Title : Result.title, 
                            Body  : Result.message
                        });
                    }
                }
            }
        ); 
    },

    getMailForm : function ()
    {
        dialogHandler.wait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'users.getmailform'   
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body
                    });
                }
            }
        ); 
    },

    doMailChange : function (thisform) 
    {
        dialogHandler.addWait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=users.domailchange&'+$(thisform).serialize(),
                onComplete: function (request){

                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.errors == 1)
                    {
                        $('error-message').innerHTML = Result.message;
                    }
                    else 
                    {
                        dialogHandler.popup({
                            Title : Result.title, 
                            Body  : Result.message
                        });
                    }
                }
            }
        ); 
    },
    
    getMessageForm : function (to)
    {
        dialogHandler.wait();

        AcrossUsers.currentUser = (arguments[0]) ? arguments[0] : 0;
        answer = (arguments[1]) ? arguments[1] : 0;

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func   : 'users.getmessageform',
                    To     : AcrossUsers.currentUser,
                    Answer : answer
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

					if (Result.cantWrite == 1)
					{
						dialogHandler.alert({
							Title : Result.Title, 
							Body  : Result.Body
						});
					}
					else
					{
						dialogHandler.popup({
							Title : Result.Title, 
							Body  : Result.Body
						});
					}

                }
            }
        ); 
    },

    doMessage : function (thisform) 
    {
        if (AcrossUsers.currentUser == 0)
        {
            if ($('friend'))
            {
                AcrossUsers.currentUser = $F('friend');
            }
        }

        if (AcrossUsers.currentUser == 0)
        {
            dialogHandler.popup({
                Title : 'Üzenetküldés nem lehetséges', 
                Body  : 'Nincs ismerősöd, akit kiválaszthatnál, így nem tudsz üzenetet küldeni'
            });

            return false;
        }

        dialogHandler.addWait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=users.domessage&to='+AcrossUsers.currentUser+'&'+$(thisform).serialize(),
                onComplete: function (request){

                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.errors == 1)
                    {
                        alert(Result.message);
                    }
                    else 
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.message
                        });
                    }
                }
            }
        ); 
    },
       
    getImageList : function (to, html)
    {
        $(to).innerHTML = html.html;
    },
    
    deleteRecipeImage : function (id, recipe, to)
    {
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'recipes.upload.deleteimage',
                    Id   : id,
                    Recipe : recipe
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);
                    AcrossUsers.getImageList(to, Result);
                }
            }
        ); 
    },

    ConfirmLogout : function (item)
    {
        dialogHandler.dialog({
            Body : 'Valóban ki akarsz jelentkezni?',
            Func : function (answer)
            {
                if (answer == 'yes')
                {
                    window.location = item.href;
                }
            }
        });
    },

    getCommentForm : function (recipe)
    {
        dialogHandler.wait();
        AcrossUsers.currentRecipe = recipe;

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func        : 'recipes.view.getcommentform',
                    Recipe      : recipe
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body
                    });
                }
            }
        ); 
    },
       
    doCommentStore : function (thisform)
    {
        dialogHandler.addWait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.docommentstore&rec='+AcrossUsers.currentRecipe+'&'+$(thisform).serialize(),
                onComplete: function (request){

                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.errors == 1)
                    {
                        $('error-message').innerHTML = Result.message;
                    }
                    else 
                    {
                        window.location.reload();
                    }
                }
            }
        ); 
    },
    
    getArticleCommentForm : function (article)
    {
        dialogHandler.wait();
        AcrossUsers.currentArticle = article;

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func        : 'articles.details.getcommentform',
                    Article     : article
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body
                    });
                }
            }
        ); 
    },
    
    doArticleCommentStore : function (thisform)
    {
        dialogHandler.addWait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=articles.details.docommentstore&article='+AcrossUsers.currentArticle+'&'+$(thisform).serialize(),
                onComplete: function (request){

                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.errors == 1)
                    {
                        $('error-message').innerHTML = Result.message;
                    }
                    else 
                    {
                        window.location.reload();
                    }
                }
            }
        ); 
    },
    
    doMyCommentStore : function (thisform, id)
    {
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.domycommentstore&rec='+id+'&'+$(thisform).serialize(),
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
						
						return false;
                    }
                    if (Result.errors == 1)
                    {
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        $('mycomment_date').innerHTML = Result.Date;
                        $('mycomment_description').innerHTML = Result.Comment;
                        
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        ); 
    },

    Hamm : function (rec)
    {
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.dohamm&rec='+rec,
                onComplete: function (request){

                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    if (Result.errors == 1)
                    {
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        $('item-hams').innerHTML = Result.Hamms;

                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        );
    },

    toggleFavourite : function(item, link)
    {
        dialogHandler.wait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.dotogglefavourite&rec='+item,
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        /*
                        var items = document.getElementsByClassName('favourite-link');

                        for (i=0;i<items.length;i++)
                        {
                            $(items[i]).innerHTML = Result.Link;
                        }
                        */

                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body,
                            Func  : function () {
                                window.location.reload();
                            }
                        });
                    }
                }
            }
        ); 
    },

    toggleFavouriteItem : function(item, link)
    {
        dialogHandler.wait();

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.dotogglefavourite&disabletext=1&rec='+item,
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        $(link).innerHTML = Result.Link;

                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        ); 
    },

    getCommendatoryForm : function (item) 
    {
        dialogHandler.wait();
        AcrossUsers.currentRecipe = item;

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.getcommendatoryform&rec='+item,
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        ); 
    },

    doCommendatory : function (formElement)
    {
        dialogHandler.addWait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.view.docommendatory&rec='+AcrossUsers.currentRecipe+'&'+$(formElement).serialize(),
                onComplete: function (request){
                    
                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    if (Result.errors == 1)
                    {
                        $('error-message').innerHTML = Result.Body;
                    }
                    else 
                    {
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        ); 
    },

    getArticleCommendatoryForm : function (item) 
    {
        dialogHandler.wait();
        AcrossUsers.currentArticle = item;

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=articles.details.getcommendatoryform&article='+item,
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        ); 
    },

    doArticleCommendatory : function (formElement)
    {
        dialogHandler.addWait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=articles.details.docommendatory&article='+AcrossUsers.currentArticle+'&'+$(formElement).serialize(),
                onComplete: function (request){
                    
                    dialogHandler.removeWait();
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    if (Result.errors == 1)
                    {
                        $('error-message').innerHTML = Result.Body;
                    }
                    else 
                    {
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                }
            }
        ); 
    },

    getPrintWindow : function (url,width,height)
    {
		if ( !width ) width = '640';
		if ( !height ) height = '580';

	    var popupWin = window.open(url,'popupWin','width='+width+'px,height='+height+'px,left=100,top=100,menubar=no,status=no,toolbar=no,scrollbars=yes,resizable=no,screenX=100,screenY=100,directories=no,location=no');

		popupWin.focus();
        return false;
    },

    addToCart : function(ing)
    {
        dialogHandler.wait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'recipes.shoppingcart.addtocart',
                    ing  : ing                        
                },
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }

                }
            }
        ); 
    },

    getAddToCardMine : function(ing)
    {
        dialogHandler.wait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'recipes.shoppingcart.getaddtocardmine',
                    ing  : ing                        
                },
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body
                    });

                }
            }
        ); 
    },

    doAddToCardMine : function(thisform)
    {
        dialogHandler.wait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=recipes.shoppingcart.doaddtocardmine&'+$(thisform).serialize(),
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        dialogHandler.removeWait();
                        dialogHandler.alertClose();
/*
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
*/
                        $('shoppingcard-items').innerHTML = Result.Data;
                    }
                }
            }
        ); 
    },

    removeFromCart : function(ing)
    {
        dialogHandler.wait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'recipes.shoppingcart.removefromcart',
                    ing  : ing                        
                },
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        dialogHandler.removeWait();
                        dialogHandler.alertClose();
/*
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
*/
                        $('shoppingcard-items').innerHTML = Result.Data;
                    }
                }
            }
        ); 
    },

    removeFromCartMine : function(ing)
    {
        dialogHandler.wait();
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'recipes.shoppingcart.removefromcartmine',
                    ing  : ing                        
                },
                onComplete: function (request){
                    
                    eval("var Result = " + request.responseText);

                    if (Result.NeedLogin == 1)
                    {
                        dialogHandler.popup({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
                    }
                    else 
                    {
                        dialogHandler.removeWait();
                        dialogHandler.alertClose();
/*
                        dialogHandler.alert({
                            Title : Result.Title, 
                            Body  : Result.Body
                        });
*/
                        $('shoppingcard-items').innerHTML = Result.Data;
                    }
                }
            }
        ); 
    }

};