/* Libreria de funciones JavaScript
 * Para proceso de compra, checkout
 *
 * Rodrigo Guevara R.
 * Julio, 2007
 * Ult.Modif:Marzo,2008
 */
var disparaEvento = false;
var envoltura_host = 'https://';
var cuotaCalculada = false;
var fonocompra = '800 391 100';
var mensajeSinDespacho = 'Por el momento no tenemos habilitados despachos para esta comuna.'+
			 'Comunicate al '+fonocompra+' para ver opciones de comunas mas cercanas';
var mensajeUltimoProd = 'Queda solo un producto.  Presiona <aceptar> para eliminarlo y regresar al Catálogo';
var mensajeCarroVacio = 'No puedes pagar con un carro de compras vacío';
var mensajeEsperaDespacho = 'Espera por favor.  Calculando Despacho';
var mensajeClave = 'RUT o contraseña invalida. Intenta nuevamente.';
var mensajeSinLP = 'No tienes tarjeta La Polar.  Lo sentimos, no puedes comprar con esta opcion';
var mensajeCap = 'RUT, contraseña o validacion invalidas.';
var mensajeSesion = 'Por un problema de conexion tu compra no ha sido finalizada. Favor intentar nuevamente';
var mensajeMail = 'El mail introducido no es valido, revisa en intenta nuevamente';
var mensajeBloqueo = 'Por razones de seguridad tu RUT ha sido temporalmente bloqueado. Para concretar tu compra llama a Fonocompras al '+fonocompra;
var mensajeIntentos = 'Se ha superado el numero de intentos permitidos. '+mensajeBloqueo;
var mensajeSinStock = 'Sin Stock.  Debes reducir la cantidad de unidades del producto:';
var mensajeTodosSinStock = 'En estos momentos no podemos calcular el despacho para esta comuna.  Favor llamar a nuestro Fonocompras al '+fonocompra;
var mensajeErrInternoTrans = 'Se produjo un error interno en la transaccion.  Intenta nuevamente por favor';
var mensajeErrRedir =   "Lo sentimos, no se ha podido generar tu solicitud de compra.  \nFavor llamar a Fonocompras "+fonocompra+" (atencion de lunes a domingo de 10:00 a 20:00 hrs)";
var mensajeErrDireccion = 'Lamentablemente no ha sido posible registrar tu direccion. Puede continuar con su compra.';
var mensajeSinDireccion = 'Aun no cuentas con direcciones registradas \n Para guardar tu direccion de despacho en nuestras bases, registrala con un nombre en el ultimo paso de esta compra';
var mensajeEscribaDireccion = 'Ingresa un nombre corto para guardar la direccion';
var mensajeGuardaOKDir = 'Tu direccion ha sido guardada satisfactoriamente';
var mensajeFleteActivo = 'Estamos calculando el valor de su despacho, presione [aceptar] para continuar';
var mensajeMedioPago = 'Para comprar promociones exclusivas de tarjeta La Polar, debes cambiar tu forma de pago';
var mensajeAlertaMedioPago = 'Esta compra lleva promociones validas pagando solo con tarjeta La Polar';
var mensajeErrDespacho = 'Se ha producido un problema en el calculo del despacho. Debido a esto, el costo de despacho te sera informado por un ejecutivo de Internet. Agradecemos tu comprension.';
var mensajeArea50 = 'Un ejecutivo de ventas te contactara para informar el valor y la fecha de despacho';
var mensajeSeleccionDespacho = 'Debes seleccionar el tipo de despacho.';
var mensajeErrorObtenerID = 'No se podido cerrar su solicitud (Codigo Error 7654).  Favor comunicarse al Fonocompras, 800 391 100';
var mensajeFletePendienteWebPay = 'En estos momentos no podemos calcular el valor de tu despacho.\nFavor intente mas tarde o llame al 800 391 100';
var mensajeContingenciaComunic = 'No podemos calcular tu cuota en este momento, pero un ejecutivo te informara posteriormente';
String.prototype.capitalize = function(){ //v1.0
	return this.replace(/\w+/g, function(a){
		return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();
	});
};
		


function encuesta(paso){
	var url = '';
	if(disparaEvento){
		if(paso == 2) {
			url = $('link_encuesta_paso2').value;
		}
		if(paso == 1) {
			url = $('link_encuesta_paso1').value;
		}
		popup_Ctg(url,350,480);
	}
}
function popup_Ctg(URL, height, width) {
        xwidth = width;
        xheight = height;
        xleft =(getViewportWidth() - xwidth) / 2;
        xtop = (getViewportHeight() - xheight) / 2;

        props = 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width='
                 + xwidth+',height='+xheight+',top='+xtop+',left='+xleft;
        window.open(URL, 'popup', props);
        return true;
}


function ir_a_checkout(site_url) {
	if(numeroItems == 0) {
		alert(mensajeCarroVacio);
	} else {
		var formtienda = $('formtienda');
		formtienda.action = envoltura_host+site_url+"/compra/checkout/paso1";
		formtienda.submit();
	}
}

function quitarPLU(plu, conteo) {
	disparaEvento = false;
	var ruta = "/compra/carrocompra/quitar/"+plu;
	if(conteo == 1) {
		if(confirm(mensajeUltimoProd)) {
			quitar_y_home(ruta);
		}
	} else {
		quitar_ckeckout(ruta);
	}
}

function quitar_ckeckout(ruta) {
	var o = new Ajax(ruta, {
			method: 'get',
			onComplete: function() { actualiza_ventana(); } //end onComplete
		}).request();
	return false;
}

function quitar_y_home(ruta) {
	var o = new Ajax(ruta, {
    				method: 'get',
    				onComplete: function() { iraHome(''); } //end onComplete
    		}).request();
	return false;
}


function actualiza_ventana() {
	var url = location.href;
	var formPasoActual = document.getElementsByTagName('form')[0];
	formPasoActual.action = url;
	formPasoActual.submit();
}

var plu_marcado = null;
function actualizaMarca(plu) {
	disparaEvento = false;
	plu_marcado = plu;
	var cantObj = $('cantidad'+plu);
	if(cantObj.options[cantObj.selectedIndex].value == '0') {
		marcarImagen(plu, 'on');
	} else {
		var site_url = $('host_conocido').value;
		var cantidad = parseInt(cantObj.options[cantObj.selectedIndex].value);
		tsa = Math.floor(Math.random()*1000000);
		var ruta = envoltura_host+site_url+'/compra/carrocompra/colocar/'+plu+'/'+cantidad+'?tsa='+tsa;
		var obj = new Ajax(ruta, {method:'get', 
					  onComplete: function(e) {
					  	if(e.slice(0,3) == 'err') {
							avisoErrores(e);
						} else {
							despuesActualizaMarca();
						}
					  }
		}).request();
	}
}

function avisoErrores(e) {
	var longitud = e.length;
	var mensajes = e.split(':');
	var descripcion = $('desc['+mensajes[2]+']').innerHTML;
	$('costoFlete').innerHTML = mensajeSinStock + descripcion;
	$('despachonumerico').value = 'stock';
	
}

function despuesActualizaMarca() {
	var plu = plu_marcado;
	marcarImagen(plu, 'off');
	var listaPLUS = $('listaPLU').value;
	var listaPLUS = listaPLUS.split(',');
	var subtotal = 0;
	for(var i = 0; i < listaPLUS.length; i++) {
		var precio = parseInt(unformatNumber($('precioPLU['+listaPLUS[i]+']').innerHTML));
		var cantObj = $('cantidad'+listaPLUS[i]);
		var cant  = parseInt(cantObj.options[cantObj.selectedIndex].value);
		subtotal += precio * cant;
	}
	var flete = parseInt($('despachonumerico').value);
	if(!isNaN(flete)) {
		if(subtotal < 0) {
			subtotal = 0;
		}
		var total = subtotal + flete;
		$('costoSubtotal').innerHTML = formatearNumero(subtotal, '$');
		$('costoTotal').innerHTML = formatearNumero(total, '$');
	}
	var obj = $('slComuna');
	if(obj) {
		obtenerFletePaso1(obj);
	}
		
}


function hab_desh_controles(plu) {
	var cantObj = $('cantidad'+plu);
	var regObj = $('regalo'+plu);
	cantObj.value = '0';
	cantObj.disabled = !cantObj.disabled;
	regObj.checked = false;
	regObj.disabled = !regObj.disabled;
	if(cantObj.value == '0') {
		marcarImagen(plu, 'on');
	} else {
		marcarImagen(plu, 'off');
	}
}

function marcarImagen(plu, swt) {
	var theBody = document.getElementsByTagName('body')[0];
	var objImg = $('thumb'+plu);
	if(swt == 'on') {
		if($('xthumb'+plu)) { 
			return;
		}
		var objPos = objImg.getPosition();
		var nY = objPos.y;
		var nX = objPos.x;
		ntop = nY;
		nleft = nX;
		var objImgNuevo = new Element('img');
		objImgNuevo.id = 'xthumb'+plu;
		objImgNuevo.setStyle('position', 'absolute');
		objImgNuevo.setStyle('top', ntop);
		objImgNuevo.setStyle('left', nleft);
		objImgNuevo.src = '/img/html/body/EQUIS.gif';
		theBody.appendChild(objImgNuevo);
		//alert('posicionando x');
	} else {
		var objImgNuevo = $('xthumb'+plu);
		if(objImgNuevo) {
			objImgNuevo.setStyle('display', 'none');
			theBody.removeChild(objImgNuevo);
		}
	}
}

var listaComunas = new Array();

function cargaComunas(obj) {

	// Resetea los checkbox si se ha seleccionado algo antes.
	if($('string_despacho')) {
		$('string_despacho').value = '';
	}
	if($('fecha_sugerida')) {
		$('fecha_sugerida').value = '';
	}
	if($('td_despacho_p')) {
		$('td_despacho_p').innerHTML = '';
	}


	if($('tr_despacho_p')) {
		$('tr_despacho_p').setStyle('display','none');
	}
	var indiceRegion = obj.options[obj.selectedIndex].value;
	var aComunas = filtraRegion(indiceRegion);

	var objSlComuna = $('slComuna');
	var objNum = $('numero');
	var objDpto = $('dpto');
	if(objSlComuna) {
		var padre = objSlComuna.parentNode;
		padre.removeChild(objSlComuna);
	}
	objSlComuna = new Element('select');
	objSlComuna.setAttribute('id', 'slComuna');
	objSlComuna.setAttribute('name', 'slComuna');

	i = 1;
	var initOption = new Element('option');
	initOption.setAttribute('value', '0');
	objSlComuna.options[0] = initOption;
	objSlComuna.options[0].text = 'Seleccione una comuna';
	while(i <= aComunas.length) {
		var infocomuna = aComunas[i-1].split('-');

		var comuna = infocomuna[0];
		var valor = infocomuna[1];
		var stOption = new Element('option');
		stOption.setAttribute('value', valor);
		stOption.setAttribute('text', comuna);
		objSlComuna.options[i] = stOption;
		objSlComuna.options[i].text = comuna;
		i++;
	}
	objSlComuna.addEvent('change', 
						function() {
							obtenerFletePaso1(this);
						 });
	objNum.addEvent('click', 	
						function() {
								if($('callesxcomuna')) {
									$('callesxcomuna').setStyle('display', 'none');
								}
						});
	objDpto.addEvent('click', 	
						function() {
								if($('callesxcomuna')) {
									$('callesxcomuna').setStyle('display', 'none');
								}
						});
	var divPadre = $('slComunaContainer');
	divPadre.innerHTML = '';
	divPadre.appendChild(objSlComuna);
	//history.go(0);
}

