/* $Id */

var cp = new cpaint();

/**
 * 切换载入状态
 */
function toggleLoader(disp)
{
    document.getElementsByTagName('body').item(0).style.cursor = (disp) ? "wait" : 'auto';	

    // 显示或隐藏loader
    document.getElementById('loader').style.display = (disp) ? 'block' : 'none';
}

/**
 * 添加商品到购物车
 */
function addToCart(goodsId)
{
    var spec_arr        = new Array();
    var fittings_arr    = new Array();
    var number          = 1;

    // 检查是否有商品规格
    if (document.forms['formBuy'])
    {
        j = 0;

        for (i = 0; i < document.forms['formBuy'].elements.length; i++)
        {
            if (document.forms['formBuy'].elements[i].type == 'radio' && 
                document.forms['formBuy'].elements[i].name.substr(0, 5) == 'spec_' &&
                document.forms['formBuy'].elements[i].checked)
            {
                spec_arr[j] = document.forms['formBuy'].elements[i].value;
                j++;
            }
        }

        if (document.forms['formBuy'].elements['number'])
        {
            number = document.forms['formBuy'].elements['number'].value;
        }
    }



    // 检查是否有配件
    if (document.forms['formFittings'])
    {
        var fittings = document.forms['formFittings'].elements['fittings'];

        if (fittings != undefined)
        {
            if (fittings.length != undefined)
            {
                for (i = 0; i < fittings.length; i++)
                {
                    if (fittings[i].checked)
                    {
                        fittings_arr[i] = fittings[i].value;
                    }
                    else
                    {
                        fittings_arr[i] = "0";
                    }
                }
            }
            else
            {
                if (fittings.checked) fittings_arr[0] = fittings.value;
            }
        }
    }
    
    toggleLoader(true);

    cp.set_transfer_mode('post');
    cp.set_response_type('text');
    cp.call('ajax.php', 'addto_cart', addToCartResponse, goodsId, number, spec_arr, fittings_arr);
}

/**
 * 处理添加商品到购物车的反馈信息
 */
function addToCartResponse(result)
{
	toggleLoader(false);
    
    var success = result.substring(0, 1);
    var message = result.substring(2);
    if (success == "0")
    {
        // 添加到购物车失败。
        alert(message);
    }
    else if (success == "2")
    {
		 
		  arr            = message.split('|');
		  goods_id       = arr[0];
		  new_message    = arr[1];
		 if (confirm(new_message)) location.href="member_index.php?act=booking_add&id=" + goods_id;
    }
	else
    {
        if (confirm(message)) location.href="flow.php";
    }
}

/**
 * 添加商品到收藏夹
 */
function collect(goodsId)
{
	toggleLoader(true);
    cp.set_response_type('text');
    cp.call('ajax.php', 'collect', collectResponse, goodsId);
}

/**
 * 处理收藏商品的反馈信息
 */
function collectResponse(result)
{
	toggleLoader(false);
    alert(result);
}

/**
 * 提交评论信息
 */
function submitComment()
{
	var frm = document.forms['commentForm'];
    var username    = frm.elements['username'].value;
    var email       = frm.elements['email'].value;
    var content     = frm.elements['content'].value;
    var type        = frm.elements['type'].value;
    var id          = frm.elements['id'].value;
    var rank        = 0;

    for (i = 0; i < frm.elements['comment_rank'].length; i++)
    {
        if (frm.elements['comment_rank'][i].checked)
        {
            rank = frm.elements['comment_rank'][i].value;
        }
    }
    if (username.length == 0)
    {
        alert(cmt_empty_username);
        return;
    }
  
    if (email.length > 0)
    {
        var reg = /^[_\+\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$/;
        if (!reg.test(email))
        {
            alert(cmt_error_email);
            return ;
        }
    }

    if (content.length == 0)
    {
        alert(cmt_empty_content);
        return;
    }

	toggleLoader(true);
    cp.set_transfer_mode('post');
    cp.set_response_type('text');
    cp.call('ajax.php', 'submit_comment', commentResponse, username, email, content, rank, type, id);
}

/**
 * 处理提交评论的反馈信息
 */
function commentResponse(result)
{
    toggleLoader(false);
    var done    = result.substr(0,1);
    var comment_info = result.substr(2);
    if (done == 1)
    {
        alert(cmt_submit_done);
        document.getElementById("comment-zone").innerHTML = comment_info;
    }
    else
    {
        alert(comment_info);
    }
}
/**
 * 处理用户的投票
 */
function submit_vote()
{
	var frm         = document.forms['formvote'];
    var type        = frm.elements['type'].value;
    var vote_id     = frm.elements['id'].value;
    var option_id   = 0;

    if (type ==0)
    {
        for (i=0; i<frm.elements['option_id'].length; i++ )
        {
            if (frm.elements['option_id'][i].checked)
            {
                option_id = option_id + "," + frm.elements['option_id'][i].value;
            }
        }
    }
    else
    {
        for (i=0; i<frm.elements['option_id'].length ;i++ )
        {
            if (frm.elements['option_id'][i].checked)
            {
                option_id   = frm.elements['option_id'][i].value;
            }
        }
    }
    if (option_id == 0)
    {
        alert(option_id_empty);
        return;
    }
    else
    {
        toggleLoader(true);
        cp.set_transfer_mode('post');
        cp.set_response_type('text');
        cp.call('ajax.php', 'submit_vote', submit_voteResponse, vote_id, option_id);
    }
}

/**
 * 处理投票的反馈信息
 */
function submit_voteResponse(result)
{
    toggleLoader(false);
	
    var done         = result.substr(0, 1);
    var vote_content = result.substr(2);

    if (done == 1)
    {
        alert(thank_vote_notic);
        document.getElementById("vote-div").innerHTML = vote_content;
    }
    else
    {
        alert(vote_content);
    }
}

/**
 * 会员登录
 */
function signIn()
{
	var frm         = document.forms['formLogin'];
    var username    = frm.elements['username'].value;
    var password    = frm.elements['password'].value;

    if (username.length == 0 || password.length == 0)
    {
        return;
    }
    else
    {
        toggleLoader(true);
        cp.set_transfer_mode('post');
        cp.set_response_type('text');
        cp.call('ajax.php', 'sign_in', signInResponse, username, password);
    }
}

/**
 * 处理会员登录的反馈信息
 */
function signInResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        document.getElementById('member-zone').innerHTML = content;
    }
    else
    {
        alert(content);
    }
}

