// JavaScript Document
$(document).ready(function() {

/*
 * Student Change Class
 */

    $(".frmChangeClass").bind('click',function() {
       $("#frmChangeClass").submit();
    });
    $("#frmChangeClass").validate({
        
            submitHandler: function(form) {

                  var frmData = $("#frmChangeClass").serialize();

                  $.ajax({
                       type: "POST",
                       url: siteUrl+"system_process/get_current_class/",
                       data: frmData,
                       dataType: 'json',
                       error: function() {
                         jAlert('Unable to process request');
                       },
                       success: function(data){
                           
                           if(data.error!='') {
                               jAlert(data.error);
                           } else {
                               
                               jConfirm(data.msg, null, function(result){

                                   if(result) {
                                        
                                        $.ajax({
                                               type: "POST",
                                               url: siteUrl+"system_process/change_class/",
                                               data: frmData,
                                               dataType: 'json',
                                               error: function() {
                                                 jAlert('Unable to process request');
                                               },
                                               success: function(data){

                                                   /*if(data.error!='') {
                                                       jAlert(data.error);
                                                   } else {
                                                       jAlert(data.msg);
                                                   }*/
                                                   window.location.href = siteUrl+'system_process/student_change_class/';
                                                   //location.reload();
                                               },
                                               beforeSend: function (msg) {
                                                   $('.ajaxChnageClass').show();
                                               },
                                               complete: function (msg) {
                                                   $('.ajaxChnageClass').hide();
                                               }
                                        })
                                   }
                               });
                           }
                           
                           return false;
                       },
                       beforeSend: function (msg) {
                           $('.ajaxChnageClass').show();
                       },
                       complete: function (msg) {
                           $('.ajaxChnageClass').hide();
                       }
                    });
            },
            rules: {
                    'data[Student][key]': {
                            required: true
                    },
                     'data[Student][username]': {
                            required: true
                    }
            },
            messages: {
                    'data[Student][key]': {
                            required: "Security key required"
                    },
                     'data[Student][username]': {
                            required: 'Username or Email id required'
                    }
            }
    });

/*
 * Feedback from post
 */
    $(".frmFeedback").bind('click',function() {
       $("#frmFeedback").submit();
    });
    $("#frmFeedback").validate({
            rules: {
                    'data[Enquiry][name]': {
                            required: true
                    },
                     'data[Enquiry][email]': {
                            required: true,
                            email: true
                    },
                     'data[Enquiry][phone_number]': {
                            required: true
                    },
                     'data[Enquiry][nature]': {
                            required: true
                    },
                     'data[Enquiry][message]': {
                            required: true
                    }
            },
            messages: {
                    'data[Enquiry][name]': {
                            required: "Name required"
                    },
                     'data[Enquiry][email]': {
                            required: 'Email required',
                            email: 'Invalid email address'
                    },
                     'data[Enquiry][phone_number]': {
                            required: 'Contact number required'
                    },
                     'data[Enquiry][nature]': {
                            required: 'Nature of Feedback required'
                    },
                     'data[Enquiry][message]': {
                            required: 'Feedback required'
                    }
            }
    });

/*
 * Ask Question
 */
    $(".frmParentInfo").bind('click',function() {
       $("#frmParentInfo").submit();
    });
    $("#frmParentInfo").validate({
            rules: {
                    'data[ParentDetail][parent_name]': {
                            required: true
                    },
                     'data[ParentDetail][parent_email_address]': {
                            required: true,
                            email: true
                    },
                     'data[ParentDetail][child_name]': {
                            required: true
                    },
                     'data[ParentDetail][class_id]': {
                            required: true
                    },
                     'data[ParentDetail][child_email_address]': {
                            required: true,
                            email: true
                    },
                    'data[ParentDetail][password]': "required",
                     'data[ParentDetail][address]': {
                            required: true
                    },
                     'data[ParentDetail][relationship]': {
                            required: true
                    }
            },
            messages: {
                    'data[ParentDetail][parent_name]': {
                            required: "Parent name can not be empty"
                    },
                     'data[ParentDetail][parent_email_address]': {
                            required: 'Parent email address can not be empty',
                            email: 'Invalid email address'
                    },
                     'data[ParentDetail][child_name]': {
                            required: 'Child name can not be emptyc'
                    },
                     'data[ParentDetail][class_id]': {
                            required: 'Child class can not be empty'
                    },
                     'data[ParentDetail][child_email_address]': {
                            required: 'Child email address can not be empty',
                            email: 'Invalid email address'
                    },
                    'data[ParentDetail][password]': "Child password is required",
                     'data[ParentDetail][address]': {
                            required: 'Address can not be empty'
                    },
                     'data[ParentDetail][relationship]': {
                            required: 'Relation can not be empty'
                    }
            }
    });

/*
 * Ask Question
 */
    $(".frmAskQuestion").bind('click',function() {
       $("#frmAskQuestion").submit();
    });
    $("#frmAskQuestion").validate({
            rules: {
                    'data[Topic][subject_id]': {
                            required: true
                    },
                     'data[Topic][chapter_id]': {
                            required: true
                    },
                     'data[Topic][topic_id]': {
                            required: true
                    },
                     'data[Expertquestion][question]': {
                            required: true
                    }
            },
            messages: {
                    'data[Topic][subject_id]': {
                            required: "Please select subject"
                    },
                     'data[Topic][chapter_id]': {
                            required: 'Please select chapter'
                    },
                     'data[Topic][topic_id]': {
                            required: 'Please select topic'
                    },
                     'data[Expertquestion][question]': {
                            required: 'Please enter your question'
                    }
            }
    });
// Add Notes

    $(".addUserNotes").bind('click',function() {
        var value = $("#UserNotesText").val();
        if(value=='' || value.length==0) {
            $(".NotesSaveStatus").html("<span class='ColorRed'>Field Required</span>");
        } else {
            $(".NotesSaveStatus").html('');
            $("#addUserNotes").submit();
        }
    });

    $("#addUserNotes").validate({
        
            submitHandler: function(form) {
                  
                  var frmData = $("#addUserNotes").serialize();

                  $.ajax({
                       type: "POST",
                       url: siteUrl+"ajax/add_notes/",
                       data: frmData,
                       dataType: 'html',
                       error: function() {
                         jAlert('Unable to process request');
                       },
                       success: function(data){
                            $(".NotesSaveStatus").html(data);
                            $("#UserNotesText").attr('value', '');
                       },
                       beforeSend: function (msg) {
                           $('.ajaxSaveNotes').show();
                       },
                       complete: function (msg) {
                           $('.ajaxSaveNotes').hide();
                       }
                    });
             }
    });


// Post Question

    $(".addPostQuestion").bind('click',function() {
       
       var value = $("#PostQuestionText").val();
        if(value=='' || value.length==0) {
            $(".PostQuestionStatus").html("<span class='ColorRed'>Field Required</span>");
        } else {
            $(".PostQuestionStatus").html('');
            $("#addPostQuestion").submit();
        }
    });

    $("#addPostQuestion").validate({

            submitHandler: function(form) {

                  var frmData = $("#addPostQuestion").serialize();

                  $.ajax({
                       type: "POST",
                       url: siteUrl+"ajax/post_questions/",
                       data: frmData,
                       dataType: 'json',
                       error: function() {
                         jAlert('Unable to process request');
                       },
                       success: function(json){
                            $(".PostQuestionStatus").html(json.message);
                            $("#remainingQuestion").html(json.remaining);
                            $("#PostQuestionText").attr('value', '');
                       },
                       beforeSend: function (msg) {
                           $('.ajaxPostQuestion').show();
                       },
                       complete: function (msg) {
                           $('.ajaxPostQuestion').hide();
                       }
                    });
             }
    });


// Post Comment

    $(".postComment").bind('click',function() {

       var value = $("#CommentText").val();
        if(value=='' || value.length==0) {
            $(".CommentStatus").html("<span class='ColorRed'>Field Required</span>");
        } else {
            $(".CommentStatus").html('');
            $("#postComment").submit();
        }
    });

    $("#postComment").validate({

            submitHandler: function(form) {

                  var frmData = $("#postComment").serialize();

                  $.ajax({
                       type: "POST",
                       url: siteUrl+"ajax/post_comment/",
                       data: frmData,
                       dataType: 'html',
                       error: function() {
                         jAlert('Unable to process request');
                       },
                       success: function(data){
                            $(".CommentStatus").html(data);
                            $("#CommentText").attr('value', '');
                       },
                       beforeSend: function (msg) {
                           $('.ajaxComment').show();
                       },
                       complete: function (msg) {
                           $('.ajaxComment').hide();
                       }
                    });
             }
    });

    
// Send Footer Enquiry Message

    $(".submitFooterEnquiry").bind('click',function() {
       $("#footerEnquiry").submit();
    });

    $("#footerEnquiry").validate({
            submitHandler: function(form) {
               // some other code
               // maybe disabling submit button
               // then:
                  var frmData = $("#footerEnquiry").serialize();
                  //alert(frmData);
                 // return false;
                  $.ajax({
                   type: "POST",
                   url: siteUrl+"t/ajaxSaveEnquiry/",
                   data: frmData,
                   dataType: 'json',
                   error: function(a,b,c) {
                     jAlert('Unable to process request. - ' + b);
                   },
                   success: function(msg){
//                       alert(msg);
//                       return false;
                       if(msg.type == 'err' && msg.element =='captcha') {
                           $('.footerCaptch').addClass('er-message');
                       } else {
                            $('.footerCaptch').removeClass('er-message');
                            $('.footerEnquirySuccess').css('display', 'block');
                            $('#footerEnquiry').clearForm();
                            $('#captcha').attr('src', siteUrl + 't/enquiry_secureimage/' + Math.random);
                       }

                   },
                   beforeSend: function (msg) {
                       $('.footerEnquirySuccess').css('display', 'none');
                       $('.strip_loader').css('display','block');
                      // $('.submitFooterEnquiry').css('display','none');
                   },
                   complete: function (msg) {
                       $('.strip_loader').css('display','none');
                      // $('.submitFooterEnquiry').css('display','block');
                   }
                 });
             },

            rules: {
                    'data[Feedback][email]': {
                            required: true,
                            email: true
                    },
                     'data[Feedback][name]': {
                            required: true
                    },
                     'data[Feedback][message]': {
                            required: true
                    },
                     'data[Feedback][captcha]': {
                            required: true
                    }
            },
            messages: {
                    'data[Feedback][email]': {
                            required: "Please enter a email address",
                            email: "Invalid email address"
                    },
                     'data[Feedback][name]': {
                            required: 'Required'
                    },
                     'data[Feedback][message]': {
                            required: 'Required'
                    },
                     'data[Feedback][captcha]': {
                            required: 'Required'
                    }
            }
    });

// Old exmaple function. we can delete all below functions
    $("#submitform").validate({
            rules: {
                    'data[User][first_name]': "required",
                    'data[User][last_name]': "required",
                    'data[User][email]': {
                            required: true,
                            email: true
                    },
                    'data[User][password1]': {
                            required: true,
                            minlength: 5
                    },
                    'data[User][password2]': {
                            required: true,
                            minlength: 5,
                            equalTo: "#password1"
                    },
                    'data[User][phone]': "required",
                    'data[User][captcha_code]': "required"
            },
            messages: {
                    'data[User][full_name]' : "Please enter your first name",
                    'data[User][full_name]' : "Please enter your last name",
                    'data[User][email]': {
                            required: "Please enter a email address",
                            email: "Invalid email address"
                    },
                    'data[User][password1]': {
                            required: "Please provide a password",
                            minlength: "Your password must be at least 5 characters long"
                    },
                    'data[User][password2]': {
                            required: "Please provide a password",
                            minlength: "Your password must be at least 5 characters long",
                            equalTo: "Please enter the same password as above"
                    },
                    'data[User][phone]': "Please enter mobile number",
                    'data[User][captcha_code]': "Security code cannot be blank."
            }
    });
	
});