/* Metodo que define un objeto XMLHTTP */
function Ajax(){ 
	var xmlhttp = false; 
	try{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
	}catch(e){
		try{ 
			// Creacion del objet AJAX para IE 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		}catch(E){ 
			xmlhttp = false; 
		}
	}
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
	    xmlhttp = new XMLHttpRequest(); 
	}
	return xmlhttp; 
}
/* funcion que coloca el puntero del mouse en espera / normal */
function waitCursor(wait){
	document.body.style.cursor = (wait)?"wait":"pointer";
}
function checkLogin(sendLayer,cgi,iModo,sSearch,sUser,sPass,sApp)
{
	var ajax = Ajax();
	var sCgi = cgi;
	var sNew = "";	// se le pone el socket que devuelva la conexion correcta
	var bContinue = false;
	var sTipo			= "";
	var sTipoRegistrado	= "";
	var sTipoPass		= "";

	if(sApp == "OPAC"){
		sTipo			= "OPAC_LIBRE";
		sTipoRegistrado	= "OPAC_PRIVADO";
		sTipoPass		= "OPACWEB";
		if(iModo == 1 || iModo == 2 || iModo == 3 || iModo == 4 || iModo == 5 || iModo == 6)
			bContinue = true;
		else
			bContinue = false;
	}
	if(sApp == "OFIW"){
		sTipo			= "OFIWEB";
		sTipoRegistrado	= "OFIWEB";
		sTipoPass		= "OFIWEB";
		if(iModo == 5 || iModo == 6)
			bContinue = true;
		else
			bContinue = false;
	}
	if(sApp == "NET"){
		sTipo			= "ALBNET";
		sTipoRegistrado = "ALBNET";
		sTipoPass		= "ALBNET";
		if(iModo == 5 || iModo == 6)
			bContinue = true;
		else
			bContinue = false;
	}

	var oSelFree = document.getElementById("LANG");
	var oSelRegi = document.getElementById("LANG_LOG");
	
	if(bContinue){
		switch(iModo){
			case 1:{/* busqueda libre */
				sNew  = "?CMD=INICIAL";
				sNew += "&LINK_TO=RDO_SEARCH";
				sNew += "&SEARCH=" + sSearch;
								
				sCgi += "?CMD=CHECK_CONNECTION";
				sCgi += "&TIPO=" + sTipo;
				sCgi += "&LANG=" + (oSelFree ? oSelFree.value : "DEFAULT");
		
			}break;
			case 2:{/* acceso a busqueda avanzada */
				sNew += "?CMD=INICIAL";
				sNew += "&LINK_TO=ADVANCED_SEARCH";		
				
				sCgi += "?CMD=CHECK_CONNECTION";
				sCgi += "&TIPO=" + sTipo;
				sCgi += "&LANG=" + (oSelFree ? oSelFree.value : "DEFAULT");
					
			}break;
			case 3:{/* acceso a cuadros */
				sNew  = "?CMD=INICIAL";
				sNew += "&LINK_TO=VER_FONDOS";
					
				sCgi += "?CMD=CHECK_CONNECTION";
				sCgi += "&TIPO=" + sTipo;
				sCgi += "&LANG=" + (oSelFree ? oSelFree.value : "DEFAULT");
			}break;	
			case 4:{/* acceso a archivos */
				sNew  = "?CMD=INICIAL";
				sNew += "&LINK_TO=VER_ARCHIVOS";
							
				sCgi += "?CMD=CHECK_CONNECTION";
				sCgi += "&TIPO=" + sTipo;
				sCgi += "&LANG=" + (oSelFree ? oSelFree.value : "DEFAULT");
				
			}break;	
			case 5:{/* acceso como usuario registrado */
				sNew  = "?CMD=INICIAL";
				sNew += "&LINK_TO=VER_DESKTOP";			
			
				sCgi += "?CMD=CHECK_CONNECTION";
				sCgi += "&TIPO=" + sTipoRegistrado;
				sCgi += "&USER=" + sUser;
				sCgi += "&PASS=" + sPass;		
				sCgi += "&LANG=" + (oSelRegi ? oSelRegi.value : "DEFAULT");
						
			}break;									
			case 6:{	/* solicitud de nueva contraseņa */
				sCgi += "?CMD=GET_NEW_PASSWORD";
				sCgi += "&TIPO="+sTipoPass;
				sCgi += "&ALT_USER=" + sUser;
				sCgi += "&ALT_PASS=" + sPass;				
			}break;
		}
		var err = "";
		var waitLayer 	= document.getElementById("formAccess");
		if(!waitLayer){
			alert("error");
			return;
		}
		
		var oldContent	= waitLayer.innerHTML;
			
		var oLayerError = document.getElementById("error");
		if(!oLayerError){
			alert("error");
			return;
		}
		oLayerError.innerHTML = "";

		ajax.open("GET", sCgi, true);
		ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		ajax.setRequestHeader("Method", "GET " + cgi + "HTTP/1.1");
		ajax.setRequestHeader("Cache-Control", "no-cache, must-revalidate");
		ajax.setRequestHeader("Pragma", "no-cache");
		ajax.setRequestHeader("Accept-Charset", "iso-8859-1");
		ajax.onreadystatechange=function() 
		{ 
			if  (ajax.readyState == 1){
				waitLayer.innerHTML = "<div class='waitLogin'><p>"+msgConnect[12]+"</p></div>" + oldContent;
			}
			else if	(ajax.readyState==4){
				waitCursor(false);
				if(ajax.status == 200){
					if(ajax.responseText == ""){
						err  = "<div class='err'>"+msgConnect[0]+"</div>";
						err += "<div class='dsc'>"+msgConnect[3]+"</div>";
						oLayerError.innerHTML = err;
						waitLayer.innerHTML = oldContent;
					}
					else{
						waitLayer.innerHTML = oldContent;
						var rdo = ajax.responseText.split("&");
						if(rdo[0] == "OK"){
							if(rdo[1] == "PASSWORD"){
								var oOldPass = document.getElementById("PASS");
								var oOldUser = document.getElementById("USER");
								oLayerError.innerHTML 	= "<span class='textRdo'>"+msgConnect[11]+"</span><span class='textRdo2'>"+rdo[2]+"</span>";
								oOldPass.value 	= rdo[2];
								oOldUser.value  = sUser; 
								oOldPass.disabled = false;						
								oOldUser.disabled = false;
								openWeb(7);
							}
							if(rdo[1] == "CONNECTION"){
								waitLayer.innerHTML = oldContent;
								var posx = 0;
								var posy = 0;
								sNew = rdo[2] + sNew;
								var wWidth 	= window.screen.availWidth;
								var wHeight = window.screen.availHeight;
								var win = window.open(sNew, '', 'location=0,menubar=0,directories=0,toolbar=0,status=0,personalbar=0,titlebar=0,resizable=1,scrollbars=1,dependent=1');
								if(win){
									win.moveTo(posx,posy);
									win.resizeTo(wWidth,wHeight);
								}
								else{
									alert(msgConnect[5]);
								}
							}
						}
						else if(rdo[0] == "NO"){
							if(rdo[1] == "PASSWORD"){
								err  = "<div class='err'>" + msgConnect[1]  + "</div>";
								err += "<div class='dsc'>" + msgConnect[10] + "</div>";		
								oLayerError.innerHTML = err;
								waitLayer.innerHTML = oldContent;							
							}
							if(rdo[1] == "CONNECTION"){
								err  = "<div class='err'>"+msgConnect[0]+"</div>";
								err += "<div class='dsc'>" + rdo[2] + "</div>";
								waitLayer.innerHTML = oldContent;	
								oLayerError.innerHTML = err;
								var oOldPass = document.getElementById("PASS");
								var oOldUser = document.getElementById("USER");
								if(oOldPass && oOldUser){
								    oOldPass.value 	= "";
								    oOldUser.value  = sUser; 
								    oOldPass.disabled = false;						
								    oOldUser.disabled = false;								
								    oOldPass.focus();
								}
							}
						}
						else
						{
							if(rdo[0] == "ERROR_CGI"){
								err = rdo[1];
							}				
							else{		
								err  = "<div class='err'>"+msgConnect[0]+"</div>";
								err += "<div class='dsc'>"+msgConnect[3]+"</div>";
							}
							oLayerError.innerHTML = err;
							waitLayer.innerHTML = oldContent;							
						}
					}
				}
				else if(ajax.status == 404){
					err  = "<div class='err'>"+msgConnect[0]+"</div>"
					err += "<div class='dsc'>"+msgConnect[2] + " " + cgi;
					err += "<p>"+msgConnect[ajax.status]+"</p>";
					err += "</div>";
					oLayerError.innerHTML = err;
					waitLayer.innerHTML = oldContent;							
					waitCursor(false);
				}
				else{
					err  = "<div class='err'>"+msgConnect[0]+"</div>"
					err += "<p>"+msgConnect[ajax.status]+"</p>";					
					oLayerError.innerHTML = err;
					waitLayer.innerHTML = oldContent;							
					waitCursor(false);
				}
			}
		}
		ajax.send(null);
	}
}

