﻿function delete_confirm(vtype,vname)
{
	//return confirm("Are you sure you want to delete "+vtype+" '"+vname+"'");
	return confirm("Bạn có thực sự muốn xóa "+vtype+" '"+vname+"' không");
}

function msg_confirm(vdesc)
{
	//return confirm("Are you sure you want to delete "+vtype+" '"+vname+"'");
	return confirm("Bạn có thực sự muốn "+vdesc+" không");
}

function UnderConstruction()
{
	alert("Chức năng đang được xây dựng");
	return false;
}

function RefreshImage(img)
{
	var newimage= new Image();
	newimage.src=img.src + "?" + Math.floor(Math.random()*11);	
	img.src=newimage.src; 
}

function Switch2Input(input_obj)
{
	if (GetDataType(input_obj)=="Date")
		input_obj.value=GetDateInput(input_obj.value);
}
function GetDataType(input_obj)
{
	var sDataType=input_obj.getAttribute("dataFld");		
	var key="Check_Input(this,event,'";
	if (sDataType==""||sDataType==null) 
	{
		sDataType=""+input_obj.getAttribute("onkeypress");				
		dec_num=sDataType.indexOf(key)+key.length;				
		sDataType=sDataType.substr(dec_num,sDataType.indexOf("'",dec_num+1)-dec_num);				
		input_obj.setAttribute("dataFld",sDataType);				
	}
	return sDataType;
}
//'Format du lieu nhap
function Format_Data(actobj)
{
var dec_num;
var dtValue;		
var sDataType;
	sDataType=GetDataType(actobj);
	dtValue=actobj.value;
	//alert(sDataType);	
	//alert(dtValue);
	if (sDataType.indexOf("Float")==0||sDataType=="%"||sDataType=="Integer"||sDataType=="SignInteger")
	{
		switch (sDataType)
		{
		case "%":
		//'Kieu du lieu la % 			
			dec_num=2;
			break;
		case "Integer","SignInteger":
		//'Kieu du lieu nguyen
			dec_num=0;			
			break;
		default:			
		//'Kieu du lieu thap phan		    
			dec_num=CNumber(sDataType.charAt(sDataType.length-1));
			//'Neu khong co phan thap phan thi lay default la 2
			if (decnum==0) dec_num=2;
		}		
		//alert(dtValue);
		dtValue=FormatNumberEx(dtValue,dec_num);		
		//alert(dtValue);		
		if (dtValue>100&&sDataType=="%") dtValue=100;
	}	
	else
	{
		dtValue=actobj.value;		
		if (sDataType=="Date"&&dtValue!="")
		{
			dtValue=FormatDateTimeEx(dtValue);
		//'Kiem tra truong hop chat chi lay dang DD/MM
		if (actobj.maxlength>0&&actobj.maxlength<2147483647)
			dtValue=dtValue.substr(0,actobj.maxlength);
		}				
		if (sDataType=="Time"&&dtValue!="")
		{
		    dtValue=FormatTime(dtValue);
		}
	}
	//alert(dtValue);
	return dtValue;
}
function Verify_Data(obj,objMinID,objMaxID)
{
/*----------------------------------------------------------------------
obj: Object kiem tra
objMinID: gia tri nho nhat hoac ID cua object chua gia tri
objMaxID: gia tri lon nhat hoac ID cua object chua gia tri
-----------------------------------------------------------------------*/
//Kiem tra du lieu nhap va gan lai gia tri cho object	
    if (obj.value=="")
        return;    
	var temp;
    //'Format Data
	obj.value=Format_Data(obj);		
	//'Tim object Min	
	var MinValue=""+objMinID;	
	var objMin;
	while (1==1)
	{
		//'Kiem tra Minvalue co phai la object hay khong
		objMin=document.getElementById(MinValue);
		if (objMin==null)		
			break;			
		else
		{			
			if (objMin.value!=""&&objMin.value!=null)
			{
				MinValue=objMin.value;
				if (obj.getAttribute("dataFld")=="Date")
					MinValue=GetDateInput(MinValue);
				break;
			}
			else
			{
			 	temp=objMin.getAttribute("alt");
			 	if (temp.indexOf(";")>0)
				//'Kiem tra su rang buoc voi cac gia tri khac
					MinValue=temp.split(";")[0];
				else
					break;
			}
		}
	}	
	//'Tim object Max	
	var MaxValue=""+objMaxID;	
	var objMax;
	while (1==1)
	{
		//'Kiem tra Maxvalue co phai la object hay khong
		objMax=document.getElementById(MaxValue);
		if (objMax==null) 
			break;
		else
		{		
			if (objMax.value!=""&&objMax.value!=null)
			{
				MaxValue=objMax.value;
				if (obj.getAttribute("dataFld")=="Date")
					MaxValue=GetDateInput(MaxValue);
				break;
			}
			else
			{
			 	temp=objMax.getAttribute("alt");
			 	if (temp.indexOf(";")>0)
				//'Kiem tra su rang buoc voi cac gia tri khac
					MaxValue=temp.split(";")[1];
				else
					break;
			}
		}
	}
	//alert(MinValue);
	//alert(MaxValue);	
	Check_Value(obj,MinValue,MaxValue);
}
//Kiem tra gia tri nhap trong khoang
function Check_Value(obj,MinValue,MaxValue)
{
/*///////////////////
'obj: Object can kiem tra
'MinValue: gia tri nho nhat
'MaxValue: gia tri lon nhat
'///////////////////*/
var isGreate=false;
var isLess=false;
var cValue;

	if (obj.value=="") 
		return;
		
	sDataType=GetDataType(obj)
	if (sDataType.indexOf("Float")==0)
		sDataType="Float";	
	
	if ("Integer,SignInteger,Float".indexOf(sDataType)>-1)
	{
		cValue=CNumber(obj.value);
		if (IsNumeric(MinValue))
			MinValue=CNumber(MinValue);
		else
			MinValue=null;

		if (IsNumeric(MaxValue))
			MaxValue=CNumber(MaxValue);
		else
			MaxValue=null;		
	}
	else
		if (sDataType=="Date")
		{
			cValue=GetDateInput(obj.value);
			cValue=CDate(cValue);
			
			if (IsDate(MinValue))
				MinValue=CDate(MinValue);
			else
				MinValue=null;
			
			if (IsDate(MaxValue))
				MaxValue=CDate(MaxValue);
			else
				MaxValue=null;			
		}	
		else
			return;					
	
	if (MinValue!=null) 
	{
		isLess=(cValue<MinValue);						
		if (sDataType=="Date")
			MinValue=FormatDateTime(MinValue);
	}		
	if (MaxValue!=null)
	{
		isGreate=(cValue>MaxValue);
		if (sDataType=="Date")
			MaxValue=FormatDateTime(MaxValue);
	}	
	var str="";	
	if (isGreate||isLess)
	{
		if (MinValue!=null&&MaxValue!=null)
			str="Value must between " + MinValue + " and " + MaxValue;
		else
		{
			if (MinValue!=null)
				str="Value must great than or equal " + MinValue;
			else
			{
				if (MaxValue!=null)
					str="Value must less than or equal " + MaxValue;
			}
		}
	}
	/*
	if sDataType="Version" then
		if (cValue<=MinValue) then
			str="Version must great than " & MinValue
		end if
	end if
	*/
	if (str!="")
	{
		alert(str);
		//alert(obj);
		obj.value="";
		obj.focus();		
	}
}
function Check_Input(obj_input,e,data_type)
{
	var sChar=(e.charCode);
	if (typeof sChar=="undefined") sChar=e.keyCode;
	//alert(sChar);
	//alert(String.fromCharCode(sChar));
	if (sChar==0||sChar==13||sChar==46||sChar==8||sChar==9) return true	
	sChar=String.fromCharCode(sChar);
	var tmp_str="0123456789";	
	var sValue=obj_input.value;
	var sType=data_type;
	if (sType.indexOf("Float")==0) sType="Float";	
	switch (sType)
	{
	case "SignInteger":				
		if (sChar=="-")
		{
			if (sValue.indexOf("-")==-1)				
			{
				obj_input.value = "-" + sValue;				
				return false;
			}
			else
				return true;
		}
	    break;
	case "Integer":
		break;
	case "Float","%":
		if (sValue.indexOf(CS_NUMBER_DECIMAL)==-1)
			tmp_str+=CS_NUMBER_DECIMAL;
		break;
	case "Date":				
		tmp_str+="/- ";	
		break;
    case "Time":				
		tmp_str+=":";	
		break;
	default:
		return true; 
	}
	obj_input.setAttribute("dataFld",data_type);
	//
	return (tmp_str.indexOf(sChar)!=-1);	
}