/* Spazio delle funzioni JS pił usate */

//Funzione di eliminazione spazi da una stringa
function TrimString(sInString) {

	sInString = sInString.replace( /^\s+/g, "" );// strip leading
	
	return sInString.replace( /\s+$/g, "" );// strip trailing

}

//Funzione di controllo numeri solo interi
function isInteger(s) {

	return (s.toString().search(/^-?[0-9]+$/) == 0);

}

//Funzione di controllo validitą email
function isValidEmail(str) {
 
	return (str.toLowerCase().indexOf(".") > 0) && (str.toLowerCase().indexOf("@") > 0);
 
}

//Funzione di trasferimento campi
function transferFields(idFieldIn, idFieldOut) {
	
	document.getElementById(idFieldOut).value = document.getElementById(idFieldIn).value;
	
}

//Funzione di toggle layer
function drop(idDiv) {

	var x = document.getElementById(idDiv);
			
	Effect.toggle(idDiv, 'slide');

}


/**************************************
    Controllo del Codice Fiscale
    Linguaggio: JavaScript
***************************************/

function ControllaCF(cf) {
    var validi, i, s, set1, set2, setpari, setdisp;
    if( cf == '' )  return false;
    cf = cf.toUpperCase();
    if( cf.length != 16 )
        return false;
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for( i = 0; i < 16; i++ ){
        if( validi.indexOf( cf.charAt(i) ) == -1 )
            return false;
    }
    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 false;
    return true;
}

/*****************************************
    Controllo della Partita I.V.A.
    Linguaggio: JavaScript
******************************************/

function ControllaPIVA(pi) {
    if( pi == '' )  return false;
    if( pi.length != 11 )
        return false;
    validi = "0123456789";
    for( i = 0; i < 11; i++ ){
        if( validi.indexOf( pi.charAt(i) ) == -1 )
            return false;
    }
    s = 0;
    for( i = 0; i <= 9; i += 2 )
        s += pi.charCodeAt(i) - '0'.charCodeAt(0);
    for( i = 1; i <= 9; i += 2 ){
        c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
        if( c > 9 )  c = c - 9;
        s += c;
    }
    if( ( 10 - s%10 )%10 != pi.charCodeAt(10) - '0'.charCodeAt(0) )
        return false;
    return true;
}

//Funzione di controllo data
function controllo_data(stringa){	
	
	var espressione = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;	
	
	if (!espressione.test(stringa))	{	    
	
		return false;	
		
	} else {		
	
		anno = parseInt(stringa.substr(6),10);		
		mese = parseInt(stringa.substr(3, 2),10);		
		giorno = parseInt(stringa.substr(0, 2),10);				
		var data=new Date(anno, mese-1, giorno);		
		
		if(data.getFullYear()==anno && data.getMonth()+1==mese && data.getDate()==giorno){			
		
			return true;		
		
		}else{			
		
			return false;		
		
		}	
		
	}
	
}
