/*-----------------------------------------------------------------------------------------/
 * JavaScript Framework Written For joytao8.com. Based On JQuery 1.3.2+.
/*----------------------------------------------------------------------------------------*/


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: "",
		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: 250 });
                } else if (settings.effect == "slide") {
                    obj.find(settings.mainCell + ":eq(" + oi + ")").slideDown({ queue: false, duration: 250 });
                } 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: 250 });
			}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){settings.sInterval=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 InputFocus(obj, className){
	jQuery(obj).bind("focus", function(){
		jQuery(this).addClass(className);
		//jQuery(this).val("");
	});
		jQuery(obj).bind("blur", function(){
		jQuery(this).removeClass(className);
	}); 
}


//更改字体大小
var status0='';
var curfontsize=10;
var curlineheight=16;
function fontZoomA(){
  if(curfontsize>8){
    document.getElementById('fontzoom').style.fontSize=(--curfontsize)+'pt';
	document.getElementById('fontzoom').style.lineHeight=(--curlineheight)+'pt';
  }
}
function fontZoomB(){
  if(curfontsize<64){
    document.getElementById('fontzoom').style.fontSize=(++curfontsize)+'pt';
	document.getElementById('fontzoom').style.lineHeight=(++curlineheight)+'pt';
  }
}

//横向滚动
function bizScroll(container, itemCell, btLeft, btRight){
	var obj = jQuery(container);
	//点击图片弹出
	obj.find(itemCell).first().addClass("on");//主席怎加，当前项目添加类名on
	obj.find(itemCell).click(function(){
		obj.find(itemCell).each(function(){ jQuery(this).removeClass("on"); });//主席怎加，当前项目添加类名on
		jQuery(this).addClass("on");//主席怎加，当前项目添加类名on
		jQuery(this).find("blockquote").slideToggle();
		return false;
	});
	//隐藏已弹出层
	var hideBlock = function(){
		obj.find("blockquote:visible").slideUp();
	};
	//点击按钮滚动
	jQuery(btRight).click(function(){
		hideBlock();
		var curA = obj.find(itemCell + ":first");
		curA.css("margin-left", "10px")
			.animate({marginLeft: "-" + curA.width() + "px"}, 500,
				function(){
					curA.appendTo(obj);
					curA.css("margin-left", "15px");
				});
	});
	jQuery(btLeft).click(function(){
		hideBlock();
		var curA = obj.find(itemCell + ":last");
		curA.prependTo(obj);
		curA.css("margin-left", "-" + curA.width() + "px")
			.animate({marginLeft: "10px"}, 500);
	});
	//按钮悬停样式
	jQuery(btLeft).hover(function(){
		jQuery(this).addClass("shoverL");
	},function(){
		jQuery(this).removeClass("shoverL");
	});
	jQuery(btRight).hover(function(){
		jQuery(this).addClass("shoverR");
	},function(){
		jQuery(this).removeClass("shoverR");
	});
}



//悬停选中效果
function hoverSelectList(obj, sItem, className){
	var sItem = (sItem==undefined || sItem==null) ? "li" : sItem;
	var className = (className==undefined || className==null) ? "hover" : className;
	var isFixOnFirst = false;
	
	jQuery(obj).each(function(j, cell){
		jQuery(sItem, cell).first().addClass(className);
		jQuery(sItem, cell).each(function(i, ele){
			jQuery(ele).mouseover(function(){
				jQuery(this).addClass(className).siblings().removeClass(className);
			});
		}); 
		if(isFixOnFirst){
			jQuery(cell).mouseout(function(){
				jQuery(sItem, cell).removeClass(className);
				jQuery(sItem, cell).first().addClass(className);
			});
		}
	});
}

//点击选中效果
function clickSelectList(obj, sItem){
	var sItem = (sItem==undefined || sItem==null) ? "dl" : sItem;
	var defaultIndex = 0;//默认选中第二个

	var setActive = function(o){
		jQuery("dd", obj).hide();
		jQuery(".on", obj).removeClass("on");

		o.find("dd").slideDown();
		o.addClass("on");
	}
	
//初始化
	setActive(jQuery(sItem, obj).eq(defaultIndex));
	
	jQuery(sItem, obj).each(function(i, ele){
		jQuery(ele).click(function(){
			var cur=jQuery(this);
			if(cur.find("dd").is(":hidden")){
				setActive(cur);
			}
		});
	}); 
}

