// ------------------------------------------------------------
//
//	blind.js
//
// ------------------------------------------------------------


Effect.DefaultOptions = {
	transition: Effect.Transitions.sinoidal,
	duration: 0.3,
	fps: 60.0,
	sync: false,
	from: 0.0,
	to: 1.0,
	delay: 0.0,
	queue: 'parallel'
}

function loadBlind(){
	var url = location.href
	if(url.match(/#/i)){
		var no = url.split("#")[1];
		if(no){
			var titleElement = $("title_"+ no);
			var answerElement = $("answer_"+ no);
			new Effect.ScrollTo(titleElement);
			
			if (answerElement.style.display == 'none') answerShow(answerElement, titleElement);
			else answerHide(answerElement, titleElement);
			
			rmClass(titleElement);
		}
	}
	var dtTag = document.getElementsByTagName("dt");
	for(var i = 0; i < dtTag.length; i++){
		var aTag = dtTag[i].firstChild;
		Event.observe(aTag, "click", singleAnswer, false);
	}
	var ddTag = document.getElementsByTagName("dd");
	for(var i = 0; i < ddTag.length; i++){
		if(ddTag[i].getElementsByTagName("p")[0]){
			var aTag = ddTag[i].getElementsByTagName("p")[0].getElementsByTagName("a");
			if(aTag){
				if(aTag.length > 0){
					for(var a = 0; a < aTag.length; a++){
						if(aTag[a].className != "https" && aTag[a].className != "link"){
							aTag[a].href = "javascript:void(0)";
							aTag[a].onclick = function(){
								return false;
							}
							Event.observe(aTag[a], "click", pageAnchor, false);
						}
					}
				}
			}
		}
	}
}

function pageAnchor(event){
	var Element = Event.element(event);
	var target = Element.className.split("#");
	var url = target[0];
	var no = target[1];
	var newHref = url +".html#"+ no;
	var locationArray = location.href.split("/");
	var href = locationArray[locationArray.length - 1].split("#");
	if(href[0] == url +".html"){
		var titleElement = $("title_"+ no);
		var answerElement = $("answer_"+ no);
		new Effect.ScrollTo(titleElement);
		if (answerElement.style.display == 'none') {
			answerShow(answerElement, titleElement);
			rmClass(titleElement);
		}
	}else{
		location.href = newHref;
	}
}

function singleAnswer(event) {
	var Element = Event.element(event).parentNode.id;
	if(!Element) var Element = Event.element(event).parentNode.parentNode.id;
	var entryID = Element.split("_")[1];
	if(entryID){
		var title = $('title_' + entryID);
		var element = $('answer_' + entryID);
		
		if(element.style.display == 'none') answerShow(element, title);
		else answerHide(element, title);
		
		rmClass(title);
	}
}

function answerShow (item, title) {
	var aTag = title.firstChild;
	Event.stopObserving(aTag, "click", singleAnswer, false);
	options = {
		afterFinish: function(effect) {
			Element.show(effect.element);
			Event.observe(aTag, "click", singleAnswer, false);
		}
	};
	Effect.BlindDown(item, options);
}

function answerHide (item, title) {
	var aTag = title.firstChild;
	Event.stopObserving(aTag, "click", singleAnswer, false);
	options = {
		afterFinish: function(effect) {
			Element.hide(effect.element);
			Event.observe(aTag, "click", singleAnswer, false);
		}
	};
	Effect.BlindUp(item, options);
}

function rmClass(item){
	if (Element.classNames(item) == 'open') {
		Element.removeClassName(item,"open");
		Element.addClassName(item,"close");
	} else if (Element.classNames(item) == 'close'){
		Element.removeClassName(item,"close");
		Element.addClassName(item,"open");
	}
}

Event.observe(window, "load", loadBlind, false);

