var ajaxurl = "http://www.viinikassi.fi/wp-admin/admin-ajax.php";
var lang = '';
var memoFooter = false;

$(document).ready(function () {

    new Slideshow('#mainHighlights');
	
	
	if($('#curtain').text() != '') {
		initAgecheck();
	}
	
	if($('.page-template-viinihaku-php #wineSearch').text() != '') {
		//initWineSearch();
		initWineSearch();
	}
	
	if($('.page-template-viinihakudev-php #wineSearch').text() != '') {
		//initWineSearch();
		initWineSearchDev();
	}
	
	$('.click').click(function() {
		$('#curtain').fadeOut();
		$('#newsletterEmail').val('');
	});
	
	var memoFooter = false;
	
	if($('.page-id-1963').text() != '' || $('.page-id-1959').text() != '') {
		
		memoFooter = true;	
			
	}
	
	
	$('a.btn-muisti').live("click",function(e) {
		var viini = $(this).attr('name');
		var offset = $(this).offset();
		$('#noteConfirm').hide();
		
		var data = {
				action: 'muistiLappu',
				viini: viini
		};
	
		
		$.post(ajaxurl, data, function( data2, textStatus )
		{
			if ( textStatus == 'success' )
			{
				if(!memoFooter) {
                	if (lang == 'en') {
                    	confirmMessage('Added wine to <a href="muistilappu">shopping list &raquo;</a>', offset);
                	} else {
                   		confirmMessage('Viini on lisätty <a href="muistilappu">muistilapulle &raquo;</a>', offset);
               		}
				}

                $('#ItemList').html('<span id="ItemLink">' + $('#ItemLink').text() + '</span> <span id="itemCount">' + data2 + '</span>');
                Cufon.replace('#ItemList:parent', {fontFamily: 'myriad-semibold'});
				
				if(memoFooter)
					addNewItemToMemoFromWineSearch(viini);
			}
		});
		
		
		/*
		$.post("ajax.php", { viini: viini }, function( data, textStatus )
		{
			if ( textStatus == 'success' )
			{
                confirmMessage('Viini on lisätty <a href="muistilappu">muistilapulle &raquo;</a>', offset);

                $('#ItemList').html('<span id="ItemLink">' + $('#ItemLink').text() + '</span> (' + data + ')');
                Cufon.replace('#ItemList:parent', { fontFamily: 'myriad-semibold' });
			}
		});
		*/
		
		e.preventDefault();
		return false;
	});

	$('a.btn-email').click(function(e) {
		e.preventDefault();

		var offset = $(this).offset();
		$('#noteConfirm').hide();
		
		$.post("muistilappu/", {email: true}, function(data, textStatus) {
			if (textStatus == 'success') {
                if (lang == 'en') {
                    confirmMessage('Shopping list has been sent to your email', offset);
                } else {
                	confirmMessageMuistilappu('Muistilappu on lähetetty sähköpostiisi');
                }
			}
		});
		
		return false;
	});

	$('input.wine-cb').click(function(e) {
        var msgLength = 0;
        $('#ListForm input:checked').next('input').each(function () {
            msgLength += this.value.length;
        });

        if (msgLength > 160) {
            if (lang == 'en') {
                confirmMessage('No more wines fit to the message', $(this).offset());
            } else {
            	confirmMessageMuistilappu('Tekstiviestiin ei mahdu enempää viinejä');
            }
            return false;
        } else {
            return true;
        }
    });

	$('a.btn-sms').click(function(e) {
		e.preventDefault();

		var offset = $(this).offset();
		$('#noteConfirm').hide();

		var gsm = $('#gsm').val();
        var wines = $('#ListForm').serialize();
        var post = wines + '&gsm=' + gsm + '&action=muistilappuSms';

        if (!gsm.length) {
            if (lang == 'en') {
                confirmMessage('Fill in your mobile phone number', offset);
            } else {
            	confirmMessageMuistilappu('Et ole antanut puhelinnumeroa');
            }
            return false;
        } else if (gsm.length < 9) {
            if (lang == 'en') {
                confirmMessage('Check your mobile phone number', offset);
            } else {
            	confirmMessageMuistilappu('Tarkistathan puhelinnumerosi');
            }
            return false;
        } else if (!$('#ListForm input:checked').length) {
            if (lang == 'en') {
                confirmMessage('Select at least one product', offset);
            } else {
            	confirmMessageMuistilappu('Et ole valinnut yhtään viiniä');
            }
            return false;
        }


		$.post(ajaxurl, post, function(data, textStatus) {
				
			if (textStatus == 'success') {
                if (data == 1) {
                    if (lang == 'en') {
                        confirmMessage('Shopping list has been sent to your mobile phone', offset);
                    } else {
                    	confirmMessageMuistilappu('Muistilappu on lähetetty puhelimeesi');
                    }
                } else {
                    if (lang == 'en') {
                        confirmMessage('Sending shopping list failed', offset);
                    } else {
                    	confirmMessageMuistilappu('Muistilapun lähettäminen epäonnistui');
                    }
                }
			}
		});
		return false;
	});
	
	$('.btn-loggedout').click(function(e) {
		e.preventDefault();

		$('#noteConfirm').hide();

        if (lang == 'en') {
            confirmMessage('You must be logged in to send your shopping list', $(this).offset());
        } else {
        	confirmMessageMuistilappu('Sinun tulee olla kirjautunut lähettääksesi listan');
        }
    });

	$('#noteConfirm .hide').live("click", function() {
		$('#noteConfirm').fadeOut();										   
	});

//    if (location.hash == '#test')
        $(window).resize(resizeStuff).resize();


	if($('#post-loop').outerHeight() > 750 || $('#desc-loop').outerHeight() > 750)
	{
		if($('#post-loop').outerHeight() < $('#desc-loop').outerHeight())
		{
			$('#left-content').css('height', $('#desc-loop').outerHeight()+300);
			$('#right-content').css('height', $('#desc-loop').outerHeight()+300);
		}
		else
		{
			$('#left-content').css('height', $('#post-loop').outerHeight()+300);
			$('#right-content').css('height', $('#post-loop').outerHeight()+300);
		}
	}
	else
	{
//		$('#left-content').css('height', 750);
		$('#right-content').css('height', 750);
		$('.category-viinivallankumous #right-content, .page-template-viinivallankumous-esittely-php #right-content').css('height', 'auto');

	}
    
    $('#mangesud-saannotlink').click(function() {

        $('#saannot').show();
        $('#mangesudcontent').hide();
    });
    
    $('#mangesud-suljesaannot').click(function() {

        $('#saannot').hide();
        $('#mangesudcontent').show();
    });
    
});



