var WidgetSlideViewer = function (widgetId, newnaiNum, slideAlbumId) {
	var widget = YAHOO.util.Dom.get(widgetId);
	var clhButton = YAHOO.util.Dom.getElementsByClassName("context-btn", "A", widget)[0];
	var cntBody = YAHOO.util.Dom.getElementsByClassName("bd", "DIV", widget)[0];
	var cntThumbs = YAHOO.util.Dom.getElementsByClassName("context-thumbs", "DIV", widget)[0];
	var countNum = YAHOO.util.Dom.getElementsByClassName("photos-num", "STRONG", widget)[0];
	var preLink = YAHOO.util.Dom.getElementsByClassName("prev", "A", widget)[0];
	var thbLink = YAHOO.util.Dom.getElementsByClassName("thumbs-link", "A", widget)[0];
	var nextLink = YAHOO.util.Dom.getElementsByClassName("next", "A", widget)[0];
	thbLink.href = "listUserSlideAlbum.do?newnaiNum=" + newnaiNum;
	clhButton.href = "javascript:;";
	YAHOO.util.Event.on(clhButton, "click", function () {
		if (YAHOO.util.Dom.hasClass(clhButton, "close")) {
			YAHOO.util.Dom.removeClass(clhButton, "close");
			YAHOO.util.Dom.removeClass(cntBody, "hide");
		} else {
			YAHOO.util.Dom.addClass(clhButton, "close");
			YAHOO.util.Dom.addClass(cntBody, "hide");
		}
	});
	widget.slideList = null;
	widget.moveLock = false;
	widget.lisElms = new Array();
	for (var i = 0; i < cntThumbs.getElementsByTagName("LI").length; i++) {
		widget.lisElms.push(cntThumbs.getElementsByTagName("LI")[i]);
	}
	YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "hidden");
	var data = "newnaiNum=" + newnaiNum;
	var opt = {success:function (o) {
		var ul = widget.lisElms[0].parentNode;
		YAHOO.util.Dom.setStyle(ul, "width", "400px");
		widget.slideList = Slide.formatXML(o.responseXML);
		if (widget.slideList.length < 1) {
			YAHOO.util.Dom.setStyle(preLink, "visibility", "hidden");
			countNum.innerHTML = 0;
			return;
		}
		WidgetSlideViewer.getImg(widget.lisElms[0]).src="http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_first_photo.gif";
		WidgetSlideViewer.getImg(widget.lisElms[1]).src="http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_last_photo.gif";
		var curSlide = WidgetSlideViewer.getCurrentSlide(widget.slideList, slideAlbumId);
		countNum.innerHTML = widget.slideList.length;
		YAHOO.util.Dom.setStyle(widget.lisElms, "visibility", "visible");
		if(widget.slideList.length == 1){
			widget.curSlideElement = WidgetSlideViewer.createSlide(curSlide);
			ul.insertBefore(widget.curSlideElement, widget.lisElms[1]);
			YAHOO.util.Dom.setStyle(ul, "left", "0px");
			YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
		}else if(widget.slideList.length == 2){
			if(curSlide.listOrder == 0){
				widget.preSlideElement = widget.lisElms[0].cloneNode(true);
				widget.curSlideElement = WidgetSlideViewer.createSlide(curSlide);
				widget.nextSlideElement = WidgetSlideViewer.createSlide(widget.slideList[curSlide.listOrder + 1]);
				ul.insertBefore(widget.curSlideElement, widget.lisElms[1]);
				ul.insertBefore(widget.preSlideElement, widget.curSlideElement);
				ul.insertBefore(widget.nextSlideElement, widget.lisElms[1]);
				//widget.starting = true;
				nextLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				YAHOO.util.Dom.setStyle(nextLink, "visibility", "visible");
				YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
			}else{
				widget.preSlideElement = WidgetSlideViewer.createSlide(widget.slideList[curSlide.listOrder - 1]);
				widget.curSlideElement = WidgetSlideViewer.createSlide(curSlide);
				widget.nextSlideElement = widget.lisElms[1].cloneNode(true);
				ul.insertBefore(widget.curSlideElement, widget.lisElms[1]);
				ul.insertBefore(widget.preSlideElement, widget.curSlideElement);
				ul.insertBefore(widget.nextSlideElement, widget.lisElms[1]);
				preLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder - 1) + ",1);";
				YAHOO.util.Dom.setStyle(preLink, "visibility", "visible");
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
			}
		}else {
			if(curSlide.listOrder == 0){
				widget.preSlideElement = widget.lisElms[0].cloneNode(true);
				widget.curSlideElement = WidgetSlideViewer.createSlide(curSlide);
				widget.nextSlideElement = WidgetSlideViewer.createSlide(widget.slideList[curSlide.listOrder + 1]);
				YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "visible");
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				//widget.starting = true;
				preLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder - 1) + ",1);";
				nextLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
			}else if(curSlide.listOrder == widget.slideList.length - 1){
				widget.preSlideElement = WidgetSlideViewer.createSlide(widget.slideList[curSlide.listOrder - 1]);
				widget.curSlideElement = WidgetSlideViewer.createSlide(curSlide);
				widget.nextSlideElement = widget.lisElms[1].cloneNode(true);
				preLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder - 1) + ",1);";
				nextLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "visible");
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
			}else{
				widget.curSlideElement = WidgetSlideViewer.createSlide(curSlide);
				widget.preSlideElement = WidgetSlideViewer.createSlide(widget.slideList[curSlide.listOrder - 1]);
				widget.nextSlideElement = WidgetSlideViewer.createSlide(widget.slideList[curSlide.listOrder + 1]);
				preLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder - 1) + ",1);";
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				nextLink.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (curSlide.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "visible");
				YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
			}
			YAHOO.util.Dom.setStyle(widget.lisElms, "visibility", "visible");
			ul.insertBefore(widget.curSlideElement, widget.lisElms[1]);
			ul.insertBefore(widget.preSlideElement, widget.curSlideElement);
			ul.insertBefore(widget.nextSlideElement, widget.lisElms[1]);
		}
	}, failure:function (o) {
		window.alert("对不起，服务器正忙，请稍后重试！");
		widget.slideList = new Array();
	}};
	YAHOO.util.Connect.asyncRequest("POST", WidgetSlideViewer.AJAX_URL, opt, data);
};
WidgetSlideViewer.FIRST_IMG_URL = "";
WidgetSlideViewer.LAST_IMG_URL = "";
WidgetSlideViewer.AJAX_URL = "doSlideAlbum.do?method=getUserSlideAlbums";
WidgetSlideViewer.VIEW_PHOTO_URL = "slideAlbum.do?method=view&movieId=";
WidgetSlideViewer.slideId = null;
WidgetSlideViewer.currentSlideUrl = null;
WidgetSlideViewer.createSlide = function (slide) {
	var li = document.createElement("LI");
	var link = document.createElement("A");
	link.href = WidgetSlideViewer.VIEW_PHOTO_URL + slide.slideAlbumId;
	link.title = slide.slideAlbumName + " (" + slide.photoNum + "张照片)";
	var img = document.createElement("IMG");
	img.src = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/context_loading.jpg";
	img.alt = slide.slideAlbumName + " (" + slide.photoNum + "张照片)";
	img.width = 75;
	img.height = 75;
	link.appendChild(img);
	var span = document.createElement("SPAN");
	span.title = "\u64ad\u653e";
	span.innerHTML = "\u64ad\u653e";
	YAHOO.util.Dom.addClass(span, "slide_album_ico");
	link.appendChild(span);
	li.appendChild(link);
	var tmp = new Image();
	tmp.onload = function(){
		img.src = this.src;
	};
	tmp.src = slide.slideAlbumCover;
	return li;
};
WidgetSlideViewer.getCurrentSlide = function (slideList, slideAlbumId) {
	if (slideList.length == 0) {
		return null;
	}
	for (var i = 0; i < slideList.length; i++) {
		if (slideList[i].slideAlbumId == slideAlbumId) {
			WidgetSlideViewer.currentSlideUrl = slideList[i].slideAlbumCover;
			return slideList[i];
		}
	}
	return slideList[0];
};
WidgetSlideViewer.resetSlideOdrer = function (widgetId, order, side) {
	var widget = YAHOO.util.Dom.get(widgetId);
	if (widget.moveLock) {
		return;
	}
	widget.moveLock = true;
	var ul = widget.lisElms[0].parentNode;
	var sLeft = parseFloat(YAHOO.util.Dom.getStyle(ul, "left"));
	var toLeft = sLeft + 76 * side;
	var move = new YAHOO.util.Anim(ul, {left:{to:toLeft}}, 1);
	var saveUrl = "";
	var saveTitle = "";
	var saveAlt = "";
	var li = widget.lisElms[0];
	var prelink = YAHOO.util.Dom.getElementsByClassName("prev", "A", widget)[0];
	var nextlink = YAHOO.util.Dom.getElementsByClassName("next", "A", widget)[0];
	var abtn = nextlink;
	var btn = prelink;
	//var hasSlide = true;
	var readySlide = null;
	if (side == -1) {
		li = widget.lisElms[1];
		btn = nextlink;
		abtn = prelink;
		//hasSlide = (typeof (widget.slideList[order - side]) != "undefined");
		if(order == widget.slideList.length - 1){
			readySlide = {};
			readySlide.slideAlbumName = "这是最后一张";
			readySlide.slideAlbumId = "#";
			readySlide.slideAlbumCover = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_last_photo.gif";
		}else if(order == widget.slideList.length){
			readySlide = widget.slideList[0];
		}else{
			readySlide = widget.slideList[order - side];
		}
	} else {
		if(order == 0){
			readySlide = {};
			readySlide.slideAlbumName = "这是第一张";
			readySlide.slideAlbumId = "#";
			readySlide.slideAlbumCover = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_first_photo.gif";
		}else if(order == -1){
			readySlide = widget.slideList[widget.slideList.length - 1];
		}else{
			readySlide = widget.slideList[order - 1];
		}
	}
	//if (typeof (readySlide) != "undefined") {
	saveUrl = li.getElementsByTagName("IMG")[0].src;
	saveAlt = li.getElementsByTagName("IMG")[0].alt;
	saveTitle = li.getElementsByTagName("A")[0].title;
	li.getElementsByTagName("A")[0].title = readySlide.slideAlbumName + " (" + readySlide.photoNum + "张照片)";
	if(readySlide.slideAlbumId == "#"){
		li.getElementsByTagName("A")[0].href = "javascript:void(0);";
	}else{
		li.getElementsByTagName("A")[0].href = WidgetSlideViewer.VIEW_PHOTO_URL + readySlide.slideAlbumId;
	}
	li.getElementsByTagName("IMG")[0].alt = readySlide.slideAlbumName + " (" + readySlide.photoNum + "张照片)";
	li.getElementsByTagName("IMG")[0].src = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/context_loading.jpg";
	var img = new Image();
	img.onload = function(){
		li.getElementsByTagName("IMG")[0].src = img.src;
	};
	img.src = readySlide.slideAlbumCover;
	if(order == -1){
		btn.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (widget.slideList.length - 1) + "," + side + ");";
		abtn.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (0) + "," + (-side) + ");";
	}else if(order == widget.slideList.length){
		btn.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (0) + "," + side + ");";
		abtn.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (widget.slideList.length - 1) + "," + (-side) + ");";
	}else{
		btn.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (order - side) + "," + side + ");";
		abtn.href = "javascript:WidgetSlideViewer.resetSlideOdrer('" + widgetId + "'," + (order + side) + "," + (-side) + ");";
	}
	if(WidgetSlideViewer.slideId == readySlide.slideAlbumId){
		WidgetSlideViewer.resetCurrent(widget, li);
	}
	//} else {
	//	hasSlide = false;
	//}
	//if (!hasSlide) {
	//	YAHOO.util.Dom.setStyle(btn, "visibility", "hidden");
	//}
	YAHOO.util.Dom.setStyle(abtn, "visibility", "visible");
	move.onComplete.subscribe(function () {
		//if (widget.starting) {
		//	widget.starting = false;
		//} else {
			if (side == -1) {
				YAHOO.util.Dom.setStyle(ul, "left", sLeft + "px");
				widget.preSlideElement.getElementsByTagName("IMG")[0].src = widget.curSlideElement.getElementsByTagName("IMG")[0].src;
				widget.preSlideElement.getElementsByTagName("IMG")[0].alt = widget.curSlideElement.getElementsByTagName("IMG")[0].alt;
				widget.preSlideElement.getElementsByTagName("A")[0].title = widget.curSlideElement.getElementsByTagName("A")[0].title;
				widget.preSlideElement.getElementsByTagName("A")[0].href = widget.curSlideElement.getElementsByTagName("A")[0].href;
				widget.curSlideElement.getElementsByTagName("IMG")[0].src = widget.nextSlideElement.getElementsByTagName("IMG")[0].src;
				widget.curSlideElement.getElementsByTagName("IMG")[0].alt = widget.nextSlideElement.getElementsByTagName("IMG")[0].alt;
				widget.curSlideElement.getElementsByTagName("A")[0].title = widget.nextSlideElement.getElementsByTagName("A")[0].title;
				widget.curSlideElement.getElementsByTagName("A")[0].href = widget.nextSlideElement.getElementsByTagName("A")[0].href;
				widget.nextSlideElement.getElementsByTagName("IMG")[0].src = li.getElementsByTagName("IMG")[0].src;
				widget.nextSlideElement.getElementsByTagName("IMG")[0].alt = li.getElementsByTagName("IMG")[0].alt;
				widget.nextSlideElement.getElementsByTagName("A")[0].title = li.getElementsByTagName("A")[0].title;
				widget.nextSlideElement.getElementsByTagName("A")[0].href = li.getElementsByTagName("A")[0].href;
				YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", li), "display", "none");
				WidgetSlideViewer.checkCurrent(widget);
				WidgetSlideViewer.checkPlay(widget);
			} else {
				//if (hasSlide) {
					YAHOO.util.Dom.setStyle(ul, "left", sLeft + "px");
					widget.nextSlideElement.getElementsByTagName("IMG")[0].src = widget.curSlideElement.getElementsByTagName("IMG")[0].src;
					widget.nextSlideElement.getElementsByTagName("IMG")[0].alt = widget.curSlideElement.getElementsByTagName("IMG")[0].alt;
					widget.nextSlideElement.getElementsByTagName("A")[0].title = widget.curSlideElement.getElementsByTagName("A")[0].title;
					widget.nextSlideElement.getElementsByTagName("A")[0].href = widget.curSlideElement.getElementsByTagName("A")[0].href;
					widget.curSlideElement.getElementsByTagName("IMG")[0].src = widget.preSlideElement.getElementsByTagName("IMG")[0].src;
					widget.curSlideElement.getElementsByTagName("IMG")[0].alt = widget.preSlideElement.getElementsByTagName("IMG")[0].alt;
					widget.curSlideElement.getElementsByTagName("A")[0].title = widget.preSlideElement.getElementsByTagName("A")[0].title;
					widget.curSlideElement.getElementsByTagName("A")[0].href = widget.preSlideElement.getElementsByTagName("A")[0].href;
					widget.preSlideElement.getElementsByTagName("IMG")[0].src = li.getElementsByTagName("IMG")[0].src;
					widget.preSlideElement.getElementsByTagName("IMG")[0].alt = li.getElementsByTagName("IMG")[0].alt;
					widget.preSlideElement.getElementsByTagName("A")[0].title = li.getElementsByTagName("A")[0].title;
					widget.preSlideElement.getElementsByTagName("A")[0].href = li.getElementsByTagName("A")[0].href;
					WidgetSlideViewer.checkCurrent(widget);
					WidgetSlideViewer.checkPlay(widget);
					YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", li), "display", "none");
					
				//} else {
				//	widget.starting = true;
				//}
			//}
			
		}
		//if (hasSlide) {
		//	li.getElementsByTagName("IMG")[0].src = saveUrl;
		//	li.getElementsByTagName("IMG")[0].alt = saveAlt;
		//	li.getElementsByTagName("A")[0].title = saveTitle;
		//	li.getElementsByTagName("A")[0].href = "javascript:void(0)";
		//}
		widget.moveLock = false;
	});
	move.animate();
};
WidgetSlideViewer.getImg = function(li){
	return li.firstChild.firstChild;
};
WidgetSlideViewer.resetCurrent = function(widget, current){
	YAHOO.util.Dom.removeClass(widget.curSlideElement, "current");
	YAHOO.util.Dom.removeClass(widget.preSlideElement, "current");
	YAHOO.util.Dom.removeClass(widget.nextSlideElement, "current");
	YAHOO.util.Dom.removeClass(widget.lisElms, "current");
	if(current != null){
		YAHOO.util.Dom.addClass(current, "current");
	}
};
WidgetSlideViewer.checkCurrent = function(widget){
	YAHOO.util.Dom.removeClass(widget.curSlideElement, "current");
	YAHOO.util.Dom.removeClass(widget.preSlideElement, "current");
	YAHOO.util.Dom.removeClass(widget.nextSlideElement, "current");
	YAHOO.util.Dom.removeClass(widget.lisElms, "current");
	if(widget.curSlideElement.getElementsByTagName("IMG")[0].src == WidgetSlideViewer.currentSlideUrl){
		YAHOO.util.Dom.addClass(widget.curSlideElement, "current");
	}else if(widget.preSlideElement.getElementsByTagName("IMG")[0].src == WidgetSlideViewer.currentSlideUrl){
		YAHOO.util.Dom.addClass(widget.preSlideElement, "current");
	}else if(widget.nextSlideElement.getElementsByTagName("IMG")[0].src == WidgetSlideViewer.currentSlideUrl){
		YAHOO.util.Dom.addClass(widget.nextSlideElement, "current");
	}
};
WidgetSlideViewer.checkPlay = function(widget){
	var title = widget.nextSlideElement.getElementsByTagName("A")[0].title;
	if(title == "这是最后一张" || title == "这是第一张"){
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", widget.nextSlideElement), "display", "none");
	}else{
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", widget.nextSlideElement), "display", "block");
	}
	title = widget.curSlideElement.getElementsByTagName("A")[0].title
	if(title == "这是最后一张" || title == "这是第一张"){
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", widget.curSlideElement), "display", "none");
	}else{
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", widget.curSlideElement), "display", "block");
	}
	title = widget.preSlideElement.getElementsByTagName("A")[0].title
	if(title == "这是最后一张" || title == "这是第一张"){
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", widget.preSlideElement), "display", "none");
	}else{
		YAHOO.util.Dom.setStyle(YAHOO.util.Dom.getElementsByClassName("slide_album_ico", "SPAN", widget.preSlideElement), "display", "block");
	}
};
