
var TIE = { Version: '2.0.0-Client' };

/*	Gestor de Paises y Provincias	*/
TIE.SitiosManager = function(dropPaises, dropProvincias, idDivProvincias){
	this._paises = new Array();
	this._provincias = new Array();
	
	this._pID = dropPaises;
	this._prID = dropProvincias;	
	//this._tID = txtProvincias;
	this._divPrID = idDivProvincias;
		
	this.addPaises = function(){
		for(var i=0;i<arguments.length;i+=2){
			this._paises[arguments[i]] = arguments[i+1];
		}
	};
	
	this.addProvinciasPais = function(){
		if(arguments.length>0) {
			var idPais = arguments[0];
			this._provincias[idPais] = new Array();
			for(var i=1;i<arguments.length;i+=2){
				this._provincias[idPais][arguments[i]] = arguments[i+1];
			}
		}
	};
	
	this.dropPrShow = function(flag){
		var dropProvincias = Utils.getElement(this._prID);
		//var txtProvincias = Utils.getElement(this._tID);
		//dropProvincias.style.display =  flag ? 'inline' : 'none';		
		//txtProvincias.style.display =  flag ? 'none' : 'inline';
		//if(!flag){txtProvincias.value = '';}
		//else{txtProvincias.value = dropProvincias.options[dropProvincias.selectedIndex].value;}
		
		var provincias = Utils.getElement(this._divPrID);
		provincias.style.display =  flag ? 'inline' : 'none';
		
		var idProvinciaHidden = Utils.getElement('idProvincia');	
		
		if(flag) {
		    var idProvincia = dropProvincias.options[0].value;		    
		    idProvinciaHidden.value = idProvincia;	
		} else {
		    idProvinciaHidden.value = '0';
		};
	};
	
	this.onPaisesChange = function(){
		var drop = Utils.getElement(this._pID);
		var dropProvincias = Utils.getElement(this._prID);
		//get the selected pais, mirar si tiene alguna correpondencia, si la tiene esconder txt
		//provincias y mostrar drop. Si no las tiene a la inversa.
		var idPais = drop.options[drop.selectedIndex].value;
		if(this._provincias[idPais]!=undefined){
			var prov = this._provincias[idPais];
			var cont = 0;
			dropProvincias.options.length = 0;
			for(var p in prov){
			    if(p==0) {
				    dropProvincias.options[cont] = new Option(prov[p], '');
				} else {
				    dropProvincias.options[cont] = new Option(prov[p], p);
				};
				++cont;
			}
			this.dropPrShow(true);
		}
		else { this.dropPrShow(false);}								
	};
	
	this.onProvinciasChange = function(){
		var dropProvincias = Utils.getElement(this._prID);
		//var txtProvincias = Utils.getElement(this._tID);
		var idProvincia = dropProvincias.options[dropProvincias.selectedIndex].value;
		//txtProvincias.value = idProvincia;				
		
		var idProvinciaHidden = Utils.getElement('idProvincia');
		idProvinciaHidden.value = idProvincia;
	};
	
	this.onProvinciasBlur = function(){
		var dropProvincias = Utils.getElement(this._prID);
		//var txtProvincias = Utils.getElement(this._tID);
		//var provinciaName = txtProvincias.value;
		//dropProvincias.options.length = 0;
		//dropProvincias.options[0] = new Option(provinciaName, provinciaName);
	};
	
	this.init = function(){
		var drop = Utils.getElement(this._pID);
		var cont = 0;
		drop.options.length = 0;
		for(var p in this._paises){
		    if(p==0) {
			    drop.options[cont] = new Option(this._paises[p], '');
			} else {
			    drop.options[cont] = new Option(this._paises[p], p);
			};
			++cont;
		}								
	};
	
	this.selectPais = function(intIdPais){
		var dropPaises = Utils.getElement(this._pID);
		for(var i=0;i<dropPaises.options.length;i++){
			if(dropPaises.options[i].value==intIdPais){
				dropPaises.options[i].selected = true;
				break;
			}
		}
	};
	
	this.selectProvincia = function(intIdProvincia, strProvincia){
		var drop = Utils.getElement(this._pID);
		var dropProvincias = Utils.getElement(this._prID);
		//var txtProvincias = Utils.getElement(this._tID);
		this.onPaisesChange();
		var flag = false
		for(var i=0;i<dropProvincias.options.length;i++){
			if(dropProvincias.options[i].value==intIdProvincia){
				dropProvincias.options[i].selected = true;
				flag = true;
				break;
			}
		}
		if(flag){this.dropPrShow(true);}
		else { this.dropPrShow(false);}
		//txtProvincias.value = strProvincia;				
	};
}


TIE.PagoManager = function(radioFormasPagoID, hiddenIdPedidoID){
	this._fp = new Array();
	this._rID = radioFormasPagoID;
	this._hID = hiddenIdPedidoID;
	
	this.addFormaPago = function(intIdFormaPago, evalfunction, idPedido){
		var formaPago = new Array();
		formaPago['id'] = intIdFormaPago;
		formaPago['evalfunction'] = evalfunction;
		formaPago['idpedido'] = idPedido;
		this._fp[this._fp.length] = formaPago;
	};
	
	this.onButtonClick = function(formulario){
		var radio = formulario[this._rID];
		var idFP = 0;
		if(radio.length!=undefined && radio.length>0)
		{
			for(var i=0;i<radio.length;i++){
				if(radio[i].checked){
					idFP = radio[i].value;
					break;
				}
			}
		}
		else { idFP = radio.value;}
		//obtener la forma de pago de las formas guardadas en el array i actuar segun las necesidades
		var formaPago = this._getFormaPago(idFP);
		var hIdPedido = Utils.getElement(this._hID);
		hIdPedido.value = formaPago['idpedido'];
		eval(formaPago['evalfunction']);
		return false;
	};
	
	this._getFormaPago = function(intIdFormaPago){
		for(var i=0;i<this._fp.length;i++){
			var auxfp = this._fp[i];
			if(auxfp['id']==intIdFormaPago){
				return auxfp;	
			}
		}
		return null;
	};
}
