/*

v.0001 
Date:  23.11.2010 12:18:34 (GMT)
developed by: DevLeader
site: http://devleader.net

*/
jQuery.fn.ruller = function(options){
	var options = jQuery.extend({
	    inprocess:false,
	    disabled:false,
	    page:0,
	    lastpage:false,
	    ppage:4,
	    firstquery:true,
	    object:null,
	    script:_basepath+'ajax/getRullerPage.dl',
	    currentProj:0
  },options);
	return this.each(function() {
		options.object = this;
		$(options.object).find('#ruller-contr-left').bind('mouseover',function(){
			if (options.page < 2) return false;
			$(this).css({'background-position':'-27px 0px'});
		}).bind('mouseout',function(){
			$(this).css({'background-position':'0px 0px'});
		}).bind('click',function(){
			$(this).blur();
			if (options.page < 2) return false;
			if (options.inprocess) return false;
			options.page--;
			options.lastpage = false;
			getpage();
			return false;
		});
		$(options.object).find('#ruller-contr-right').bind('mouseover',function(){
			if (options.lastpage) return false;
			$(this).css({'background-position':'-27px 0px'});
		}).bind('mouseout',function(){
			$(this).css({'background-position':'0px 0px'});
		}).bind('click',function(){
			$(this).blur();
			if (options.lastpage) return false;
			if (options.inprocess) return false;
			options.page++;
			getpage();
			return false;
		});
		$(options.object).find('#ruller-contr-right').click();
	});
	function getpage(){
		$.cookie('ruller-page',options.page);
		blockel();
		$.post(options.script,{'page':options.page,'ppage':options.ppage},function(data){processRuller(data)},'json');
	};
	function processRuller(data){
		var pel = $('<div></div>').attr('id','ruller-content').css({ opacity:0, visibility:'visible' });
		for(var i in data.projects){
			if (!data.projects[i]['id']) continue;
			pel.append(createItem(data.projects[i]));
		}
		if (parseInt(data.lastpage)) options.lastpage = true;
		$('#ruller-content').animate({opacity:0},((options.firstquery)?0:500),null,function(){
			$('#ruller-content').replaceWith(pel);
			$('#ruller-content .img-box').find('a').loadproject();
			$('#ruller-content').animate({opacity:1},1000,function(){
				if (options.firstquery) {
					$('#ruller-content .img-box:first').find('a:first').click();
				}
				options.firstquery = false;
				unblockel();
			});
		});
	};
	function blockel(){
		$('#ruller-loading').removeClass('hidden');
		options.inprocess = true;
	};
	function unblockel(){
		$('#ruller-loading').addClass('hidden');
		options.inprocess = false;
	};
	function createItem(obj){
		var d_item = $('<div></div>').addClass('item').append($('<div></div>').addClass('shadow'));
		var d_imgBox = $('<div></div>').addClass('img-box');
		var a = $('<a></a>').
		attr('href',_basepath+'project/'+obj.url+'.dl').
		attr('title',obj.title).
		attr('id',obj.url).
		bind('click',function(){return false});
		var img = $('<img />').attr('src',_basepath+'media/images/project-183x181-'+obj.id+'-'+obj.galleryId+'.'+obj.extension).attr('alt',obj.title);
		a.append(img);
		d_imgBox.append(a);
		d_item.append(d_imgBox);
		return d_item;
	};
};
