﻿// JavaScript Document

function changeAnonim (bQuestion) {
	if (bQuestion) {
		var ObjFormulari = document.fAddQuestion;
	} else {
		var ObjFormulari = document.fAddMessage;
	}
	
	var navRoot2 = document.getElementsByTagName ("label");
	for (j=0; j<navRoot2.length; j++) {
		var node = navRoot2[j];
		if ((node.name == 'lbuser') || (node.name == 'lbpass')) {
			node.disabled = ObjFormulari.elements['buser'].checked;
		} else if (node.name == 'lbautor') {
			node.disabled = !ObjFormulari.elements['buser'].checked;
		}
	}
    ObjFormulari.elements['user'].disabled = ObjFormulari.elements['buser'].checked;
	ObjFormulari.elements['pass'].disabled = ObjFormulari.elements['buser'].checked;
	ObjFormulari.elements['autor'].disabled = !ObjFormulari.elements['buser'].checked;
	
	if (ObjFormulari.elements['buser'].checked) {
		ObjFormulari.elements['user'].style.backgroundColor = 'Gray';
		ObjFormulari.elements['pass'].style.backgroundColor = 'Gray';
		ObjFormulari.elements['autor'].style.backgroundColor = '#FFFFFF';
	} else {
		ObjFormulari.elements['user'].style.backgroundColor = '#FFFFFF';
		ObjFormulari.elements['pass'].style.backgroundColor = '#FFFFFF';
		ObjFormulari.elements['autor'].style.backgroundColor = 'Gray';
	}
}

function transformaSaltsLinia (sTexte) {
	var sResult = "";
	
	if (sTexte.indexOf ("\n") != -1) {
		while (sTexte.indexOf ("\n") != -1) {
			sResult = sTexte.substring (0, sTexte.indexOf ("\n")-1);
			sResult = sResult + "<BR />";
			sResult = sResult + sTexte.substring (sTexte.indexOf ("\n")+1, sTexte.length);
			sTexte = sResult;
		}
	} else {
		sResult = sTexte;
	}
	
	return sResult;
}

function mostraRespostaForm(IdDIV, filename, bQuestion){
  	//document.getElementById(IdDIV).innerHTML=getFilePost(filename);
	alert (getFilePost(filename, bQuestion));
}

