function selectAll() {
	$$('img[class^=thumbnail]').each(function(el) {
		dummy = el.src.split('/');
		_select(dummy[dummy.length-1], 'all');
	});
}

function unselectAll() {
	$$('img[class^=thumbnail]').each(function(el) {
		dummy = el.src.split('/');
		unselect(dummy[dummy.length-1], 'all');
	});
}

function showSelectedOnly() {
	$('result').set('html', '');
	if (countSelected()==0) {
		alert('No image selected!');
		return;	
	}	
	
	$$('div[id^=th-]').each(function (el) {
			if (!el.hasClass('thumbnail-sel'))
				var _id = el.id.substring(3);
				if (_id)
					$('main-' + _id).setStyle('display', 'none');
	});				
	$('showSel').setStyle('display', 'none');
	$('showAll').setStyle('display', '');	
}

function showAll() {
	$('result').set('html', '');	
	$$('li[id^=main-]').each(function (el) {
		el.setStyle('display', '');
	});				
	$('showSel').setStyle('display', '');
	$('showAll').setStyle('display', 'none');	
}			

function makeZip() {
	$('result').set('html', '');
	if (countSelected()==0) {
		alert('No image selected!');
		return;	
	}				
	
	location.href = 'makezip.php'
}

function save(name) {
	$('result').set('html', '');
	location.href = 'makezip.php?name=' + name;
}
			
function countSelected() {
	var _selected  = 0;
	
	$$('div[id^=th-]').each(function (el) {
			if (el.hasClass('thumbnail-sel'))
				_selected++;
	});	
	
	return _selected;
}
				
function _select(_file, mode) {
	if (!$chk(mode))
		mode = 'one'; 
		
	var _div = $('result');
	var _req = new Request.HTML({
		url: 			'server.php?action=add&id=' + _file + '&mode=' + mode,
		update: 		_div,
		evalScripts:	false,
		onRequest: 		function() {
										_div.set('html', '<span class="loader">&nbsp;</span>');
									},
		onSuccess: 		function(tree, elements, html, js) {
										id = _file.split('.')[0];
										$('img-s-'+id).setProperty('src', './images/icons/add_disabled.png');
										$('sel-'+id).setProperties({href:  '#',
																								title: 'this image is already selected'});
										$('img-u-'+id).setProperty('src', './images/icons/remove.png');
										$('unsel-'+id).setProperties({href:  "javascript:unselect('" + _file + "')",
																								  title: 'click to unselect this image'});
										$('th-'+id).className = 'thumbnail-sel';
										$('ext-'+id).className = 'ext-sel';
										updateInfo();
									},
		onFailure: 		function() {
										_div.set('html', '<span class="error">the request has failed!</span>');
									}
	});
	_req.get();
}

function unselect(_file, mode) {		
	if (!$chk(mode))
		mode = 'one'; 
				
	var _div = $('result');
	var _req = new Request.HTML({
		url: 			'server.php?action=remove&id=' + _file + '&mode=' + mode,
		update: 		_div,
		evalScripts:	false,
		onRequest: 		function() {
										_div.set('html', '<span class="loader">&nbsp;</span>');
									},
		onSuccess:		function(tree, elements, html, js) {
										id = _file.split('.')[0];
										$('img-s-'+id).setProperty('src', './images/icons/add.png');
										$('sel-'+id).setProperties({href:  "javascript:_select('" + _file + "')",
																								title: 'click to select this image'});
										$('img-u-'+id).setProperty('src', './images/icons/remove_disabled.png');
										$('unsel-'+id).setProperties({href:  '#',
																								  title: 'this image has not been selected yet'});
										$('th-'+id).className = 'thumbnail';
										$('ext-'+id).className = 'ext-sel';
										updateInfo();
									},
		onFailure: 		function() {
										_div.set('html', '<span class="error">the request has failed!</span>');
									}
	});
	_req.get();
}