// JavaScript Document
function CheckSelect(id,msg){
	var id=document.getElementById(id);
	if(id.value==0){
		alert(msg);
		id.focus();
		return true;
	}else return false;
}
function CheckDelete(msg,action,id){
	   if (confirm(msg)) {
		window.location.href=action+id;
    }
}
function CheckValue(id1,id2,msg){
	var id1=document.getElementById(id1);
	var id2=document.getElementById(id2);
	if(id1.value!=id2.value){
		alert(msg);
		id2.focus();
		return true;
	}else return false;
}
function CheckLength(id,msg,long){
	var id=document.getElementById(id);
	if(id.value.length<long){
		alert(msg);
		id.focus();
		return true;
	}else return false;
}
function CheckEmail(id,msg){
	var id=document.getElementById(id);
	var str=Trim(id.value);
	id.value=str;
	if(!isValidEmail(str,true)){
		alert(msg);
		id.focus(); 
		return true;
	}else return false;
}
function CheckEmpty(id,msg){
	var id=document.getElementById(id);
	var str=Trim(id.value);
	id.value=str;
	if(str==""){
		alert(msg);
		id.focus(); 
		return true;
	}else return false;
}
function CheckFile(id,msg){
	var val=document.getElementById(id).value;
	if(val==0){
		alert(msg);
		document.getElementById(id).focus();           
		return true;
	}else return false;
}
function CheckEditor(id,msg){
	var ob = FCKeditorAPI.GetInstance(id);
	var str=ob.GetXHTML(true);
	str=Trim(str);
	if(str==""||str==null){
		alert(msg);
		return true;
	}else return false;
}
function checkConfirm(url,text){
	if (confirm(text)) {
		window.location.href=url;
    }
}

/*******************************************************
### Global Function ###
*******************************************************/
function LTrim(str){
    if (str==null){return null;}
    for(var i=0;str.charAt(i)==" ";i++);
    return str.substring(i,str.length);
}
function RTrim(str){
    if (str==null){return null;}
    for(var i=str.length-1;str.charAt(i)==" ";i--);
    return str.substring(0,i+1);
}
function Trim(str){
    return LTrim(RTrim(str));
}
function isValidEmail(email, required) {
    if (required==false) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}
function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}