
/*
 * @version Id: initEvents.js 06/feb/07
 * @package Parcelle
 * @copyright Copyright (C) 2007 Andrea Bizzotto - Tecnobit S.R.L. All rights reserved.
 * @license 
 * Created on 06/feb/07
 *
 * This file covers new parcel initialization on page (loading parcel, entry point for tree and list, dump loading)
 * and some functions used in user login
 */


/* Login */

function doLogin(formId) {

	var form = $(formId);
	var login = $('login-edit').value;
	var pass = $('pass-edit').value;
	
	form.submit();
}

function doKeyLogin(formId, key){

	if (key == 13)
		doLogin(formId);
}

// function to show right dump div
function loadDump() {

	dhtmlwindow.open("right", "ajax", "dumpWindow.php", "Dump Applicazione", "width=300px,height=675px,left=1113px,top=6px,resize=1,scrolling=1");
}


// function to submit parcel to be deleted
function responseSubmitDeleteParcel(param) {
	if (param != null){
		if (param.responseText == 'closeParcel'){			
			$('cmdFormSubmit').click();
			//$('commandForm').submit();		
		}
		else{
			$('loadForm').submit();
		}	
	}	
	//$('loadForm').submit();
}

/*
	Delete submitted parcel. If parcelId == 0 delete all parcels; if parcel == '' delete parcel with id in current session.
*/
function submitDeleteParcel(parcelId) {
	var message;

	if (parcelId == '0') {
	   message = "Eliminare tutte le parcelle?\nQuesta operazione non potra' essere annullata." ;
	}
	else{
	   message = "Eliminare la parcella?\nQuesta operazione non potra' essere annullata.";
	}
	   
	if (window.confirm(message)) {
		var pars;
		//
		if (parcelId == ''){
			pars = "action=deleteParcel";
		}
		else{
			pars = "action=deleteParcel&id=" + parcelId;
		}		
		new Ajax.Request(PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseSubmitDeleteParcel});
	}
	
	/*	
	var message = parcelId == '0' ?
	   "Eliminare tutte le parcelle?\nQuesta operazione non potra' essere annullata." :
	   "Eliminare la parcella?\nQuesta operazione non potra' essere annullata.";
	   
	if (window.confirm(message)) {
		var pars = "action=deleteParcel&id=" + parcelId;
		new Ajax.Request(PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseSubmitDeleteParcel});
	}
	*/
}

function responseSubmitOpenParcel(param) {
	if (param.responseText == "locked") {	
		if (window.confirm("La parcella e' gia' aperta in un'altra finestra o non e' stata chiusa in una sessione precedente.\nOperare con piu' finestre sulla stessa parcella puo' comprometterne la struttura.\nAprire comunque la parcella?"))
			$('loadForm').submit();
	}
	else {
		$('loadForm').submit();
	}
}

function submitOpenParcel(parcelId) {
	var pars = "action=openParcel&id=" + parcelId;
	new Ajax.Request(PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseSubmitOpenParcel});
}

//response after duplication 
function responseSubmitDuplicateParcel(param) {
	if (param.responseText == "error")
		alert("Si e' verificato un errore durante la duplicazione della parcella !");
	else
	{		
		alert("Duplicazione avvenuta con successo !");
		$('loadForm').submit();
	}
}
// submit parcel id and start duplication process
function submitDuplicateParcel(parcelId) {
	var pars = "action=duplicateParcel&id=" + parcelId;
	new Ajax.Request(PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseSubmitDuplicateParcel});
}


// the following two functions perform parcel load in the init stage of page loading
// ajax response to loadParcel
function responseLoadParcel(param) {

	var i;
	var doc = createDomParser(param.responseText);
	var root = doc.getDocumentElement();
	
	if (root.getNodeName() == "error") {
		alert(root.getFirstChild().getNodeValue() + "\nContattare gli amministratori di sistema");
		return false;
	}
	var sectionText, sectionId = 1000;
	var childs = root.getChildNodes();
	for (i = 0; i < childs.getLength(); i++) {
		
		var attributes = childs.item(i).getAttributes();
		sectionId = parseInt('' + attributes.getNamedItem("id").getNodeValue());
		sectionText = '' + attributes.getNamedItem("text").getNodeValue();
		
		if ((sectionId % 100) == 0)
			lastSection = sectionId;
		
		addListSection(sectionId, sectionText);
	}
	// update counters status
	sectionsCount = childs.getLength();
	lastSection += 100;
	
	//update totals if necessary
	var pars = "action=updateParcelTotals";
	new Ajax.Updater("wizardDiv", PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseUpdateParcelTotals});

	//check if appear should be updated in 
	var pars = "action=checkParcelAppearUpdated";
	new Ajax.Updater("wizardDiv", PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseCheckParcelAppearUpdated});	
}

// this function is usefull when total's are changed .
// if a parcel totals should be reloaded, update the field in database.
function responseUpdateParcelTotals(param) {
	if (param.responseText == "Y")
		updateTotals();	
}

// function called to update section state variables and list control
function loadParcel() {	
	var pars = "action=loadParcel";
	new Ajax.Updater("wizardDiv", PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: responseLoadParcel});

}

function getSaveMode(param) {

	parcelSaveMode = param.responseText;
}
// This function is called on body::onLoad and parses the hidden 'actions' input control
// the value of that string is a list of actions that correspond to javascript calls
function pageInit() {

	var actionsCtrl =  document.getElementById('actions'); 
	
	if (actionsCtrl != null){	
		var actions= actionsCtrl.value;
		if (actions.indexOf('loadInterface') >= 0) {
	
			loadTree();
			loadList();
	
			// gets user save mode
			var pars = "action=getSaveMode";
			new Ajax.Request(PHP_RESPONSE_FILE, {method: 'get', parameters: pars, onFailure: reportError, onComplete: getSaveMode});
		}
		if (actions.indexOf('loadParcel') >= 0)
			loadParcel();
		if (actions.indexOf('loadDump') >= 0)
			loadDump();
	}
}

/*function loadMainmenu()
{
    var menuModel = new DHTMLSuite.menuModel();";
    menuModel.addItem(1,'Nuova parcella','img/new.gif','index.php?option=newParcel',false,'','');";
    menuModel.addItem(2,'Carica parcella','img/open.gif','index.php?option=openParcel',false,'','');";
    menuModel.addItem(3,'Preferenze Totali','img/pref_totals.gif','index.php?option=totalsParcel',false,'','');";
    menuModel.addItem(4,'Esci','img/exit.gif','index.php?option=logout',false,'','');";
    menuModel.init();";
    var menuBar = new DHTMLSuite.menuBar();";
    menuBar.addMenuItems(menuModel);";
    menuBar.setTarget('navigation');";
    menuBar.init();";
} */
