var growDur = 0.5;
var busyQue = 0;

function combo(elemId,img_collapsed,img_expanded) {
	element = $(elemId);
	if(element.style.display == 'none') { 
		reveal(elemId,img_expanded);
	} else { 
		invise(elemId,img_collapsed);
	}
}

function reveal(elemId,img) {
	if (!busyQue) {
		accuireQue();						
                if(img == null) img = 'img/details_expanded.gif';              
		$(elemId+'_img').src=img;
		new Effect.Appear(elemId,{duration: growDur, afterFinish: freeQue});
		//new Effect.BlindDown(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function invise(elemId,img) {
	if (!busyQue) {
		accuireQue();
                if(img == null) img = 'img/details_collapsed.gif';              
		$(elemId+'_img').src=img;
		//new Effect.BlindUp(elemId,{duration: growDur, afterFinish: freeQue});
		//new Effect.Fold(elemId,{duration: growDur, afterFinish: freeQue});
		new Effect.Fade(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function freeQue() {
	busyQue = 0;
}

function accuireQue() {
	busyQue = 1;
}

function combo2(elemId) {
	element = $(elemId);
	if(element.style.display == 'none') { 
		reveal2(elemId);
	} else { 
		invise2(elemId);
	}
}

function reveal2(elemId) {
	if (!busyQue) {
		accuireQue();						
		$(elemId+'_img_opener').style.display='none';
		new Effect.Appear(elemId,{duration: growDur, afterFinish: freeQue});
		//new Effect.BlindDown(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function invise2(elemId) {
	if (!busyQue) {
		accuireQue();
    $(elemId+'_img_opener').style.display='inline';          
		//new Effect.BlindUp(elemId,{duration: growDur, afterFinish: freeQue});
		//new Effect.Fold(elemId,{duration: growDur, afterFinish: freeQue});
		new Effect.Fade(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function combo3(elemId) {
	element = $(elemId);
	if(element.style.display == 'none') { 
		reveal3(elemId);
	} else { 
		invise3(elemId);
	}
}

function reveal3(elemId) {
	if (!busyQue) {
		accuireQue();						
		//$(elemId+'_img_opener').style.display='none';
		$(elemId+'_img_opener').src='img/arrow_open.gif';
		new Effect.Appear(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function invise3(elemId) {
	if (!busyQue) {
		accuireQue();
    //$(elemId+'_img_opener').style.display='inline';
    $(elemId+'_img_opener').src='img/arrow_close.gif';
		new Effect.Fade(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function combo4(elemId) {
	element = $(elemId);
	if(element.style.display == 'none') { 
		setHelpCookie('helpTreeMode','open',1000);
		reveal4(elemId);
	} else { 
		setHelpCookie('helpTreeMode','closed',1000);
		invise4(elemId);
	}
}

function reveal4(elemId) {
	if (!busyQue) {
		accuireQue();						
		//$(elemId+'_img_opener').style.display='none';
		$(elemId+'_img_opener').src='img/close_button.gif';
		new Effect.Appear(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function invise4(elemId) {
	if (!busyQue) {
		accuireQue();
    //$(elemId+'_img_opener').style.display='inline';
    $(elemId+'_img_opener').src='img/open_button.gif';
		new Effect.Fade(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function combo4_(elemId) {
	element = $(elemId);
	if(element.style.display == 'none') { 
		setHelpCookie('helpTreeMode','open',1000);
		reveal4_(elemId);
	} else { 
		setHelpCookie('helpTreeMode','closed',1000);
		invise4_(elemId);
	}
}

function reveal4_(elemId) {
	if (!busyQue) {
		accuireQue();						
		//$(elemId+'_img_opener').style.display='none';
		//$(elemId+'_img_opener').src='img/close_button.gif';
		$(elemId+'_text_opener').update('Hide help');
		new Effect.Appear(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function invise4_(elemId) {
	if (!busyQue) {
		accuireQue();
    //$(elemId+'_img_opener').style.display='inline';
    //$(elemId+'_img_opener').src='img/open_button.gif';
		$(elemId+'_text_opener').update('Show help');
		new Effect.Fade(elemId,{duration: growDur, afterFinish: freeQue});
	}
}

function setHelpCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
	document.cookie+=";path=/";
}

function getHelpCookie(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 "";
}