function resizeStuff ()
{
    //alert($(window).width());
    var diff = 1629 - $(window).width();
	var diff2 = 1024 - $(window).width();
    //if $(window).width();
    //$('.category-bileblogi .banneri').width(140-diff2/2);
	$('.category-bileblogi .left-overlay').width(338-diff/2);
    $('.category-bileblogi .left-overlay2').width(309-diff/2);
    $('.category-bileblogi .left-overlay3').width(499-diff/2);
    $('.category-bileblogi .left-overlay4').width(517-diff/2);
    
    /*
     var diff = 1629 - $(window).width();
	var diff2 = 1280 - $(window).width();
    //if $(window).width();
    //$('.category-bileblogi .banneri').width(140-diff2/2);
	$('.category-bileblogi .left-overlay').width(408-diff/2);
    $('.category-bileblogi .left-overlay2').width(379-diff/2);
    $('.category-bileblogi .left-overlay3').width(569-diff/2);
    $('.category-bileblogi .left-overlay4').width(405-diff/2);
     
     */
}

function confirmMessage (message, offset)
{
    $('#noteConfirm .message').html(message);
    
    var top = offset.top - $('#noteConfirm').height() - 30;
    $('#noteConfirm').css("left", offset.left + "px");
    $('#noteConfirm').css("top", top + "px");
    $('#noteConfirm').fadeIn();
}

