var NS4 = (navigator.appName == "Netscape" && parseInt(navigator.appVersion) < 5);
var NSX = (navigator.appName == "Netscape");
var IE4 = (document.all) ? true : false;

function nuevaVentana (sPath, sTitulo, sPropiedades){
	window.open(sPath, sTitulo, sPropiedades);
}

function addOption(oSelect, iValue, sTexto) {
	if (NSX)
		addOptionNS(oSelect, iValue, sTexto);
	else if (IE4)
		addOptionIE(oSelect, iValue, sTexto);
}

function addOptionNS(oSelect, iValue, sTexto){
	var oOption  = new Option(sTexto, iValue);
	var iLongitud = oSelect.length;
	oSelect.options[iLongitud] = oOption;
	if (NS4) history.go(0);
}

function addOptionIE(oSelect, iValue, sTexto){
	var oOption = document.createElement("OPTION");
	oOption.text = sTexto;
	oOption.value = iValue;
	oSelect.add(oOption);
}

function enviarCajero(){
	var oCajeros = document.getElementById("frmBuscadorCajeros");
	var oPais = document.getElementById("cajero_pais");
	var iIdPais = oPais.options[oPais.selectedIndex].value;
	var oProvincia = document.getElementById("cajero_provincia");
	var oLocalidad = document.getElementById("cajero_localidad");
	var sMsg = "";
	
	if (oProvincia.options[oProvincia.selectedIndex].value == 0)
		sMsg += "Seleccione una provincia\n";
	if (iIdPais == 1 && oLocalidad.options[oLocalidad.selectedIndex].value == 0)
		sMsg += "Seleccione una localidad\n";
	
	if (sMsg != "")
		alert(sMsg);
	else 
		oCajeros.submit();
}

function actualizarLocalidades(blnMethod){
	var oPais = document.getElementById("cajero_pais");
	var oProvincia = document.getElementById("cajero_provincia");
	
	iIdPais = oPais.options[oPais.selectedIndex].value;
	iIdProvincia = oProvincia.options[oProvincia.selectedIndex].value;
	ejecutarRS(blnMethod, iIdPais, iIdProvincia);
	
	return false;
}

function ejecutarRS(blnMethod, iIdPais, iIdProvincia){
     	var jsrsPOST = blnMethod;
      
      	// Pasaje de parametros y ejecucion de funcion remota.
      	jsrsExecute(	"funciones_remotas.inc.php", 
      			funcionCallback, 
      			"obtenerLocalidades", 
      			Array(iIdPais, iIdProvincia));
}

function limpiarSelect(oSelect){
	for(i = oSelect.options.length - 1; i > 0; i--)
		oSelect.options[i] = null;
}
    
function funcionCallback(sReturn){
	var arrLocalidades = sReturn.split("***");
	var oLocalidades = document.getElementById("cajero_localidad");
	
	limpiarSelect(oLocalidades);
	
	for (i=0; i<arrLocalidades.length; i++){
		iIdLocalidad = arrLocalidades[i];
		sNombreLocalidad = arrLocalidades[++i];
		addOption(oLocalidades, iIdLocalidad, sNombreLocalidad);
	}
}

function mostrarLayer(oLayer, blnModo){
	if (blnModo){
		oLayer.style.visibility = "visible";
	} else {
		oLayer.style.visibility = "hidden";
	}
}

function mostrarProvincias(oProvincia, iPais){
	var i;
	
	for (i=0; i<arrProvincias.length; i++){
		if (arrProvincias[i][0] == iPais){
			addOption(oProvincia, arrProvincias[i][1], arrProvincias[i][2]);
		}
	}
}

function actualizarProvincias(blnMethod){
	var oPais 	= document.getElementById("cajero_pais");
	var oProvincia 	= document.getElementById("cajero_provincia");
	var oLocalidad 	= document.getElementById("cajero_localidad");
	
	iIdPais = oPais.options[oPais.selectedIndex].value;

	mostrarLayer(oProvincia, false);
	mostrarLayer(oLocalidad, false);

	switch(parseInt(iIdPais)){
		case 1:
			limpiarSelect(oProvincia);
			mostrarProvincias(oProvincia, 1);
			mostrarLayer(oProvincia, true);
			mostrarLayer(oLocalidad, true);
			break;
			
		case 2:
			limpiarSelect(oProvincia);
			mostrarProvincias(oProvincia, 2);
			mostrarLayer(oProvincia, true);
			break;
			
		case 3:
			nuevaVentana("http://www.mastercard.com/atmlocator/cobrand/index.jsp?lang=en&country=USA&var=COBRAND", "","");
			break;	
			
		default:
			break;
	}
	
	return false;
}