﻿function isValidPic(file_name) {
	var valid_format = ['jpg','gif','png'];
	var extName = getExtendName(file_name);

	for(var i = 0; i < valid_format.length; i++){
		if(valid_format[i] == extName.toLowerCase())
			return true;
	}
	return false;
}

function getExtendName(file_name){
	var idx = 0;

	for(var i = 0; i < file_name.length; i++) {
		if(file_name.charAt(i) == '.')
			idx = i;
	}

	return file_name.substring(idx + 1, file_name.length);
}

/*
 *
 */
function isValidLength(str, max_length){
	var result = replaceLineBreaks(str);

	if(result.length > max_length)
		return false;
	return true;
}

function replaceLineBreaks(str){
	var re1 = /\n/g;
	var re2 = /\r\n/g;

	var r1 = str.replace(re1, '<br>');
	var r2 = r1.replace(re2, '<br>');

	return r2;
}

/*
 * util
 */
function initOption(select_obj, init_value){
	for(var i = 0; i < select_obj.length; i++){
		if(select_obj.options[i].value == init_value){
			select_obj.options[i].selected = true;
			break;
		}
	}
}

function Trim(str){
  return RTrim(LTrim(str));
}

function LTrim(str){
  var whitespace = new String(" \t\n\r");
  var s = new String(str);

  if(whitespace.indexOf(s.charAt(0)) != -1){
    var j=0, i = s.length;

    while(j < i && whitespace.indexOf(s.charAt(j)) != -1){
		j++;
    }
    s = s.substring(j, i);
  }
  return s;
}

function RTrim(str){
  var whitespace = new String(" \t\n\r");
  var s = new String(str);

  if(whitespace.indexOf(s.charAt(s.length-1)) != -1){
    var i = s.length - 1;

    while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1){
		i--;
	}
    s = s.substring(0, i+1);
  }
  return s;
}

function isValidEmail(email) {
	var myEmailIsValid = true;
	var myAtSymbolAt = email.indexOf('@');
	var myLastDotAt = email.lastIndexOf('.');
	var mySpaceAt = email.indexOf(' ');
	var myLength = email.length;

	// at least one @ must be present and not before position 2
	if (myAtSymbolAt < 1 ) myEmailIsValid = false;

	// at least one . (dot) afer the @ is required
	if (myLastDotAt < myAtSymbolAt) myEmailIsValid = false;

	// at least two characters [com, uk, fr, ...] must occur after the last dot
	if (myLength - myLastDotAt <= 2) myEmailIsValid = false;

	// no empty space " " is permitted
	if (mySpaceAt != -1) myEmailIsValid = false;

	return myEmailIsValid;
}

function isDigit(str) {
	var re = /[0-9]/;
	for(var i = 0; i < str.length; i++){
		if(!str.charAt(i).match(re) )
			return false;
	}
	return true;
}

function chkEnterLength(obj, limit_length, msg_updater){
		var f = document.getElementById(obj);

		if (Trim(f.value).length > limit_length ) {

			var div = document.getElementById(msg_updater);
			div.innerHTML = "<p>字數超過限制1000字</p>";

			return false;
		}

			else {
				f.value = replaceLineBreaks(f.value);
				return true;
			}
}

