var TIMEOUT_CHANGE = 3000;
var TIMEOUT_SLIDES_CHANGE = 7000;
var logos = [];
var images = [];
var pos = new Array(1, 2, 3, 4, 5, 6, 7, 8);
var q = 0;
var sl = 0;
var slides = [];
var _first = true;

jsapi.ready(function() {

	if (jsapi.plugins('fancybox')) {
		$("a[rel=gallery]").fancybox({
			'titlePosition' : 'inside'
		});
	}

	if (jsapi.plugins('grid')) {
		_grid(960, 16, 10);
		_rows([ [ 243 ] ], 'px', 'red');
		_columns([ [ 50 ] ], '%', 'blue');
	}

	$.get('/_logos/', function(data) {
		logos = data.logos;
		for ( var i in logos) {
			images[logos[i].u] = new Image();
			images[logos[i].u].src = logos[i].i + '?pv=1';
		}
		pos.sort(function() {
			return Math.round(Math.random()) - 0.5
		});
		setTimeout(ch, TIMEOUT_CHANGE);
	}, "json");

	// auth form
	$('#auth').submit(function() {
		return false;
	});

	// search field
	$('#qsearch #q').focus(function() {
		if ($(this).val() == 'поиск')
			$(this).val('');
	});

	$('#qsearch #q').blur(function() {
		if ($(this).val() == '')
			$(this).val('поиск');
	});

	$('#qsearch').submit(function() {
		if ($('#qsearch #q').val() == 'поиск')
			return false;
	});

	(function($) {

		$.widget("ui.slider", {
			options : {
				timeout : 5000,
				timefade : 2000,
				path : ''
			},

			cache: new Image,
			slides : [],
			cursor : 0,
			to : 0,
			first : true,

			_create : function() {
				this.element.addClass("ui-slider").prepend(
						$('<div class="sign"/><div class="holder"/>').hide());

				self = this;
				this.loadData();
			},

			destroy : function() {
				this.element.removeClass("ui-slider")

				this.element.remove();

				$.Widget.prototype.destroy.apply(this, arguments);
			},

			loadData : function() {
				$.getJSON(this.options.path, {}, function(data) {
					var slides = [];
					for ( var i in data.works) {
						slides.push({
							t : data.works[i].t,
							i : data.works[i].i
						});
					}

					self.setSlides(slides);
				});
			},

			setSlides : function(data) {
				this.slides = data;
				this.slides.sort(function() {
					return Math.round(Math.random()) - 0.5
				});
				this.ani();
			},

			next : function() {
				if (self.first) {
					self.ani();
				} else {
					clearTimeout(self.to);
					self.to = setTimeout(function() {
						self.cursor++;
						if (self.cursor > self.slides.length - 1) {
							self.cursor = 0;
							self.loadData();
						} else { 	
							self.ani();
						}
					}, 10000);
				}
			},

			ani : function() {
				this.cache.src=this.slides[this.cursor].i;
				this.cache.onload=function() {
				
					if (self.first) {
						self.element.css('background', 'transparent');
						self.show();
					} else {
						
						$('.holder,.sign', self.element).fadeOut(self.timefade,
								function() {
									self.show();
								});
					};
				}
			},

			show : function() {
				
					$('.holder', self.element).html(
							'<img src="' + self.slides[self.cursor].i + '" title="'
									+ self.slides[self.cursor].t + '"/>');
	
					$('.holder').fadeIn(
							self.timefade,
							function() {
								$('.sign', self.element).html(
										self.slides[self.cursor].t).fadeIn(
										self.timefade, function() {
											self.first = false;
											self.next();
										});
							});
				

			}

		});

		$.extend($.ui.slider, {
			version : "@VERSION"
		});

	})(jQuery);

	$('#slider').slider({
		path : '/_works'
	});

})

function ch() {
	var o;
	var i;
	var f;

	do {
		i = rnd(0, logos.length - 1);
		f = false;

		for ( var j = 1; j <= pos.length; j++) {
			var obj = logos[i]
			if ($('#l' + j).attr('href') == obj.u)
				f = true;
		}
	} while (f == true);

	q++;
	if (q > 5)
		q = 0;
	var p = pos[q];

	var obj = logos[i];
	if (obj) {
		var img = new Image();
		img.src = obj.i + '?pv=1';
		$('#l' + p).fadeOut('slow', function() {
			$(this).html('').prepend(img);
			$(this).attr('href', obj.u).attr('title', obj.t).fadeIn('slow');
		});
	}

	setTimeout(ch, TIMEOUT_CHANGE);
}

function rnd(a, b) {
	return Math.ceil((b - a) * Math.random()) + a;
}