function confirmMessageMuistilappu (message)
{
    $('#actionsErrors').html(message);
    $('#actionsErrors').fadeIn();
}

function initWineSearch() {
	
	var maxPrice = $('#topPrice').val();
	var setLow = $('#setLow').val();
	var setHigh = $('#setHigh').val();
	var charVal = $('#charValue').val();
	
	
	
	var timer;
	
	$( "#priceSlider" ).slider({
		range: true,
		values: [ setLow, setHigh ],
		min: 0,
		max: maxPrice,
		slide: function( event, ui ) {
				$( "#amount" ).text( ui.values[ 0 ] + "€" + " - " + ui.values[ 1 ] + "€" );
				$( "#minPrice" ).val(ui.values[ 0 ]);
				$( "#maxPrice" ).val(ui.values[ 1 ]);
				clearTimeout(timer);
				timer = setTimeout(doWineSearch, 600);
			}

	});
	
	
	$( "#amount" ).text( $( "#priceSlider" ).slider( "values", 0 ) + "€" + 
			" - " + $( "#priceSlider" ).slider( "values", 1 ) + "€" );
	
	
	$( "#characterSlider" ).slider({
		range: "min",
		value: charVal,
		min: 1,
		max: 10,
		slide: function( event, ui ) {
				$( "#charValue" ).val(ui.value);
				clearTimeout(timer);
				timer = setTimeout(doWineSearch, 600);
			}
	});
	
	var cat = $('#category select').val();
	$('#sub-category .sub' + cat).show();
	var subcat = $('#sub-category .sub' + cat).val();
	$('#sub-category .sub' + subcat).show();
	
	$('#character .char' + cat).show();
	
	doWineSearch();
}

function initWineSearchDev() {
	
	var maxPrice = $('#topPrice').val();
	var setLow = $('#setLow').val();
	var setHigh = $('#setHigh').val();
	var charVal = $('#charValue').val();
	var timer;
	
	$( "#priceSlider" ).slider({
		range: true,
		values: [ setLow, setHigh ],
		min: 0,
		max: maxPrice,
		slide: function( event, ui ) {
				$( "#amount" ).text( ui.values[ 0 ] + "€" + " - " + ui.values[ 1 ] + "€" );
				$( "#minPrice" ).val(ui.values[ 0 ]);
				$( "#maxPrice" ).val(ui.values[ 1 ]);
				clearTimeout(timer);
				timer = setTimeout(doWineSearchDev, 600);
			}

	});
	
	
	$( "#amount" ).text( $( "#priceSlider" ).slider( "values", 0 ) + "€" + 
			" - " + $( "#priceSlider" ).slider( "values", 1 ) + "€" );
	
	
	$( "#characterSlider" ).slider({
		range: "min",
		value: charVal,
		min: 1,
		max: 10,
		slide: function( event, ui ) {
				$( "#charValue" ).val(ui.value);
				clearTimeout(timer);
				timer = setTimeout(doWineSearchDev, 600);
			}
	});
	
	var cat = $('#category select').val();
	$('#sub-category .sub' + cat).show();
	var subcat = $('#sub-category .sub' + cat).val();
	$('#sub-category .sub' + subcat).show();
	
	$('#character .char' + cat).show();
	
	doWineSearchDev();
}

function updateWineSearch() {
	
	$('#sub-category select').hide();
	$('#character .holder').hide();
	
	var cat = $('#category select').val();
	$('#sub-category .sub' + cat).show();
	var subcat = $('#sub-category .sub' + cat).val();
	$('#sub-category .sub' + subcat).show();
	
	$('#character .char' + cat).show();
	
	doWineSearch();
}

function updateWineSearchDev() {
	
	$('#sub-category select').hide();
	$('#character .holder').hide();
	
	var cat = $('#category select').val();
	$('#sub-category .sub' + cat).show();
	var subcat = $('#sub-category .sub' + cat).val();
	$('#sub-category .sub' + subcat).show();
	
	$('#character .char' + cat).show();
	
	doWineSearchDev();
}

