var myMooFlowPage = {
       
  start: function(){
       
      var div = new Element('div').inject($('carousel'), 'top');
      var mf = new MooFlow(div, {
		      startIndex: 3,
		      offsetY: 0,
		      useCaption: true,
		      useMouseWheel: true,
		      useKeyInput: true,
		      useViewer: true,
		      onEmptyinit: function(){
      				this.loadJSON('public/js/horrach.json?'+Math.random());
      		  },
     		  onClickView: function(obj){
    					var a = new Element('a',{
						      'class':'remooz-element',
						      'href':obj.href,
						      'title':obj.title,
						      'styles':{'border':'none'}
						});
				        var img = new Element('img',{
   					          'src':obj.src,
					          'title':obj.title,
					          'alt':obj.alt,
					          'styles':obj.coords
				        }).setStyles({
						      'position':'absolute',
						      'border':'none'
      					}).inject(a);
      					a.inject(document.body);
      					var remooz = new ReMooz(a, {
      							centered: true,
      							origin: img,
								cutOut: true,
								opacityTitle: 1,
      							onCloseEnd: function(){
      									a.destroy();
										$('mbOverlay').setStyles({
											'height':'0'
										});
      									delete remooz;
										
     							}
      					}).open();
						$('mbOverlay').setStyles({
							'height':$(window).getScrollSize().y+$(window).getScroll().y
						});
      		  }
      	});
       
   }
};
var myMooFlowPageBig = {
   begin: function(){
       
      var div = new Element('div').inject($('carousel-big'), 'top');
      var mf = new MooFlow(div, {
		      startIndex: 3,
		      offsetY: 0,
		      useCaption: true,
		      useMouseWheel: true,
		      useKeyInput: true,
		      useViewer: true,
		      onEmptyinit: function(){
      				this.loadJSON('public/js/big-gallery.json?'+Math.random());
      		  },
     		  onClickView: function(obj){
    					var a = new Element('a',{
						      'class':'remooz-element',
						      'href':obj.href,
						      'title':obj.title + ' - '+ obj.alt,
						      'styles':{'border':'none'}
						});
				        var img = new Element('img',{
   					          'src':obj.src,
					          'title':obj.title,
					          'alt':obj.alt,
					          'styles':obj.coords
				        }).setStyles({
						      'position':'absolute',
						      'border':'none'
      					}).inject(a);
      					a.inject(document.body);
      					var remooz = new ReMooz(a, {
      							centered: true,
      							origin: img,
								cutOut: true,
								opacityTitle: 1,
      							onCloseEnd: function(){
      									a.destroy();
										$('mbOverlay').setStyles({
											'height':'0'
										});
      									delete remooz;
     							}
      					}).open();
						$('mbOverlay').setStyles({
							'height':$(window).getScrollSize().y+$(window).getScroll().y
						});
      		  }
      	});
       
   }    
};

window.addEvent('load', function() {
 
	/**
	 * Some options for the large photos.
	 *
	 * The first argument is the argument for $$ (can be an array of elements or a selector)
	 */
 
	initRemooz();
 
	/**
	 * Note on "shadow": value can be true, onOpenEnd (appear after resize) and false, to disable shadow
	 * WebKit (Safari 3) uses (great looking) CSS shadows, so it ignores this option.
	 */
 
});

function initRemooz(){
    ReMooz.assign('#search-res TD a', {
		origin: 'img',
		shadow: 'onOpenEnd', // fx is faster because shadow appears after resize animation
		dragging: false, // disable dragging
		centered: true,
		onCloseEnd: function(){
			$('mbOverlay').setStyles({
				'height':'0'
			});
		}
	});
	
	$$('#search-res TD a').addEvent('click',function(){
		$('mbOverlay').setStyles({
			'height':$(window).getScrollSize().y+$(window).getScroll().y
		});
	});
}

window.addEvent('domready', function(){
	
	var main_menu = $('main-menu');
	var carousel = $('carousel');
	var carousel_big = $('carousel-big');
	var sub_menu = $('sub-menu');
	var expo = $('expo');
	var sub_fer = $('sub-fer');
	var fer = $('fer');
	var search = $('search');
	if (carousel){
		myMooFlowPage.start();
	}
	if (carousel_big){
		myMooFlowPageBig.begin();
	}
	



	
	if(search){
		search.addEvent('click',function(e){
				myAJAXSendRequest($('tecnica').get('value'),$('artista').get('value'));
		});
	}
	
	if(expo){
        expo.addEvent('click', function(e){
			process(main_menu, [sub_menu], [sub_fer]);
        });
	}
	
	if(fer){
        fer.addEvent('click', function(e){
        	process(main_menu, [sub_fer], [sub_menu]);
        });
	}
	
	if(main_menu){
		new Fx.Tween(main_menu).set('opacity', 1);
	}

	
});


var url = '';
function myAJAXSendRequest(tec,art) {
	
	url = './search-res.php?artist='+art+'&tecnica='+tec;
	
	var el = new Request.HTML({
	
		url: url,
		
		onSuccess: function(html) {
		$('search-res').set('text', '');
		$('search-res').adopt(html);
		initRemooz();
		},
		onFailure: function() {
		$('search-res').set('text', 'The request failed.');
		}
		});
	el.send();
}
function next(art,tec,page,sort_name,sort) {
	
	url = './search-res.php?artist='+art+'&tecnica='+tec+'&page='+page+'&sort_name='+sort_name+'&sort='+sort;
	
	var el = new Request.HTML({
	
		url: url,
		
		onSuccess: function(html) {
		$('search-res').set('text', '');
		$('search-res').adopt(html);
		initRemooz();
		},
		onFailure: function() {
		$('search-res').set('text', 'The request failed.');
		}
		});
	el.send();
}

function restore(image,desc){
	Milkbox.showThisImage(image,desc);
}
function process(obj, showEls, hideEls){
	if(!obj)
		return false;
	var fx = new Fx.Tween(
					obj, 
					{
						'duration': 700,
						onComplete: function(){
							$$(showEls).each(function(el){
								new Fx.Tween(el).set('display', 'inline');
							});
							$$(hideEls).each(function(el){
								new Fx.Tween(el).set('display', 'none');
							});
							new Fx.Tween(obj,{'duration': 700}).start('opacity',0 , 1);
						}.bind(this)
					}
				);
	fx.start('opacity',1 , 0);
	return false;
}

