﻿/*
	S.Sams Lifexperience
	-----------------------------------------------------
	Copyright (C) 2002 - 2008 S.Sams Lifexperience!
	All rights reserved
	Email:		Cassams@gmail.com / S.Sams@msn.com
	WebSite:	Http://lab.travelive.com.cn/
	Msn:		S.Sams@Msn.com
	Author:		Sam Shen
	
   另注：本文件由eqing进行扩展
   API说明：
           关键字：reg：正则表达式,ajaxcheckd=true：进行ajax验证,pwdcheckd=true：进行密码验证,writeed：只有在非空的情况下才进行验证
             
       
*/

(function($) {
    $.fn.tooltip = function(options){
        var opts = $.extend({}, $.fn.tooltip.defaults, options);
        $('body').append('<div class="tooltipshowpanel"></div>');
        $(document).mouseover(function(){$('.tooltipshowpanel').hide();});
        this.each(function(){
            // Tooltip
            if($(this).attr('tip') != undefined)
            {
                $(this).hover(function(){
                    $('.tooltipshowpanel')
                        .css({left:$.getLeft(this)+'px',top:$.getTop(this)+'px'});
                    $('.tooltipshowpanel').html($(this).attr('tip'));
                    $('.tooltipshowpanel').fadeIn("fast");
                },
                function(){
                    $('.tooltipshowpanel').hide();
                });
            }
            // Reg
            if($(this).attr('reg') != undefined)
            {
                $(this).focus(function(){
                    $(this).removeClass('tooltipinputerr');
                }).blur(function(){
                     var thisReg = new RegExp($(this).attr('reg'));
                    if($(this).attr('writeed') == 'true') //如果输入值不可空，则进行验证，否则可不验证
                    {   
                        if (!(this.value==""))
                        {
                           if(thisReg.test(this.value))
                            {
                                $(this).removeClass('tooltipinputerr').addClass('tooltipinputok');
                            }
                            else
                            {
                                $(this).removeClass('tooltipinputok').addClass('tooltipinputerr');
                            }
                        }
                    }
                    else
                    {
                      if (this.type=="radio") //如果控件为radio类型，则进行以下验证
                        {
                         var item = $('input[@name='+this.name+'][@checked]').val();
                           if (item !== null && typeof item != 'undefined') 
                             {
                               $("#"+this.name+"Msg").html("<img src=/jquery/images/accept.png><font color=green>已选择正确</font>")
                             }
                             else
                             {
                               $("#"+this.name+"Msg").html("<img src=/jquery/images/exclamation.png><font color=red>请选择以上选项中的其中一项</font>")
                             }
                        }
                        else
                        {
                            if(thisReg.test(this.value))
                            {
                                $(this).removeClass('tooltipinputerr').addClass('tooltipinputok');
                            }
                            else
                            {
                                $(this).removeClass('tooltipinputok').addClass('tooltipinputerr');
                            }
                            if($(this).attr('ajaxcheckd') == 'true') //要求进行ajax验证
                            {
                                 $.checkUserName(this.value)   
                            }
                            if($(this).attr('pwdcheckd') == 'true') //要求验证密码
                            {
                                 if ($("#MemberPwd").val()==$("#MemberPwd1").val())
                                 {
                                 $("#PwdMsg").html("<font color=green>密码一致</font>")
                                 $("#MemberPwd1").removeClass('tooltipinputerr').addClass('tooltipinputok');
                                 }
                                 else
                                 {
                                 $("#PwdMsg").html("<font color=red>密码不一致</font>")
                                  $("#MemberPwd1").removeClass('tooltipinputok').addClass('tooltipinputerr');
                                 }
                            }
                            if($(this).attr('toupper') == 'true') //大写
                            {
                                this.value = this.value.toUpperCase();
                            }
                        }
                    }
                });
            }
        });
    };
    $.extend({
         
         CheckSubmit : function(inForm) { //提交检查正则表达式验证
           var isSubmit = true;
               $("#"+inForm).find('[reg]').each(function(){
                    var thisReg = new RegExp($(this).attr('reg'));
                    if($(this).attr('writeed') == 'true')  //writeed说明该控件只有在非空的情况下才进行验证
                    {   
                        if (!(this.value==""))//如果输入值不可空，则进行验证，否则可不验证
                        {
                           if(!thisReg.test(this.value))
                            {
                                $(this).removeClass('tooltipinputok').addClass('tooltipinputerr');
                                isSubmit = false;
                            }
                        }
                    }
                    else
                    {
                       if (this.type=="radio") //如果控件为radio类型，则进行以下验证
                        { 
                             var item = $('input[@name='+this.name+'][@checked]').val();
                             if (item !== null && typeof item != 'undefined') 
                             {
                              $("#"+this.name+"Msg").html("<img src=/jquery/images/accept.png><font color=green>已选择正确</font>")
                             }
                             else
                             {
                                $("#"+this.name+"Msg").html("<img src=/jquery/images/exclamation.png><font color=red>请选择以上选项中的其中一项</font>")
                                isSubmit = false;
                             }
                        } 
                        else //其他类型统一以以下进行验证
                        {
                            if(!thisReg.test(this.value))
                            {
                                $(this).removeClass('tooltipinputok').addClass('tooltipinputerr');
                                isSubmit = false;
                            }
                        }
                    }
                });
           return isSubmit
        },
        getWidth : function(object) {
            return object.offsetWidth;
        },

        getWidth : function(object) {
            return object.offsetWidth;
        },

        getLeft : function(object) {
            var go = object;
            var oParent,oLeft = go.offsetLeft;
            while(go.offsetParent!=null) {
                oParent = go.offsetParent;
                oLeft += oParent.offsetLeft;
                go = oParent;
            }
            return oLeft;
        },

        getTop : function(object) {
            var go = object;
            var oParent,oTop = go.offsetTop;
            while(go.offsetParent!=null) {
                oParent = go.offsetParent;
                oTop += oParent.offsetTop;
                go = oParent;
            }
            return oTop + $(object).height()+ 5;
        },
        checkUserName : function(inUserName) { //检查用户名
                      $.ajax({
                        type: "get",
                        dataType: "html",
                        url: "/Jquery/ashx/Member.ashx",
                        data: "RequestType=1&MemberName="+ inUserName +"",
                        success: function(data){
                             if (data>0)
                             {
                              $("#UserNameMsg").html("<font color=green>对不起，该用户名已被其它用户占用，请重新换个用户名！</font>")
                              $("#MemberName").removeClass('tooltipinputok').addClass('tooltipinputerr');
                             }
                             else
                             {
                              $("#UserNameMsg").html("<font color=green>恭喜您，该用户名可以使用！</font>")
                              $("#MemberName").removeClass('tooltipinputerr').addClass('tooltipinputok');
                             }
                        }
                }); 
        },
        onsubmit : true
    });
    $.fn.tooltip.defaults = { onsubmit: true };
})(jQuery);

(function($){
	$(document).ready(function(){
		$('select[reg],input[tip],input[reg],textarea[tip],textarea[reg]').tooltip();
	});
})(jQuery);