var want_newsletter = false;
var addressDefaultValue = "Tänav, maja / korteri number, linn"
var ERROR = '<img src="images/i_error.png" width="35" height="35" alt="" />';
var OK    = '<img src="images/i_ok.png" width="35" height="35" alt="" />';
var BUBBLE_COUNT_PER_GENERATION = 5;

$(function () {
    
    Cufon.now();
    Cufon.replace('.cufon');
    
    // $("#code").alphanumeric();
    /*
        TODO: do when Stas will finish bubble movements
    */
    // if( !$("body").hasClass("index") ) {
    //         generateBubbles();
    //         setInterval("generateBubbles()", 1000);
    //     }
    
    var checkbox_on_image = new Image();
    checkbox_on_image.src = "/kino/images/checkbox_on.png";
    
    $("a[rel='external']").bind("click", function(event) {
        event.preventDefault();
        var href = $(this).attr("href");
        window.open(href);
    });
        
    $(".checkbox a").bind("click", function(event) {
        event.preventDefault();
        want_newsletter = !want_newsletter;
        if( want_newsletter) {
            $("#want_newsletter").val(1);
            $(this).addClass("on");
        } else {
            $("#want_newsletter").val(0);
            $(this).removeClass("on");
        }
    });
    
    $("#address").defaultValue(addressDefaultValue);
    
    $("#code-form").validate({
        rules: {
            code: {
                required: true,
                remote: "check-code.php"
            },
            firstname: {
                required: true,
                minlength: 3
            },
            lastname: {
                required: true,
                minlength: 3
            },
            email: {
                email: true,
                required: true
            },
            cinema: {
                required: true
            },
            address: {
                required: true,
                notEqual: addressDefaultValue
            }
        },
        messages: {
            code: ERROR,
            firstname: ERROR,
            lastname: ERROR,
            email: ERROR,
            cinema: ERROR,
            address: ERROR
        },
        success: function(label) {
          label.html(OK);
        }
    });
    
    if( !readCookie('hide_notice')) {
        $("#modal").show("fast")
        $("#finished").show().animate({ top: "50%" }, 600);
        $("#finished .close").click(function(event) {
            event.preventDefault();
            $("#finished").animate({ top: "-10%"}, 600, function() {
                $("#modal").hide("fast");
                createCookie('hide_notice', "1", 0);
                $(this).hide();
            });
        });
    }
    
});


function generateBubbles()
{
    var bubbles = ["bubble1", "bubble2", "bubble3"];
    for( var i = 0; i < BUBBLE_COUNT_PER_GENERATION; i++) {
        var type = bubbles[ parseInt(Math.random() * bubbles.length)];
        var bubble = $("<img></img>")
                   .attr("src", "images/" + type + ".png" )
                   .addClass("bubble");
                   
        var startY = $(window).height() - 50;
        var startX = ( $(window).width() - 100) * Math.random();
        bubble.css("top", startY);
        bubble.css("left", startX);
        bubble.animate({ top: 0, left: (startX + Math.random() * 100) - 50},
           parseInt(Math.random() * 8000 + 4000),
           "linear",
           function() {
               $(this).remove();
           }
        );
        bubble.bind("mouseover", function(event) {
            $(this).remove();
        });
        $("body").append(bubble);
    }
}

/* Not default value for Validator */
jQuery.validator.addMethod("notEqual", function(value, element, param) {
  return this.optional(element) || value !== param;
}, "Please choose a value!");


function createCookie(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=/";
}

function readCookie(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;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
