/**
 * Restituisce true se il combo box ? selezionato.
 */
function Is_Select(theSel){
  if(theSel.options[theSel.selectedIndex].value == "")
    return false
  return true;
}

/**
 * Controlla se il campo ? una data ed in caso
 * contrario restituisce un messaggio esplicativo.
 */
function Is_Date(theElement) {
  var DayArray =new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var MonthArray = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
  var thisYear = null;
  var thisMon = null;
  var thisDay = null;
  var today = null;
  inpDate = theElement;
  if (inpDate.length == 0 ) return "";
  thisDay = inpDate.substr(0,2);
  thisMonth = inpDate.substr(3,2);
  thisYear = inpDate.substr(6,4);
  var filter=/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
  if (! filter.test(inpDate))
    return ("deve essere inserito con il formato GG/MM/AAAA");
  var filter=/01|02|03|04|05|06|07|08|09|10|11|12/ ;
  if (! filter.test(thisMonth))
    return ("deve essere specificato con un mese corretto");
  N=Number(thisYear);
  if ( ( N%4==0 && N%100 !=0 ) || ( N%400==0 ) )
    DayArray[1]=29;
  for(var ctr=0; ctr<=11; ctr++){
    if (MonthArray[ctr]==thisMonth){
      if (thisDay<= DayArray[ctr] && thisDay >0 )
        return("");
      else
        return ("deve essere specificato con un giorno valido");
    }
  }
}

/**
 * Restituisce true se il campo ? un'email
 */
function Is_Email(sDato)
{
 if (sDato != "")
 {
  var s = sDato;
  var localPartfilter1 = /^[^<>()\[\]\x5C.,;:@" ]+(\.[^<>()\[\]\x5C.,;:@" ]+)*@$/;
  var localPartfilter2 = /^"[^\r\n]+"@$/;
  var domainfilter = /^([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9])(\.([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9]))(\.([a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]|[a-zA-Z0-9]))*$/;
  var sepPos = 0;
  var localPart;
  var domain;
  var localPartOk = false;
  var domainOk    = false;
  sepPos = s.lastIndexOf("@");
  localPart = s.substring(0,sepPos+1);
  domain    = s.substring(sepPos+1,s.length);
  if  (localPartfilter1.test(localPart))
    localPartOk = true;
  else if (localPartfilter2.test(localPart))
    localPartOk = true;
  else
    localPartOk = false;
  if (domainfilter.test(domain))
    domainOk = true;
  else
    domainOk = false;
  if (localPartOk != true || domainOk != true)
    return false;
  return true;
 }
}

/** 
 * Testa se la stringa passata ? un URL
 */ 
function Is_URL(theUrl){
  if(theUrl != "") {
	  var j = new RegExp(); 
	  j.compile("^[A-Za-z]+://[A-Za-z0-9-]+\.[A-Za-z0-9]+"); 
	  if (!j.test(theUrl))
	    return false; 
	}
    
  return true;
}

/**
 * Restituisce true se il campo ? numerico.
 */
function checkNumber(checkElem) {
  var checkStr = checkElem.value;
  return checkNumberv(checkStr);
}

/**
 * Restituisce true se il valore ? numerico.
 */
function checkNumberv(checkStr) {
	var checkOK = "0123456789";
	var allValid = true;
	var decPoints = 0;
	var allNum = "";

	for (i = 0;  i < checkStr.length;  i++)	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;

		if (j == checkOK.length) {
			allValid = false;
			break;
		}
		allNum += ch;
	}
	if (!allValid) {
		return (false);
	}
	return true;
}

/** 
 *
 */
function checkReal(elem){
  ok = true;
  elem.value = elem.value.replace(/\,/g,".");
  if((elem.value != "")&&(parseFloat(elem.value) != elem.value)) {
    ok = false;
  }
  elem.value = elem.value.replace(/\./g,",");
  return ok;
}

/**
 *
 */
function checkEnter(e) {
  var charCode = (navigator.appName == "Netscape") ? e.which : e.keyCode
	// status = charCode // see ASCII character value!
	if (charCode != 13) 
	  return false;
	else 
	  return true;
}

/**
 *
 */
function apriPopupCentrata(nome, titolo, lar, alt, feat){
	var wdt = screen.width;
	var hgt = screen.height;
	var x = Math.round( (wdt / 2) - (lar / 2) );
	var y = Math.round( (hgt / 2) - (alt / 2) );
	window.open(nome, titolo, 'width=' + lar + ',height=' + alt + ',left=' + x + ',screenX=' + x + ',top=' + y + ',screenY=' + y + ',' + feat);
}