/**
 * 修改会员信息
 */
 function userEdit()
 {
	 
	 var frm			     = document.forms['formUser'];
	 var email				 = frm.elements['email'].value;
	 var sex                 = 0;
	 var bonus_sn            = frm.elements['bonus_sn'].value;
	 var old_password        = frm.elements['old_password'].value;
	 var new_password        = frm.elements['new_password'].value;
	 var confirm_password    = frm.elements['comfirm_password'].value;
	 var question            = frm.elements['question'].value;
	 var answer              = frm.elements['answer'].value;
	 var birthdayYear        = frm.elements['birthdayYear'].value;
	 var birthdayMonth       = frm.elements['birthdayMonth'].value;
	 var birthdayDay         = frm.elements['birthdayDay'].value;
	 var birthday            = birthdayYear + "-" + birthdayMonth + "-" + birthdayDay ;
	
	for (i = 0; i < frm.elements['sex'].length; i++)
    {
        if (frm.elements['sex'][i].checked)
        {
            sex = frm.elements['sex'][i].value;
        }
    }
	
	var msg = "";
	var reg = null;

	if (bonus_sn.length > 0)
	{
		reg = /^[0-9]{6,10}$/;
		if (!reg.test(bonus_sn))
		{
			msg += bonus_sn_invalid + '\n';
		}
	}

	if (email.length == 0)
    {
        msg += email_not_null + '\n';
    }
    else
	{
		reg = /([\w|_|\.|\+]*)@(\w*)\.([A-Za-z]{1,4})/;
		if (!reg.test(email))
		{
			msg += email_invalid + '\n';
		}
	
	}




	if (new_password.length != 0)
	{
		if (old_password.length == 0)
		{			
			msg += newpassword_for_oldpassword + '\n';
		}

		if (new_password != confirm_password)
		{
			msg += password_not_same + '\n';
		}
	}

	if (answer.length != 0)
	{
		if (old_password.length == 0)
		{
			msg += answer_for_oldpassword + '\n';
		}

	}	

    if (msg.length > 0)
    {
        alert(msg);
        return;
    }


	toggleLoader(true);
	cp.set_transfer_mode('post');
	cp.set_response_type('text');
	cp.call('member_lib.php?act=ajax', 'user_edit',userEditResponse, email,birthday,sex,old_password,new_password,confirm_password,question,answer,bonus_sn);

 }

/**
 * 修改会员信息反馈处理
 */
function userEditResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        alert(content);
		switchUserStep("profile");
    }
	else if (done == 2)
	{
		 alert(content);
		 switchUserStep("login");
	}
	else
    {
        alert(content);
    }
}


/**
 * 切换会员中心显示内容
 */

 function switchUserStep(step, val)
 {
	toggleLoader(true);
	cp.set_response_type('text');
	cp.set_transfer_mode('post');
	cp.call('member_lib.php?act=ajax', 'switch_user_step', switchUserStepResponse, step, val);
 }

/**
 * 切换会员中心显示内容
 */

function switchUserStepResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);
	//alert(content);
    if (done == 1)
    {
        document.getElementById('main-div').innerHTML = content;
    }
    else if (done == 2)
    {
		alert(content);
		switchUserStep("login");
    }
	else
    {
        alert(content);
    }
}


/**
 * 会员忘记密码处理
 */

 function forgetPassword(id, step)
 {
	var frm					 = document.forms['formPassword'];
	var user_name			 = "";
	if (step == 1)
	{
		user_name			 = frm.elements['user_name'].value;
	}
	
	var answer               = frm.elements['answer'].value;
	var email                = frm.elements['email'].value;

	toggleLoader(true);
	cp.set_response_type('text');
	cp.set_transfer_mode('post');
	cp.call('user.php?act=ajax', 'forget_password', forgetPasswordResponse, id, step, user_name, answer, email);
 }

/**
 * 会员忘记密码反馈处理
 */

function forgetPasswordResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        document.getElementById('main-div').innerHTML = content;
    }
    else
    {
        alert(content);
    }
}

/**
 * 处理添加用户地址过程
 */
