﻿	//-------- ltrim and rtrim -------------
function myTrim(a) 
{ 
   var regexp1 = /^\s+/  //--- ltrim

   var regexp2 = /\s+$/   //--- rtrim

   a=a.replace(regexp1, ""); 



   return a.replace(regexp2, ""); 

} 



	//--- kiểm email xem có ghi quá bậy không ----------

	function isStringASCII(str)

	{

		n=str.length;

		for(i=0;i<n;i++)

		{

			if(str.charCodeAt(i)>225)return false;

		}

		return true;

	}

	function replaceCharArray(charFindArray,charReplace,str)

	{

		var n=charFindArray.length;

		for(i=0;i<n;i++)

		{

			reg=charFindArray.charAt(i);

			while(str.indexOf(reg)>=0)

				str=str.replace(reg,charReplace);

		}

		return str;

	}

	function inputEmail(obj)

	{	

		str=myTrim(obj.value);

		strFind="`~!#$%^&*()-=+\|,?/+-*";

		str=replaceCharArray(strFind,"",str);

		var i=str.lastIndexOf("@");

		if(i>0)

		{

			var str2=str.substr(i); //-- lay phan sau tu chu @

			str=replaceCharArray("@","",str.substr(0,i));

			obj.value=str+str2;

		}

		else 

			obj.value=str;

	}

	function inputUserName(obj)

	{	

		str=myTrim(obj.value);

		strFind="`~!#$%^&*()-=+\|,?/+-*@";

		str=replaceCharArray(strFind,"",str);

		obj.value=str;

	}

	function isEmail(str)

	{	

		var i=str.indexOf("@")

		if(i<=0)return false;

		if(i==str.length-1)return false;

		if(!isStringASCII(str))return false;

		return true;

	}

	function isUserName(str)

	{	

		if(!isStringASCII(str))return false;

		return true;

	}



	//--- kiểm tra giờ ------------

	function isStringTime(str)

	{		

		if(myTrim(str)=="")return false;

		var a=str.split(":");

		if(a.length!=3) return false;

		if(!(a[0]>=0 && a[0]<=23 && a[0].length==2)) return false; // sai giờ

		if(!(a[1]>=0 && a[1]<=59 && a[1].length==2)) return false; // sai giờ

		if(!(a[2]>=0 && a[2]<=59 && a[2].length==2)) return false; // sai giờ

		return true;

	}

	

	//---------- chuyen ve mac dinh neu chi nhap ngay, hoac thang --------

	function checkAndShowDate(obj)

	{

		var day,month,year;

		//--------- mac dinh la ngay hien tai ----------------

		var now=new Date();

		day=now.getDate();

		month=now.getMonth();

		year=now.getYear();			



		var d=obj.value;



		if(d!="")

		{		

			var str=/-/g;

			d=d.replace(str,"/"); //--- co the go / hoac - cho ngay cung duoc		

			str=/ /g;

			d=d.replace(str,""); 



			var a=d.split("/");

			if(a.length>0) day=a[0];

			if(a.length>1) month=a[1]-1;

			if(a.length>2) year=a[2];

		}

		if(year<100)year=year-0+2000;	//-- vd 07	->	2007 ( -0 de no chuyen thanh so roi cong)

		now=new Date(year,month,day);

		if(now>new Date()) now=new Date(); //--- neu vuot thoi gian hien tai thi lay hien tai

		year=now.getYear();

		month=now.getMonth()+1;

		day=now.getDate();

		str=day+"-"+month+"-"+year;

		//------ kiem tra xem chuoi moi tao, neu khong hop le thi bao loi --------

		if(!isStringDate(str))

		{

			alert("Ngày bạn nhập không hợp lệ!");

			return false;

		}

		

		obj.value=str;

		return true;

	}





//--------- kiem tra ngay xem hop le khong ---------------------

