﻿

var isIE6 = (navigator.userAgent.toLowerCase().indexOf("msie 6") != -1);
var isIE = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);


/*-----------------------------------------------------------------------------------------/
* JQuery PlugIn - Slide Show(or, Switch Tab)
* JQuery滑动切换插件 ver 1.2.0
*
* defaultIndex 	- 默认选中的标签索引，从0开始
* titOnClassName	- 标签选中时的样式
* titCell			- 自定义标题标签，支持选择符
* mainCell			- 自定义标题标签，支持选择符
* delayTime		- 延迟触发时间. 当这个时间小于切换动画效果时间时, 动画将被禁用
* interTime		- 自动切换时间. 当这个时间大于0时, 标签将定时自动切换
* trigger			- 滑动触发方式. 默认为click, 可选择mouseover
* effect			- 切换动画. 默认不使用动画. 目前仅提供fade(淡出), slide(向下展开)两种
* omitLinks		- 是否忽略带链接标签，默认为否
* debug			- 调试模式. 默认关闭
/*----------------------------------------------------------------------------------------*/

jQuery.fn.switchTab = function(settings) {
    settings = jQuery.extend({//可配置参数
        defaultIndex: 0,
        titOnClassName: "on",
        titCell: "dt span",
        mainCell: "dd",
        delayTime: 250,
        interTime: 0,
        trigger: "click",
        effect: "",
        omitLinks: false,
        debug: "",
		fadeTime:250,
		sInterval:null
    },
	settings,
	{//插件信息
	    version: 100
	});

    this.each(function() {
        var st;
        var curTagIndex = -1;
        var obj = jQuery(this);
        if (settings.omitLinks && settings.titCell.substr(settings.titCell.length - 1, 1) == "a") {
            settings.titCell = settings.titCell + "[href^='#']";
        }
        var oTit = obj.find(settings.titCell);
        var oMain = obj.find(settings.mainCell);
        var cellCount = oTit.length; //可切换个数
        var ShowSTCon = function(oi) {
            if (oi != curTagIndex) {
                if (curTagIndex < 0) obj.find(settings.titCell + "." + settings.titOnClassName).removeClass(settings.titOnClassName);
                else oTit.eq(curTagIndex).removeClass(settings.titOnClassName);
                oMain.hide();
                obj.find(settings.titCell + ":eq(" + oi + ")").addClass(settings.titOnClassName);
                if (settings.delayTime < 250 && settings.effect != "") settings.effect = "";
                if (settings.effect == "fade") {
                    obj.find(settings.mainCell + ":eq(" + oi + ")").fadeIn({ queue: false, duration: settings.fadeTime });
                } else if (settings.effect == "slide") {
                    obj.find(settings.mainCell + ":eq(" + oi + ")").slideDown({ queue: false, duration: settings.fadeTime });
                } else {
                    obj.find(settings.mainCell + ":eq(" + oi + ")").show();
                }
                curTagIndex = oi;
            }
        };

        var ShowNext = function() {
            oTit.eq(curTagIndex).removeClass(settings.titOnClassName);
            oMain.hide();
            if (++curTagIndex >= cellCount) curTagIndex = 0;
            oTit.eq(curTagIndex).addClass(settings.titOnClassName);
			
			if (settings.effect == "fade") {
				obj.find(settings.mainCell + ":eq(" + curTagIndex + ")").fadeIn({ queue: false, duration: settings.faceTime });
			}else{
				oMain.eq(curTagIndex).show();
			}
            //ShowSTCon(curTagIndex);
        };

        //根据defaultIndex初始化
        ShowSTCon(settings.defaultIndex);

        //定时切换
		var interFun = function(){
			if (settings.interTime > 0) {
				   settings.sInterval = setInterval(function() {
					ShowNext();
				}, settings.interTime);
			}
		};

		interFun();

        //处理交互事件
		obj.hover(
			function(){ if(settings.sInterval!=null){clearInterval(settings.sInterval);}  },
			function(){ interFun(); }
		);

        oTit.each(function(i, ele) {
            if (settings.trigger == "click") {
                jQuery(ele).click(function() {
                    ShowSTCon(i);
                    return false; //若有链接而选择了click模式, 链接不起作用
                });
            } else if (settings.delayTime > 0) {
                jQuery(ele).hover(function() {
                    st = setTimeout(function() {//延时触发
                        ShowSTCon(i);
                        st = null;
                    }, settings.delayTime);
                }, function() {
                    if (st != null) clearTimeout(st);
                });
            } else {
                jQuery(ele).mouseover(function() {
                    ShowSTCon(i);
                });
            }
        });
    });
    if (settings.debug != "") alert(settings[settings.debug]);
    return this;
};



//垂直向上滚动
//wrapper, 容器选择符
//sItem, 滚动元素选择符
jQuery.fn.scrollUp = function(settings) {
	settings = jQuery.extend({
		delayTime: 4000,
		sItem: 'li'
	}, settings);

	var obj = jQuery(this);
	this.each(function() {
		var stepScroll = function(){
			var curItem = obj.find(settings.sItem + ":first");
			curItem.animate({
				marginTop: "-" + curItem.height()
			},
			300,
			"",
			function(){
				curItem.appendTo(obj);
				curItem.css("margin-top", "0px");
			});
		};
		setInterval(stepScroll, settings.delayTime);
	});
	return this;
};