function addAddress()
{
    var frm                  = document.forms['formAddress'];
	var con = new Array();
    con['address_name']         = frm.elements['address_name'].value;
    con['consignee']            = frm.elements['consignee'].value;
    con['country']              = frm.elements['country'].value;
    con['province']             = frm.elements['province'].value;
    con['city']                 = frm.elements['city'].value;
    con['district']             = frm.elements['district'].value;
    con['email']                = frm.elements['email'].value;
    con['address']              = frm.elements['address'].value;
    con['zipcode']              = frm.elements['zipcode'].value;
    con['tel']                  = frm.elements['tel'].value;
    con['mobile']               = frm.elements['mobile'].value;
    con['sign_building']        = frm.elements['sign_building'].value;
    con['best_time']            = frm.elements['best_time'].value;
	con['address_id']           = frm.elements['address_id'].value;
	con['defalut']              = 0;  
    if (frm.elements['defalut'][0].checked)
    {
        con['defalut'] = 1;
    }
    

	var msg = '';
	if (con['address_name'].length == 0)
	{
		msg += address_name_not_null + "\n";
	}
	if (con['consignee'].length == 0)
	{
		msg += consignee_not_null + "\n";
	}
	if (frm.elements['country'].options.length > 1 && con['country'] == 0)
	{
		msg += country_not_null + "\n";
	}
	if (frm.elements['province'].options.length > 1 && con['province'] == 0)
	{
		msg += province_not_null + "\n";
	}
	if (frm.elements['city'].options.length > 1 && con['city'] == 0)
	{
		msg += city_not_null + "\n";
	}
	if (frm.elements['district'].options.length > 1 && con['district'] == 0)
	{
		msg += district_not_null + "\n";
	}
    if (con['address'].length == 0)
	{
		msg += address_not_null + "\n";
	}
	if (con['tel'].length == 0)
	{
		msg += tele_not_null + "\n";
	}
	if (msg.length > 0)
	{
		toggleLoader(false);
		alert(msg);
		return;
	}
    

    toggleLoader(true);
    cp.set_transfer_mode('post');
    cp.set_response_type('text');
    cp.call('user.php?act=ajax', 'add_address', addAddressResponse, con);
    
}
/**
 * 处理添加用户地址过程的反馈处理
 */
function addAddressResponse(result)
{
    toggleLoader(false);
    
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        switchUserStep("address");
    }
    else
    {
        alert(content);
    }
}



/**
 * 处理用户留言
 */
function postMsg()
{
	var frm			         = document.forms['formMsg'];
	var msg_title            = frm.elements['msg_title'].value;
	var user_name            = frm.elements['user_name'].value;
	var user_email           = frm.elements['user_email'].value;
	var msg_content          = frm.elements['msg_content'].value;

	var msg_type             = 0;
	for (i = 0; i < frm.elements['msg_type'].length; i++)
    {
        if (frm.elements['msg_type'][i].checked)
        {
            msg_type = frm.elements['msg_type'][i].value;
        }
    }

	if (msg_title.length == 0)
	{
		alert(title_not_null);
		return ;
	}
	toggleLoader(true);
	cp.set_transfer_mode('post');
	cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'post_msg', postMsgResponse, msg_title, msg_type, user_name, user_email, msg_content);
	
}
/**
 * 处理用户留言反馈处理
 */
function postMsgResponse(result)
{
	toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
		alert(content);
        switchUserStep("message_add");
    }
    else
    {
        alert(content);
    }
}

/**
 *处理会员提交数据订购数据
 */

function addBooking()
{
	var frm					= document.forms['formBooking'];
	var goods_id			= frm.elements['id'].value;
	var rec_id              = frm.elements['rec_id'].value;
	var number			    = frm.elements['number'].value;
	var desc		    	= frm.elements['desc'].value;
	var linkman				= frm.elements['linkman'].value;
	var email				= frm.elements['email'].value;
	var tel				    = frm.elements['tel'].value;

	var msg					= "";

	if (linkman.length == 0)
	{
		msg += linkman_not_null +'\n';
	}

	if (number.length == 0)
	{
		msg += number_not_null + '\n';
	}
	else
	{
		var reg = /^[0-9]+/;
		if (!reg.test(number))
		{
			msg += number_not_number + '\n';
		}
	}

	if (email.length == 0 && tel.length == 0)
	{
		msg += email_or_tel_not_null +'\n';
	}

	

	if (email.length > 0)
	{
		var reg = /([\w|_|\.|\+]*)@(\w*)\.([A-Za-z]{1,4})/;
		if (!reg.test(email))
		{
			msg+= email_invalid + '\n';
		}
	}

	if (msg.length > 0)
	{
		alert (msg);
		return;
	}

	toggleLoader(true);
	cp.set_transfer_mode('post');
	cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'add_booking', addBookingResponse, goods_id,rec_id,number,desc,linkman,email,tel);
}

/**
 * 订购数据反馈处理
 */

function addBookingResponse(result)
{
	toggleLoader(false);
	
	var done = result.substr(0, 1);
	var content = result.substr(2);

	if (done == 1)
	{
		alert(content);
		history.back();		
	}
	else if (done == 2)
	{
		alert(content);
		switchUserStep('booking');
	}
	else
	{
		alert(content);
	}
}

/**
 * 会员登录
 */
function login()
{
	var frm         = document.forms['formLogin'];
    var username    = frm.elements['username'].value;
    var password    = frm.elements['password'].value;

    if (username.length == 0 || password.length == 0)
    {
        return;
    }
    else
    {
        toggleLoader(true);
        cp.set_transfer_mode('post');
        cp.set_response_type('text');
        cp.call('user.php?act=ajax', 'login', loginResponse, username, password);
    }
}
/**
 * 会员登录反馈处理
 */
function loginResponse(result)
{
	toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
		alert(content);
        switchUserStep("profile");
    }
    else
    {
        alert(content);
    }
}

/**
 * 处理注册用户
 */
