var labels= new Array();
var messages= new Array();

function getLabel(id) {
	var m=labels[id];
	return m && m!=null? m: "Label_"+id;
}
function getMessage(id) {
	var m=messages[id];
	return m && m!=null? m: "Cannot found message id="+id;

//	var m=$(id);
//	return m && m!=null? m.innerHTML: "Cannot found message id="+id;
}

function translateElements( targetDocument, tag, propertyToSet, encode ) {
	var e = targetDocument.getElementsByTagName(tag) ;
	var sKey, s ;
	for ( var i = 0 ; i < e.length ; i++ ) {
		// The extra () is to avoid a warning with strict error checking. This is ok.
		if ( (sKey = e[i].getAttribute( 'labelId' )) )	{
			// The extra () is to avoid a warning with strict error checking. This is ok.
			if ( (s = labels[ sKey ]) )	{
				if ( encode ) {
					s = HTMLEncode( s ) ;
				}
				eval( 'e[i].' + propertyToSet + ' = s' ) ;
			}
		}
	}
}

function translatePage() {
	translateElements( window.document, 'INPUT', 'value' ) ;
	translateElements( window.document, 'SPAN', 'innerHTML' ) ;
	translateElements( window.document, 'LABEL', 'innerHTML' ) ;
	translateElements( window.document, 'OPTION', 'innerHTML', true ) ;
	translateElements( window.document, 'BUTTON', 'innerHTML', false ) ;
}

function HTMLEncode ( text ) {
	if ( !text )
		return '' ;

	text = text.replace( /&/g, '&amp;' ) ;
	text = text.replace( /</g, '&lt;' ) ;
	text = text.replace( />/g, '&gt;' ) ;

	return text ;
}

//===============================================
//= EXAMPLE: each module must define
//= * the file lables.js with all the lables in the default language
//= * any number of files labelsXXX.js being XXX the 
//=   lowercase language code (e.g. labelsita.js); the file 
//=   May redefine any number of label/message
//=============== LABELS ========================

// example: 

// labels['myLabel1']= 'Text 1';
// labels['myLabel2']= 'Text 2';

// messages["msgNoModelli"]= "Non model for the selected make"
// messages["loadingMessage"]= "Loading data from server...";

//===== COMMON LABLES

labels['homeMenuLabel']='Home';
labels['companyMenuLabel']="L'azienda";
labels['introMenuLabel']='Presentazione';
labels['departmentsMenuLabel']='Reparti';
labels['researchMenuLabel']='Ricerca e Sviluppo';
labels['tecnologyMenuLabel']='La Tecnologia';
labels['qualityMenuLabel']='La Qualit&agrave;';
labels['serviceMenuLabel']='Il Servizio';
labels['groupMenuLabel']='Il Gruppo';
labels['classicMenuLabel']='Bugatti Classic';
labels['alwaysreadyMenuLabel']='Servizio Always Ready';
labels['restylingMenuLabel']='Servizio Restyling';
labels['remakingMenuLabel']='Servizio Exclusive Remaking';
labels['newsMenuLabel']='News';
labels['catalogMenuLabel']='Catalogo';
labels['searchbymodelMenuLabel']='Ricerca&nbsp;per&nbsp;autovettura';
labels['searchbycodeMenuLabel']='Ricerca per codici';
labels['searchbyparameterMenuLabel']='Ricerca per caratteristiche tecniche';
labels['servicesMenuLabel']='Portale dei servizi';
labels['reservedareaMenuLabel']='Area Riservata';
labels['requireaccessMenuLabel']='Richiesta informazioni';
labels['infoMenuLabel']='Informazioni';
labels['ordersMenuLabel']='Ordini on-line';
labels['as400ordersMenuLabel']='Storico ordini';
labels['codescomparisonMenuLabel']='Cross Reference';
labels['documentsMenuLabel']='Documenti';
labels['MenuLabel']='Contattaci';
labels['whereweareMenuLabel']='Dove Siamo';
labels['inforequestMenuLabel']='Richiesta informazioni';