/**
 * Copyright 2007 SK Communications. All rights reserved
 * @since 2006.11.24
 * @author okjungsoo
 * 
 */
var Validator = {
	VALID_EURL : 0,	
	INVALID_EURL_START_BY_NUM : 1,
	INVALID_EURL_RANGE : 2,
	INVALID_EURL_BY_CHAR : 3,
	
	checkMail:function(mailAddress){
		if(this.hasValue(mailAddress)){
			var filter=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			return filter.test(mailAddress);			
		}
		return false;
	},
	
	checkURL: function(url){
		if(this.hasValue(url)){
			var filter = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
			return filter.test(url);			
		}
		return false;
	}, 
	
	hasValue: function(str){
		var str = str.strip();
		if(str.length != 0){
			return true;
		}else{
			return false;
		}
	}, 
	
	/**
	 * valid한 egloo url인지를 체크합니다. 
	 * @param minumum egloo url의 최소 크기를 인자로 받습니다. 
	 * @param maximum egloo url의 최대 크기를 인자로 받습니다. 
	 * @return	INVALID_EURL_START_BY_NUM : 숫자로 시작하는 경우 
	 * 				INVALID_EURL_BY_CHAR : a-z, 숫자 이외의 문자가 사용된 경우 
	 * 				INVALID_EURL_RANGE : 최대, 최소값의 범위를 넘어선 경우 
	 * 				VALID_EURL : valid한 경우 
	 */
	checkValidEglooURL: function(url, minimum, maximum){
		if(url.search(/^\d/) != -1){
			return this.INVALID_EURL_START_BY_NUM;
		}else if(url.search(/[^a-z\d]/i) != -1){
			return this.INVALID_EURL_BY_CHAR;
		}else if(url.length < minimum || url.length > maximum){
			return this.INVALID_EURL_RANGE;
		}else{
			return this.VALID_EURL;
		}
	}
};