// JavaScript Document
// common check function
// ham checkNull 
// * dung de kiem tra cac field co rong hay khong
// * tham so : 1 form can kiem tra, 2 chuoi danh sach ten field, 3 chuoi danh sach title
function checkNull(form,str_field_name,str_field_title)
{
	var arr_field_name = str_field_name.split(',');
	var arr_field_title = str_field_title.split(',');
	var n = arr_field_name.length;
	for(i=0;i<n;i++)
		SetDisplay("Error" + arr_field_name[i],'none');
	var check=false;
	for(i=0;i<n;i++)
	{
		eval ("check=isNull(form." + arr_field_name[i]+".value)");
		if(check==true)
		{
			SetDisplay("Error" + arr_field_name[i],'block',arr_field_title[i] + ' Còn Trống');
			return false;
		}
	}
	return true;
}
function checkSpecialChar(form,str_field_name,str_field_title)
{
	var arr_field_name = str_field_name.split(',');
	var arr_field_title = str_field_title.split(',');
	var n = arr_field_name.length;
	for(i=0;i<n;i++)
		SetDisplay("Error" + arr_field_name[i],'none');
	var check=false;
	for(i=0;i<n;i++)
	{
		eval ("check=checkchar(form." + arr_field_name[i]+".value)");
		if(check==true)
		{
			SetDisplay("Error" + arr_field_name[i],'block',arr_field_title[i] + ' Không được chứa kí tự đặc biệt');
			return false;
		}
	}
	return true;
}
function checkLength(form,str_field_name,str_field_title,str_max_value)
{
	var arr_field_name = str_field_name.split(',');
	var arr_field_title = str_field_title.split(',');
	var arr_value = str_max_value.split(',');
	var n = arr_field_name.length;
	for(i=0;i<n;i++)
		SetDisplay("Error" + arr_field_name[i],'none');
	var check=false;
	for(i=0;i<n;i++)
	{
		eval ("check= (form." + arr_field_name[i]+".value.length <= arr_value[i])");
		if(check==true)
		{
			SetDisplay("Error" + arr_field_name[i],'block',arr_field_title[i] + ' qua');
			return false;
		}
	}
	return true;	
}

///////////////////////////////
function checkSystem(form)
{
	var mIdArr= new Array();
	var mFieldArr = new Array();
	var ArrResult = new Array();
	var mArrImage  = new Array();
	var mFieldAtt = new Array();
	var mFieldType = new Array();
	var mArrDimension = new Array();
	var mArrSize = new Array();
	var ArrImageResult = new Array();
	mIdArr[0] = "ErrorEmail";
	mIdArr[1] = "ErrorEmailSaler";
	mIdArr[2] = "ErrorHitCounter";
	mFieldArr[0] = form.Email;
	mFieldArr[1] = form.EmailSaler;
	mFieldArr[2] = form.HitCounter;
	mFieldArr[0].title = " Email liên hệ" ;
	mFieldArr[1].title = " Email Saler" ;
	mFieldArr[2].title = " Lượt truy cập" ;
	for(i=0;i<=2;i++)
		SetDisplay(mIdArr[i],"none");
	mFieldType = ['email','email','number'];
	mFieldAtt = [100,100,100000000];
	ArrResult = checkText(mFieldArr,mFieldType,mFieldAtt);
	for (i=0;i<ArrResult.length;i++){
		if (ArrResult[i] == 'long' )
		{
			SetDisplay(mIdArr[i],"block",mFieldArr[i].title+" Quá dài!");
			mFieldArr[i].focus();
			return false;
		}else if (ArrResult[i] == 'null')
		{	
			SetDisplay(mIdArr[i],"block",mFieldArr[i].title+" Còn trống!");
			mFieldArr[i].focus();
			return false;
		}
		else if (ArrResult[i] == false )
		{
			SetDisplay(mIdArr[i],"block",mFieldArr[i].title+" Nhập không đúng!");
				mFieldArr[i].focus();
			return false;
		}else if (ArrResult[i] == 'notimg' )
		{
			SetDisplay(mIdArr[i],"block",mFieldArr[i].title+" Nhập không đúng!");
			mFieldArr[i].focus();
			return false;
		}
		else if (ArrResult[i] == 'smaller' ){
			SetDisplay(mIdArr[i],"block",mFieldArr[i].title+" Quá Ngắn!");
			mFieldArr[i].focus();
			return false;
		}
	}
	return true;
}
/////////////////////////

function PopUp(theURL,winName,width,height) 
{ 
  return window.open(theURL,winName,"height="+height+",width="+width+",status=no,toolbar=no,menubar=no,location=no");
}
////////////////////////////////////////////////////////////////////////////////////////////
function ShowProjectTypical()
{
	var TypicalWindow =	PopUp('./typical.php',null);
}

