var Site = {
	
	init: function(){		
		Site.RemoveBorders();
		
		Site.initSubmit();
				
		Site.initVerify();
		
		ReMooz.assign('.remooz', {
			origin: 'img',
			centered: true
		});
		
		if ($('dir_to_process')) Site.checkDirToProcess();
	},
	
	start: function(){
		Site.PreloadMouseOvers();
	},
	
	PreloadMouseOvers: function(){
		var images = [];
		
		$$('.over').each(function(el){
			if (el.get('src')) {
				src	= el.get('src');
				src = src.replace(/-active/, '');
				src = src.replace(/-inactive/, '');
				src = src.replace(/-over/, '');
				
				var extension = src.substring(src.lastIndexOf('.'), src.length)
				
				images.push(src.replace(extension, '-over' + extension));
			}
		});
		
		if (images.length > 0) {
			new Asset.images(images, {
				onComplete: function(){
					Site.InitMouseOvers();
				}
			});		
		}
	},
	
	InitMouseOvers: function(){
		var src;
		
		$$('.over').each(function(el){
			var clone = el.clone().injectAfter(el);
			
			el.dispose();
		});
		
		$$('.over').each(function(el){
			if (el.get('src')) {
				el.addEvent('mouseover', function(){
					src	= el.get('src');
					src = src.replace(/-active/, '');
					src = src.replace(/-inactive/, '');
					
					var extension = src.substring(src.lastIndexOf('.'), src.length)
					
					el.set('src', src.replace(extension, '-over' + extension));
				});
				
				el.addEvent('mouseout', function(){
					el.set('src', src);
				});     
			}                                              
		});
	},
	
	RemoveBorders: function(){
		$$('a').each(function(el){
			el.addEvent('focus', function(){
				el.blur();
			});
		});
	},

	initSubmit: function(){
		$$('.submit').each(function(el){
			var button 	= el.getElement('a');
			var form	= $(button.get('rel'));
			
			function submit(){
				el.getElements('a').each(function(button){
					button.dispose();
				});
				
				el.set('html', '');
				
				var loader = $('loader').clone().injectInside(el).setStyle('display', 'block');
				
				form.submit();
			}
			
			form.addEvent('submit', function(e){
				e = new Event(e).stop();
				
				submit();
			});
			
			button.addEvent('click', function(e){
				e = new Event(e).stop();
				
				submit();
			});
		});
	},
		
	initVerify: function(){
		$$('a').each(function(el){
			if (el.get('rel') == 'confirm') {
				el.addEvent('click', function(e){
					if (confirm('Are you sure?') == false) {
						e = new Event(e).stop();
					}
				});
			}
		});
	},
	
	deleteObject: function(url, query, object){
		var request = new Request.HTML({
			method: 'post',
			url: site_url+url,
			update: $(object)
		}).send(query);
	},
	
	goTo: function(form, value, target){
		$(target).value = value;
		$(form).submit();
	},
	
	aFunction: function(){
		// a dummy
	},

	unzipFile: function(id){
		var myRequest = new Request({
			url: site_url+'galleries/realUnzip',
			method: 'post',
			evalScripts: true,
			evalResponse: true,
			onRequest: function(){
				$('unzipResults').setStyle('display', 'block');
			}
		}).send("id="+id);
	},
	
	checkDirToProcess: function(){
		dir = $('dir_to_process');
		
		dir.addEvents({
			'keyup': function(){
				if (dir.get('value').length > 0) {
					var dirRequest = new Request({
						url: site_url+'galleries/check_dir',
						method: 'post',
						evalScripts: true,
						evalResponse: true,
						onRequest: function(){
							$('tinyloader').setStyle('display', 'inline');
						}
					}).send("dir="+dir.get('value'));
				}
			}
		});
	}
}

window.addEvent('domready', Site.init);
window.addEvent('load', Site.start);
