
var MsjQueHacer = function(conf){
	//
	this.show = function(msj){
		//$('msjQueHacer' + oConf.anex).innerHTML = msj;
		
		var l = $('capaQueHacer' + oConf.anex);
		l.style.top = (((HScreen() - l.offsetHeight) / 2) + YPos()) + 'px';
		l.style.left = (((WScreen() - l.offsetWidth) / 2) + XPos()) + 'px';
		l.style.visibility = 'visible';
		
		AddEvent($('btn1QueHacer' + oConf.anex), 'click', accept1);
		AddEvent($('btn2QueHacer' + oConf.anex), 'click', accept2);		
	}
	
	this.hide = function(){
		var l = $('capaQueHacer' + oConf.anex);
		l.style.visibility = 'hidden';
		l.style.top = '-1000px';
	}
	
	this.onAccept1 = null;
	this.onAccept2 = null;
	
	var accept1 = function(e){
		if(!!e){ StopEvent(e); }
		this.hide();
		if(!!this.onAccept1){ this.onAccept1(); }
	}.closure(this);

	var accept2 = function(e){
		if(!!e){ StopEvent(e); }
		this.hide();
		if(!!this.onAccept2){ this.onAccept2(); }
	}.closure(this);


	
	var oConf = conf;
	//
}

