var GigaFlat = {

	init: function() {
		$ES('tr.download').each(function(element) {
			element.ondblclick = function() {
				var id = this.id.split('-')[1];
				GigaFlat.edit(id);
			}
		});
		$ES('img.bookmark').each(function(element) {
			element.onclick = function() {
				var id = this.id.split('-')[1];
				var req = new Ajax('/browse.php?ajax=bookmark', {
					method: 'post',
					postBody: {'postID' : id},
					onComplete: function(response) {
						var json = GigaFlat.parseJson(response);
						if (json.success) {
							$('bookmark-'+id).src = (json.bookmark) ? '/images/icons/star_yellow.png' : '/images/icons/star_grey.png';
						} else {
							$('bookmark-'+id).src = '/images/icons/star_grey.png';
							alert(json.error);
						}
					}
				});
				$('bookmark-'+id).src = '/images/ajax-loader.gif';
				req.request();
			}
		});
	},
	parseJson: function(responseString) {
		if (responseString.substr(0,4) != "JSON") {
			var response = {success: false, msg: responseString};
		} else {
			var parseCode = responseString.substr(4);
			var response = Json.evaluate(parseCode);
		}
		return response;
	},
	showComments: function(postID) {
		var req = new Ajax('/download.php?ajax=showComments', {
			method: 'post',
			postBody: {'postID' : postID},
			onComplete: function(response) {
				var json = GigaFlat.parseJson(response);
				if (json.success) {
					$('layer-comments').setHTML(json.html);
					Layer.show('layer-comments');
				}
			}
		}).request();
	},
	showCover: function(postID) {
		var req = new Ajax('/download.php?ajax=showCover', {
			method: 'post',
			postBody: {'postID' : postID},
			onComplete: function(response) {
				var json = GigaFlat.parseJson(response);
				if (json.success) {
					$('layer-show-cover').setHTML(json.html);
					Layer.show('layer-show-cover');
				}
			}
		}).request();
	},
	edit: function(postID) {
		var req = new Ajax('/download.php?ajax=edit', {
			method: 'post',
			postBody: {'postID' : postID},
			onComplete: function(response) {
				var json = GigaFlat.parseJson(response);
				if (json.success) {
					$('download-'+postID).setHTML(json.html);
				} else {
					alert(json.error);
				}
			}
		});
		$('download-'+postID).setHTML('<td colspan="6"><img src="/images/ajax-loader.gif" align="middle" /></td>');
		req.request();
	},
	editcover: function(postID) {
		var coverwin = window.open("/covereditor.php?pid=" + postID, "covereditor", "width=440,height=250,status=no,scrollbars=no,resizable=no,toolbar=no,menubar=no,location=no");
		coverwin.focus();
	},
	cancel: function(postID) {
		new Ajax('/download.php?ajax=cancel', {
			method: 'post',
			postBody: $('form-post').toQueryString(),
			onComplete: function(response) {
				var json = GigaFlat.parseJson(response);
				if (json.success) {
					$('download-'+postID).setHTML(json.html);
				} else {
					alert(json.error);
				}
			}
		}).request();
	},
	update: function(postID) {
		new Ajax('/download.php?ajax=update', {
			method: 'post',
			postBody: $('form-post').toQueryString(),
			onComplete: function(response) {
				var json = GigaFlat.parseJson(response);
				if (json.success) {
					$('download-'+postID).setHTML(json.html);
				} else {
					alert(json.error);
				}
			}
		}).request();
	},
	error: function(postID, disabled) {
		new Ajax('/download.php?ajax=error', {
			method: 'post',
			postBody: {'postID' : postID, 'disabled' : (disabled ? '1' : '0')},
			onComplete: function(response) {
				var json = GigaFlat.parseJson(response);
				if (json.success) {
					//$('download-'+postID).setHTML(json.html);
					if ($('download-'+postID))
						$('download-'+postID).remove();
					else
						alert('OK');
				} else {
					alert(json.error);
				}
			}
		}).request();
	}

}

window.onload = function() {
	GigaFlat.init();
}