var Across = {

    NewLink : '',

    toggle : function(point) {

        var points = document.getElementsByClassName('sub-menu');
        
        for (i=0;i<points.length;i++) 
        {
            if (points[i].id != point)
            {
                points[i].style.display = 'none';
            }
        }

        $(point).toggle();
        return false;
    },

    getLoginForm : function ()
    {
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'users.getloginform'   
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body
                    });
                }
            }
        );
    },

    doLogin : function (thisform) 
    {
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=users.gologin&'+$(thisform).serialize(),
                onComplete: function (request){

                    eval("var Result = " + request.responseText);

                    if (Result.errors == 1)
                    {
                        $('login-message').innerHTML = Result.message;
                    }
                    else 
                    {
                        if (Across.NewLink != '')
                        {
                            window.location = Across.NewLink;
                        }
                        else
                        {
                            window.location.reload();
                        }
                    }
                }
            }
        ); 
    },

    sendM : function (thisFom)
    {
        Across.actualForm = thisFom;
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: 'Func=contacts.sendMessage&'+$(thisFom).serialize(),
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    if (Result.error)
                    {
                        Object.keys(Result.items).each(function(s, index) {
                            $(s).value = Result.items[s];
                        });
                    }
                    else
                    {
                        alert(Result.message);
                        $(Across.actualForm).reset();
                    }
                }
            }
        ); 
    },

	showItem : function (id)
	{
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'products.showproduct',
					Id   : id
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body,
						Url   : Result.Url
                    });
                }
            }
        );
	},

	showCategory : function (id)
	{
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'products.showcategory',
					Id   : id
                },
                onComplete: function (request){
                    eval("var Result = " + request.responseText);

                    dialogHandler.popup({
                        Title : Result.Title, 
                        Body  : Result.Body,
						Url   : Result.Url
                    });
                }
            }
        );
	},

	toogleFavo : function (item, id)
	{
		var reload = (arguments[2]) ? true : false;

        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func : 'products.tooglefavo',
					id   : id
                },
                onComplete: function (request){

                    eval("var Result = " + request.responseText);
					
					if (Result.error != 1)
					{
						$(item).title = Result.newtitle;

						if (reload)
						{
							Across.reload();
						}
					}

					if (Result.message)
					{
						alert(Result.message);
					}
                }
            }
        );
	},

	reload : function ()
	{
		window.location = window.location.href;
	},

	addBasket : function (id, amount)
	{
        new Ajax.Request(
            '/', {
                method: "post",
                parameters: {
                    Func   : 'products.addbasket',
					id     : id,
					amount : amount
                },
                onComplete: function (request){

                    eval("var Result = " + request.responseText);

					$('bottom-basket').innerHTML = Result.bottom;

					if (reload_needly == true)
					{
						Across.reload();
					}
					else
					{
						alert(Result.message);
					}
                }
            }
        );
	},

	checkNum : function (num)
	{
		if ($(num).value == $('page-num').value)
		{
			return true;
		}
	},

	checkPage : function (num)
	{
		if ($(num).value == $('page-check').value)
		{
			return true;
		}
	},

	doPager : function (num, check)
	{
		if (Across.checkNum(num) && Across.checkPage(check))
		{
			return true;
		}

		var to   = window.location.href.length;
		var from = window.location.href.search(/\?/);
		var paramstring = window.location.href.substring((from+1), to);

		var params    = paramstring.split('&');
		var newparams = new Array();

		var pagerset = false;
		var pagernum = false;

		for (var i=0;i<params.length;i++)
		{
			param = params[i].split('=');

			if (param[0] == 'page')
			{
				newparams[ newparams.length ] = param[0] +'=' + $(check).value;
				pagerset = true;
			}
			else if (param[0] == 'num')
			{
				newparams[ newparams.length ] = param[0] +'=' + $(num).value;
				pagernum = true;
			}
			else 
			{
				newparams[ newparams.length ] = param[0] +'=' + param[1];
			}
		}

		if (pagerset == false)
		{
			newparams[ newparams.length ] = 'page=' + $(check).value;
		}

		if (pagernum == false)
		{
			newparams[ newparams.length ] = 'num=' + $(num).value;
		}

		window.location = '?' + newparams.join('&');

		return false;
	},

	clearField : function (item)
	{
        $(item).value = '';
	},
	
	checkAll : function (id)
	{
		var elements = $(id).getElementsByTagName('input');
		
		for(var i=1; i<elements.length; i++)
		{
			elements[i].checked = $('all_'+id).checked == true ? true : false;
		}	
	}
	
};
