$(document).ready(function () {

	init();

	$("#newsletter input[type=text]").input_focus();
	$("#search input[type=text]").input_focus();

	$("#filters #today").button().removeClass("ui-corner-all");
	if($("#today").attr('data-pressed') == 1)
	{
		$("#today").addClass('ui-state-active');
	}



	/*cities dropdown*/


	$(".ccity").button().click(function() {})
		.next()
		.button( {text: false,icons: {	primary: "ui-icon-triangle-1-s"	}})
		.click(function() {	$(this).parent().next().toggle();	return false;})
		.parent().buttonset();

	$("#newsletter .cities a").click(function(){
		$("#newsletter .ccity").button({label: $(this).text()})
		$("#newsletter input[name=city]").val($(this).attr('data-city'))
		$("#newsletter .cities").slideUp();
		return false;
	});

	$("#csite").button().click(function() {})
		.next()
		.button( {text: false,icons: {	primary: "ui-icon-triangle-1-s"	}		})
		.click(function() {	$("#sites").toggle();	})
		.parent().buttonset();

	$(".ccity, #csite").removeClass("ui-corner-left");
	$(".ccity, #csite").next().removeClass("ui-corner-right");






	/*deal hover*/

	$("#deals li").live({
        mouseenter:
           function()
           {
				$(this).children(".links").fadeIn();
           },
        mouseleave:
           function()
           {
				$(this).children(".links").fadeOut();
           }
       }
    );

	/*more deals*/

	$("#more").live('click', function(){

		var url = $(this).attr('href');
		var data = $('#wrapper > input[type="hidden"]').serializeArray() ;
		var coffset = parseInt($("#coffset").val());
		var deals_per_page = parseInt($("#deals_per_page").val());

		$.ajax({
			type: 'POST',
			dataType: "html",
			url: url,
			data:data,
			success: function(data) {

				if( /^\s*$/.test(data))
				{
					$("#more").fadeOut();
					dealalert("Δεν έχει άλλες προσφορές");
				}
				else
				{
					$("#deals > ul").append(data);
					 ajax_init();
					$("#coffset").val(coffset + deals_per_page);
					$('html, body').animate({
							scrollTop: $("#deal-"+coffset).first().offset().top
					}, 1500);

				}

			}
		});
		return false
	});

	/*newsletter subscription*/
	$("#newsletter form").live('submit', function(){

		var data = $('#newsletter form input').serializeArray() ;

		$.ajax({
					url: $(this).attr('action'),
					type: "POST",
					data: data,
					dataType: 'html',
					success: function(msg){
						dealalert(msg);
					}
		});

		return false;


	});

	/*share buttons*/

	$(".share").live('click', function(){

			var deal = $(this).parent().parent();
			$.ajax({
				url: $(this).attr('href'),
				type: "POST",
				data: {
					title: deal.find('h3 a').text(),
					link: deal.find('h3 a').attr('href')
					},
				dataType: 'html',
				success: function(msg){

					$('div.share_box').remove();
					deal.append(msg);


				}
			});
			return false;
	});


	$(".share_box .ui-icon-circle-close ").live('click', function(){
			$(this).parent().remove();
	});

	/*admin bar*/
	$("#admin_bar > li").live({
        mouseenter:
           function()
           {
			   $("#admin_bar > li ul").hide();
				$(this).find('ul').show();
           },
        mouseleave:
           function()
           {

           }
       }
    );
    $("#admin_bar").live({
        mouseenter:
           function()
           {


           },
        mouseleave:
           function()
           { $("#admin_bar > li ul").hide();

           }
       }
    );

});

function init()
{
	$("#search #submit").button({text: false,icons: {primary: "ui-icon-search"	}}).removeClass("ui-corner-all");


	$("input[type=submit]").button();
	$("#more").button();
	$("#go").button();
	$("button").button();
	get_categories();
	 ajax_init();
}


function ajax_init()
{
	$(".share").button( {icons: {	secondary: "ui-icon-plusthick"	}	});
	lazy_load_init();
}



function site_url()
{
	return $("head link[rel=canonical]").attr('href');
}


function lazy_load_init()
{
	if($('img.to_load').hasClass('to_load'))
	{

		//load before scroll
		lazy_load();

		//load on scroll
		$(window).scroll(function() {
			lazy_load();

		});

	}

}

function lazy_load()
{

	var visible = $(document).scrollTop() + $(window).height();


	$("img.to_load").each(function() {

		var image_offset = $(this).offset();
		if (visible > image_offset.top) {
			if($(this).hasClass('to_load'))
			{
				var post_id  = $(this).attr('data-post_id');

				$(this).removeClass('to_load');

				$(this).attr("src", $(this).attr("data-original"));
				$(this).removeAttr("data-original");
				$(this).removeClass("to_load");
			}

		}



	});

}



/*input focus*/
$.fn.input_focus = function() {

   this.defaultValue = $(this).val();


	$(this).focus(function() {

        if ($(this).val() == this.defaultValue){
        	$(this).val('');
    	}
        if($(this).val() != this.defaultValue){
	    	this.select();
        }
    });
    $(this).blur(function() {

        if ($(this).val() == ''){
        	$(this).val(this.defaultValue) ;
    	}
    });
}





/*feedback message*/
function dealalert(msg)
{

	$('body').append('<div class="dealalert">'+msg+'</div>');
	$(".dealalert").animate({opacity: 1.0},1500).fadeOut(3000,  function() {
	//	$(this).remove();
	});
}


function get_categories()
{

	var city = $("#data_ajax").attr('data-city');
	var search = $("#data_ajax").attr('data-search');
	var filter = $("#data_ajax").attr('data-filter');
	var current_url = $("#data_ajax").attr('data-current_url');

	$.ajax({
		url: site_url() + 'deals/get_categories',
		type: "POST",
		data: {
			city: city,
			search: search,
			filter: filter,
			current_url:current_url

			},
		dataType: 'html',
		success: function(msg){

			$('#categories').html(msg);



		}
	});
}

