/**
 * Author: Rory
 * QQ: 244690
 * MSN: rory_cn@hotmail.com
 * E-Mail: rory_cn@163.com
 *
 * $Id: ajax.js 1 2009-10-21 06:28:29Z Rory $
 */

var s_loading_content = '<img class="vam" src="' + skin_dir + 'images/ajax/ico_loading.gif" alt="" />&nbsp;&nbsp;&nbsp;' + get_language('msg_loading');

/**
 * 设置全局Ajax动作
 *
 * @return null
 */
$.ajaxSetup(
{
	cache: false,
	timeout: 8000,
	beforeSend: function()
	{
		set_page_loading('show', s_loading_content);
		$('#ajax_btn_post').attr('disabled', true);
	},
	complete: function()
	{
		set_page_loading('hide');
	},
	error: function()
	{
		alert(get_language('err_ajax_request'));
		set_page_loading('hide');
		$('#ajax_btn_post').attr('disabled', false);
	}
});

/**
 * 页面遮罩效果
 *
 * @param string sAction 遮罩动作 show:显示 hide:不显示
 * @return null
 */
function set_page_overlay(sAction)
{
	if (! $('#div_page_overlay').is('div'))
	{
		$('body').append('<div id="div_page_overlay"></div>');
		$('#div_page_overlay').css(
		{
			position: 'absolute',
			width: '100%',
			display: 'none',
			top: '0px',
			left: '0px',
			background: '#000',
			zIndex: 80
		});
	}

	if (sAction == 'show')
	{
		$('#div_page_overlay').css({
			opacity: 0.5,
			height: $(document).height() + 'px'
		}).show();
		$('select').css('visibility', 'hidden');
		return;
	}
	$('#div_page_overlay').hide();
	$('select').css('visibility', 'visible');
}

/**
 * 页面 loading 效果
 *
 * @param string sAction 效果动作 show:显示 hide:不显示
 * @param string sContent 显示内容
 * @return null
 */
function set_page_loading(sAction, sContent)
{
	if (! $('#div_page_loading').is('div'))
	{
		$('body').append('<div id="div_page_loading"></div>');
		$('#div_page_loading').css(
		{
			position: 'absolute',
			top: '8px',
			right: '8px',
			display: 'none',
			zIndex: 90
		});
	}

	$('#div_page_loading').html(sContent);

	$('#div_page_loading').css('top', parseInt($(document).scrollTop()) + 8 + 'px');

	sAction == 'show' ? $('#div_page_loading').show() : $('#div_page_loading').hide();
}

/**
 * 显示消息框
 *
 * @param object oArguments 参数 目前有 width, height, top, left, content, action
 * @return null
 */
function set_msg_box(oArguments)
{
	if (! $('#div_msg_box').is('div'))
	{
		$('body').append('<div id="div_msg_box"></div>');
		$('#div_msg_box').css(
		{
			position: 'absolute',
			display: 'none',
			zIndex: 100
		});
	}

	$('#div_msg_box').css('width',
		oArguments.width ?
		oArguments.width :
		'300px'
	);

	$('#div_msg_box').css('height',
		oArguments.height ?
		oArguments.height :
		'100px'
	);

	$('#div_msg_box').css('top',
		oArguments.top ?
		(parseInt($(document).scrollTop()) + parseInt(oArguments.top)) + 'px' :
		(parseInt($(document).scrollTop()) + 50) + 'px'
	);

	$('#div_msg_box').css('left',
		oArguments.left ?
		oArguments.left :
		Math.ceil(($(document).width() - parseInt($('#div_msg_box').css('width'))) / 2)
	);

	$('#div_msg_box').html(oArguments.content);

	if (oArguments.action == 'show')
	{
		set_page_overlay('show');
		$('#div_msg_box').show();
		return;
	}
	$('#div_msg_box').hide();
	set_page_overlay('hide');
}

/**
 * 消息框滚动
 *
 * @return null
 */
$(window).scroll(function()
{
	if ($('#div_msg_box').css('display') != 'block')
	{
		return false;
	}
	$('#div_msg_box').css('top', (parseInt($(document).scrollTop()) + 50) + 'px');
});