/**
 * -------------------------------------------用户登录-----------------------------
 */
 //联想输入标识符
var autoComplate=false;
// 标签显示
function onTabs(nums) {
	if (nums == 1) {
		$("#content1_1").css('display', 'block');
		$("#content1_2").css('display', 'none');
	} else {
		$("#content1_1").css('display', 'none');
		$("#content1_2").css('display', 'block');
	}
}
function focusEmail() {
	if ($("#email").val() == '请输入邮箱/手机号码') {
		$("#email").val('');
	}
}
function focusEmailBinder() {
	if ($("#email_name").val() == '请输入邮箱/手机号码') {
		$("#email_name").val('');
	}
}
function focusUserName() {
	if ($("#bbs_user").val() == '请输入论坛用户名') {
		$("#bbs_user").val('');
	}
}
// 验证表单（登录）
function LoginForm(){
    if(!loginForm())
        return false;
	//定义一个默认AJAX验证成功后的跳转地址
	var redirect_url=$("#MY_URL").val();	 
	if ($("#email").val() == '请输入用户名' || $("#email").val() == '') {
		showmessage('用户名错误', 'tips:请输入正确的邮箱地址');
		return false;
	}	
	if ($("#password").val() == '') {
		showmessage('密码错误', 'tips:请输入登录密码！');
		return false;
	}
	var record = $("input[name=record]:checked").size();	
	// 提交登录表单ajax验证	
	$.ajax({
		'type' : 'POST',
		'url' : '/interface/ajax.php',
		/*data : '_do=login-ajaxLogin&email='
				+ encodeURIComponent($("#email").val()) + '&password='
				+ encodeURIComponent($("#password").val()),*/
		data : '_do=doLogin&email='+ encodeURIComponent($("#email").val()) + '&password='
				+ encodeURIComponent($("#password").val())+ '&referer='
				+ encodeURIComponent($("#referer").val()) + '&record='+record+"&t="+Math.random(),
		success : function(res) {
			eval('var r='+res+';');
			if (r.success == 0) {
				showmessage('登录失败', 'tips:请确认你输入的登录邮箱或密码是否正确!', 400);
				$("#password").val('');
				return false;
			}
			if(r.success == 2){
				showmessage('登录失败', 'sure:尊敬的用户，您的帐号目前还没有激活，请确认是否先按照操作步骤进行激活账户!:activationUser', 400,150);
				$("#password").val('');
				return false;
			}
			if (r.success== 1) {
				if(r.referer==undefined){
					window.location.href=redirect_url;
				}else{
					window.location.href=r.referer;
				}
				return true;
			}
		}
	})
}
//激活用户
function activationUser(){
	var www_url=$("#www_url").val();
	location = www_url+'/?_do=login.shtml';
}
// 验证论坛绑定
function BinderForm() {
	if ($("#bbs_user").val() == '请输入论坛用户名' || $("#bbs_user").val() == '') {
		showmessage('论坛用户名错误', 'tips:请输入论坛用户名');
		return false;
	}
	if ($("#bbs_pw").val() == '') {
		showmessage('论坛密码错误', 'tips:请输入论坛登录密码！');
		return false;
	}
	if ($("#email_name").val() == '') {
		showmessage('智慧分享网账号错误', 'tips:请输入智慧分享网账号');
		return false;
	}
	if ($("#blog_pwd").val() == '') {
		showmessage('智慧分享网密码错误', 'tips:请输入智慧分享网密码！');
		return false;
	}
	// ajax论坛绑定（成功返回1，失败返回:2/论坛用户名或密码错误,3/智慧分享网账户或密码错误）
	$.ajax( {
		'type' : 'POST',
		'url' : '/',
		'data' : '_do=login-ajaxRestore&bbs_user='
				+ encodeURIComponent($("#bbs_user").val()) + '&bbs_pw='
				+ encodeURIComponent($("#bbs_pw").val()) + '&email_name='
				+ encodeURIComponent($("#email_name").val()) + '&blog_pwd='
				+ encodeURIComponent($("#blog_pwd").val()),
		success : function(res) {
			eval('var date=' + res + ';');
			return false;

		}
	})

}
function submitForm(){
	if ($("#email").val() == '邮箱/手机号' || $("#email").val() == '') {
		showmessage('邮箱或手机号吗错误', 'tips:请输入正确的邮箱地址或手机号码');
		return false;
	}	
	if ($("#password").val() == '') {
		showmessage('密码错误', 'tips:请输入登录密码！');
		return false;
	}
	$("#loginForm").submit();
}
/**
 * -------------------------------------------密码找回-----------------------------
 */
