// JavaScript Document
var errormsg = "Error de comunicaci&oacute;n. La siguiente es informaci&oacute;n de soporte t&eacute;cnico";
var menuerrormsg = "No se pudo cargar el menu";
var subsectionserrormsg = "No se pudo cargar el menu de subsecciones";
var homeLabel= "Inicio";
var aboutusLabel ="Nosotros"; 
var reportsLabel = "Reportes";
var researchLabel = "Investigaci&oacute;n";
var ideasLabel = "Ideas";
var downloadsLabel = "Descargas";
var linksLabel = "Otras ligas";
var xmlserver = "http://www.mejoratugobierno.org/";
//var xmlserver = "http://joe2:81/mejoratugobierno/";
var registerwaitmsg = "Espera mientras se preocesa tu solicitud";
var waitloginmsg = "Espera mientras se procesa tu solicitud";
var isadmin = false;
var loggedin = true;
var articlesIndex = 0;
var ponencesIndex = 0;
var conferencesIndex = 0;
var sectionLoadedBreadCrumb = "";
var prelink = "files/";
var prevScroll = 0;
var filter = "S";
// deshabilita el submit de la forma de contacto
var myarea = "home";
var actualCurriculumId = 0;

var  registererrormsg= "Revise su password";
var normalLoginForm = '<table><tr><td>Usuario</td><td><input type="text" name="loginUser" id="loginUser"/></td></tr><tr><td>Contrase&ntilde;a</td><td><input type="text" name="loginPass" id="loginPass"/></td></tr><tr><td colspan="2" align="center"><input type="submit" value="Enviar" onclick="sendLogin(this)"/></td></tr></table>';


var normalRegisterForm = '<table><tr><td>Usuario</td><td><input type="text" name="registerUser" id="registerUser"/></td></tr><tr><td>Contrase&ntilde;a</td><td><input type="text" name="registerPass" id="registerPass"/></td></tr><tr><td>Contrase&ntilde;a (repetir)</td><td><input type="text" name="registerRetype" id="registerRetype"/></td></tr><tr><td>Correo</td><td><input type="text" name="registerMail" id="registerMail"/></td></tr><tr><td colspan="2" align="center"><input type="checkbox" name="terms" id="termsCheck"  onclick="toggleTerms();"/>He le&iacute;do los t&eacute;rminos y condiciones</td></tr><tr><td colspan="2" align="center"><input disabled="disabled" id="registerSubmit" type="submit" name="sub" value="Enviar" onclick="sendRegister(this)"/></td></tr></table>';

var popUpWin=0;


function getMyArea(){
	return myarea;	
}
function popUpWindow(URLStr, left, top, width, height, restricted)

