var Site = {

	start: function() {
		this.tweakLayout();
		this.tweakButtons();
		this.addRating();
		this.addFunctionalities();
		this.initDatePicker();
	},
	
	
	tweakLayout: function() {
		$('html').addClass('js');
		
	
	},
	
	tweakButtons: function() {
		$('input.search-btn').add('input.add-comment').each(function() {
			var $submit = $(this);
			var classes = this.className;
			var val = $submit.attr('value');
			$submit.after('<a class="' + classes + '" href="#">' + val + '</a>');
			$submit.next().click(function() {
				$submit.click();
				return false;
			});
			$submit.hide();
		});
	},
	
	addRating: function() {
		$('.rate-box').each(function() {
			var $ratebox = $(this);
			$ratebox.find('.rating').each(function(){
				var $rating_field = $(this);
				var $stars = $rating_field.find('.voting a');
				$stars.each(function(i) {
					var $this = $(this);
					$this.hover(function() {
						$this = $(this);
						$this.addClass('active');
						$this.prevAll().addClass('active');
					}, function() {
						$stars.each(function() {
							$(this).removeClass('active');
						});
					});
					$this.click(function() {
						$.ajax({
							type: 'GET',
							dataType: 'json',
							url: site_url+'actions_rate',
							data: 'id='+$ratebox.attr('id').replace('id_', '')+'&rate='+(i+1),
							success: function(data) {
								$ratebox.find('.stars-rate')[0].className = 'stars-rate size' + data[0];
								$rating_field.find('.voting').remove();
								$rating_field.next().text(data[1]);
							}
						});
						return false;
					});
				});
			});
		});
	},
	
	addFunctionalities: function() {
		//adding blank target
		$('a.blank').attr('target', '_blank');
		//dialogs
		$('.dialog-btn').click(function() {
			alert('asdf');
			
		});
		
		//add order cookies
		$('a.order').click(function() {
			Cookie.create('order', $(this).attr('rel'));
		});
	},
	
	initDatePicker: function() {
		$('input.datepicker').each(function() {
			var $input = $(this);
			var starting_year = parseInt($input.val().substring(0, 4), 10);
			var starting_month = parseInt($input.val().substring(5, 7), 10);
			var starting_day = parseInt($input.val().substring(8), 10);
			var range_beg = new Date(starting_year - 5, starting_month - 1, starting_day);
			var range_end = new Date(starting_year + 5, 11, 31);
			$input.datepicker({
				monthNamesShort: ['Sty','Lut','Mar','Kwi','Maj','Cze','Lip','Sie','Wrz','Paz','Lis','Gru'],
				dayNamesShort: ['Nie', 'Pon', 'Wt','Sr', 'Czw', 'Pt', 'Sob'],
				dayNamesMin: ['Nie', 'Pon', 'Wt','Sr', 'Czw', 'Pt', 'Sob'],
				firstDay: 1,
				showOn: 'button', 
				buttonImage: site_url + 'view/static/calendar.gif', 
				buttonImageOnly: true,
				minDate: range_beg,
				maxDate: range_end,
				changeMonth: true,
				changeYear: true,
				dateFormat: 'yy/mm/dd'
			});
		});
	}
	
}

var Cookie = {
   
    create: function(name,value,days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime()+(days*24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
        }
        else var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
    },

    read: function(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    },
	
    erase: function(name) {
        createCookie(name,"",-1);
    }
} 

$(function() {
	Site.start();
});
