/**
 * Returns an input field for date selection
 */
function getDateSelectionHtml(field_name,field_xtra_attrs,value,onFieldChange,onResetClick,showTime ) {

  if (value == undefined) value = '';
  var formatoData = '';
  if(showTime == 'true'){
  	formatoData = '%e/%m/%Y %H:%M';
  }else{
  	formatoData = '%e/%m/%Y';
  }
  var scriptCode  = '<script type="text/javascript">\nCalendar.setup({\n';
      scriptCode += 'inputField     :    "'+field_name+'",\n';
      scriptCode += 'ifFormat       :    "'+formatoData+'",\n';
      scriptCode += 'button         :    "'+field_name+'_trigger",  // trigger for the calendar (button ID)\n';
      scriptCode += 'align          :    "Tl",           // alignment (defaults to "Bl")\n';
      scriptCode += 'singleClick    :    true,\n';
      scriptCode += 'showsTime      :    '+showTime+',\n';
      scriptCode += 'electric       :    false,\n';
      scriptCode += 'timeFormat     :    "24"});\n';
      scriptCode += '</script>';
  dateSelectorHtml  = '<input '+field_xtra_attrs+' name="'+field_name+'" id="'+field_name+'" "type="text" value="'+value+'" onchange="'+onFieldChange+'" readonly="readonly"></input>';
  dateSelectorHtml += '&nbsp;<a href="javascript:NewCal(\'expirationdate\',\'ddmmyyyy\', true, 24)"><img id="'+field_name+'_trigger" src="img/icon_cal.gif" width="16" height="16" border="0" alt="Seleziona una data"></a>&nbsp;<a href="#" onclick="$(\'#'+field_name+'\').val(\'\'); '+onResetClick+'"><img width="16" height="16" border="0" alt="Reset" src="img/undo_sm.png" /></a>'+scriptCode;

  return dateSelectorHtml;

}


function isInteger (s){
      var i;

      if (isEmpty(s))
      if (isInteger.arguments.length == 1) return 0;
      else return (isInteger.arguments[1] == true);

      for (i = 0; i < s.length; i++)
      {
         var c = s.charAt(i);

         if (!isDigit(c)) return false;
      }

      return true;
}

function isEmpty(s){
      return ((s == null) || (s.length == 0))
}

function isDigit (c){
      return ((c >= "0") && (c <= "9"))
}


function ControllaCF(cf)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if( cf == '' )  return '';
    cf = cf.toUpperCase();
    if( cf.length != 16 )
        return "La lunghezza del codice fiscale non è\n"
        +"corretta: il codice fiscale dovrebbe essere lungo\n"
        +"esattamente 16 caratteri.\n";
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for( i = 0; i < 16; i++ ){
        if( validi.indexOf( cf.charAt(i) ) == -1 )
            return "Il codice fiscale contiene un carattere non valido `" +
                cf.charAt(i) +
                "'.\nI caratteri validi sono le lettere e le cifre.\n";
    }
    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    s = 0;
    for( i = 1; i <= 13; i += 2 )
        s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    for( i = 0; i <= 14; i += 2 )
        s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) )));
    if( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) )
        return "Il codice fiscale non è corretto:\n"+
            "il codice di controllo non corrisponde.\n";
    return "";
}


function selTab(arrayTabs,tabClicked){
	for(var i = 0; i < arrayTabs.length; i++){
		if(arrayTabs[i] == tabClicked){
			$(arrayTabs[i]).addClass('ui-state-active');
		}
		else{
			$(arrayTabs[i]).removeClass('ui-state-active'); 
			$(arrayTabs[i]).addClass('ui-state-default');
			$(arrayTabs[i]).removeClass('ui-tabs-selected');
			$(arrayTabs[i]).removeClass('ui-state-focus');
		}
	}
}
