// DFS FAQ

function faqInit(){
	if(document.getElementById('faq')){
		var faq = document.getElementById('faq');
		var dd = faq.getElementsByTagName('dd');
		var dt = faq.getElementsByTagName('dt');
		for(var i = 0; i < dd.length; i++){
			dt[i].getElementsByTagName('a')[0].onclick = toggleFAQ;
			dt[i].numID = i;
			dt[i].status = false;
		}
		if(document.getElementById('expand-all')){
			document.getElementById('expand-all').getElementsByTagName('a')[0].onclick = expandAllFAQ;
		}
	}
	var y = 1;
	while(document.getElementById('faq'+y)){
		faq = document.getElementById('faq'+y);
		dd = faq.getElementsByTagName('dd');
		dt = faq.getElementsByTagName('dt');
		for(var i = 0; i < dd.length; i++){
			dt[i].getElementsByTagName('a')[0].onclick = toggleFAQ;
			dt[i].getElementsByTagName('a')[0].groupNum = y;
			dt[i].numID = i;
			dt[i].status = false;
		}
		if(document.getElementById('expand-all'+y)){
			document.getElementById('expand-all'+y).getElementsByTagName('a')[0].onclick = expandAllFAQ;
			document.getElementById('expand-all'+y).getElementsByTagName('a')[0].groupNum = y;
		}
		y++;	
	}
}

function toggleFAQ(){
	var allOpen;
	if(this.groupNum){
		var faq = document.getElementById('faq'+this.groupNum);
		groupNum = this.groupNum;
	}
	else{
		var faq = document.getElementById('faq');
		groupNum = '';
	}
	var dd = faq.getElementsByTagName('dd');
	if(!this.parentNode.status){
		this.className = 'active';
		this.parentNode.status = true;
		dd[this.parentNode.numID].style.display = 'block';
		allOpen = true;
		for(var i = 0; i < dd.length; i ++){
			if(!document.getElementById('faq'+groupNum).getElementsByTagName('dt')[i].status){
				allOpen = false;
				break;
			}
		}
		if(allOpen){
			if(document.getElementById('expand-all'+groupNum) && document.getElementById('expand-all'+groupNum).getElementsByTagName('a')[0]){
				var expandAll = document.getElementById('expand-all'+groupNum);
				expandAll.innerHTML = expandAll.getElementsByTagName('a')[0].innerHTML;
			}
			switchExpandCollapse(1, groupNum);
		}
	}
	else{
		this.className = '';
		this.parentNode.status = false;
		document.getElementById('faq'+groupNum).getElementsByTagName('dd')[this.parentNode.numID].style.display = 'none';
		allClosed = true;
		for(var i = 0; i < dd.length; i ++){
			if(document.getElementById('faq'+groupNum).getElementsByTagName('dt')[i].status){
				allClosed = false;
				break;
			}
		}
		if(allClosed){
			if(document.getElementById('collapse-all'+groupNum) && document.getElementById('collapse-all'+groupNum).getElementsByTagName('a')[0]){
				var collapseAll = document.getElementById('collapse-all'+groupNum);
				collapseAll.innerHTML = collapseAll.getElementsByTagName('a')[0].innerHTML;
			}
			switchExpandCollapse(0, groupNum);
		}
	}
	return false;
}

function expandAllFAQ(){
	if(this.groupNum){
		var faq = document.getElementById('faq'+this.groupNum);
		groupNum = this.groupNum;
	}
	else{
		var faq = document.getElementById('faq');
		groupNum = '';
	}
	var dd = faq.getElementsByTagName('dd');
	var dt = faq.getElementsByTagName('dt');
	for(var i = 0; i<dd.length; i++){
		dt[i].getElementsByTagName('a')[0].className = 'active';
		dt[i].status = true;
		dd[i].style.display = 'block';
	}
	this.parentNode.innerHTML = this.innerHTML;
	switchExpandCollapse(1, groupNum);
	return false;
}

function collapseAllFAQ(){
	if(this.groupNum){
		var faq = document.getElementById('faq'+this.groupNum);
		groupNum = this.groupNum;
	}
	else{
		var faq = document.getElementById('faq');
		groupNum = '';
	}
	var dd = faq.getElementsByTagName('dd');
	var dt = faq.getElementsByTagName('dt');
	for(var i = 0; i<dd.length; i++){
		dt[i].getElementsByTagName('a')[0].className = '';
		dt[i].status = false;
		dd[i].style.display = 'none';
	}
	this.parentNode.innerHTML = this.innerHTML;
	switchExpandCollapse(0, groupNum);
	return false;
}

function switchExpandCollapse(f, g){
	if(f){
		if(document.getElementById('collapse-all'+g) && !document.getElementById('collapse-all'+g).getElementsByTagName('a')[0]){
			var collapseAll = document.getElementById('collapse-all'+g);
			collapseAll.innerHTML = '<a href="#" title="' + collapseAll.innerHTML + '">' + collapseAll.innerHTML + '</a>';
			collapseAll.getElementsByTagName('a')[0].onclick = collapseAllFAQ;
			if(g != ''){
				collapseAll.getElementsByTagName('a')[0].groupNum = g;
			}
		}
	}
	else{
		if(document.getElementById('expand-all'+g) && !document.getElementById('expand-all'+g).getElementsByTagName('a')[0]){
			var expandAll = document.getElementById('expand-all'+g);
			expandAll.innerHTML = '<a href="#" title="' + expandAll.innerHTML + '">' + expandAll.innerHTML + '</a>';
			expandAll.getElementsByTagName('a')[0].onclick = expandAllFAQ;
			if(g != ''){
				expandAll.getElementsByTagName('a')[0].groupNum = g;
			}
		}
	}
}

addLoadEvent(faqInit);