
var stretchers = $$('div.accordion');
stretchers.each(function(item){
	item.setStyles({'height': '0', 'overflow': 'hidden'});
});

window.onload = function(){ //safari cannot get style if window isnt fully loaded
	
	var togglers = $$('div.toggler');
	
	var bgFx = [];
	
	togglers.each(function(toggler, i){
		// toggler.defaultColor = toggler.getStyle('background-color');
		
		//fx creation
		bgFx[i] = new Fx.Color(toggler, 'background-color', {wait: true});
	});

	var myAccordion = new Fx.Accordion(togglers, stretchers, { opacity: false, start: false, transition: Fx.Transitions.quadOut,
		
		onActive: function(toggler, i){
			
			var expires = new Date();
			//expires.setSeconds(expires.getSeconds() + 3); 
			//alert(expires.toString());
			setCookie("selection", i, null, '/');
			
			// bgFx[i].toColor('#ffffff');
			//toggler.getFirst().setStyle('color', '#000');
			// toggler.getFirst().setStyle('text-decoration', 'none');
			// toggler.getFirst().parentNode.setStyle('border-bottom-color', '#f4f4f4');
			// toggler.getFirst().parentNode.setStyle('padding-bottom', '5px');

			// fix top and bottom images accordingly
			// $('top_round').className = (i != 0) ? "top_dark" : "top_light";
			// $('bottom_round').className = (i != 4) ? "bottom_dark" : "bottom_light";
			
		},
		
		onBackground: function(toggler, i){
			bgFx[i].clearTimer();
			
			if(i != 4) {
				// toggler.getFirst().parentNode.setStyle('padding-bottom', '11px'); // reset styles
				// toggler.getFirst().parentNode.setStyle('border-bottom-color', '#fff');
			}
			else {
				// toggler.getFirst().parentNode.setStyle('padding-bottom', '5px');
				// toggler.getFirst().parentNode.setStyle('border-bottom-color', '#efefef');
			}
			
			// toggler.setStyle('background-color', toggler.defaultColor);
			// toggler.getFirst().setStyle('text-decoration', 'none');
			//toggler.getFirst().setStyle('color', '#666');
		}
		
	});
	
	//anchors
	function checkHash(){
		var found = false;
		$$('div.toggler a').each(function(link, i){
			if (window.location.hash.test(link.hash)){
				myAccordion.showThisHideOpen(i);
				found = true;
			}
		});
		return found;
	}

	//if (!checkHash()) myAccordion.showThisHideOpen(0);
	select = getCookie('selection');
	
	if(select){
		myAccordion.showThisHideOpen(select);
	}else{
		myAccordion.showThisHideOpen(0);
	}
};

try {
	Window.disableImageCache();
}catch(e){}


// 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.toString()) +
  ((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";
  }
}