// JavaScript Document
var oCarroGen = new function(){
	
	//A
	this.analizarTeclaRegistro = function(e){
		if(e.keyCode == 13)this.enviarRegistro();
	}	
	this.analizarTeclaLogin = function(e){
		if(e.keyCode == 13)this.login();
	}	
	
	this.abrirPop = function(a,tipo,e){
		if(e)StopEvent(e);
		tipoApertura = tipo;		
		if(!popSeteado){
			if(!cargandoPop){
				aTemp = a;
				cargandoPop = true;
				Blocker.show();
				Loader.show();
				reqType = 'cargarPop';
				enviar(DIR_SERVER_ROOT + 'requests/cargar.php','file' + SEP_IGUAL + 'includes/carro/popCarroCompra.php' + SEP_AND);				
			}
		}
		else{
			aTemp = a;
			
			if(tipo == 'recuperar'){
				$('btnVolverRecContPopCarro').style.display = 'none';
				$('tituloRecuperarPopCarro').style.display = '';
				$('tituloIngresarPopCarro').style.display = 'none';
			}
			else{
				$('btnVolverRecContPopCarro').style.display = '';
				$('tituloRecuperarPopCarro').style.display = 'none';
				$('tituloIngresarPopCarro').style.display = '';
				
			}
			
			this.cambiarForma(tipo);
			MostrarContenido(PopUp);
			Blocker.show();
			
		}
	}	
	this.agregarProducto = function(idElemento,tipoElemento,titulo,e,continuar){
		//$('contCantidadItemsTop').parentNode.style.display = 'block';				
		var cookProducto = oCookie.get('productosCarro');
		var clave = tipoElemento + '-' + idElemento;
		var ArrProducto = new Array();
		if(cookProducto){
			ArrProducto = unserialize(cookProducto);
		}
		if(!ArrProducto[clave]){
			ArrProducto[clave] = new Array();
			ArrProducto[clave]['cantidad'] = 0;
		}
		if(tipoElemento != 'producto')ArrProducto[clave]['cantidad'] = 0;
		clearInterval(intervaloMostrar);
		intervaloMostrar = 0;
		ArrProducto[clave]['cantidad']++;
		//$('nombreProductoAdicionado').innerHTML = titulo;
		//$('contNombreProductoAdicionado').style.display = 'block';
		//setTimeout(function(){$('contNombreProductoAdicionado').style.display = 'none'},5000);
		var serCook = serialize(ArrProducto);
		oCookie.set('productosCarro', serCook);
		/*var cantidad = 0;
		var i;
		for(i in ArrProducto){
			cantidad++;
		}
		$('cantidadItemsTop').innerHTML = cantidad;		
		$('contCantidadItemsTop').style.display = 'block';
		*/
		
		claseGen = 'popItemAdd';

		this.setTotalCart();
		this.moverPopAddItem();
		
		
		if(!continuar)if(e)StopEvent(e);
	}
	
	//C
	this.cambiarForma = function(tipo,e){
		if(tipo == 'login'){
			
			if(!this.desdeMenu){
			
				$('layPopRegistroCarro').style.display = 'none';
				$('layPopCarro').style.display = 'block';			
				$('contLoginCarro').style.display = 'block';
				$('contRecuperarContrasena').style.display = 'none';
				MostrarContenido(PopUp);			
			}
			else{
				this.desdeMenu = false;
				$('layPopRegistroCarro').style.display = 'none';
				FireEvent($('cerrarPopCarro'),'click');	
			}
		}
		else if(tipo == 'recuperar'){
			$('layPopRegistroCarro').style.display = 'none';			
			$('layPopCarro').style.display = 'block';
			$('contLoginCarro').style.display = 'none';
			$('contRecuperarContrasena').style.display = 'block';
		}
		else if(tipo == 'registro'){
			if(this.desdeMenu)$('volverPopCarro').style.display = 'none';
			else $('volverPopCarro').style.display = '';
			$('layPopCarro').style.display = 'none';		
			$('layPopRegistroCarro').style.display = 'block';
			MostrarContenido($('layPopRegistroCarro'));
			$('contLoginCarro').style.display = 'none';
			$('contRecuperarContrasena').style.display = 'none';
		}
		if(e)StopEvent(e);
	}	

	//E
	this.enviarRegistro = function(evt){
		var error = false, t = '';
		$('errorYaRegistradoRegistroCarro').style.display = 'none';
		$('errorCamposRegistroCarro').style.display = 'none';
		if(evt){ StopEvent(evt); }
		if(!listo){ return false; }

		nombreRegistro.onblur();
		if(nombreRegistro.parentNode.className == errorClass){ error = true; }
		
		apellidoRegistro.onblur();
		if(apellidoRegistro.parentNode.className == errorClass){ error = true; }

		direccionRegistro.onblur();
		if(direccionRegistro.parentNode.className == errorClass){ error = true; }

		telefonoRegistro.onblur();
		if(telefonoRegistro.parentNode.className == errorClass){ error = true; }


		emailRegistro.onblur();
		if(emailRegistro.parentNode.className == errorClass){ error = true; }

		cpRegistro.onblur();
		if(cpRegistro.parentNode.className == errorClass){ error = true; }


		provinciaRegistro.onblur();
		if(provinciaRegistro.parentNode.className == errorClass){ error = true; }
		
		ciudadRegistro.onblur();
		if(ciudadRegistro.parentNode.className == errorClass){ error = true; }

		if(barrioRegistro){
			barrioRegistro.onblur();
			if(barrioRegistro.parentNode.className == errorClass){ error = true; }
		}


		contrasenaRegistro.onblur();
		if(contrasenaRegistro.parentNode.className == errorClass){ error = true; }

		confirmarContrasenaRegistro.onblur();
		if(confirmarContrasenaRegistro.parentNode.className == errorClass){ error = true; }
		$('errorYaRegistradoRegistroCarro').style.display = 'none';
		
		if(trim(contrasenaRegistro.value) != trim(confirmarContrasenaRegistro.value)){
			$('errorContrasenaRegistroCarro').style.display = 'block';
		}
		else{
			$('errorContrasenaRegistroCarro').style.display = 'none';
		}
		
		
		if(error){
			$('errorCamposRegistroCarro').style.display = 'block';
			return false;
		}
		else{
			$('errorCamposRegistroCarro').style.display = 'none';
		}
		
		
		listo = false;
		reqType = 'registroPop';

		t += 'tipo' + SEP_IGUAL + reqType + SEP_AND;
		t += 'nombre' + SEP_IGUAL + trim(nombreRegistro.value) + SEP_AND;
		t += 'apellido' + SEP_IGUAL + trim(apellidoRegistro.value) + SEP_AND;
		t += 'email' + SEP_IGUAL + trim(emailRegistro.value) + SEP_AND;
		t += 'idPais' + SEP_IGUAL + trim(paisRegistro.value) + SEP_AND;
		t += 'idProvincia' + SEP_IGUAL + trim(provinciaRegistro.value) + SEP_AND;
		t += 'idCiudad' + SEP_IGUAL + trim(ciudadRegistro.value) + SEP_AND;
		t += 'nombreProvincia' + SEP_IGUAL + trim(provinciaRegistroNombre.value) + SEP_AND;
		t += 'nombreCiudad' + SEP_IGUAL + trim(ciudadRegistroNombre.value) + SEP_AND;
		t += 'direccion' + SEP_IGUAL + trim(direccionRegistro.value) + SEP_AND;
		t += 'cp' + SEP_IGUAL + trim(cpRegistro.value) + SEP_AND;
		t += 'telefono' + SEP_IGUAL + trim(telefonoRegistro.value) + SEP_AND;

		if(barrioRegistro){
			t += 'conBarrio' + SEP_IGUAL + 1 + SEP_AND;				
			t += 'idBarrio' + SEP_IGUAL + trim(barrioRegistro.value) + SEP_AND;
			t += 'nombreBarrio' + SEP_IGUAL + trim(barrioNRegistro.value) + SEP_AND;				
		}


		t += 'usuario' + SEP_IGUAL + trim(usuarioRegistro.value) + SEP_AND;
		t += 'contrasena' + SEP_IGUAL + trim(contrasenaRegistro.value) + SEP_AND;
		t += 'confirmarContrasena' + SEP_IGUAL + trim(confirmarContrasenaRegistro.value) + SEP_AND;			

		Loader.show();
		$('layPopRegistroCarro').style.visibility = 'hidden';

		enviar(DIR_SERVER_ROOT + 'requests/carro.php', t);
	}			
	var enviar = function(archivo,v){
		if(!req)req = new Request(listener);
		req.pedir(archivo,v);
	}	

	//I
	var inicializarPop = function(){
		PopUp = $('layPopCarro');	
		
		usuario = $('usuarioLoginCarro');
		contrasena = $('contrasenaLoginCarro');		
		
		
		
		nombreRegistro = $('nombreRegistroCarro');
		if(!nombreRegistro.onblur){
			nombreRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || v.length < 3){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(nombreRegistro);
		}
		
		apellidoRegistro = $('apellidoRegistroCarro');
		if(!apellidoRegistro.onblur){
			apellidoRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || v.length < 3){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(apellidoRegistro);
		}
		
		emailRegistro = $('emailRegistroCarro');
		usuarioRegistro = $('usuarioRegistroCarro');
		if(!emailRegistro.onblur){
			emailRegistro.onblur = function(){
				var v = this.value = trim(this.value.toLowerCase());
				if(!erEmail.test(v)){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
				usuarioRegistro.value = trim(emailRegistro.value);
			}.closure(emailRegistro);
		}		
	
		direccionRegistro = $('direccionRegistroCarro');
		if(!direccionRegistro.onblur){
			direccionRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || v.length < 3){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(direccionRegistro);
		}
		
		cpRegistro = $('cpRegistroCarro');
		if(!cpRegistro.onblur){
			cpRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || v.length < 3){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(cpRegistro);
		}
		
		telefonoRegistro = $('telefonoRegistroCarro');
		if(!telefonoRegistro.onblur){
			telefonoRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || v.length < 3){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(telefonoRegistro);
		}		
				
				
				
		paisRegistro = $('paisRegistroCarro');
		if(!paisRegistro.onchange){
			paisRegistro.onchange = function(){
				provinciaRegistro.disabled = ciudadRegistro.disabled = true;
				
				provinciaRegistroNombre.style.display = ciudadRegistroNombre.style.display = 'none';
				
				reqType = 'provincias';
				
				var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
				v += 'idPais' + SEP_IGUAL + $('paisRegistroCarro').value + SEP_AND;
				
				enviar(DIR_SERVER_ROOT + 'requests/zonas_geograficas.php', v);
			};
		}
		provinciaRegistro = $('provinciaRegistroCarro');
		provinciaRegistroNombre = $('provinciaNombreRegistroCarro');		
		if(!provinciaRegistro.onchange){
			provinciaRegistro.onchange = function(){
				
				var v = trim(provinciaRegistro.value);
				
				ciudadRegistro.disabled = true;
				provinciaRegistroNombre.style.display = (v == '0')? '' : 'none';
				ciudadRegistroNombre.style.display = 'none';
				
				if(erNumero.test(v) && v != ''){
					
					reqType = 'ciudades';
					
					var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
					v += 'idProvincia' + SEP_IGUAL + provinciaRegistro.value + SEP_AND;
					
					enviar(DIR_SERVER_ROOT + 'requests/zonas_geograficas.php', v);
				}
			};
		}
		if(!provinciaRegistro.onblur){
			provinciaRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || !erNumero.test(v)){ this.parentNode.className = errorClass; }
				else{ provinciaRegistroNombre.onblur(); }
			}.closure(provinciaRegistro);
		}
		if(!provinciaRegistroNombre.onblur){
			provinciaRegistroNombre.onblur = function(){
				var v = trim(this.value);
				if(provinciaRegistro.value == '0' && (v == '' || v.length < 3)){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(provinciaRegistroNombre);
		}
		
		ciudadRegistro = $('ciudadRegistroCarro');
		ciudadRegistroNombre = $('ciudadNombreRegistroCarro');		
		
		barrioRegistro = $('barrioRegistroCarro');	
		if(!ciudadRegistro.onchange){
			if(barrioRegistro){
				ciudadRegistro.onchange = function(){
					
					var v = trim(ciudadRegistro.value);
					
					barrioRegistro.disabled = true;
					ciudadRegistroNombre.style.display = (v == '0')? '' : 'none';
					barrioNRegistro.style.display = 'none';
					
					if(erNumero.test(v) && v != ''){
						
						reqType = 'barrios';
						
						var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
						v += 'idCiudad' + SEP_IGUAL + ciudadRegistro.value + SEP_AND;
						
						req.pedir(DIR_SERVER_ROOT + 'requests/zonas_geograficas.php', v);
					}
				};
			}
			else{
			
				ciudadRegistro.onchange = function(){
					var v = trim(ciudadRegistro.value);
					ciudadRegistroNombre.style.display = (v == '0')? '' : 'none';
					
				};
			}
		}
		if(!ciudadRegistro.onblur){
			ciudadRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || !erNumero.test(v)){ this.parentNode.className = errorClass; }
				else{ ciudadRegistroNombre.onblur(); }
			}.closure(ciudadRegistro);
		}
		if(!ciudadRegistroNombre.onblur){
			ciudadRegistroNombre.onblur = function(){
				var v = trim(this.value);
				if(ciudadRegistro.value == '0' && (v == '' || v.length < 3)){ this.parentNode.className = errorClass; }
				else{ this.parentNode.className = ''; }
			}.closure(ciudadRegistroNombre);
		}
		

		if(barrioRegistro){
			if(!barrioRegistro.onchange){
				barrioRegistro.onchange = function(){
					
					var v = trim(barrioRegistro.value);
					
					barrioNRegistro.style.display = (v == '0')? '' : 'none';

					
				};
			}
			if(!barrioRegistro.onblur){
				barrioRegistro.onblur = function(){
					var v = trim(this.value);
					if(v == '' || !erNumero.test(v)){ this.parentNode.className = errorClass; }
					else{ barrioNRegistro.onblur(); }
				}.closure(barrioRegistro);
			}
			
			barrioNRegistro = $('barrioNombreRegistroCarro');
			if(!barrioNRegistro.onblur){
				barrioNRegistro.onblur = function(){
					var v = trim(this.value);
					if(barrioRegistro.value == '0' && (v == '' || v.length < 3)){ this.parentNode.className = errorClass; }
					else{ this.parentNode.className = ''; }
				}.closure(barrioNRegistro);
			}
		}
		
		
		contrasenaRegistro = $('contrasenaRegistroCarro');
		confirmarContrasenaRegistro = $('confirmarContrasenaRegistroCarro');
		errorContrasena = $('errorContrasenaRegistroCarro');
		if(!contrasenaRegistro.onblur){
			contrasenaRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || v.length < 3|| confirmarContrasenaRegistro.value != contrasenaRegistro.value){ 
					this.parentNode.className = errorClass; 
					if(trim(contrasenaRegistro.value) != trim(confirmarContrasenaRegistro.value)){
						errorContrasena.style.display = 'block';
					}
					else{
						errorContrasena.style.display = 'none';
					}
				}
				else{ 
					this.parentNode.className = '';
					confirmarContrasenaRegistro.parentNode.className = '';
					errorContrasena.style.display = 'none';
				}
			}.closure(contrasenaRegistro);
		}
		if(!confirmarContrasenaRegistro.onblur){
			confirmarContrasenaRegistro.onblur = function(){
				var v = trim(this.value);
				if(v == '' || confirmarContrasenaRegistro.value != contrasenaRegistro.value){ 
					this.parentNode.className = errorClass; 
					if(trim(contrasenaRegistro.value) != trim(confirmarContrasenaRegistro.value)){
						errorContrasena.style.display = 'block';
					}
					else{
						errorContrasena.style.display = 'none';
					}
					
				}
				else{ 
					this.parentNode.className = '';
					contrasenaRegistro.parentNode.className = '';
					errorContrasena.style.display = 'none';						
				}

			}.closure(confirmarContrasenaRegistro);
		}
	   	AddEvent($('cerrarPopCarro'), 'click', function(){
			OcultarContenido(PopUp);
			Blocker.hide();
		});
		
		
	}

	//L
	this.login = function(e){
		var error = false;
		if(trim(usuario.value) == ''){
			$('errorUsuarioLogin').style.display = 'block';
			error = true;
		}
		else $('errorUsuarioLogin').style.display = 'none';

		if(trim(contrasena.value) == ''){
			$('errorContrasenaLogin').style.display = 'block';
			error = true;
		}
		else $('errorContrasenaLogin').style.display = 'none';
		
		if(!error){
			reqType = 'logueo';
			var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
			v += 'usuario' + SEP_IGUAL + trim(usuario.value) + SEP_AND;
			v += 'contrasena' + SEP_IGUAL + trim(contrasena.value) + SEP_AND;			
			Loader.show();
			$('layPopCarro').style.visibility = 'hidden';
			enviar(DIR_SERVER_ROOT + 'requests/carro.php', v);
		}

		if(e)StopEvent(e);
	}	
	this.logout = function(e){
		reqType = 'logout';
		var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
		Loader.show();
		enviar(DIR_SERVER_ROOT + 'requests/carro.php', v);
		if(e)StopEvent(e);
	}			
	var limpiarCamposRegistro = function(){
		nombreRegistro.value = '';
		apellidoRegistro.value = '';
		direccionRegistro.value = '';
		telefonoRegistro.value = '';
		emailRegistro.value = '';
		cpRegistro.value = '';		
		contrasenaRegistro.value = '';
		confirmarContrasenaRegistro.value = '';
	}	
	var listener = function(){
		var d = req.respuestaXML;
		listo = true;
		if(!d){ alert(req.respuestaHTML); }
		else if(reqType == 'cargarPop'){
			cargarHTMLRequest(d.firstChild.data);
			inicializarPop();
			popSeteado = true;		
			Blocker.hide();
			Loader.hide();
			this.abrirPop(aTemp,tipoApertura);
		}
		else if(reqType == 'logueo'){
			if(d.getAttribute('tipo') == 'exito'){
				if(!this.cuandoLogueo){
					location.reload();
					
				}
				else this.cuandoLogueo();
			}
			else{
				var i;
				var errores = d.getAttribute('errores').split(',');

				for(i=0;i<errores.length;i++){
					if($('error' + errores[i] + 'Login')){
						if(errores[i] == 'Inexistente')$('error' + errores[i] + 'Login').innerHTML = d.firstChild.data;							
						$('error' + errores[i] + 'Login').style.display = 'block';
					}
				}
				$('layPopCarro').style.visibility = 'visible';
			}
			
			Loader.hide();
		}	
		else if(reqType == 'registroPop'){

			if(d.getAttribute('tipo') == 'exito'){
				OcultarContenido($('layPopRegistroCarro'));
				Blocker.show();
				Exito.onAccept = function(){
					Blocker.hide();
					limpiarCamposRegistro();
					Blocker.show();
					Loader.show();
					location.reload();

					
				};
				Exito.show(d.firstChild.data);
				
			}
			else if(d.getAttribute('tipo') == 'error'){
				if(d.getAttribute('tipoError') == 'errorRegistro'){
					Error.onAccept = Error.onCancel = function(){
						Error.hide();
						Blocker.hide();
					}
					Error.show(d.firstChild.data);
				}
				else if(d.getAttribute('tipoError') == 'yaRegistrado'){
					$('errorYaRegistradoRegistroCarro').style.display = 'block';
				}
				else if(d.getAttribute('tipoError') == 'errorCampos'){
					var i;
					var partErr = d.getAttribute('errores').split(',');
					for(i in partErr){
						if($(partErr[i] + 'RegistroCarro'))$(partErr[i] + 'RegistroCarro').parentNode.className = errorClass;
					}
					$('errorCamposRegistroCarro').style.display = 'block';
				}
				Blocker.show();
			}
		}		
		else if(reqType == 'recuperarContrasenia'){
			if(d.getAttribute('tipo') == 'exito'){
				Exito.onAccept = function(){
					$('layPopCarro').style.visibility = 'visible';
					FireEvent($('cerrarPopCarro'), 'click');						
				};
				Exito.show(d.firstChild.data);
				$('errorInexistenteRecuperar').style.display = 'none';
			}
			else{
				$('errorInexistenteRecuperar').innerHTML = d.firstChild.data;
				$('errorInexistenteRecuperar').style.display = 'block';
				$('layPopCarro').style.visibility = 'visible';
			}
			Loader.hide();
		}				
		else if(reqType == 'consultar'){
		
			if(d.getAttribute('exito') != 'si'){
				
				errorC.innerHTML = d.firstChild.data;
				errorC.style.display = 'block';
				$('layConsultar').style.visibility = 'visible';					
			}
			else{
				Exito.onAccept = function(){
					$('layConsultar').style.visibility = 'visible';
					FireEvent($('cerrarConsultar'), 'click');						
					comentarioC.value = '';
				};
				Exito.show(d.firstChild.data);
				Loader.hide();
			}
		}
		else if(reqType == 'provincias'){
			
			while(provinciaRegistro.hasChildNodes()){ provinciaRegistro.removeChild(provinciaRegistro.firstChild); }
			
			for(var i = 0, t = d.childNodes.length; i < t; i++){
				var opt = document.createElement('option');
				opt.value = d.childNodes[i].getAttribute('value');
				opt.innerHTML = d.childNodes[i].firstChild.data;
				
				provinciaRegistro.appendChild(opt);
			}
			provinciaRegistro.disabled = false;
		}
		else if(reqType == 'ciudades'){
			
			while(ciudadRegistro.hasChildNodes()){ ciudadRegistro.removeChild(ciudadRegistro.firstChild); }
			
			for(var i = 0, t = d.childNodes.length; i < t; i++){
				var opt = document.createElement('option');
				opt.value = d.childNodes[i].getAttribute('value');
				opt.innerHTML = d.childNodes[i].firstChild.data;
				
				ciudadRegistro.appendChild(opt);
			}
			ciudadRegistro.disabled = false;
		}
		else if(reqType == 'barrios'){
			
			while(barrioRegistro.hasChildNodes()){ barrioRegistro.removeChild(barrioRegistro.firstChild); }
			
			for(var i = 0, t = d.childNodes.length; i < t; i++){
				var opt = document.createElement('option');
				opt.value = d.childNodes[i].getAttribute('value');
				opt.innerHTML = d.childNodes[i].firstChild.data;
				
				barrioRegistro.appendChild(opt);
			}
			barrioRegistro.disabled = false;
		}
		
		else if(reqType == 'logout'){
			location.reload();			
		}

	}.closure(this);

	//M
	this.moverPopAddItem = function(ocultar){
			//try{
				var popAdd = Ext.get('popItemAdd');
				popAdd.dom.className = claseGen;
				if(claseGen == 'popItemAdd'){
					popAdd.dom.firstChild.className = 'contPopItemAdd';
					//$('titPopItemAdd').innerHTML = '1 item added to cart';
				}
				else{
					popAdd.dom.firstChild.className = 'contPopItemRem';
					$('titPopItemAdd').innerHTML = '1 item removed from cart';				
				}
				if(!mostrando || ocultar){
					mostrando = true;
					clearInterval(interval);				
					var alto = popAdd.dom.firstChild.offsetHeight;				
					if(!ocultar){
						popAdd.animate(
							{height: {from: 0, to: alto}},
							0.4, 
							function () {

								interval = setTimeout(function(){this.moverPopAddItem(true);}.closure(this),4000);
								
							}.closure(this),
							'easeNone'
						);
					}
					else{
						popAdd.animate(
							{height: {from: alto, to: 0}},
							0.4, 
							function () {
								mostrando = false;
							},
							'easeNone'
						);
						
					}
				}
			//}catch(e){}
		}	
	



	//R
	this.recuperarContrasena = function(e){
		var error = false;
		if(trim($('emailRecuperarCarro').value) == ''){
			$('errorUsuarioRecuperar').style.display = 'block';
			error = true;
		}
		else $('errorUsuarioRecuperar').style.display = 'none';
		
		if(!error){
			$('errorUsuarioRecuperar').style.display = 'none';
			reqType = 'recuperarContrasenia';
			var v = 'tipo' + SEP_IGUAL + reqType + SEP_AND;
			v += 'usuario' + SEP_IGUAL + trim($('emailRecuperarCarro').value) + SEP_AND;
			Loader.show();
			$('layPopCarro').style.visibility = 'hidden';
			enviar(DIR_SERVER_ROOT + 'requests/carro.php', v);
		}

		if(e)StopEvent(e);
	}		
	
	//S
	this.setTotalCart = function () {
		var tot = this.getTotalCart();
		if($('cantidadItemsTop'))$('cantidadItemsTop').innerHTML = tot;
		if($('cartCountPop'))$('cartCountPop').innerHTML = tot;
		if($('btnVerCarro')){
			if(tot == 0){
				$('btnVerCarro').style.display = 'none';
				if($('spanSepBtnVerCarro'))$('spanSepBtnVerCarro').style.display = 'none';
			}
			else{
				$('btnVerCarro').style.display = '';
				if($('spanSepBtnVerCarro'))$('spanSepBtnVerCarro').style.display = '';
			}
		}
		
	}
	
	this.getTotalCart = function(){
		var i,j;
		var cookProducto = oCookie.get('productosCarro');		
		var ArrProducto = new Array();
		if(cookProducto){
			ArrProducto = unserialize(cookProducto);
		}
		var cantidad = 0;
		for(i in ArrProducto){
			if(ArrProducto[i]['cantidad']){
				cantidad += parseFloat(ArrProducto[i]['cantidad']);
			}
		}
		return cantidad;
	}
	
	var controlarPedido = function(){
		if(oCookie.get('pedPen') != ''){
			if(oCookie.get('noMostPed') == 1){
				oCookie.unset('noMostPed');
			}
			else{
				AddEvent(window,'load',function(){
					preguntarQueHacer();							
				});
			}
		}
	
	}
	var limpiarPedido = function(){
		oCookie.unset('pedPen');
		var cookProducto = oCookie.get('productosCarro');
		var ArrProducto = new Array();
		var serCook = serialize(ArrProducto);
		oCookie.set('productosCarro', serCook);

	}
	var continuarPedidoPendiente = function(accion){
		if(accion == 'si'){
			Blocker.hide();
			reqType = 'confirmarFinDePedido';
			var v = 'idPedido' + SEP_IGUAL + oCookie.get('pedPen') + SEP_AND;
			v += 'tipo' + SEP_IGUAL + reqType + SEP_AND;
			limpiarPedido();
			this.setTotalCart();
			enviar(DIR_SERVER_ROOT + 'requests/carro.php', v);
		}
		else{
			var oPaso2 = new MsjQueHacer({'anex' : 'Paso2'});
			oPaso2.show();
			oPaso2.onAccept1 = function(){
				oCookie.set('noMostPed',1);
				document.location = $('urlCarroPedidoExistente').value;
			}
			oPaso2.onAccept2 = function(){
				reqType = 'cancelarPedido';
				var v = 'idPedido' + SEP_IGUAL + oCookie.get('pedPen') + SEP_AND;
				v += 'tipo' + SEP_IGUAL + reqType + SEP_AND;
				enviar(DIR_SERVER_ROOT + 'requests/carro.php', v);				
				limpiarPedido();
				this.setTotalCart();
				
				if($('esSeccionCarro')){
					location.reload();
				}
				else{

					Blocker.hide();	
				}
			}.closure(this);
				
		}
	}.closure(this)
	
	var preguntarQueHacer = function(){
		if($('capaQueHacerPaso1')){
			var oPaso1 = new MsjQueHacer({'anex' : 'Paso1'});
			oPaso1.show();
			oPaso1.onAccept1 = function(){continuarPedidoPendiente('si')}
			oPaso1.onAccept2 = function(){continuarPedidoPendiente('no')}
			Blocker.show();
		}
		
	}

	var intervaloMostrar = 0;
	var tipoApertura = '';
	var listo = true;
	var popSeteado = false;
	var cargandoPop = false;
	var aTemp = null;
	var reqType = 'datosPop';
	var req = null;
	var PopUp = null;
	var usuario = null;
	var errorClass = 'fieldsetError';	
	var erEmail = RegExp('^[a-z0-9_\.\-]+@[a-z0-9_\-]+(\.[a-z0-9_\-]{2,5})*\.[a-z]{2,4}$');
	var erNumero = RegExp('^[0-9]+$');
	var claseGen = ''; 
	var mostrando = false;
	var interval = 0;
	
	var contrasena = null;
	var nombreRegistro,apellidoRegistro,emailRegistro,usuarioRegistro,telefonoRegistro,direccionRegistro,cpRegistro,telefonoRegistro,paisRegistro,provinciaRegistro,provinciaRegistroNombre,ciudadRegistro,ciudadRegistroNombre,barrioRegistro, barrioNRegistro;
	var contrasenaRegistro,confirmarContrasenaRegistro,errorContrasena,errorUsuario,contrasenaUsuario;
	controlarPedido();
}
