var WidgetAlbumViewer = function (widgetId, newnaiNum) {
	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 = "listUserAlbum.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.albumList = 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.albumList = Albums.formatXML(o.responseXML);
		if (widget.albumList.length < 1) {
			YAHOO.util.Dom.setStyle(preLink, "visibility", "hidden");
			countNum.innerHTML = 0;
			return;
		}
		WidgetAlbumViewer.getImg(widget.lisElms[0]).src="http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_first_photo.gif";
		WidgetAlbumViewer.getImg(widget.lisElms[1]).src="http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_last_photo.gif";
		var curAlbum = WidgetAlbumViewer.getCurrentAlbum(widget.albumList, 0);
		countNum.innerHTML = widget.albumList.length;
		YAHOO.util.Dom.setStyle(widget.lisElms, "visibility", "visible");
		if(widget.albumList.length == 1){
			widget.curAlbumElement = WidgetAlbumViewer.createAlbum(curAlbum);
			ul.insertBefore(widget.curAlbumElement, widget.lisElms[1]);
			YAHOO.util.Dom.setStyle(ul, "left", "0px");
		}else if(widget.albumList.length == 2){
			if(curAlbum.listOrder == 0){
				widget.preAlbumElement = widget.lisElms[0].cloneNode(true);
				widget.curAlbumElement = WidgetAlbumViewer.createAlbum(curAlbum);
				widget.nextAlbumElement = WidgetAlbumViewer.createAlbum(widget.albumList[curAlbum.listOrder + 1]);
				ul.insertBefore(widget.curAlbumElement, widget.lisElms[1]);
				ul.insertBefore(widget.preAlbumElement, widget.curAlbumElement);
				ul.insertBefore(widget.nextAlbumElement, widget.lisElms[1]);
				//widget.starting = true;
				nextLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				YAHOO.util.Dom.setStyle(nextLink, "visibility", "visible");
			}else{
				widget.preAlbumElement = WidgetAlbumViewer.createAlbum(widget.albumList[curAlbum.listOrder - 1]);
				widget.curAlbumElement = WidgetAlbumViewer.createAlbum(curAlbum);
				widget.nextAlbumElement = widget.lisElms[1].cloneNode(true);
				ul.insertBefore(widget.curAlbumElement, widget.lisElms[1]);
				ul.insertBefore(widget.preAlbumElement, widget.curAlbumElement);
				ul.insertBefore(widget.nextAlbumElement, widget.lisElms[1]);
				preLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder - 1) + ",1);";
				YAHOO.util.Dom.setStyle(preLink, "visibility", "visible");
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
			}
		}else {
			if(curAlbum.listOrder == 0){
				widget.preAlbumElement = widget.lisElms[0].cloneNode(true);
				widget.curAlbumElement = WidgetAlbumViewer.createAlbum(curAlbum);
				widget.nextAlbumElement = WidgetAlbumViewer.createAlbum(widget.albumList[curAlbum.listOrder + 1]);
				YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "visible");
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				//widget.starting = true;
				preLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder - 1) + ",1);";
				nextLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder + 1) + ",-1);";
			}else if(curAlbum.listOrder == widget.albumList.length - 1){
				widget.preAlbumElement = WidgetAlbumViewer.createAlbum(widget.albumList[curAlbum.listOrder - 1]);
				widget.curAlbumElement = WidgetAlbumViewer.createAlbum(curAlbum);
				widget.nextAlbumElement = widget.lisElms[1].cloneNode(true);
				preLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder - 1) + ",1);";
				nextLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "visible");
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
			}else{
				widget.curAlbumElement = WidgetAlbumViewer.createAlbum(curAlbum);
				widget.preAlbumElement = WidgetAlbumViewer.createAlbum(widget.albumList[curAlbum.listOrder - 1]);
				widget.nextAlbumElement = WidgetAlbumViewer.createAlbum(widget.albumList[curAlbum.listOrder + 1]);
				preLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder - 1) + ",1);";
				YAHOO.util.Dom.setStyle(ul, "left", "-78px");
				nextLink.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (curAlbum.listOrder + 1) + ",-1);";
				YAHOO.util.Dom.setStyle([preLink, nextLink], "visibility", "visible");
			}
			YAHOO.util.Dom.setStyle(widget.lisElms, "visibility", "visible");
			ul.insertBefore(widget.curAlbumElement, widget.lisElms[1]);
			ul.insertBefore(widget.preAlbumElement, widget.curAlbumElement);
			ul.insertBefore(widget.nextAlbumElement, widget.lisElms[1]);
		}
	}, failure:function (o) {
		window.alert("对不起，服务器正忙，请稍后重试！");
		widget.albumList = new Array();
	}};
	YAHOO.util.Connect.asyncRequest("POST", WidgetAlbumViewer.AJAX_URL, opt, data);
};
WidgetAlbumViewer.FIRST_IMG_URL = "";
WidgetAlbumViewer.LAST_IMG_URL = "";
WidgetAlbumViewer.AJAX_URL = "doAlbum.do?method=getUserAlbums";
WidgetAlbumViewer.VIEW_PHOTO_URL = "album.do?method=bbs&albumId=";
WidgetAlbumViewer.createAlbum = function (album) {
	var li = document.createElement("LI");
	var link = document.createElement("A");
	link.href = WidgetAlbumViewer.VIEW_PHOTO_URL + album.albumId;
	link.title = album.albumName + " (" + album.photoNum + "张照片)";
	var img = document.createElement("IMG");
	img.src = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/context_loading.jpg";
	img.alt = album.albumName + " (" + album.photoNum + "张照片)";;
	img.width = 75;
	img.height = 75;
	link.appendChild(img);
	li.appendChild(link);
	var tmp = new Image();
	tmp.onload = function(){
		img.src = this.src;
	};
	tmp.src = album.albumCover;
	return li;
};
WidgetAlbumViewer.getCurrentAlbum = function (albumList, albumId) {
	if (albumList.length == 0) {
		return null;
	}
	return albumList[0];
};
WidgetAlbumViewer.resetAlbumOdrer = 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 hasAlbum = true;
	var readyAlbum = null;
	if (side == -1) {
		li = widget.lisElms[1];
		btn = nextlink;
		abtn = prelink;
		//hasAlbum = (typeof (widget.albumList[order - side]) != "undefined");
		if(order == widget.albumList.length - 1){
			readyAlbum = {};
			readyAlbum.albumName = "这是最后一张";
			readyAlbum.albumId = "#";
			readyAlbum.albumCover = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_last_photo.gif";
		}else if(order == widget.albumList.length){
			readyAlbum = widget.albumList[0];
		}else{
			readyAlbum = widget.albumList[order - side];
		}
	} else {
		if(order == 0){
			readyAlbum = {};
			readyAlbum.albumName = "这是第一张";
			readyAlbum.albumId = "#";
			readyAlbum.albumCover = "http://assert.newnai.com/youzhaopian.newnai.com/images/common/placeholder_first_photo.gif";
		}else if(order == -1){
			readyAlbum = widget.albumList[widget.albumList.length - 1];
		}else{
			readyAlbum = widget.albumList[order - 1];
		}
	}
	//if (typeof (readyAlbum) != "undefined") {
	saveUrl = li.getElementsByTagName("IMG")[0].src;
	saveAlt = li.getElementsByTagName("IMG")[0].alt;
	saveTitle = li.getElementsByTagName("A")[0].title;
	
	li.getElementsByTagName("A")[0].title = readyAlbum.albumName + " (" + readyAlbum.photoNum + "张照片)";;
	if(readyAlbum.albumId == "#"){
		li.getElementsByTagName("A")[0].href = "javascript:void(0);";
	}else{
		li.getElementsByTagName("A")[0].href = WidgetSlideViewer.VIEW_PHOTO_URL + readyAlbum.albumId;
	}
	li.getElementsByTagName("IMG")[0].alt = readyAlbum.albumName + " (" + readyAlbum.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 = readyAlbum.albumCover;
	if(order == -1){
		btn.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (widget.albumList.length - 1) + "," + side + ");";
		abtn.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (0) + "," + (-side) + ");";
	}else if(order == widget.albumList.length){
		btn.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (0) + "," + side + ");";
		abtn.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (widget.albumList.length - 1) + "," + (-side) + ");";
	}else{
		btn.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (order - side) + "," + side + ");";
		abtn.href = "javascript:WidgetAlbumViewer.resetAlbumOdrer('" + widgetId + "'," + (order + side) + "," + (-side) + ");";
	}
	//} else {
	//	hasAlbum = false;
	//}
	//if (!hasAlbum) {
	//	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.preAlbumElement.getElementsByTagName("IMG")[0].src = widget.curAlbumElement.getElementsByTagName("IMG")[0].src;
				widget.preAlbumElement.getElementsByTagName("IMG")[0].alt = widget.curAlbumElement.getElementsByTagName("IMG")[0].alt;
				widget.preAlbumElement.getElementsByTagName("A")[0].title = widget.curAlbumElement.getElementsByTagName("A")[0].title;
				widget.preAlbumElement.getElementsByTagName("A")[0].href = widget.curAlbumElement.getElementsByTagName("A")[0].href;
				widget.curAlbumElement.getElementsByTagName("IMG")[0].src = widget.nextAlbumElement.getElementsByTagName("IMG")[0].src;
				widget.curAlbumElement.getElementsByTagName("IMG")[0].alt = widget.nextAlbumElement.getElementsByTagName("IMG")[0].alt;
				widget.curAlbumElement.getElementsByTagName("A")[0].title = widget.nextAlbumElement.getElementsByTagName("A")[0].title;
				widget.curAlbumElement.getElementsByTagName("A")[0].href = widget.nextAlbumElement.getElementsByTagName("A")[0].href;
				widget.nextAlbumElement.getElementsByTagName("IMG")[0].src = li.getElementsByTagName("IMG")[0].src;
				widget.nextAlbumElement.getElementsByTagName("IMG")[0].alt = li.getElementsByTagName("IMG")[0].alt;
				widget.nextAlbumElement.getElementsByTagName("A")[0].title = li.getElementsByTagName("A")[0].title;
				widget.nextAlbumElement.getElementsByTagName("A")[0].href = li.getElementsByTagName("A")[0].href;
			} else {
				//if (hasAlbum) {
					YAHOO.util.Dom.setStyle(ul, "left", sLeft + "px");
					widget.nextAlbumElement.getElementsByTagName("IMG")[0].src = widget.curAlbumElement.getElementsByTagName("IMG")[0].src;
					widget.nextAlbumElement.getElementsByTagName("IMG")[0].alt = widget.curAlbumElement.getElementsByTagName("IMG")[0].alt;
					widget.nextAlbumElement.getElementsByTagName("A")[0].title = widget.curAlbumElement.getElementsByTagName("A")[0].title;
					widget.nextAlbumElement.getElementsByTagName("A")[0].href = widget.curAlbumElement.getElementsByTagName("A")[0].href;
					widget.curAlbumElement.getElementsByTagName("IMG")[0].src = widget.preAlbumElement.getElementsByTagName("IMG")[0].src;
					widget.curAlbumElement.getElementsByTagName("IMG")[0].alt = widget.preAlbumElement.getElementsByTagName("IMG")[0].alt;
					widget.curAlbumElement.getElementsByTagName("A")[0].title = widget.preAlbumElement.getElementsByTagName("A")[0].title;
					widget.curAlbumElement.getElementsByTagName("A")[0].href = widget.preAlbumElement.getElementsByTagName("A")[0].href;
					widget.preAlbumElement.getElementsByTagName("IMG")[0].src = li.getElementsByTagName("IMG")[0].src;
					widget.preAlbumElement.getElementsByTagName("IMG")[0].alt = li.getElementsByTagName("IMG")[0].alt;
					widget.preAlbumElement.getElementsByTagName("A")[0].title = li.getElementsByTagName("A")[0].title;
					widget.preAlbumElement.getElementsByTagName("A")[0].href = li.getElementsByTagName("A")[0].href;
				//} else {
				//	widget.starting = true;
				//}
			//}
			
		}
		//if (hasAlbum) {
		//	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();
};
WidgetAlbumViewer.getImg = function(li){
	return li.firstChild.firstChild;
};

