﻿/**************************************
*Filename:      setTab标签切换js
*Version:       2.0.0(2009-08-24)
*Author:        jasy[TMUED]

参数说明：
id1:标签切换父容器的ID
tag1:标签切换的相应标签
tabclass:标签选中状态的class
id2:切换内容的父容器ID
tag2:切换内容的相应子标签
changeEvent:标签切换的触发事件(值为click时为点击切换,值为hover时为鼠标经过切换)
changeTime:是否定时切换changeTime值即为定时切换间隔时间(毫秒为单位)，无则不定时切换
isClick:是否单击开关内容区(可选true或false值);
isClickAll:是否单独开关内容区（可选true或false值）;
fadeTime:是否渐显效果,值为渐显速度(毫秒为单位).无值则为无渐显动画;
(提示：IE下id2的tag2须CSS触发IE的layout属性alpha值才有效,例如设置zoom:1.)
isReturnFalse:是否return false;
isConIdNum:是否内容区以id+数字下标的方式[下标从1开始].
onNum:设置默认第几个标签打开
isOpenOne:是否默认打开一个，false则为全关闭
***************************************/

/*chiangeTime开始：1轮播时间，2内容区开关，3内容区单独开关，4渐隐延迟，5是否弹回顶部，6内容区以ID还是标签名，
7默认第几个标签打开，8是否默认打开一个标签。
*/