function muestraFactura(accion){
	if(accion == "on") {
		$('datos_factura').setStyle('display','');
	} else {
		$('datos_factura').setStyle('display','none');
	}
}

function cargaComunas2(obj){
	 var indiceRegion = obj.options[obj.selectedIndex].value;
        var aComunas = filtraRegion(indiceRegion);

        var objSlComuna = $('slComuna2');
        var objNum = $('numero');
        var objDpto = $('dpto');
        if(objSlComuna) {
                var padre = objSlComuna.parentNode;
                padre.removeChild(objSlComuna);
        }
        objSlComuna = new Element('select');
        objSlComuna.setAttribute('id', 'slComuna2');
        objSlComuna.setAttribute('name', 'slComuna2');

        i = 1;
        var initOption = new Element('option');
        initOption.setAttribute('value', '0');
        objSlComuna.options[0] = initOption;
        objSlComuna.options[0].text = 'Seleccione una comuna';
	    while(i <= aComunas.length) {
                var infocomuna = aComunas[i-1].split('-');
                var comuna = infocomuna[0];
                var valor = infocomuna[1];
                var stOption = new Element('option');
                stOption.setAttribute('value', valor);
                stOption.setAttribute('text', comuna);
                objSlComuna.options[i] = stOption;
                objSlComuna.options[i].text = comuna;
                i++;
        }
	var divPadre = $('slComunaContainer');
	divPadre.innerHTML = '';
        divPadre.appendChild(objSlComuna);
}


function filtraRegion(idregion) {
	var comunasSeleccionadas = new Array();
	var i = 0;
	var j = 0;
	var infocomuna = new Array();
	while(i < listaComunas.length) {
		infocomuna = listaComunas[i].split('>>');
		if(infocomuna[1] == idregion) {
			comunasSeleccionadas[j] = infocomuna[0];
			j++;
		}
		i++;
	}
	return comunasSeleccionadas;
}

function ocultaDireccion(){
}



var consultaFleteActivo = false;
function obtenerFletePaso1(obj) {
	if($('__direccionEscrita1')){
		$('__direccionEscrita1').setStyle('display','none');
		$('__direccionEscrita2').setStyle('display','none');
		$('__direccionEscrita3').setStyle('display','none');
	}
	if($('tr_despacho_p')) {
		$('tr_despacho_p').setStyle('display','none');
	}

	var idcomuna = obj.value;	
	$('costoFlete').innerHTML = mensajeEsperaDespacho;
	if($('colocacion_fecha_p1')) {
		$('colocacion_fecha_p1').innerHTML = '';
	}
	var site_url = $('host_conocido').value;
	tsa = Math.floor(Math.random()*1000000);

	var idregion = $('slRegion').value;
	var ruta = envoltura_host+site_url+'/compra/despacho_paso1/'+idcomuna+'/'+idregion+'/'+tsa;
	consultaFleteActivo = true;
	$('loader').setStyle('display','inline');
	var objAx = new Ajax(ruta, {method: 'get', 
				    onComplete: function(e) {
						if($('tr_despacho_p')){
							resp = e.split(":");
							if((resp[0] == 'err') || isNumber(resp[0])) {
								$('tr_despacho_p').setStyle('display','none');
								 $('__direccionEscrita1').setStyle('display','');
								 $('__direccionEscrita2').setStyle('display','');
								 $('__direccionEscrita3').setStyle('display','');

				    				almacenarRecalcularCosto(e);
							}else{
								$('td_despacho_p').innerHTML = e;
								if($('dNORMAL')){
								    if($('dNORMAL').value != '') {
									stringd = $('dNORMAL').value
								    }
								    var separado = stringd.split(":");
								    creacalendario(separado[2]);
								}else {
								     creacalendario(1);
								}

								$('tr_despacho_p').setStyle('display','');
								$('costoFlete').innerHTML = mensajeSeleccionDespacho;
								if($('tabla_despacho').rows.length < 3){
									if($('dNORMAL')){
										$('dNORMAL').click();
									}
								}
							}
						$('loader').setStyle('display','none');
				    		consultaFleteActivo = false;
						}
					}
	}).request();
}

function isNumber(number) {
	if ((number >= 0)||(number < 0))  {
		return true;
	} else {
		return false;
	}
}

