var deps_catid = 0;

var deps_margin = 0;
var deps_max_speed = 15;
var deps_speed = 0;
var deps_running = false;
var deps_interval;
var deps_click = false;
var deps_max = -1;
var deps_width = -1;

function deps_get_total_width() {
	//var imgs = document.getElementById('deps_container').childNodes;
	//total = 0;
	//for (var i = 0; i < imgs.length; i++) {
	//	total += imgs[i].width;
	//}
	total=1630;
	return total;
}

function deps_right() {
	deps_speed = -deps_max_speed;
	
	if (!deps_running) {
		deps_running = true;
		deps_click = true;
		deps_interval = setInterval('deps_loop()', 40);
	}
}

function deps_left() {
	deps_speed = deps_max_speed;
	
	if (!deps_running) {
		deps_running = true;
		deps_click = true;
		deps_interval = setInterval('deps_loop()', 40);
	}	
}

function deps_loop() {
	var deps = document.getElementById('deps_container');
	
	if (deps_max == -1) {
		deps_max = deps_get_total_width() - deps_width;
	}
	
	deps_margin += deps_speed;
	
	if (deps_margin > 0) {
		deps_margin = 0;
		clearInterval(deps_interval);
		deps_running = false;
		deps_save();
	}
	if (deps_margin <= -deps_max) {
		deps_margin = -deps_max;
		clearInterval(deps_interval);
		deps_running = false;
		deps_save();
	} else {
		if (deps_speed != 0) {
			if (!deps_click) {
				d = (deps_speed > 0 ? 1 : -1);
				deps_speed -= d;
			}
		} else {
			clearInterval(deps_interval);
			deps_running = false;
			deps_save();
		}
	}
	deps_set_margin();
}

function deps_release() {
	deps_click = false;
}

function deps_over(obj) {
	obj.src = obj.src.replace('-active', '-inactive');
}

function deps_out(obj) {
	obj.src = obj.src.replace('-inactive', '-active');
}

function deps_parse(){
	var cookieList=document.cookie.split("; ");
	var cookieArray = new Array();
	for (var i=0; i < cookieList.length; i++){
		var name = cookieList[i].split("=");
		cookieArray[unescape(name[0])] = unescape(name[1]);
	}
	return cookieArray;
}

function deps_save() {
	//var expires = new Date();
	//expires.setDate(365 + expires.getDate());
	//setCookie("department_select", deps_margin, expires, '/');
}

function deps_load() {
	var deps = document.getElementById('deps_container');
	cookies = deps_parse();
	
	deps_width = deps.parentNode.clientWidth;
	
	deps_margin = 0;
	if (typeof(cookies["department_select"]) != 'undefined') {	
		deps_margin = parseInt(cookies['department_select']);
	}
	
	if (deps_catid != 0) {
		offset = deps_get_offset(deps_catid);
		if (offset.start < -deps_margin) {
			deps_margin = -offset.start;
		}
		if (offset.end > deps_width) {
			deps_margin = -(offset.end - deps_width);
		}
	}
	
	deps_set_margin();
}

function deps_get_offset(id) {
	var deps = document.getElementById('deps_container');
	var re = /(\d+)-(in)?active/;
	
	var offset = {};
	var width = 0;
	for (var i = 0; i < deps.childNodes.length; i++) {
		node = deps.childNodes[i];
		src = node.childNodes[0].childNodes[0].src;
		match = src.match(re);
		offset.start = width;
		width += node.scrollWidth;
		offset.end = width;
		if (id == match[1]) break;
	}
	return offset;
}

function deps_set_margin() {
	var deps = document.getElementById('deps_container');
	var arrow_left = document.getElementById('department_select_arrow_left');
	var arrow_right = document.getElementById('department_select_arrow_right'); 
	
	if (deps_max == -1) {
		deps_max = deps_get_total_width() - deps_width;
	}
	
	if (-deps_margin >= deps_max) {
		arrow_right.style.visibility = '';
	} else {
		arrow_right.style.visibility = '';
	}
	
	if (deps_margin == 0) {
		arrow_left.style.visibility = '';
	} else {
		arrow_left.style.visibility = '';
	}
	
	deps.style.marginLeft = deps_margin + 'px';
}