function register()
{
	var frm			        = document.forms['formUser'];
	var username            = frm.elements['username'].value;
	var email               = frm.elements['email'].value;
	var password            = frm.elements['password'].value;
	var confirm_password    = frm.elements['confirm_password'].value;
	var question            = frm.elements['question'].value;
	var answer              = frm.elements['answer'].value;
	var sex                 = 0;
	var birthdayYear        = frm.elements['birthdayYear'].value;
	var birthdayMonth       = frm.elements['birthdayMonth'].value;
	var birthdayDay         = frm.elements['birthdayDay'].value;
	var birthday            = birthdayYear + "-" + birthdayMonth + "-" + birthdayDay ;

	for (i = 0; i < frm.elements['sex'].length; i++)
    {
        if (frm.elements['sex'][i].checked)
        {
            sex = frm.elements['sex'][i].value;
        }
    }
	var msg = "";
	var reg = /[A-Za-z0-9]{3}/

    // 检查输入
    var msg= '';
    if (username.length == 0)
    {
        msg+= username_not_null + '\n';
    }
	else
	{
		reg = /[_A-Za-z0-9]{3}/;
		if(!reg.test(username))
		{
			msg += username_invalid + '\n';
		}
		
	}
    if (password.length == 0)
    {
        msg+= password_not_null + '\n';
    }
    if (confirm_password.length == 0)
    {
        msg+= confirm_password_not_null + '\n';
    }
    if (email.length == 0)
    {
        msg+= email_not_null + '\n';
    }
    else
    {
        reg = /([\w|_|\.|\+]*)@(\w*)\.([A-Za-z]{1,4})/;
        if (!reg.test(email))
        {
            msg+= email_invalid + '\n';
        }
    }
    if (password.length > 0 && confirm_password.length > 0 && confirm_password != password)
    {
        msg+= password_not_same + '\n';
    }


    if (msg.length > 0)
    {
        alert(msg);
        return;
    }

	toggleLoader(true);
	cp.set_transfer_mode('post');
	cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'register',registerResponse, username, email, password, question, answer, sex, birthday);
	
}
/**
 * 处理注册用户反馈处理
 */
function registerResponse(result)
{
	toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
		alert(content);
        location.href="user.php";
    }
    else
    {
        alert(content);
    }
}



/**
 * 载入购物流程步骤
 * @param: step 步骤代码
 */
function loadFlowStep(step)
{
    toggleLoader(true);
    cp.set_response_type('text');
    cp.call('ajax.php', 'load_flow_step', loadFlowStepResponse, step);
}

/**
 * 载入购物流程步骤的反馈处理
 */
function loadFlowStepResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        document.getElementById('flow-region').innerHTML = content;
        // 如果是订单详情页面，计算费用
        if (document.getElementById('shippingTable') != undefined)
        {
            calculateOrderFee();
        }
        location.href="#top";

    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
        }
    }
}

/**
 * 删除购物车中的商品
 * @param: recId 记录编号
 */
function dropGoods(recId)
{
    if (confirm(drop_goods_confirm))
    {
        toggleLoader(true);
        cp.set_response_type('text');
        cp.call('ajax.php', 'drop_goods', editCartResponse, recId);
    }
}

function editCartResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        loadFlowStep('cart');
    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
        }
    }
}

/**
 * 修改购物车某商品数量
 * @param: recId 记录编号
 * @param: num   数量
 */
function updateNumber(recId, num)
{
    toggleLoader(true);
    cp.set_response_type('text');
    cp.call('ajax.php', 'update_number', editCartResponse, recId, num);
}

/**
 * 添加赠品
 * @param: int goodsId    商品编号
 */
function addGiftToCart(goodsId)
{
    toggleLoader(true);
    cp.set_response_type('text');
    cp.call('ajax.php', 'add_gift_to_cart', editCartResponse, goodsId);
}

/**
 * 添加某类赠品
 * @param: obj 触发对象
 */
function addGifts(obj)
{
    // 找到容器 div
    while (obj.className != 'gift-div' && obj.parentNode != undefined)
    {
        obj = obj.parentNode;
    }
    
    // 变量 checkbox 或 radio
    for (var i = 0; i < obj.childNodes.length; i++)
    {
        var child = obj.childNodes[i];
        if (child.tagName == 'INPUT')
        {
            if (child.type == 'radio' && child.checked)
            {
                addGiftToCart(child.value);
            }
            else if (child.type == 'checkbox' && child.checked)
            {
                addGiftToCart(child.value);
            }
        }
    }
}

/**
 * 购物流程－登录
 */
function flowLogin()
{
	var frm         = document.forms['loginForm'];
    var username    = frm.elements['lg_user_name'].value;
    var password    = frm.elements['lg_password'].value;

    var errorMsg = '';
    if (username.length == 0)
    {
        errorMsg += username_not_null + '\n';
    }
    if (password.length == 0)
    {
        errorMsg += password_not_null + '\n';
    }
    if (errorMsg.length > 0)
    {
        alert(errorMsg);
        return;
    }

    toggleLoader(true);
    cp.set_transfer_mode('post');
    cp.set_response_type('text');
    cp.call('ajax.php', 'flow_login', flowLoginResponse, username, password);
}

function flowLoginResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        loadFlowStep('consignee');
    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
        }
    }
}

/**
 * 购物流程：注册
 */
