function delCookie ( cookie_name )
{
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}

function setCookie(name, value, expires, path, domain, secure) {
  document.cookie= name + "=" + escape(value) +
  ((expires) ? "; expires=" + expires.toGMTString() : "") +
  ((path) ? "; path=" + path : "") +
  ((domain) ? "; domain=" + domain : "") +
  ((secure) ? "; secure" : "");
}

function getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else {
    begin += 2;
  }
  var end = document.cookie.indexOf(";", begin);
  if (end == -1) {
    end = dc.length;
  }
  return unescape(dc.substring(begin + prefix.length, end));
}


function hasNotWhiteSpace(str){
  	var iChars = " ";
  	for (var i = 0; i < str.length; i++) {
  		if (iChars.indexOf(str.charAt(i)) != -1) {
  			return false;
  		}
	}
	return true;
}

function checkValidChar(str,validchar){
	var iChars = "~`!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	var curiChars = iChars;
	if (typeof validchar=='string'){
		for (var i=0; i<validchar.length;i++){
			if (curiChars.indexOf(validchar.charAt(i))>-1){
				curiChars = curiChars.replace(validchar.charAt(i),'');
			}
		}
	}
	for (var i = 0; i < str.length; i++) {
  	if (curiChars.indexOf(str.charAt(i)) != -1) {
  		return false;
  	}
	}
	return true;
}

function checkValidPhone(s){
	return checkValidChar(s,'()-.');
}

function checkValidEmail(str){
	var x = str;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) return true;
	else return false;
}

function checkVietNamese(str){
	var iChars = 'àáảãạâầấẩậăằắẳẵặèéẻẽẹêềếểễệìíỉĩịùúủũụòóỏõọôồốổỗộơờớởỡợ';
	for (var i = 0; i < str.length; i++){
		if (iChars.indexOf(str.charAt(i)) > -1){
  		return true;
  	}
	}
	return false;
}

function checkValidDate(dateStr) {
		// dateStr must be of format m/d/yyyy with either slashes
    var slash1 = dateStr.indexOf("/");
    if (slash1 == -1) { slash1 = dateStr.indexOf("-"); }
    if (slash1 == -1) { return false; }
    var dateMonth = dateStr.substring(0, slash1)
    var dateMonthAndYear = dateStr.substring(slash1+1, dateStr.length);
    var slash2 = dateMonthAndYear.indexOf("/");
    if (slash2 == -1) { slash2 = dateMonthAndYear.indexOf("-"); }
    if (slash2 == -1) { return false; }
    var dateDay = dateMonthAndYear.substring(0, slash2);
    var dateYear = dateMonthAndYear.substring(slash2+1, dateMonthAndYear.length);
    if ( (dateMonth == "") || (dateDay == "") || (dateYear == "") ) { return false; }
    for (var x=0; x < dateMonth.length; x++) {
        var digit = dateMonth.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numMonth = 0;
    for (var x=0; x < dateMonth.length; x++) {
        digit = dateMonth.substring(x, x+1);
        numMonth *= 10;
        numMonth += parseInt(digit);
    }
    if ((numMonth <= 0) || (numMonth > 12)) { return false; }
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numDay = 0;
    for (var x=0; x < dateDay.length; x++) {
        digit = dateDay.substring(x, x+1);
        numDay *= 10;
        numDay += parseInt(digit);
    }
    if ((numDay <= 0) || (numDay > 31)) { return false; }
    if ((numMonth == 2) && (numDay > 29)) { return false; }
    if ((numMonth == 4) || (numMonth == 6) || (numMonth == 9) || (numMonth == 11)) {
        if (numDay > 30) { return false; }
    }
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        if ((digit < "0") || (digit > "9")) { return false; }
    }
    var numYear = 0;
    for (var x=0; x < dateYear.length; x++) {
        digit = dateYear.substring(x, x+1);
        numYear *= 10;
        numYear += parseInt(digit);
    }
    if ( dateYear.length != 4 ) { return false; }
    if ((numYear <= 1900) || (numYear > 9999)) { return false; }
    if ((numMonth == 2) && (numDay == 29)) {
        var div4 = numYear % 4;
        var div100 = numYear % 100;
        var div400 = numYear % 400;
        // if not divisible by 4, then not a leap year so Feb 29 is invalid
        if (div4 != 0) { return false; }
        if ((div100 == 0) && (div400 != 0)) { return false; }
    }
    return true;
}