function creacalendario(Dias){
	if(Dias == null) {
		Dias = 1;
	} else {
		Dias = parseInt(Dias) + 1;
	}
	var myCal4 = new Calendar({ idfechaProgramada: 'd/m/Y' }, {classes: ['despachoCal'], direction: parseInt(Dias), days: ['Domingo', 'Lunes', 'Martes', 'Miercoles', 'Jueves', 'Viernes', 'Sabado'],months: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'], blocked: ['0 * * 0']});
}
var fecha_seleccionada_calendario = '';
var tiendaSelec = false;
var ultimoSelec ;
var tiendasCod = new Array;
function genDespacho(obj){
	if(($('domicilio').value=="RETIRO EN TIENDA") || (tiendaSelec) ){
		 $('domicilio').value="";
                 $('numero').value="";
	}
	tiendaSelec = false;
	$('despachonumerico').value = '-';
	almacenarRecalcularCosto(obj.value);
	$('string_despacho').value = $('string_'+obj.id).value;
	var strdep = $('string_despacho').value;
	strdep = strdep.split("|");
	$('fecha_sugerida').value = strdep[2];
	tsa = Math.floor(Math.random()*1000000);
	var site_url = $('host_conocido').value;
	var ruta = envoltura_host+site_url+'/compra/ds/'+obj.id+'/'+tsa;
	var objAx = new Ajax(ruta, {method: 'get', 
				    onComplete: function(e) {
				    	var ret = e;
				    }
			}).request();
	if(obj.id == "dRANGOHORARIO"){
		$('divTiendas').setStyle('display','none');
		
		$('__direccionEscrita1').setStyle('display','');
		$('__direccionEscrita2').setStyle('display','');
		$('__direccionEscrita3').setStyle('display','');
		
		$('tddetalleRANGOHORARIO').innerHTML = $('divRangoHorario').innerHTML ; 
		$('trdetalleRANGOHORARIO').setStyle('display','');
	}
	if(obj.id == "dRETIROTIENDA"){ // Retiro En tienda
		if($('divTiendas')){			
			var locales = $('locales').value;
			var cont = '<div id="contenedorLocales" style="width:502px;">';
			$('divTiendas').setStyle('display','block');
			locales = locales.split("##");
			locales.each(function(e){
				tienda = e.split("|");
				inicio = tienda[2].search("\\(");
				fin = tienda[2].search("\\)");
				direccion = tienda[2].substring(inicio+1,fin);
				if($('zona').value == '0'){
					if(tienda[0] != '55' && tienda[1].search("ELIM") == -1 ){
						if(tienda[0] != 13){
							cont += '<div id="L'+tienda[0]+'" style="padding:5px 0 5px 20px;border:0px solid;float:left;clear:left;width:100%;" onmouseover="hover(this);" onmouseout="hover(this,\'out\');"  >';
							cont += '	<div style="margin-top:0px;float:left;"><input onclick="Rtiendas(this)" type="radio" name="Rtienda" style="border:0px solid;"  id="Rtienda'+tienda[0]+'" value="'+e+'"></div>';
							cont += '	<div style="float:left;margin-top:2px;clear:right;"><strong>' + tienda[1] +'</strong> - '+direccion.capitalize()+'</div>';
					 		cont += '</div>';
						}
					}
				} else {
					if(tienda[1].search("ELIM") == -1 ){
						if(tienda[0] != 13){
							cont += '<div id="L'+tienda[0]+'" style="padding:5px 0 5px 20px;border:0px solid;float:left;clear:left;width:100%;" onmouseover="hover(this);" onmouseout="hover(this,\'out\');"  >';
							cont += '	<div style="margin-top:0px;float:left;"><input onclick="Rtiendas(this)" type="radio" name="Rtienda" style="border:0px solid;"  id="Rtienda'+tienda[0]+'" value="'+e+'"></div>';
							cont += '	<div style="float:left;margin-top:2px;clear:right;"><strong>' + tienda[1] +'</strong> - '+direccion.capitalize()+'</div>';
					 		cont += '</div>';
						}
					}
				}
				tiendasCod[tienda[0]] = tienda[1]+', Ubicada en: '+direccion.capitalize();
			});
			cont += '</div>';
			$('tmid').innerHTML = cont;			
			$('__direccionEscrita1').setStyle('display','none');
			$('__direccionEscrita2').setStyle('display','none');
			$('__direccionEscrita3').setStyle('display','none');
			if($('trdetalleRANGOHORARIO')) {
				$('trdetalleRANGOHORARIO').setStyle('display','none');
			}
			$('domicilio').value="RETIRO EN TIENDA";
			$('numero').value="0";
			if(!window.ie) {
				$('tmid').setStyle('width', 500);
			}

			
		}
			
		
	}else{
		if((obj.id == "dNORMAL") || (obj.id == "dEXPRESS") ){
			$('divTiendas').setStyle('display','none');
			$('__direccionEscrita1').setStyle('display','');
			$('__direccionEscrita2').setStyle('display','');
			$('__direccionEscrita3').setStyle('display','');
			if($('trdetalleRANGOHORARIO')) {			
				$('trdetalleRANGOHORARIO').setStyle('display','none');
			}
		}
	}
}
var horarios;
var meses = new Array("","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
function muestraHorarios(valor){
	if(valor != null){
		valor = valor.split("|");
		var mes = valor[0];
		var dia = valor[1];
		valor = valor[2];
		horarios = $('horarios').value.split("|");
		$('detalleHoras').innerHTML = 'Rangos horarios disponibles  para el d&iacute;a '+dia+' de '+ meses[parseInt(mes)];
		var horas = '';
		$("resumenHoras").innerHTML = "";
		conta = 1;
		for(i=0;i<valor.length;i++){
			letra = valor.substr(i,1);
			var j;
			for(j=0;j<horarios.length;j++){
				var h = horarios[j].split("-");
				if(letra == h[0]){
					horas += "<td ><input type='radio' value='"+mes+dia+letra+"' id='rangosel' name='rangosel' onclick='horariosel(this)'><span id="+mes+dia+letra+" class='letraNormal'> " + h[1].substring(0,2)+":"+h[1].substring(2,4) + " - "+ h[2].substring(0,2)+":"+h[2].substring(2,4) + "</span></td>";
					 if(conta%2 == 0) {
						horas = "<tr>" + horas + "</tr>";
					 }else				 
					 	horas += "<td width='20' align='center'>&nbsp; </td>"; 
				}
			conta++;
			}
		}
		horas = "<table>" + horas + "</table>";
		$('inputshora').innerHTML = horas;
	}
}

function cambiaMes(tipo){
	if(tipo == "n"){
		if($('nmesnext')){
			$('nmesprev').setStyle("display", "");
			$('nmesnext').setStyle("display", "none");
			$('pmes').setStyle("display", "none");
			$('nmes').setStyle("display", "");
		}else
			$('pmesnext').setStyle("display", "none");

	}
	if(tipo == "p"){
		$('pmesprev').setStyle("display", "none");
		$('pmesnext').setStyle("display", "");
		$('pmes').setStyle("display", "");
		$('nmes').setStyle("display", "none");
	}

}

var rangosel;
function horariosel(obj){
	rangosel = obj.value;
	$("resumenHoras").innerHTML = "Tu Seleccion es: <br>" + rangosel.substring(2,4) + " de "+  meses[parseInt(rangosel.substring(0,2))] + ' entre las ' + $(obj.value).innerHTML;
}
function hover(obj,aux){
	var id = obj.id;
	if(aux){
		$(id).removeClass("ondiv");
	}else{
		$(id).addClass("ondiv");
	}
}

function Rtiendas(obj){
	if(obj){
		//$('despachonumerico').value = '-';
		var vtienda_arr = obj.value.split("|");
		var vtienda = vtienda_arr[0];
		if(tiendaSelec){
			v = $('string_despacho').value.split("|");
			$('string_despacho').value = v[0]+'|'+v[1]+'|'+v[2]+'|'+v[3]+'|'+v[4]+'|'+v[5]+'|'+v[6];
		}
		$('string_despacho').value = $('string_despacho').value + '|' + obj.value;
		tiendaSelec = true;
		if(ultimoSelec) {
			ultimoSelec.removeClass("selecteddiv");
		}
		obj2 = obj.parentNode.parentNode;
		obj2.addClass("selecteddiv");
		ultimoSelec = obj2
		$('domicilio').value="RETIRO EN TIENDA " + tiendasCod[vtienda];
	}
}

function capitalize(text){
	var texto = text.substr(0, 1).toUpperCase() + text.substr(1).toLowerCase();
	return texto;
}

function noteclas(evt){
	return false;
}

var contingencia = false;
function almacenarRecalcularCosto(respuesta) {
	if(respuesta == '') {
		respuesta = 'err:despacho';
	}
	var valor = respuesta.split(':');
	var valorLiteral = valor[1];
	var costoDespacho = valor[0];
	var costoFlete = parseInt(costoDespacho);
	if(costoDespacho != 'err' && (costoFlete == 0 || isNaN(costoFlete))) {
		$('costoFlete').innerHTML = mensajeSinDespacho;
		$('despachonumerico').value = '-';
		alert(mensajeSinDespacho);
	} else {
		if(costoDespacho == 'err') {
			switch(valor[1])
			{

				case 'despOrion':
					contingencia = true;
					$('despachonumerico').value = '-1';
					$('costoFlete').innerHTML = 'pendiente';
					$('colocacion_fecha_p1').innerHTML = mensajeArea50;
					alert($('colocacion_fecha_p1').innerHTML);
					break;
				case 'despacho':
					contingencia = true;
					$('despachonumerico').value = '0';
					$('costoFlete').innerHTML = 'pendiente';
					$('colocacion_fecha_p1').innerHTML = mensajeErrDespacho;
					alert($('colocacion_fecha_p1').innerHTML);
					break;
				case 'comuna':
					$('despachonumerico').value = 'stock';
					$('costoFlete').innerHTML = valor[2];
					$('colocacion_fecha_p1').innerHTML = '';
					alert($('costoFlete').innerHTML);
					break;
				case 'flores':
					$('despachonumerico').value = 'flores';
					$('costoFlete').innerHTML = '-';
					$('colocacion_fecha_p1').innerHTML = valor[2];
					alert($('colocacion_fecha_p1').innerHTML);
					break;
				case 'motos':
					contingencia = true;
					$('despachonumerico').value = '0';
					$('costoFlete').innerHTML = 'pendiente';
					$('colocacion_fecha_p1').innerHTML = valor[2];
					alert($('colocacion_fecha_p1').innerHTML);
					break;
				case 'productos':
					alert(valor[2]);
					iraHome('');
					break;
				default :
					if(!hayProductosRestar()) {
						$('despachonumerico').value = 'stock';
						$('costoFlete').innerHTML = mensajeTodosSinStock;
						alert(mensajeTodosSinStock);
					} else {
						var descripcion = $('desc['+valor[2]+']').innerHTML;
						$('despachonumerico').value = 'stock';
						$('costoFlete').innerHTML = mensajeSinStock + descripcion;
						alert($('costoFlete').innerHTML);
					}	
			}
		} else {
			contingencia = true;
			//var mensajeNavidad = 'Todas las solicitudes de compras que realices hoy serán confirmadas desde el 26 de diciembre';
			//alert(mensajeNavidad);
			if(valor[2] == 'area50') {
				$('despachonumerico').value = '0';
				$('costoFlete').innerHTML = 'pendiente';
				$('colocacion_fecha_p1').innerHTML = mensajeArea50;
                                alert($('colocacion_fecha_p1').innerHTML);
			} else {
				var subTotal = $('costoSubtotal').innerHTML;
				subTotal = reemplazar(subTotal, '$', '');
				subTotal = reemplazar(subTotal, '.', '');
				if(valorLiteral == '$0') {
					costoDespacho = 0;
				}
				var total = parseInt(subTotal) + parseInt(costoDespacho);
				$('costoTotal').setHTML(formatearNumero(total, '$'));
				$('costoFlete').setHTML(formatearNumero(costoDespacho, '$'));
				$('despachonumerico').value = parseInt(costoDespacho);
				// Muestra Fecha
				if($('colocacion_fecha_p1')) {
					if(valor[2] == 'flores') {
						$('colocacion_fecha_p1').setHTML(valor[3]);
					} else {
						if((valor[2] != 'nodisp') && (valor[0] == 'err')) {
							$('colocacion_fecha_p1').setHTML(valor[2]);
						}
						if(isNumber(resp[0])) {
							$('colocacion_fecha_p1').setHTML(valor[2]);
						}
					}	
					try{
						if(valor[3] == 'nf'){
							$('tr_despacho_p').setStyle('display','none');
							$('colocacion_fecha_p1').setStyle('text-align','left');
							$('colocacion_fecha_p1').innerHTML = "La fecha de despacho para esta comuna debe ser confirmada por un ejecutivo de venta";
						}
					}catch(error){
						//
					}
				}
			}
		}	
	}
}

function hayProductosRestar() {
	var listaPLUS = $('listaPLU').value;
        var listaPLUS = listaPLUS.split(',');
	var subtotal = 0;
	var hay_o_no = false;
	for(var i = 0; i < listaPLUS.length; i++) {
		var cantObj = $('cantidad'+listaPLUS[i]);
	        var cant  = parseInt(cantObj.options[cantObj.selectedIndex].value);
		if(cant > 1) {
			hay_o_no = true;
		}
	}
	return hay_o_no;
}

function chk_p2_condiciones() {
	popup_compra('/popup/condiciones/index.html', 300, 500);
}


var textoAnterior_chk_p2;

function chk_p2_DisplayProductos() {
	var objTemp = $('detalleProductos');

	if(objTemp.getStyle('display') == 'none') {
		objTemp.setStyle('display', 'block');
		textoAnterior_chk_p2 = $('mostrarLista').innerHTML;
		var imagen = '<img src="/img/html/body/flechaRojaArriba.gif">';
		$('mostrarLista').innerHTML = imagen + '&nbsp;&nbsp;Para ocultar la lista de productos, haz click aqui&nbsp;&nbsp;' + imagen;
	} else {
		objTemp.setStyle('display', 'none');
		$('mostrarLista').innerHTML = textoAnterior_chk_p2;
	}
	if($('slRegion')) {
		if($('slRegion').value != '13') {
			var listaPLUS = $('listaPLU').value;
			var listaPLUS = listaPLUS.split(',');
			for(var i = 0; i < listaPLUS.length; i++)
				$('filaRegalos'+listaPLUS[i]).setStyle('display', 'none');
		}
	}
}

function checkeaDest(paso) {
	switch(paso) {
		case 2:
			var resp = false;
			var tabDest = $('tabla_destinatario').style.display;
			if(tabDest == 'block') {
				var nom = $('d_txtNOMBRE').value;
				var rut = $('d_txtRUT').value;
				if(nom != '' && rut != '') {
					resp = true;
				}
			}
			if(resp) {
				$('usaDestinatario').value = 'si';
			}
			break;
		case 3:
			break;
	}
}

function obtenerListaDatos() {
	var lista = new Array('listaPLU', 'listaPrecios','domicilio', 'numero','dpto',
			      'slRegion', 'slComuna', 'despachonumerico','despacho_sugerido',
			      'codigoPIN', 'despacho_string','wtxtNOMBRE',
			      'wtxtRUT', 'wtxtMAIL','wtxtPHONE','wtxtPHONE2');
	var salida = '';
	lista.each(function(elem, i) {
			if($(elem)) {
				salida += elem+'='+$(elem).value+'&';
			}
		});
	return salida;
}

var cantidadPasos = 3;
var pagoEnProceso = false;

var preWebpay = true;
var datosVacios = true;

function avanzar(paso, site_url) {
	disparaEvento = false;
	if($('despachoPorSoap')){
		if($('fecha_sugerida').value == "11111111"){
			$('string_despacho').value = 'N|Flete Pendiente|00000000|0|0||BN'; // es Pendiente cuando el servicio esta abajo
			$('fecha_sugerida').value = '11111111'
		}else {
			if($('fecha_sugerida').value == "11111110"){
				 $('string_despacho').value = 'N|IMPORTANTE|00000000|0|0||BN'; // es IMPORTANTE cuando el despacho es despues de las 19
				 $('fecha_sugerida').value = '11111111'
			} else{
				desp_exp = $('string_despacho').value.split("|");
				if(desp_exp[1] == "NORMAL"){
					fechaCal = $('idfechaProgramada').value;
					$('fecha_sugerida').value = fechaCal.substr(6,4) + fechaCal.substr(3,2)+ fechaCal.substr(0,2);
				}
				if(desp_exp[1] == "RANGO HORARIO"){
					$('fecha_sugeridarh').value = ""+rangosel;
				}
			}
		}
	}else{
		if($('fecha_sugerida')){
			var mydate=new Date();
			var year=mydate.getYear();
			if (year < 1000) {
				year+=1900;
			}
			var day=mydate.getDay();
			var month=mydate.getMonth()+1;
			if (month<10) {
				month="0"+month;
			}
			var daym=mydate.getDate();
			if (daym<10) {
				daym="0"+daym;
			}
			$('fecha_sugerida').value = year+month+daym;

			$('string_despacho').value = 'N|Flete Pendiente|00000000|0|0||BN';
		}
	}
	var proximoPaso = paso;

	if(consultaFleteActivo) {
		alert(mensajeFleteActivo);
		return;
	}

	checkeaDest(paso);
	error = encuentraErrores(paso);
	if(error) {
		alert(error);
		return;
	} else {
		if($('medioPagoWeb')) {
			if($('medioPagoWeb').value == 'webpayplus' && preWebpay) {
				datosVacios = false;

				var desp_str =  $('despacho_string').value;
				desp_str = desp_str.split("|");
				if(desp_str[1] == "Flete Pendiente"){
					alert(mensajeFletePendienteWebPay);
					return false;
				}
				desactivaTabsyRadios();

				var host_conocido = $('host_conocido').value;
				var rutaaa = 'https://'+host_conocido+'/compra/checkMail';
	        		var Ax = new Ajax(rutaaa, {method:'post', data:'txtMAIL='+$('wtxtMAIL').value,
                                 onComplete: function(resp) {
                                        if(resp != 'OK') {
						alert('Ingresa un correo electronico valido. Te sera enviada una confirmacion');
						activaTabsyRadios();
                                        }else{
						var rutaNueva = 'https://'+host_conocido+'/compra/checkout/paso2ycuarto';
						var medPag = $('medioPagoWeb').value;
						var dbOC = $('DB_ORDEN_COMPRA').value;
						var listaDatos = obtenerListaDatos();
						var Ax = new Ajax(rutaNueva, {method: 'post', 
									data:'medioPagoWeb='+medPag+'&DB_ORDEN_COMPRA='+dbOC+'&'+listaDatos,
									onComplete:function(resp) {
										txt = resp.split('|');
										if(txt[0] == 'OK') {
											$('TBK_ORDEN_COMPRA').value = txt[1];
											if(txt.length == 3) {
												if(txt[2] > 0) {
													$('TBK_MONTO').value = txt[2];
												}
											}
											iraWebpay();
										} else
											alert('Se ha producido un error, pulse F5 para recargar la pagina');
									}
						}).request();
					}
                                 }
        			 }).request();
				//iraWebpay();
				return;
			}
		}
				
	}
	// si es mayor a cantidad de pasos, no hacer nada
	if(proximoPaso <= cantidadPasos) {
		//Si es Paso 2 al 3, mostrar confirmacion
		desactivaTabsyRadios();
		avanzarReal(proximoPaso, site_url);
	}
}

var arrcheckbox = new Array();
function desactivaTabsyRadios(){
	var i = 1;
	var host = $('host_conocido').value;
	$ES('img[src^=https://'+host+'/img/html/body/btn_]').each(function(e){
	        if((i> 1) && (i<5)){
	             e.setAttribute("onclick",'');
	             e.setStyle("cursor",'');
	        }
	        i = i +1;
	});
	
	$ES('input[name=rb_medioPago]').each(function(e){
	    if(e.checked == false){
	        e.disabled = true;
	    }
	});
	
}

function activaTabsyRadios(){
        var i = 1;
        var host = $('host_conocido').value;
	arrcheckbox = new Array('','rb_medioPagoLaPolar','rb_medioPagoWebPay','rb_medioPagoWebpayPlus',''); 
        var banners =  $ES('img[src^=https://'+host+'/img/html/body/btn_]');
		for(i=1;i<4;i++){
                     banners[i].setAttribute("onclick","cambiaLengueta("+i+");$(arrcheckbox["+i+"]).checked=true;");
                     banners[i].setStyle("cursor",'pointer');
                }
        $ES('input[name=rb_medioPago]').each(function(e){
                e.disabled = false;
        });

}





function retroceder(paso, site_url) {
	disparaEvento = false;
	var pasoAnterior = paso;
	// si es menor a 1, volver al catalogo
	
	if(pasoAnterior < 1) {
		iraHome(site_url);
	} else {
		retrocederReal(pasoAnterior, site_url);
	}
}

function avanzarReal(paso, site_url) {
	disparaEvento = false;
	if($('medioPagoWeb')) {
		var medioPago = $('medioPagoWeb').value;
	} else {
		var medioPago = 'vacio';
	}
	if(paso == cantidadPasos) {
		if(!pagoEnProceso){
			enviaAjaxPaso3(site_url);
		}
	} else {
		var objForm = $('formPaso'+(paso-1));
		objForm.action = envoltura_host+site_url+'/compra/checkout/paso'+paso;
		objForm.submit();
	}
}

function retrocederReal(paso,site_url) {
	var objForm = $('formPaso'+(paso+1));
	objForm.action = envoltura_host+site_url+'/compra/checkout/paso'+paso;
	objForm.submit();
}

function iraHome(site_url) {
	envoltura = 'http://';
	if(site_url != '') {
		host = envoltura+site_url;
	} else  {
		host = envoltura+$('host_conocido').value;
	}
	location.href = host+'/'+$('uribase').value+'/';
}

function enviaAjaxPaso3(site_url) {
	pagoEnProceso = true;
	mostrarAvisoPagoEnviado();
	var formPaso2 = $('formPaso2');
	formPaso2.action = '/compra/checkout/paso2ymedio/';
	formPaso2.send({method: 'post', onComplete: function(e) {
							confirmar_form(e, site_url);
						}
	});
}

function iraWebpay() {
	//$('salidaWebPay').setStyle('display', 'block');
	if(datosVacios) {
		alert('Introduce los datos en el formulario, y luego haz click en el boton PAGAR');
	} else {
		if(confirm('\nATENCION:\n\nLos datos que ingresarás a continuación serán validados directamente por tu banco.\nSigue las indicaciones completas del proceso de pago para que finalice con éxito\n')){
			var objForm = $('formPaso2');
			var host_conocido = $('host_conocido').value;
			try {
				var abreW = popup_compra('http://www.lapolar.cl/img/html/body/header_webpay.gif', 550, 600);
				if(!abreW) {
					alert('Atencion: La ventana emergente de WEBPAY ha sido bloqueada por un BLOQUEADOR DE POPUP.');
					return;
				}
			} catch(e) {
				alert('Se ha detectado error al abrir');
				return;
			}
			objForm.action = 'https://'+host_conocido+'/cgi-bin/tbk_bp_pago.cgi';
			objForm.target = 'popup';
			mostrarEsperaWP();
			objForm.submit();
		}else
			activaTabsyRadios()
	}
	return;
}

function cierraTransaccionTBK() {
	preWebpay = false;
	pagoEnProceso = true;
	var html = '<p class="letraNormal" style="margin-left:200px;margin-right:100px;padding-right:100px;font-size:18px;color:#f00">Espera un momento, tu transaccion esta siendo procesada'
		+'<img src="/img/html/contenido/loader.gif" border="0" style="padding-left:200px" /></p>';
	$('pantallaEspera').innerHTML = html;
	confirmar_form('correcto|0|sin', $('host_conocido').value);
}

function irCancelarWebpay() {
	$('CHEQUEO_WEBPAY').value = 'ERROR';
	$('usaDireccionFrecuente').value = 'si';
	confirmar_form('correcto|0|sin', $('host_conocido').value);
	
}

function programaWebPay() {
	self.setTimeout('iraWebpay()', 500);
}

var pestanaActiva = 0;
function cambiaLengueta(pestana) {
	if(pestanaActiva != pestana) {
		var nLeng = 'lenguetaPos';
		var ruta = '/img/html/body/';
		textoAct = '';
		if(pestana > 1 && $('informaMedioPago').value == '1') {
			alert(mensajeAlertaMedioPago);
		}
			
		if(pestana == 1) {
			var textoAct = 'LaPolar';
			var textoDesact = 'WebPay';
			$('id_boton_pago').setStyle('display', 'block');
			$("containerDatosTransferencia").setStyle('display','none');
		}
		if(pestana == 2){
			var textoAct = 'WebPay';
			var textoDesact = 'LaPolar';
			if($('valida_ejecutivo').value == 'false') {
				$('containerDatosComerciales-'+textoAct).setStyle('display', 'none');
				$('containerDatosComerciales-'+textoDesact).setStyle('display', 'none');
				$('id_boton_pago').setStyle('display', 'none');
				var ruta = "http://"+$('host_conocido').value+"/img/popup/webpay_info/webpay_info/index.htm";
				pestanaActiva = pestana;
				popup_cm(ruta, 210, 260);
				return;
			}
			$("containerDatosTransferencia").setStyle('display','none');
		}
		if(pestana == 3) {
			var textoAct = 'WebPay';
			var textoDesact = 'LaPolar';
			$('mensajeAQuitar').setStyle('display', 'none');
			$('otrosDatosTransbank').setStyle('display', 'none');
			$('id_boton_pago').setStyle('display', 'block');
			$("containerDatosTransferencia").setStyle('display','none');
		} else {
			$('mensajeAQuitar').setStyle('display', 'block');
			$('otrosDatosTransbank').setStyle('display', '');
		}
		
		if(pestana == 4){
			textoAct = 'transferencia';
			$("containerDatosTransferencia").setStyle('display','block');
			$('containerDatosComerciales-WebPay').setStyle('display', 'none');
			$('containerDatosComerciales-LaPolar').setStyle('display', 'none');
		}else{
			var objAct = $('containerDatosComerciales-'+textoAct);
			var objDesact = $('containerDatosComerciales-'+textoDesact);
			objAct.style.display = 'block';
			objDesact.style.display = 'none';
		}
		pestanaActiva = pestana;
		

		//Finalmente agregamos el medio de pago usado en una variable hidden
		//para enviarla al controlador
		if(pestana ==3) {
			$('medioPagoWeb').value = 'webpayplus';
		} else {
			$('medioPagoWeb').value = textoAct.toLowerCase();
		}

		
		$('datos_factura').setStyle('display', 'none');
		if($('marcafacturaf')) {
			$('marcafacturaf').checked = false;
		}
		if($('wmarcafacturaf'))	 {
			$('wmarcafacturaf').checked = false;
		}
		if($('marcafacturab')) {
			$('marcafacturab').checked = true;
		}
		if($('wmarcafacturab')) {
			$('wmarcafacturab').checked = true;
		}
	}
	if(pestana == 3) {
		//iraWebpay();
	}
	window.scroll(0, 850);
}

function solicitoClave() {
	var ruta = '/popup/popup_clave/popup_clave/img/popup_clave.gif';
	popup_compra(ruta, 510, 360);
}

/* numTry  :  Cantidad de intentos con clave erronea
 * intentosCaptcha : Cantidad de intentos antes que aparezca captcha
 * limiteIntentos : Maxima cantidad de intentos
 */
var numTry = 1;
var intentosCaptcha = 2;
var limiteIntentos = 3;
var numTryErr = 1;
function confirmar_form(content, site_url) {
	if(content != '') {
		txt = content.split('|');
		content = txt[0];
	}
	if(content == 'correcto') {
		// Llegada correcta
		// Primero guarda validacion del domicilio
		var domicilio = txt[2];
		$('DOMICILIO_VALIDO').value = domicilio;

		// Ahora verificamos si tiene guardada la direccion ingresada
		/*
		var direc = $('usaDireccionFrecuente').value;
		if(direc == 'no') {
			if($('medioPagoWeb').value == 'lapolar')
				var respuesta = registraDireccion()
			else
				var respuesta = false;
			if(!respuesta) {
				pasoFinal = '/compra/checkout/paso3';
				var formPaso2 = $('formPaso2');
				formPaso2.action = pasoFinal;
				formPaso2.target = '_self';
				formPaso2.submit();
			}
		} else {
		}
		*/
		if(txt.length == 4) {
			if(txt[3] == '1racompra' && parseInt($('despachonumerico').value) > 0) {
				alert('Has ganado un descuento de flete,felicidades!');
			}
		}
		pasoFinal = '/compra/checkout/paso3';
		var formPaso2 = $('formPaso2');
		formPaso2.action = pasoFinal;
		formPaso2.target = '_self';
		formPaso2.submit();
		
	} else {
		// Ocurrio un error en el paso 2 y medio
		pagoEnProceso = false;
		restauraBotonPago();
		if(content == '') {
			if(numTryErr == 1) {
				alert(mensajeErrInternoTrans);
			} else {
				alert(mensajeErrRedir);
				location.href = 'http://'+site_url+'/'+$('uribase').value;
			}
			numTryErr++;
		}
		if(content == 'error bloqueo') {
			alert(mensajeBloqueo);
			location.href = 'http://'+site_url+'/'+$('uribase').value+'/';
		}
		if(content == 'error clave') {
			if($('medioPagoWeb').value == 'lapolar') {
				if($('tieneclave').value == 'no') {
					alert(mensajeSinLP);
					return;
				}
				if(numTry == limiteIntentos) {
					alert(mensajeIntentos);
					location.href = 'http://'+site_url+'/'+$('uribase').value+'/';
					return;
				}
				// Solo llego, no verifico
				alert(mensajeClave);
				$('txtKEY').value = '';

				if(numTry == intentosCaptcha) {
					//Visualizamos Captcha
					$('captchaObj').setStyle('display', 'block');
					$('usaCaptcha').value = '1';
				}
				numTry++;
			}
		}
		if(content == 'error sesion') {
			alert(mensajeSesion);
			location.href = 'http://'+site_url+'/'+$('uribase').value+'/';
		}
		if(content == 'mediopago') {
			alert(mensajeMedioPago);
			
		}
		if(content == 'error mail'){
			activaTabsyRadios();
			alert(mensajeMail);
			
		}

		
	} // end if(content=='correcto')
}

function registraDireccion() {
	var box = '<img border="0" alt="Atencion" src="/img/html/body/barra_sup_direccion.gif" />'
	+'<div id="boxGrabaDireccion" class="letraNormal">'
	+'<p align="justify">Registra esta dirección de despacho con un nombre y evitarás digitarla nuevamente en tu próxima compra.<br />'
	+'Ejemplo: MI CASA</p>'
	+'<table width="100%" align="center"><tr>'
	+'<td colspan="2" align="center"><input id="nombredir" type="text" name="nombredir" size="35" maxlength="20" /></td></tr>'
	+'<tr><td colspan="2">&nbsp;</td></tr><tr>'
	+'<td align="center"><input type="image" src="/img/html/body/btn_guardar.gif" style="border: 0px" onclick="guardar_direccion()" /></td>'
	+'<td align="center"><input type="image" src="/img/html/body/btn_cancelar.gif" style="border: 0px" onclick="continuar_sin_dir()" /></td>'
	+'</tr></table></div>';
	if($('popCloseBox')) {
		showPopWinCompra(box, 300, 280,null);
		$('popupControls').setStyle('display', 'none');
		$('popTitleBarTexto').innerHTML = 'La Polar - Mis direcciones frecuentes';
		return true;
	} else
		return false;
}

function mostrarEsperaWP() {
	var box = '<div width="100%" align="center">'+
	'<img align="center" border="0" alt="Espere..." src="/img/html/body/loading_Webpay.gif" />'+
	'<br><span onclick="activaTabsyRadios(); cerrarEsperaWP();" style="cursor:pointer;"><img src="/img/html/body/btn_cerrar_tbk.gif" border="0"></span>'+
	'</div>';
	if($('popCloseBox')) {
		showPopWinCompra(box, 400,250,null);
		$('popupControls').setStyle('display', 'none');
		$('popTitleBarTexto').innerHTML = 'La Polar - Espere...';
	}
}

function cerrarEsperaWP() {
	hidePopWin();
}

function continuar_sin_dir() {
	hidePopWin(false);
	var formPaso2 = $('formPaso2');
	formPaso2.action = '/compra/checkout/paso3';
	formPaso2.submit();
}

function guardar_direccion() {
	if($('nombredir').value == '') {
		alert(mensajeEscribaDireccion);
		return;
	}
	
	hidePopWin(false);
	var formPaso2 = $('formPaso2');
	var siteurl = $('host_conocido').value;
	$('nombredireccion').value = $('nombredir').value;
	formPaso2.action = envoltura_host+siteurl+'/compra/checkout/registraDireccion/';
	formPaso2.send({method: 'post', onComplete: function(e) {
						e = e.split("$$");	
						if(e[0] != 'ok') {
							alert(mensajeErrDireccion);
						} else {
							alert(mensajeGuardaOKDir);
						}
						var formPaso2 = $('formPaso2');
						formPaso2.action = '/compra/checkout/paso3';
						formPaso2.submit();
					}
	});
}

function cambioCD() {
	$('cuotacalc').innerHTML = '';
	cuotaCalculada = false;
}

function encuentraErrores(paso) {
	if(paso == 2) {
		if($('despachonumerico').value == 'stock') {
			return $('costoFlete').innerHTML;
		}
		if($('despachonumerico').value == 'flores') {
			return $('colocacion_fecha_p1').innerHTML;
		}
	
		if( ($('slRegion').value > 0) && ($('slComuna').value > 0) ){
			// ******************************* //
			seleccionoDesp = false;
			if($('dNORMAL')){
				if($('dNORMAL').checked == true) {
					seleccionoDesp = true;
				}
			}
			if($('dRANGOHORARIO')){
				if($('dRANGOHORARIO').checked == true){
                                        var rangoselOK = false;
                                        for(i=0;i<document.getElementsByName("rangosel").length;i++){
                                           if(document.getElementsByName("rangosel")[i].checked == true) {
                                                rangoselOK = true
				 	   }
						seleccionoDesp = true;
                                        }
                                        if(rangoselOK == false){
                                                return "Debe seleccionar el Rango de despacho.";
                                        }
				}
			}
			if($('dEXPRESS')){
				if($('dEXPRESS').checked == true) {
					seleccionoDesp = true;
				}
			}
			if($('dRETIROTIENDA')){
				if($('dRETIROTIENDA').checked == true){
                                        if(tiendaSelec == false){
                                                return "Debe Seleccionar una tienda.";
                                        } else {
						seleccionoDesp = true;
					}
				}
			}
			if(seleccionoDesp == false) {
				if($('costoFlete').innerHTML != 'pendiente') {
					return "Debe seleccionar el tipo de despacho.";
				}
			}
		}
		
		if(parseInt($('despachonumerico').value) == 0 && !contingencia) {
			return 'Ingrese region y comuna para calculo del Despacho';
		}
		if($('despachonumerico').value == '-') {
			return 'Por el momento no tenemos despacho a esta comuna.';
		}
		verificacion = $('verificaDireccionEscrita').value;
		if($('codigoNOVIOS') != '') {
			if(!is_number($('codigoNOVIOS').value)) {
				return 'Error en el codigo de novios, Favor reingresar';
			}
		}
		if(verificacion == '1') {
			objSelReg = $('slRegion');
			if(objSelReg.options[objSelReg.selectedIndex].value == '0') {
				return 'Debe Seleccionar Region';
			}
			objSelCom = $('slComuna');
			if(!objSelCom) {
				objSelReg.selectedIndex = 0;
				return 'Seleccione Region nuevamente, por favor';
			}
			if(objSelCom.options[objSelCom.selectedIndex].value == '0') {
				return 'Debe Seleccionar Comuna';
			}
			if($('domicilio').value == '') {
				return 'Ingresa el nombre de la calle/avda/psje';
			}
			if($('numero').value == '') {
				return 'Ingresa el numero de su domicilio';
			}
			if(!is_number($('numero').value)) {
				return 'Solo puede usar digitos numericos en el Nro de Casa';
			}
		}
		if($('codigoPIN').value != '') {
			if($('codigoPIN').value.length < 3) {
				return 'Verifique la cantidad de caracteres del codigo de descuento';
			}
		}

		if($('receptor_auth').checked){
			if($('receptor1').value == '')  {
				return "Debe ingresar un receptor";
			}
		}
	}
	if(paso == 3) {
		switch($('medioPagoWeb').value) {

		case 'transferencia':
			if($('trans_nombre').value == '') {
				return 'Ingresa tu nombre';
			}
			if($('trans_rut').value == '' || $('trans_rut').value.length < 7) {
				return 'Ingresa tu RUT, debe ser valido';
			}
			if(!rutEstaCorrecto($('trans_rut'))) {
				return 'El RUT debe ser valido';
			}
			if($('trans_email').value == '') {
				return 'Ingresa tu correo electronico';
			}
			if($('trans_email').value != '') {
				if(!emailCheck($('trans_email').value)) {
					return 'El mail debe ser valido.';
				}
			}
			if($('trans_telefono').value == '') {
				return 'Ingresa tu telefono';
			}
			if($('trans_telefono').value.length < 6) {
				return 'Ingresa un telefono valido';
			}
		break;
		
		case 'lapolar':
			if($('txtNOMBRE').value == '') {
				return 'Ingresa tu nombre';
			}
			if($('txtRUT').value == '' || $('txtRUT').value.length < 7) {
				return 'Ingresa tu RUT, debe ser valido';
			}
			if(!rutEstaCorrecto($('txtRUT'))) {
				return 'El RUT debe ser valido';
			}
			if($('txtMAIL').value == '') {
				return 'Ingresa tu correo electronico';
			}
			if($('txtMAIL').value != '') {
				if(!emailCheck($('txtMAIL').value)) {
					return 'El mail debe ser valido.';
				}
			}
			if($('txtPHONE').value == '') {
				return 'Ingresa tu telefono';
			}
			if($('txtPHONE').value.length < 6) {
				return 'Ingresa un telefono valido';
			}
			if($('cuotas').value == '') {
				return 'Ingresa la cantidad de cuotas solicitada.  Entre 1 y 36';
			}
			if(!is_number($('cuotas').value)) {
				return 'Solo puedes usar digitos en la cantidad de cuotas';
			}
			if(parseInt($('cuotas').value) < 1 || parseInt($('cuotas').value) > 36) {
				return 'La cantidad de cuotas debe estar entre 1 y 36';
			}
			if($('valida_ejecutivo').value == 'false') {
				if($('tieneclave').value == "si"){
					if($('txtKEY').value == '') {
						return 'Ingresa tu clave secreta de 4 digitos';
					}
					if(!is_number($('txtKEY').value)) {
						$('txtKEY').value = '';
						return 'Solo puedes usar digitos numericos en tu clave';
					}
					if($('txtKEY').value.length < 4) {
						$('txtKEY').value = '';
						return 'Tu clave de Tarjeta debe tener 4 digitos';
					}
				}
			}
			if($('usaCaptcha').value == '1') {
				if($('captcha_verify').value == '') {
					return 'Ingresa el codigo de Validacion';
				}
			}
			if($('tieneclave').value == "si")
				if(!cuotaCalculada) {
					return 'Selecciona el numero de cuotas que quieres para esta compra y presiona "Calcular"';
				}
			if(!$('condiciones_si').checked) {
				return 'Para continuar, acepta las condiciones de venta.';
			}

			if($('marcafacturaf').checked){
				var errorfactura = chequeaDatosFactura();
				if(errorfactura) {
					return errorfactura;
				}
			}
				
			break;
		case 'webpay':
			if($('wtxtNOMBRE').value == '') {
				return 'Ingresa tu nombre';
			}
			if($('wtxtRUT').value == '' || $('wtxtRUT').value.length < 7) {
				return 'Ingresa tu RUT, este debe ser valido';
			}
			if(!rutEstaCorrecto($('wtxtRUT'))) {
				return 'El RUT debe ser valido';
			}
			if($('wtxtMAIL').value == '' ) {
				return 'Ingresa tu correo electronico';
			}
			if($('wtxtMAIL').value != '' && !emailCheck($('wtxtMAIL').value)) {
				return 'Ingresa un correo electronico valido. Te sera enviada una confirmacion';
			}
			if($('wtxtPHONE').value == '') {
				return 'Ingresa tu telefono';
			}
			if($('wtxtPHONE').value.length < 6) {
				return 'Ingresa un telefono valido';
			}
			if($('wtipoTarjeta').value == '0') {
				return 'Selecciona el tipo de tarjeta que usaras';
			}
			if($('wTarjeta').value == '') {
				return 'Ingresa tu numero de tarjeta bancaria';
			}
			if($('wFechaA').value == '0') {
				return 'Ingresa el año de expiración de tu tarjeta bancaria';
			}
			if(parseInt($('wFechaA').value) < parseInt($('actual_agno').value) || parseInt($('wFechaA').value) > parseInt($('actual_agno').value) + 10) {
				return 'El Año de expiracion debe ser correcto';
			}
			if($('wFechaM').value == '0') {
				return 'Selecciona el mes de expiración de tu tarjeta bancaria';
			}
			numeroTarj = reemplazar($('wTarjeta').value, '-', '');
			if($('wtipoTarjeta')) {
				nombre = $('wtipoTarjeta').value;
			} else {
				nombre = '';
			}
			if(!validaTransbank(numeroTarj, nombre)) {
				msg = 'Hay un problema con tu numero de tarjeta bancaria. Revisa la cantidad de digitos o tu tipo de tarjeta.';
				return msg;
			}
			
			if($('wmarcafacturaf').checked){
				var errorfactura = chequeaDatosFactura();
				if(errorfactura) {
					return errorfactura;
				}
			}

			break;
		case 'webpayplus':
			if($('wtxtNOMBRE').value == '') {
				return 'Ingresa tu nombre';
			}
			if($('wtxtRUT').value == '' || $('wtxtRUT').value.length < 7) {
				return 'Ingresa tu RUT, este debe ser valido';
			}
			if(!rutEstaCorrecto($('wtxtRUT'))) {
				return 'El RUT debe ser valido';
			}
			if($('wtxtMAIL').value == '' ) {
				return 'Ingresa tu correo electronico';
			}
			if($('wtxtMAIL').value != '' && !emailCheck($('wtxtMAIL').value)) {
				return 'Ingresa un correo electronico valido. Te sera enviada una confirmacion';
			}
			if($('wtxtPHONE').value == '') {
				return 'Ingresa tu telefono';
			}
			if($('wtxtPHONE').value.length < 6) {
				return 'Ingresa un telefono valido';
			}

			if($('wmarcafacturaf').checked){
				var errorfactura = chequeaDatosFactura();
				if(errorfactura) {
					return errorfactura;
				}
			}
			break;
		default:
			msg = 'Selecciona Tarjeta La Polar o Tarjeta Bancaria e introduce tus datos personales';
			return msg;
			break;
		}
		if($('medioPagoWeb').value != 'lapolar' && $('informaMedioPago').value == '1') {
			return mensajeAlertaMedioPago;
		}

	}
	return false;
}

function chequeaDatosFactura(){
	if($('fac_rut').value == '' || $('fac_dv').value == '') {
		return "Ingresa tu RUT, este debe ser valido";
	}
	$('rutFull').value = $('fac_rut').value +'-'+ $('fac_dv').value;
	if(!rutEstaCorrecto($('rutFull'))) {
		return "El RUT debe ser valido";
	}
	if($('fac_razon').value == '') {
		return "Debe ingresar razon social";
	}
	if($('fac_giro').value == '') {
		return "Debe ingresar el giro";
	}
	if($('fac_dir').value == '') {
		return "Debe ingresar su direccion";
	}
	if($('slRegion').value == 0) {
		return "Debe seleccionar un region";
	}
	if($('slComuna2').value == 0) {
		return "Debe seleccionar una comuna";
	}
	if($('fac_comuna').value == '') {
		return "Debe ingresar una ciudad";
	}
	if($('fac_contacto').value == '') {
		return "Debe ingresar un contacto";
	}
	if($('fac_telefono').value.length < 6) {
		return "Debe ingresar un telefono valido";
	}
	if($('fac_email').value == '' || !emailCheck($('fac_email').value)) {
	 	return "Debes ingresar un mail correcto";
	}
	return false;
}



function mostrarDestinatario() {
	if($('datos_destinatario')) {
		var marcado = $('datos_destinatario').checked;
		if(marcado) {
			$('tabla_destinatario').setStyle('display', 'block');
		} else {
			$('tabla_destinatario').setStyle('display', 'none');
		}
	}
		
}

function mostrarAvisoPagoEnviado() {
	var objTD = $('td_boton_pago');
	var objIMG = $('img_boton_pago');
	
	if(objIMG) {
		objIMG.style.display = 'none';
	}
	var objDiv = new Element('div');
	objDiv.id = 'div_boton_pago';
	objDiv.innerHTML = 'Procesando tu solicitud...Espera unos instantes.';
	objTD.appendChild(objDiv);
}

function restauraBotonPago() {
	var objTD = $('td_boton_pago');
	var objIMG = $('img_boton_pago');
	if($('div_boton_pago')) {
		var objDiv = $('div_boton_pago');
		objTD.removeChild(objDiv);
	}
	objIMG.style.display = 'block';
}

function imprimirRecibo() {
	window.print();
}

function helpCompra() {
	alert('Seccion ayuda aun no se ha habilitado');
}

function calculaDespachoChk() {
	alert('No implementado en el checkout');
}

function mostrarObsDespacho() {
	$('obsDespacho').setStyle('display', 'block');
	$('mensajeDespacho').setStyle('display', 'none');
}

function iraNovios() {
	alert('Seccion Novios aun no se ha habilitado');
}

function cargaCombos() {
	if(!$('plu_para_combo')) {
		return;
	}
	if($('plu_para_combo').value == '0') {
		return;
	}
	var host_conocido = $('host_conocido').value;
	var plu = $('plu_para_combo').value;
	var ruta = 'https://'+host_conocido+'/internet/catalogo/detalle_combos/'+plu;
	var Ax = new Ajax(ruta, {method:'get', 
				 onComplete: function(resp) {
				 	if(resp != 'NO_COMBO') {
						$("contenedorCombos").innerHTML = resp;
						$("contenedorCombos").setStyle('display', 'block');
					}
				 }
	}).request();
				
}

function cargaRelacionados() {
	
	if(!$('plu_para_combo')) {
		return;
	}
	var host_conocido = $('host_conocido').value;
	var plu = $('plu_para_combo').value;
	var div_fam = 'familia['+plu+']';
	//valida que exista el divfam para no presentar errores en partes donde no esta. (jp)
	if($(div_fam))  {
		var familia = $(div_fam).innerHTML;
	} else {
		return;
	}
	//alert(subprenda);
	var ruta = 'https://'+host_conocido+'/internet/catalogo/obtiene_plu_relacionados/'+familia;
        var Ax = new Ajax(ruta, {method:'get', onComplete: function(resp) {
						if(resp) {
							$('contenedorCombos').innerHTML = resp;		
							$("contenedorCombos").setStyle('display', 'block');
						}	
                                }
        }).request();
	
}

function yaEstaEnCarro(plu) {
	var listaPLU = $('listaPLU').value;
	var lista = listaPLU.split(',');
	var result = false;
	lista.each(function(elem, i) {
			if(plu == elem) {
				alert('Este producto ya esta en tu carro de compras.  Aumenta la cantidad desde el menu de cantidad de cada producto');
				result = true;
			}
		}
	);
	return result;
}

function agregaCarroDesdePaso1(idplu, idarticul, hash, idkey, codibar, precio) {
	if(yaEstaEnCarro(idplu)) {
		return;
	}
	var host_conocido = $('host_conocido').value;
	var ruta = 'https://'+host_conocido+'/compra/carrocompra/agregar/'+idplu+'/'+idarticul+'/'+precio+'/1/'+codibar;
	var Ax = new Ajax(ruta, {method:'get', onComplete: function(resp) {
						if(resp != '') {
							location.href = location.href;
						} else {
							alert('Se ha producido un ERROR');
						}
				 }
				}).request();				 

}

function activaCombo(id) {
	var idCombo = $('id_combo'+id).value;
	var plu = $('plu_combo'+id).value;
	var host_conocido = $('host_conocido').value;
	tsa = Math.floor(Math.random()*1000000);
	ruta = 'https://'+host_conocido+'/compra/carrocompra/activar_combo/'+plu+'/'+idCombo+'?tsa='+tsa;
	var Ax = new Ajax(ruta, {method:'get',
				 onComplete: function(resp) {
				 	if(resp != 'err') {
						disparaEvento = false;
						location.href = "/compra/checkout/paso1";
					}
				}
	}).request();
}


function completa_campos_paso2(){
	if($('rut_clte_social').value != ''){
		var ruta ='/compra/checkout/saca_datos_clte';
		var datos = 'rut='+$('rut_clte_social').value;
		var Ajx = new Ajax(ruta, {method:'post', data:datos,
					onComplete:function(e){
						tmp_datos_clte = e.split('#');	
						if(tmp_datos_clte[0] == 'OK'){
							$('txtNOMBRE').value = tmp_datos_clte[1];	
							$('wtxtNOMBRE').value = tmp_datos_clte[1];

							$('txtRUT').value = $('rut_clte_social').value;
							$('wtxtRUT').value = $('rut_clte_social').value;

							$('txtMAIL').value = tmp_datos_clte[2];
							$('wtxtMAIL').value = tmp_datos_clte[2];

							$('txtPHONE').value = tmp_datos_clte[3]; 
							$('wtxtPHONE').value = tmp_datos_clte[3];

							$('txtPHONE2').value = tmp_datos_clte[4];
							$('wtxtPHONE2').value = tmp_datos_clte[4];
						}	
					}
				  }).request();  
	}
	
}

function elijeTarjeta(obj) {
	var anterior = $('wtipoTarjeta').value;
	$('wtipoTarjeta').value = obj.id;
	if(anterior != '0') {
			$(anterior).style.borderWidth='1px';
			$(anterior).style.borderColor = '#EEEEEE';
	}
	obj.style.borderWidth = '2px';
	obj.style.borderColor = '#000000';
}

function verificaTipo() {
	if($('wtipoTarjeta').value == 0) {
			$('wTarjeta').value = '';
			alert('Antes debes elegir una clase de Tarjeta Bancaria');
			return
	}
}

function validarCuotas(inputObj) {
	if(inputObj.value < 1 || inputObj.value > 36) {
		alert('Ingresa una cantidad de Cuotas entre 1 y 36');
		inputObj.value = 1;
		inputObj.focus();
	}
}

function bt_direccion(objDir) {
	if(objDir.value == 'otra') {
		divDireccion('otra');
		$('verificaDireccionEscrita').value = '1';
	}
	if(objDir.value == 'frecuente') {
		divDireccion('frecuente');
		$('verificaDireccionEscrita').value = '0';
		divEscrita('off');
	}
	if(objDir.value == 'interna') {
		$('verificaDireccionEscrita').value = '0';
	}
}

function divDireccion(modo) {
	var ObjF = $('direccionFrecuente');
	var ObjO = $('direccionOtra');
	//var ObjI = $('direccionInterna');
	if(!ObjF && !ObjO) {
		return;
	}
	switch(modo) {
		case 'otra':
			ObjO.setStyle('display', 'block');
			ObjF.setStyle('display', 'none');
			//ObjI.setStyle('display', 'none');
			break;
		case 'frecuente':
			ObjF.setStyle('display', 'block');
			ObjO.setStyle('display', 'none');
			//ObjI.setStyle('display', 'none');
			break;
		case 'interna':
			//ObjI.setStyle('display', 'block');
			ObjF.setStyle('display', 'none');
			ObjO.setStyle('display', 'none');
			break;
	}
}

function divEscrita(modo) {
	var Obj = $('direccionEscrita');
	if(!Obj) {
		return;
	}
	if(modo == 'on') {
		Obj.setStyle('display', 'block');
	} else {
		Obj.setStyle('display', 'none');
	}
}

/* cargaFrecuentes()
 *	Llama al controlador en el servidor para obtener las direcciones frecuentes
 *	guardadas por un RUT de un cliente LA POLAR
 *	
 *
 */
function cargaFrecuentes() {
	$('indicadorcargadirecciones').setStyle('display', 'block');
	var rut = $("RUT_p1");
	var clave = $("Clave_p1");
	var siteurl = $('host_conocido').value;
	var rutValidado = rutEstaCorrecto(rut);
	if($('esta_conectado')){
		var ruta = envoltura_host + siteurl + '/compra/checkout/obtieneDireccionSec';
		rutValidado = true;
		clave.value = '1234';
		var TdOcultoPaso1 = $$(".td_oculto_paso1"); /* Clase de td a ocultar en paso 1 cuando se este registrado*/
		TdOcultoPaso1.each(function(element, i) { element.setStyle('display', 'none'); });
	}	
	else	
		var ruta = envoltura_host + siteurl + '/compra/checkout/obtieneDireccion';
	if(rutValidado) {
		if(clave.value != '' && clave.value.length == 4) {
			var formulario = $('formPaso1');
			var tsa = Math.floor(Math.random()*1000000);
			formulario.action = ruta+'?tsa='+tsa;
			formulario.send({method:'post', 
						  onComplete: function(e) {
								$('indicadorcargadirecciones').setStyle('display', 'none');
						  		if(e == 'OK') {
									alert(mensajeSinDireccion);
									$('domicilio_tipo_full').value = 'otra';
									$('domicilio_tipo_full').checked = true;
								        bt_direccion($('domicilio_tipo_full'));
								} else {
									val = e.split('|');
									if(val[0] == 'ERR') {
										alert(val[1]);
									} else {
										procesaDireccionesFrec(e);
									}
								}
						  }
			});
		} else {
			clave.value = '';
			alert('Ingresa tu RUT y Clave de tu tarjeta La Polar');
			$('indicadorcargadirecciones').setStyle('display', 'none');
		}
	} else {
		clave.value = '';
		alert('Verifique su RUT');
		$('indicadorcargadirecciones').setStyle('display', 'none');
	}
}

/* procesaDireccionesFrec()
 *	Una vez que se ha obtenido de la base de datos las direcciones frecuentes
 *	Se procesan para mostrar menu o solo cargar una direccion simple
 *
 */
var listaDireccionesGlobales;
function procesaDireccionesFrec(content) {
	var val = content.split('|');
	if(val.length > 1) {
		// Cargar mas de una direccion
		// en el DIV  "seccionCargaMenuFrecuentes"
		var enc_html = '<p>Tenemos registradas las siguientes direcciones. Elige cual quieres utilizar en este despacho</p>';
		enc_html += '<div id="tablaDirec" class="divDirecciones"><table class="tablaDirecciones">';
		var tit_html = '<tr>';
		tit_html += '<td>Nombre</td><td>Direccion</td>';
		//tit_html += '<td>Quitar</td>';
		tit_html += '</tr>';
		var tabla = '';
		listaDireccionesGlobales = new Array();
		for(i = 1; i < val.length; i++) {
			var direc = val[i].split('$$');
			listaDireccionesGlobales[i] = new Array(direc[0], direc[1], direc[2], direc[3], direc[4], direc[5], direc[6],
								direc[7], direc[8]);
			tabla += '<tr>';
			var fn = 'activaDireccion('+i+')';
			tabla += '<td class="letraNormalBoldAzulHref" style="cursor:pointer" onclick="'+fn+'" >'+direc[1]+'</td><td>'+direc[4]+' '+direc[5]+'...'+'</td>';
			var fn = 'quitaDireccionGuardada('+direc[0]+')';
			var quitar = '<td><img src="/img/html/body/btn_cerrar.gif" style="cursor:pointer" onclick="'+fn+'" /></td>';
			//tabla += quitar;
			tabla += '</tr>';
		}	
		var fn = "activaDireccion('nueva')";
		tabla += '<tr>';
		tabla += '<td class="letraNormalBoldAzulHref" style="cursor:pointer" onclick="'+fn+'" >Nueva Direccion</td><td>&nbsp;</td>';
		tabla += '</tr>';
		var pie_html = '</table></div>';
		var htmlFinal = enc_html+tit_html+tabla+pie_html;
		$("seccionCargaMenuFrecuentes").innerHTML = htmlFinal;
		if(val.length > 2) {
			$("tablaDirec").setStyle('height', 90);
			$("tablaDirec").setStyle('overflow', 'auto');
		}
	} else {
		direc = val[1].split('$$');
		nombre = direc[1];
		alert('Se cargara la direccion guardada como <'+nombre+'>');
		cargaInHTMLDirec(direc);
	}
}

function usarOtraDirec() {
	$('domicilio_tipo_full').value = 'otra';
	$('domicilio_tipo_full').checked = true;
	bt_direccion($('domicilio_tipo_full'));
}

function activaDireccion(j) {
	if(j == "nueva") {
		usarOtraDirec()
	} else {
		cargaInHTMLDirec(listaDireccionesGlobales[j]);
	}
}

function cargaInHTMLDirec(direc) {
	region = direc[2];
	comuna = direc[3];
	calle =  direc[4];
	numero = direc[5];
	dpto =   direc[6];
	villa =  direc[7];
	obs =    direc[8];

	$('dpto').value = '';
	$('villa').value = '';
	$('txtObsDespacho').value = '';
	
	// Asigna Region
	var obj = $('slRegion');
	$(obj).value = region;
	cargaComunas(obj);
	// Asigna Comuna
	var obj = $('slComuna');
	$(obj).value = comuna;
	obtenerFletePaso1(obj);
	// Asigna Calle
	$('domicilio').value = calle;
	// Asigna Numero
	$('numero').value = numero;
	// Asigna Dpto
	$('dpto').value = dpto;
	if(villa != '') {
		// Asigna Villa
		$('villa').value = villa;
	}
	if(obs != '') {
		// Asigna Observaciones
		mostrarObsDespacho();
		$('txtObsDespacho').value = obs;
	}
	
	$('domicilio_tipo_frec').value = 'frecuente'; 
	bt_direccion($('domicilio_tipo_full'));
	$('usaDireccionFrecuente').value = 'si';
}

/*  rutEstaCorrecto(rut)
 *      Devuelve true si el rut esta correcto
 *		 false si algo esta mal
 */
function rutEstaCorrecto(objRut) {
	var rut = objRut.value;
	rut = reemplazar(rut, '.', '');
	rut = colocaGuiones(rut);
	objRut.value = rut;
	var soloRut = obtieneSoloRut(rut);
	var suma = obtieneSumaRut(soloRut);
	var dv = obtieneDVRut(suma);
	var dv_entrando = rut.charAt(rut.indexOf('-')+1);
	if(dv == dv_entrando.toUpperCase()) {
		return true;
	} else {
		return false;
	}
}

/* funcion reemplazar()
 *
 * Solo funciona con reemplazos de un caracter
 */
function reemplazar(pajar, aguja, lana) {
	var i = 0;
	var nuevopajar = '';
	while(i < pajar.length) {
		if(pajar.charAt(i) != aguja) {
			nuevopajar = nuevopajar + pajar.charAt(i);
		} else {
			nuevopajar = nuevopajar + lana;
		}
		i++;
	}
	return nuevopajar;
}

function colocaGuiones(rut) {
	if(rut.indexOf('-') == -1) {
		//no tiene guion
		var largo = rut.length;
		rut = rut.substr(0, largo-1)+'-'+rut.charAt(largo-1);
	}
	return rut;
}

function obtieneSoloRut(rut) {
	rut = rut.substring(0, rut.indexOf('-'));
	return rut;
}

function obtieneSumaRut(soloRut) {
	var suma = 0;
	var i = 0;
	var factor = 3;
	if(soloRut.length == 7) {
		soloRut = '0' + soloRut;
	}
	while(i < soloRut.length) {
		suma += (1*soloRut.charAt(i)*factor);
		i++;
		factor--;
		if(factor < 2) {
			factor = 7;
		}
	}
	return suma;
}

function obtieneDVRut(suma) {
	var resto = 11 - (suma % 11);
	var restoTxt = '';
	if(resto == 11) {
		restoTxt = '0';
	} else {
		if(resto == 10) {
	 		restoTxt = 'K';
		} else {
			restoTxt = resto.toString();
		}
	}
	return restoTxt;
}

function is_number(a_string) {
	var comp = '0123456789';
	var i = 0;
	while(i < a_string.length) {
		tc = a_string.charAt(i);
		if (comp.indexOf(tc) == -1) {
			return false;
		}
		i++;
	}
	return true;
}

function validaTransbank(numeroTarj, nombre) {
	if(checkCreditCard (numeroTarj, nombre)) {
		return true;
	} else {
		return false;
	}
}

function emailCheck (emailStr) {
	/* Verificar si el email tiene el formato user@dominio. */
	var emailPat=/^(.+)@(.+)$/;

	/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";

	/* Verifica los caracteres que son validos en una direccion email */
	var validChars="\[^\\s" + specialChars + "\]";

	var quotedUser="(\"[^\"]*\")";

	/* Verifica si la direccion email esta presentada con una direccion Valida */


	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

	/* Verificar caracteres invalidos */

	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	/* domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	// Si el user "user" es valido 
	if (user.match(userPat)==null) {
		// Si no
		return false;
	}

	/* Si la direccion es valida */
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			}
		}
		return true;
	}

	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		return false;
	}

	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		return false;
	}	
	if (len<2) {
		return false;
	}
	return true;
}

