
// checkString
function checkString(str, strType, name, checkEmpty){
	
	var res = true;
	
	if (str == '') {
		
		// checkEmpty
		if (checkEmpty) {		
			alert('Please fill in ' + name + '.');
			return false;
		}
		
	}	else {

		switch (strType){
			
			// num | letter | '_', '_' must be written between the others
			case 'text_01':
//				var re = new RegExp(/^(?:[0-9a-zA-Z]{1,}[_]){0,}[0-9a-zA-Z]{1,}$/);
				var re = new RegExp(/^([0-9a-zA-Z]{1,}[_]){0,}[0-9a-zA-Z]{1,}$/);
				if (re.exec(str) == null) res = false;
				break;
				
			//
			case 'text_02':
//				var re = new RegExp(/^(?:[0-9a-zA-Z]{1,}[_\s&\-\.\,]){0,}[0-9a-zA-Z]{1,}$/);
				var re = new RegExp(/[^<>][0-9a-zA-Z]{1,}[@_&\*\s\-\.\,\/\\\+\|!]{0,}/);
				if (re.exec(str) == null) res = false;
				break;

			// upload type
			case 'upload':
//				var re = new RegExp(/^(?:[0-9a-zA-Z]{2,4}[,]){0,}[0-9a-zA-Z]{2,4}$/);
				var re = new RegExp(/^([0-9a-zA-Z]{2,4}[,]){0,}[0-9a-zA-Z]{2,4}$/);
				if (re.exec(str) == null) res = false;
				break;

			// letters only
			case 'letter':
				var re = new RegExp(/^[a-zA-Z]{0,}$/);
				if (re.exec(str) == null) res = false;
				break;
			
			// num only
			case 'num':
				var re = new RegExp(/^[0-9]{0,}$/);
				if (re.exec(str) == null) res = false;
				break;
			
			// Email
			case 'email':
				var re = new RegExp(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);
				if (re.exec(str) == null) res = false;
				break;
			
			// Date 'YYYY-MM-DD'
			case 'date':
				var re = new RegExp(/^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/);
				var ar;
				if ((ar = re.exec(str)) != null){
					var i;
					// year
					i = parseFloat(ar[1]);
					if (i > 2300)	res = false;
					// month
					i = parseFloat(ar[2]);
					if (i <= 0 || i > 12) res = false;
					// day
					i = parseFloat(ar[3]);
					if (i <= 0 || i > 31)	res = false;
				} else {
					res = false;
				}
				break;
				
			// url
			case 'url':
				//var re = new RegExp(/^http:\/\/(?:[0-9a-zA-Z_\-]{1,}(?:\.[0-9a-zA-Z_\-]{1,}){0,}(?:[.][a-zA-Z]{2,3}){1,}){0,1}$/);
				var re = new RegExp(/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/);
				if (re.exec(str) == null) res = false;
				break;
			
			// no limit
			default:
				
		}
		
		if (!res){
			alert('Invalid ' + name + ', please try again.');
		}
	}
	
	return res;
}
