//===========================================================================\\
//                     EVENTOS GLOBALES DEL FORMULARIO                       \\
//===========================================================================\\
/**
 * Inicializa la pagina
 */
function body_onLoad() {
	window.name = "MainWindow";		// Establecer el nombre de la ventana principal
}


function windowClose_onClick() {
	window.close();
}


function windowBack_onClick() {
	if (window.history.length > 0) {
		window.history.go(-1);	// window.history.back();
	} 
}

/**
* Funcion para realizar el cambio de idioma
*/
function changeToLanguage(language){
	var rpcCall = new RPC("global");
    var functionToCall = new FunctionElement("redirect");
    functionToCall.addParam( new Parametro("targetPage","String","o27aindex.jsp?idioma=" + language) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall); 
}

// -----------------
//		LIBROS
//-----------------
function viewBook_onClick(bookOID) {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("showBook");
    functionToCall.addParam( new Parametro("bookOID","String",bookOID) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function addBook_onClick(bookOID) {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("addBook");
    functionToCall.addParam( new Parametro("bookOID","String",bookOID) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function removeBook_onClick(bookOID) {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("removeBook");
    functionToCall.addParam( new Parametro("bookOID","String",bookOID) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}
function buscarLibros_OnClick() {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("listadoLibros");
    functionToCall.addParam( new Parametro("filtroXML","XML",getBookFilterXML().toXML()) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function decider_OnClick() {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("decider");
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}


function changeNumber(bookOID) {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("changeNumber");
    functionToCall.addParam( new Parametro("bookOID","String",bookOID) );
	var obj=eval("document.Cart.Unidades"+bookOID);
	functionToCall.addParam( new Parametro("units","String",obj.value) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function goHome() {
	var rpcCall = new RPC("global");
    var functionToCall = new FunctionElement("redirect");
    functionToCall.addParam( new Parametro("targetPage","String","o27aindex.jsp") );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall); 
}


function goCart() {
	var rpcCall = new RPC("global");
    var functionToCall = new FunctionElement("redirect");
    functionToCall.addParam( new Parametro("targetPage","String","o27aviewCart.jsp") );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall); 
}

function checkBookAvailability() {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("checkBookAvailability");
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function showOrderConf() {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("showOrderConfirm");
    functionToCall.addParam( new Parametro("orderXML","XML",getDatosPedidoXML().toXML()) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function makeOrder(){
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("makeOrder");
	//var rpcCall = new RPC("pasarela");
    //var functionToCall = new FunctionElement("doPay");    
    functionToCall.addParam( new Parametro("orderXML","XML",getDatosPedidoXML().toXML()) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function showOrderFilter () {
	var ventana=openModalWindow("",500,300,"o27aDialog");
	var rpcCall = new RPC("global");
    var functionToCall = new FunctionElement("redirect");
    functionToCall.addParam( new Parametro("targetPage","String","o27aorderFilter.jsp") );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall,ventana.name); 
}

function findOrder(ref,dni) {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("findOrder");
    functionToCall.addParam( new Parametro("orderReference","String",ref) );
    functionToCall.addParam( new Parametro("dni","String",dni) );
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

function endOrder() {
    var rpcCall = new RPC("books");
    var functionToCall = new FunctionElement("endOrder");
    rpcCall.addFunction(functionToCall);
    oRpcForm.sendRPCCall(rpcCall);    		// Enviar la llamada RPC
}

//___________________________________________________________________________\\
/** 
 * Función abre una ventana modal para pedir datos
 * @param   page: La página html a mostrar en la ventana modal
 * @return  Lo que se quiera devolver en la página mediante window.returnValue
 */
function openModalWindow( pagina, ancho, alto, nombre ) {
    var strFeatures;
    var oNewWindow;		// La nueva ventana
	var izda;
	var arriba;
	var altoBarraTareas = 60; 

	izda = parseInt(screen.width - ancho) / 2;
	arriba = parseInt(screen.height - alto) / 2;
	
	//Ajustes de tamanio y posicion de ventanas emergentes para 800x600
	if (screen.width == 800) {
		if (alto >= (screen.height-altoBarraTareas) ) alto = screen.height-altoBarraTareas;
		if (arriba >= (altoBarraTareas/2)) arriba -=(altoBarraTareas/2); //
	}

	
	strFeatures ='height='+alto+',width='+ancho+',top='+arriba+',left='+izda +','; 
	strFeatures += 'toolbar=0,menubar=0,scrollbars=1,resizable=1,location=0,directories=0,status=0';
	
	oNewWindow = window.open( pagina, nombre, strFeatures );
	return oNewWindow;
}




