function Trim(STRING){
	STRING = LTrim(STRING);
	return RTrim(STRING);
}

function RTrim(STRING){
	while(STRING.charAt((STRING.length -1))==" "){
	STRING = STRING.substring(0,STRING.length-1);
}
	return STRING;
}

function LTrim(STRING){
	while(STRING.charAt(0)==" "){
	STRING = STRING.replace(STRING.charAt(0),"");
	}
		return STRING;
	}

function selectlang()
{
	document.lang_form.submit();
}

function checkNumber(val) {
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);

  /* Check if the keyed in character is a number
     do you want alphabetic UPPERCASE only ?
     or lower case only just check their respective
     codes and replace the 48 and 57 */

  if (cCode < 48 || cCode > 57 ) {
    var myNumber = val.value.substring(0, (strLength) - 1);
    val.value = myNumber;
  }
  return false;
}
//Ktra nhap so
function CalcKeyCode(aChar) {
  var character = aChar.substring(0,1);
  var code = aChar.charCodeAt(0);
  return code;
}

function isNum(s)
{   
  var i = 1;
  var sLength = s.length;
  var str="0123456789."; 
  if (s=="" || s==" ")
  	return false;
  for(var j=0;j<s.length;j++)
	if(str.indexOf(s.charAt(j))==-1)
		return false;
   return true;
}
function isURL(s)
{   
  if (s=="") return false;
  if(s.indexOf(" ")>0) return false;
  
  var str="abcdefghikjlmnopqrstuvwxyz-:/._0123456789"; 
  for(var j=0;j<s.length;j++)
  {
	if(isCapsLock(s.charAt(j))) return false;
	if(str.indexOf(s.charAt(j))==-1) return false;
  }
  if (s.lastIndexOf(".")==s.length-1) return false;  
  if (s.indexOf(".")==-1) return false;
  if (s.indexOf("..")!=-1) return false;
  //if((s.substr(0,7)!="http://")) return false; 
  return true;
}

function isNum_order(s)
{   
  var i = 1;
  var sLength = s.length;
  var str="0123456789"; 
  if (s=="" || s==" ")
  	return false;
  for(var j=0;j<s.length;j++)
	if(str.indexOf(s.charAt(j))==-1)
		return false;
   return true;
}	

	function isEmail(email)
	{
		if(email=='')
			return false;
		if(email.indexOf('')>0)
			return false;
		if(email.indexOf('@')==-1)
			return false;
		var i=1;
		var sLength=email.length;
		if(email.indexOf('.')==-1)
			return false;
		if(email.indexOf('..')!=-1)
			return false;
		if(email.indexOf('@')!=email.lastIndexOf('@'))
			return false;
		if(email.lastIndexOf('.')==email.length-1)
			return false;
		var str = 'aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890-@._';
		for(var j=0;j<email.length;j++)
			if(str.indexOf(email.charAt(j))==-1)
				return false;
		return true;
	}
function isCapsLock(s)
{   
  var i = 1;
  var sLength = s.length;
  var str="ABCDEFGHIYJKLMNPQOUVSXTW"; 
  for(var j=0;j<s.length;j++)
	if(str.indexOf(s.charAt(j))==-1)
		return false;
   return true;
}


function Request()
{
    if(arguments.length==1) {
        var ADN = new Object();
        var Ajax = new Object();
        this.options = new function()
            {
            this.address = null;
            this.method = "POST";
            this.data = null;
            this.abort = null;
            this.onRequest = null;
            this.onSuccess = null;
            this.onFailure = null;
            };

        for (var i in this.options){ADN[i]=this.options[i];}
        for (var i in arguments[0]){ADN[i]=arguments[0][i];}


        function createRequest(){            
            if (window.ActiveXObject){Ajax = new ActiveXObject("Microsoft.XMLHTTP");}
            else{Ajax = new XMLHttpRequest();}
            }
        function isReady(){return(Ajax.readyState==4 || Ajax.readyState==0);}
        function isComplete(){return Ajax.readyState==4;}
        function isSuccess(){return((Ajax.status >= 200) && (Ajax.status < 300));}
        function setHeader(){
            if (ADN.method.toUpperCase()=="POST"){
                Ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                Ajax.setRequestHeader("Content-length", ADN.data.length);
                Ajax.setRequestHeader("Connection", "close");
                }
            }
        function fixMethod(){
            
            }

		function processRequest(){
                if (!isReady()){
                    if (typeof ADN.onRequest=="function"){ADN.onRequest.call(Ajax);}
                    else {eval(ADN.onRequest);}
                    }
                if (isComplete()){
                    if (isSuccess()){
                        if (typeof ADN.onSuccess=="function"){ADN.onSuccess.call(Ajax);}
                        else {eval(ADN.onSuccess)}
                        }
                    else{
                        if (typeof ADN.onFailure=="function"){ADN.onFailure.call(Ajax);}
                        else {eval(ADN.onFailure)}
                    }
                }
            }
			
        createRequest();
        if (isReady()){
            if (ADN.data!=null&&ADN.method.toUpperCase()=="POST" &&  ADN.data!="" ){
                Ajax.open("POST",ADN.address, true);
                setHeader();
                Ajax.send(ADN.data);
				
                }
            else{
                Address = ADN.address+"?"+ADN.data;
                Ajax.open("GET",Address,true);
                Ajax.send(null);
                }
            }
        Ajax.onreadystatechange = processRequest;
            
    }// end if
}

function req_fav(url)
{   
                
		var one = new Request({
		address: url,
		method: "POST",
		data: "",
		onSuccess:  function() {
			
			document.getElementById('fav_div').innerHTML = this.responseText; 
			setTimeout("clear('fav_div')", 4000);
			
			},
		onFailure : function() {alert("please try again!");}
         });

}
function clear(span)
 {
	
    document.getElementById(span).innerHTML = '';
 }