function flowRegister()
{
    var frm              = document.forms['registerForm'];
    var username         = frm.elements['reg_user_name'].value;
    var password         = frm.elements['reg_password'].value;
    var email            = frm.elements['reg_email'].value;
    var confirm_password = frm.elements['reg_confirm_password'].value;

    // 检查输入
    var errorMsg = '';
    if (username.length == 0)
    {
        errorMsg += username_not_null + '\n';
    }
    if (password.length == 0)
    {
        errorMsg += password_not_null + '\n';
    }
    if (confirm_password.length == 0)
    {
        errorMsg += confirm_password_not_null + '\n';
    }
    if (email.length == 0)
    {
        errorMsg += email_not_null + '\n';
    }
    else
    {
        var reg = /([\w|_|\.|\+]*)@(\w*)\.([A-Za-z]{1,4})/;
        if (!reg.test(email))
        {
            errorMsg += email_invalid + '\n';
        }
    }
    if (password.length > 0 && confirm_password.length > 0 && confirm_password != password)
    {
        errorMsg += password_not_same + '\n';
    }
    if (errorMsg.length > 0)
    {
        alert(errorMsg);
        return;
    }

    toggleLoader(true);
    cp.set_transfer_mode('post');
    cp.set_response_type('text');
    cp.call('ajax.php', 'flow_register', flowRegisterResponse, username, password, email);
}

function flowRegisterResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        alert(register_ok);
        loadFlowStep('consignee');
    }
    else
    {
        alert(content);
    }
}

/**
 * 删除收货地址
 */
function dropConsignee()
{
    var addressId = document.forms['theForm'].elements['address_id'].value;
    if (addressId > 0)
    {
        toggleLoader(true);
        cp.set_response_type("text");
        cp.call('ajax.php', 'drop_consignee', dropConsigneeResponse, addressId);
    }
}

function dropConsigneeResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        var sel = document.forms['theForm'].elements['address_id'];
        for (i = sel.options.length - 1; i > 0; i--)
        {
            if (sel.options[i].value == content)
            {
                sel.options[i] = null;
                break;
            }
        }
        loadConsignee(0);
    }
    else
    {
        alert(content);
    }
}

/**
 * 保存收货人信息
 * @param: step 步骤名称
 */
function saveConsignee(step)
{
    // 取得收货人信息
    var con = new Array();
    var frm = document.forms['theForm'];
    con['address_id'] = frm.elements['address_id'].value;
    con['address_name'] = frm.elements['address_name'].value;
    con['consignee']  = frm.elements['consignee'].value;
    con['country']    = frm.elements['country'].value;
    con['province']   = frm.elements['province'].value;
    con['city']       = frm.elements['city'].value;
    con['district']   = frm.elements['district'].value;
    con['email']      = frm.elements['email'].value;
    con['address']    = frm.elements['address'].value;
    con['zipcode']    = frm.elements['zipcode'].value;
    con['tel']        = frm.elements['tel'].value;
    con['mobile']     = frm.elements['mobile'].value;
    con['sign_building'] = frm.elements['sign_building'].value;
    con['best_time']  = frm.elements['best_time'].value;

    // 如果是下一步，判断收货人信息是否完整
    if (step == 'order_detail')
    {
        var errorMsg = '';
        if (con['address_name'].length == 0)
        {
            errorMsg += address_name_not_null + "\n";
        }
        if (con['consignee'].length == 0)
        {
            errorMsg += consignee_not_null + "\n";
        }
        if (frm.elements['country'].options.length > 1 && con['country'] == 0)
        {
            errorMsg += country_not_null + "\n";
        }
        if (frm.elements['province'].options.length > 1 && con['province'] == 0)
        {
            errorMsg += province_not_null + "\n";
        }
        if (frm.elements['city'].options.length > 1 && con['city'] == 0)
        {
            errorMsg += city_not_null + "\n";
        }
        if (frm.elements['district'].options.length > 1 && con['district'] == 0)
        {
            errorMsg += district_not_null + "\n";
        }
        if (con['address'].length == 0)
        {
            errorMsg += address_not_null + "\n";
        }
        if (con['tel'].length == 0)
        {
            errorMsg += tele_not_null + "\n";
        }
        if (errorMsg.length > 0)
        {
            toggleLoader(false);
            alert(errorMsg);
            return;
        }
    }
    
    toggleLoader(true);
    cp.set_response_type("text");
    cp.call('ajax.php', 'save_consignee', saveConsigneeResponse, step, con);
}

function saveConsigneeResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        loadFlowStep(content);
    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
        }
    }
}

/**
 * 载入收货人信息
 * @param: int addressId
 */
function loadConsignee(addressId)
{
    if (addressId > 0)
    {
        toggleLoader(true);
        cp.set_response_type("object");
        cp.call('ajax.php', 'load_consignee', loadConsigneeResponse, addressId);
    }
    else
    {
        var frm = document.forms['theForm'];
        frm.elements['address_name'].value = '';
        frm.elements['consignee'].value = '';
        frm.elements['country'].value = 0;
        frm.elements['province'].value = 0;
        frm.elements['city'].value = 0;
        frm.elements['district'].value = 0;
        frm.elements['email'].value = '';
        frm.elements['address'].value = '';
        frm.elements['zipcode'].value = '';
        frm.elements['tel'].value = '';
        frm.elements['mobile'].value = '';
        frm.elements['sign_building'].value = '';
        frm.elements['best_time'].value = '';
    }
}