////////////////////////////////////////////////////////////////////////////////////////////
function ShowImage(elementName,source)
{
	
	var mElement = document.getElementById(elementName);
	mElement.src = source;
}

function CheckDate(mDate)
{
	var mArrDate = mDate.split('')	;
	if(mArrDate.length != 3 )
		return false;
	if (parseInt(mArrDate[0])<0 || parseInt(mArrDate[0])>31)
		return false;
	if (parseInt(mArrDate[1])<0 || parseInt(mArrDate[1])>12)
		return false;
	if (parseInt(mArrDate[2])<1995 || parseInt(mArrDate[2])>3000)
		return false;
	return true;
}
////////////////////////////////////////////////////////////////////////////////////////////
function ChangeValue(ID,Value,Source)
{
    if(Source=="undefined")
        Source="";
    $mElement = document.getElementById(ID);
    $mElement.value = Value;
    if(Source!="")
        $mElement.src=Source;
}
////////////////////////////////////////////////////////////////////////////////////////////
function ConvertDate(mDate)
{
	var mArrDate = mDate.split('/')	;	
	var $mStrDate =	mArrDate[2] +"-"+mArrDate[1]+"-"+mArrDate[0];
	return $mStrDate;
}
////////////////////////////////////////////////////////////////////////////////////////////
//Hàm lấy một chuỗi giá trị từ một listbox
function getStringFromList(list,seperate)
{
	
	var i;
	var result='';
	if(list.length>0)
	{
		result=list[0].value;
		for(i=1;i<list.length;i++)
		{
			if(list[i].value!='')
				result=result+seperate+list[i].value;
		}
	}
	return result;
}
/////////////////////////////////////////////////////////////////////////////////////////
///
function SetDisplay(mID,mDisplay,mMessage)
{
	if(mMessage=="undefined")
		var mMessage="";
	//alert(mID);
	var mElement = document.getElementById(mID);
	mElement.style.display = mDisplay;
	mElement.innerHTML = mMessage;
	
}
function CheckField(mID, mField)
{
		
		
		var mElement = document.getElementById(mID);
		if(mElement.value=="")
		{
				SetDisplay("Error"+ mID,"block",mElement.title+" Còn trống!");
				mElement.focus();
				return false;
		}
		else
		{
			SetDisplay("Error"+ mID,"none");
		}
		return true;
}
function CheckAndShowImage(mId,mImagePreview)
{
	//var mElement = document.getElementById(mID);
	//var mImage = mElement.value;
}
function checkSelectImage(mIdListSelectImage,mIdImageField,mIdError,Message)
{
	if(mIdError==undefined)
		mIdError = "";
	try
	{
 		if (Message){  }
		else
			Message = "Vui lòng chọn hình !";
	}
	catch(e)
	{
   		Message = "Vui lòng chọn hình !";
	}
	var listImage = document.getElementById(mIdListSelectImage);
	var select_image = document.getElementById(mIdImageField);
	if(listImage.length==0 && mIdError!="")
	{
		SetDisplay(mIdError,"block",Message);
		return false;
	}
	select_image.value=getStringFromList(listImage,'|');
	return true;	
}

function ScriptTag()
{
	document.write("<script language='javascript' >");
}
function ScriptEndTag()
{
	document.write("</script>");
}

////////////////////////////////////////////////////////////////////////////////////////////
//khi kiểm tra thì cần 4 giá trị đó là
/*mIdArr    : mảng các label thông báo lỗi
 *mFieldArr : mảng giá trị cần check
 *mFieldType: loại field cần check
 *mFieldType: giới hạn check số, độ dài
 */

function checkError(field,FieldType,FieldAtt){
	mFieldArr=field.split('|');
	for(i=0;i<mFieldArr.length;i++)
		mFieldArr[i]=document.getElementById(mFieldArr[i]);
	mFieldType=FieldType.split('|');
	mFieldAtt=FieldAtt.split('|');
	//alert(mFieldType.length +":"+mFieldType[0]);
	
		ArrResult = checkText(mFieldArr,mFieldType,mFieldAtt);
		for (i=0;i<ArrResult.length;i++){
			//alert(ArrResult[i]);
			if (ArrResult[i] == 'long' )
			{
				show_tooltip('<br>'+mFieldArr[i].title+' quá dài!<br><br>');
				 try{ mFieldArr[i].focus();}catch (exception){}
				return false;
			}
			else if (ArrResult[i] == 'null'  )
			{
				
				show_tooltip('<br>'+mFieldArr[i].title+' còn trống!<br><br>');
				 try{ mFieldArr[i].focus();}catch (exception){}
				return false;
			}
			else if (ArrResult[i] == false )
			{
//				alert(ArrResult.length+":"+ArrResult[0]);
				show_tooltip('<br>'+mFieldArr[i].title+' nhập không đúng!<br><br>');
				 try{ mFieldArr[i].focus();}catch (exception){}
				return false;
			}
			else if (ArrResult[i] == 'smaller'){
				show_tooltip('<br>'+mFieldArr[i].title+' quá ngắn!<br><br>');
				 try{ mFieldArr[i].focus();}catch (exception){}
				return false;
			}
		}//end for
	 
	clear_tooltip();
	return true;
}//end function
 ////////////////////////////////////////////////////////////////////////////////////////////
