var rullerForm, callForm, calcForm, calc , _OUT = '';
$(document).ready(function(){
    var name;
    $('h2.titles').each(function(){
        name = $(this).html().split(' ');
        if(name.length > 2){
            if($(this).hasClass('two-one'))
                $(this).html('<span class="first">'+name[0]+' '+name[1]+'</span><span class="two">'+name[2]+'</span>');
            else if($(this).hasClass('one-two')){
                $(this).html('<span class="first">'+name[0]+'</span><span class="two">'+name[1]+' '+name[2]+'</span>');
            }
        }
        else{
            $(this).html('<span class="first">'+name[0]+'</span><span class="two">'+name[1]+'</span>');
        }
    })

    var colors = ['blue', 'orange', 'green'];
    var counter = 0;
    var iter = 0;
    var menu = $('.main-menu');
    $('div.row', menu).each(function(){
        if(iter < 4){
            $(this).addClass(colors[counter]);
            iter++;
        }else{
            iter = 0;
            counter++;
            $(this).addClass(colors[counter]);
            iter++;
        }
    });


    $('#my-carousel').jcarousel({
        scroll: 1,
        wrap : 'circular',
        ///        auto : 3,
        initCallback:   mycarousel_initCallback,
        buttonNextHTML: null,        
        buttonPrevHTML: null,
        itemFirstInCallback:  mycarousel_itemFirstInCallback
    });


    rullerForm = $('#ruller-ajax');
    callForm = $('#call-ajax');
    calcForm = $('#calc-ajax');

    $('form', rullerForm).ajaxForm({
        target: $('.resp', rullerForm),
        success: on_success
    });
    $('.close a', rullerForm).live('click', function(event){
       if($.browser.msie && $.browser.version.substr(0,1) == "7") {
            $('#page .carousel').css({"z-index" : "0"});
      }

        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue = false; 
        }
        //        event.preventDefault();
        $('form', rullerForm).each(function(){
            this.reset();
        });
        $('.error-wrap', rullerForm).html('');
        rullerForm.hide();      
        
    });
    
    $('#show_ruller_form').click(function(event){
       if($.browser.msie && $.browser.version.substr(0,1) == "7") {
            $('#page .carousel').css({"z-index" : "-1"});
      }
        $('.popup').hide();
        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue = false; 
        }
        rullerForm.show();
    });

    $('form', callForm).ajaxForm({
        target: $('.resp', callForm),
        success: on_success_call
    });
    $('.close a', callForm).live('click', function(event){
       if($.browser.msie && $.browser.version.substr(0,1) == "7") {
            $('#page .carousel').css({"z-index" : "0"});
      }
        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue = false; 
        }
        $('form', callForm).each(function(){
            this.reset();
        });
        $('.error-wrap', callForm).html('');
        callForm.hide();      
    });
    
    $('#show_call_form').click(function(event){
       if($.browser.msie && $.browser.version.substr(0,1) == "7") {
            $('#page .carousel').css({"z-index" : "-1"});
      }
        $('.popup').hide();

        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue = false; 
        }
        callForm.show();
    });

    $('form', calcForm).ajaxForm({
        target: $('.resp', calcForm),
        success: on_success_calc
    });
    $('.close a', calcForm).live('click', function(event){
        if(event.preventDefault){
            event.preventDefault();
        }else{
            event.returnValue = false; 
        }
        $('form', calcForm).each(function(){
            this.reset();
        });
        $('.error-wrap', calcForm).html('');
        calcForm.hide();      
    });

    

});

function mycarousel_initCallback(carousel, state) {
    $('.jcarousel-control a').bind('click', function() {
        var id = $(this).attr('id').split('-');
        carousel.scroll($.jcarousel.intval(id[1]));
        $('.jcarousel-control a.active').removeClass('active');
        $(this).addClass('active');
        return false;
    });
}
    
function mycarousel_itemFirstInCallback(carousel, item, idx, state) {
    var id = $('img',item).attr('id').split('-');
    //console.log('Item #' + idx + ' is now the first item');
    $('.jcarousel-control a.active').removeClass('active');
    $('#item-'+id[1]).addClass('active');
//console.log();
}

