document.documentElement.className = 'has_js';

(function($){
    if(!$.heroj){
        $.heroj = new Object();
    };

    $.heroj.si = function(el, options){
        var base = this;

        base.$el = $(el);
        base.el = el;

        base.$el.data("heroj.si", base);

        base.init = function(){
            base.options = $.extend({},$.heroj.si.defaultOptions, options);
            base.splash();
        };

        base.splash = function(){

            $('form').live('submit', function(e){

                e.preventDefault();

                var data = 'ajax=1&' + $(this).serialize(),
                    email = $('#email').val();
                    //pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i),
                    //good_email = pattern.test(email);

                base.do_ajax('post', 'index.php', data, '.form .inner');


            });

            $('#email').focus(function(){
                $(this).parent().addClass('active');
            }).blur(function(){
                $(this).parent().removeClass('active');
            });

        };

        base.do_ajax = function(type, url, data, target, filter){

            $.ajax({
                type: type,
                url: url,
                data: data,
                success: function(data){
                    if (data == 'success') {

                        $('.form').removeClass('error').addClass('success');
                        $('.form h2').html('Hvala');
                        $(target).html('<p class="info">Vabilo vam bomo poslali takoj, ko bo Heroj pripravljen za objavo.<br />Zelo se trudimo, da bi bilo to čimprej. Pravzaprav - komaj čakamo.</p>');

                    } else {

                        var txt = '';

                        switch (data) {

                            case 'error_email_already_unsubscribed':
                                txt = 'error_email_already_unsubscribed';
                            break;

                            case 'error_email_already_exists':
                                txt = 'Hm,<br />izgleda, da ste se s tem elektronskim naslovom že vpisali v našo bazo.<br />To verjetno pomeni, da je vse ok in vam ni treba več stiskati Pošlji.<br />OK?';
                            break;

                            case 'error_missing_at_sign':
                                txt = 'Oops.<br />Pozabili ste na znak @, skopirajte tega, če vam je lažje.<br />Če ne, imamo še enega: @.';
                            break;

                            case 'error_got_space_sign':
                                txt = 'Oops, mala napaka.<br />Izgleda, da se vam je znotraj naslova prikradel odvečen presledek.<br />Izbrišite ga in še enkrat stisnite Pošlji.<br />Hvala lepa.';
                            break;

                            case 'error_empty_string':
                                txt = 'Mhm,<br />Na tem koncu izgleda, kot če ne bi čisto nič napisali v polje za elektronski naslov. Poizkusite še enkrat.<br />Super, hvala.';
                            break;

                            case 'error_system':
                                txt = 'Uhhmm.<br />Ne moremo čisto razumeti, kaj se je zgodilo, ampak izgleda, da je nekaj narobe s sistemom.<br />Bilo bi super, če še enkrat poskusite z vnosom.<br />Upamo, da bo tokrat ok.';
                            break;

                            case 'error':
                            default:
                                txt = 'Auč.<br />Vaš elektronski naslov ni popoln - manjka mu končnica .si, ali .com ali kaj podobnega.<br />Brez tega se naš računalnik ne bo znal pogovorjati z vašim, kar bi bilo škoda.<br />Dodajte končnico in še enkrat poizkusite.<br />Upamo, da bo ok.';
                            break;

                        }

                        $('.form').removeClass('success').addClass('error');
                        $('.form h2').html('Oops');
                        $('.form .info').html(txt);
                        $('#email').focus();

                    }
                }
            });

        };

        base.init();
    };

    $.heroj.si.defaultOptions = {
    };

    $.fn.heroj_si = function(options){
        return this.each(function(){
            (new $.heroj.si(this, options));
        });
    };

    $.fn.getheroj_si = function(){
        this.data("heroj.si");
    };

})(jQuery);


$(function() {
    $.heroj.si();
});
