$(document).ready(function() {

	//initializing ajax
	$.ajaxSetup({ cache: false }); 		
        //initializing menu
        initMenu();

        //is image loaded?
        checkLoadedImage();
		
		/* Loginas */
		ajaxLogin();
		
		/* select inputai */
		select_bind();
		
		/* change facebook and html */
		changeHtml();
		
		fb_widget();
		//
		// Ajax Animation
		//
		$(".ajax_status").bind("ajaxSend", function() {
		   $(".ajax_status").addClass("ajax-loading");
		}).bind("ajaxComplete", function(){
		   $(".ajax_status").removeClass("ajax-loading");
		});

});



/* Ajax login */
function ajaxLogin()
{
	$('input[name=login_form_submit]').click(function(){
           
           var form_url = $("#user_login").attr("action");
           var post_data = $("#user_login").serialize();

		$.post(form_url+(new Date().getTime()), post_data, function(data)
		{
                var e = $.parseJSON(data);			
				
				if (e.success == "1") {
					
					go_to_url(e.next_url);
				
				}
				else {
					if ( e.username || e.password || e.login_error ) {
						$('#username').addClass('error');
						$('#password').addClass('error');
					} else {
						$('#username').removeClass('error');
						$('#password').removeClass('error');
					}
				}

		});
		return false;
		}
	);
}


function addToCart(product_id, quantity, attribute)
{
	if (quantity == '')
	{
		quantity = $('input:text[name=cart_quantity]').val();
	}
	$("form[title=cartform] input[name=product_id]").val(product_id);
	$("form[title=cartform] input[name=quantity]").val(quantity);
	if ($('select[id=attribute]').length)
	{
		value = $('select[id=attribute]').val();
		name = $('select[id=attribute]').attr('name').toLowerCase();
		if (value == 'Pasirinkite')
		{
			alert('Nepasirinkitas ' + name + ' !');
			return false;
		}
		$("form[title=cartform] input[name=attribute]").val(value);
	} else {
		$("form[title=cartform] input[name=attribute]").val('');
	}
	var post_data = $("form[title=cartform]").serialize();
	$.post("index.php?page=updateCartBox/add", post_data, function(data)
	{
	    var exploded = data.split(' ');
        if (exploded[0] == 'link' )
        {
            go_to_url(exploded[1]);
            return false;
        }
        $('.cart').html(data);
	});
	
	return false;
	
}

function removeCart(product_id, quantity ,attribute)
{
	$("form[title=cartform] input[name=product_id]").val(product_id);
	$("form[title=cartform] input[name=quantity]").val(quantity);
	$("form[title=cartform] input[name=attribute]").val(attribute);

	var post_data = $("form[title=cartform]").serialize();
	
	$.post("index.php?page=updateCartBox/remove", post_data, function(data)
	{
           $('.cart').html(data);
	});
	
	return false;
	
}


function addToCompare(product_id) {
    $("form[title=compareform] input[name=product_id]").val(product_id);
    var post_data = $("form[title=compareform]").serialize();
    $.post("index.php?page=updateCompareBox/add", post_data, function(data)
    {
		
		if (data == 'count')
		{
			alert("Pridėti daugiau negalima");
			return false;
		} else if (data == 'hierarchy')
		{
			alert("Skirtingos prekių tegorijos!");
			return false;
		} else if (data == 'samepr')
		{
			alert("Prekė jau yra palyginime!");
			return false;
		}
		
		$('.compare_bar').html(data);	
    });

    return false;
}

function removeCompare(product_id) {
    $("form[title=compareform] input[name=product_id]").val(product_id);

    var post_data = $("form[title=compareform]").serialize();

    $.post("index.php?page=updateCompareBox/remove", post_data, function(data)
    {
        if (data.substr(0, 5) == 'link:')
        {
            go_to_url('http://www.parduodam.lt/' + data.substr(5));
        } else {
            $('.compare_bar').html(data);
        }
    });

    return false;
}

function initMenu() {
    $('#products_menu li ul li a').click(
    function() {
        var checkElement = $(this).next();

        if ($(this).attr("class") == 'open') {
            $(this).removeClass('open');
            $('#products_menu ul li ul:visible').hide('fast');
            return false;
        }

        if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            return false;
        }
        
        if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('#products_menu ul li ul:visible').hide('fast');
            $('#products_menu ul li a').removeClass('open');
            checkElement.fadeIn('fast');
            var parentli = checkElement.parent();
            parentli.next().addClass('open');
            $(this).addClass('open');
                return false;
    }});
}


