$.app = {
  
  init: function(){
    
    if($(".cycle").length){
      $(".cycle").find(".cycle_inner").cycle({
        next: "#cycle_next",
        prev: "#cycle_prev"
      });
    }
    
    if($("#estimate_contract_months").length){
      $("#estimate_contract_months").customStyle();
    }
    
    if($("#estimate").length){
      
      $("#estimate_you_type_particular").click(function(e){
        e.preventDefault();
        if(!$(this).hasClass("a_active")){
          $(this).addClass("a_active");
          $("#estimate_you_type_firm").removeClass("a_active");
          $("#estimate_you_type").val("particulier");
          
          $("#estimate_company").rules("remove", "required");
          $("label[for='estimate_company']").children(".star").remove();
          $("#estimate_function").rules("remove", "required");
          $("label[for='estimate_function']").children(".star").remove();
          $("#estimate_vat").rules("remove", "required");
          $("#estimate_email").rules("remove","required");
          $("label[for='estimate_email']").children(".star").remove();
          $("label[for='estimate_vat']").children(".star").remove();
        }
      });
      
      $("#estimate_you_type_firm").click(function(e){
        e.preventDefault();
        if(!$(this).hasClass("a_active")){
          $(this).addClass("a_active");
          $("#estimate_you_type_particular").removeClass("a_active");
          $("#estimate_you_type").val("firma");
          
          var star_html = "<span class=\"star\">*</span>";
          $("#estimate_company").rules("add", "required");
          $("label[for='estimate_company']").append(star_html);
          $("#estimate_function").rules("add", "required");
          $("label[for='estimate_function']").append(star_html);
          $("#estimate_vat").rules("add", "required");
          $("#estimate_email").rules("add","required");
          $("label[for='estimate_email']").append(star_html);
          $("label[for='estimate_vat']").append(star_html);
        }
      });
      
      
      $("#estimate_has_estimate_yes").click(function(e){
        e.preventDefault();
        if(!$(this).hasClass("a_active")){
          $(this).addClass("a_active");
          $("#estimate_has_estimate_no").removeClass("a_active");
          $("#estimate_has_estimate").val("1");
        }
      });
      
      $("#estimate_has_estimate_no").click(function(e){
        e.preventDefault();
        if(!$(this).hasClass("a_active")){
          $(this).addClass("a_active");
          $("#estimate_has_estimate_yes").removeClass("a_active");
          $("#estimate_has_estimate").val("0");
        }
      });
      var rules = {
        'estimate[name]': {
          required: true
        },
        'estimate[first_name]': {
          required: true
        },
        'estimate[phone]': {
          required: true
        },
        'estimate[email]': {
          required: true,
          email: true
        },
        'estimate[car_brand]': {
          required: true
        },
        'estimate[car_model]': {
          required: true
        },
        'estimate[car_fuel_type]': {
          required: true
        },
        'estimate[contract_km]': {
          required: true
        }
      };
      
      $("#estimate").validate({
        rules: rules,
        errorPlacement: function(error, element) {
          //element.parent().addClass("field_error");
          //error.appendTo( element.parent() );
        },
        invalidHandler: function(form, validator) {
          // deselect all textboxes
          $(":input, textarea").blur();
        },          
        submitHandler: function(form) {
          $(this).find(".button").attr("readonly",true);
          jQuery(form).ajaxSubmit({
            dataType:  'json',
            data:{
              json: true
            },
            success: function(r,s,xhr,e){
              if(r.success){
                $("#estimate .actions").fadeOut('fast');
                $("#estimate").find(".body").slideUp('fast',function(){
                  $("#estimate").find(".success").fadeIn('fast');
                });
              }else{   
                
              }
            }
          });
        }

      });
    }
    
    $("#estimate_email").rules("remove","required");
    
    $("a[rel='t_blank']").attr("target","_blank");
  }
  
};


$(document).ready(function(){
  $.app.init();
});
