//**********************************************************************************************************************
//	Sitemap
//**********************************************************************************************************************
function siteMap(obj){
	var div = obj.parentNode;
	var divClass = obj.parentNode.className;
	var divParent = obj.parentNode.parentNode;
	for(var i = 0;i < divParent.childNodes.length; i++){
		if(divParent.childNodes[i].className == "open"){
			for(var x = 0;x < divParent.childNodes[i].childNodes.length; x++){
				if(divParent.childNodes[i].childNodes[x].className == "open"){
					divParent.childNodes[i].childNodes[x].className = "close";
				}
			}
			divParent.childNodes[i].className = "close";
		}
	}
	if(divClass == "close"){
		for(var j = 0;j < div.childNodes.length; j++){
			if(div.childNodes[j].className == "close"){
				div.childNodes[j].className = div.className = "open";
			 }
		}
	}else{
		div.className = div.firstChild.className = "close";
	}
}
//**********************************************************************************************************************
//	Contact
//**********************************************************************************************************************
function contact(obj){
	var div = obj.parentNode;
	var divClass = obj.parentNode.className;
	var divParent = obj.parentNode.parentNode;
	for(var i = 0;i < divParent.childNodes.length; i++){
		if(divParent.childNodes[i].className == "open"){
			for(var x = 0;x < divParent.childNodes[i].childNodes.length; x++){
				if(divParent.childNodes[i].childNodes[x].className == "open"){
					divParent.childNodes[i].childNodes[x].className = "close";
					hideDropDownCompliance(true);
				}
			}
			divParent.childNodes[i].className = "close";
		}
	}
	if(divClass == "close"){
		for(var j = 0;j < div.childNodes.length; j++){
			if(div.childNodes[j].className == "close"){
				div.childNodes[j].className = div.className = "open";
				hideDropDownCompliance(false);
			 }
		}
	}else{
		div.className = div.firstChild.className = "close";
	}
}
function hideDropDownCompliance(display)
{
    var ddlTools = document.getElementById('ctl00_templateContent_ddlTools');
    var ddlProcedures = document.getElementById('ctl00_templateContent_ddlProcedures');
    
    if(display == true)
    {
        if(ddlTools) ddlTools.style.display = "inline";
        if(ddlProcedures) ddlProcedures.style.display = "inline";
    }
    else
    {
        if(ddlTools) ddlTools.style.display = "none";
        if(ddlProcedures) ddlProcedures.style.display = "none";
    }
}
//**********************************************************************************************************************
//	Bread Crumb
//**********************************************************************************************************************
function showBreadCrumb(obj){
	obj.parentNode.onmouseover = function(){
	    if(obj.nextSibling.nextSibling) {
	        obj.nextSibling.nextSibling.style.display = "block";
	    } else if(obj.nextSibling) {
	        obj.nextSibling.style.display = "block";
	    }
	}
	obj.parentNode.onmouseout = function(){
	    if(obj.nextSibling.nextSibling) {
	        obj.nextSibling.nextSibling.style.display = "none";
	    } else if(obj.nextSibling) {
	        obj.nextSibling.style.display = "none";
	    }
	}
}
//**********************************************************************************************************************
//	Panel
//**********************************************************************************************************************
var btnChecked = true;
function panel(pos){
	var area = document.getElementById('area');
	var item = 545;
	var actualPos = area.offsetLeft;
	var endPos = -(pos * item);
	var diff = endPos-actualPos;
	var p = actualPos + Math.ceil(diff/2);
	area.style.left = p + "px";
	if(btnChecked){
		btnChecked = false;
	}
	function c(){
		checkBtn(true);
		panel(pos);
	}
	if(diff==1 || diff==-1){
		checkBtn(false);
		clearTimeout(timer);
		return;
	}
	timer = setTimeout(c,100);
}
function checkBtn(ac){
	var btn = document.getElementsByTagName("a");
	for(var i=0;i < btn.length; i++){
		if(btn[i].className == "prev" || btn[i].className == "next"){
			disableBtn(btn[i],ac);
		}
	}
}
function disableBtn(obj,ac){
	if(ac){
		var onclick = obj.getAttribute("onclick");
		if(onclick != "void(0);"){
			obj.setAttribute('onclick_bak', onclick);
			obj.setAttribute('onclick', "void(0);");
		}
	}else{
		obj.setAttribute('onclick', obj.attributes['onclick_bak'].nodeValue);
	}
}
//**********************************************************************************************************************
//	Filter
//**********************************************************************************************************************
function initSelect(){
	if(document.getElementById("gui-select")){
		var select = document.getElementById("gui-select");
		var div = document.getElementById("selectfilter");
		select.style.display = "none";
		div.style.display = "block";
		scroll();
	}
}
window.onload = function(){initSelect()};

function select(obj){
	obj.parentNode.className=obj.parentNode.className==''?'selected':'';
	checkStatus();
}