var adentroInputCalle = false;
function mostrarListaCalles() {
	$('domicilio').onkeyup = function(event) {
		if($('slRegion')) {
			if($('slRegion').value != 13) {
				return;
			}
		}
		var objAxDisplay = $('callesxcomuna').getStyle('display');
		event = new Event(event);
		if(objAxDisplay == 'block') {
			var ukey = event.key;
			if(ukey == 'up' || ukey == 'down') {
				moverCalle(ukey);
				return;
			}
			if(ukey == 'enter') {
				var objeto = $('calle'+calleSeleccionada.toString());
				eligeCalle(objeto);
				return;
			}
		}
		if(this.value.length > 3 && $('slComuna') && $('slComuna').selectedIndex > 0) {
			activaCallesAx();
			adentroInputCalle = true;
		} else {
			adentroInputCalle = false;
			$('callesxcomuna').setStyle('display', 'none');
		}
	}
}

function salirCalles() {
		if(!adentroMouse) {
			$('callesxcomuna').setStyle('display', 'none');
		} else {
			adentroMouse = false;
			self.setTimeout('salirCalles()', 150);
		}
		if(!adentroInputCalle) {
			$('callesxcomuna').setStyle('display', 'none');
		}
			
}

function activaCallesAx() {
	var ObjForm = $('formPaso1');
	var caracteres = new Array('ñ', 'á', 'é', 'í', 'ó', 'ú');
	var i = 0;
	$('domicilio_interno').value = $('domicilio').value;
	while(i < caracteres.length) {
		$('domicilio_interno').value = reemplazar($('domicilio_interno').value, caracteres[i], '_');
		i++;
	}
	calleSeleccionada = 1;
	ObjForm.action = '/compra/checkout/filtracalles';
	ObjForm.send({method: 'post', onComplete: function(e) {
							hacerAparecerAx(e);
						}
	});
}