//内容无缝滚动
function Marquee(marqueeBox, delaytime, direction, itemCell){
	if(delaytime == undefined)delaytime = 50;
	if(direction == undefined)direction = "up";
	if(itemCell == undefined)itemCell = "ul";
	var oMarquee = jQuery(marqueeBox);
	var oMarqueeCon = oMarquee.find(itemCell);
	var oMarqueeCopy = oMarqueeCon.clone(true).insertAfter(oMarqueeCon);

	var ScrollUp = function(){
		if(oMarqueeCopy[0].offsetHeight-oMarquee[0].scrollTop<=0){
			oMarquee[0].scrollTop = 0;
		}else{
			oMarquee[0].scrollTop++;
		}
	}
	
	var ScrollLeft = function(){
		if(oMarqueeCopy[0].offsetWidth-oMarquee[0].scrollLeft<=0){
			oMarquee[0].scrollLeft = 0;
		}else{
			oMarquee[0].scrollLeft++;
		}
	}
	
	switch(direction){
		case "left":
			var oScroll=setInterval(ScrollLeft, delaytime);
			oMarquee.hover(function(){
				clearInterval(oScroll);
			}, function(){
				oScroll=setInterval(ScrollLeft, delaytime);
			});
			break;
		case "up":
		default:
			var oScroll = setInterval(ScrollUp, delaytime);
			oMarquee.hover(function(){
				clearInterval(oScroll);
			}, function(){
				oScroll=setInterval(ScrollUp, delaytime);
			});
	}
}

//列高度统一
function HeightFix(column, column2, offset){
	var oCol = jQuery(column);
	var oCol2 = jQuery(column2);
	if(offset == undefined)offset = 0;
	if(oCol.height() > oCol2.height()){
		oCol2.height(oCol.height() - offset);
	}else{
		oCol.height(oCol2.height() - offset);
	}
}

//获得日期
function RunGLNL(obj){
	var today = new Date();
	var d = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
	var DDDD = (today.getFullYear()<100 ? today.getFullYear()+1900:today.getFullYear())+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日";
	DDDD = DDDD + " " + d[today.getDay()];
	jQuery(obj).text(DDDD);
}



function hover(obj, className){
    jQuery(obj).hover(function(){
        jQuery(this).addClass(className);
    },function(){
        jQuery(this).removeClass(className);
    });
}



// 加入收藏代码 Start -->
function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle);
    } catch (e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "");
        } catch (e) {
            alert("加入收藏失败,请手动添加.");
        }
    }
}

// 设为首页代码 Start -->
function SetHome(pageURL) {
    if (document.all) {
        document.body.style.behavior='url(#default#homepage)';
        document.body.setHomePage(pageURL);
    }
    else if (window.sidebar) {
        if(window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
            }
            catch (e) {
                alert( "该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config,然后将项signed.applets.codebase_principal_support 值该为true" );
            }
        }
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage',pageURL);
    }
}


   /*
   * zxShowDiv 0.1
   * Copyright (c) 2010 zhuxi
   * Date: 2010-10-08
   * 显示隐藏图层
   */
  (function($){
	  $.fn.zxShowDiv = function(options){
		  var defaults = {
			  disID:"#disDiv",//需显示图层ID
			  closeID:"#close", //关闭按钮ID，通常用于click事件
			  effect:"default",//切换动画. 默认不使用动画. 目前仅提供fade(淡入), slide(向下展开)两种
			  trigger:"mouseover",//鼠标事件，mouseover或者click
			  delayTime:100, //延迟执行时间
			  speed:400 //显示速度

		  }
		  var opts = $.extend(defaults, options);
		  this.each(function(){
			  var $e=$(this);
			  var $dID = $(opts.disID);
			  var $cID = $(opts.closeID);
			  var ef = opts.effect;
			  var tig = opts.trigger;
			  var dt = opts.delayTime;
			  var sp = opts.speed;
			  //主事件监听
			  if( tig=="mouseover" ){ $e.hover(function(){
					st = setTimeout(function(){showFun(); dID_event(); st=null;},dt);},
					function(){if(st!=null)clearTimeout(st); hideFun();});}
			  else{ $e.click(function(){ if( $dID.css("display")=="none" ){ showFun() } else { hideFun() }; return false }); }
			  //关闭按钮监听
			  $cID.click( function(){hideFun();} );

			  //显示图层监听
			  function dID_event()
			  { $dID.hover( function(){ $(this).show(); $e.addClass("on"); },function(){ hideFun(); }  ); }

			  function showFun()
			  { 
				  if( ef=="default" ){ $dID.show(); }
				  if( ef=="fade" ){ $dID.fadeIn(sp); }
				  if( ef=="slide" ){ $dID.slideDown(sp); }
				  $e.addClass("on");
			  }

			  function hideFun(){ $dID.hide(); $e.removeClass("on"); }
		  });
	  };
  	})(jQuery);
