﻿
$(document).ready(function()
{
	stylizer();
	set_events_handlers();
	
});

function hint (obj, text)
{
	$(obj).addClass('hint_once');
	$(obj).val(text);
	
	$(obj).click(function()
	{
		if ($(this).hasClass('hint_once'))
		{
			$(this).removeClass('hint_once');
			$(this).val('');
		}
		
	});
	
	$(obj).blur(function()
	{
		if ($(this).val() == '')
		{
			$(this).addClass('hint_once');
			$(obj).val(text);
		}
		
	});
	
}

function open_page (obj)
{
	var default_settings = { target: 'document', show_busy: true, success: false };
	var s = $.extend(true, {}, default_settings, obj);
	
	if (s['url'] == '') return false;
	
	if (s['switch_tab'])
	{
		var k = 0;
		$('#tabs > ul > li > a').each(function()
		{
			if ($(this).attr('href') == s['target'])
			{
				$('#tabs').tabs('option', 'selected', k);
			}
			
			k++;
			
		});
		
	}
	
	if (s['show_busy']) if (!show_busy(true, s['target'])) return false;
	
	$.ajax(
	{
		url: s['url'],
		type: 'GET',
		data:
		{
			rnd: Math.random()
		},
		error: function()
		{
			alert('Ошибка обращения к серверу!');
		},
		success: function (data, status)
		{
			if (status == 'success')
			{
				$(s['target']).html(data);
				
				if (s['success']) s['success']();
				
			}
			else alert('Ошибка загрузки страницы!');
			
			if (s['show_busy']) show_busy(false, s['target']);
			
		}
		
	});
	
}

function page (p_name)
{
	$('#page_content').fadeOut('fast', function ()
	{
		$('#page_content').html('');
		
		open_page({ url: 'pages/' + p_name, target: '#page_content', success: function()
		{
			stylizer();
			$('#page_content').fadeIn('fast');
			
		}});
		
	});
	
}

function reload_widgets ()
{
	$('.widgets_frame').fadeOut('fast', function ()
	{
		$.ajax
		({
			url: 'widgets/__widgets.php',
			type: 'GET',
			data:
			{
				rnd: Math.random()
			},
			error: function()
			{
				alert('Ошибка обращения к серверу!');
			},
			success: function (data, status)
			{
				if (status != 'success')
				{
					alert('Ошибка обновления!');
					return false;
				}
				
				if (data.trim() == '') return false;
				
				$('.widgets_frame').html(data);
				
				stylizer();
				$('.widgets_frame').fadeIn('fast');
				
			}
			
		});
		
	});
	
}

function show_busy (state, container)
{
	if (!container) container = 'document';
	
	if (state)
	{
		$(container).prepend('<img alt="" id="progress" src="images/progress.gif" style="margin: 10px; position: absolute;">');
	}
	else $(container + ' > #progress').remove();
	
	return true;
	
}

function set_events_handlers ()
{
	$('.my-action-x').live('click', function ()
	{
		if (!confirm('Вы действительно хотите удалить?'))
		{
			return false;
		}
		
	});
	
	$('.my-form-ajax').live('submit', function()
	{
		$(this).ajaxSubmit
		({
			error: function ()
			{
				alert('Ошибка обращения к серверу!');
			},
			success: function (data, status)
			{
				if (status != 'success')
				{
					alert('Ошибка выполнения запроса!');
					return false;
				}
				
				$('#page_content').html(data);
				stylizer();
				
			}
			
		});
		
		return false;
		
	});
	
	$('.my-form-ajax-popup').live('submit', function()
	{
		$(this).ajaxSubmit
		({
			error: function ()
			{
				alert('Ошибка обращения к серверу!');
			},
			success: function (data, status)
			{
				if (status != 'success')
				{
					alert('Ошибка выполнения запроса!');
					return false;
				}
				
				$.blockUI
				({
					css:
					{
						border: 'none'
					},
					fadeIn: 700,
					fadeOut: 700,
					message: data,
					showOverlay: true,
					timeout: 2000
				});
				
				stylizer();
				
				reload_widget('trash');
				
			}
			
		});
		
		return false;
		
	});
	
	$('.my-form-ajax-popup-confirm').live('submit', function()
        {
		if (!confirm('За все покупки, начиная с текущей, бонусные баллы начисляться не будут. Вы хотите продолжить?')) return false;
		
                $(this).ajaxSubmit
                ({
                        error: function ()
                        {
                                alert('Ошибка обращения к серверу!');
                        },
                        success: function (data, status)
                        {
                                if (status != 'success')
                                {
                                        alert('Ошибка выполнения запроса!');
                                        return false;
                                }

                                $.blockUI
                                ({
                                        css:
                                        {
                                                border: 'none'
                                        },
                                        fadeIn: 700,
                                        fadeOut: 700,
                                        message: data,
                                        showOverlay: true,
                                        timeout: 2000
                                });

                                stylizer();

                                reload_widget('trash');

                        }

                });

                return false;

        });
	
}

function stylizer ()
{
	$('.my-action').button();
	
	$('.my-action-x').button();
	$('.my-action-x').val('X');
	
}


