/*
function SelectAll() {
   	var iIndex;
   	var iMaxItems;
	
	if (!window.document.frmDomains.domain) return (false);
					
   	iMaxItems = window.document.frmDomains.domain.length;
					
   	for (iIndex =0;iIndex<iMaxItems;iIndex++) {
   		window.document.frmDomains.domain[iIndex].checked = true;
   	}
	return (false);
}
   
function UnSelectAll () {
   	var iIndex;
   	var iMaxItems;
					
   	iMaxItems = window.document.frmDomains.domain.length;
					
   	for (iIndex =0;iIndex<iMaxItems;iIndex++) {
   		window.document.frmDomains.domain[iIndex].checked = false;
   	}
	return (false);
}
   
function invertselection () {
   	var iIndex;
   	var iMaxItems;
					
   	iMaxItems = window.document.frmDomains.domain.length;
					
   	for (iIndex =0;iIndex<iMaxItems;iIndex++) {
   		if (window.document.frmDomains.domain[iIndex].checked == true) {
   			window.document.frmDomains.domain[iIndex].checked = false;
   		}
   		else {
   			window.document.frmDomains.domain[iIndex].checked = true;
   		}
   	}
	return (false);
}
*/
// function for validating
function focusElement(formName, elemName) {
    var elem = document.forms[formName].elements[elemName];
    elem.focus( );
    elem.select( );
}

