// Esta es la función que usa Heinle para recuperar una cookie
// name - nombre de la cookie deseada
// devuelve un string conteniendo el valor de la cookie especificada o null si la cookie no existe

function getCookie(name){
  var cname = name + "=";               
  var dc = document.cookie;             
  if (dc.length > 0) {              
    begin = dc.indexOf(cname);       
    if (begin != -1) {           
      begin += cname.length;       
      end = dc.indexOf(";", begin);
      if (end == -1) end = dc.length;
        return unescape(dc.substring(begin, end));
    } 
  }
  return null;
}


// Esta es una adaptación de la función de Dorcht para colar una cookie
// name - nombre de la cookie
// value - valor de la cookie
// [expires] - fecha de caducidad de la cookie (por defecto, el final de la sesión)
// [path] - camino para el cual la cookie es válida (por defecto, el camino del documento que hace la llamada)
// [domain] - dominio para el cual la cookie es válida (por defecto, el dominio del documento que hace la llamada)
// [secure] - valor booleano que indica si la trasnmisión de la cookie requiere una transmisión segura
// al especificar el valor null, el argumento tomará su valor por defecto

function setCookie(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) + 
  ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
  ((path == null) ? "" : "; path=" + path) +
  ((domain == null) ? "" : "; domain=" + domain) +
  ((secure == null) ? "" : "; secure");
}


// Esta es una adaptación de la función de Dorcht para borrar una cookie
// name - nombre de la cookie
// [path] - camino de la cookie (debe ser el mismo camino que el especificado al crear la cookie)
// [domain] - dominio de la cookie (debe ser el mismo dominio que el especificado al crear la cookie)
// se considera el camino y dominio por defecto si se especifica null o no se proporcionan argumentos

function delCookie (name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
    ((path == null) ? "" : "; path=" + path) +
    ((domain == null) ? "" : "; domain=" + domain) +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}


// ------------------- FUNCIONES PARA MENUS VERTICALES --------
function setLastMenuV(menu){
   setCookie('lastMenuV',menu,null,'/');
   //alert('Navegación '+menu)
   return true;
}
function getLastMenuV(){
   var lastMenuV=getCookie('lastMenuV');
   return lastMenuV;
}
function delLastMenuV(){
   //alert('Cookie Borrada')
   delCookie ('lastMenuV','/')
}
function setLastMenuItemV(menuItem){
   setCookie('lastMenuItemV',menuItem,null,'/');
   //alert('Navegación '+menu)
   return true;
}
function getLastMenuItemV(){
   var lastMenuItemV=getCookie('lastMenuItemV');
   return lastMenuItemV;
}
function delLastMenuItemV(){
   delCookie ('lastMenuItemV','/')
}
function resetMenuV(){
    delCookie ('lastMenuV','/')
	delCookie ('lastMenuItemV','/')
}

// ------------------ FUNCIONES PARA RUTA DE NAVEGACIÓN ---------

function resetRoute(Root) {

   delCookie ('navRoute','/')
   setCookie('navRoute',Root,null,'/');
   return true;
}
function getRoute(){
   var Route = getCookie('navRoute');
   return Route;
}
function attachRoute(Route, URL) {
   var prevRoute=getRoute()
   setCookie('navRoute', prevRoute+'>>'+Route+'||'+URL,null,'/');
   return true;
}
function attachMyRoute(Route){
   var prevRoute=getRoute()
   if (prevRoute.indexOf(location.href)<0){
   attachRoute(Route, location.href)
   }
}

function buildNavRoute(){
var navRoute=""
  var theRoute=new String(getRoute())
  var reTrace=""
  if (theRoute!=null && theRoute!=""){
      var routeElement=theRoute.split(">>");
	  for (i=0; i<routeElement.length; i++){
	      var routeElementData=routeElement[i].split("||");
		  if (routeElementData.length>1){
		      if (routeElementData[1].indexOf(location.href)<0){
		    navRoute+=' <img src="/recursosCEMUE/images/orangeArrow.gif"> <a href="'+routeElementData[1]+'">'+routeElementData[0]+"</a>"
			reTrace+=routeElementData[0]+"||"+routeElementData[1]
			}else{ break; }
		  }else{
		    navRoute+=routeElementData[0]
			reTrace+=routeElementData[0]+">>"
		  }
	  }	
	  resetRoute(reTrace);
	  return navRoute;      	  
  }else{
    return '<a href="javascript:history.back()>Error en la ruta: Regresar</a>'
  }
}

// Funciones extra (temporales)

function flashLinkB(FlashID){
	switch (FlashID){
		case "exportanet": 
		     window.open('http://atlas.bancomext.gob.mx:8800/exportanet/jsp/difusion/accesoPiaPyme.jsp?user=JMERINO&pwd=LACRIMOSA','','')
			 break;
		default:
			 //do nothing;		    
	}
}