var metaTags = document.getElementsByTagName('meta'), BASE = '/';
for (var i = 0; i < metaTags.length; i++) if (metaTags[i].getAttribute('name') == 'base') {BASE = metaTags[i].getAttribute('content'); break;}



$(function(){
// placeholder
    $('label.placeholder').placeHolder();

// post form
    $('.pisma').postForm();

// tooltip
    $('.shtuki .i-dead .img').tooltip({
        track: true,
        delay: 0,
        fade: 100
    });

// zoom
    $('.top-links a.zoom-video').fancybox({
        'padding': 0,
        'overlayOpacity': 1,
        'overlayColor': '#000',
        'width': 640,
        'height': 368,
        'titleFormat': function(){
            return '<div class="title">' + this.orig[0].innerHTML + '</div>';
        }
    });

    $('.shtuki-tv a.zoom-video').fancybox({
        'padding': 0,
        'overlayOpacity': 1,
        'overlayColor': '#000',
        'width': 640,
        'height': 368,
        'titleFormat': function(){
            return '<div class="title">' + this.title + '</div><div class="txt">' + this.orig[0].innerHTML + '</div>';
        }
    });
});



/* ------------- PLUGINS ------------- */
// ------------- placeHolder ------------- //
(function($){
$.fn.placeHolder = function(o){
    o = $.extend({
        'className': 'placeholder'
    }, o || {});

    return this.each(function(){
        var $label = $(this),
            labelText = $label.text(),
            $input = $('#' + $label.attr('for'));

        if ($input[0].tagName == 'TEXTAREA') {
            if ($input.val() == '' || $input.val() == labelText) {
                $input.text(labelText).addClass(o.className).focus(function(){
                    $input.removeClass(o.className);
                    if ($input.val() == labelText) {
                        $input.text('');
                    }
                }).blur(function(){
                    if ($input.val() == '') {
                        $input.text(labelText).addClass(o.className);
                    }
                });
            }
        } else {
            if ($input.val() == '' || $input.val() == labelText) {
                $input.val(labelText).addClass(o.className).focus(function(){
                    $input.removeClass(o.className);
                    if ($input.val() == labelText) {
                        $input.val('');
                    }
                }).blur(function(){
                    if ($input.val() == '') {
                        $input.val(labelText).addClass(o.className);
                    }
                });
            }
        }
    });
};
})(jQuery);


// ------------- postForm ------------- //
(function($){
    $.fn.postForm = function(o){
        o = $.extend({
            'url': ''
        }, o || {});

        this.each(function(){
            var form = $('form', this),
                statusOK = $('.status-ok', this),
                statusError = $('.status-error', this)
                actionURL = o.url || form.attr('action');

            form.validate({
                errorPlacement: function(error, element) {
                },
                highlight: function(element, errorClass) {
                    $(element).parent().addClass('i-error');
                },
                unhighlight: function(element, errorClass) {
                    $(element).parent().removeClass('i-error');
                },
                submitHandler: function() {
                    form.ajaxSubmit({
                        type: 'POST',
                        url: actionURL,
                        success: function(msg){
                            form.hide();
                            statusError.hide();
                            statusOK.fadeIn('fast');
                        },
                        error: function(){
                            statusOK.hide();
                            statusError.fadeIn('fast');
                        }
                    });
                }
            });
        });
        return this;
    };
})(jQuery);
