var IE = document.all;

var modelCbs = 0;



function getElementsByClassName(tagName, className)
{
	var elements = document.getElementsByTagName(tagName);
	var matches = new Array();

	for (var i = 0; i < elements.length; i++) {
		var classes = elements[i].className;

		var pos = classes.indexOf(className);
		if (pos != -1) {
			if (pos > 0 && classes.charAt(pos - 1) != ' ') {
				continue;
			}

			if (classes.length > pos + className.length && classes.charAt(pos + className.length) != ' ') {
				continue;
			}

			matches.push(elements[i]);
		}
	}

	return matches;
}



/**
 * checkbox functions
 */

function cb_uncheck(obj)
{
	if (obj.id == 'cb_model' && obj.childNodes[0].checked) {
		modelCbs -= 1;

		if (modelCbs == 0) {
			document.getElementById('compare_selection').style.visibility = 'hidden';
		}
	}

	obj.childNodes[0].checked = false;

	var newClassNames = '';
	var splitted = obj.className.split(' ');
	for (var i = 0; i < splitted.length; i++) {
		if (splitted[i] != 'cb_selected') {
			newClassNames += ' ' + splitted[i];
		}
	}
	
	obj.className = newClassNames;
}


function cb_check(obj)
{
	if (obj.id == 'cb_model' && ! obj.childNodes[0].checked) {
		if (modelCbs == 0) {
			document.getElementById('compare_selection').style.visibility = 'visible';
		}

		modelCbs += 1;
	}

	obj.childNodes[0].checked = true;
	obj.className = obj.className + ' cb_selected';
}


function cb_check_brand(obj)
{
        if (obj.id != 'cb_model' ) {
                obj.childNodes[0].checked = true;
                obj.className = obj.className + ' cb_selected';
        }
}


function cb_toggle(obj)
{
	if (obj.hasChildNodes()) {
		if (obj.childNodes[0].type == 'checkbox') {
			if (obj.childNodes[0].checked) {
				cb_uncheck(obj);
				return false;
			} else {
				cb_check(obj);
				return true;
			}
		}
	}
}


function cb_init()
{
	var inputs = document.getElementsByTagName('input');

	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].type == 'checkbox') {
			if (inputs[i].checked) {
				if (inputs[i].parentNode.id == 'cb_model') {
					modelCbs += 1;
				}

				cb_check(inputs[i].parentNode);
			} else {
				cb_uncheck(inputs[i].parentNode);
			}
		}
	}
}


function cb_set_all_in_container(obj, check)
{
	var inputs = obj.getElementsByTagName('input');

	for (var i = 0; i < inputs.length; i++) {
		if (inputs[i].type == 'checkbox') {
			if (check) {
				cb_check_brand(inputs[i].parentNode);
			} else {
				cb_uncheck(inputs[i].parentNode);
			}
		}
	}
}









function cb_toggle_brand(id)
{
	var brand		= document.getElementById('brand-' + id);
	var cb_finder	= document.getElementById('cb_finder-' + id);
	
	var checked = cb_toggle(cb_finder);

	cb_set_all_in_container(brand, checked);
	
	brand.style.display = checked ? 'block' : 'none';

	updateDragger();

	return false;
}




function toggle_manufacturer(obj, id)
{
	var newClassName = 'collapse';
	var display = 'table-row';

	if (IE) {
		display = 'block';
	}

	if (obj.className == 'collapse') {
		newClassName = 'expand';
		display = 'none';
	}

	for (var i = 0; i < cluster.length; i++) {
		document.getElementById('c' + cluster[i] + 'm' + id).className = newClassName;
	}

	var trs = getElementsByClassName('tr', 'manufacturer-' + id);

	for (var i = 0; i < trs.length; i++) {
		trs[i].style.display = display;
	}

	updateDragger();

	return false;
}


function toggle_faq(obj, id)
{
	parentObj = obj.parentNode;
	faq_answer = document.getElementById('faq-' + id);

	if (obj.className == 'collapse') {
		parentObj.className = '';
		obj.className = 'expand';
		faq_answer.style.display = 'none';
	} else {
		parentObj.className = 'active';
		obj.className = 'collapse';
		faq_answer.style.display = 'block';
	}

	updateDragger();

	return false;
}


function goTo(url)
{
	if (url == '-back-') {
		history.go(-1);
	} else {
		window.location.href = url;
	}

	return false;
}


//function printVersion(url)
//{	
//	window.open(url + '&print=true', '', 'width=1000,height=600,status=no,toolbar=no,location=no,menubar=no')
//	window.location.href = url + '&print=true';
//	return false;
//}

function printVersion(url)
{	
	window.open(url + '&print=true', '', 'width=1000,height=480,scrollbars=yes');
	
	return false;
}