function getFilePost(filename, bQuestion) { 
    var oxmlhttp = null;
    try { 
		oxmlhttp = new XMLHttpRequest();
        oxmlhttp.overrideMimeType("text/xml");
    } catch(e) { 
		try { 
			oxmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) { 
			try {
				// Internet Explorer 5.0+
				oxmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (ex) {
				return null;
          	}
      	}
	}
    
	if (!oxmlhttp && typeof XMLHttpRequest != 'undefined') {
		// Mozilla 1.0+ y Safari 1.2+
		oxmlhttp = new XMLHttpRequest();
	} 

	
	if(!oxmlhttp) return 'Se ha producido un error inesperado';
    try {
        	var BOUNDARY = '----------ThIs_Is_tHe_bouNdaRY_$';
    	var CRLF = '\r\n';
		
		// user
		var L = '--' + BOUNDARY + CRLF;
		L = L + 'Content-Disposition: form-data; name="user"' + CRLF;  //% key)
        L = L + CRLF;
		if (bQuestion) {
	        L = L + document.fAddQuestion.elements['user'].value+ CRLF;
		} else {
			L = L + document.fAddMessage.elements['user'].value+ CRLF;
		}
                //pass
		L = L + '--' + BOUNDARY + CRLF;
        L = L + 'Content-Disposition: form-data; name="pass"'+ CRLF;
        L = L + CRLF;
		if (bQuestion) {
	        L = L + document.fAddQuestion.elements['pass'].value+ CRLF;
		} else {
			L = L + document.fAddMessage.elements['pass'].value+ CRLF;
		}
                //question
		L = L + '--' + BOUNDARY+ CRLF;
		if (bQuestion) {
	        L = L + 'Content-Disposition: form-data; name="question"'+ CRLF;
		} else {
			L = L + 'Content-Disposition: form-data; name="message"'+ CRLF;
		}
        L = L + CRLF;
		if (bQuestion) {
	        L = L + document.fAddQuestion.elements['question'].value+ CRLF;
		} else {
			L = L + document.fAddMessage.elements['message'].value+ CRLF;
		}
                //autor
		L = L + '--' + BOUNDARY+ CRLF;
        L = L + 'Content-Disposition: form-data; name="autor"'+ CRLF;
        L = L + CRLF;
		if (bQuestion) {
	        L = L + document.fAddQuestion.elements['autor'].value+ CRLF;
		} else {
			L = L + document.fAddMessage.elements['autor'].value+ CRLF;
		}
		//buser
                L = L + '--' + BOUNDARY+ CRLF;
        L = L + 'Content-Disposition: form-data; name="buser"'+ CRLF;
        L = L +  CRLF;
		if (bQuestion) {
	        L = L + document.fAddQuestion.elements['buser'].checked+ CRLF;
		} else {
			L = L + document.fAddMessage.elements['buser'].checked+ CRLF;
		}
                //idTemaPare
		L = L + '--' + BOUNDARY+ CRLF;
		if (bQuestion) {
	        L = L + 'Content-Disposition: form-data; name="idTemaPare"'+ CRLF;
		} else {
			L = L + 'Content-Disposition: form-data; name="idPregunta"'+ CRLF;
		}
        L = L + CRLF;
        if (bQuestion) {
			L = L + document.fAddQuestion.elements['idTemaPare'].value+ CRLF;
		} else {
			L = L + document.fAddMessage.elements['idPregunta'].value+ CRLF;
		}
	L = L + '--' + BOUNDARY + CRLF;
 	L = L + 'Content-Disposition: form-data; name="idIdioma"'+ CRLF;
	L = L + CRLF;
	L = L + 'ES'+ CRLF;
    	L = L + '--' + BOUNDARY;
    	//L = L + CRLF;
		
                oxmlhttp.open("POST",filename,false);
		
                oxmlhttp.setRequestHeader('Content-Type', 'multipart/form-data; boundary=' + BOUNDARY);
		
                oxmlhttp.send(L);
	} catch(e) { 
	    return 'Se ha producido un error: '+e.message;
    }
	return oxmlhttp.responseText;
}
  
//************************************************************
// Enviament de Preguntes
//************************************************************

function mostrarFormQuestion () {
	document.getElementById ("divEnviaPregunta").style.visibility = "visible";
	changeAnonim (true);
	ObtenirPregunta ();
}

function ocultarFormQuestion () {
	document.getElementById ("divEnviaPregunta").style.visibility = "hidden";
}

function ResetfQuestion () {
	document.fAddQuestion.reset ();
	ObtenirPregunta();
}

function AddQuestion() {
	user = document.fAddQuestion.elements['user'].value;
	pass = document.fAddQuestion.elements['pass'].value;
	question = document.fAddQuestion.elements['question'].value;
	texto = 'Error al validar formulario. Corrija el/los siguiente/s error/es:\n';
	ret=true;
	if (!document.fAddQuestion.elements['buser'].checked) {
		if ((user == null || user.length == 0 || /^\s+$/.test(user))){
			texto = texto + '\t* Introduzca un Usuario correcto.\n';
			ret=false;
		}
		if ((pass == null || pass.length == 0 || /^\s+$/.test(pass))){
			texto = texto + '\t* Introduzca una Password correcta.\n';
			ret=false;
		}
	}
	if ((question == null || question.length == 0 || /^\s+$/.test(question))){
		texto = texto + '\t* Pregunta en blanco.\n';
		ret=false;
	} else {
		document.fAddQuestion.elements['question'].value = transformaSaltsLinia (question);
	}
	
	if(ret==true){
		if (ComprovarQuestion (document.fAddQuestion.elements['idSeguretat'].value, document.fAddQuestion.elements['resposta'].value) == 1) {
			mostraRespostaForm('respostaEnviaPregunta', document.fAddQuestion.action, true);
			ocultarFormQuestion ();
			window.location.reload(true);
			return true;
		} else {
			alert("Respuesta del código de seguridad incorrecto.");
			ObtenirPregunta();
			return false;
		}
	} else {
		alert(texto);
		return false;
	}
}

//************************************************************
// Enviament de Respostes o Missatges
//************************************************************

function mostrarFormResposta () {
	document.getElementById ("divEnviaResposta").style.visibility = "visible";
	changeAnonim (false);
	ObtenirPregunta ();
}

function ocultarFormResposta () {
	document.getElementById ("divEnviaResposta").style.visibility = "hidden";
}

function ResetfMessage () {
	document.fAddMessage.reset ();
	ObtenirPregunta();
}

function AddMessage() {
	user = document.fAddMessage.elements['user'].value;
	pass = document.fAddMessage.elements['pass'].value;
	message = document.fAddMessage.elements['message'].value;
	texto = 'Error al validar formulario. Corrija el/los siguiente/s error/es:\n';
	ret=true;
	if (!document.fAddMessage.elements['buser'].checked) {
		if ((user == null || user.length == 0 || /^\s+$/.test(user))){
			texto = texto + '\t* Introduzca un Usuario correcto.\n';
			ret=false;
		}
		if ((pass == null || pass.length == 0 || /^\s+$/.test(pass))){
			texto = texto + '\t* Introduzca una Password correcta.\n';
			ret=false;
		}
	}
	if ((message == null || message.length == 0 || /^\s+$/.test(message))){
		texto = texto + '\t* Mensaje en blanco.\n';
		ret=false;
	} else {
		document.fAddMessage.elements['message'].value = transformaSaltsLinia (message);
	}
	
	if(ret==true){
		if (ComprovarQuestion (document.fAddMessage.elements['idSeguretat'].value, document.fAddMessage.elements['resposta'].value) == 1) {
			mostraRespostaForm('respostaEnviaPregunta', document.fAddMessage.action, false);
			ocultarFormResposta ();
			window.location.reload(true);
			return true;
		} else {
			alert("Respuesta del código de seguridad incorrecto.");
			ObtenirPregunta();
			return false;
		}
	} else {
		alert(texto);
		return false;
	}
}