// http://blog.stevenlevithan.com/archives/faster-trim-javascript
function trimString(str) {
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function addFormField() {
    var id = document.getElementById("id").value;
    $j("#divTxt")
    .append("<p id='row" + id + "'><label for='kod_2" + id + "'> Kód tábora: <input type='text' size='24' name='kod_2[]' id='kod_2" + id + "'><a href='#' onClick='removeFormField(\"#row" + id + "\"); return false;'>odstráň</a><p>");

    id = (id + 1);
    document.getElementById("id").value = id;
    
    $j("#divTxt")
    .append("<p id='row" + id + "'><label for='termin_od_do_2" + id + "'> Termín od-do: <input type='text' size='24' name='termin_od_do_2[]' id='termin_od_do_2" + id + "'><a href='#' onClick='removeFormField(\"#row" + id + "\"); return false;'>odstráň</a><p>");
    
    id = (id + 1);
    document.getElementById("id").value = id;
}
function removeFormField(id) {
    $j(id).remove();
}

// zmen obrazok, len cez klasicky javascript
function changeObalka() {
    var image1 = document.getElementById('obalka_off');
    image1.style.display = (image1.style.display == 'none') ? 'block' : 'none';
    
    var image2 = document.getElementById('obalka_on');
    image2.style.display = (image2.style.display == 'none') ? 'block' : 'none';

    return false;
}
function obalkaOtvor() {
    var image1 = document.getElementById('obalka_off');
    var image2 = document.getElementById('obalka_on');
    image1.style.display = 'none';
    image2.style.display = 'block';
    
    return false;
}
function obalkaZatvor() {
    var image1 = document.getElementById('obalka_off');
    var image2 = document.getElementById('obalka_on');
    image1.style.display = 'block';
    image2.style.display = 'none';

    return false;
}

$j(document).ready(function() {

    /*
    $j('#newsletter-link').hover(
        function() {
            $j('#obalka_off').toggle();
            $j('#obalka_on').toggle();
        },
        function() {
            $j('#obalka_off').toggle();
            $j('#obalka_on').toggle();
        }
    );
    */

    $j('#home_flash_mravec').flash({
        //src: 'http://www.smartpage.sk/test/davos/cevarm/flash/mravec_index.swf',
        src: 'http://www.cevarm.sk/flash/mravec_index.swf',
        width: 288,
        height: 117,
        wmode : 'transparent',
        expressInstall: true
    });

    $j('#objednavka-listok').flash({
        //src: 'http://www.smartpage.sk/test/davos/cevarm/flash/objednavka_index.swf',
        src: 'http://www.cevarm.sk/flash/objednavka_index.swf',
        width: 279,
        height: 177,
        wmode : 'transparent',
        expressInstall: true
    });

    $j('#podstranka_akcia_flash').flash({
        //src: 'http://www.smartpage.sk/test/davos/cevarm/flash/akcia_podstranka.swf',
        src: 'http://www.cevarm.sk/flash/akcia_podstranka.swf',
        width: 129,
        height: 115,
        wmode : 'transparent',
        expressInstall: true
    });

    $j('#podstranka_objednavka_flash').flash({
        //src: 'http://www.smartpage.sk/test/davos/cevarm/flash/objednavka_podstranka.swf',
        src: 'http://www.cevarm.sk/flash/objednavka_podstranka.swf',
        width: 238,
        height: 99,
        wmode : 'transparent',
        expressInstall: true
    });

    /*
     * Zmen obsah druheho dropdown selectu na zaklade prveho
     */
    /*
    $j('#obj_nazov').change(function() {
        var option = $j(this).val();
        //alert(option);
        // poslem obsah js premennej option do php, kde bude dostupna ako $_GET['select']
        // php mi cez echo vrati nejaky output, ktory mi bude pristupny cez js premennu data
        $j.get('cevarm/public/ajax/ajax_taborTerminy.php', {select:option}, function(data) {
            $j('#obj_termin').html(data);
            //alert(data);
        });
    });
    */
   
    /*
    var formChangesNotSaved = false;
    $j('input, textarea').change(function() {
        formChangesNotSaved = true;
    });
    $j('a.kody-terminy').click(function() {
        if (formChangesNotSaved) {
            alert('Niektoré zmeny ešte neboli uložené.\nMusíte ich uložiť ak chcete pokračovať.');
        }
    });
    */
    
    $j('div.horizontalMenu ul:first > li > a.addPage').parent().remove();

    // Zobraz/skry formular - chcem dostavat novinky mailom
    $j('#newsletter-link').click(function() {
        $j('#newsletter-form-wrapper').toggle();
    })
    $j('#close-news-form span').click(function() {
        $j('#newsletter-form-wrapper').hide();
    })

    /**
     * Newsletter formular - newsletter_form
     */
    $j('#newsletter_form').submit(function() {
            var hasError = false;

            $j(".sm-error").hide();

            // Nastav error hlasky
            var zabudli_meno = '';
            var zabudli_email = '';
            zabudli_meno = 'povinný údaj';
            zabudli_email = 'povinný údaj';

            var menoVal = $j("#cele_meno").val();
            menoVal = trimString(menoVal); //No whitespace please!
            if (menoVal == 'Tvoje meno a priezvisko') menoVal = '';
            if (menoVal == zabudli_meno) menoVal = '';
            if (menoVal == '') {
                $j("#cele_meno").val(zabudli_meno);
                hasError = true;
            }

            var emailVal = $j("#tvoj_email").val();
            emailVal = trimString(emailVal); //No whitespace please!
            if (emailVal == 'Tvoja e-mailová adresa') emailVal = '';
            if (emailVal == zabudli_email) emailVal = '';
            if (emailVal == '') {
                $j("#tvoj_email").val(zabudli_email);
                hasError = true;
            }
            
            if (hasError == true) {
                return false; // Don't forget to return false! Otherwise the data will be submitted to '*.php' normally.
            }
            else return true;
    });
    
    /**
     * Formular - otazka_form
     */
    $j('#otazka_form').submit(function() {
            var hasError = false;

            $j(".sm-error").hide();

            // Nastav error hlasky
            var zabudli_kontakt = '';
            var zabudli_spravu = '';
            zabudli_kontakt = 'Zabudli ste zadať Vaše telefónne číslo resp. Email.';
            zabudli_spravu = 'Zabudli ste zadať správu.';

            var contactVal = $j("#email-tel").val();
            contactVal = trimString(contactVal); //No whitespace please!
            if (contactVal == '') {
                $j("#email-tel").before('<div class="sm-error">'+zabudli_kontakt+'</div>');
                hasError = true;
            }
            
            var messageVal = $j("#otazka").val();
            messageVal = trimString(messageVal); //No whitespace please!
            if (messageVal == '') {
                $j("#otazka").before('<div class="sm-error">'+zabudli_spravu+'</div>');
                hasError = true;
            }
            
            if (hasError == true) {
                return false; // Don't forget to return false! Otherwise the data will be submitted to '*.php' normally.
            }
            else return true;
    });


    // Kliknutim zobraz dalsie skryte formularove prvky (formular: online objednavka), vzdy po jednom
    var friend_counter = 1;
    $j('#odporuc_kamarata').click(function() {
        el = $j('#objednavka_form tr#nf_'+friend_counter);
        el.show();
        ++friend_counter;
        return false;
    })

    // Zakladny test len na povinne udaje
    $j('#objednavka_form').submit(function() {
            var hasError = false;

            // Reset to default CSS
            $j('input.fe-required, select.fe-required').each(function() {
                $j(this).css("border", "1px solid #BFC0C1");
                $j(this).css("background-color", "#FFFFFF");
            });
            
            $j('input.fe-required, select.fe-required').each(function() {
                var _val = $j(this).val();
                _val = trimString(_val); // No whitespace please!
                if (_val == '' || _val == 'nevybral') {
                    $j(this).css("border", "1px solid #FBC2C4");
                    $j(this).css("background-color", "#FBE3E4");
                    hasError = true;
                }
            });
            
            if (hasError == true) {
                alert('Nevyplnili ste všetky povinné údaje!');
                return false; // Don't forget to return false! Otherwise the data will be submitted to '*.php' normally.
            }
            else return true;
    });


    $j('#kontakt_form').submit(function() {
        var hasError = false;
        var message = 'Povinný údaj &darr;';
        
        $j(".sm-error-2").hide();
        
        $j('.ff-required').each(function() {
            var _val = $j(this).val();
            _val = trimString(_val);
            if (_val == '' || _val == '@') {
                $j(this).before('<div class="sm-error-2">'+message+'</div>');
                hasError = true;
            }
        });
        
        if (hasError == true) {
            return false;
        }
        else return true;
        
    });


    /**
     * Formular - kontakt_form
     */
    /*
    $j('#kontakt_form').livequery(function() {
        $j(this).submit(function() {
                var hasError = false;

                $j(".sm-error").hide();

                // Nastav error hlasky

                var zabudli_meno = '';
                var zabudli_priezvisko = '';
                var zabudli_kontakt = '';
                var zabudli_spravu = '';
                zabudli_meno = 'Zabudli ste zadať Vaše krstné meno.';
                zabudli_priezvisko = 'Zabudli ste zadať Vaše priezvisko.';
                zabudli_kontakt = 'Zabudli ste zadať Vaše telefónne číslo resp. Email.';
                zabudli_spravu = 'Zabudli ste zadať správu.';

                var firstnameVal = $j("#kf_meno").val();
                firstnameVal = trimString(firstnameVal); //No whitespace please!
                if (firstnameVal == '') {
                    $j("#kf_meno").before('<div class="sm-error">'+zabudli_meno+'</div>');
                    hasError = true;
                }

                var surnameVal = $j("#kf_priez").val();
                surnameVal = trimString(surnameVal); //No whitespace please!
                if (surnameVal == '') {
                    $j("#kf_priez").before('<div class="sm-error">'+zabudli_priezvisko+'</div>');
                    hasError = true;
                }

                var contactVal = $j("#kf_email").val();
                contactVal = trimString(contactVal); //No whitespace please!
                if (contactVal == '') {
                    $j("#kf_email").before('<div class="sm-error">'+zabudli_kontakt+'</div>');
                    hasError = true;
                }

                var messageVal = $j("#kf_sprava").val();
                messageVal = trimString(messageVal); //No whitespace please!
                if (messageVal == '') {
                    $j("#kf_sprava").before('<div class="sm-error">'+zabudli_spravu+'</div>');
                    hasError = true;
                }

                if (hasError == true) {
                    return false; // Don't forget to return false! Otherwise the data will be submitted to '*.php' normally.
                }
                else return true;
        });
    });
    */

/*============================================================================*/

    /*
     * Kontaktny formular, ktory sa otvori kliknutim vlavo na mailovu adresu
     * Vyuzitie jQuery UI
     */

    var firstname = $j("#kf_meno"),
        lastname = $j("#kf_priez"),
        email = $j("#kf_email"),
        message = $j("#kf_sprava"),
        allFields = $j([]).add(firstname).add(lastname).add(email).add(message),
        tips = $j("#validateTips");

    function updateTips(t) {
        tips.text(t).effect("highlight",{},1500);
    }

    function checkLength(o,n,min,max) {
        if ( o.val().length > max || o.val().length < min ) {
            o.addClass('ui-state-error');
            updateTips("Dĺžka " + n + " musí byť medzi "+min+" a "+max+" znakov.");
            return false;
        } else {
            return true;
        }
    }
    
    function checkRegexp(o,regexp,n) {
        if ( !( regexp.test( o.val() ) ) ) {
            o.addClass('ui-state-error');
            updateTips(n);
            return false;
        } else {
            return true;
        }
    }


    /*
    // http://jqueryui.com/demos/dialog/#modal-form
    $j("#dialog").dialog({
        bgiframe: true,
        autoOpen: false,
        width: 500,
        height: 500,
        //position: 'top',
        modal: true,
        buttons: {
                    'Poslať': function() {
                        var bValid = true;
                        allFields.removeClass('ui-state-error');

                        bValid = bValid && checkLength(firstname,"mena",3,16);
                        bValid = bValid && checkLength(lastname,"priezviska",3,16);
                        bValid = bValid && checkLength(email,"emailu",6,80);
                        bValid = bValid && checkLength(message,"správy",3,3000);
                        //bValid = bValid && checkLength(password,"password",5,16);

                        //bValid = bValid && checkRegexp(name,/^[a-z]([0-9a-z_])+$/i,"Username may consist of a-z, 0-9, underscores, begin with a letter.");
                        // From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
                        bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,"Pr. abc@gmail.com");
                        //bValid = bValid && checkRegexp(password,/^([0-9a-zA-Z])+$/,"Password field only allow : a-z 0-9");

                        if (bValid) {
                                $j('form#kontakt_form').submit();
                                $j(this).dialog('close');
                        }

                    },
                    'Zrušiť': function() {
                        $j(this).dialog('close');
                    }
        },
        close: function() {
            allFields.val('').removeClass('ui-state-error');
        }
    });
    */
    
    $j('#kontakt_form_link').click(function() {
        //$j('#dialog').dialog('open');
        //$j('#dialog').toggle();
    })
    .hover(
        function(){
            $j(this).addClass("ui-state-hover");
        },
        function(){
            $j(this).removeClass("ui-state-hover");
        }
    )
    .mousedown(function(){
        $j(this).addClass("ui-state-active");
    })
    .mouseup(function(){
        $j(this).removeClass("ui-state-active");
    });


});
