function check_upload_form (form) {

	if(trim_str(form.title.value) == ""){
			alert("Please write a title");
			return false;
	} else {
		if(form.title.value.length > 100){
			alert("Max length for title is 100 character");
			return false;
		}
		if(form.title.value.length < 4){
			alert("Min length for title is 4 character");
			return false;
		}
	}
	if(trim_str(form.tag.value) != ""){
		if(form.tag.value.length > 512){
			alert("Max length for tag is 512 character");
		}
	}
	if(trim_str(form.description.value) != ""){
		if(form.tag.value.length > 4096){
			alert("Max length for description is 4096 character");
		}
	}
	if(trim_str(form.content.value) == ""){
			alert("Please select a file for upload.");
			return false;
	}
	form.submit_button.value = "Uploading...";
	form.submit_button.disabled = true;
	document.getElementById('uploading').style.display = 'block';

	return(true);

}

function check_forgot_password_form (form){
	if(trim_str(form.email.value) == "") {
		alert("Please write your e-mail address.");		
		return false;
	} 
	if(!validate_email(form.email.value)) {
		alert("Please write an correct email address.");
		return false;
	}
	form.forgot_password_button.disabled = true;
	return(true);
}

function check_login_form (form) {
	if(trim_str(form.email.value) == ""){
			alert("Please write your e-mail address.");		
			return false;
	}
	if(!validate_email(form.email.value)){
		alert("Please write an correct email address.");
		return false;
	}
	if(trim_str(form.password.value) == "" ) {
			alert("Please write a password");
			return false;
	}
	return(true);
}

function check_pwchange_form (form){

	if(trim_str(form.email.value) == ""){
			alert("Please write an e-mail address.");		
			return false;
	}
	if(!validate_email(form.email.value)){
		alert("Please write an correct email address.");
		return false;
	}	

	if(form.password.value.length < 4) {
		alert("Min length for password is 4 character");
		return false;	
	}
	if(trim_str(form.password.value) == "" ) {
			alert("Please write a password");
			return false;
	} else {
		if (trim_str(form.password.value) != trim_str(form.verify_password.value)) {
			alert("Password and verify password field not equal.");
			return false;
		}
	}

	if(trim_str(form.verify_password.value) == "" ) {
			alert("Please verify your password");
			return false;
	} else {
		if (trim_str(form.password.value) != trim_str(form.verify_password.value)) {
			alert("Password and verify password field not equal.");
			return false;
		}
	}

	form.submit_button.disabled = true;

	return(true);

}

function check_register_form (form){

	if(trim_str(form.email.value) == ""){
			alert("Please write an e-mail address.");		
			return false;
	}
	if(!validate_email(form.email.value)){
		alert("Please write an correct email address.");
		return false;
	}	

	if(trim_str(form.name.value) == ""){
			alert("Please write a name");
			return false;
	} else {
		if(form.name.value.length > 127){
			alert("Max length for name is 127 character");
			return false;
		}
		if(form.name.value.length < 4){
			alert("Min length for name is 4 character");
			return false;
		}
	}

	if(form.password.value.length < 4) {
		alert("Min length for password is 4 character");
		return false;	
	}
	if(trim_str(form.password.value) == "" ) {
			alert("Please write a password");
			return false;
	} else {
		if (trim_str(form.password.value) != trim_str(form.verify_password.value)) {
			alert("Password and verify password field not equal.");
			return false;
		}
	}

	if(trim_str(form.verify_password.value) == "" ) {
			alert("Please verify your password");
			return false;
	} else {
		if (trim_str(form.password.value) != trim_str(form.verify_password.value)) {
			alert("Password and verify password field not equal.");
			return false;
		}
	}

	form.register_button.disabled = true;

	return(true);

}
function check_contact_form (form){
	if(trim_str(form.subject.value) == ""){
			alert("Please write a subject");
			return false;
	} else {
		if(form.subject.value.length > 255){
			alert("Max length for subject is 255 character");
			return false;
		}
		if(form.subject.value.length < 4){
			alert("Min length for subject is 4 character");
			return false;
		}
	}
	if(trim_str(form.description.value) == ""){
		alert("Please write something.");
		return false;
	} else {
		if(trim_str(form.description.value) != ""){
			if(form.description.value.length > 131072){
				alert("Max length for description is 131072 character");
				return false;
			}
		}
	}
	form.submit_button.disabled = true;

	return(true);

}

function check_edit_form (form){
	if(trim_str(form.title.value) == ""){
			alert("Please write a title");
			return false;
	} else {
		if(form.title.value.length > 100){
			alert("Max length for title is 100 character");
			return false;
		}
		if(form.title.value.length < 4){
			alert("Min length for title is 4 character");
			return false;
		}
	}
	if(trim_str(form.tag.value) != ""){
		if(form.tag.value.length > 512){
			alert("Max length for tag is 512 character");
			return false;
		}
	}
	if(trim_str(form.description.value) != ""){
		if(form.tag.value.length > 4096){
			alert("Max length for description is 4096 character");
			return false;
		}
	}
	form.submit_button.disabled = true;

	return(true);

}

function check_search_form (form){
	if(trim_str(form.search_text.value) == ""){
			alert("Please write a search text");
			return false;
	}
	form.search_button.disabled = true;

	return(true);

}

function trim_str (str){
	str = str.replace(/^\s+|\s+$/g,"");
	return str;
}

function validate_email(email) {
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null ) {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null) {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
	return false;
}