{

  if(popUpWin)

  {

    if(!popUpWin.closed) popUpWin.close();

  }

	if(restricted){
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');		
	}else{
  popUpWin = open(URLStr, 'popUpWin', 'toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
		
		
	}

}



function goto(lnk){
	
	if( (lnk.indexOf("http://") == -1)  &&  (lnk.indexOf("https://") == -1) ){

		popUpWindow("files/"+lnk, 30, 30, 500, 500);
	}else{
		popUpWindow(lnk, 30, 30, 500, 500);

	}
	
}

function showError(str,err){
	//alert('errr');
	var error = document.getElementById("error");	
	var userMsg = document.getElementById("errorUserMsg");
	var technicalMessage = document.getElementById("technicalMessage");
	userMsg.innerHTML = str;
	if(err != null)
	technicalMessage.innerHTML = err + ":" + err.description;
	else
	technicalMessage.innerHTML = "";
		
	error.style.display = "block";
}
function closeError(userClosed){
	var error = document.getElementById("error");	
	var userMsg = document.getElementById("errorUserMsg");
	var technicalMessage = document.getElementById("technicalMessage");
	
	if( userClosed ){
		userMsg.innerHTML = "";
		technicalMessage.innerHTML = "";		
			error.style.display = "none";		
	}else{
		if(technicalMessage.innerHTML == ""){	// no hay mensaje de error
			error.style.display = "none";		
		}
	}
	
	
}
/*
Inside the showLogin form has the code to know if the user is registered. 
The states are something like this.
1. Not registered
2. Check for registration in case of a F5
3. Show registered user
Else(false 2)
4. show login form and the posibility to register.
*/
function showLogin(){
	closeError();	
	var login = document.getElementById("login");
	var register = document.getElementById("register");		
	var closeForms = document.getElementById("closeForms");		
	login.style.display = "block";
	register.style.display = "none";
	closeForms.style.display = "block";
}

function hideAll(){
	closeError();	
	var login = document.getElementById("login");
	var register = document.getElementById("register");		
	var closeForms = document.getElementById("closeForms");		
	
	register.style.display = "none";
	login.style.display = "none";	
	closeForms.style.display = "none";
}

function showRegister(){
	closeError();	
	var login = document.getElementById("login");
	var register = document.getElementById("register");		
	var closeForms = document.getElementById("closeForms");			
	register.style.display = "block";
	login.style.display = "none";
	closeForms.style.display = "block";	
}


function sendLogin(){ // debe bloquear la interfase. Una imagen por sobretodo el contenido
	closeError();
	// obtain user and password	
	//var xml =  xmlserver+ "xml/loginResponseSuccess.xml";
	var xml =  xmlserver+ "server/ajaxControl.php";	
	var user = document.getElementById("loginUser");
	var password = document.getElementById("loginPass");

	loginAjax.getNewResponse(xml,"post","action=login&u="+user.value+"&p="+password.value,null,"setLoginResponse()");						
	
	var login = document.getElementById("login");
	login.innerHTML = waitloginmsg;
	
}

function sendRegister(){ // debe bloquear la interfase. Una imagen por sobretodo el contenido
	closeError();

	var xml =  xmlserver+ "server/ajaxControl.php";

	var name = document.getElementById("registerUser");
	var password = document.getElementById("registerPass");
	var repassword = document.getElementById("registerRetype");	
	var email = document.getElementById("registerMail");

	
	var register = document.getElementById("register");		

	if(password.value == repassword.value){
		registerAjax.getNewResponse(xml,"post","action=register&n="+name.value+"&p="+password.value+"&u="+email.value,null,
									"setRegisterResponse()");						
		register.innerHTML = registerwaitmsg;		
		
	}else{
		showError(registererrormsg, null);
	}

}

function setLoginResponse(){
	closeError();
	var obj = loginAjax.getXMLObj();
	try{
		var admin 	= obj.getElementsByTagName("admin")[0].childNodes[0].nodeValue;
		var message = obj.getElementsByTagName("message")[0].childNodes[0].nodeValue;
		var allowed = obj.getElementsByTagName("allowed")[0].childNodes[0].nodeValue;
		var logout = document.getElementById("logout");		
		var login = document.getElementById("login");
		var register = document.getElementById("register");		
		var registerLabel = document.getElementById("registerLabel");		
		var closeForms = document.getElementById("closeForms");			
		alert('login ' + login);
		
		if(allowed == "1"){					
			login.innerHTML = message;
			logout.style.display = "block";
			register.style.display= "none";
			registerLabel.style.display= "none";
			loggedin = true;
			
		}else{
			showError( message ,null);	
			login.innerHTML = normalLoginForm;
		}	
		if(admin=="1"){
			isadmin = true;
			loadSection('home');
		}
				
	}catch(err){
		showError("",err);
	}
}

function logout(){
		closeError();
			var register = document.getElementById("register");					
			var registerLabel = document.getElementById("registerLabel");	
			var logout = document.getElementById("logout");	
			var loginForm = document.getElementById("login");		
			var xml = xmlserver;
			// agregar llamada a logout!!!!
			xml = "server/ajaxControl.php";
			ajax.getNewResponse(xml ,"post","action=logout",null,"setLogout()");
			logout.style.display = "none";
			registerLabel.style.display= "block";			
			//register.style.display= "block";
			
			loginForm.innerHTML = normalLoginForm;
			isadmin = false;
			loggedin = false;
			

			
}

function setLogout(){
	/////// pendiente }********************************************** Verificar que si haya podido ser logged out
	location.href= xmlserver;
}

function setRegisterResponse(){
		closeError();
		var register = document.getElementById("register");		
	var obj = registerAjax.getXMLObj();	

	try{
		var message = obj.getElementsByTagName("message")[0].childNodes[0].nodeValue;
		//var register = document.getElementById("register");			
		//register.innerHTML = message;
		showError(message,null);
		register.innerHTML = normalRegisterForm;		
	}catch(err){
		showError("",err);
	}
}

function toggleTerms(){
		closeError();
	var button = document.getElementById("registerSubmit");
	var check = document.getElementById("termsCheck");
	if(check.checked)
		button.disabled = false;
	else
		button.disabled = true;
}

function checkLoggedIn(check){
	closeError();
	//xml =  xmlserver + "" + check;
	//loginAjax.getNewResponse(xml ,"post","action=logged",null,"setLoggedIn()");		
}

function getRefresh(){

	closeError();
	var qs = new Querystring();
/*
 	Cuando se hace el upload, el servidor notifica al cliente que regresa a la pagina desde donde
	se cargo el archivo.
*/

	if( qs.get("researchers")){
		
		var xml = xmlserver +  "xml/" + qs.get("researchers") + ".xml";	
		loadSection('aboutus');		
		actualCurriculumId = qs.get("researchers");
		ajax.abort();
		ajax.getNewResponse(xml,"post","",null,"setCurriculum()");			

		return true;
	}else{
		return false;	
	}	
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}

function setLoggedIn(){ // case of doing a Refresh!
	setLoginResponse();
	if(!getRefresh()){
		loadSection('home');		
	}
}


/*
lists function
loadListXML: must set the correct XML to the containers (divs) setting also the links
*/
function loadListXML(xmlname, paramsString){
		closeError();
	xml =  xmlserver+xmlname;
	ajax.getNewResponse(xml,"post",paramsString,null,"setListXMLData()");		

}

function loadInitialListXML(xmlname, paramsString){
	// actualmente> 						xml/statalListXML.xml
		closeError();
	xml =  xmlserver+xmlname;
	//alert(xml);
	ajax.getNewResponse(xml,"post", paramsString,null,"setInitialListXMLData()");		// funcion definida en otro archivo
	
}


function setListXMLData(){
		closeError();
	var myObj = ajax.getXMLObj();	
	
	try{ 
		var v = (myObj.getElementsByTagName("listItem").length);	
		var t = myObj.getElementsByTagName("listItem")[0].nodeValue;

	
	var container = null;
	var contentPanel = document.getElementById("contentPaneDiv");
	var contentDivs = document.getElementsByTagName("div");

	for(i=0 ; i < contentDivs.length ; i++){
			
		if(contentDivs[i].id == "containerLayer"){
			container = contentDivs[i];
		}
	}
	var listString = "";			
	var listItems = myObj.getElementsByTagName("listItem");		
	
	for( i = 0 ; i < listItems.length ; i++){
		/*
		= listItems[i] list
		.childNodes[0] node
		.childNodes[0] text node
		.nodeValue;	value
		*/
		var lowerlinklegend = "";
		var linklegend = "";
		var linksection = "";
		var name = listItems[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;		
		var collapsable = listItems[i].getElementsByTagName("collapsable")[0].childNodes[0].nodeValue;		
		var extrainfo = "";
		

		var link = "";		
		try{
		extrainfo = listItems[i].getElementsByTagName("extraInfo")[0].childNodes[0].nodeValue;		
		}catch(err){}		
		
		try{
		lowerlinklegend = listItems[i].getElementsByTagName("lowerLinkLegend")[0].childNodes[0].nodeValue;		
		}catch(err){}		
		try{
		linklegend = listItems[i].getElementsByTagName("linkLegend")[0].childNodes[0].nodeValue;		
		}catch(err){}
		
		try{
		link = listItems[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;		

		if (link.indexOf("http:") == -1  ){ //  es direccion local			
			//var alllink = link.split("/");
			link = "fileManager.php?file=" + link;
					
		}

		
		
		}catch(err){
		
		}		
		
		var id = listItems[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;		
		listString += "<a name='togLink" + i + "'></a>";		


		listString += "<div id='listItem"+i+"' name='listItem"+i+"'>"; 

		if(isadmin)
		listString += "<div id='buttonsListItem"+i+"'><input type='button' value='Editar' id='editListItem' onClick=\"editListItem("+id+",this.parentNode.parentNode,false,'"+filter+"', getMyArea() );\"><input type='button' value='Borrar' id='eraseListItem' onClick=\"eraseListItem("+id+",this.parentNode.parentNode , getMyArea() );\"></div><div id='listItemHeader'><div id='listItemHeaderName'><table><tr><td width='25%'>"+ name +"</td>" ;
		else
		listString += "<br/><div id='listItemHeader'><div id='listItemHeaderName'><table><tr><td></td><td valign='bottom'>" + name + " " ; 

		
		if(collapsable == "1"){
			if(isadmin)
			listString += " <td valign='bottom' align='right' width='50%'><a href='#togLink"+i+"' onClick='toggleListItemView(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode)'><img src='images/zoomIn.png' border='no'></a><a target='_blank' href='"+link+"'><img src='images/acrobatDownload.png' border='no'></a></td><td><a target='_blank' href='"+link+"'>"+ linklegend + "</a></td></tr></table></div> </div></br>";			
			else
			listString += " <a href='#togLink"+i+"' onClick='toggleListItemView(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode)'><img src='images/zoomIn.png' border='no' alt='ver m&aacute;s'></a>"+ ((link!="")? " <a target='_blank' href='"+link+"'><img src='images/acrobatDownload.png' border='no'>"+   linklegend + "</a>":"") + "</td></tr></table></div> </div><br/>";
			listString += "<div id='listItemBody' style='display:none'><div id='listItemBodyInfo'><table width='100%' cellpadding='0' cellspacing='0' border='0'><tr><td  width='10'><img src='images/halfsqr.png'></td><td>"  + extrainfo + "</td></tr></table></div><br>" + ((link!="")? " <a target='_blank' href='"+link+"'><img src='images/acrobatDownload2.png' border='no'><div>"+   lowerlinklegend + "</div></a>":"") + "</div>";
		}else{
			if(isadmin){
			listString += " <td valign='bottom' align='right' width='50%'><a href='#togLink"+i+"' onClick='toggleListItemView(this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode)'></a><a target='_blank' href='"+link+"'><img src='images/acrobatDownload.png' border='no'></a></td><td><a target='_blank' href='"+link+"'>"+ linklegend + "</a></td></tr></table></div> </div></br>";
			}else{
			listString += "<td valign='bottom' align='right' width='50%'><a href='#togLink"+i+"'></a>" + ((link!="")? " <a target='_blank' href='"+link+"'><img src='images/acrobatDownload.png' border='no'>"+   linklegend + "</a>":"") + "</td></tr></table></div>";		
			}
		}
		

		listString += "</div>";
	}
	
	if(isadmin)
		container.innerHTML = "<div id='listHeader'><input type='button' value='Agregar elemento' onClick='addListItem(this.parentNode.parentNode, getMyArea())'/></div>" + listString;
	else
		container.innerHTML = "<div id='listHeader'></div>" + listString;
	
	}catch(err){
		showError(errormsg, err);
	}	
}

function setScrollHere(){
	// falta flag
	//document.documentElement.scrollTop = prevScroll;
}

function toggleListItemView(divId){
		closeError();
	var container = null;

		if(InternetExplorer){
			getMouseLoc();			
			//alert(  mouseLocation.y + "<" + document.documentElement.scrollTop );						
		}else{
			getMouseLoc;
			//alert(  mouseLocation.y + "<" + document.documentElement.scrollTop );						
		}

			prevScroll = document.documentElement.scrollTop;
		

	container = divId;
	var content = null;
	
	if(isadmin){	
		content = container.getElementsByTagName("div")[3];	
	}
	else{
		content = container.getElementsByTagName("div")[2];
	}
	
	var header = container.getElementsByTagName("div")[1];
	var closeLink = container.getElementsByTagName("a")[0];	
	content.style.display = (content.style.display == "none" ? "block" : "none");	
	
	closeLink.innerHTML = (content.style.display == "none" ? "<img alt='ver m&aacute;s' src='images/zoomIn.png' border=no>" : "<img src='images/zoomOut.png' border=no alt='cerrar'>"); // have to change the labels for a variable to support many languages

	document.documentElement.scrollTop = prevScroll;
	//alert(	document.documentElement.scrollTop);
}

// loads the names of the associates
function loadNames(names){
		closeError();
	xml =  xmlserver+ "server/ajaxControl.php";
	
	ajax.getNewResponse(xml,"post","action=researchers",null,"setXMLNames()");				
}

// sets all the names
function setXMLNames(){
	closeError();

	var myObj = ajax.getXMLObj();
		if(myObj == null){ // en caso de haberse cancelado
			return;	
		}
	var contentpane = document.getElementById("contentPaneDiv");
	var curriculumpane = document.getElementById("curriculumPaneDiv");
	contentpane.style.display = "none";
	curriculumpane.style.display = "block";
	
	try{ 
		var v = (myObj.getElementsByTagName("researcher").length);	
		var t = myObj.getElementsByTagName("researcher")[0].nodeValue;
	
	var listItems = myObj.getElementsByTagName("researcher");		
	var menuContainer = document.getElementById("namesLayer");
	var listString = "";
	for( i = 0 ; i < listItems.length ; i++){

		var name = listItems[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;		
		//var icon = listItems[i].getElementsByTagName("collapsable")[0].childNodes[0].nodeValue;		
		var thisfunction = listItems[i].getElementsByTagName("rid")[0].childNodes[0].nodeValue;
		

			listString += "<tr><td><div id='namesItem"+i+"' name='namesItem"+i+"'>"; 
			listString += "<table border='0' cellpadding='0' cellspacing='0'><tr><td><a href=\"javascript:loadName('"+
			thisfunction+"')\">" + name + "</a></td></tr></table> ";		
			listString += "</div></td></tr>";

	}
	menuContainer.innerHTML = "<table border='0' cellpadding='1' cellspacing='0'>" + listString + "</table>" ;
	
	
	}catch(err){
		showError(subsectionserrormsg + menuerrormsg + " / " + errormsg, err);
	}		
	
}

function loadName(id){
	closeError();
	xml =  xmlserver+ "server/ajaxControl.php";	
	actualCurriculumId = id;
	ajax.getNewResponse(xml,"post","action=researchview&id="+id,null,"setCurriculum()");
}

function setCurriculum(){

	closeError();
	
	var myObj = ajax.getXMLObj();
	var introlayer = document.getElementById("introLayer");

	var nametext = document.getElementById("nameTextLayer");		
	var imagebiolayer = document.getElementById("imageBioLayer");	
	var generaltext = document.getElementById("generalTextLayer");	
	var articleslayer = document.getElementById("articlesLayer");	
	var ponenceslayer = document.getElementById("ponencesLayer");	
	var conferenceslayer = document.getElementById("conferencesLayer");		
	var link = "";
	introlayer.innerHTML = "";
	
	try{ 
		var v = (myObj.getElementsByTagName("name").length);	
		var name = "<div id='curriculumName'>" + myObj.getElementsByTagName("name")[0].childNodes[0].nodeValue + "</div>";
		var id = myObj.getElementsByTagName("rid")[0].childNodes[0].nodeValue;
		var image = myObj.getElementsByTagName("image")[0].childNodes[0].nodeValue;
		var text = "<div id='curriculumText'>" +myObj.getElementsByTagName("text")[0].childNodes[0].nodeValue+ "</div>";
		var articlesList = myObj.getElementsByTagName("articleItem");
		var ponencesList = myObj.getElementsByTagName("ponenceItem");
		var conferencesList = myObj.getElementsByTagName("conferenceItem");
		
		if(isadmin){
			nametext.innerHTML = name + "<div id='button' ><input type='button' name='changeCurriculumName' value='Cambiar' onClick='editCurriculumName(this.parentNode.parentNode,"+id+")'/></div>";
			generaltext.innerHTML = text + "<div id='button'><br/><input type='button' name='changeCurriculumText' value='Cambiar' onClick='editCurriculumText(this.parentNode.parentNode,"+id+")'/></div>";
			imagebiolayer.innerHTML = "<img src='"+image+"'/>";			
			
		}else{
			nametext.innerHTML = name;
			generaltext.innerHTML = text;
			imagebiolayer.innerHTML = "<img src='"+image+"'/>";			
		}
		
		
		var articlesString = "";
		var ponencesString = "";
		var conferencesString = "";
		
		for( i = 0 ; i < articlesList.length ; i++){
			var name = articlesList[i].getElementsByTagName("legend")[0].childNodes[0].nodeValue;
			
			link = articlesList[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;

			var thisid = articlesList[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
			if(isadmin)
			articlesString += "<tr><td><input type='hidden' id='thisId' name='thisId' value='"+thisid+"'><input type='button' name='editArticle' value='Editar' onClick=\"editResearchItem('article',this.parentNode.parentNode,false);\"/><input type='button' name='eraseArticle' value='Borrar' onClick=\"eraseResearchItem('article',this.parentNode.parentNode)\"/></td><td><div id='researchItem'><a  href=\"javascript:goto('"+link+"')\" onmouseout='hideComment();' onmousover=\"setCommentHere(this,'"+link+"')\">"+name+"</a></div></td></tr>";
			else
			articlesString += "<tr><td><div id='articleItem"+i+"'><a href=\"javascript:goto('"+link+"')\" onmouseover=\"setCommentHere(this,'"+link+"')\" onmouseout='hideComment();'>"+name+"</a></div></td></tr>";
			articlesString += "<tr><td>&nbsp;</td></tr>";

		}

		for( i = 0 ; i < ponencesList.length ; i++){
			var name = ponencesList[i].getElementsByTagName("legend")[0].childNodes[0].nodeValue;
			//try{
				link = ponencesList[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
			//}catch(err);	
			var thisid = ponencesList[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;			
			if(isadmin)
			ponencesString += "<tr><td><input type='hidden' id='thisId' name='thisId' value='"+thisid+"'><input type='button' name='editPonence' value='Editar' onClick=\"editResearchItem('ponence' , this.parentNode.parentNode, false)\"/><input type='button' name='erasePonence' value='Borrar' onClick=\"eraseResearchItem('ponence' , this.parentNode.parentNode)\"/></td><td><div id='researchItem'><a href=\"javascript:goto('"+link+"')\" onmouseover=\"setCommentHere(this,'"+link+"')\" onmouseout='hideComment();'>"+name+"</a></div></td></tr>";
			else
			ponencesString += "<tr><td><div id='ponenceItem"+i+"'><a  href=\"javascript:goto('"+link+"')\" onmouseover=\"setCommentHere(this,'"+link+"')\" onmouseout='hideComment();'>"+name+"</a><div></td></tr>";
			ponencesString += "<tr><td>&nbsp;</td></tr>";
		}

		for( i = 0 ; i < conferencesList.length ; i++){
			var name = conferencesList[i].getElementsByTagName("legend")[0].childNodes[0].nodeValue;
			//try{
				link = conferencesList[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
			//}catch(err);	
			var thisid = conferencesList[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;			
			if(isadmin){
				conferencesString += "<tr><td><input type='hidden' id='thisId' name='thisId' value='"+thisid+"'><input type='button' name='editConference' value='Editar' onClick=\"editResearchItem('conference', this.parentNode.parentNode, false)\"/><input type='button' name='eraseConference' value='Borrar' onClick=\"eraseResearchItem('conference' , this.parentNode.parentNode)\"/></td><td><div id='researchItem'><a href=\"javascript:goto('"+link+"')\" onmouseover=\"setCommentHere(this,'"+link+"')\" onmouseout='hideComment();'>"+name+"</a><div></td></tr>";				
			}else{						
				conferencesString += "<tr><td><div id='conferenceItem"+i+"'><a href=\"javascript:goto('"+link+"')\" onmouseover=\"setCommentHere(this,'"+link+"')\" onmouseout='hideComment();'>"+name+"</a><div></td></tr>";
			}
			conferencesString += "<tr><td>&nbsp;</td></tr>";			
		}
		articlesIndex = i;
		ponencesIndex = i;
		conferencesIndex = i;
		
		var addArticleButton = "<input type='button' name='addArticleButton' id='addArticleButton' value='Agregar' onClick=\"addResearchItem('article',this.parentNode.parentNode.parentNode);\"/>"
		var addConferenceButton = "<input type='button' name='addConferenceButton' id='addConferenceButton' value='Agregar' onClick=\"addResearchItem('conference',this.parentNode.parentNode.parentNode);\"/>"
		var addPonenceButton = "<input type='button' name='addPonenceButton' id='addPonenceButton' value='Agregar' onClick=\"addResearchItem('ponence',this.parentNode.parentNode.parentNode);\"/>"
		
		if(!isadmin){
			addArticleButton = "";
			addConferenceButton = "";
			addPonenceButton = "";
			
		}


	articleslayer.innerHTML = "<table border='0' cellpadding='0' cellspacing='0'><tr><th>Art&iacute;culos"+addArticleButton+"</th><th></th></tr>" + articlesString + "</table>";
	ponenceslayer.innerHTML = "<table border='0' cellpadding='0' cellspacing='0'><tr><th>Ponencias"+addPonenceButton+"</th><th></th></tr>" + ponencesString + "</table>";
	conferenceslayer.innerHTML = "<table border='0' cellpadding='0' cellspacing='0'><tr><th>Conferencias"+addConferenceButton+"</th><th></th></tr>" + conferencesString + "</table>";

		
	}catch(err){
		showError( " / " + errormsg, err);
	}			
}
// loads xml of menu

function loadMenu(xmlmenu){
		closeError();
	xml =  xmlserver+ "" +xmlmenu;	
	ajax.getNewResponse(xml,"post","",null,"setXMLMenu()");				
}



function updateBreadCrumbs(label, sectoload , append, isHome ){
		closeError();
	var breadCrumb = document.getElementById("breadCrumb");

	
	if(label == sectionLoadedBreadCrumb)
		return;
	else
		sectionLoadedBreadCrumb = label;
	
	var homeLink = "<a href=\"javascript:loadSection('home')\">" + homeLabel + "</a>";
	var prelink = breadCrumb.innerHTML;
	var newlink = "<a href=\"javascript:loadSection('"+sectoload+"')\">" + label + "</a>";	

	if(isHome){
		breadCrumb.innerHTML = homeLink;	
		return;
	}

	if(append)
		breadCrumb.innerHTML = prelink + " / " + newlink;
	else
		breadCrumb.innerHTML = homeLink + " / " + newlink;
}


// once the xml is loaded, puts the content in the correct divs
function setXMLMenu(){
		closeError();
	var myObj = ajax.getXMLObj();
	
	try{ 
		var v = (myObj.getElementsByTagName("menuItem").length);	
		var t = myObj.getElementsByTagName("menuItem")[0].nodeValue;
	
	var listItems = myObj.getElementsByTagName("menuItem");		
	var menuContainer = document.getElementById("mainMenu");
	var listString = ""	
	for( i = 0 ; i < listItems.length ; i++){
		/*
		= listItems[i] list
		.childNodes[0] node
		.childNodes[0] text node
		.nodeValue;	value
		*/

		var name = listItems[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;		
		//var icon = listItems[i].getElementsByTagName("collapsable")[0].childNodes[0].nodeValue;		
		var thisfunction = listItems[i].getElementsByTagName("function")[0].childNodes[0].nodeValue;		
		listString += "<td><div id='menuItem"+i+"' name='menuItem"+i+"'>"; 
		listString += "<table border='0' cellpadding='0' cellspacing='0'><tr><td width='86'><a href=\"javascript:"+thisfunction+"\">" + name 
		+ "</a></td></tr></table> " 			
		listString += "</div></td>";
	}
	menuContainer.innerHTML = "<table border='0' cellpadding='1' cellspacing='0'><tr>" + listString + "</tr></table>" ;
	
	
	}catch(err){
		showError(menuerrormsg + " / " + errormsg, err);
	}	
	loadSection('home');
}


// this is the only function that requeres that subsction menus are in files with the name: <section>-menu.xml
function loadSubsections(sec,ajax2){	
	closeError();
	xml =  xmlserver +sec+"-menu.xml";
	if(ajax2 == null)
	ajax.getNewResponse(xml ,"post","",null,"ajaxSubsections()");		
	else
	ajax2.getNewResponse(xml ,"post","",null,"ajax2Subsections()");		
}

function ajaxSubsections(){
		closeError();
	setXMLSubsections(	ajax.getXMLObj() );
	loadNewArticles(ajax);	
}

function ajax2Subsections(){
		closeError();
	setXMLSubsections(	ajax2.getXMLObj() );
	loadNewArticles(ajax2);	
}

function setXMLSubsections(obj){
	closeError();
	var myObj = obj;
	
	try{ 
		var v = (myObj.getElementsByTagName("subsection").length);	
		var t = myObj.getElementsByTagName("subsection")[0].nodeValue;
	
	var listItems = myObj.getElementsByTagName("subsection");		
	var menuContainer = document.getElementById("subMenuLayer");
	var listString = ""	;
	for( i = 0 ; i < listItems.length ; i++){

		
		var name = "";
		try{
			name = listItems[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;		
		}catch(err){}
		//var icon = listItems[i].getElementsByTagName("collapsable")[0].childNodes[0].nodeValue;		
		var thisfunction = listItems[i].getElementsByTagName("function")[0].childNodes[0].nodeValue;		
		//listString += "<div id='menuItem"+i+"' name='menuItem"+i+"'>"; 
		//listString += "<table border='0' width='100%' cellpadding='0' cellspacing='0'><tr><td>";
		listString += "<a href=\"javascript:"+thisfunction+"\">" + name + "</a> &nbsp; &nbsp; ";
		//listString += "</td></tr></table> "; 			
		//listString += "</div>";
	}
	menuContainer.innerHTML = "<table border='0' width='100%' cellpadding='1' cellspacing='0'><tr><td>" + listString + "</td></tr></table>" ;
	
	
	}catch(err){
		showError(subsectionserrormsg + menuerrormsg + " / " + errormsg, err);
	}		
	
}

function loadNewArticles(ajx){
	closeError();
	xml =  xmlserver +"xml/"+"newarticles.xml";
	if(ajx == ajax)
		ajx.getNewResponse(xml ,"post","",null,"setAjaxNewArticles()");					
	if(ajx == ajax2)
	ajx.getNewResponse(xml ,"post","",null,"setAjax2NewArticles()");		
}

function setAjaxNewArticles(){
	setNewArticles( ajax.getXMLObj() );
}

function setAjax2NewArticles(){
	setNewArticles( ajax2.getXMLObj() );
}

function setNewArticles(myObj){
	
		var articlesList = myObj.getElementsByTagName("workItem");	
		var parentContainer = document.getElementById("newArticlesDiv");
		var container = parentContainer.getElementsByTagName("div")[0];
		
		var articlesString = "";
		
		for( i = 0 ; i < articlesList.length ; i++){
			var name = articlesList[i].getElementsByTagName("legend")[0].childNodes[0].nodeValue;
			var link = articlesList[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
			var thisid = articlesList[i].getElementsByTagName("id")[0].childNodes[0].nodeValue;
			articlesString += "<tr><td width='25'></td></tr><tr><td><div id='articleItem"+i+"'> <a  href=\"javascript:goto('"+link+"')\">"+name+"</a> </div></td></tr>";

		}
		articlesString += "<tr><td width='25'></td></tr><tr><td><div id='articleInst'> <a href=\"javascript:loadSection('aboutus');\"> Revisa otros art&iacute;culos en nuestros curriculums </a> </div></td></tr>";

		container.innerHTML = "<table width='100%' bordercolor='#FFFFFF'>"+articlesString+"</table>";
		
	
}

function showAdminTools(){
/*
	- cargar nuevo ranking
	- activar links, banners
	- crear RSS
	- enviar mail masivo
*/	
	var panel = document.getElementById("toolsLayer");
	
	panel.innerHTML = ' <table border="0" cellspacing="0" cellpadding="0">'+
    '<tr>'+
      '<td width="125">Nuevo inicio </td>'+
      '<td width="614">'+
      '<form action="" method="post" enctype="multipart/form-data" name="newRanking" id="newRanking">'+
		'<input type="file" name="newRankingFile" id="newRankingFile" />'+
        '<input type="submit" name="rankingButton" id="rankingButton" value="Enviar" />'+
        '<br />'+
      '</form>      </td>'+
    '</tr>'+
    '<tr>'+
      '<td>Crear RSS</td>'+
      '<td>'+
      '<form action="" method="post" enctype="multipart/form-data" name="createRSS" id="createRSS">'+
        '<input type="file" name="rssFile" id="rssFile" />'+
        '<input type="submit" name="rssButton" id="rssButton" value="Enviar" />'+
	'</form>      </td>'+
   '</tr>'+
    '<tr>'+
      '<td>Enviar mail masivo</td>'+
      '<td>'+
      '<form action="" method="post" enctype="multipart/form-data" name="sendMassiveMail" id="sendMassiveMail">'+
        '<textarea name="mailMessage" id="mailMessage" cols="45" rows="5"></textarea><br>'+
        '<input type="submit" name="mailButton" id="mailButton" value="Enviar" />'+
	'</form>      </td>'+
    '</tr>'+
  '</table>';

}	

function hideAdminTools(){

	var panel = document.getElementById("toolsLayer");	
	panel.innerHTML = "";
}

function sendMail(){

	var form = document.getElementById('form1');

	popUpWindow( "email.php?name="+form.name.value+"&email="+form.email.value+"&message="+form.message.value , 50,50,700,200 , true);
	
	location.href= 'http://www.mejoratugobierno.org';
	
}

function loadContact(){
	
	
	var contentPanel = document.getElementById("contentPaneDiv");
	var divArray = contentPanel.getElementsByTagName("div");
	var titles = contentPanel.getElementsByTagName("div")[0];
	/// no se pued encontrar el containerLayer correcto....
	
	//var contentDivs = contentPanel['containerLayer'];
	var contentDivs = null;
	for( i = 0 ; i < divArray.length; i++){
	
		if(divArray[i].id == "containerLayer"){
			contentDivs = divArray[i];
			break;
		}
		
	}
	
	//alert(titles.innerHTML);
	//alert(contentDivs.innerHTML);	

	titles.innerHTML = "";
	contentDivs.innerHTML = "";
	contentDivs.innerHTML = "<form id=\"form1\" name=\"form1\" method=\"GET\" action='http://www.mejoratugobierno.org' enctype='multipart/form-data'>"+
  '<table border="0" align="center" cellpadding="0" cellspacing="0">'+
    '<tr>'+
      '<td colspan=2> <b> MejoraTUgobierno.org se preopcupa por tu opini&oacute;n. Por favor, coloque aqu&iacute; su nombre para un trato m&aacute;s personal, su correo para estar en constante intercambio y su mensaje sobre su impresi&oacute;n acerca del sitio o del gobierno electr&oacute;nico. &iexcl;Gracias! </b><p>  &nbsp;</td>'+
    '</tr>'+
	'<tr>'+
      '<td width="66">Nombre</td>'+
      '<td width="412"><input name="name" type="text" id="name" size="63" /></td>'+
    '</tr>'+
    '<tr>'+
      '<td>Correo</td>'+
      '<td><input name="email" type="text" id="email" size="63" /></td>'+
    '</tr>'+
    '<tr>'+
      '<td>Mensaje</td>'+
      '<td><textarea name="message" id="message" cols="49" rows="5"></textarea></td>'+
    '</tr>'  +
    '<tr>'+
      '<td colspan="2" align="center"><input type="submit" onclick="sendMail();" value="                  Enviar               "  />'+
      '</td>'+
    '</tr>'   + 
    '<!--<tr>'+
      '<td colspan="2"><p>Recuerda que estamos para atenderte en:</p>'+
      '<p>UAEM</p>'+
      '</td>'+
    '</tr>-->'+
  '</table>'+
'</form>';
	
}

// menu system for subsections
function loadSubsection(section,subsection){
		closeError();

		if(subsection == 'federal') filter = "F";
		if(subsection == 'statal') filter = "S";
		if(subsection == 'municipal') filter = "M";
		
	switch(section){
		case "home"	:  
						break;

		case "reports"	: //lista
		
						switch(subsection){
							case "federal":
											updateBreadCrumbs(reportsLabel, "reports" , false, true);							
											loadListXML("server/ajaxControl.php" , "area=reports&action=view&filter=F" );							
							case "statal":
											updateBreadCrumbs(reportsLabel, "reports" , false, true);							
											loadListXML("server/ajaxControl.php" , "area=reports&action=view&filter=S" );							
											break;
							case "municipal":							
											updateBreadCrumbs(reportsLabel, "reports" , false, true);							
											loadListXML("server/ajaxControl.php" , "area=reports&action=view&filter=M" );
											break;																
						}		
						break;
						
		case "aboutus"	:// curriculum
						break;

		case "research"	://lista
						switch(subsection){
							case "federal":
											updateBreadCrumbs(reportsLabel, "research" , false, false);							
											loadListXML("server/ajaxControl.php" , "area=research&action=view&filter=F" );							
							case "statal":
											updateBreadCrumbs(researchLabel, "research" , false, false);							
											loadListXML("server/ajaxControl.php" , "area=research&action=view&filter=S" );							
											break;
							case "municipal":							
											updateBreadCrumbs(researchLabel, "research" , false, false);							
											loadListXML("server/ajaxControl.php" , "area=research&action=view&filter=M" );
											break;																
						}		
		
						break;

		case "ideas"	:// lista
						break;

		case "downloads":// lista
						break;

		case "contact"	: //forma especial
						break;

		case "links"	:// lista
						break;

	}
}

function setTitleImage(img, str){
	
	var myimg = "<img src='"+img+"'/>";	
	var titleDiv = document.getElementById("identifierLogoLayer");
	
	titleDiv.innerHTML = "<table cellpadding='0' cellspacing='0' border='0'><tr><td rowspan='2'>"+myimg+"</td><td valign='bottom'> &nbsp;<div id='imageStringLayer'> "+str+"</div></td></tr><tr><td valign='top'><img src='images/line.png'></td></tr></table>";
	
}
// menu functions
// menu system, general one.
function loadSection(sec){
		closeError();
		researcherLoadedSection = false;
		myarea = sec;		
	/*
	function getXMLDocumentName(section){	
	return "xml/testListXML.xml";
}
	*/
	var contentpane = document.getElementById("contentPaneDiv");
	var curriculumpane = document.getElementById("curriculumPaneDiv");
	
	switch(sec)	{
		
		case "home"	:  // lista / preparado
						setTitleImage("images/inicio.png", "Inicio");
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";	
						updateBreadCrumbs(homeLabel, "home" , false, true);
						// hay que colocar una manera dinamica, o un nombre comun al archivo mas reciente. 
						loadInitialListXML("server/ajaxControl.php" , "action=ranking&file=statalListXML.xml");
						
						loadSubsections('xml/home',ajax2);
						
						if(isadmin){
							showAdminTools();	
						}else{
							hideAdminTools();	
						}
						break;

		case "reports"	: //lista/ preparado
						setTitleImage("images/reports.png", "Reportes");		
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";		
						updateBreadCrumbs(aboutusLabel, "reports" , false, false);						
						loadListXML("server/ajaxControl.php", "area=reports&action=view&filter=S");
						loadSubsections('xml/reports',ajax2);						
						hideAdminTools();	
						break;
						
		case "aboutus"	:// curriculum/ preparado
						setTitleImage("images/aboutus.png", "Nosotros");
						contentpane.style.display = "none";
						curriculumpane.style.display = "block";
						updateBreadCrumbs(aboutusLabel, "aboutus" , false, false);
						loadNames('xml/names.xml');
						hideAdminTools();	
						break;
		case "research"	://lista/ preparado
						setTitleImage("images/research.png", "Investigaci&oacute;n");		
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";		
						updateBreadCrumbs(researchLabel, "research" , false, false);				
						loadListXML("server/ajaxControl.php", "area=research&action=view&filter=S");												
						loadSubsections('xml/research',ajax2);						
						hideAdminTools();	
						break;

		case "ideas"	:// lista/ preparado
						setTitleImage("images/ideas.png", "Ideas");				
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";	
						updateBreadCrumbs(ideasLabel, "ideas" , false, false);				
						// NO SE SABE SI ES TAN NECESARIA LA SEPARACION. DEJAR QUE ESTO LO REVISE RO
						loadListXML("server/ajaxControl.php", "area=ideas&action=view&filter=S");												
						hideAdminTools();	
						break;

		case "downloads":// lista/ preparado
						setTitleImage("images/downloads.png", "Descargas");						
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";		
						updateBreadCrumbs(downloadsLabel, "downloads" , false, false);				
						// NO SE SABE SI ES TAN NECESARIA LA SEPARACION. DEJAR QUE ESTO LO REVISE RO						
						loadListXML("server/ajaxControl.php", "area=downloads&action=view&filter=S");																		
						hideAdminTools();	
						break;

		case "contact"	: //forma especial/
						setTitleImage("images/contact.png", "Contacto");					
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";	
						loadContact();
						hideAdminTools();	
						break;

		case "links"	:// lista/ preparado
						setTitleImage("images/links.png", "Ligas");					
						contentpane.style.display = "block";
						curriculumpane.style.display = "none";		
						updateBreadCrumbs(linksLabel, "links" , false, false);						
						// NO SE SABE SI ES TAN NECESARIA LA SEPARACION. DEJAR QUE ESTO LO REVISE RO						
						loadListXML("server/ajaxControl.php", "area=links&action=view&filter=S");																								
						hideAdminTools();	
						break;

	}
}