function on_success(){
    rullerForm = $('#ruller-ajax');
    $('form', rullerForm).ajaxForm({
        target: $('.resp', rullerForm),
        success: on_success
    }); 
}

function on_success_call(){
    callForm = $('#call-ajax');
    $('form', callForm).ajaxForm({
        target: $('.resp', callForm),
        success: on_success_call
    }); 
}
function on_success_calc(){
    callForm = $('#calc-ajax');
    $('form', calcForm).ajaxForm({
        target: $('.resp', calcForm),
        success: on_success_calc
    }); 
}

function calc_type_change($this){
    //    var item = $($this).parents('.item');
    var item = $($this).parent().parent();
    var index = $('option:selected',$this).index();
    
    if(index == 2 || index == 3){
        $('.two', item).show();
        $('.first', item).hide();
    }else{
        $('.first', item).show();
        $('.two', item).hide();
    }
}

function _panel_change($this, selector, param){
    var item = $($this).parents('.item');
    var value = $('option:selected',$this).val();
    //    console.log(value);
    if(value == param){
        $(selector, item).show();
    }else{
        $(selector, item).hide();
    }
}

function hide_tab($this, event, op){
    var item = $($this).parent().parent();
    if(event.preventDefault){
        event.preventDefault();
    }else{
        event.returnValue = false; 
    }
    $('.body', item).toggle(op);
    $('.hide a', item).toggle();
    
}
function close_tab($this, event){
    if(event.preventDefault){
        event.preventDefault();
    }else{
        event.returnValue = false; 
    }
    var parent = $($this).parents('.items');
    if($('.item', parent).length > 1){
        $($this).parents('.item').remove();
    }
}

function more_gates(selector){
    var wrap = $(selector);
    $('.items', wrap).append($('.template', wrap).html());
}

function save_gates(selector, outPane){

    var wrap = $(selector + ' .items');
    
    $('.error', selector).removeClass('error');
    _OUT = '';
    $('.item', wrap).each(function(){
        var thiselement = this;
        $("input:text:visible", wrap).filter(filter_hendler).addClass("error");
        $(selector + " .controls input:text:visible").filter(filter_hendler).addClass("error");
        if($('.error', wrap).length < 1){
            _OUT +=  '<table border="1"><tbody>';
            $("input:text:visible, select:visible", $(thiselement)).each(function(){
                if(!$(this).hasClass('adress')){
                    var tagName = $(this).get(0).tagName;
                    var parent = $(this).parent()
                    var label = $('label', parent);
            
                    if(label.length > 1){
                        label = label.get(0);
                    }
                    var name = $(label).text();
                    var value = '';

                    if(tagName == 'SELECT'){
                        value = $('option:selected', $(this)).val();
                    }else if(tagName == 'INPUT'){
                        value = $(this).val();
                    }else{
                        value = 'undefined type';
                        console.log('error: Type undefined!');
                    }
                    _OUT +=  '<tr><td><b>'+name + '</b></td><td>' + value + '</td></tr>';
                }
            });
            _OUT +=  '</tbody></table> <br /> <br />';
             
        }
        $(outPane).val(_OUT);
        console.log(_OUT);
    });
    
    if(_OUT != ''){
        
        var form = $('#contact-form-ajax-calc');
        
        $('input[name=more-text]', form).val($('.more-text', selector).val());
        $('input[name=adress]', form).val($('.adress', selector).val());
        
        $('input:checked', selector).each(function(){
            var name = $(this).attr('name');
            var value = $(this).val();
            $('input[name='+name+']', form).val(value);
            console.log(value);
        });
        
        //var more = $('#more-info').html();
        //$('#paste-block').html(more);
        $('#calc-ajax').show();
    }
}

function empty( mixed_var ) {
    return ( mixed_var === "" || mixed_var === null  || mixed_var === false);
}

function filter_hendler(){
    if(!$(this).hasClass('notreq')){
        if(!empty(this.value)){
            if(!$(this).hasClass('nodec')){
                return this.value.match(/[^\d]/);
            }else{
                return false;
            }
        }else{
            return true;
        }
    }
        
}

