﻿(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();
                });
            }


            // Validate当换到下一行进行验证
            if($(this).attr('reg') != undefined) //如果reg定义的话
            {
                $(this).focus(function(){
                    $(this).removeClass('tooltipinputerr'); //当获取焦点，移除惊叹号效果
					
                }).blur(function(){
					                   
				   var thisReg = new RegExp($(this).attr('reg'));//获取正则表达式
                    
									
					 if($(this).attr('require') == 'false')
                    {
						//if (this.value.replace(/(^s*)|(s*$)/g, “”) != "")
						if (this.value != '')
						{
							if(thisReg.test(this.value))
                    		{
                      		  $(this).removeClass('tooltipinputerr').addClass('tooltipinputok'); //正确加入真确css
                   			}
                    		else
                    		{
                            $(this).removeClass('tooltipinputok').addClass('tooltipinputerr');  //错误加入错误css
                    		}                   
						}
						else
						{
							$(this).removeClass('tooltipinputerr'); 
						
						}
					}		
					
					else
					{						
						
					if($('#r2').attr('checked') != '')
						{
							if(thisReg.test(this.value))
                   		 	{
                        	$(this).removeClass('tooltipinputerr').addClass('tooltipinputok'); //正确加入真确css
                   			 }
                   			 else
                   			 {
                        	$(this).removeClass('tooltipinputok').addClass('tooltipinputerr');  //错误加入错误css
                   		 	}										

						}
						else
						{
								if(thisReg.test(this.value))
                   		 	{
                        	$(this).removeClass('tooltipinputerr').addClass('tooltipinputok'); //正确加入真确css
                   			 }
                   			 else
                   			 {
                        	$(this).removeClass('tooltipinputok').addClass('tooltipinputerr');  //错误加入错误css
							$('#f15').removeClass('tooltipinputerr');
							$('#f18').removeClass('tooltipinputerr');
                   		 	}	
						}
											 
					}
							
                    if($(this).attr('toupper') == 'true')
                    {
                        this.value = this.value.toUpperCase(); //全部转换为大写
                    }
                });
				
				
            }
        });

        // Form Check 当提交了表单进行验证
        if(opts.onsubmit)
        {
            $('#form1').submit( function () {
                var isSubmit = true;
				
				var arr1=$('#f4').attr('value');
				var arr2=$('#f5').attr('value');
				
				if (arr1!='' && arr2!='')	
				{
				
				var arr=arr1.split('-'); 
				var starttime=new Date(arr[0],arr[1],arr[2]); 
				var starttimes=starttime.getTime();

				var arrs=arr2.split('-'); 
				var lktime=new Date(arrs[0],arrs[1],arrs[2]); 
					var lktimes=lktime.getTime();

				if(starttimes > lktimes) 
					{
					alert('错误提示：退房时间不能早于预订时间，请检查重新选择');
					$('#f5').focus();
				 	isSubmit = false;
					}
				}
				else
				{
					alert('错误提示：预订时间与退房时间不能为空');
					if(arr1=='')
					{$('#f4').focus();}
					else
					{$('#f5').focus();}
					isSubmit = false;
				}
				
				$(this).find('input[reg]').each(function(){
					var thisReg = new RegExp($(this).attr('reg'));
                    if($(this).attr('require') == 'false')
                    {
						
						if (this.value != '')
						{
							if(!thisReg.test(this.value))
                    		{
								$(this).removeClass('tooltipinputok').addClass('tooltipinputerr');						
                                 isSubmit = false;
							}
						}						
					}						
					else
					{						
						
						if($('#r2').attr('checked') != '')
						{
							 if(!thisReg.test(this.value))
                    			{
                    			$(this).removeClass('tooltipinputok').addClass('tooltipinputerr');	
                       			 isSubmit = false;
                    			} 							 
						   }
						else
						{
							if(!thisReg.test(this.value))
                    			{
                    			$(this).removeClass('tooltipinputok').addClass('tooltipinputerr');	
								 $('#f15').removeClass('tooltipinputerr');	
								 $('#f18').removeClass('tooltipinputerr');	
                       			 isSubmit = false;
                    			}
						}
					}	   
				   
                });
                return isSubmit;
            } ); 
        }
    };
		
    $.extend({
        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 + 22;
        },
        
        onsubmit : true
    });  
    $.fn.tooltip.defaults = { onsubmit: true };
    
    $(document).ready(function() {jQuery('input[tip],input[reg]').tooltip()});
    
})(jQuery)