// JavaScript Document
/******************************* 
 * @基於jQuery淡入淡出可自動切換的幻燈插件 
 * @jQuery Vesion:1.4.2 
 * @Plugin Page:http://mrthink.net/jq-plugin-ifadeslide/ 
 * @Author Mr.Think 
 * @Author blog http://mrthink.net/ 
 * @Creation date: 2011.01.11 
 *******************************/ 
$.fn.iFadeSlide = function(iSet){ 
/* 
* iSet可選參數說明: 
* iSet.field==>幻燈區域內的圖片集 
* iSet.ico==>按鈕鉤子 
* iSet.high==>按鈕高亮樣式 
* iSet.interval==>圖片切換時間 
* iSet.leaveTime==>不觸發鼠標劃入事件的最大時間值 
* iSet.fadeInTime==>淡入時間 
* iSet.fadeOutTime==>淡出時間 
* 調用方式$(document).iFadeSlide({field:'...',ico:'...',...}) 
*/ 
    iSet = $.extend({high:'high',interval:3000,leaveTime:150,fadeOutTime:400,fadeInTime:400},iSet);
     var imgField = $(iSet.field || '#slide>img'); 
    var icoField = $(iSet.ico || '#ico'); 
var curIndex = 0; 
    var slideInterval = iSet.interval || 3000; 
    var hoverTime = iSet.leaveTime || 150; 
    var fadeOutTime = iSet.fadeOutTime || 400; 
    var fadeInTime = iSet.fadeInTime || 400; 
    var icos=null, fastHoverFun = null, autoSlideFun = null, hasIcoHighCls = null, changeFun = null,max=null;;
     var icoHtml = '<ul>'; 
max=imgField.size(); 
//按圖片傳入對應的按鈕 
    imgField.each(function(i){ 
        icoHtml += '<li>' + (i + 1) + '</li>'; 
    }); 
    icoHtml += '</ul>'; 
    icoField.append(icoHtml); 
//淡入淡出函數 
    changeFun = function(n){ 
        imgField.filter(':visible').fadeOut(fadeOutTime, function(){ 
            imgField.eq(n).fadeIn(fadeInTime) 
            icos.eq(n).addClass(iSet.high).siblings().removeClass(iSet.high); 
        }); 
    } 
    icos = icoField.find('ul>li'); 
//為第一個按鍵初始化高亮 
    icos.first().addClass(iSet.high); 
//按鈕鼠標劃入劃出事件 
    icos.hover(function(){ 
        clearInterval(autoSlideFun); 
        curIndex = icos.index(this); 
        hasIcoHighName = $(this).hasClass(iSet.high); 
//setTimeout避免用戶快速(無意識性劃過)劃過時觸發事件 
        fastHoverFun = setTimeout(function(){ 
//鼠標劃入當前圖片按鈕時不閃爍 
            if (!hasIcoHighName) { 
                changeFun(curIndex); 
            } 
        }, hoverTime); 
    }, function(){ 
        clearTimeout(fastHoverFun); 
//自動切換 
        autoSlideFun = setInterval(function(){ 
            curIndex++; 
            changeFun(curIndex); 
            if (curIndex ==max ) { 
changeFun(0); 
                curIndex = 0; 
            } 
        }, slideInterval) 
    }).eq(0).trigger('mouseleave'); 

    //當鼠標劃入圖片區域時停止切換 
    imgField.hover(function(){ 
        curIndex = imgField.index(this); 
        clearInterval(autoSlideFun); 
    }, function(){ 
        icos.eq(curIndex).trigger('mouseleave'); 
    }); 
} 

$(function(){ 
//SAMPLE-A 
$(document).iFadeSlide(); 

//SAMPLE-B 原本設定4000
$(document).iFadeSlide({ 
field: $('div#slide_b a'), 
ico:$('div.ico_b'), 
        high: 'high_b', 
        interval: 10000 
}); 

//SAMPLE-C  原本設定4000
$(document).iFadeSlide({ 
field: $('div#slide_c img'), 
ico: $('div.ico_c'), 
        high: 'high_c', 
        interval: 10000 
}); 
});
