$(document).ready(function()
	{
		var link = $("#new_link").attr("href");

		//check all Absent check boxs (attendance/sing)
		$("#check-all-abs").click(function()
		{
			var checked_status = this.checked;
			$("input[@id=abs]").each(function()
			{
				this.checked = checked_status;
			});
		});

		//check all Present check boxs (attendance/sing)
		$("#check-all-pre").click(function()
		{
			var checked_status = this.checked;
			$("input[@id=pre]").each(function()
			{
				this.checked = checked_status;
			});
		});

		//Change link url for bulk new courses creation (course/list)
		$("#new_courses").blur(function()
		{
			var n_link = "";
			if(link.search("/new/")){
				n_link = link;
			} else {
				n_link = link.replace(/new/, "new/");
			}

			$("#new_link").attr({
				href : n_link + this.value
				});
		});

		//Enable enter key to add bulk new courses (course/list)
		$("#new_courses").keypress(function(e)
		{
			if (e.keyCode == 13){
				document.location = link + this.value;
			}
		});

		//Show info (enroll/new)
		$("#course_id").change(function()
		{
			$(".course-info").hide();

			var id = "#info" + this.value;
			$(id).show();
		});

		//Div Link (exec panel)
		$("#course-link").click(function(){
			document.location = PATH + "/course/list/"
		});
		$("#student-link").click(function(){
			document.location = PATH + "/student/list/"
		});
		$("#student-profile").click(function(){
			document.location = PATH + "/student/edit/" + $(this).attr('name');
		});
		$("#instructor-link").click(function(){
			document.location = PATH + "/instructor/list/"
		});
		$("#instructor-profile").click(function(){
			document.location = PATH + "/instructor/edit/" + $(this).attr('name');
		});
		$("#enroll-link").click(function(){
			document.location = PATH + "/enroll/list/"
		});
		$("#enroll-new").click(function(){
			document.location = PATH + "/enroll/new/"
		});
		$("#attendance-link").click(function(){
			document.location = PATH + "/attendance/list/"
		});
		$("#login-link").click(function(){
			document.location = PATH + "/user/login/"
		});
		$("#system-checkup").click(function(){
			document.location = PATH + "/user/checkup/"
		});
		$("#student-courses").click(function(){
			document.location = PATH + "/student/courses/"
		});

		//Back Button
		$("#back-button").click(function(){
			history.go(-1)
		});

		//Check the checkbox when click div (attendance/sing)
		$("div.attendance-title").click(function(e){
			if (e.target.type !== 'checkbox') {
				$(':checkbox', this).trigger('click');
			}
		});
		$("div.attendance").click(function(e){
			if (e.target.type !== 'checkbox') {
				$(':checkbox', this).trigger('click');
			}
		});

		//Show course - DIV Link (course/list)
		$("div.course").click(function(){
			document.location = PATH + "/course/view/" + this.id;
		})

		$("div.student").click(function(){
			document.location = PATH + "/student/view/" + this.id;
		})

		//validation
		/*$("#login_form").validate({
		rules: {
			email: {
				required: true,
				email: true
			},
			password: {
				required: true,
				minlength: 4
			}
		},
		messages: {
			email: "Please enter a valid email address",
			password: {
				required: "Please provide a password",
				minlength: "Your password must be at least 4 characters long"
			}
		}
	});

	$("#new_student_form").validate({
		rules: {
			student_id: {
				required: true
			},
			name: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true
			},
			password: {
				required: true,
				minlength: 4
			},
			password_confirm: {
				required: true,
				minlength: 4,
				equalTo: "#password"
			}
		},
		messages: {
			student_id: "Please enter student ID",
			name: {
				required: "Please enter name",
				minlength: "Your name must be at least 2 characters long"
			},
			email: "Please enter a valid email address",
			password: {
				required: "Please provide a password",
				minlength: "Your password must be at least 4 characters long"
			},
			confirm_password: {
				required: "Please confirm your password",
				minlength: "Your password must be at least 4 characters long",
				equalTo: "Please enter the same password as above"
			}
		}
	});

	$("#edit_student_form").validate({
		rules: {
			student_id: {
				required: true
			},
			name: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true
			},
			password: {
				required: false,
				minlength: 4
			},
			password_confirm: {
				required: false,
				minlength: 4,
				equalTo: "#password"
			}
		},
		messages: {
			student_id: "Please enter student ID",
			name: {
				required: "Please enter name",
				minlength: "Your name must be at least 2 characters long"
			},
			email: "Please enter a valid email address",
			password: {
				minlength: "Your password must be at least 4 characters long"
			},
			confirm_password: {
				minlength: "Your password must be at least 4 characters long",
				equalTo: "Please enter the same password as above"
			}
		}
	});

	$("#new_instructor_form").validate({
		rules: {
			name: {
				required: true,
				minlength: 2
			},
			email: {
				required: true,
				email: true
			},
			password: {
				required: true,
				minlength: 4
			},
			password_confirm: {
				required: true,
				minlength: 4,
				equalTo: "#password"
			}
		},
		messages: {
			name: {
				required: "Please enter name",
				minlength: "Your name must be at least 2 characters long"
			},
			email: "Please enter a valid email address",
			password: {
				required: "Please provide a password",
				minlength: "Your password must be at least 4 characters long"
			},
			confirm_password: {
				required: "Please confirm your password",
				minlength: "Your password must be at least 4 characters long",
				equalTo: "Please enter the same password as above"
			}
		}
	});


	$("#new_enroll_form").validate({
		rules: {
			course_id: {
				required: true
			},
			student_id: {
				required: true
			}
		},
		messages: {
			course_id: "Please select a course",
			student_id: "Please enter student ID"
		}
	});

	$("#new_course_form").validate({
		rules: {
			name: {
				required: true,
				minlength: 2
			},
			location: {
				required: true,
				minlength: 2
			},
			schedule: {
				required: true
			},
			duration_from: {
				required: true
			},
			duration_to: {
				required: true
			},
			total_hours: {
				required: true
			},
			session_hours: {
				required: true
			},
			start_time: {
				required: true
			},
			fee: {
				required: true
			},
			instructor_id: {
				required: true
			},
			instructor_fee: {
				required: true
			},
			building_rent: {
				required: true
			}
		},
		messages: {
			name: {
				required: "Please enter name",
				minlength: "Your name must be at least 2 characters long"
			},
			location: {
				required: "Please enter location",
				minlength: "Your location must be at least 2 characters long"
			},
			schedule: "Please enter student ID",
			duration_from: {
				required: "Please enter course start date"
			},
			duration_to: {
				required: "Please enter course end date"
			},
			total_hours: "Please enter total hour",
			session_hours: "Please enter session hour",
			start_time: "Please enter course start time",
			fee: "Please enter course fee",
			instructor_id: "Please select an instructor",
			instructor_fee: "Please enter instructor fee",
			building_rent: "Please enter building rent"
		}
	});

	$("#to_present_form").validate({
		rules: {
			abs: {
				required: true,
				minlength: 1
			}
		},
		messages: {
			abs: "Please select students"
		}
	});

    $("#upload_form").validate({
        rules: {
            file: {
                required: true,
                accept: "csv"
            }
        },
        messages: {
            file: {
                required: "Please select a file.",
                accept: "Invaild file type! Only accept CSV."
            }
        }
    });

	// check if confirm password is still valid after password changed
	$("#password").blur(function() {
		$("#password_confirm").valid();
	});*/

		// Show/hide Log
		$("#log-trigger").click(function(){
			$(this).html() == '[-]' ? $(this).html('[+]') : $(this).html('[-]');
			$(".log").toggle(400);
			return false;
		});

		//Datepicker
		$('.datepicker').datepicker({
			inline: true,
			dateFormat: 'yy-mm-dd'
		});

		//Rounded Corner
		$(document).ready( function(){
			$('.corner').corners("5px");
		});

		//Schedular
		$("#repeat-daily").click(function(){
			$("#weekly-schedule").hide();
			$("#daily-schedule").show();
		});
		$("#repeat-weekly").click(function(){
			$("#weekly-schedule").show();
			$("#daily-schedule").hide();
		});
		$("#repeat-week-days").click(function(){
			$("#weekly-schedule").hide();
			$("#daily-schedule").hide();
		});
		$("#repeat-week-end").click(function(){
			$("#weekly-schedule").hide();
			$("#daily-schedule").hide();
		});

		//Start-Time Tab Panel
		$(".tab").click(function(){
			if(!$(this).hasClass("disabled")) {
				$(".tab").removeClass("selected");
				$(this).addClass("selected");

				$(".panel").hide();
				panel = "#panel-" + this.id;
				$(panel).show();
			}
		});
		$("#repeat-week-end").click(function(){
			$(".tab").removeClass("disabled");
			$("#tab-mon").addClass("disabled");
			$("#tab-tue").addClass("disabled");
			$("#tab-wed").addClass("disabled");
			$("#tab-thu").addClass("disabled");
			$("#tab-fri").addClass("disabled");
		});
		$("#repeat-week-days").click(function(){
			$(".tab").removeClass("disabled");
			$("#tab-sun").addClass("disabled");
			$("#tab-sat").addClass("disabled");
		});
		$("#repeat-daily").click(function(){
			$(".tab").removeClass("disabled");
		});

		$(".tab").addClass("disabled");
		$("#tab-all").removeClass("disabled");
		$("#repeat-weekly").click(function(){
			$(".tab").addClass("disabled");
			$("#tab-all").removeClass("disabled");
			check_weekly_day();
		});

		$(".weekly-day").click(function(){
			check_weekly_day();
		});

		//Weekly Day Check?
		function check_weekly_day() {
			if($('#sun').is(':checked')) $("#tab-sun").removeClass("disabled");
			else $("#tab-sun").addClass("disabled");
			if($('#mon').is(':checked')) $("#tab-mon").removeClass("disabled");
			else $("#tab-mon").addClass("disabled");
			if($('#tue').is(':checked')) $("#tab-tue").removeClass("disabled");
			else $("#tab-tue").addClass("disabled");
			if($('#wed').is(':checked')) $("#tab-wed").removeClass("disabled");
			else $("#tab-wed").addClass("disabled");
			if($('#thu').is(':checked')) $("#tab-thu").removeClass("disabled");
			else $("#tab-thu").addClass("disabled");
			if($('#fri').is(':checked')) $("#tab-fri").removeClass("disabled");
			else $("#tab-fri").addClass("disabled");
			if($('#sat').is(':checked')) $("#tab-sat").removeClass("disabled");
			else $("#tab-sat").addClass("disabled");
		}

		//Instructor list - model box (New Instructor)
		$(".pop-up-container").height($(document).height());

		$("#add-instructor-trigger").click(function(){
			$(".pop-up-container").fadeIn(500);
			$(".list-box").fadeIn(500);
		});
		$("#list-box-done").click(function(){
			$(".list-box").fadeOut(500);
			$(".pop-up-container").fadeOut(500);
		});

		$('.ins_check').click(function(){
			if($(this).is(':checked')) {
				$('#ins_fee_' + $(this).val()).removeAttr('disabled');
				$('#ins_fee_' + $(this).val()).focus();
				$('#ins_row_' + $(this).val()).css('background', '#FFFFDD');

				$("#instructor-panel").append(
					"<tr id='" + "instructor_" + $(this).val() + "'><td width='20'><img src='"+PATH+"/images/check.jpg' width='24' /></td>" + $('#ins_row_' + $(this).val()).html() + "</tr>"
				);

				$('#instructor-panel .checkbox').hide();
				$('#instructor-panel input[type=checkbox]').attr('checked', 'checked');

			} else {
				$("#instructor_" + $(this).val()).remove();

				$('#ins_fee_' + $(this).val()).attr('disabled', 'disabled');
				$('#ins_fee_' + $(this).val()).val('');
				$('#ins_row_' + $(this).val()).css('background', 'none');
			}

			$(".pop-up-container").height($(document).height());
		});

		$('.ins_fee').keyup(function(e){
			fee = $(this).val();
			$("form #" + this.id).val(fee);
		});
	});

function switch_course(value, path, q) {
	if(q)
		document.location = path + value + q;
	else
		document.location = path + value;
}
