/**
 * website ajax javascript file
 *
 * @copyright Copyright (C) 2008 HiChina E-Business Solutions Department
 * @author Rory Huang
 * @package common
 * @access public
 * @version $Id: ajax.js 100 2009-09-27 05:33:42Z jy $
 */

var s_loading_content = '<img class="vam" src="/images/ico_loading.gif" alt="" />&nbsp;&nbsp;&nbsp;页面加载中...';

/**
 * 设置全局Ajax动作
 *
 * @return null
 */
$.ajaxSetup(
{
	cache: false,
	timeout: 20000,
	beforeSend: function()
	{
		set_page_loading('show', s_loading_content);
		$('input[id^=ajax_btn_]').attr('disabled', true);
	},
	complete: function()
	{
		set_page_loading('hide');
		$('input[id^=ajax_btn_]').attr('disabled', false);
	},
	error: function()
	{
		alert('服务器忙，请重试');
		set_page_loading('hide');
		$('input[id^=ajax_btn_]').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: 5999
		});
	}

	if (sAction == 'show')
	{
		$('#div_page_overlay').css({
			opacity: 0.4,
			height: $(document).height() + 'px'
		}).show().fadeIn();
		$('select').css('visibility', 'hidden');
		$('select.no_hide').css('visibility', 'visible');
		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" style="background-color:#00f;color:#fff;"></div>');
		$('#div_page_loading').css(
		{
			position: 'absolute',
			top: '8px',
			right: '8px',
			display: 'none',
			zIndex: 6999
		});
	}

	$('#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 msg_box(elementId,oArguments)
 {
    if (oArguments.action == 'hide')
	{
		$('#' + elementId).hide();
	    set_page_overlay('hide');
	    return;
	}
		
    $('#' + elementId).css(
    {
        position: 'absolute',
        display: 'none',
        zIndex: 9999
    });

    $('#' + elementId).css('width',
        oArguments.width ?
        oArguments.width :
        '300px'
    );

    $('#' + elementId).css('height',
        oArguments.height ?
        oArguments.height :
        '100px'
    );

    $('#' + elementId).css('top',
        oArguments.top ?
        (parseInt($(document).scrollTop()) + parseInt(oArguments.top)) + 'px' :
        (parseInt($(document).scrollTop()) + 50) + 'px'
    );
    
    $('#' + elementId).css('left',
        oArguments.left ?
        oArguments.left :
        Math.ceil(($(document).width() - parseInt($('#' + elementId).css('width'))) / 2)
    );
    
    set_page_overlay('show');
    $('#' + elementId).show();
 }



/**
 * 显示消息框
 *
 * @param object oArguments 参数 目前有 width, height, top, left, content, action
 * @return null
 */
function set_msg_window(url,oArguments)
{
    //hide div
    if (oArguments.action == 'hide')
	{
		$('#div_msg_box').hide();
	    set_page_overlay('hide');
	    $('#div_msg_box').remove();
	    return;
	}
	
    $.ajax({
        url : url,
        type:"get",           
        dataType:"data",
        success:function(msg){
            $('#div_msg_box').remove();
            $('body').append('<div id="div_msg_box"></div>');	
	        $('#div_msg_box').css(
	        {
		        position: 'absolute',
		        display: 'none',
		        zIndex: 9999
	        });

	        $('#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(msg);
	        
	        set_page_overlay('show');
		    $('#div_msg_box').show();
        }
    });
}


/**
 * 显示消息框,ifreame
 *
 * @param object oArguments 参数 目前有 width, height, top, left, content, action
 * @return null
 */
function set_msg_box(url,oArguments)
{
    $('#div_msg_box').remove();	
    $('body').append('<div id="div_msg_box"><div id="div_loading" style="background-color:#fff;line-height:30px;">' + s_loading_content + '</div><' + 'iframe id="div_msg_box_frame" name="div_msg_box_frame" scrolling="no" frameborder="0" style="width:1px;height:1px;background-color:#ccc;" src="' + url + '"></' + 'iframe>' + '</div>');	
	$('#div_msg_box').css(
	{
		position: 'absolute',
		display: 'none',
		zIndex: 9999
	});

	$('#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');
});