$(function(){

var ajax_url = "http://www.wenell.se/wp-admin/admin-ajax.php";

/******************************************************************
 * Course / Event list filter
 */

$("#course-city, #course-name").change(function() {
    $("#course-filter").submit();
});

$("#event-city, #event-name").change(function() {
    $("#event-filter").submit();
});

/******************************************************************
 * Course register ajax
 */

$('#course_name').change(function(){
    var $courseId = $('#course_name').val();
    $('#course-information').hide();
    if($courseId != ""){
        $(".field-course-form, #course-information").hide();
        $("#occasions").empty();
        $(".loading-step2").show();
        $(".field-course-occasion").hide();
        $.ajax({
                url:ajax_url,
                type:'POST',
                cache: false,
                data:'action=course_occasion_action&course_id=' + $courseId,
                success:function(results)
                {
                    $(".field-course-occasion").fadeIn(300);
                    $("#occasions").append(results).hide().fadeIn(300);
                },
                complete: function(){$(".loading-step2").hide();}
            });
   }
   else{$(".field-course-occasion, .field-course-form").hide();}
});

$('#occasions').change(function(){
    var $occasionId = $('#occasions').val();
    $(".field-course-form, #course-information").hide();
    if($occasionId != ""){
        $(".course_title,.course_price,.occasion_city,.occasion_place,.course_date,.course_time,#short_name").empty();     
        $("input#course_title,input#course_price,input#occasion_city,input#occasion_place,input#occasion_date,input#occasion_time,input#post_type").empty();
        $(".loading-step3").show();
            $.ajax({
                type: "POST",
                url:ajax_url,
                data:'action=course_info_action&occasion_id=' + $occasionId,
                dataType: "json",
                cache: false,                
                success:function(results)
                {
                    $(".field-course-form").fadeIn(300);
                    $("#course-information").hide().fadeIn(300);
                    $(".course_title").append(results.title);
                    $("#course_title").val(results.title);
                    $(".course_price").append(results.price);
                    $("#course_price").val(results.price);
                    $(".occasion_city").append(results.city);
                    $("#occasion_city").val(results.city);
                    $(".occasion_place").append(results.place);
                    $("#occasion_place").val(results.place);               
                    $(".course_date").append(results.start_date + " till " + results.end_date);
                    $("#occasion_date").val(results.start_date + " till " + results.end_date);
                    $(".course_time").append(results.time);
                    $("#occasion_time").val(results.time);
                    $("#post_type").val(results.type);
                    $("#short_name").append(results.short_name + ": ");
                },
                complete: function(){$(".loading-step3").hide();}
            });
    }else{$(".field-course-form").hide();}
});


/******************************************************************
 * Send mail and add to database (course/event/newsletter)
 */
if(jQuery.isFunction(jQuery.fn.validation) ){
    
     
    if($("#send-register").length != 0) {
        //Course/Event
        var register_form = $("#send-register");
        register_form.validation();  
        

        register_form.submit(function(e){ 

        if ( ($('#participants').val() > 1) && (  $('#other').val() == 0) ) {
        	alert('Du måste skriva in deltagarnas namn och e-postadresser.');
        	return false;
        }

            if(register_form.validate()) 
            {
                $(".loading-step4, #loading-wrapper").show();
                
                dataString = register_form.serialize();
                $.ajax({
                   type: "POST",
                   url:ajax_url,
                   data: dataString,
                   dataType: "json",
                   cache: false,
                   success: function(results){
                        if(results.error != undefined){
                            $("#success").append(results.error);
                        }
                        else{
                            $("#success").append(results.message).hide().fadeIn(300);
                        }
                   },
                   complete: function(){
                            $(".loading-step4, #loading-wrapper, #course-information").hide();
                            $(".field-course-form, .field-course-occasion, .field-course").hide();
                   	}             
                });
            }
           e.preventDefault();
        });
    }
    //Newsletter subscribe
    if($("#newsletter-subscription").length != 0) {
        var newsletter_form = $("#newsletter-subscription");
        newsletter_form.validation();
        newsletter_form.submit(function(e){ 

            if(newsletter_form.validate()) 
            {
                $("#newsletter-message").empty();
                $(".ajax-loader").show();
                dataString = newsletter_form.serialize(); 
                $.ajax({
                   type: "POST",
                   url:ajax_url,
                   data: dataString,
                   dataType: "json",
                   cache: false,
                   success: function(results){
                        if(results.error != undefined){
                            $("#newsletter-message").append(results.error);
                        }
                        else{
                            $("#newsletter-message").append(results.message).hide().fadeIn(300);
                        }
                   },
                   complete: function(){
                       $(".ajax-loader").hide();
                   }             
                });                
            }  
            e.preventDefault();

        });
    }
    
    //Newsletter unsubscribe
    if($("#newsletter-unsubscribe").length != 0) {
        var newsletter_unsubscribe_form = $("#newsletter-unsubscribe");
        newsletter_unsubscribe_form.validation();

        newsletter_unsubscribe_form.submit(function(e){ 

            if(newsletter_unsubscribe_form.validate()) 
            {
                var $email = $('#email').val();
                $("#message").empty();
                
                $("#loading").show();
                $.ajax({
                   type: "POST",
                   url:ajax_url,
                   data:'action=newsletter_unsubscribe_action&email=' + $email,
                   cache: false,
                   success: function(results){
                        if(results != undefined){
                            $("#message").append(results);
                        }
                        else{
                            $("#message").append(results);
                        }
                   },
                   complete: function(){$("#loading").hide();}             
                });                
            }  
            e.preventDefault();

        });
    }    
   
    
} 
});