var adentroMouse = false;
function hacerAparecerAx(e) {
	var objAx = $('callesxcomuna');
	var objCalle = $('domicilio');
	var pos = objCalle.getPosition();

	objAx.setStyle('top', pos.y + 22);
	objAx.setStyle('left', pos.x);
	objAx.setStyle('position', 'Absolute');
	objAx.setHTML(e);
	objAx.setStyle('display', 'block');
	objAx.onmouseover = function() {
			adentroMouse = true;
	}
	objAx.onmouseout = function() {
			adentroMouse = false;
	}
}

function registro_social_paso1Compra(objChk){
	//alert(objChk.value);
	var opt_chk = objChk.value;	
	if(opt_chk == 'iniciarSesion') {
		$('ipt_rut_clave_social').style.display = 'block';
	} else {
		$('ipt_rut_clave_social').style.display = 'none';
	}
}

function verificaRut(rut,campania,source,password){
        if(rut == '') {
                alert('Debes ingresar un rut valido.');
                $('loader_login').setStyle('display','none');
		return;
	}

	rut = rut.replace(/\./g,'');
	if(!(validaRut(rut))){
		if($('loader_login')) {
			$('loader_login').setStyle('display','none');
		}
		return;
	}
	rut = colocaGuiones(rut);
	tsa = Math.floor(Math.random()*1000000);
	var siteUrl = $('host_conocido').value;
	var uriBase = $('uribase').value;
	var uriBase_Social = $('uri_social').value;
	var ruta = 'https://'+siteUrl+'/'+uriBase_Social+'/verificarut/'+rut+'/'+campania+'/'+password+'/'+tsa;
	var objAjax = new Ajax(ruta, 
				{method:'get',
				 onComplete: function(e) {
				 		resp = e.split('&&');
						var status = 0;
						if(resp[0] == "OK") {
							status = 1;
							registro_usuario_social_paso1();
						} else {
							if(resp[0] == "ERROR"){
								status = 2;
								alert(resp[1]);
								if($('loader_login')) {
									$('loader_login').setStyle('display','none');
								}
							}
						}
						if(status == 0) {
							alert('Se ha producido un error inesperado.  Recargue la pagina presionando F5, y si esto no soluciona su problema, contactese con nosotros al Fonocompras ' + fonocompra);
							if($('loader_login')) {
								$('loader_login').setStyle('display','none');
							}
						}
					}
                                }).request();

	return false;
}

