//常量
ERROR_SCODE_NOT_MATCH = '-2';
ERROR_NO_USER		  = '-1';
ERROR_INVALIDE_PASSWORD = '0';
ERROR_NOT_VIP			= '-3';
ERROR_BAD_NETWORK		= '-4';
NEED_BIND				= '5';
VALID_COMPLETE			= '8';

function InitAjax() {
    var http_request = false;

    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) {
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    } if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
        return false;
    }
    return http_request;
}
function $(name)
{
	if(typeof name == 'object') return name;
	name = document.getElementById(name);
	if(name) return name;
	return false;
}
String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/g, '');
}
function validate()
{
	var passport = $('passport_a').value.trim();
	var password = $('password_a').value;
	var scode	 = $('verify_a').value;
	/*
	var game	 = $('game_type').options[$('game_type').selectedIndex].value;
	if(game === 'please')
	{
		window.alert('请选择游戏');
		return;
	}
	*/
	if(passport.length < 4 || passport.length > 31)
	{
		window.alert('请输入您的帐户名称');
		$('passport_a').focus();
		return;
	}
	if(!/^\d{4}$/.test(scode))
	{
		window.alert('请输入验证码');
		$('verify_a').focus();
		return;
	}
	var ajax = InitAjax();
	ajax.open('POST', 'login.php', true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajax.send(/*'game=' + game + */'passport=' + passport +　'&password=' + password + '&scode=' + scode);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState === 4 && ajax.status === 200)
		{
			var code = ajax.responseText;
			switch(code)
			{
				case ERROR_SCODE_NOT_MATCH:
					window.alert('请输入正确的验证码');
					$('verify_a').focus();
					return;
				case ERROR_NO_USER:
					window.alert('用户不存在');
					$('passport_a').focus();
					return;
				case ERROR_INVALIDE_PASSWORD:
					window.alert('用户名或者密码不正确');
					$('password_a').focus();
					return;
				case ERROR_NOT_VIP:
					window.alert('对不起，您不是VIP用户');
					return;
				case ERROR_BAD_NETWORK:
					window.alert('网络错误');
					return;
				case VALID_COMPLETE:
					location = 'step2.php';
					return;
				case NEED_BIND:
					location = 'bind.php';
					return;
			}
		}
	}
}

function bind()
{
	var passport = $('passport_a').value;
	var password = $('password_a').value;
	var scode	 = $('scode').value;
	if(passport.length < 4 || passport.length > 31)
	{
		window.alert('通行证帐户必须是4至31个字符');
		$('passport_a').focus();
		return;
	}
	if(!/^\d{4}$/.test(scode))
	{
		window.alert('请输入验证码');
		$('scode').focus();
		return;
	}
	var ajax = InitAjax();
	ajax.open('POST', 'bind.php', true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajax.send('passport=' + passport + '&password=' + password + '&scode=' + scode);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState === 4 && ajax.status === 200)
		{
			var code = ajax.responseText;
			switch(code)
			{
				case ERROR_NOT_VIP:
					window.alert('对不起，您不是VIP');
					return;
				case ERROR_NO_USER:
					window.alert('用户不存在');
					return;
				case ERROR_INVALIDE_PASSWORD:
					window.alert('用户名或者密码不正确');
					return;
				case ERROR_SCODE_NOT_MATCH:
					window.alert('验证码不正确');
					return;
				case ERROR_BAD_NETWORK:
					window.alert('连接通行证失败');
					return;
				case VALID_COMPLETE:
					location = 'index.php';
					return;
			}
		}
	}
}

function login()
{
	var password = $('password').value;
	var passport = $('passport').value;
	var scode	 = $('scode').value;
	if(passport.length < 4 || passport.length > 31)
	{
		window.alert('请输入您的通行证，长度应该在4到31位之间');
		$('passport').focus();
		return;
	}
	if(!/^\d{4}$/.test(scode))
	{
		window.alert('请输入激活码');
		$('scode').focus();
		return;
	}
	var ajax = InitAjax();
	ajax.open('POST', 'login.php', true);
	ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	ajax.send('passport=' + passport + '&password=' + password + '&scode=' + scode);
	ajax.onreadystatechange = function()
	{
		if(ajax.readyState === 4 && ajax.status === 200)
		{
			var code = ajax.responseText;
			switch(code)
			{
				case ERROR_NOT_VIP:
					window.alert('对不起，您不是VIP');
					return;
				case ERROR_NO_USER:
					window.alert('用户不存在');
					return;
				case ERROR_INVALIDE_PASSWORD:
					window.alert('用户名或者密码不正确');
					return;
				case ERROR_SCODE_NOT_MATCH:
					window.alert('验证码不正确');
					return;
				case ERROR_BAD_NETWORK:
					window.alert('连接通行证失败');
					return;
				case VALID_COMPLETE:
					top.location = 'index.php';
					return;
			}
		}
	}
}

function change_scode($name)
{
	var image = $($name);
	image.src = '../verifycode.php?code=' + Math.random();
}

