var ELEMENT_NODE=1;

/**
 * La funzione svolge il compito di creare un oggetto Node
 * ed appenderlo al NodeParent con il valore presente nel textValue
 */
function CreaNodo(rootDocument, nodeParent, elementName, textValue){

	nodeObject=rootDocument.createNode(ELEMENT_NODE,elementName,"");
	
	if (textValue!=''){
		nodeObject.text=textValue;
	}

	nodeParent.appendChild(nodeObject);
	
	return nodeObject;
}

/**
 * La funzione svolge il compito di creare un oggetto Node
 */
function CreaNodoSemplice(elementName, textValue){

	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	
	nodeObject=xmlDoc.createNode(ELEMENT_NODE,elementName,"");
	
	if (textValue!=''){
		nodeObject.text=textValue;
	}
	
	return nodeObject;
}
/**
 * La funzione svolge il compito di selezionare e restituire l'oggetto Node
 * individuato dal parametro XPath
 */
function SelezionaNodo(rootDocument,XPath){
	return rootDocument.selectSingleNode(XPath);
}

/**
 * La funzione svolge il compito di impostare il valore della
 * property text dell'oggetto Node inviato.
 */
function ImpostaValore(nodeObject, textValue){
	nodeObject.text=textValue;
	return nodeObject;
}

function CreateDom(rootName){
	var rootDocument = new ActiveXObject("Microsoft.XMLDOM");
	rootDocument.appendChild(CreaNodoSemplice(rootName,""));
	return rootDocument.childNodes[0];
}

