/**
 * Copyright 2007 SK Communications. All rights reserved
 * @since 2007.10.22
 * @author okjungsoo
 * 
 * 금주의 테마 페이지를 정의합니다. 
 */
if(typeof(Page) == "undefined") {
	Page = {}
}
	
Event.observe(window, 'load', function() {
	document.domain = "egloos.com";
	var reviewDialog = new Modal.RecommendDlg('eofeeling_review', {
		'zIndex':9901, 
		'top':'0px', 
		'left':'0px', 
		isRecommended:true
	});

});

Page = {
	poseReviewDlg:function(srcElement) {
		var elmPos = Position.cumulativeOffset(srcElement);
		return [0, (elmPos[1] -100)];
	}
}


Page.WeeklyThemeList = Class.create();
Object.extend(Page.WeeklyThemeList, {
	current: null, 
	getPrevList: function(event) {
		Event.stop(event);
		if(Page.WeeklyThemeList.current) {
			Page.WeeklyThemeList.current.getPrevList();
		}
	}, 
	
	getNextList: function(event) {
		Event.stop(event);
		if(Page.WeeklyThemeList.current) {
			Page.WeeklyThemeList.current.getNextList();	
		}
	}
});

Object.extend(Page.WeeklyThemeList.prototype, {
	initialize: function(options) {
		this.options = Object.extend({
			url: "/exec/theme/get_weeklylist_exec.php",
			overallList: 10,
			numOfList: 2,
			startIndex: 0
		}, options||{});
		
		this.params = {'startIndex': 0, 'listLength': this.options.overallList, 'numOfList':this.options.numOfList};
		this.list = $('past_theme_list');
		
		var navigation = $('past_theme_nav');
		var aElms = navigation.getElementsByTagName('a');

		this.nextSpan = aElms[0];
		this.prevSpan = aElms[1];
		Page.WeeklyThemeList.current = this;
	}, 
	
	getPrevList: function() {
		if(this.prevSpan.className == 'prevOn') {
			this.params.startIndex = (this.options.startIndex = this.options.startIndex - this.options.numOfList);
			this._sendRequest();
		}
	}, 
	
	getNextList: function() {
		if(this.nextSpan.className == 'nextOn') {
			this.params.startIndex = (this.options.startIndex = this.options.startIndex + this.options.numOfList);
			this._sendRequest();
		}
	}, 
	
	_sendRequest: function() {
		this.prevSpan.className 
			= (this.options.startIndex - this.options.numOfList< 0)? 'prevOff': 'prevOn';
		this.nextSpan.className 
			= (this.options.startIndex + this.options.numOfList >= this.options.overallList)? 'nextOff': 'nextOn';
		
		new Ajax.Request(this.options.url, {
			asynchronous: false,
			method:"post", 
			parameters: this.params,
			onSuccess: this.updateList.bind(this)
		});
	},
	
	updateList: function(response) {
		var text = response.responseText;
		if(text.isJSON()) {
			var responseArr = text.evalJSON();
			var liElms = this.list.getElementsByTagName('li');
			
			var imgElm, aElm;
			for(var i=0; i<responseArr.length; i++) {
				var listElm = liElms[i];
				imgElm = listElm.getElementsByTagName('img')[0];
				imgElm.src = responseArr[i]['imgsrc'];
				
				aElm = listElm.getElementsByTagName('a')[0];
				aElm.href = responseArr[i]['url'];
				aElm.innerHTML = responseArr[i]['subject'];
			}
		}
	}
});