function parentOpen(url_)
{
	if (parent.parent.opener==null || parent.parent.opener.closed==true) {
		w = window.open(url_,'mba40zkf','width=744,height=585,scrollbars=yes,menubar=no');w.focus();
	} else {
		parent.parent.opener.location.href=url_;parent.parent.opener.focus();
	}
}

//-------------------------------------------------------------------

function compareAll(cat, subcatid)
{
	if( !subcatid ){
		goTo(cat+'.compare.php?compare_all=true');
	} else {
		goTo(cat+'.compare.php?compare_all=true&cat=' + subcatid);
	}
	
//	cb_set_all_in_container(document, true);
	return false;
}

function compareAllTruck(cat)
{
	goTo('bt.compare_truck.php?compare_all=true');
	return false;
}



function compareAllVan(cat, subcatid)
{
	if( subcatid === undefined ){
		subcatid = false;
	}
	
	if( !subcatid ){
		goTo(cat+'.compare_van.php?compare_all=true');
	} else {
		goTo(cat+'.compare_van.php?compare_all=true&cat=' + subcatid);
	}
	
//	cb_set_all_in_container(document, true);
	return false;
}



function showCluster(id)
{
	document.getElementById('cluster-' + id).className = 'compare';
	document.getElementById('cluster-head-' + id).className = 'compare_head';
	document.getElementById('cluster-head-table-' + id).className = 'compare';
	
	document.getElementById('tab-' + id).className = 'selected';

	var rspaces = getElementsByClassName('tr', 'rspace_collector');
	var height = document.getElementById('cluster-' + id).clientHeight;

	if (height < 384) {
		for (var i = 0; i < rspaces.length; i++) {
			rspaces[i].style.height = (382 - height + rspaces[0].clientHeight) + 'px';
		}
	}

	if (currentCluster != -1 && currentCluster != id) {
		document.getElementById('cluster-' + currentCluster).className = 'compare_hide';
		document.getElementById('cluster-head-table-' + currentCluster).className = 'compare_hide';
		document.getElementById('tab-' + currentCluster).className = '';
	}

	currentCluster = id;
}

/* ---- Carline selection----------------------------------------- */
var timeout = false;

function openSelectBox(label){
	if( timeout ){
		window.clearTimeout(timeout);
		timeout = false;
	}

	var lbl = document.getElementById('carline_select_label');
	lbl.innerHTML = label;

	var box = document.getElementById('carline_select_sub');
	if( box.style.display != 'block' ){
		box.style.display = 'block';
	}
}

function closeSelectBox(label, url, kill){	
	if( label ){
		var lbl = document.getElementById('carline_select_label');
		lbl.innerHTML = label;
	}
	
	if( kill ){
		var box = document.getElementById('carline_select_sub');
		box.style.display = 'none';
	} else if( !timeout ){
		timeout = window.setTimeout('closeSelectBox(false, false, true)', 100);
	}
	
	if( url ){
		goTo(url);	
	}
}

/* ---- Seop selection----------------------------------------- */
var timeout_seop = false;

function openSelectBoxseop(label){	
	if( timeout_seop ){
		window.clearTimeout(timeout_seop);
		timeout_seop = false;
	}

	var lbl = document.getElementById('seop_select_label');
	lbl.innerHTML = label;

	var box = document.getElementById('seop_select_sub');
	if( box.style.display != 'block' ){
		box.style.display = 'block';
	}
}

function closeSelectBoxseop(label, url, kill){
	if( label ){
		var lbl = document.getElementById('seop_select_label');
		lbl.innerHTML = label;
	}
	
	if( kill ){
		var box = document.getElementById('seop_select_sub');
		box.style.display = 'none';
	} else if( !timeout_seop ){
		timeout_seop = window.setTimeout('closeSelectBoxseop(false, false, true)', 100);
	}
	
	if( url ){
		goTo(url);	
	}
}

//----Carrier selection----------------------------------------
var timeout_carrier = false;

function openSelectBoxCarrier(label){
	if( timeout_carrier ){
		window.clearTimeout(timeout_carrier);
		timeout_carrier = false;
	}

	var lbl = document.getElementById('carrier_select_label');
	lbl.innerHTML = label;

	var box = document.getElementById('carrier_select_sub');
	if( box.style.display != 'block' ){
		box.style.display = 'block';
	}
}

function closeSelectBoxCarrier(label, url, kill){
	if( label ){
		var lbl = document.getElementById('carrier_select_label');
		lbl.innerHTML = label;
	}

	if( kill ){
		var box = document.getElementById('carrier_select_sub');
		box.style.display = 'none';
	} else if( !timeout_carrier ){
		timeout_carrier = window.setTimeout('closeSelectBoxCarrier(false, false, true)', 100);
	}
	
	if( url ){
		goTo(url);	
	}
}