﻿//================================================
// CN WoW Community Site
// (c)2009 Blizzard Entertainment. Shanghai Easenet. All rights reserved.
//================================================

var WinnerDisplay = new Class({
	initialize: function(data, issueId) {
		this.data = data;
		this.issueId = issueId;
		this.inited = false;
		this.isShown = false;
		this.holder = new Element("div").setProperty('id',"winner-" + this.issueId);
		var html = ['<dl class="winner-section"><dt>第'+this.issueId+'轮获奖名单<a href="#" class="toggleWinnerLink">+ 展开</a></dt><dd style="display:none"><h4>最快上传名单</h4><div class="winnerType1">'];
		html.push('</div><h4>随机获奖名单</h4><div class="winnerType2">');
		html.push('</div></dd></dl>');
		this.holder.set('html',html.join('\n'));
		this.toggler = this.holder.getElement(".toggleWinnerLink").addEvent('click',function(e){
			e.stop();
			this.isShown ? this.hide() : this.show();
		}.bindWithEvent(this));
		this.listHolder = this.holder.getElement('dd');
		this.type1Holder = this.holder.getElement(".winnerType1");
		this.type2Holder = this.holder.getElement(".winnerType2");
	},
	init: function() {
		this.type1Holder.set('html',this.makeTable(this.data[0],'\'<a href="\' + data[outbond].imageURL + \'" target="_blank"><img src="\' + data[outbond].imageURL.replace(".jpg","_s.jpg").replace(".png","_s.png") + \'" /></a>\' + data[outbond].realm + \' \' + data[outbond].name'));
		this.type2Holder.set('html',this.makeTable(this.data[1],'\'<a href="\' + data[outbond].imageURL + \'" target="_blank"><img src="\' + data[outbond].imageURL.replace(".jpg","_s.jpg").replace(".png","_s.png") + \'" /></a>\' + data[outbond].realm + \' \' + data[outbond].name'));
		this.inited = true;
		return this;
	},
	makeTable: function(data,template) {
		var turn = data.length%5 == 0 ? data.length/5 : (data.length/5).toInt() + 1;
		var html = ['<table><tbody>'];
		var outbond = 0;
		for(var j=0; j<turn; j++) {
			html.push('<tr>');
			for(var i=0; i<5; i++) {
				html.push('<td>');
				if(outbond < data.length) {
					html.push(eval(template));
				} else {
					html.push('&nbsp;');
				}
				html.push('</td>');
				outbond++;
			}
			html.push('</tr>');
		}
		html.push('</tbody></table>');
		return html.join('\n');
	},
	injectTo: function(el) {
		this.holder.inject(el);
		return this;
	},
	show: function() {
		if(!this.inited) {
			this.init();
		}
		this.listHolder.setStyle('display','');
		this.toggler.set('text','- 关闭');
		this.isShown = true;
		ie6FootFix();
		return this;
	},
	hide: function() {
		this.listHolder.setStyle('display','none');
		this.toggler.set('text','+ 展开');
		this.isShown = false;
		ie6FootFix();
		return this;
	}
});

var page = {
	data: {
		winnerInfo: null
	},
	start: function() {
		page.navlinks = $("menu-winners").getElements("a");
		page.winnerContexts = $("winnerContexts");
		page.issueCount = 10;
		page.winnerDisplays = [];
		page.data.winnerInfo.each(function(data, i) {
			if(data[0].length == 0 && data[1].length == 0 && data[2].length == 0 ) {
				page.issueCount --;
			} else {
				page.winnerDisplays.push(new WinnerDisplay(data,10 - i).injectTo(page.winnerContexts));
			}
		});
		for(var i=0; i<page.issueCount; i++) {
			page.navlinks[i].removeClass("inactive-menu").addEvent('click',function(e,ind) {
				this.winnerDisplays[ind].show();
			}.bindWithEvent(page,[page.issueCount - 1 - i]));
		}
		if(page.issueCount > 0) {
			page.winnerDisplays[0].show();
		} else {
			page.winnerContexts.set('html','<p style="padding:30px;text-align:center">中奖名单尚未公布，敬请期待</p>');
		}
		ie6FootFix();
		return this;
	}
};

window.addEvent('domready',page.start);
