/*
@summary: control de Monedas con precio  
@author: Jose Carlos Calvo Tudela
@revision: Rafael Higuera Matas; se ha reimplementado gran parte del control para simplificar su lógica y no usar una cola de descarga
@revision 24/04/2009: Rafael Higuera Matas; se ha reimplementado para no usuar objeto XmlHttpRequest y en su lugar hacer uso de <scripts src=""> y poder así llamar a un dominio distinto (dominio de recursos)
*/

//@summary: clase que representa una moneda asociada a un producto
function ControlMoneda(codigoProducto,displayId,contexto,codigoUsuario,codigoProductoSuplemento)
{
	var _codigoProducto=_noUndefined(codigoProducto,0);	
	var _codigoProductoSuplemento=_noUndefined(codigoProductoSuplemento,'');	
	var _contexto=_noUndefined(contexto,'');
	var _codigoUsuario=_noUndefined(codigoUsuario,0);
	var _displayId=_noUndefined(displayId,'');		
	var _urlBaseRecursos="http://recursos.axesor.es";	
	var _mecanismoRPC="1";
	
		
	var _this=this;
		
		
	this.getCodigoProducto=function() {
		return _codigoProducto;
	}
	
	
	
	this.getDisplayId=function() {
		return _displayId;
	}
	
	this.getContexto=function() {
		return _contexto;
	}
	
	this.getCodigoUsuario=function() {
		return _codigoUsuario;
	}
	
	
	this.getUrlBaseRecursos=function() {
		return _urlBaseRecursos;
	}
	
	this.setUrlBaseRecursos=function(value) {
		if (value){
			_urlBaseRecursos=value;
		}
						
	}
	
	this.getMecanismoRPC=function() {
		return _mecanismoRPC;
	}
	
	this.setMecanismoRPC=function(value) {
		_mecanismoRPC=value;
						
	}
	
	this.getCodigoProductoSuplemento=function() {
		return _codigoProductoSuplemento;
	}
	
	this.setCodigoProductoSuplemento=function(value) {
		_codigoProductoSuplemento=value;
	}
	
	
	//@summary: método para mantener compatibilidad
	this.Paint=function(reservado) {	
		return this.pintar();
	}
	
				
	
	
	
	//@summary: realiza el pintado del control en el display especificado
	this.pintar=function() {

		
		document.getElementById(_displayId).innerHTML='<a href="javascript:void(null)"  onmouseover="javascript:mostrari(\'Calculando precio...\')" onmouseout="javascript:ocultar()"><img src="/img/monedas.gif" width="26" height="15" border="0" /></a>';										
		
		
		if (_mecanismoRPC=="1") {
		
			//mecanismoRPC: <script src="">
			
						
			if (typeof AnotarEvento=="undefined") {
				this._renderPintar();
			}else {			
				//Retrasa  el pintado hasta que se invoquen los eventos globales de página (normalmente al final de la página). Ver js/gestionEventos.js
				AnotarEvento(this._renderPintar);			
			}
			
		} else {
		
		
			//TODO: revisar pq no funciona correctamente en IE 7.0.
			
			document.domain="axesor.es";
			var el = document.createElement("iframe");
			el.setAttribute('id', 'ifrm');
			el.setAttribute('src', _combinarUrlRecursos(_urlBaseRecursos,"tarifasws.asp?tip_rpc=1&tip_formato=1&cod_producto=" + _codigoProducto + "&cod_producto_suplemento=" + _codigoProductoSuplemento + "&cod_usuario=" + _codigoUsuario + "&id_display=" + _displayId + "&info_contexto=" + escape(_contexto)));
			el.style.width = "0px";
			el.style.height = "0px";
			el.style.frameborder= "no";
			el.style.marginwidth="0"; 
			el.style.marginheight="0";
			el.style.AllowTranparency="true";
		
			document.body.appendChild(el);
		
		
		}
		
		
																										
	}
	
	
	this._renderPintar=function() {
		
		var scriptTagName="script";
		
		var js="<" + scriptTagName + " LANGUAGE='JavaScript'  src='" + _combinarUrlRecursos(_urlBaseRecursos,"tarifasws.asp?tip_formato=1&cod_producto=" + _codigoProducto + "&cod_producto_suplemento=" + _codigoProductoSuplemento + "&cod_usuario=" + _codigoUsuario + "&id_display=" + _displayId + "&info_contexto=" + escape(_contexto)) + "'>" +  "</" + scriptTagName + ">";
										
		//alert(js);			
		
		document.write(js);
		
		
				
	
	}
	
	
			
	
	function _noUndefined(valor,valorNoUndefined){
		if (valor==undefined || valor==null)
			return valorNoUndefined;
		else
			return valor;
	}
	
	function _combinarUrlRecursos(baseUrl,url){
				
		var salida="";
		
		baseUrl=_noUndefined(baseUrl,"");
		url=_noUndefined(url,"");
		
		
		if (baseUrl.length>0)
		{
				
			if (baseUrl.length>0 && baseUrl.charAt(baseUrl.length-1)=='/')
				baseUrl=baseUrl.substring(0,baseUrl.length-2);
				
			if (url.length>0 && url.charAt(0)=='/')
				url=url.substring(1);
				
				
			salida=baseUrl + '/' + url;
							
		}
		else
		{
			salida=url;
		}
			
							
		return salida;
	}
	
		
		
}
	