// slider functions
(function($) {
$.fn.batchImageLoad = function(options) {
	var images = $(this);
	var originalTotalImagesCount = images.size();
	var totalImagesCount = originalTotalImagesCount;
	var elementsLoaded = 0;

	// Init
	$.fn.batchImageLoad.defaults = {
		loadingCompleteCallback: null,
		imageLoadedCallback: null
	}
    var opts = $.extend({}, $.fn.batchImageLoad.defaults, options);

	// Start
	images.each(function() {
		// The image has already been loaded (cached)
		if ($(this)[0].complete) {
			totalImagesCount--;
			if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount);
		// The image is loading, so attach the listener
		} else {
			$(this).load(function() {
				elementsLoaded++;

				if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount);

				// An image has been loaded
				if (elementsLoaded >= totalImagesCount)
					if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
			});
			$(this).error(function() {
				elementsLoaded++;

				if (opts.imageLoadedCallback) opts.imageLoadedCallback(elementsLoaded, originalTotalImagesCount);

				// The image has errored
				if (elementsLoaded >= totalImagesCount)
					if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
			});
		}
	});

	// There are no unloaded images
	if (totalImagesCount <= 0)
		if (opts.loadingCompleteCallback) opts.loadingCompleteCallback();
};
})(jQuery);

// slider functions
function checkLoadedImage()  {
    $("#slider img").batchImageLoad({
               loadingCompleteCallback: activateSlider,
               imageLoadedCallback: ''
});
}

function changeSlide()	{
	var $image = $("#slider .slide:not(:hidden)");
	var $anchor = $(".slider_buttons a.current");

	$image.fadeOut('slow');
	$anchor.removeClass('current');

	if ($image.next().length == 0) { $("#slider .slide:first").fadeIn('slow'); }
	else { $image.next().fadeIn('slow'); }

	if ($anchor.next().length == 0) { $(".slider_buttons a:first").addClass('current'); }
	else { $anchor.next().addClass('current'); }
	return false;
}

//funkcija kuri turetu tikrinti ar nera mouse over image ir ar nenuspaustas mygtukas keiciantis nuotrauka
function activateSlider()  {
	var $interval = setInterval("changeSlide();", 5000);

	//stabdom slaida
	$('#slider').hover(function () {
        clearInterval($interval);
    }, function () {
	    if ($('#slider img').length != 1) {
			$interval = setInterval("changeSlide();", 5000);
		}
    });

	//stabdom slaida
	$('.slider_buttons a').hover(function () {
        clearInterval($interval);
    });
	
	// jeigu yra tik vienas slaidas
    if ($('#slider img').length == 1) { clearInterval($interval); }

	//keiciam slaida
	$('.slider_buttons a').click(
    function(e) {
		e.preventDefault();
		var $button = $(this).index();
		if ($("#slider .slide:not(:hidden)").index() != $button) {
		$("#slider .slide:not(:hidden)").fadeOut('slow');
		$("#slider .slide:eq("+$button+")").fadeIn('slow');

		$(".slider_buttons a.current").removeClass('current');
		$(this).addClass('current');
		}
	});

}


function select_bind()
{
    $('select[name=sortby_select]').change(function(){
		var value =  $('select[name=sortby_select]').val();
		var sort_url = $('input[name=sortby_url]').val();
          go_to_url(sort_url+ '/' +value);
    });
    $('select[name=limit_select]').change(function(){
		var value =  $('select[name=limit_select]').val();
		var limit_url = $('input[name=limit_url]').val();
          go_to_url(limit_url+ '/' +value);
    });
}

function changeBox()    {
    $('#password_hint').hide();
    $('#passinpt').show();
    $('#password').focus();
}
function restoreBox()   {
    if( $('#password').val() == '' )    {
        $('#password_hint').show();
        $('#passinpt').hide();
    }
}

function showHint() {
    if( $('#username').val() == '' )
    {
        $('#username').addClass("inputhint");
        $('#username').val('El. paštas');
    }
}

function hideHint() {
    $('#username').val('');
    $('#username').removeClass("inputhint");
}

function go_to_url(url) {
	window.location.href = url;
}

function changeHtml()
{
	$('div.partners').append('<embed height=\"127px\" width=\"548px\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" src=\"http://www.parduodam.lt/uploads/flash/partneriai.swf\" wmode=\"transparent\" play=\"true\" loop=\"true\" menu=\"true\"></embed>');
	$('div.auto').append('<embed height=\"106px\" width=\"212px\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" src=\"http://www.parduodam.lt/uploads/flash/auto.swf\" wmode=\"transparent\" play=\"true\" loop=\"true\" menu=\"true\"></embed>');
	$('div.hunter').append('<embed height=\"212px\" width=\"212px\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" src=\"http://www.parduodam.lt/uploads/flash/hunter.swf\" wmode=\"transparent\" play=\"true\" loop=\"true\" menu=\"true\"></embed>');
	$('.facebook').append('<iframe src=\"http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fpages%2FParduodamlt%2F153582998030175&amp;width=190&amp;colorscheme=light&amp;show_faces=true&amp;stream=false&amp;header=false&amp;height=366\" scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:212px; height:370px;\" allowTransparency=\"true\"></iframe>');
}

function fb_widget() {
	$("#facebook_widget").hover
	(
            function()  {  $("#facebook_widget").stop(true, false).animate({marginLeft: "-242"}, "medium"); },
            function()  {  $("#facebook_widget").stop(true, false).animate({marginLeft: "-38"}, "medium"); },
            500
	);
}