function doWineSearch() {
    
	var cat = $('#category select').val();	
	var subcat = $('#sub-category .sub' + cat).val();
	var subcat2 = $('#sub-category .sub' + subcat).val();
	var char2 = $("#charValue").val();
	var minPrice = $("#minPrice").val();
	var maxPrice = $("#maxPrice").val();
	
	//alert(cat + ", " + subcat + ", " + subcat2 + ", " + char2 + ", " + minPrice + ", " + maxPrice);
	
	$('#results').html('<div class="loader"></div>');
	
	
	var data = {
		action: 'haeViinit',
		cat: cat,
		subcat: subcat,
		subcat2: subcat2,
		'char': char2,
		minPrice: minPrice,
		maxPrice: maxPrice,
        lang: lang
	};

	
	$.post(ajaxurl, data, function( data )
	{
		$('#results').html(data);
		Cufon.refresh();
		var korkeus = $('#results table').height() + "px";
		$('#results').css("height", korkeus);
	});
}

function doWineSearchDev() {
    
	var cat = $('#category select').val();	
	var subcat = $('#sub-category .sub' + cat).val();
	var subcat2 = $('#sub-category .sub' + subcat).val();
	var char2 = $("#charValue").val();
	var minPrice = $("#minPrice").val();
	var maxPrice = $("#maxPrice").val();
	
	//alert(cat + ", " + subcat + ", " + subcat2 + ", " + char2 + ", " + minPrice + ", " + maxPrice);
	
	$('#results').html('<div class="loader"></div>');
	
	
	var data = {
		action: 'haeViinitDev',
		cat: cat,
		subcat: subcat,
		subcat2: subcat2,
		'char': char2,
		minPrice: minPrice,
		maxPrice: maxPrice,
        lang: lang
	};

	
	$.post(ajaxurl, data, function( data )
	{
		$('#results').html(data);
		Cufon.refresh();
		var korkeus = $('#results table').height();
		$('.next-suggestions').fadeIn();
		if ($('.next-suggestions')) {
			korkeus = korkeus + 80;
		}
		$('#results').height(korkeus);
	});
}

function initAgecheck() {
	if($('body').height() > $(window).height()){
		$("#curtain").css("height", $('body').height() + "px");
	} else {
		$("#curtain").css("height", $(window).height() + "px");
	}
	
	if($('body').width() < 1024){
		$("#curtain").css("width", "1024px");
	} else {
		$("#curtain").css("width", $('body').width() + "px");
	}
	
	
	$(window).resize(function(){
		if($('body').width() < 1024){
			$("#curtain").css("width", "1024px");
		} else {
			$("#curtain").css("width", $('body').width() + "px");
		}
	});
	
}

function showTerms() {
	
	if($("#terms").is(':hidden')) {
		$("#terms").slideDown();
	} else {
		$("#terms").slideUp();
	}
	return false;
}

function hideAgecheck() {
	
	
	$.post("ajax.php", {age: 1}, function( data, textStatus )
	{
		if ( textStatus == 'success' )
		{	
			$('#curtain').hide();
			
		}
	});
	
	
	return false;
}