//标签切换主函数
function j_setTab(tabId, tag1, tabclass, conId, tag2, changeEvent, changeTime, isClick, isClickAll, fadeTime, isReturnFalse, isConIdNum, onNum, isOpenOne,startStopButtonId,startBtnOn,startBtnOff) {
	function $(id){ return document.getElementById(id);}
    onNum--;
    var tli = document.getElementById(tabId).getElementsByTagName(tag1);
    if (!isConIdNum) {
        var cli = document.getElementById(conId).getElementsByTagName(tag2);
    }

    var opaStep = 0.1;
    var isScroll = true;
	
	
    //初始化设置所有
    for (i = 0; i < tli.length; i++) {
        tli[i].className = '';
        if (isConIdNum) {
            document.getElementById(conId + (i + 1)).style.display = "none";
        } else {
            cli[i].style.display = "none";
        }
    }
    //设置当前
    if (isOpenOne) {
        tli[onNum].className = tabclass;
    }
    /*    setTabCon(onNum);*/
    if (isConIdNum) {
        document.getElementById(conId + (onNum + 1)).style.display = "block";
    } else {
        if (isOpenOne) {
            cli[onNum].style.display = "block";
        }
    }
    //遍历元素执行函数
    for (i = 0; i < tli.length; i++) {
		
        tli[i].value = i;
		
		//下面为鼠标移动到图片上时停止轮播
		
/*        tli[i].onmouseout = function() {
            isScroll = true;
        };
		 if (!isConIdNum) {
		cli[i].onmouseout = function() {
            isScroll = true;
        };
	}else{
		document.getElementById(conId + (i+1)).onmouseout = function(){
			 isScroll = true;
			};
		}
        tli[i].onmouseover = function() {
            isScroll = false;
        };
		 if (!isConIdNum) {
		cli[i].onmouseover = function() {
            isScroll = false;
        };
		 }else{
		document.getElementById(conId + (i+1)).onmouseover = function(){
			 isScroll = false;
			};
		}*/
		
		
		
        if (changeEvent == "click") {
            tli[i].onclick = function() {
                setTabCon(this.value);
				if(document.getElementById('con_pic')){
					DrawImg('con_pic' , 'img' , '658' ,'520');		
					}
                if (isReturnFalse) {
                    return false;
                }
			
				
            }
        } else if (changeEvent == "hover") {
            tli[i].onmouseover = function() {
                setTabCon2(this.value);
				if(document.getElementById('con_pic')){
					DrawImg('con_pic' , 'img' , '658' ,'520');		
					}
                isScroll = false;
            }
            tli[i].onclick = function() {
                setTabCon(this.value);
				if(document.getElementById('con_pic')){
					DrawImg('con_pic' , 'img' , '658' ,'520');		
					}	
                if (isReturnFalse) {
                    return false;
                }
				
				
            }
        }
    }

    //设置标签标题与内容切换[对应click事件]
    function setTabCon(n) {
        if (isClickAll) {
            tli[n].className = (tli[n].className == tabclass) ? "": tabclass;
            if (fadeTime) {
                if (isConIdNum) { (document.getElementById(conId + (n + 1)).style.display == "block") ? fadeOut(document.getElementById(conId + (n + 1))) : fadeIn(document.getElementById(conId + (n + 1)));
                } else { (cli[n].style.display == "block") ? fadeOut(cli[n]) : fadeIn(cli[n]);
                }
            } else {
                if (isConIdNum) {
                    document.getElementById(conId + (n + 1)).style.display = (document.getElementById(conId + (n + 1)).style.display == "block") ? "none": "block";
                } else {
                    cli[n].style.display = (cli[n].style.display == "block") ? "none": "block";
                }
            }
        } else if (isClick) {
            for (j = 0; j < tli.length; j++) {
                if (n == j) {
                    tli[j].className = (tli[j].className == tabclass) ? "": tabclass;
                } else {
                    tli[j].className = "";
                }
                if (isConIdNum) {
                    if (fadeTime) {
                        if (n == j) {
                            if (document.getElementById(conId + (j + 1)).style.display == "none") {
                                fadeIn(document.getElementById(conId + (j + 1)));
                            } else {
                                fadeOut(document.getElementById(conId + (j + 1)))
                            }
                        } else {
                            document.getElementById(conId + (j + 1)).style.display = "none";
                            /*fadeOut(document.getElementById(conId+j));*/
                        }
                    } else {
                        if (n == j) {
                            document.getElementById(conId + (j + 1)).style.display = (document.getElementById(conId + (j + 1)).style.display == "none") ? 'block': 'none';
                        } else {
                            document.getElementById(conId + (j + 1)).style.display = "none";
                            /*fadeOut(cli[j]);*/
                        }
                    }
                } else {
                    if (fadeTime) {
                        if (n == j) {
                            if (cli[j].style.display == "none") {
                                fadeIn(cli[j]);
                            } else {
                                fadeOut(cli[j])
                            }
                        } else {
                            cli[j].style.display = "none";
                            /*fadeOut(cli[j]);*/
                        }
                    } else {
                        if (n == j) {
                            cli[j].style.display = (cli[j].style.display == "none") ? 'block': 'none';
                        } else {
                            cli[j].style.display = "none";
                            /*fadeOut(cli[j]);*/
                        }
                    }
                }
            }
            onNum = n;
        } else {
            for (j = 0; j < tli.length; j++) {
                tli[j].className = n == j ? tabclass: "";
                if (isConIdNum) {
                    if (fadeTime) {
                        if (n == j) {
                            if (document.getElementById(conId + (j + 1)).style.display == "none") {
                                fadeIn(document.getElementById(conId + (j + 1)));
                            }
                        } else {
                            document.getElementById(conId + (j + 1)).style.display = "none";
                            /*fadeOut(document.getElementById(conId+(j+1)));*/
                        }
                    } else {
                        document.getElementById(conId + (j + 1)).style.display = n == j ? "block": "none";
                    }
                } else {
                    if (fadeTime) {
                        if (n == j) {
                            if (cli[j].style.display == "none") {
                                fadeIn(cli[j]);
                            }
                        } else {
                            cli[j].style.display = "none";
                            /*fadeOut(cli[j]);*/
                        }
                    } else {
                        cli[j].style.display = n == j ? "block": "none";
                    }
                }
            }
            onNum = n;
        }
    }

    //设置标签标题与内容切2[对应hover事件]
    function setTabCon2(n) {
        for (j = 0; j < tli.length; j++) {
            tli[j].className = n == j ? tabclass: "";
            if (isConIdNum) {
                if (fadeTime) {
                    if (n == j) {
                        if (document.getElementById(conId + (j + 1)).style.display == "none") {
                            fadeIn(document.getElementById(conId + (j + 1)));
                        }
                    } else {
                        document.getElementById(conId + (j + 1)).style.display = "none";
                        /*fadeOut(document.getElementById(conId+(j+1)));*/
                    }
                } else {
                    document.getElementById(conId + (j + 1)).style.display = n == j ? "block": "none";
                }
            } else {
                if (fadeTime) {
                    if (n == j) {
                        if (cli[j].style.display == "none") {
                            fadeIn(cli[j]);
                        }
                    } else {
                        cli[j].style.display = "none";
                        /*fadeOut(cli[j]);*/
                    }
                } else {
                    cli[j].style.display = n == j ? "block": "none";
                }
            }
        }
        onNum = n;
    }

    //设置透明度
    function setAlpha(obj, opa) {
        document.all ? obj.style.filter = "Alpha(opacity=" + opa * 100 + ")": obj.style.opacity = opa;
    }

    //渐显
    function fadeIn(obj) {
        obj.style.display = "block";
        var opa = 0;
        function setFadeIn() {
            if (opa < 1) {
                setAlpha(obj, opa);
                opa += opaStep;
                setTimeout(setFadeIn, fadeTime);
            }
        }
        setFadeIn();
    }

    //渐隐
    function fadeOut(obj) {
        var opa = 1;
        function setFadeOut() {
            if (opa > 0) {
                setAlpha(obj, opa);
                opa -= opaStep;
                setTimeout(setFadeOut, fadeTime);
            } else {
                obj.style.display = "none";
            }
        }
        setFadeOut();
    }

	//轮播开头
	function isChangePic(obj){
			if(isScroll == true){
				isScroll = false;
				obj.title = '点击播放';
				obj.className = startBtnOn;
				}else{
				isScroll = true;
				obj.title = '点击暂停';
				obj.className = startBtnOff;
				}
		}
		
		if($(startStopButtonId)){
	$(startStopButtonId).onclick = function(){
			isChangePic(this);
		};
		}


    //定时切换
    if (changeTime) {
        function setTiming() {
            if (isScroll) {
                setTabCon2(onNum);
				if(document.getElementById('con_pic')){
					DrawImg('con_pic' , 'img' , '658' ,'500');		
					}
                onNum++;
                onNum = (onNum == tli.length) ? 0 : onNum;
            }
            setTimeout(setTiming, changeTime);
        }
        setTiming();
    }
}



//表格隔行换行
function setLineChange(id, tagName , color1, color2, hoverColor){
		var cli = document.getElementById(id).getElementsByTagName(tagName);
		for(i=0;i<cli.length;i++){
			cli[i].onmouseover = function(){
					this.style.backgroundColor = hoverColor;	
				};
				if(i%2 == 1){
					//alert('zzzz');
						cli[i].style.backgroundColor = color1;
						cli[i].onmouseout = function(){
					this.style.backgroundColor = color1;
				};
					}else{
						cli[i].style.backgroundColor = color2;
						cli[i].onmouseout = function(){
					this.style.backgroundColor = color2;
				};
						}
			}

	}
	
	
	
//图片自适应大小
function DrawImg(id,tagName,maxWidth,maxHeight){
		var images = document.getElementById(id).getElementsByTagName(tagName);
		for(i=0 ; i<images.length; i++){
				if(images[i].width > images[i].height){
						if(images[i].width > maxWidth){
							images[i].style.width = maxWidth + 'px';
							}
						}else{
						if(images[i].height > maxHeight){
							images[i].style.height = maxHeight + 'px';
							}
						}		
				
	
			}
	}
	
	
	
	
	
	