
function ClassNew(obj, new_style) {
		obj.className = new_style;
	}

function doNothing() { }
function checkNumeric() {
	
  if ((event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 13 || event.keyCode == 44 || event.keyCode == 46))
    return; 
  else
    event.returnValue = null;
}

function HideDisplay(oItems) {

	oItems.style.display = "none";

}
function ShowDisplay(oItems) {
     
	oItems.style.display = "block";

}

function trim(name)
{
 var thelength =name.length;
 var index1=0;
 var index2=thelength -1;
   if (thelength > 0)
   {
       while ((index1 < thelength) &&(name.charAt(index1)==" "))	  	
	{
	index1++;
	}
        if (index1 == thelength) return "";
        else
           while ( (index2 > index1) &&(name.charAt(index2)==" ")) 	
	index2--;

        return name.substring(index1,index2 +1);
    }
return "";

}

function checkEmail(name)
{
   var email=name;	
   var reg = new RegExp("^[A-Za-z0-9\._-]+@([A-Za-z][A-Za-z0-9-]{1,62})(\.[A-Za-z][A-Za-z0-9-]{1,62})+$");  
  return reg.test(email);
}

function checkUserName(name)
{
	if (name == '') return false;

	var regtwo = new RegExp('[^a-zA-Z0-9_-]');

	return	!regtwo.test(name);

}

function validateForm(requirements, curFm) {

	
	isValid = true;
  if (typeof curFm.entityName != 'undefined'){
	entityName = curFm.entityName.value;
}
    for (var i = 0; i<curFm.elements.length; i++) {
    	curField = curFm.elements[i];
        elName = curFm.elements[i].name;
		curValue = trim(curFm.elements[i].value);	        
		fieldType = curFm.elements[i].type;
        for (var required in requirements) {
        	if(elName==requirements[required] || elName == requirements[required]+"[]"){
				switch (fieldType) {
					case 'text':
					case 'textarea':
					case 'password':
					case 'file':
						if (curValue == '') {
							isValid = false; 
							focusField = curField;					
						}
						else{
							mailName = entityName + 'Email';	
							
							if (elName == mailName)	{
									if (!checkEmail(curValue)){
										isValid=false;
										focusField = curField;
									}
									
							}
								
							
							checkusername = entityName + 'UserName';
							if (elName == checkusername) {
								
								if	(checkUserName(curValue)) {
									isValid=false;
									focusField = curField;
								}
							}

							checkma = entityName + 'Ma';
							if (elName == checkma) {
								
								if	(checkUserName(curValue)) {
									isValid=false;
									focusField = curField;
								}
							}

							checkOrder = entityName + 'Order';
							
							if (elName == checkOrder) {
								if(isNaN(curValue) || parseInt(curValue) <=0 ) {
									isValid=false;
									focusField = curField;
								}
							}

							checkOrder = entityName + 'Thutu';
							
							if (elName == checkOrder) {
								if(isNaN(curValue) || parseInt(curValue) <=0 ) {
									isValid=false;
									focusField = curField;
								}
							}

							checkShowTop = entityName + 'newsShowTop';
							if (elName == checkShowTop) {
								if(isNaN(curValue) || parseInt(curValue) <0 ) {
									isValid=false;
									focusField = curField;
								}
							}
						}
						break;
					case 'select-one':
					case 'select-multiple':
						if (curField.selectedIndex  && curField.options[curField.selectedIndex].value != '') {
							isValid = true;
						} else {
							isValid = false;
							focusField = curField;
						}
						break;
					case 'radio':
					case 'checkbox':
						numSelected = 0;
						isValid = false;
						sameField = true;
						while(sameField) {				
							if (curFm.elements[i].checked) {
								numSelected++;
								isValid = true;
							}
							if(curFm.elements[i+1].name.indexOf(requirements[required]) != -1) {
								sameField = true;
								i++;
							} else {
								sameField = false;
								if(!numSelected){
									focusField = 'unsupportedType';
								}
							}										
						}
						break;
				}
        	}
        	if(isValid == false) break; // if a missing requirement already found, stop checking
        }
        if(isValid == false) break; // if a missing requirement already found, stop checking
    }		
	if (!isValid) {
		if(focusField == 'unsupportedType'){
			window.alert('Ban chua dien day du thong tin.');		
			return false;
		} else {
			window.alert('Ban chua dien day du thong tin. Vui long kiem tra lai gia tri tai vi tri con tro hien thoi.');
			try {
				focusField.focus();
			} catch (e){}
			return false;
		}
	}			
	return true;
}