function Slideshow (el) {
	
	
	var slideshow = this;
	this.direction = 1;
	this.delay = 5000;
	this.index = 0;
    this.el = $(el);
	
	this.slides = this.el.find('.slideshow-container div');
	
    
    this.navigation = this.el.find('.slideshow-navigation').eq(0);
    this.dots = [];
	
	this.container = this.el.find('.slideshow-container').eq(0);
    
    this.width = this.el.width();
    this.interval = null;

    this.loopSlides = function ()
    {
        // Loops index between 0 and the amount of highlights
        slideshow.index = (slideshow.index + 1) % slideshow.slides.length;

        // Reset position, if loop has started over
        if (slideshow.index == 0) {
            slideshow.index++;
            $(slideshow.container).css("left", "0px");
        }

        slideshow.animate();
    };
	
	
    this.gotoSlide = function (e) {
	    e.preventDefault();
        if (slideshow.interval) {
            clearInterval(slideshow.interval);
            slideshow.interval = null;
        }
        slideshow.index = parseInt(this.href.split('#')[1], 10);

        slideshow.interval = setInterval(slideshow.loopSlides, slideshow.delay);
        slideshow.animate();
    };
	
	
    this.animate = function () {
        // Update navigation and link 
        for (var i = 0; i < slideshow.dots.length; i++) {
            slideshow.dots[i].removeClass('active');
        }
        var trueIndex = slideshow.index % (slideshow.slides.length - 1);
        
		slideshow.dots[trueIndex].addClass('active');
        //slideshow.link.href = slideshow.slides[trueIndex].href;
        //slideshow.link.innerHTML = slideshow.slides[trueIndex].title;
		
		
        // Do the slide animation
		slideshow.container.animate({left: '-' + (slideshow.index * slideshow.width) + 'px'} , 500);
        //new Effect.Move(slideshow.container, { x: -(slideshow.index * slideshow.width), mode: 'absolute', duration: 1});
    };
	
	this.constructor = (function() {
        if (slideshow.slides && slideshow.slides.length - 1 > 1) {
            // Generate navigation
            for (var i = 0; i < slideshow.slides.length - 1; i++) {
				
                var dot = $('<a href="#' + i + '"></a>');
				
                dot.bind('click', slideshow.gotoSlide);
                slideshow.navigation.append(dot);
                slideshow.dots.push(dot);
            }
			
			$(slideshow.dots[slideshow.index]).addClass('active');

            // Set container width 
            $(slideshow.container).width(slideshow.slides.length * slideshow.width + 'px');
            slideshow.interval = setInterval(slideshow.loopSlides, slideshow.delay);
        }
	})();

}

function orderNewsletter() {
	
	$('#orderNewsletter .result span').html('');
	$('#orderNewsletter .result').show();
	$('#orderNewsletter .loader').show();
	$('#orderNewsletter .loader').hide();

	
	if(CorrectEmailaddress($('#orderNewsletter')))
		$('#orderNewsletter').submit();
	
	
	return false;
}



function processSubscriptionForm(SubscriberForm){
	
	$('#orderNewsletter .result span').html('');
	$('#orderNewsletter .result').show();
	$('#orderNewsletter .loader').hide();
	
	if (SubscriberForm.pf_Email.value.length > 255)
	{
		$('#orderNewsletter .loader').hide();
		$('#orderNewsletter .result span').html("Sähköpostiosoite on virheellinen");
		SubscriberForm.pf_Email.focus();
		return (false);
	}
	
	if (SubscriberForm.pf_Email.value == "")
	{
		$('#orderNewsletter .loader').hide();
		$('#orderNewsletter .result span').html("Sähköpostiosoite on virheellinen");
		SubscriberForm.pf_Email.focus();
		return (false);
	}
	
	if (SubscriberForm.pf_Email.value.length < 7)
	{
		$('#orderNewsletter .loader').hide();
		$('#orderNewsletter .result span').html("Sähköpostiosoite on virheellinen");
		SubscriberForm.pf_Email.focus();
		return (false);
	 }

	var pf_Email=SubscriberForm.pf_Email.value;
	var at=pf_Email.indexOf("@");
	var lastat=pf_Email.lastIndexOf("@");
	var dot=pf_Email.lastIndexOf(".");
	if(at<1||at!=lastat||dot<at){
		$('#orderNewsletter .loader').hide();
		$('#orderNewsletter .result span').html("Sähköpostiosoite on virheellinen");
		return false;
	}
		
	var data = {
		action: 'orderNewsletter',
		email: SubscriberForm.pf_Email.value
	};
	
	$.post(ajaxurl, data, function( data2, textStatus )
		{
			$('#orderNewsletter .loader').hide();
			
			if ( textStatus == 'success' )
			{
                $('#orderNewsletter .result span').html("Kiitos tilauksesta");
			}
		});
	
	return false;
	
}