function loadConsigneeResponse(result)
{
    toggleLoader(false);
    
    cp.set_async(false);
    var frm = document.forms['theForm'];
    frm.elements['address_name'].value = result.ajaxResponse[0].step[0].address_name[0].data;
    frm.elements['consignee'].value = result.ajaxResponse[0].step[0].consignee[0].data;
    frm.elements['country'].value = result.ajaxResponse[0].step[0].country[0].data;
    region.changed(frm.elements['country'], 1, 'selProvinces');
    frm.elements['province'].value = result.ajaxResponse[0].step[0].province[0].data;
    region.changed(frm.elements['province'], 2, 'selCities');
    frm.elements['city'].value = result.ajaxResponse[0].step[0].city[0].data;
    region.changed(frm.elements['city'], 3, 'selDistricts');
    frm.elements['district'].value = result.ajaxResponse[0].step[0].district[0].data;
    frm.elements['email'].value = result.ajaxResponse[0].step[0].email[0].data;
    frm.elements['address'].value = result.ajaxResponse[0].step[0].address[0].data;
    frm.elements['zipcode'].value = result.ajaxResponse[0].step[0].zipcode[0].data;
    frm.elements['tel'].value = result.ajaxResponse[0].step[0].tel[0].data;
    frm.elements['mobile'].value = result.ajaxResponse[0].step[0].mobile[0].data;
    frm.elements['sign_building'].value = result.ajaxResponse[0].step[0].sign_building[0].data;
    frm.elements['best_time'].value = result.ajaxResponse[0].step[0].best_time[0].data;
    
    cp.set_async(true);
}

/**
 * 改变配送方式：载入支持的支付方式
 * @param: int shippingId
 * @parma: obj frm
 */
function changeShipping(shippingId)
{
    payId = getRadioValue('payment');
    
    toggleLoader(true);
    cp.set_response_type("object");
    cp.call('ajax.php', 'change_shipping', changeShippingResponse, shippingId, payId);
    
    // 计算订单费用
    calculateOrderFee();
}

function changeShippingResponse(result)
{
    toggleLoader(false);

    // 删除支付方式
    var table = document.getElementById('paymentTable');
    for (i = table.rows.length - 1; i > 0; i--)
    {
        table.deleteRow(i);
    }
    
    // 显示支持的支付方式
    var xmlObj = result.ajaxResponse[0].step[0].pay_list[0];
    if (xmlObj.pay[0] != undefined)
    {
        for (i = 0; i < xmlObj.pay.length; i++)
        {
            row     = table.insertRow(-1);
            cell    = row.insertCell(-1);
            html    = '<input type="radio" name="payment" value="' + xmlObj.pay[i].get_attribute('id') + '"';
            if (xmlObj.pay[i].get_attribute('id') == result.ajaxResponse[0].step[0].pay_id[0].data)
            {
                html += " checked";
            }
            cell.innerHTML  = html + '/>';

            cell = row.insertCell(-1);
            cell.innerHTML = xmlObj.pay[i].get_attribute('name');
            cell = row.insertCell(-1);
            cell.innerHTML = xmlObj.pay[i].get_attribute('desc');
        }
    }
}

/**
 * 改变包装：计算费用
 */
function changePack(packId)
{
    // 计算订单费用
    calculateOrderFee();
}

/**
 * 改变贺卡：计算费用
 */
function changeCard(cardId)
{
    // 计算订单费用
    calculateOrderFee();
}

/**
 * 改变余额：余额是否足够
 * @param: int surplus 余额
 */
function changeSurplus(surplus)
{
    surplus = parseFloat(surplus);
    if (!isNaN(surplus))
    {
        toggleLoader(true);
        cp.set_response_type("text");
        cp.call('ajax.php', 'change_surplus', changeSurplusResponse, surplus);
    }
    else
    {
        document.forms['theForm'].elements['surplus'].value = '0';

        // 计算订单费用
        calculateOrderFee();
    }
}

function changeSurplusResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        // 计算订单费用
        calculateOrderFee();
    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
            document.forms['theForm'].elements['surplus'].focus();
        }
    }
}

/**
 * 改变积分：积分是否足够，积分是否过多
 * @param: int integral 积分
 */
function changeIntegral(integral)
{
    integral = parseInt(integral);
    if (!isNaN(integral))
    {
        goodsAmount = document.forms['theForm'].elements['goods_amount'].value;
        toggleLoader(true);
        cp.set_response_type("text");
        cp.call('ajax.php', 'change_integral', changeIntegralResponse, integral, goodsAmount);
    }
    else
    {
        document.forms['theForm'].elements['integral'].value = '0';

        // 计算订单费用
        calculateOrderFee();
    }
}

function changeIntegralResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        // 计算订单费用
        calculateOrderFee();
    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
            document.forms['theForm'].elements['integral'].focus();
        }
    }
}

/**
 * 改变红包：计算红包能换多少钱
 */
function changeBonus(bonusId)
{
    // 计算订单费用
    calculateOrderFee();
}

/**
 * 保存订单
 * @param: step 步骤
 */
function saveOrder(step)
{
    var order = new Array();
    order['shipping_id'] = getRadioValue('shipping');
    order['pay_id'] = getRadioValue('payment');
    
    // 如果是下一步，检查是否选择配送和支付
    if (step == 'order_confirm')
    {
        var errorMsg = '';
        if (order['shipping_id'] <= 0)
        {
            errorMsg += shipping_not_null + '\n';
        }
        if (order['pay_id'] <= 0)
        {
            errorMsg += payment_not_null + '\n';
        }
        if (errorMsg.length > 0)
        {
            alert(errorMsg);
            return;
        }
    }
    
    order['pack_id']        = getRadioValue('pack');
    order['card_id']        = getRadioValue('card');
    order['how_oos']        = getRadioValue('how_oos');
    var ele = document.forms['theForm'].elements;

    order['card_message']   = (ele['card_message'] != undefined) ? ele['card_message'].value : '';
//    order['surplus']        = ele['surplus'] != undefined ? ele['surplus'].value : 0;
    order['integral']       = ele['integral'] != undefined ? ele['integral'].value : 0;
    order['bonus_id']       = ele['bonus'] != undefined ? ele['bonus'].value : 0;
    
    if (ele['need_inv'] != undefined && ele['need_inv'].checked)
    {
        order['need_inv']       = true;
        order['inv_payee']      = ele['inv_payee'].value;
        order['inv_content']    = ele['inv_content'].text;
    }
    else
    {
        order['need_inv']       = false;
        order['inv_payee']      = '';
        order['inv_content']    = '';
    }
    order['postscript'] = ele['postscript'].value;
    
    toggleLoader(true);

    cp.set_response_type("text");
    cp.call('ajax.php', 'save_order', saveOrderResponse, step, order);
}