// 验证邮箱
function validateEmail() {
	if ($("#email").val() == '' || !checkEmail($("#email").val())) {
		showmessage('邮箱地址错误', 'tigs:请输入正确的邮箱地址,例如：abc@huivo.com', 400);
		return false;
	}
}
// 简单的验证邮箱格式
function checkEmail(email) {
	return email.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/)
}


/* 设置新密码 */
function checkNewPassword(){
    var password = document.getElementById('password').value ;
    if (password.length < 6 || password.length > 12){
        showmessage('提示','tips:密码长度应该为6-12位!');
        return false; 
    } 
    var repassword = document.getElementById('repassword').value ;
    if ( repassword != password )
    {
        showmessage('提示','tips:两次输入的密码不一致!');
        document.getElementById('password').value = '';
        document.getElementById('repassword').value = ''; 
        document.getElementById('password').focus();
        return false; 
    }
}
function loginForm(){
    if(autoComplate ){
        return false;
    }
    if ( $("#email").val() == '请输入邮箱地址')
    {
    	showmessage('提示','tips:请输入正确的邮箱地址');
    	return false;
    }
    return true;
}
AutoComplate=function(){
	var GetObjLength = function(obj){
    	var l = 0 ;
    	for( i in obj) 
    		l++ ;
    	return l ;
    }
	var GetObjKey = function(obj,i){
		
		var j = 0 ; 
		for( v in obj )
		{
			if ( i == j ) return v ;
			j++ ;		
		}
	}
    var _inputObject=null;
    var _enterConter=null;
    var _inputMouseSelect=null;
    var _enterHtml='';
    var _inputHeight;
    var _inputWidth;
    var _inputTxt='';
    var _inputFlag=false;
    //var _autoEmail=new Array('','163.com','126.com','sina.com','sina.com.cn','hotmail.com','qq.com','yahoo.com','yahoo.com.cn','gmail.com');
    var _autoEmail= {'_selfemail':'','_163':'163.com','_126':'126.com','sina':'sina.com','sina_com':'sina.com.cn','hotmail':'hotmail.com','qq':'qq.com','yahoo':'yahoo.com','yahoo_com':'yahoo.com.cn','gmail':'gmail.com'} ;
//    	new Array('','163.com','126.com','sina.com','sina.com.cn','hotmail.com','qq.com','yahoo.com','yahoo.com.cn','gmail.com');
    var _emailLength = GetObjLength(_autoEmail);
    var _inputLength=0;
    var _num=0;
    var _inputUser;
    var _hide=false;
    var m=0;
    var haveFocus  = false ;
    var _keyCode={
        
    };
    var OnFocus=function(){
        _inputFlag=true;
        autoComplate=true;
        if ( ! AutoComplate.haveFocus) 
        {
	        OnKeyUp();
	        AutoComplate.haveFocus = true ;
        }
    };
    var OnBlur=function(){
    	AutoComplate._num = undefined ;
        _inputFlag=false;
        autoComplate=false;
    };
    var init=function(){
        _inputWidth=_inputObject.width();
        _inputObject.bind('blur',OnBlur);
        _inputObject.bind('focus',OnFocus);
    };
    var OnKeyUp=function(){
        $(document).keyup(function(e){
            if(e.keyCode==9){
                HiddenHtml();
            }
            if(_inputFlag){
                m=0;
                _inputLength=0
                _enterHtml='';
                _inputTxt=_inputObject.val();
                if(_inputTxt==''){
                   HiddenHtml();   
                   return false;
                }
                _inputUser=_inputTxt;
                if(_inputUser.indexOf('@')>0){
                    _inputUser=_inputTxt.split('@')[0]
                    var _inputLast=_inputTxt.split('@')[1];
                }
                for(i in _autoEmail ) {
                    if(i==0 &&_inputTxt.indexOf('@') ){
                         _enterHtml += "<div class='active' id='"+_inputTxt+"' num='"+i+"'>"+_inputTxt+"</div>";
                         _inputLength++;
                         m++;
                         _num=i;
                    }else{
                         if(_inputLast){
                        	 
                            if(_autoEmail[i].match(eval("/"+_inputLast+"/i")))
                            {
                            	_num=i;
                            	if(m==0){
                            		var t='active';
                            	}else{
                            		var t='normal';
                            	}
                            	if (_autoEmail[i] != '' )
                            		_enterHtml+="<div class='"+t+"' id='"+i+"' num='"+i+"'>"+_inputUser+"@"+_autoEmail[i]+"</div>";
                            	else
                            		_enterHtml+="<div class='"+t+"' id='"+i+"' num='"+i+"'>"+_inputUser+"</div>";
                            	_inputLength++;
                            	m++;
                            }
                        }else{
                            if(m==0){
                                var t='active';
                            }else{
                                var t='normal';
                            }
                            if (_autoEmail[i] != '' )
                        		_enterHtml+="<div class='"+t+"' id='"+i+"' num='"+i+"'>"+_inputUser+"@"+_autoEmail[i]+"</div>";
                        	else
                        		_enterHtml+="<div class='"+t+"' id='"+i+"' num='"+i+"'>"+_inputUser+"</div>";
                            _inputLength++;
                             m++;
                        }
                    }
                    
                }
                
                if(e.keyCode==13){      //回车键
                    OnEnterEvent();
                    return false;;
                }else if(e.keyCode == 40 ){   //keyDown
                	
                    RemoveAction();
                	AutoComplate._num = AutoComplate._num == undefined ? 0 : AutoComplate._num ;  
                    if(AutoComplate._num < _emailLength-1){
                    	AutoComplate._num++;
                    }else{
                    	AutoComplate._num = 0;
                    }
                    _inputMouseSelect = $("#"+GetObjKey(_autoEmail,AutoComplate._num));
                    _inputMouseSelect.toggleClass('active');
                    return false;
                }else if(e.keyCode == 38){    //keyUp
                    RemoveAction();
                    AutoComplate._num = AutoComplate._num == undefined ? _emailLength : AutoComplate._num ;  
                    if(AutoComplate._num == 0){
                    	AutoComplate._num = _emailLength - 1 ;
                    }else if( AutoComplate._num <= _emailLength){
                    	AutoComplate._num--
                    }else{
                    	AutoComplate._num = _emailLength;
                    }
                    _inputMouseSelect = $("#"+GetObjKey(_autoEmail,AutoComplate._num));
                    _inputMouseSelect.toggleClass('active');
                    return false;
                }else{
                	AutoComplate._num = undefined ;
                    EnterHtml(_enterHtml);
                } 
            }
        })
    };
    var OnEnterEvent=function(){
    	var selectObj = null ;
    	$('#autocomplete div').each(function(){
    		if ( $(this).attr('class') == 'active') 
    			selectObj = $(this);
    	})
    	if ( selectObj == null ) _inputMouseSelect=$("#"+GetObjKey(_autoEmail,AutoComplate._num));
    	else _inputMouseSelect = selectObj ;
        OnSelect();
    };
    var RemoveAction=function(){
        $(".active").each(function(){
            this.className='normal'
        })
    }
    var GetDomain=function(domain){
        if(typeof(domain)=='undefined'){
            return _autoEmail[0];
        }
          if(a=domain.substr(0,domain.lastIndexOf('.'))){
            return a
          }else{
            return _inputTxt;
          }
    };
    var EnterHtml=function(val){
    	try {
    		_enterConter.css({'min-width':_inputWidth+6})
    	}catch(ex){
    		
    	}
       _enterConter.html(val);
       if(val!='')       
        _enterConter.show();
       else
        HiddenHtml();         
        BindEvent();
    };
    var BindEvent=function(){
        $(".normal").bind('mouseover',OnMouseOver);
        $(".normal").bind('mouseout',OnMouseOut);
        $(".active").bind('click',OnEnterEvent);
    };
    var HiddenHtml=function(){
        _enterConter.html('');
        _enterConter.hide();
        m=0; 
        _inputLength=0;
    }
    var OnMouseOver=function(){
        _inputMouseSelect=this;
        _num=parseInt($(_inputMouseSelect).attr('num'));
        _inputMouseSelect.className='active';
        BindEvent();
    };
    var OnMouseOut=function(){
        this.className='normal';
    };
    var OnSelect=function(){
      
        var txt=$(_inputMouseSelect).html()?$(_inputMouseSelect).html():_inputTxt;
        _inputObject.val(txt);
        HiddenHtml();
        $("#password").focus();
        autoComplate=false;
        _inputFlag=false;
    };
    return {
        Register:function(o,appo){
            _inputObject=o;
            _enterConter=appo;
            init();
        }
    }
}