//khi kiểm tra thì cần 4 giá trị đó là
/*mIdArr    : mảng các label thông báo lỗi
 *mFieldArr : mảng giá trị cần check
 *mFieldType: loại field cần check
 *mFieldType: giới hạn check số, độ dài
 *awhat: chứa các kiểu cần kiểm tra. ví dụ: long',null,false,smaller|[next field]
 */

function checkError2(field,FieldType,FieldAtt,awhat){
	mFieldArr=field.split('|');
	for(i=0;i<mFieldArr.length;i++)
		mFieldArr[i]=document.getElementById(mFieldArr[i]);
	mFieldType=FieldType.split('|');
	mFieldAtt=FieldAtt.split('|');
	mWhat=awhat.split('|');
	//alert(mFieldType.length +":"+mFieldType[0]);
	
		ArrResult = checkText(mFieldArr,mFieldType,mFieldAtt);
		var mes='';
		var focus_field=null;
		for (i=0;i<ArrResult.length;i++){
			//alert(ArrResult[i]);
			if (ArrResult[i] == 'long' && mWhat[i].indexOf('long')>=0)
			{
				mes +='+ <b>'+mFieldArr[i].title+'</b> quá dài!<br>';
				 focus_field=mFieldArr[i];
			}
			else if (ArrResult[i] == 'null' && mWhat[i].indexOf('null')>=0)
			{

				mes +='+ <b>'+mFieldArr[i].title+'</b> còn trống!<br>';
				if(focus_field==null) focus_field=mFieldArr[i];
			}
			else if (ArrResult[i] == false && mWhat[i].indexOf('false')>=0)
			{
//				alert(ArrResult.length+":"+ArrResult[0]);
				mes +='+ <b>'+mFieldArr[i].title+'</b> nhập không đúng!<br>';
				if(focus_field==null) focus_field=mFieldArr[i];
			}
			else if (ArrResult[i] == 'smaller' && mWhat[i].indexOf('smaller')>=0){
				//mes +='+ <b>'+mFieldArr[i].title+'</b> quá ngắn!<br>');
				if(focus_field==null) focus_field=mFieldArr[i];
			}
		}//end for
	if(focus_field!=null){//there are error
		tooltip.show(focus_field,'tooltip_',mes,5000);
		try{
			focus_field.focus();
			}catch(ex){}
		return false;
	}else{
		tooltip.hide('tooltip_');
	
	}
	
	return true;
}//end function

function numberOnly(evt) {
    evt = (evt) ? evt : ((window.event) ? event : null);
    if (evt) {
       var elem = (evt.target) ? evt.target : 
          ((evt.srcElement) ? evt.srcElement : null);
       if (elem) {
           var charCode = (evt.charCode) ? evt.charCode : 
               ((evt.which) ? evt.which : evt.keyCode);
//alert(charCode );
           if ((charCode < 32 ) || 
               (charCode > 44 && charCode < 47) || 
               (charCode > 47 && charCode < 58)) {
               return true;
           } else {
               return false;
           }
       }
    }
}

function noneBlank(evt) {
    evt = (evt) ? evt : ((window.event) ? event : null);
    if (evt) {
       var elem = (evt.target) ? evt.target : 
          ((evt.srcElement) ? evt.srcElement : null);
       if (elem) {
           var charCode = (evt.charCode) ? evt.charCode : 
               ((evt.which) ? evt.which : evt.keyCode);
//alert(charCode );
           if (charCode != 32 ) {
               return true;
           } else {
               return false;
           }
       }
    }
}
function dateCompare(d1,d2)
{
	var arr1 = d1.split('-');
	var arr2 = d2.split('-');
	var date1 = new Date( arr1[0], arr1[1], arr1[2] );
	var date2 = new Date( arr2[0], arr2[1], arr2[2] );
	return (date2-date1);
	
}