function saveOrderResponse(result)
{
    toggleLoader(false);

    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        loadFlowStep(content);
    }
    else
    {
        if (content.length > 0)
        {
            alert(content);
        }
    }
}

function setValue(obj, value)
{
    if (obj != undefined)
    {
        obj.innerHTML = value;
    }
}

/**
 * 取得当前选中的单选按钮的值
 * @param: string name
 */
function getRadioValue(name)
{
    var frm = document.forms['theForm'];
    for (i = 0; i < frm.elements.length; i++)
    {
        ele = frm.elements[i];
        if (ele.name == name && ele.tagName == 'INPUT' && ele.type == 'radio' && ele.checked)
        {
            return ele.value;
        }
    }
    return 0;
}

/**
 * 评论的翻页函数
 */
function gotoPage(page, id, type)
{
    toggleLoader(true);
    cp.set_response_type("text");
    cp.call('ajax.php', 'goto_page', gotoPageResponse, page, id, type);
}

function gotoPageResponse(result)
{
    toggleLoader(false);
    document.getElementById("comment-zone").innerHTML = result;
}

/**
 * 用户留言翻页函数
 */
function gotoNext(page,type)
{
    toggleLoader(true);
    cp.set_response_type("text");
    cp.call('user.php?act=ajax', 'goto_next', gotoNextResponse, page, type);
}

function gotoNextResponse(result)
{
    toggleLoader(false);
    document.getElementById("main-div").innerHTML = result;
}

/**
 * 取得格式化后的价格
 * @param: float price
 */
function getFormatedPrice(price)
{
    return currencyFormat.replace('%s', price);
}

/**
 * 计算订单费用
 */
function calculateOrderFee()
{
    var ele = document.forms['theForm'].elements;
    
    goodsAmount = parseFloat(ele['goods_amount'].value);  // 商品总金额（包括配件、赠品）
    
    shippingId = getRadioValue('shipping');
    shippingFee = shippingId > 0 ? parseFloat(ele['shipping_' + shippingId].value) : 0; // 配送

    packId = getRadioValue('pack');
    packFee = packId > 0 ? parseFloat(ele['pack_' + packId].value) : 0; // 包装

    cardId = getRadioValue('card');
    cardFee = cardId > 0 ? parseFloat(ele['card_' + cardId].value) : 0; // 贺卡

//    surplusMoney = ele['surplus'] != undefined ? parseFloat(ele['surplus'].value) : 0; // 余额
//    if (isNaN(surplusMoney))
//    {
//        surplusMoney = 0;
//    }

    integralMoney = ele['integral'] != undefined ? parseInt(ele['integral'].value) : 0; // 积分金额
    if (isNaN(integralMoney))
    {
        integralMoney = 0;
    }
    
    bonusMoney = 0;    // 红包金额
    if (ele['bonus'] != undefined)
    {
        for (i = ele['bonus'].options.length - 1; i > 0; i--)
        {
            if (ele['bonus'].options[i].selected)
            {
                bonusMoney = parseFloat(ele['bonus'].options[i].className);
            }
        }
    }
    
    orderAmount = goodsAmount + shippingFee + packFee + cardFee - integralMoney - bonusMoney; // 订单总金额
    orderAmount = orderAmount > 0 ? orderAmount : 0;

    setValue(document.getElementById('goods_amount'), getFormatedPrice(goodsAmount));
    setValue(document.getElementById('shipping_fee'), getFormatedPrice(shippingFee));
    setValue(document.getElementById('pack_fee'), getFormatedPrice(packFee));
    setValue(document.getElementById('card_fee'), getFormatedPrice(cardFee));
//    setValue(document.getElementById('surplus_money'), getFormatedPrice(surplusMoney));
    setValue(document.getElementById('integral_money'), getFormatedPrice(integralMoney));
    setValue(document.getElementById('bonus_money'), getFormatedPrice(bonusMoney));
    setValue(document.getElementById('order_amount'), getFormatedPrice(orderAmount));
}

/**
 * 不打算登录
 */
function planNotLogin()
{
    cp.set_response_type("text");
    cp.call('ajax.php', 'plan_not_login', planNotLoginResponse);
}

function planNotLoginResponse(result)
{
    loadFlowStep('consignee');
}

/**
 * 夺宝奇兵会员出价
 */

 function bid(step)
 {
	var price = '';
	var msg = '';
	if (step != -1)
	{
		var frm                  = document.forms['formBid'];
	    price				     = frm.elements['price'].value;
		if (price.length == 0)
		{
			msg += price_not_null + '\n';
		}
		else
		{
			var reg = /^[\.0-9]+/;
			if (!reg.test(price))
			{
				msg += price_not_number + '\n';
			}
		}
	}
	else
	{
		price = step;
	}

	if (msg.length > 0)
	{
		alert(msg);
		return;
	}
	
	toggleLoader(true);
	cp.set_response_type('text');
	cp.set_transfer_mode('post');
	cp.call('snatch.php?act=ajax', 'bid', bidResponse, price);
 }