function isNotEmpty(elem) {
    var str = elem.value;
    
    var re = /.+/;
    if(!str.match(re)) {
        alert("Please fill in the required field.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

function isNotContainSpace(elem) {
    if (elem.value.indexOf(" ") > 0) {
        alert(elem.name.substring(elem.name.indexOf(":") + 1, elem.name.length) + " can not contain space character.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

function focusNext(form, elemName, evt) {
    evt = (evt) ? evt : event;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13 || charCode == 3 || charCode == 9) {
        form.elements[elemName].focus( );
        return false;
    }
    return true;
}

//validates that the entry is a positive or negative number
function isNumber(elem) {
    var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString( );
    if (!str.match(re)) {
        alert(elem.name.substring(elem.name.indexOf(":") + 1, elem.name.length) + " must be numbers.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    }
    return true;
}
   
// validates that the entry is formatted as an email address
function isEmailAddress(elem) {
    var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Email address is not a valid format.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

// new function
function confirmBeforeDoAction(action)
{ 
    var testitem = false;
    for (var i=0; i<document.forms[0].elements.length;i++)
    {
        var e = document.forms[0].elements[i];
        if ((e.type=='checkbox')&&(e.checked==true))
        {
            testitem = true; 
        }
    }
    if(!testitem)
    {
        alert("You must select at least one item !"); 
        return false; 
    }
    else
    {
        return confirm('Are you sure to ' + action + ' the selected items ?');
    } 
}

function confirmDelete()
{
     return confirm('Are you sure to delete the selected items ?');
}

function select_change(form) {

    var frm = form;
    var n=0; // total checkbox 
    var m=0; // checkbox checked
    var all; // checkbox check all
    
    for(i=0;i<frm.length;i++){
        if(frm.elements[i].type=='checkbox'){ 
	        n++; 
        }
    }
 
    for(i=0;i<frm.length;i++)
    {
        if(frm.elements[i].type=='checkbox')
        { 
	        if(frm.elements[i].name.indexOf('checkall')!= -1)
	        {	
		        all = frm.elements[i];
	        } 
	        else 
	        if(frm.elements[i].checked==true)
	        { 
		        m++	;
	        }
        }
    }
    
    if(n-1==m)
    {
	    all.checked = true;
    }
    else {
	    all.checked = false;
    }
}

function CheckSelect(checked)
{
    if (checked==true)
        SelectAll();
    else
        DeSelectAll();
}

function SelectAll()
{
	for (var i=0; i<document.forms[0].elements.length;i++)
	{
		if ( document.forms[0].elements[i].disabled == false )
			document.forms[0].elements[i].checked = true ;		
	}
}

function DeSelectAll()
{
	for (var i=0;i<document.forms[0].elements.length;i++)
	{
		document.forms[0].elements[i].checked = false ;		
	}		
}
function ClientValidationDateTime(oSrc, args){
  var value = args.Value;
  var year;
  var month;
  var  day;
  var result=true;
  if( value.length > 10 ) result=false;
  else 
  {
      if(!isDate(value, "dd/MM/yyyy")) result = false;
  }

  args.IsValid = result;
}
   function removeComma(number){
      var str = "";
      for(i=0;i<number.length;i++){
        if(number.charAt(i)==',')
         str+= '';
        else
          str+=number.charAt(i);
      }
  return str;
}

function FormatText(txt)
{		
	var num = removeComma(txt.value);
	
	
	if(!isNaN(num) && (num.indexOf('.') < 0 ) )
	{	
		while( ( (num.charAt(0) == '0') || (num.charAt(0) == ',') )  && (num.length > 1) )
		{
			var temp = num.substring(1, num.length);
			num = temp;
		}
		
		txt.value = formatNumberAutoSeparate(num);			
	}
	
	var str = txt.value;	
	if( (str.charAt(1) == ",") && (str.charAt(0) == '-') )
	{		
		txt.value = str.substring(0, 1) + str.substring(2, str.length);
	}	
}

function formatNumberAutoSeparate( number ) {     
     var num = removeComma(number);
     var newNum = "";
     var newNum2 = "";
     var count = 0;

     //check for decimal number
    if (num.indexOf('.') != -1){ //number ends with a decimal point
      if (num.indexOf('.') == num.length-1){
        num += "";
      }
      if (num.indexOf('.') == num.length-2){ //number ends with a single digit
        num += "";
      }
      var a = num.split("."); 
      num = a[0]; //the part we will commify
      var end = a[1].substring(0,2); //the decimal place we will ignore and add back later
      
      
    }
    else {
      var end = "";
    }
     //this loop actually adds the commas 
     for (var k = num.length-1; k >= 0; k--){
      var oneChar = num.charAt(k);
      if (count == 3){
        newNum += ",";
        newNum += oneChar;
        count = 1;
        continue;
      }
      else {
        newNum += oneChar;
        count ++;
      }
     } //but now the string is reversed!

     //re-reverse the string
     for (var k = newNum.length-1; k >= 0; k--){
      var oneChar = newNum.charAt(k);
      newNum2 += oneChar;
      }

      // add dollar sign and decimal ending from above
      if(end.length > 0)
      newNum2 = newNum2 + "." + end;
      return newNum2;
     
     }

function newWindow(a_str_windowURL, a_str_windowName, a_int_windowWidth, a_int_windowHeight, a_bool_scrollbars, a_bool_resizable, a_bool_menubar, a_bool_toolbar, a_bool_addressbar, a_bool_statusbar, a_bool_fullscreen) 
{
    var int_windowLeft = (screen.width - a_int_windowWidth) / 2;
    var int_windowTop = (screen.height - a_int_windowHeight) / 2;
    var str_windowProperties = 'height=' + a_int_windowHeight + ',width=' + a_int_windowWidth + ',top=' + int_windowTop + ',left=' + int_windowLeft + ',scrollbars=' + a_bool_scrollbars + ',resizable=' + a_bool_resizable + ',menubar=' + a_bool_menubar + ',toolbar=' + a_bool_toolbar + ',location=' + a_bool_addressbar + ',statusbar=' + a_bool_statusbar + ',fullscreen=' + a_bool_fullscreen + '';
    var obj_window = window.open(a_str_windowURL, a_str_windowName, str_windowProperties);
    if (parseInt(navigator.appVersion) >= 4) {
        obj_window.window.focus();
    }
}