function resetForm(curFm,eleFocus) {

    for (var i = 0; i<curFm.elements.length; i++) {
    	curField = curFm.elements[i];
        elName = curFm.elements[i].name;
		curValue = trim(curFm.elements[i].value);	        
		fieldType = curFm.elements[i].type;
		switch (fieldType) {
				case 'text':
				case 'textarea':
				case 'password':
				case 'file':
					curField.value = '';
					break;
				case 'select-one':
				case 'select-multiple':						
					curField.selectedIndex = 0;
				case 'radio':
				case 'checkbox':						
					break;
			}
        	
    }		
	curFm.elements[eleFocus].focus();
	
	return false;
}

function mover(o)
{
	o.className = 'navTitleOver';
}

function mout(o)
{
	o.className = 'navTitle';
}

function opentree(tree)
{
	var cls = '';
	if (document.getElementById) {
		var el = document.getElementById (tree);
		if (el && el.className) {
			if 	(el.className == 'navOpened'){
				el.className = 'navClosed';				
				
			} else {
				el.className = 'navOpened';
				
			}
		}				

	}

		
	return false;
}
function mustopentree(tree)
{
	var cls = '';
	if (document.getElementById) {
		var el = document.getElementById (tree);
		if (el && el.className) {
			el.className = 'navOpened';			
		}		
	}
		
	return false;
}
function closeWindow(){
	if (typeof self.opener != 'undefined' )
	{
			self.opener.focus();
	}
	self.close();
}
function closeWindowAndRefresh(){
	if (typeof self.opener != 'undefined' )
	{	
		if (typeof self.opener.fmdanhsach != 'undefined')
			self.opener.fmdanhsach.submit();
		else		
			self.opener.location = self.opener.location;
			
		self.opener.focus();
	}
	self.close();
}
function ValidDate(y, m, d) {
 // m = 0..11 ; y m d integers, y!=0
  with (new Date(y, m, d))
    return (getMonth()==m && getDate()==d) /* was y, m */ 
}

function DateGood(y, m, d) { 
  var D // m = 1..12 ; y m d ints, y!=0
  with (D=new Date(y, --m, d))
    return (getMonth()==m && getDate()==d) ? D : NaN }

function ReadISO8601date(Q) { 
   var T // adaptable for other layouts
  if ((T = /^(\d+)([-\/])(\d\d)(\2)(\d\d)$/.exec(Q)) == null)
    { return -2 } // bad format
  for (var j=1; j<=5; j+=2) T[j] = +T[j] // some use needs numbers
  if (!ValidDate(T[1], T[3]-1, T[5])) { return -1 } // bad value
  return [ T[1], T[3], T[5] ] 
}
function ReadVNdate(Q)
{
    var T // adaptable for other layouts
    if ((T = /^(\d){1,2}([-\/])(\d){1,2}(\2)(\d+){4}$/.exec(Q)) == null)
    {return -2}	
    if (Q.indexOf('-') > 0)
    {
		T = Q.split('-');
    }
    else
    {		
		T = Q.split("/");
	}    
     
     
     if (!ValidDate(T[2], T[1]-1, T[0])) { return -1 } // bad value
     else return 0

    
}
var entityName = '';