/**
 * 夺宝奇兵会员出价反馈
 */

function bidResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        document.getElementById('bid-zone').innerHTML = content;
		if (document.forms['formBid'])
		{
			document.forms['formBid'].elements['price'].focus();
		}
		
    }
	else
    {
        alert(content);
    }
}

/**
 * 夺宝奇兵最新出价
 */

 function newPrice()
 {
	cp.set_response_type('text');
	cp.set_transfer_mode('post');
	cp.call('snatch.php?act=ajax', 'new_price', newPriceResponse);
 }

/**
 * 夺宝奇兵最新出价反馈
 */

function newPriceResponse(result)
{
    document.getElementById('price-zone').innerHTML = result;   
}


/**
 * 用户中心订单保存地址信息
 */

 function saveOrderAddress(id)
 {
	var frm             = document.forms['formAddress'];
    var consignee       = frm.elements['consignee'].value;
    var email           = frm.elements['email'].value;
    var address         = frm.elements['address'].value;
    var zipcode         = frm.elements['zipcode'].value;
    var tel             = frm.elements['tel'].value;
    var mobile          = frm.elements['mobile'].value;
    var sign_building   = frm.elements['sign_building'].value;
    var best_time       = frm.elements['best_time'].value;

	if (id == 0)
	{
		alert(current_ss_not_unshipped);
		return;
	}
	var msg = '';
	if (address.length == 0)
	{
		msg += address_name_not_null + "\n";
	}
	if (consignee.length == 0)
	{
		msg += consignee_not_null + "\n";
	}

	if (msg.length > 0)
	{
		alert(msg);
		return;
	}

	toggleLoader(true);
    cp.set_transfer_mode('post');
    cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'save_order_address', saveOrderAddressResponse,id, consignee, email, address, zipcode, tel, mobile,sign_building,best_time);
 
 }

 function saveOrderAddressResponse(result)
 {
	 toggleLoader(false);
     alert(result);
 }

 /**
  * 合并订单
  */
  function mergeOrder()
  {
	var frm              = document.forms['formOrder'];
    var from_order       = frm.elements['from_order'].value;
    var to_order         = frm.elements['to_order'].value;

	var msg = "";


	if (from_order == 0)
	{
		msg = from_order_not_null + "\n";
	}
	if (to_order == 0)
	{
		msg  += to_order_not_null + "\n";
	}
	if (msg.length > 0)
	{
		alert(msg);
		return ;
	}
	
	from_order = "o" + from_order;
	to_order   = "o" + to_order;
	toggleLoader(true);
    cp.set_transfer_mode('post');
    cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'ajax_merge_order', mergeOrderResponse, from_order, to_order);
  
  }
  function mergeOrderResponse(result)
  {
	toggleLoader(false);
	var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        alert(content);
		switchUserStep('order');
    }
    else
    {
        alert(content);
    }	  
  
  }

/**
 * 退款申请
 */

function postRepay()
{
	var frm			         = document.forms['formRepay'];
	var amount               = frm.elements['amount'].value;
	var method               = frm.elements['method'].value;
	var money                = frm.elements['money'].value;
	
	var msg = "";
	
	if (amount.length == 0 )
	{
		msg += amount_not_null + "\n";
	}
	else
	{
		var reg = /^[\.0-9]+/;
		if (!reg.test(amount))
		{
			msg += amount_not_number + "\n";
		}
	}
	
	if (method.length == 0)
	{
		msg += method_not_null + "\n";
	}
	if (parseFloat(amount) > parseFloat(money) || parseFloat(amount) == 0)
	{
		msg += confirm_note_start + money + confirm_note_end + "\n";
	}

	if (msg.length > 0)
	{
		alert(msg);
		return ;
	}


	if (!confirm(confirm_note))
	{
		return;
	}

	toggleLoader(true);
	cp.set_transfer_mode('post');
	cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'post_repay', postRepayResponse, amount, method);
	
}
/**
 * 处理用户留言反馈处理
 */
function postRepayResponse(result)
{
	toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
		alert(content);
        switchUserStep("repay");
    }
    else
    {
        alert(content);
    }
}

/**
 *  处理用户添加一个红包
 */
function addBonus()
{
	var frm			        = document.forms['formUser'];
	var bonus_sn            = frm.elements['bonus_sn'].value;
	if (bonus_sn.length ==0)
	{
		alert(bonus_sn_not_null );
		return;
	}
	else
	{
		var reg = /^[0-9]{10}$/;
		if (!reg.test(bonus_sn))
		{
			alert(bonus_sn_invalid);
			return;
		}
	}
	toggleLoader(true);
	cp.set_transfer_mode('post');
	cp.set_response_type('text');
	cp.call('user.php?act=ajax', 'add_bonus',addBonusResponse, bonus_sn);
}

function addBonusResponse(result)
{
    toggleLoader(false);
	
    var done    = result.substr(0, 1);
    var content = result.substr(2);

    if (done == 1)
    {
        alert(content);
		switchUserStep("profile");
    }
	else
	{
		 alert(content);
	}

}

function $(id){
	var o=document.getElementById(id);
	if((o==null || typeof(o)=="undefined") && document.all)o=document.all.id;
	return o;
}



//收放菜单
function tr_onclick(obj,id)
{
	if ($(obj+"_"+id).style.display == 'none')
	{
		$(obj+"_"+id).style.display = "block";
	}
	else
	{
		$(obj+"_"+id).style.display = 'none';
	}	
}