// JavaScript Document
var ImageModule = function(){
var Config = {
panLeft: false,
panRight: false,
stepOpacity: 10,
currentOpacity: 0,
picSrc: "",
picLink:"",
picLen: -1,
currentPic: 0,
currentMargin: 0,
stepMovePix: 20,
picDom: $("#mainPic"),
num: $("#numList li"),
currentNumPos: 0
}
var showHidePan = function(obj){
var t;
var _setOpacity = function(){
Config.currentOpacity = Config.currentOpacity + Config.stepOpacity;
if (Config.currentOpacity < 100) {
clearTimeout(t);
t = setTimeout(_setOpacity, 20);
}
if (NTES.browser.msie) {
obj.style.filter = "alpha(opacity=" + Config.currentOpacity + ")";
}
else {
var temp;
Config.currentOpacity >= 100 ? temp = 1 : temp = "0." + Config.currentOpacity;
obj.style.opacity = temp
}
}
t = setTimeout(_setOpacity, 20);
}
var scrollPic = function(num, dir){
var balance;
if (num >= 0) {
balance = num - Config.currentPic;
Config.currentPic = num;
}
if (typeof dir == "boolean") {
if (dir) {
balance = 1;
Config.currentPic = Config.currentPic + 1;
Config.currentPic >= Config.picLen ? Config.currentPic = 0 : Config.currentPic = Config.currentPic;
Config.currentNumPos = Config.currentNumPos + 1;
Config.currentNumPos >= Config.picLen ? Config.currentNumPos = 0 : Config.currentNumPos = Config.currentNumPos;
if(Config.currentPic == 0){
balance = -(Config.picLen - 1);
}
}
else {
balance = -1;
Config.currentPic = Config.currentPic - 1;
Config.currentPic < 0 ? Config.currentPic = Config.picLen - 1 : Config.currentPic = Config.currentPic;
Config.currentNumPos = Config.currentNumPos - 1;
Config.currentNumPos < 0 ? Config.currentNumPos = Config.picLen - 1 : Config.currentNumPos = Config.currentNumPos;
if(Config.currentPic == (Config.picLen - 1)){
balance = Config.picLen - 1;
}
}
}
var dis = Math.abs(balance * 960);
var count = 0, t;
var movePic = function(){
count = count + Config.stepMovePix;
if (count <= dis) {
var t;
balance > 0 ? t = Config.currentMargin + count : t = Config.currentMargin - count;
Config.picDom.style.marginLeft = -t + "px";
clearTimeout(t);
t = setTimeout(movePic, 8);
}
else {
Config.currentMargin = Config.currentPic * 960;
}
}
t = setTimeout(movePic, 8);
}
this.init = function(pic,link){
Config.picSrc = pic;
Config.picLink = link;

Config.picLen = Config.picSrc.length;
var tarr = [];
for (var i = 0; i < Config.picLen; i++) {
tarr.push("<li><a href='" + Config.picLink[i] + "'><img src='" + Config.picSrc[i] + "' width='960' height='500' alt='pic' /></a></li>");
}
Config.picDom.innerHTML = tarr.join('');
var panleft = $("#panLeft"), panright = $("#panRight");
panleft.addEvent("mouseover", function(e){
showHidePan(panleft);
});
panleft.addEvent("mouseout", function(e){
Config.currentOpacity = 0;
NTES.browser.msie ? panleft.style.filter = "alpha(opacity=0)" : panleft.style.opacity = 0;
});
panleft.addEvent("click", function(e){
scrollPic(-1, false);
var len = Config.num.length;
var i = -1;
while (++i < len) {
if (i == Config.currentNumPos) {
Config.num[i].className = "on";
}
else {
Config.num[i].className = "";
}
}
});
panright.addEvent("mouseover", function(e){
showHidePan(panright);
});
panright.addEvent("mouseout", function(e){
Config.currentOpacity = 0;
NTES.browser.msie ? panright.style.filter = "alpha(opacity=0)" : panright.style.opacity = 0;
});
panright.addEvent("click", function(e){
scrollPic(-1, true);
var len = Config.num.length;
var i = -1;
while (++i < len) {
if (i == Config.currentNumPos) {
Config.num[i].className = "on";
}
else {
Config.num[i].className = "";
}
}
});
Config.num.addEvent("click", function(e){
Config.currentNumPos = Config.num.indexOf(this);
scrollPic(Config.currentNumPos);
var len = Config.num.length;
var i = -1;
while (++i < len) {
if (i == Config.currentNumPos) {
Config.num[i].className = "on";
}
else {
Config.num[i].className = "";
}
}
});
}
}

