// JavaScript Document
;(function($){	
	function clearstock(){				
	    clearTimeout(setTimeout("0")-1);
	}	
	function isDate(){
		var isdate = true;		
		var tmpDate = new Date();		
		var year  = tmpDate.getFullYear();		
		var day   = tmpDate.getDate();
		var month = tmpDate.getMonth()+1;		
		//var hour  = tmpDate.getHours();
		//var m     = tmpDate.getMinutes();
		//var s     = tmpDate.getSeconds();
		var week  = tmpDate.getDay();
		
		var startDate1 = new Date(year+"/"+month+"/"+day+" 09:30:00");
		var endDate1   = new Date(year+"/"+month+"/"+day+" 11:30:00");
		var startDate2 = new Date(year+"/"+month+"/"+day+" 13:00:00");
		var endDate2   = new Date(year+"/"+month+"/"+day+" 15:00:00");
		switch(week){
			case 0:
			case 6:
			   isdate = false;
			break;
			default:
			if(tmpDate < startDate1){
				isdate = false;
			}
			if(tmpDate > endDate2){
				isdate = false;
			}
			if((tmpDate>endDate1) && (tmpDate<startDate2)){
				isdate = false;
			}
		}
		return isdate;		
	}	
	
	function thclick(self){
		var $ths = self.find("thead tr th[class!='']");
		$ths.each(function(){			
		    $(this).click(function(){	
				if(!self.data("isclick")) return false;
				if(typeof($(this).data("asc")) == "undefined"){
					$(this).data("asc",0);
				}else if($(this).data("asc") == 1){
					$(this).data("asc",0);
				}else{
					$(this).data("asc",1);
				}
				self.data("asc",$(this).data("asc"));
				var classname = $(this).attr("class");
				classname = classname.split(" ");
				classname = classname[0];				
			    self.data("sort",classname);
				self.trigger("update");
			});				
	    });		
	}
	
	function getstock(self){
		if(document.getElementById("loading")){
		  $("#loading").ajaxStart(function(){			
            $(this).show();			
          }); 
		  $("#loading").ajaxStop(function(){
            $(this).hide();			
          }); 
		}
		$.ajax({
			url  : "loadhqNodeData.php",
			data : {
		        r         : Math.random(),
			    type      : self.data("type"),			    
			    page      : self.data("page"),
			    num       : self.data("num"),
				sort      : self.data("sort"),
			    asc       : self.data("asc"),
			    node      : self.data("node"),
				w         : self.data("w"),
				style     : self.data("style")
		    },
		    success : function(data){
				self.data("isclick",true);
		        self.find("tbody").html(data);
				var index,curobj;				
				curobj = self.find("thead tr th."+self.data("sort"));
				index  = self.find("thead tr th").index(curobj);
				curobj.addClass("current");
				curobj.append("<span class='asc"+self.data("asc")+"'></span>");	
				self.find("tbody tr").each(function(){       
	                $(this).find("td").eq(index).addClass("current");
				    $(this).find("td:last").css("border-right","none");
                });	
				
	        },
			beforeSend : function(){
				self.data("isclick",false);
				self.find("thead tr th").each(function(){
					$(this).removeClass("current");
				    $(this).find("span").remove();
				});					
			},
			error : function(){
				self.find("tbody").html("load error");
			}
	    });
	}	
	
	function sethqUrl(self,options){
		options = options || {};
		if($.fn.loadhq.options){
			options = $.extend($.fn.loadhq.options,options);
		}		
	    self.data("type",options.type);
		self.data("page",options.page);
		self.data("num",options.num);
		self.data("sort",options.sort);
		self.data("asc",options.asc);
		self.data("node",options.node);
		self.data("w",options.w);
		self.data("reFresh",options.reFresh);
		self.data("time",options.time);
		self.data("pstr",options.pstr);	
		self.data("style",options.style);
		var curobj = self.find("thead tr th."+self.data("sort"));
		curobj.data("asc",self.data("asc"));
	}
	
	function loadPage(self){    
        var count = self.data("num");		
        $.get("loadCount.php?type="+self.data("type")+"&node="+self.data("node")+"&w="+self.data("w"),function(data){			
	        var total = data;
		    var pagecount = Math.ceil(total/count);
			var pobj = $(self.data("pstr"));			
		    var PageClick = function(pageclickednumber) {
				if(!self.data("isclick")) return false;
		        self.data("page",pageclickednumber);
                pobj.pager({ pagenumber: pageclickednumber, pagecount: pagecount, buttonClickCallback: PageClick }); 
				getstock(self);
            }
		    pobj.pager({ pagenumber: self.data("page"), pagecount: pagecount, buttonClickCallback:PageClick });	   
	    });
    }
	
	$.fn.loadhq = function(options){		
		var $my = $(this);
		$my.setStockPara(options);
		return this.each(function(){
			thclick($my);
			$my.bind("update",function(){
			    getstock($my);
			}).trigger("update");
			loadPage($my);			
		});	
		
	}//loadhq;
	
	$.fn.loadSimplehq = function(options){	
	    $.fn.loadhq.options.style = "s";
		$.fn.loadhq.options.num = 10;
		var $my = $(this);
		$my.setStockPara(options);
		return this.each(function(){
			thclick($my);
			$my.bind("update",function(){
			    getstock($my);
			}).trigger("update");				
		});		
	}//loadSimplehq;
	
	$.fn.loadhqtop10 = function(options){		    
		$.fn.loadhq.options.num = 10;
		var $my = $(this);
		$my.setStockPara(options);
		return this.each(function(){
			thclick($my);
			$my.bind("update",function(){
			    getstock($my);
			}).trigger("update");				
		});		
	}//loadhqtop10;
	
	$.fn.setStockPara = function(options){
		sethqUrl($(this),options);
	}
	
	//w 
	$.fn.loadhq.options = {
	    type    : 1,
        page    : 1,
        num     : 50,
        sort    : "changepercent",
        asc     : 0,
        node    : "sh_a",
		w       : "",
		reFresh : false,
		time    : 5000,
		pstr    : ".pager",
		style   : "d"
	};
    
})(jQuery);

;(function($){
    $.extend({
        "tab":function(elements,e){
			var ev = (!e) ? "mouseover" : "click";
		    elements.bind(ev,t);			
			function t(){
				var $my = $(this);
		        if($my.is(".current")) return false;
		        elements.each(function(){
		            $(this).removeClass("current");
			        $(this).next().fadeOut("fast");
		        });
	            $my.addClass('current');
		        $my.next().fadeIn("fast");
			}
		},
		"stab": function(elements,e){
			var ev = (!e) ? "mouseover" : "click";
		    elements.bind(ev,b);
			function b(){
			    elements.removeClass("leftline");
                var index = elements.index(this);
				if(index > 0) elements.slice(0,index).addClass("leftline");
			}
		},
		"itab" : function(elements,e){
			var ev = (!e) ? "mouseover" : "click";
		    elements.bind(ev,b);
			function b(){
				var $my = $(this);
		        if($my.is(".current")) return false;
		        elements.each(function(){
		            $(this).removeClass("current");			        
		        });
	            $my.addClass('current');
				var url = $my.attr("url");
				if(url) $("#frame_content").attr("src",url);
			}
		}
	});
	$.fn.extend({
	    "tab":function(e){			
		    $.tab($(this),e);
			return $(this);
		},
		"stab" : function(e){
			$.stab($(this).tab(e),e);
			return $(this);
		},
		"itab" : function(e){
			$.itab($(this),e);
			return $(this);
		}
	});
})(jQuery);