var first = true;
var textOrig = "";
function checkStatus(){
	var display = document.getElementById("display");
	var content = document.getElementById("content");
	var division = document.getElementById("division");
	var haveSelecteds = false;
	var f;
	var label = new Array();
	var data = new Array();
	
	for(var i = 0;i < content.childNodes.length;i++){
		if(content.childNodes[i].className == "selected"){
			haveSelecteds = true;
			if(first){
				textOrig = document.getElementById("display").innerHTML;
				first = false;
			}
			label.push(content.childNodes[i].firstChild.innerHTML);
			data.push(content.childNodes[i].id);
		}
	}
	if(haveSelecteds == false){
		display.innerHTML = textOrig;
		division.value = "";
	}else{
		display.innerHTML = label;
		division.value = data;
	}
}

var interval;
function scroll(action){
	var div = document.getElementById("selectfilter");
	var display = document.getElementById("display");
	var btnUp = document.getElementById("btnUp");
	var btnDown = document.getElementById("btnDown");
	var handle = document.getElementById("handle");
	var handleY = handle.offsetTop;
	var slider = document.getElementById("slider");
	var contentArea = document.getElementById("contentArea");
	var content = document.getElementById("content");
	var contentCanvas = content.parentNode.offsetHeight;
	var contentH = content.offsetHeight;
	var pos = content.offsetTop;
	var posEnd = contentH - contentCanvas;
	var diff = 0;
	var mouseY = 0;
	var mouseC = 0;
	var top = 0;
	
	// open options
	display.onclick = function(){
		div.className == "gui-select" ? div.className = "gui-select active" : div.className = "gui-select";;
		scroll();
	}
	
	// Handle height and Difference
	if(posEnd <= 0){
		contentArea.className = "content disabled";
		return false;
	}else{
		handle.style.height = parseInt(contentCanvas / contentH * contentCanvas) + "px";
		diff = (handle.offsetHeight - slider.offsetHeight) / (contentCanvas - contentH);
	}
	
	// buttons up & down
	if(action=="down" && pos >= -posEnd){
		pos = pos - 15;
		move(pos);
	}
	if(action=="up"){
		pos = pos + 15;
		move(pos);
	}
	btnUp.onclick = function(){
		scroll("up");
	}
	btnDown.onclick = function(){
		scroll("down");
	}
	btnUp.onmousedown = function(){
		interval = setInterval("scroll('up')", 50);
	}
	btnDown.onmousedown = function(){
		interval = setInterval("scroll('down')", 50);
	}
	
	// move content 
	function move(pos){
		pos = parseInt(pos);
		if(pos >= 0){pos = 0;}
		if(pos <= -posEnd){pos = -posEnd;}
		content.style.top = pos + "px";
		handle.style.top = -(diff * pos) + "px";
	}
	
	// Handle drag
	handle.onmousedown = function(ev){
		if(document.all){
			mouseC = event.clientY + document.body.scrollTop;
		}else{
			mouseC = ev.pageY;
		}
		var top = div.offsetTop + contentArea.offsetTop + slider.offsetTop;
		var handlePoint = mouseC - (top + handle.offsetTop);
		document.onmousemove = function(e){
			if(document.all){
				mouseY = event.clientY + document.body.scrollTop;
			}else{
				mouseY = e.pageY;
			}
			pos = -(mouseY - top - handlePoint) / diff;
			if(pos >= 0){pos = 0;}
			if(pos <= -posEnd){pos = -posEnd;}
			move(pos);
		}
	}	
	
	// Scrollbar click
	slider.onclick = function(ev){
		if(document.all){
			mouseY = event.clientY + document.body.scrollTop;
		}else{
			mouseY = ev.pageY;
		}
		var top = div.offsetTop + contentArea.offsetTop + slider.offsetTop;
		pos = -(mouseY - top - (handle.offsetHeight/2)) / diff;
		move(pos);
	}
	
	// Whell Move Control
	function whandle(s){
		if (s < 0 && pos >= -posEnd){pos = pos - 40;}
		else if(s > 0 && pos < 0){pos = pos + 40;}
		move(pos);
	}
	
	// Wheel Capture
	function wheel(event){
		var s = 0;
		if(!event){
			event = window.event;
		}
		if(event.wheelDelta){
			s = event.wheelDelta/120;
		}else if(event.detail){
			s = -event.detail/3;
		}
		if(s){
			whandle(s);
		}
		if(event.preventDefault){
			event.preventDefault();
			event.returnValue = false;
		}
	}
	// init Wheel
	if (contentArea.addEventListener){
		contentArea.addEventListener('DOMMouseScroll', wheel, false);
	}
	contentArea.onmousewheel = wheel;
}
// clear Handle Drag
document.onmouseup = function(){
	document.onmousemove = new function(){};
	clearInterval(interval);
}
//**********************************************************************************************************************
//	Close dynamics boxes
//**********************************************************************************************************************
document.onclick=check;
function check(e){
	var target = (e && e.target) || (event && event.srcElement);
	var obj = document.getElementById('selectfilter');
	if(obj){
		checkParent(target, obj)?obj.className = "gui-select":null;
	}
}
function checkParent(t, obj){
	while(t.parentNode){
		if(t==obj){
			return false;
		}
		t=t.parentNode;
	}
	return true;
}