function validaRut(rut){
        rut = colocaGuiones(rut);
        solo_rut = rut.substring(0, rut.indexOf('-'));
        suma_rut = obtieneSumaRut(solo_rut);
        dv = obtieneDVRut(suma_rut);
        dv_actual = rut.charAt(rut.indexOf('-')+1);
        if(dv == dv_actual.toUpperCase()){
                return true;
        }else{
                alert('Rut incorrecto!');
                return false;
        }

}

function registro_usuario_social_paso1() {
	var tsa = Math.floor(Math.random()*1000000);
        var ruta = 'https://'+$('host_conocido').value+'/compra/chek_social?tsa='+tsa;

        ObjAjax = new Ajax(ruta, {method: 'get', onComplete: function(e) {
                                var txt = e.split("#");
                                if(txt.length > 1) {
                                        if(('registro_social_compra')) {
                                                $('registro_social_compra').innerHTML = txt[1];
                                        }
					if(txt[0] == 'OK') {
                				divDireccion('frecuente');
                				$('verificaDireccionEscrita').value = '0';
                				divEscrita('off');
						$('domicilio_tipo_frec').checked  = 'check';
						cargaFrecuentes();
                                	}
                          	}
                          	}
                }).request();

}

function eligeCalle(objCalle) {
	var objTxt = $('domicilio');
	objTxt.value = objCalle.innerHTML;
	var objAx = $('callesxcomuna');
	objAx.setStyle('display', 'none');
	$('numero').focus();
}