//----	tham so vao la dang chuoi dd/mm/yyyy

	function isStringDate(strDate) 

    {  

         	//alert(strDate);

                var regexp = /^(\d{1,2})\/(\d{1,2})\/(\d{2})$/ 

				var regexp2 = /^(\d{1,2})\-(\d{1,2})\-(\d{2})$/ 

				

				var regexp3 = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/ 

				var regexp4 = /^(\d{1,2})\-(\d{1,2})\-(\d{4})$/

                if (strDate.match(regexp)==null)

					if(strDate.match(regexp2)==null)

						if(strDate.match(regexp3)==null)

							if(strDate.match(regexp4)==null) 

								return false;

				var reg=/-/g

				strDate=strDate.replace(reg,"/");				

				var a=strDate.split("/");

				if(!(a[1]>=1 && a[1]<=12)) return false; //--- kiem thang 

				temp=new Date(a[2],a[1]-1,a[0]); 

				if(a[0]<1 || a[0]!=temp.getDate()) return false; //-- kiem ngay

				

				return true;				 

    } 



//-------- cong them ngay vao doi tuong date ---------------------

	function addDate(date,day)

	{

		date.setDate(date.getDate()+day);

		return date;		

	}



//--------- cong them ngay vao chuoi ngay -------------------

//---	dd/mm/yyyy

	function addStringDate(strDate,step)

	{

		var str=/-/g;

		strDate=strDate.replace(str,"/"); //--- co the go / hoac - cho ngay cung duoc		

		var a=strDate.split("/");

		if(a.length==3)

		{

			day=a[0];

			month=a[1]-1;

			year=a[2];

			date=new Date(year, month,day);

			now=addDate(date,step);

			

			year=now.getYear();

			month=now.getMonth()+1;

			day=now.getDate();

			

			str=day+"-"+month+"-"+year;

			return str;

		}

		return "";		

	}

	

	//-------- làm tròn thành không còn số lẽ -------------------

	//---- như giá trần , sàn, số tiền không cần chính xác tới số lẽ làm gì -----------

	function myRound(a)

	{

		return Math.round(a);

	}

	

	//-------- xử lý khi gõ số vào ( khối lượng giá trị ) phải là số nguyên ---

	function inputInteger(obj)

    {    

  	  	var tam = obj.value.length;

    	var numeric = false;

    	for(var i=0;i<tam;i++)

        {

        	code = obj.value.charCodeAt(i);

        	if(!(code >= 48 && code <= 57))

			{

            	obj.value=obj.value.substring(0,tam-1); 

				inputInteger(obj); //--- lỡ gõ nhanh quá thì phải xử lý đệ qui mới hết

			}

    	}

	}

	

	//--------- dinh dang so thanh chuoi so de in ra -------

	//	vd 123456.78 -> 123,456.78

	function formatNumber(a)

	{

		if(a=="")return"";

		var s=a.toString();

		var i=s.indexOf(".");

		i=s.length;

		while(i>3)

		{ 	

			i-=3;

			s=s.substr(0,i)+","+s.substring(i);

		}				

		return s;

	}

	function hideLayer(layer)

	{

		layer.style.visibility="hidden";

	}

	

	function showLayer(layer,left,top)

	{

	

		var x=(screen.width-800)/2+left;

		layer.style.left=x;		

		layer.style.top=top;	

		layer.style.visibility="visible";		

	}

	

	

	//------- hàm để hiện thông báo gì đó ---------------------

	//----- hai hàm ẩn và hiện phải lấy layer mặc định là layerMessage ---

	function showMessageBox(delay)

	{

		delayTB=delay;

		x=screen.width/2-150;

		y=110;

		showLayer(layerMessageBox,x,y);		

		hideMSG();	//-- delay tự động xoá thông báo ------

	}

	function showMessageBox2(delay)

	{

		delayTB=delay;

		x=screen.width/2-150;

		y=210;

		showLayer(layerMessageBox,x,y);		

		hideMSG();	//-- delay tự động xoá thông báo ------

	}

	//-------- hàm để ẩn layer thông báo sau thời gian định trước hoặc người ta click close 

	var idMessageBox=0;

	var delayTB=3000;

	function hideMessageBox()

	{	

	 	hideLayer(layerMessageBox);

		layerMessageBox.style.visibility="hidden";

		window.clearInterval(idMessageBox);

	}

	function hideMSG()

	{

		idMessageBox=window.setInterval("hideMessageBox()",delayTB);

	}

	function upperString(obj)

	{

		obj.value=obj.value.toUpperCase();

	}	