var nhn = {};
nhn.move = (function(){
	var box = document.getElementById('imgBox'),
			imgs = box.getElementsByTagName('img'),
			oVision = document.getElementById('version'),
			imgs_len = imgs.length,
			parent = box.parentNode,
			parentW = parent.offsetWidth,
			boxW = maxLeft = imgBoxLeft = 0, currIndex = -1, changeVersionIndex = 0,
			win = btns = elem = oViewVersion = time = null, vInitPic = vMaxPic = 0,
			vLang = '', initState = initNext = initPre = null, stop = false, stopPrevBtn = stopNextBtn = null;

	// 触发移动
	var setActive = function(){
		var _this = arguments.callee;
		elem = this;

		if(elem.tagName.toLowerCase() == 'span'){
			
			if(stop && elem.className == initState.className){
				return;
			}
			
			for(var i = 0; i < btns.length; i++){
				if(btns[i].disabled){
					btns[i].disabled = false;
					btns[i].onclick = _this;
					btns[i].style.cursor = 'pointer';
				}
			}
			if(imgs_len === 1) return;
			if(elem.className == 'next'){
				var ajax = $Ajax('subscription.nhn?m=getImgNameAjax',{
					type: 'post',
					onload : function(originalRequest)
					{							
							var info = originalRequest.text();
							if(info){
								var json = eval('('+info+')');
								
								if(stopPrevBtn){
									var stopBtnIndex = stopPrevBtn.src.lastIndexOf('/'),
										stopBtnName = stopPrevBtn.src.substring(0,stopBtnIndex+1);								
								
									stopPrevBtn.src = stopBtnName + 'btn_preMaga_en.gif';
								}
								
								vMaxPic++;
								changeVersionIndex = vMaxPic;
								if(parseInt(box.style.marginLeft) == imgBoxLeft){
									
									maxLeft = 0;
									box.style.marginLeft = '0px';
									addImg(json.imgNext,'next',true,json.imgBigNext,json.versionName);
								}else{
									addImg(json.imgNext,'next',false,json.imgBigNext,json.versionName);
								}


								if(initNext.getAttribute('end') == 'false'){
									initPre.getElementsByTagName('img')[0].title = SPS.text('MAIL_PRE');
									initNext.getElementsByTagName('img')[0].title = SPS.text('MAIL_NEXT');
									initPre.setAttribute('end','false');
								}
								
								stop = false;
								if(parseInt(vMaxPic) == vInitPic){
									var imgBtn = elem.getElementsByTagName('img')[0],
										imgNameIndex = imgBtn.src.lastIndexOf('/'),
										imgName = imgBtn.src.substring(0,imgNameIndex+1);

									elem.disabled = true;
									elem.onclick = null;
									elem.style.cursor = 'default';
									
									imgBtn.src = imgName + 'btn_nextMagaGray_en.gif';
									stopNextBtn = imgBtn;
									
									initState = elem;
									initNext.setAttribute('end','true');
									initPre.setAttribute('end','false');
									stop = true;
									elem.getElementsByTagName('img')[0].title = SPS.text('MAIL_LATEST_ISSUE');
								}	
								maxLeft = parseInt(box.style.marginLeft)-parentW;
								clearInterval(time);
								time = setInterval(setMove,10);
							
							}
					}
				});
				ajax.request({vLang:oLang.value,currIndex:vMaxPic+1,direction:'next'});//传递参数.				
			}else if(elem.className == 'prev'){

				var ajax = $Ajax('subscription.nhn?m=getImgNameAjax',{
					type: 'post',
					onload : function(originalRequest)
					{							
							var info = originalRequest.text();
							if(info){								
								var json = eval('('+info+')');
								
								if(stopNextBtn){
									var stopBtnIndex = stopNextBtn.src.lastIndexOf('/'),
										stopBtnName = stopNextBtn.src.substring(0,stopBtnIndex+1);
								
									stopNextBtn.src = stopBtnName + 'btn_nextMaga_en.gif';
								}
								changeVersionIndex = vMaxPic;
								vMaxPic--;		
								
								
								if(parseInt(box.style.marginLeft) === 0){
									
									maxLeft = imgBoxLeft;
									box.style.marginLeft = imgBoxLeft + 'px';					
									addImg(json.imgNext,'prev',true,json.imgBigNext,json.versionName);
								}else{
									addImg(json.imgNext,'prev',false,json.imgBigNext,json.versionName);
								}

								
								initNext.getElementsByTagName('img')[0].title = SPS.text('MAIL_NEXT');
								if(initPre.getAttribute('end') == 'false'){							
									initPre.getElementsByTagName('img')[0].title = SPS.text('MAIL_PRE');
									initNext.setAttribute('end','false');
								}
								
								stop = false;
								if(parseInt(vMaxPic) === 0){
									var imgBtn = elem.getElementsByTagName('img')[0],
										imgNameIndex = imgBtn.src.lastIndexOf('/'),
										imgName = imgBtn.src.substring(0,imgNameIndex+1);
									
									elem.disabled = true;
									elem.onclick = null;
									elem.style.cursor = 'default';
									
									imgBtn.src = imgName + 'btn_prevMagaGray_en.gif';
									stopPrevBtn = imgBtn;
									
									initState = elem;
									initPre.setAttribute('end','true');
									initNext.setAttribute('end','false');
									stop = true;
									elem.getElementsByTagName('img')[0].title = SPS.text('MAIL_FISRT_ISSUE');
								}								
								maxLeft = parseInt(box.style.marginLeft)+parentW;
								clearInterval(time);
								time = setInterval(setMove,10);	
								
							}
					}
				});
				ajax.request({vLang:oLang.value,currIndex:vMaxPic-1,direction:'prev'});//传递参数.
			}				
			
		}
	}

	// 左右移动效果
	var setMove = function(){
		var offset = y = 0,
				left = parseInt(box.style.marginLeft),
				_this = arguments.callee;

		_this.time ? offset = new Date().getTime()-_this.time : _this.time = new Date().getTime();
		y = tween(offset/1000);
		if(y < 1){
				setTimeout(function(){box.style.marginLeft = (left+(maxLeft-left)*y) + 'px';},10);
				elem.onclick = null;
		}else{
			clearInterval(time);
			_this.time = null;
			box.style.marginLeft = maxLeft + 'px';
			elem.onclick = setActive;
		}
	}

	// 移动系数
	var tween = function(x){
		return x*x-0.005;	// 缓动效果。刚开始时会有0.005个像素的后退，然后向前由快到慢的移动
	}

	// 请求并修改图片
	var addImg = function(src,direction,flg,href,version){
		var img = box_img = null,
				boxImg_len = 0;
		box_img = box.getElementsByTagName('img');
		boxImg_len = box_img.length;

		if(direction == 'next'){	// next时添加图片
			if(flg){
				box_img[0].src = box_img[1].src;
			}
			box_img[1].src = src;
			box_img[1].setAttribute('href',href);
			box_img[1].setAttribute('version',version);
			oVision.innerHTML = box_img[1].getAttribute('version');
		}else if(direction == 'prev'){	// prev时修改图片
			if(flg){
				box_img[1].src = box_img[0].src;
			}
			box_img[0].src = src;
			box_img[0].setAttribute('href',href);
			box_img[0].setAttribute('version',version);
			oVision.innerHTML = box_img[0].getAttribute('version');
		}
	}
	
	// 中英文版本的转换
	var setViewVersion = function(event){
		var evt = event || window.event;
		var self = this,
			box_img = box_img = box.getElementsByTagName('img'),
			ajax = $Ajax('subscription.nhn?m=getImgNameAjax',{
			type: 'post',
			onload : function(originalRequest)
			{							
					var info = originalRequest.text();
					if(info){
						json = eval('('+info+')');	
						if(parseInt(box.style.marginLeft) === 0){
							box_img[0].src = json.imgNext;
							box_img[0].setAttribute('href',json.imgBigNext);
							box_img[0].setAttribute('version',json.versionName);							
						}else{
							box_img[1].src = json.imgNext;
							box_img[1].setAttribute('href',json.imgBigNext);
							box_img[1].setAttribute('version',json.versionName);
						}

						if(oLang.value == 'zh'){
							self.innerHTML = SPS.text('MAILL_EN_VERSION');
							self.title = SPS.text('MAILL_EN_VERSION_TITLE');
						}else if(oLang.value == 'en'){
							self.innerHTML = SPS.text('MAILL_ZH_VERSION');
							self.title = SPS.text('MAILL_ZH_VERSION_TITLE');
						}
						oVision.innerHTML = json.versionName;
					}
			}
		});
		oLang.value == 'en' ? oLang.value = 'zh' : oLang.value = 'en';
		if(changeVersionIndex === 0){
			changeVersionIndex = vInitPic;
		}else{
			changeVersionIndex = vMaxPic;
		}
		ajax.request({vLang:oLang.value,currIndex:changeVersionIndex,direction:'prev'});//传递参数.
		evt.preventDefault ? evt.preventDefault() : evt.returnValue = false;		
	};
	
	// 弹出大图
	var popImage = function(){
	try{
		var self = this;
		var img = null;
			try{
				if(win) win.focus();
			}catch(e){ }
			win = window.open('../subscriptionImg.html','img','location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no');
			setTimeout(function(){
				var winW = winH = 0,
						hScreen = window.screen.availHeight,
						domain = 'http://'+ oldDomain;
						
						//alert(domain+self.getAttribute('href'));
						
						//win.document.domain = "nciku.com";
				win.document.body.style.margin = '0px auto';
				win.document.getElementById("imgContainer").innerHTML = '<img src="'+domain+self.getAttribute('href')+'">';	
/*
				if(document.all){
					win.document.body.innerHTML = '';
					win.document.write('<img src="'+domain+self.getAttribute('href')+'">');				
				}else{
					win.document.body.innerHTML = '<img src="'+domain+self.getAttribute('href')+'">';				
				}
*/
				setTimeout(function(){
					img = win.document.getElementsByTagName('img')[0];
					if(img && img.complete){
						winH = img.offsetHeight;
						if(document.all){
							winW = win.document.getElementsByTagName('img')[0].offsetWidth + 50;
						}else{						
							winW = img.offsetWidth + 30;
							//setTimeout(function(){winW = img.offsetWidth + 30;},300);	// safari需要有间隔才可以取出数据
						}
						
						if(winH > hScreen){
							setTimeout(function(){win.resizeTo(winW,hScreen);},100);
						}else{
							win.resizeTo(winW,winH);
						}
					}
				},250);
				win.moveTo(0,0);
			},250);
		}
		catch(e){};
	};

	return{
		init: function(btn,maxPic,lang,version){
			oLang = document.getElementById(lang);
			oViewVersion = document.getElementById(version);
			
			imgBoxLeft = -((imgs_len-1)*(parent.offsetWidth)); // 初始化定位在最后一张
			btns_area = document.getElementById(btn);
			btns = btns_area.getElementsByTagName('span');
			vMaxPic = document.getElementById(maxPic).value-1;
			vInitPic = vMaxPic;
			box.style.marginLeft = imgBoxLeft + 'px';
			
			oViewVersion.onclick = setViewVersion; // 中英文切换

			// 初始化按扭是否为可点状态
			for(var i = 0; i < btns.length; i++){
				if(imgBoxLeft < 0){
					if(btns[i].className == 'prev'){
						btns[i].onclick = setActive;
						btns[i].style.cursor = 'pointer';
						initState = btns[i];
						initPre = btns[i];
						initState.disabled = false;
						initPre.setAttribute('end','false');
					}else if(btns[i].className == 'next'){
						btns[i].disabled = true;
						var imgBtn = btns[i].getElementsByTagName('img')[0],
							imgNameIndex = imgBtn.src.lastIndexOf('/'),
							imgName = imgBtn.src.substring(0,imgNameIndex+1);
						
						imgBtn.src = imgName + 'btn_nextMagaGray_en.gif';
						stopNextBtn = imgBtn;
						
						initNext = btns[i];
						initNext.setAttribute('end','true');
						initNext.getElementsByTagName('img')[0].title = SPS.text('MAIL_LATEST_ISSUE');
					}
				}
			}

			// 初始化图片弹出
			for(var j = 0; j < imgs_len; j++){
				imgs[j].onclick = popImage;
				imgs[j].title = SPS.text('MAIL_MOUSEOVER');
				boxW += imgs[j].offsetWidth;
			}
			box.style.width = boxW + 'px';
			oVision.innerHTML = imgs[0].getAttribute('version');
		}
	}
})();