/* Global JavaScript File for working with JQuery library */

// execute when the HTML file's (document object model: DOM) has loaded
$(document).ready(function() {

    $("#guardian_verification_email").blur(validateGuardianEmail);
     $("#guardian_verifications").submit(function(){
                if(validateGuardianEmail())
                                  return true
                                else
                                  return false;
        });
    var guardian_verification_email = $("#guardian_verification_email");
    
    function validateGuardianEmail(){
       var guardian_email = $("#guardian_verification_email").val();
       if(guardian_email == ''){
            guardian_verification_email.addClass('my_input_error');
            return false;
       }else{
           guardian_verification_email.removeClass('my_input_error');
           return true;
       }
    }

    $("#recover_pass_email").blur(validateRecoverPassword);

    $("#recover_password_form").submit(function(){
            if(validateRecoverPassword())
                              return true
                            else
                              return false;
    });

    function validateRecoverPassword(){
		var login_pass = $("#recover_pass_email").val();
                var recv_pass_info = $("#recv_pass_info");
		if(login_pass != ''){
			recv_pass_info.removeClass("my_error");
                        recv_pass_info.fadeOut("slow");
			return true;
		}
		//if it's NOT valid
		else{
                        recv_pass_info.fadeIn('slow');
			recv_pass_info.text("Please enter e-mail");
			recv_pass_info.addClass("my_error");
			return false;
		}

    }


    $("#login_email").blur(validateLoginEmail);
    $("#login_pass").blur(validateLoginPass);
    
    $("#login_form").submit(function(){
		if(validateLoginEmail() & validateLoginPass())
			return true
		else
			return false;
	});


	function validateLoginEmail(){
		var loginEmail = $("#login_email").val();
                var login_email_info = $("#login_email_info");
		//var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		//if(filter.test(loginEmail)){
                if(loginEmail !=''){
			//loginEmail.removeClass("error");
                        //login_email_info.text("");
                        login_email_info.fadeOut("slow");
			login_email_info.removeClass("my_error");
			return true;
		}
		//if it's NOT valid
		else{
			//loginEmail.addClass("error");
                        login_email_info.fadeIn('slow');
			login_email_info.text("Please enter  e-mail ");
			login_email_info.addClass("my_error");
			return false;
		}
	}

        function validateLoginPass(){
		var login_pass = $("#login_pass").val();
                var login_pass_info = $("#login_pass_info");
		if(login_pass != ''){
			login_pass_info.removeClass("my_error");
                        login_pass_info.fadeOut("slow");
                        //login_pass_info.text("");
			//login_pass_info.removeClass("error");
			return true;
		}
		//if it's NOT valid
		else{
			//login_pass.addClass("error");
                        login_pass_info.fadeIn('slow');
			login_pass_info.text("Please enter password");
			login_pass_info.addClass("my_error");
			return false;
		}

        }

    var singUpform = $("#new_user");
    
    var user_name = $("#user_name");
    var user_name_info = $("#user_name_info");

    var user_email = $("#user_email");
    var user_email_info = $("#user_email_info");

    var user_pass = $("#user_pass");
    var user_pass_info = $("#user_pass_info");
    var user_confrm_pass = $("#user_confrm_pass");
    var user_confrm_pass_info = $("#user_confrm_pass_info");

    var user_country = $("#user_country");
    var user_country_info = $("#user_country_info");

    var user_dob_year = $("#user_dob_year");
    var user_dob_month = $("#user_dob_month");
    var user_dob_day = $("#user_dob_day");
    
    var user_dob_info = $("#user_dob_info");


    var user_term_n_con = $("#user_term_n_con");
    var user_term_n_con_nfo = $("#user_term_n_con_nfo");



    user_name.blur(validateSignupUserName);
    user_email.blur(validateSignupUserEmail);
    user_pass.blur(validateSignupUserPass);
    user_confrm_pass.blur(validateSignupUserConfPass);
    user_country.change(validateSignupUserCountry);
    
    user_dob_year.change(validateSignupUserDOB);
    user_dob_month.change(validateSignupUserDOB);
    user_dob_day.change(validateSignupUserDOB);

    user_term_n_con.change(validateSignupUserTermsCon);

     singUpform.submit(function(){
     if(validateSignupUserName() &  validateSignupUserEmail() & validateSignupUserPass() & validateSignupUserConfPass() & validateSignupUserCountry() & validateSignupUserDOB() & validateSignupUserTermsCon())
            return true;
        else
         return false;

    });

    function validateSignupUserName(){
		if(user_name.val() == ''){
			//name.addClass("error");
                        user_name_info.fadeIn('slow');
			user_name_info.text("Please enter name");
			user_name_info.addClass("my_error");
			return false;
		}
		//if it's valid
		else{
			//name.removeClass("error");
			//nameInfo.text("What's your name?");
                        user_name_info.fadeOut('slow');
                        //user_name_info.text("");
			user_name_info.removeClass("my_error");
			return true;
		}
        
    }

function validateSignupUserEmail(){
		var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
		if(filter.test(user_email.val())){
			//email.removeClass("error");
                        //user_email_info.text("");
                        user_email_info.fadeOut("slow");
			user_email_info.removeClass("my_error");
			return true;
		}
		//if it's NOT valid
		else{
			//email.addClass("error");
                        user_email_info.fadeIn('slow');
			user_email_info.text("Please enter a valid e-mail ");
			user_email_info.addClass("my_error");
			return false;
		}

}

    function validateSignupUserPass(){
		//it's NOT valid
		if(user_pass.val().length <6){
			//user_pass.addClass("error");
                        user_pass_info.fadeIn('slow');
			user_pass_info.text("At least 6 characters");
			user_pass_info.addClass("my_error");
			return false;
		}
		//it's valid
		else{
			//user_pass.removeClass("error");
			//user_pass_info.text("At least 5 characters: letters, numbers and '_'");
			user_pass_info.removeClass("my_error");
                        user_pass_info.fadeOut('slow');
			validateSignupUserConfPass();
			return true;
		}
	}
	function validateSignupUserConfPass(){
		//are NOT valid
		if( user_pass.val() != user_confrm_pass.val() ){
			//user_confrm_pass.addClass("error");
                        user_confrm_pass_info.fadeIn('slow');
			user_confrm_pass_info.text("Passwords doesn't match!");
			user_confrm_pass_info.addClass("my_error");
			return false;
		}
		//are valid
		else{
			//user_confrm_pass.removeClass("error");
			//user_confrm_pass_info.text("Confirm password");
			user_confrm_pass_info.removeClass("my_error");
                        user_confrm_pass_info.fadeOut('slow');
			return true;
		}
	}

function validateSignupUserCountry(){
		if(user_country.val() == ''){
			//drop_down.addClass("error");
                        user_country_info.fadeIn('slow');
			user_country_info.text("Please select country");
			user_country_info.addClass("my_error");
			return false;
		}else{
			//drop_down.removeClass("error");
                        user_country_info.fadeOut('slow');
			//user_country_info.text("");
			user_country_info.removeClass("my_error");
			return true;

		}
    
}

function validateSignupUserDOB(){
    if(user_dob_year.val() == '' || user_dob_month.val() == '' || user_dob_day.val() == ''){
        user_dob_info.fadeIn('slow');
	user_dob_info.text("Please date of birth");
        user_dob_info.addClass("my_error");
        return false;
    }else{
       user_dob_info.fadeOut('slow');
       user_dob_info.removeClass("my_error");
       return true;
    }
}

function validateSignupUserTermsCon(){
    if(user_term_n_con.is(':checked')){
        user_term_n_con_nfo.fadeOut('slow');
        user_term_n_con_nfo.removeClass("my_error");
        return true;
    }else{
        user_term_n_con_nfo.fadeIn('slow');
	user_term_n_con_nfo.text("Please select terms");
        user_term_n_con_nfo.addClass("my_error");
        return false;
    }
}

  
    

        /* email VALIDATION during signup */
	// bind our function to the element's onBlur event
	$('#new_user').find('#user_email').blur(function() {
															
		// get the value from the email field
		var user_email_val = $('#user_email').val();
		
		// Ajax request sent to the  controller "ajax" method "ajax_email_check"
		// post the email field's value
                $.post('signup/ajax_email_check',
			{ 'user_email':user_email_val },

			// when the Web server responds to the request
			function(result) {
				// clear any message that may have already been written
				$('#bad_user_email').replaceWith('');
				
				// if the result is TRUE write a message to the page
				if (result) {
					$('#user_email_info').after('<div id="bad_user_email" style="color:red;">' +
					  '<p>(Email has already been taken.)</p></div>');
				}
			}
		);
	});

        /* blog permalink VALIDATION during signup */
	// bind our function to the element's onBlur event
	$('#create_blog_form').find('#blog_permalink').blur(function() {

              var edit_id;
              var ajax_method;
               var blog_state = $('#blog_state').val();
		var blog_plink_val = $('#blog_permalink').val();
                if(blog_state == 'new'){
                    ajax_method = 'ajax_parmalink_check';
                }else{
                   ajax_method = 'ajax_parmalink_check_edit';
                   edit_id = $('#hidden_blog_auto_id').val();
                }
                        $.post('blog_create/'+ajax_method,
			{ 'blog_permalink':blog_plink_val, 'edit_id':edit_id},

			function(result) {
				$('#bad_blog_plink').replaceWith('');

				if (result) {
					$('#blog_premalink_info').after('<div id="bad_blog_plink" style="color:red;">' +
					  '<p>(Permalink already in use.)</p></div>');
				}
			}
		);
	});
$('#show_commt_pag_div').show();
        $('#ajax-pag > li a').live('click', function(eve){
		eve.preventDefault();
		
		var link = $(this).attr('href');
		
		$.ajax({
			url: link,
			type: "GET",
			dataType: "html",
			beforeSend: function(){
				//showBusy();
			},	
		  	success: function(html) {
		    	updatePage(html);
		 	}
		});
		

	});	

function updatePage(html){
	window.setTimeout( function(){
		$('#my_ajax_update').html(html);
	}, 1000)
}

});

