/**/
var PhotoInfo = Class.create();
PhotoInfo.prototype = {
	initialize : function(_photo_info_array){
		this.arr = _photo_info_array;
	},
	getURL : function(){return this.arr[1];},
	getID : function(){return this.arr[0];},
	getTitle : function(){return this.arr[2];},
	getInfo : function(){return this.arr[3];},
	getCommentCount : function(){return this.arr[4];}
}
var ALDVars = {
	holder : 'tmp_holder',
	album_photo_info_container : 'album_photos',
	photo_list_container : 'photo_list_container',
	photo_list_provider_url : '/a_albumpage',
	working_displayer : 'working_displayer',
	photoArray : new Vector(),
	EVT_PAGE_LOADING : 1,
	EVT_PAGE_LOADED : 2,
	message_box_text : 'working_message_box_text',
	working_message_box : null,
	setupBox : function(){
		this.working_message_box = new AlbumYapBox(3, 'working_message_box', false, false);
		this.working_message_box.setWidth(350);
	}
}
var albumListDisplayer;
var AlbumListDisplayer = Class.create();
AlbumListDisplayer.prototype = {
	initialize : function(){
		this.listeners = new EventListenerBase();
		this.isOwner = false;
		this.working_message_box = null;
		this.activePage = 1;
		this.lastPage = 0;
	},
	getBox : function(){
		if(ALDVars.working_message_box == null){
			 ALDVars.setupBox();
		}
		return ALDVars.working_message_box;
	},
	addListener : function(_callback, _caller){
		this.listeners.addListener(_callback, _caller);
	},
	showPhotos : function(owner){
		this.isOwner = owner;
		var album_photos = $(ALDVars.album_photo_info_container);
		var dataHolder = $(ALDVars.holder);
		dataHolder.appendChild(album_photos);
		album_photos = $(ALDVars.album_photo_info_container);
		var album_photo_list = album_photos.innerHTML.strip().split(newSep);
		var pagination_arr = album_photo_list[0];
		this.showPagination(pagination_arr);
		this.showPhotos0(album_photo_list);
	},
	showPhotos0 : function(_photo_list){
		if(_photo_list == null)return;
		var tmpStr = new StringBuffer();
		var len = _photo_list.length;
		if(len == 0)return;
		ALDVars.photoArray.clear();
		var activePhoto;
		len=len-1;
		var j=0;
		for(var i=1; i<len; i++){
			activePhoto = new PhotoInfo(_photo_list[i].split(paramSep));
			ALDVars.photoArray.add(activePhoto);
			tmpStr.append(this.getPhotoHTML(j, activePhoto));
			j++;
		}
		tmpStr.append('<div class="clear"></div>');
		$(ALDVars.photo_list_container).update(tmpStr.toString());
		if(this.isOwner){
			this.addListeners();
		}
		this.setPageLoaded();
	},
	showPage : function(_page){
		this.lastPage = _page;
		this.setPageLoading();
		var _this = this;
		var album_no = globDH.getData('common', 'album_no');
		var full_url = ALDVars.photo_list_provider_url + '/' + album_no + '/' + _page;
		var inv_code = globDH.getData('common', 'inv_code');
		if(inv_code != ''){
			full_url = full_url + '/' + inv_code;
		}
		new Ajax.Request(full_url,{
				method : 'get',
				onSuccess : function(transport){
					_this.onListLoadSuccess(transport);
				},
				onFailure : function(){
					_this.onListLoadFailure();
				}
		});
	},
	setPageLoading : function(){
		this.listeners.notifyListeners(ALDVars.EVT_PAGE_LOADING, '');
		var screen_width = Client.viewportWidth();
		$(ALDVars.message_box_text).update(Lang.photo_list.ald_page_is_loading);
		var box = this.getBox();
		box.showPositioned((screen_width/2 - 150), 250);
	},
	setPageLoaded : function(){
		this.listeners.notifyListeners(ALDVars.EVT_PAGE_LOADED, '');
		this.getBox().hide();
	},
	onListLoadSuccess : function(transport){
		var album_photo_list = transport.responseText.strip().split(newSep);
		if(album_photo_list == null){
			return;
		}
		this.activePage = this.lastPage;
		var pagination_arr = album_photo_list[0];
		this.showPagination(pagination_arr);
		this.showPhotos0(album_photo_list);
	},
	onListLoadFailure : function(){
		this.setPageLoaded();
	},
	showPagination : function(pagination_arr){
		if(pagination_arr == null){
			return;
		}
		var arr = pagination_arr.split(paramSep);
		var tmpStr = new StringBuffer();
		if(arr[0]>1){
			tmpStr.add('<a href="javascript:void(0);" onclick="albumListDisplayer.showPage(').add(arr[0]-1).add(');">').add(Lang.photo_list.ald_prev).add('</a>');
		}else{
			tmpStr.add('<span class="disabled_tnt_pagination">').add(Lang.photo_list.ald_prev).add('</span>');
		}
		for(var i=1; i<=arr[1]; i++){
			if(this.activePage != i){
				tmpStr.add('<a onclick="albumListDisplayer.showPage(').add(i).add(');" href="javascript:void(0);">').add(i).add('</a>');
			}else{
				tmpStr.add('<span class="active_tnt_link">').add(i).add('</span>');
			}
		}
		if(this.activePage<arr[1]){
			tmpStr.add('<a href="javascript:void(0);" onclick="albumListDisplayer.showPage(').add(this.activePage+1).add(');">').add(Lang.photo_list.ald_next).add('</a>');
		}else{
			tmpStr.add('<span class="disabled_tnt_pagination">').add(Lang.photo_list.ald_next).add('</span>');
		}
		tmpStr.add('<div class="clear"></div>');
		var str = tmpStr.toString();
		for(var j=1; j<=2 ;j++){
			$('pagination_' + j).update(str);
		}
		
	},
	getPhotoHTML : function(i, _pi){
		var inv_code = globDH.getData('common', 'inv_code');
		var tmpStr = new StringBuffer();
		tmpStr.add('<div id="ple_').add(i).add('" class="photo_list_element" align="center">');
		tmpStr.add('<a href="/photo/').add(_pi.getID()).add(inv_code == null ? '' : '/' + inv_code).add('" onclick="showPhoto(\'').add(_pi.getID()).add(inv_code == null ? '' : '/' + inv_code).add('\');return false;"><img id="ple_img_').add(i).add('" class="photo_list_element_img"');
		tmpStr.add(' src="').add(_pi.getURL()).add('" alt="').add(_pi.getTitle()).add('" onclick=""></a>');
		tmpStr.add('<div><div id="le_title_').add(i).add('" style="display:block;">');
		tmpStr.add('<div id="le_title_').add(i).add('_text" class="photo_list_element_title">').add(_pi.getTitle()).add('</div>');
		//if(_pi.getCommentCount() > 0){
		//	tmpStr.add('<div class="photo_list_element_comment_count"><img src="http://btcool.simplecdn.net/images/ic/yorum_yeni.gif" border="0"><span style="font-size:10px;">&nbsp;').add(_pi.getCommentCount()).add(Lang.photo_list.ald_comment).add('</span></div>');
		//}
		tmpStr.add('</div>');
		if(this.isOwner){
			tmpStr.add('<div id="le_edit_').add(i).add('" style="overflow:auto;display:none;margin-top:5px;">');
			tmpStr.add('<div><input onfocus="fullEditer.showBox(').add(chr.sq).add('le_edit_').add(i).add(chr.sq).add(',').add(i).add(', 1);" class="le_edit_input" type="text" id="le_edit_title_input_').add(i).add('" style="width:120px;"></div>');
			tmpStr.add('<div><textarea onfocus="fullEditer.showBox(').add(chr.sq).add('le_edit_').add(i).add(chr.sq).add(',').add(i).add(', 2);" class="le_edit_input" id="le_edit_desc_input_').add(i).add('" style="width:120px;height:50px;" maxlength="500"></textarea></div>');
			tmpStr.add('<div><input onfocus="fullEditer.showBox(').add(chr.sq).add('le_edit_').add(i).add(chr.sq).add(',').add(i).add(', 3);return false;" class="le_edit_input" type="text" id="le_edit_tag_input_').add(i).add('" style="width:120px;"></div>');
			tmpStr.add('<input type="hidden" id="le_edit_resim_no_').add(i).add('" value="').add(_pi.getID()).add('" maxlength="100">');
			tmpStr.add('<input type="hidden" id="le_edit_desc_hidden_').add(i).add('" value="').add(_pi.getInfo()).add('">');
			tmpStr.add('<input type="hidden" id="le_edit_tag_hidden_').add(i).add('" value="">');
			tmpStr.add('</div>');
			tmpStr.add(' <div id="le_img_move_').add(i).add('" style="display:none;margin-top:5px;">');
			tmpStr.add('<input id="le_img_move_input_').add(i).add('" type="checkbox" value="').add(_pi.getID()).add('">');
			tmpStr.add('</div>');
		}
		tmpStr.add('</div></div>');
		return tmpStr.toString();
	},
	addListeners : function(){
	},
	getImgElem : function(_id){
		return $('ple_img_' + _id);
	},
	onImageOver : function(_image_id, elem_id){
		//showMenuLink(elem_id, _image_id);
	}
}
albumListDisplayer = new AlbumListDisplayer();