function editprofile()
{
	/*
	var img = $('face').value;
	if(img && !isImage(img))
	{
		window.alert('您选择的头像不是合法的图片');
		$('face').value = '';
		return;
	}*/
	if($('realname').value.trim().length < 2)
	{
		window.alert('请填写您的真实姓名');
		$('realname').focus();
		return false;
	}
	if($('telphone_v')){
		if($('telphone_v').value.trim() == $('telphone').value.trim()){
			$('telphone').value=$('telphone_r').value.trim();
		}
	}
	if(!/^(\d{8}|\d{11,12})$/.test($('telphone').value.trim()))
	{
		window.alert('请填写您的电话号码,格式如 01083123456 ');
		$('telphone').focus();
		return false;
	}
	/*if($('address').value.trim().length < 4)
	{
		window.alert('请填写您的住址');
		$('address').focus();
		return;
	}*/
	if($('zipcode').value.trim()){
		if(!/^\d{6,7}$/.test($('zipcode').value.trim()))
		{
			window.alert('请填写正确的邮编，当然，您也可以不填的哦');
			$('zipcode').focus();
			return false;
		}
	}

    if ($('id_card') && !checkCardNumber($('id_card').value)) 
    {
		window.alert('请填写您的身份证号');
        $('id_card').focus();
        return false;
    }
    /*
	if($('id_card') && !/^([0-9x]{15}|[0-9x]{18})$/i.test($('id_card').value.trim()))
	{
		window.alert('请填写您的身份证号');
		$('id_card').focus();
		return;
	}
    */
	var email = $('email').value.trim();
	if(email && !/^[a-zA-Z0-9._\-]{3,20}@[a-zA-Z0-9]{2,10}(.[a-zA-Z0-9]+)+$/i.test(email))
	{
		window.alert('请填写正确的Email，您也可以不填写的哦');
		$('email').focus();
		return false;
	}
	var home_tel = $('home_tel').value.trim();
	if(home_tel && !/^(\d{8}|\d{11,12})$/.test(home_tel))
	{
		window.alert('请填写正确的家庭电话，例如01012345678，当然，您也可以不填的哦');
		$('home_tel').focus();
		return false;
	}
	var office_tel = $('office_tel').value.trim();
	if(office_tel && !/^(\d{8}|\d{11,12})$/.test(office_tel))
	{
		window.alert('请填写正确的办公室电话，例如01087654321,当然，您也可以不填的哦');
		$('office_tel').focus();
		return false;
	}
	
	if($('password_old')){
		if($('password_old').value.length < 3)
		{
			window.alert('请填写您的通行证密码');
			$('password_old').focus();
			return false;
		}
	}
	var mobiles = $('mobile').value.trim();
	if(mobiles && !/^\d{11,13}$/.test(mobiles))
	{
		window.alert('请填写您正确的手机号码，当然，您也可以不填的哦');
		$('mobile').focus();
		return false;
	}
	var comment_len = $('comment').value.length;
	if(comment_len > 60)
	{
		window.alert('您的备注过长，请不要超过30个字符');
		$('comment').focus();
		return false;
	}
	var job_addr_len = $('job_addr').value.length;
	if(job_addr_len > 80)
	{
		window.alert('您输入的工作地址过长');
		$('job_addr').focus();
		return false;
	}
	//$('edit_profile').submit();
	return true;
}

function isImage(img)
{
	return /^.+\.(jpe?g|gif|png)$/.test(img);
}

function preview(obj)
{
	var default_img = '../image/vip/s0.gif';
	var image_object = $('preview_img');
	if(obj.value)
	{
		image_object.src = obj.value;
	}
	else
	{
		image_object.src = default_img;
	}
}


function checkCardNumber(value)
{
    if (typeof value == 'undefined' || value == '') 
    {
        return false;
    } 
    else 
    {
        var obj = null;        
        for (var i = 0; i < 3; ++i) 
        {
            obj = document.getElementById('type_' + i);
            if (obj && obj.checked) 
            {
                break;
            }
        }
        
        switch (i) 
        {
            case 0:
                // 身份证                
                var rule = /^\d{15}$|^\d{17}[0-9x]$/i;
                if (!rule.test(value)) 
                {
                    alert('请填写正确的身份证号码！');
                    return false;
                }
                else
                {
                    break;
                }
            case 1: 
                // 军人证
                var rule = /^[\u4E00-\u9FA5]+\s*[0-9]+\s*[\u4E00-\u9FA5]+$/i;
                if (!rule.test(value)) 
                {
                    alert('请填写正确的军官证号码！');
                    return false;
                }
                else
                {
                    break;
                }
            case 2: 
                // 护照
                var rule = /^[0-9a-z]{4,}$/i;
                if (!rule.test(value)) 
                {
                    alert('请填写正确的护照号码！');
                    return false;
                }
                else
                {
                    break;
                }
            default: 
                alert('请选择正确的证件类型！')
                return false;
        }
        return true;
    }
}