(function(){
var Gallery = {path : 'http://www.riverdavesplace.com/RDP/'};
jQuery(function($){

	$('.gallery_view').click(function(){
		var _this = $(this),
			id = _this.attr('rel'),
			w = $(window),
			photo = _this.hasClass('photo') ? 1 : 0;
			
		jQuery(gallery_box(_this.attr('text'))).appendTo('body');
		$('#gallery_overlay').click(function(){
			gallery_hide();
		});
		var a = $('#gallery'),
			b = a.find('.content'),
			c = b.find('.gallery_thumbnail'),
			r = b.find('.gallery_arrows');
		if ( photo )
			r.hide();
		a.css({ 'top':(((w.height()/2)-a.height()/2)), 'left': w.width() / 2 - (a.width() / 2) })
		.fadeIn('normal');
		
		$.post(Gallery.path+'js/gallery/view',{id:id,photo:photo},function(data){
			var result = gallery_parse(data);
			if ( result['arr'] ){
				for ( n in result['arr'] ){
					jQuery('<li></li>').appendTo('#gallery .gallery_big ul');
					jQuery('<img src="'+result['p_s']+result['arr'][n]+'"/>').appendTo(c);
				}
				jQuery('<img src="'+result['p_b']+result['arr'][0]+'"/>').appendTo(b.find('.gallery_big ul li').eq(0));
				b.find('.gallery_big ul li').eq(0).fadeIn('normal');
				c.find('img').eq(0).addClass('active');
			}
			
			c.find('img').click(function(){
				var a = $(this),
					b = a.parents('#gallery').find('.gallery_big ul li'),
					c = a.parent().find('img'),
					i = c.index(a);
				if ( a.hasClass('active') )
					return;
				if ( !b.eq(i).find('img').length )
					jQuery('<img src="'+result['p_b']+result['arr'][i]+'"/>').appendTo(b.eq(i));
				
				if ( c.length-1 == i ){
					r.find('span').eq(0).show();
					r.find('span').eq(1).hide();
				}else if ( !i ){
					r.find('span').eq(0).hide();
					r.find('span').eq(1).show();
				}else
					r.find('span').show();
				
				c.removeClass('active').eq(i).addClass('active');
				b.fadeOut('normal').eq(i).fadeIn('normal');
			});
			
			r.find('span').click(function(){
				if ( $(this).hasClass('r') )
					c.find('img.active').next().click();
				else
					c.find('img.active').prev().click();
			})
			
			if ( !photo )
				c.show();
			a.find('.load').hide();
			if ( !photo )
				b.css({ width: 860, height: b.height()+c.height()+10});
			else
				b.css({ width: 860, height: b.height()+10});
			b.fadeIn('fast');
			
			a.css({ left: w.width() / 2 - 400, top: (((w.height()/2)-a.height()/2)) });
			
		});
	});
	
	function gallery_parse(data) {
	  if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
		return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
	  }
	  return eval('(' + data + ');');
	}

	function gallery_hide(){
		$('#gallery_overlay, #gallery').fadeOut('normal',function(){ $(this).remove(); });
	}
	
	function gallery_box(head){
		return '\
			<div id="gallery_overlay" /> \
			<div id="gallery" style="display:none;"> \
			  <div class="gallery"> \
				<table> \
				  <tbody> \
					<tr> \
					  <td class="tl"/><td class="b"/><td class="tr"/> \
					</tr> \
					<tr> \
					  <td class="b"/> \
					  <td class="body"> \
						<div class="header"> \
						<h1>'+head+'</h1> \
						<span></span> \
						</div> \
						<div class="load"></div> \
						<div class="content"> \
							<div class="gallery_big"><ul></ul></div>\
							<div class="gallery_arrows"><span class="l" style="display: none;"></span><span class="r"></span></div>\
							<div class="gallery_thumbnail" style="display: none;"></div>\
						</div> \
					  </td> \
					  <td class="b"/> \
					</tr> \
					<tr> \
					  <td class="bl"/><td class="b"/><td class="br"/> \
					</tr> \
				  </tbody> \
				</table> \
			  </div> \
			</div>';
	}
});
})();