var calleSeleccionada = 1;
var indiceCalle = 1;

function moverCalle(action) {
	var objCalles = $$('div.item_calle');
	//alert('calles obtenidas:'+objCalles.length+' y var es:'+calleSeleccionada);
	if(action == 'down') {
		if(calleSeleccionada == objCalles.length) {
			return;
		} else {
			calleSeleccionada++;
		}
	}
	if(action == 'up') {
		if(calleSeleccionada == 1) {
			return;
		} else {
			calleSeleccionada--;
		}
	}
	indiceCalle = 1;
	for(indiceCalle=1; indiceCalle<=objCalles.length;indiceCalle++) {
		if(indiceCalle == calleSeleccionada) {
			objCalles[indiceCalle-1].addClass('calleseleccionada');
			objCalles[indiceCalle-1].removeClass('callenoseleccionada');
		} else {
			objCalles[indiceCalle-1].addClass('callenoseleccionada');
			objCalles[indiceCalle-1].removeClass('calleseleccionada');
		}
	}
}

var simboloMiles = '.';
var simboloDec = ',';
function formatearNumero(num, prefix) {
	prefix = prefix || '';
	num += '';
	var splitStr = num.split(simboloDec);
	var splitLeft = splitStr[0];
	var splitRight = splitStr.length > 1 ? (simboloDec + splitStr[1]) : '';
	var regx = /(\d+)(\d{3})/;
	while (regx.test(splitLeft)) {
		splitLeft = splitLeft.replace(regx, '$1' + simboloMiles + '$2');
	}
	return prefix + splitLeft + splitRight;
}

