//Common db functions

function MM_openBrWindow(theURL,winName,features) {
  window.open(theURL,winName,features);
}

function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
{
	alert("Raggiunto il limite massimo di "+maxlimit+" caratteri");
	field.value = field.value.substring(0, maxlimit);
}
// otherwise, update 'characters left' counter
else 
	countfield.value = maxlimit - field.value.length;
}


/* Function to check wether a string is made by alpha character*/
var letters="abcdefghijklmnopqrstuvwxyz";
var LETTERS="ABCDEFGHIJKLMNOPQRSTUVWXYZ";

  function isAlpha(c) {
    // is c a String or a character?
    if(c.length>1) {
      for(j=0;j<c.length;j++) {
        // call isAlpha recursively for each character
        alpha=isAlpha(c.substring(j,j+1));
        if(!alpha) return alpha;
      }
      return alpha;
    }
    else {
      // if c is alpha return true
      if(letters.indexOf(c)>=0 || LETTERS.indexOf(c)>=0) return true;
      return false;
    }
  }


//Function AllTrim to delete spaces in a string

function trimAll(sString)
{
while (sString.substring(0,1) == ' ')
{
sString = sString.substring(1, sString.length);
}
while (sString.substring(sString.length-1, sString.length) == ' ')
{
sString = sString.substring(0,sString.length-1);
}
return sString;
}


/**
 * Generate a new password
 * @param   string   the form name
 *
 * @return  boolean  always true
 */
function suggestPassword(myElement) {
    var pwchars = "abcdefhjmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWYXZ";
    var passwordlength = 8;    
    var passwd = document.getElementById(myElement.name);
 	if (passwd.value!=''){
		alert("password già presente! Per utilizzare il pulsante il campo deve essere vuoto");
		return;
	}
	passwd.value = '';

    for ( i = 0; i < passwordlength; i++ ) {
        passwd.value += pwchars.charAt( Math.floor( Math.random() * pwchars.length ) )
    }
    return passwd.value;
}

function suggestUser(myElement,mySurname,myFirstname) {
    
    var username = document.getElementById(myElement.name);
 	if (username.value!=''){
		alert("username già presente! Per utilizzare il pulsante il campo deve essere vuoto");
		return;
	}
	username.value = '';
	var fname=trimAll(myFirstname.value.toLowerCase());
	username.value += fname.charAt(0);
	var cnt=0;
	var lname;
	lname=mySurname.value.toLowerCase();
	for ( i = 0; i < lname.length && cnt < 19; i++ ) {
		if (isAlpha(lname.charAt(i))){
			username.value += lname.charAt(i);
			cnt++;
		}
	}
		        
    return username.value;
}

function suggestCompanyUser(myElement, myName, myIdent) {
// lo username viene composto prendendo l'id  
// e i rimanenti caratteri del campo MyName minuscoli e privati degli spazi 
   
    var username = document.getElementById(myElement.name);
 	if (username.value!=''){
		alert("username già presente! Per utilizzare il pulsante il campo deve essere vuoto");
		return;
	}
	username.value = '';
	var cnt=0;
	var id = document.getElementById(myIdent).value;			
		for ( i = 0; i < id.length && cnt < 19; i++ ) {
			//if (isAlpha(cname.charAt(i))){
			username.value += id.charAt(i);
			cnt++;
		}
	var cname=trimAll(myName.value.toLowerCase());
				

	//username.value += fname.charAt(0);
	for ( i = 0; i < cname.length && cnt < 19; i++ ) {
		if (isAlpha(cname.charAt(i))){
			username.value += cname.charAt(i);
			cnt++;
		}
	}
	//	alert("Raggiunto il limite massimo di "+"..."+" caratteri");		        
    return username.value;
}

//Looks for a substring into a string
function InStr(String1, String2)
{
var a = 0;

if (String1 == null || String2 == null)
return (false);

String1 = String1.toLowerCase();
String2 = String2.toLowerCase();

a = String1.indexOf(String2);
if (a == -1)
return 0;
else
return a + 1;
}


// funzione che disabilita il tasto invio dei form

function handleEnter (field, event, msg) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			if (msg==1)
				alert ("Clicca sul pulsante 'Cerca' !");
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		}
		else
		return true;
	}




// format date as dd-mmm-yy
// example: 12-Jan-99
//
function date_ddmmmyy(date)
{
  var d = date.getDate();
  var m = date.getMonth() + 1;
  var y = date.getYear();

  // handle different year values 
  // returned by IE and NS in 
  // the year 2000.
  if(y >= 2000)
  {
    y -= 2000;
  }
  if(y >= 100)
  {
    y -= 100;
  }

  // could use splitString() here 
  // but the following method is 
  // more compatible
  var mmm = 
    ( 1==m)?'Jan':( 2==m)?'Feb':(3==m)?'Mar':
    ( 4==m)?'Apr':( 5==m)?'May':(6==m)?'Jun':
    ( 7==m)?'Jul':( 8==m)?'Aug':(9==m)?'Sep':
    (10==m)?'Oct':(11==m)?'Nov':'Dec';

  return "" +
    (d<10?"0"+d:d) + "-" +
    mmm + "-" +
    (y<10?"0"+y:y);
}


//
// get last modified date of the 
// current document.
//
function date_lastmodified()
{
  var lmd = document.lastModified;
  var s   = "Unknown";
  var d1;

  // check if we have a valid date
  // before proceeding
  if(0 != (d1=Date.parse(lmd)))
  {
    s = "" + date_ddmmmyy(new Date(d1));
  }
	
   return s;
}

function checkrequired(which){
var pass=true
if (document.images){
for (i=0;i<which.length;i++){
var tempobj=which.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if (((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==0)){
pass=false
break
}
}
}
}
if (!pass){
alert("Riempire tutti i campi obbligatori")
return false
}
else
return true
}


