/**
 * getCookie
 * @param {String} cookieName 
 * @author: fmolina
 * Description: Retorna el valor del cookie solicitado. Si no existe retorna null.
 */
 function getCookie(cookieName) {
 	var cname = cookieName + "=";               
 	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; 	
 }
 
/**
 * setCookieSession
 * @param {String} cookieName 
 * @param {String} cookieValue
 * @author: fmolina
 * Description: Guarda un cookie. Su tiempo de expiraci?n es la ses?on
 */
 function setCookieSession(cookieName,cookieValue) {
 	setCookie(cookieName,cookieValue,0,0,0,0);
 }
  
/**
 * setCookieDays
 * @param {int} days. D?as de expiraci?n.
 * @author: fmolina
 * Description: Guarda un cookie. Su tiempo de expiraci?n viene dado por los d?as
 */
 function setCookieDays(cookieName,cookieValue,days) {
	setCookie(cookieName,cookieValue,days,0,0,0);
 }
   
/**
 * setCookieMinutes
 * @param {int} mins. Minutos de expiraci?n.
 * @author: fmolina
 * Description: Guarda un cookie. Su tiempo de expiraci?n viene dado por los minutos
 */
 function setCookieMinutes(cookieName,mins) {
	setCookie(cookieName,cookieValue,0,0,mins,0);
 }
   
/**
 * setCookieSeconds
 * @param {int} secs. Segundos de expiraci?n.
 * @author: fmolina
 * Description: Guarda un cookie. Su tiempo de expiraci?n viene dado por los segundos
 */
 function setCookieSeconds(cookieName,secs) {
 	setCookie(cookieName,cookieValue,0,0,0,secs);
 }
    
/**
 * setCookieHours
 * @param {int} hours 
 * author: fmolina
 * Description: Guarda un cookie. Su tiempo de expiraci?n viene dado por las horas
 */
 function setCookieHours(cookieName,cookieValue,hours) {
	setCookie(cookieName,cookieValue,0,hours,0,0);
 }
   
/**
 * setCookie
 * @param {String} cookieName 
 * @param {String} cookieValue
 * @param {int} days. D?as de expiraci?n.
 * @param {int} hours. Horas de expiraci?n.
 * @param {int} mins. Mnutos de expiraci?n.
 * @param {int} secs. Segundos de expiraci?n.
 * @author: fmolina
 * @Description: Guarda un cookie. Su tiempo de expiraci?n depende de los d?as, horas
 * minutos y segundos.
 */
 function setCookie(cookieName,cookieValue,days,hours,mins,secs) {
	if (!days) days = 0;
	if (!hours) hours = 0;
	if (!mins) mins = 0;
	if (!secs) secs = 0;
	var expires = "";
	if (days+hours+mins+secs != 0) {
		var date = new Date();
		date.setTime(date.getTime()+(((days*24+hours)*60+mins)*60+secs)*1000);
		expires = "; expires="+date.toGMTString()
	}	
	document.cookie = cookieName+"="+cookieValue+expires+"; path=/"
 }
  
/**
 * deleteCookie
 * @param {String} cookieName 
 * @author fmolina
 * Description: Borra el cookie de la sesi?n.
 */
 function deleteCookie(cookieName) {
 	if (getCookie(cookieName)) {
   		document.cookie = cookieName + "=; expires=Thu, 01-Jan-75 00:00:01 GMT";   		
   	}    
 }