$(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()
	{
		$(".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/"
	})
	$("#instructor-link").click(function(){
		document.location = PATH + "/instructor/list/"
	})
	$("#enroll-link").click(function(){
		document.location = PATH + "/enroll/list/"
	})
	$("#attendance-link").click(function(){
		document.location = PATH + "/attendance/list/"
	})

	//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;
	})

	//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;
	});
});

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