function unformatNumber(num) {
	return num.replace(/([^0-9\,\-])/g,'')*1;
}

function asistenteTelefonicoSSL() {
        var ruta = 'https://'+$('host_conocido').value+'/internet/catalogo/tellamamos';
	popup_cm(ruta, 375, 445);
}

function popup_compra(URL, height, width) {
	xwidth = width;
	xheight = height;
	xleft =(getViewportWidth() - xwidth) / 2;
	xtop = (getViewportHeight() - xheight) / 2;
	var ruta_inicial = envoltura_host + $('host_conocido').value+'/img';
	if(ruta_inicial.substring(0,4) == 'http')
		ruta_inicial = '';
	props = 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width='+xwidth+',height='+xheight+',top='+xtop+',left='+xleft;
	popup = window.open(ruta_inicial+URL, 'popup', props);
	return popup;
}

function popup_cm(URL, height, width) {
        xwidth = width;
        xheight = height;
        xleft =(getViewportWidth() - xwidth) / 2;
        xtop = (getViewportHeight() - xheight) / 2;
        props = 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width='+xwidth+',height='+xheight+',top='+xtop+',left='+xleft;
        popup = window.open(URL, 'popup', props);
        return false;
}

function valorCuota(){

	if(!rutEstaCorrecto($('txtRUT'))){
		alert('El RUT debe ser valido');
		return;
	}
        valor = $('totalHidden').value;
	valor = valor.replace("$","");
	valor = valor.replace(".","");
	rut = $('txtRUT').value;
        clave = $('txtKEY').value;
	ncuotas = $('cuotas').value;
	desfase = $('slDesfase').value;
	ejecutivo = hayEjecutivoConectado();
	save_string  = rut + '#' + $('txtNOMBRE').value + '#' + $('txtMAIL').value + '#' + $('txtPHONE').value + '#' + $('txtPHONE2').value + '#';
	save_string += $('listaPLU').value + '#' + $('despacho_string').value;
	if(rut != "" && (clave !="" || ejecutivo)){
	                //var ruta = '/compra/checkout/consulta_cuota/'+rut+'/'+clave+'/'+valor+'/'+ncuotas;
	               var ruta = '/compra/checkout/consultaCuotas';
	               $('cuotacalc').innerHTML = "Calculando...";  //data: 'parametro='+parametro+'&servicio='+servicio+'
			$('id_boton_pago').style.display ="none";
			var despN = $('despachonumerico').value;
			if(ejecutivo) {
				clave = 'XXXX';
			}
			var strData = 'rut='+rut+'&clave='+clave+'&valor='+valor+'&ncuotas='+ncuotas+'&desfase='+desfase+'&despacho='+despN+'&string='+save_string;
	                var objAjax = new Ajax (ruta, { method:'post', data: strData,
	                                                onComplete: function(e){
								cuotaCalculada = true;
                                                                var resp = e.split("&|&");
								if(resp[0] == "OK"){
	                                                        	$('cuotacalc').innerHTML = resp[1];
									$('cuotacalc').setStyle('text-align', 'right');
									if(resp.length > 2) {
										$('STATUS').value = resp[2];
										$('MENSAJE_COM').value = resp[3];
									}
									if(resp.length > 4) {
										$('VALORCUOTA').value = resp[4];
									}
									$('intentosid').value += resp[5] + ',';
	                                                        }else {
									if(resp[0] == "ERROR"){
										alert(mensajeContingenciaComunic);
										$('cuotacalc').innerHTML = "Pendiente";
										$('cuotacalc').setStyle('text-align', 'center');
										$('intentosid').value += resp[2] + ',';
									} else {
	                                                        		$('cuotacalc').innerHTML = resp[1];
										$('cuotacalc').setStyle('text-align', 'center');
										$('intentosid').value += resp[2] + ',';
									}
	                                                        }
								$('id_boton_pago').style.display = "block";
	                                                }
        	        }).request();
	        }else{
			if($('tieneclave').value == "si")
				alert('Ingresa tu Rut y Password\nPara realizar el calculo de cuotas');
	}

}

function hayEjecutivoConectado() {
	var cont = $('nombreejecutivo').innerHTML;
	var ar = cont.split(':');
	if(ar.length == 2) {
		return true;
	} else {
		return false;
	}
}

function chequeaEBIT() {
	if($('banner')) {
		$('banner').setStyle('display', 'none');
	}
}

function traeFotoRegaloSolo(plu) {
	var host_conocido = $('host_conocido').value;
	var ruta = 'http://'+host_conocido+'/compra/fotos/'+plu
	popup_cm(ruta, 420, 450);
}

function traeFotoPluRegalos(id_plu, id_art){
	var plu = $('comboRegalo').value;
	plu = plu.split('-');
	plu = plu[1];
	var host_conocido = $('host_conocido').value;
	var ruta = 'https://'+host_conocido+'/compra/fotos/'+plu+'/'+id_art;
		
	popup_cm(ruta, 420, 450);
}
function traeFotoPluCombos_paso1(id_plu, id_art){
	var host_conocido = $('host_conocido').value;
	var ruta = 'https://'+host_conocido+'/compra/fotos/'+id_plu+'/'+id_art;
		
	popup_cm(ruta, 420, 450);
}

function poneRojo(obj){
        obj.style.color="#FF0000";
}

function poneGris(obj){
        obj.style.color="#323232";
}

function IEVersion(){
        var _n=navigator,_w=window,_d=document;
        var version="NA";
        var na=_n.userAgent;
        var ieDocMode="NA";
        var ie8BrowserMode="NA";
        // Look for msie and make sure its not opera in disguise
        if(/msie/i.test(na) && (!_w.opera)){
                // also check for spoofers by checking known IE objects
                if(_w.attachEvent && _w.ActiveXObject){
                        // Get version displayed in UA although if its IE 8 running in 7 or compat mode it will appear as 7
                        version = (na.match( /.+ie\s([\d.]+)/i ) || [])[1];
                        // Its IE 8 pretending to be IE 7 or in compat mode
                        if(parseInt(version)==7){
                                // documentMode is only supported in IE 8 so we know if its here its really IE 8
                                if(_d.documentMode){
                                        version = 8; //reset? change if you need to
                                        // IE in Compat mode will mention Trident in the useragent
                                        if(/trident\/\d/i.test(na)){
                                                ie8BrowserMode = "Compat Mode";
                                        // if it doesn't then its running in IE 7 mode
                                        }else{
                                                ie8BrowserMode = "IE 7 Mode";
                                        }
                                }
                        }else if(parseInt(version)==8){
                                // IE 8 will always have documentMode available
                                if(_d.documentMode){ ie8BrowserMode = "IE 8 Mode";}
                        }
                        // If we are in IE 8 (any mode) or previous versions of IE we check for the documentMode or compatMode for pre 8 versions
                        ieDocMode = (_d.documentMode) ? _d.documentMode : (_d.compatMode && _d.compatMode=="CSS1Compat") ? 7 : 5;//default to quirks mode IE5
                }
        }

        return {
                "UserAgent" : na,
                "Version" : version,
                "BrowserMode" : ie8BrowserMode,
                "DocMode": ieDocMode
        }
}

function cargaTips(){
	var Tips1 = new Tips($$('.ToolTip'));
}

function muestraclave(obj){
	if(obj.value == "no"){
		$("trclave").setStyle("display","none");
		$("tieneclave").value="no";
		$("trcuotas").setStyle("display","none");
	}else{
		$("trclave").setStyle("display","");
		$("tieneclave").value="si";
		$("trcuotas").setStyle("display","");
	}
}


addEvent(window, "load", chequeaEBIT);
addEvent(window, "load", cargaCombos);
addEvent(window, "load", cargaRelacionados);

addEvent(window, "load", cargaTips);