function CreateFornitore(){

	var DatiFornitore=CreateDom("DATIANAGRAFICI");	
	DatiFornitore.appendChild(CreaNodoSemplice("IDANAGRAFICA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("TIPOSOGGETTO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CODICESOGGETTO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("COGNOME",""));
	DatiFornitore.appendChild(CreaNodoSemplice("NOME",""));
	DatiFornitore.appendChild(CreaNodoSemplice("INDIRIZZO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("PIANO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("SCALA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("INTERNO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("LOCALITA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CAP",""));
	DatiFornitore.appendChild(CreaNodoSemplice("ZONA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CODICEFISCALE",""));
	DatiFornitore.appendChild(CreaNodoSemplice("TELEFONO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CELLULARE",""));
	DatiFornitore.appendChild(CreaNodoSemplice("FAX",""));
	DatiFornitore.appendChild(CreaNodoSemplice("EMAIL",""));
	DatiFornitore.appendChild(CreaNodoSemplice("NOTE",""));
	return DatiFornitore;
}

function CreateOrdine(){

	var DatiOrdineNode=CreateDom("DATIORDINE");

	DatiOrdineNode.appendChild(CreaNodoSemplice("IDORDINE","-1"));
	DatiOrdineNode.appendChild(CreaNodoSemplice("DATAORDINE",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("DATASALDO",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("TIPOLOGIAPAGAMENTO",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("NOTE",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("STATO",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("IMPORTOFINANZIATO",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("IMPORTOFINANZIARIA",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("IMPORTOTOTALE",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("IMPORTOACCONTO",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("IMPORTOSALDO",""));
	DatiOrdineNode.appendChild(CreaNodoSemplice("APPROVAZIONEFINANZIAMENTO",""));

	var DatiCliente=CreaNodoSemplice("DATIANAGRAFICI","");
	
	DatiCliente.appendChild(CreaNodoSemplice("IDANAGRAFICA",""));
	DatiCliente.appendChild(CreaNodoSemplice("TIPOSOGGETTO",""));
	DatiCliente.appendChild(CreaNodoSemplice("CODICESOGGETTO",""));
	DatiCliente.appendChild(CreaNodoSemplice("COGNOMERAGIONESOCIALE",""));
	DatiCliente.appendChild(CreaNodoSemplice("NOME",""));
	DatiCliente.appendChild(CreaNodoSemplice("INDIRIZZO",""));
	DatiCliente.appendChild(CreaNodoSemplice("PIANO",""));
	DatiCliente.appendChild(CreaNodoSemplice("SCALA",""));
	DatiCliente.appendChild(CreaNodoSemplice("INTERNO",""));
	DatiCliente.appendChild(CreaNodoSemplice("LOCALITA",""));
	DatiCliente.appendChild(CreaNodoSemplice("CAP",""));
	DatiCliente.appendChild(CreaNodoSemplice("ZONA",""));
	DatiCliente.appendChild(CreaNodoSemplice("PARTITAIVA_CODICEFISCALE",""));
	DatiCliente.appendChild(CreaNodoSemplice("TELEFONO",""));
	DatiCliente.appendChild(CreaNodoSemplice("CELLULARE",""));
	DatiCliente.appendChild(CreaNodoSemplice("FAX",""));
	DatiCliente.appendChild(CreaNodoSemplice("EMAIL",""));
	DatiCliente.appendChild(CreaNodoSemplice("NOTE",""));
	
	var ListaDettaglioProdotti=CreaNodoSemplice("LISTA_DETTAGLIORDINI","");
	
	DatiOrdineNode.appendChild(DatiCliente);
	
	var DatiUtente=CreaNodoSemplice("DATIUTENTE","")
	DatiUtente.appendChild(CreaNodoSemplice("IDUTENTE",""))
	DatiUtente.appendChild(CreaNodoSemplice("NOME",""))
	DatiUtente.appendChild(CreaNodoSemplice("COGNOME",""))
	DatiUtente.appendChild(CreaNodoSemplice("USERNAME",""))
	DatiUtente.appendChild(CreaNodoSemplice("PASSWORD",""))
	DatiUtente.appendChild(CreaNodoSemplice("DATAINIZIO",""))
	DatiUtente.appendChild(CreaNodoSemplice("DATAFINE",""))
	DatiUtente.appendChild(CreaNodoSemplice("DATIORGANIZZAZIONE",""))
	DatiUtente.appendChild(CreaNodoSemplice("LOCKED",""))
	DatiUtente.appendChild(CreaNodoSemplice("TELEFONOCELLULARE",""))
	DatiUtente.appendChild(CreaNodoSemplice("TELEFONOUFFICIO",""))
	DatiUtente.appendChild(CreaNodoSemplice("EMAIL",""))
	DatiUtente.appendChild(CreaNodoSemplice("PROFILO",""))
	DatiUtente.appendChild(CreaNodoSemplice("PERCENTUALE",""))
	
	DatiOrdineNode.appendChild(DatiUtente);
	
	DatiOrdineNode.appendChild(CreaNodoSemplice("DATIORGANIZZAZIONE",""));
	DatiOrdineNode.appendChild(ListaDettaglioProdotti);
	
	DatiOrdineNode.appendChild(CreaNodoSemplice("NOTECONSEGNA",""));
	
	return DatiOrdineNode;
}

function CreateDettaglioOrdine(){

	var DettaglioOrdineNode=CreateDom("DETTAGLIOORDINE");

	DettaglioOrdineNode.appendChild(CreaNodoSemplice("IDDETTAGLIOORDINE","-1"));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("DATAORDINEPRODOTTO",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("DATAARRIVOPRODOTTO",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("DATACONSEGNAPRODOTTO",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("DATARICHIESTACONSEGNA",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("QUANTITA",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("PREZZOVENDITA",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("IDORDINE",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("NOTE",""));
	DettaglioOrdineNode.appendChild(CreaNodoSemplice("LUOGOGIACENZA",""));
	
	var DatiProdotto=CreaNodoSemplice("DATIPRODOTTO","");
	
	DatiProdotto.appendChild(CreaNodoSemplice("IDPRODOTTO",""));
	DatiProdotto.appendChild(CreaNodoSemplice("CODICE",""));
	DatiProdotto.appendChild(CreaNodoSemplice("DESCRIZIONE",""));
	DatiProdotto.appendChild(CreaNodoSemplice("MARCA",""));
	DatiProdotto.appendChild(CreaNodoSemplice("MODELLO",""));
	DatiProdotto.appendChild(CreaNodoSemplice("MISURE",""));
	DatiProdotto.appendChild(CreaNodoSemplice("CATEGORIA",""));
	DatiProdotto.appendChild(CreaNodoSemplice("QUANTITA",""));
	DatiProdotto.appendChild(CreaNodoSemplice("PREZZO",""));

	var DatiFornitore=CreaNodoSemplice("DATIANAGRAFICI","");
	
	DatiFornitore.appendChild(CreaNodoSemplice("IDANAGRAFICA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("TIPOSOGGETTO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CODICESOGGETTO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("COGNOMERAGIONESOCIALE",""));
	DatiFornitore.appendChild(CreaNodoSemplice("NOME",""));
	DatiFornitore.appendChild(CreaNodoSemplice("INDIRIZZO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("PIANO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("SCALA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("INTERNO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("LOCALITA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CAP",""));
	DatiFornitore.appendChild(CreaNodoSemplice("ZONA",""));
	DatiFornitore.appendChild(CreaNodoSemplice("PARTITAIVA_CODICEFISCALE",""));
	DatiFornitore.appendChild(CreaNodoSemplice("TELEFONO",""));
	DatiFornitore.appendChild(CreaNodoSemplice("CELLULARE",""));
	DatiFornitore.appendChild(CreaNodoSemplice("FAX",""));
	DatiFornitore.appendChild(CreaNodoSemplice("EMAIL",""));
	DatiFornitore.appendChild(CreaNodoSemplice("NOTE",""));
	
	var DatiOrganizzazione=CreaNodoSemplice("DATIORGANIZZAZIONE","");
	
	DatiProdotto.appendChild(DatiOrganizzazione);
	DatiProdotto.appendChild(DatiFornitore);	
	DatiProdotto.appendChild(CreaNodoSemplice("QUANTITA_PRENOTATA",""));
	DatiProdotto.appendChild(CreaNodoSemplice("SOTTO_CODICE",""));
		
	var DatiConsegna=CreaNodoSemplice("DATICONSEGNA","");
	
	DatiConsegna.appendChild(CreaNodoSemplice("IDCONSEGNA","-1"));
	DatiConsegna.appendChild(CreaNodoSemplice("ORARIO_INIZIO",""));
	DatiConsegna.appendChild(CreaNodoSemplice("ORARIO_FINE",""));
	DatiConsegna.appendChild(CreaNodoSemplice("NOTE",""));
	DatiConsegna.appendChild(CreaNodoSemplice("CAMION",""));
	DatiConsegna.appendChild(CreaNodoSemplice("NUMERO_CONSEGNA",""));
	DatiConsegna.appendChild(CreaNodoSemplice("NUMERO_FATTURA",""));
	DatiConsegna.appendChild(CreaNodoSemplice("ID_DETTAGLIO_ORDINE",""));

	DettaglioOrdineNode.appendChild(DatiProdotto);
	DettaglioOrdineNode.appendChild(DatiConsegna);
	return DettaglioOrdineNode;	
}
