function setTick(value)
{
	var i, str = ""
	if(trimAll(value) == "")
		return value;
	else
	{
		for(i = 0; i < value.length; i++)
		{
			if(value.charAt(i) == "'")
				str = str + "''"
			else
				str = str + value.charAt(i)
		}
	}
	return(str);
}
//--------------------------------------------------------------------
function countCharacter(str, char)
{
	var i, count = 0;
	for(i = 0; i < str.length; i++)
	{
		if(str.charAt(i) == char)
			count++;
	}
	if(count == 1 || count == 0)
		return true;
	else
		return false;
}
//--------------------------------------------------------------------

function isCurrency(str)
{	
	if(str.length == 0)
		return false;
	if(!isNumberCurrency(str))
		return false;
	if(!countCharacter(str, '.'))
		return false;
		
	return true;
}
//--------------------------------------------------------------------

function isNumberCurrency(s)
{
	var i, isnum = true, len = s.length
	for(i = 0; i < len; i++)
	{
		if(!isDigitCurrency(s.charAt(i)))
			isnum = false;
	}
	return isnum;
}
//--------------------------------------------------------------------

function isDigitCurrency(c)
{
	if((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9')||(c=='.')||(c==','))
		return true;
	else
		return false;
}
//--------------------------------------------------------------------

function isNumber(s)
{
	var i, isnum = true, len = s.length
	if(len == 0)
		return false
	for(i = 0; i < len; i++)
	{
		if(!isDigit(s.charAt(i)))
			isnum = false;
	}
	return isnum;
}
//--------------------------------------------------------------------

function isNumberLenZero(s)
{
	var i, isnum = true, len = s.length
	for(i = 0; i < len; i++)
	{
		if(!isDigit(s.charAt(i)))
			isnum = false;
	}
	return isnum;
}
//--------------------------------------------------------------------

function isDigit(c)
{
	if((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9'))
		return true;
	else
		return false;
}
//--------------------------------------------------------------------

function isWeek(s)
{
	var i, isnum = true, len = s.length
	for(i = 0; i < len; i++)
	{
		if(!isDigitWeek(s.charAt(i)))
			isnum = false;
	}
	return isnum;
}
//--------------------------------------------------------------------

function isDigitTime(c)
{
	if((c=='0')||(c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7')||(c=='8')||(c=='9')||(c==':'))
		return true;
	else
		return false;
}
//--------------------------------------------------------------------

function countTimeChar(str, char)
{
	var i, count = 0;
	for(i = 0; i < str.length; i++)
	{
		if(str.charAt(i) == char)
			count++;
	}
	if(count == 1)
		return true;
	else
		return false;
}
//--------------------------------------------------------------------

function isNumberTime(s)
{
	var i, isnum = true, len = s.length
	for(i = 0; i < len; i++)
	{
		if(!isDigitTime(s.charAt(i)))
			isnum = false;
	}
	return isnum;
}
//--------------------------------------------------------------------

function isTime(s)
{
	var len = s.length
	
	if(len != 5 && len != 4)
		return false;
	if(!isNumberTime(s))
		return false;
	if(s.indexOf(':')==-1) 
		return false;
	if(s.indexOf(':')!=1 && s.indexOf(':') != 2)
		return false;
	if(!countTimeChar(s,':'))
		return false;
		
	return true;
}
//--------------------------------------------------------------------

function isDigitWeek(c)
{
	if((c=='1')||(c=='2')||(c=='3')||(c=='4')||(c=='5')||(c=='6')||(c=='7'))
		return true;
	else
		return false;
}
//--------------------------------------------------------------------

function trimLeft(s)
{
	var i;
	i = 0;
	var n;
	n = s.length;
	while((i<n)&&(s.charAt(i)==' ')) i++;
		s = s.substring(i);
	return(s);
} 
//--------------------------------------------------------------------

function trimRight(s)
{
	var n;
	n = s.length;
	var i;
	i = s.length-1;
	while((i>=0)&&(s.charAt(i)==' ')) i--;
		s = s.substring(0,i+1);
	return(s);
}
//--------------------------------------------------------------------

function trimAll(s)
{
	s = trimLeft(s);
	s = trimRight(s);
	return(s);
}  
//--------------------------------------------------------------------

function isEmail(strEmail)
{
	var intlen;
	var ctmp;
	strEmail = trimAll(strEmail);
	if(strEmail=='') return false;
	intlen=strEmail.length;
	if(intlen<5) return false;
	if(strEmail.indexOf('@')==-1) return false;
	if(strEmail.indexOf('.')==-1) return false;
	if(intlen - strEmail.lastIndexOf('.') -1 > 3) return false; 
	if((strEmail.indexOf("_")!=-1) && (strEmail.lastIndexOf("_") > strEmail.lastIndexOf("@"))) return false;
	if(strEmail.lastIndexOf(".") <= strEmail.lastIndexOf("@")+1)  return false;
	if(strEmail.indexOf("@")!=strEmail.lastIndexOf("@")) return false;
	if(intlen -1 == strEmail.lastIndexOf('.')) return false;
	if(strEmail.charAt(strEmail.indexOf('@')+1)=='.') return false;
	if(strEmail.indexOf(" ")!=-1) return false;
	if(strEmail.indexOf("..")!=-1) return false;
 
	strEmail=strEmail.toLowerCase();
	for(intcnt=0; intcnt<intlen; intcnt++)
	{
		ctmp = strEmail.charAt(intcnt)
		if((!isDigit(ctmp))&& ((ctmp>'z')||(ctmp<'a')) && (ctmp!='-') && (ctmp!='.') && (ctmp!='@') && (ctmp!='_')) return false;
	}
	
	return true;
}
//--------------------------------------------------------------------

function isDate(dateStr)
{

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) 
    {
        alert("Phải nhập ngày dạng dd/mm/yyyy"); //or dd-mm-yy
        return false;
    }

    day = matchArray[1]; // parse date into variables
    month = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) // check month range
    { 
        alert("Tháng phải từ 1 đến 12.");
        return false;
    }

    if (day < 1 || day > 31) 
    {
        alert("Ngày phải từ 1 đến 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
    {
        alert("Tháng " + month + " không có 31 ngày!")
        return false;
    }

    if (month == 2)  // check for february 29th
    {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) 
        {
            alert("Tháng 2 " + year + " không có " + day + " ngày!");
            return false;
        }
    }
    return true; // date is valid
}
//--------------------------------------------------------------------

function isDate_NotNotify(dateStr) 
{

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null)
        return false;

    day = matchArray[1]; // parse date into variables
    month = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) // check month range
        return false;

    if (day < 1 || day > 31) 
        return false;

    if ((month==4 || month==6 || month==9 || month==11) && day==31) 
        return false;

    if (month == 2)  // check for february 29th
    {
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) 
            return false;
    }
    return true; // date is valid
}

//--------------------------------------------------------------------

function isMonthYear(dateStr) 
{
    var datePat = /^(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null)
        return false;

    month = matchArray[1];
    year = matchArray[3];

    if (month < 1 || month > 12) // check month range
        return false;

    return true; // date is valid
}
//--------------------------------------------------------------------
function showDiv(agr)
{
	eval(agr).style.visibility='visible';
	eval(agr).style.top=event.clientY ;
	eval(agr).style.left=event.clientX + 6;
}
//--------------------------------------------------------------------
function hiddenDiv(agr)
{
	eval(agr).style.visibility='hidden';
}
