// JavaScript Document
// JavaScript Document
	var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{	// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 	// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

var activeImg;
var activeSrc;
var latestSrc;
var timer;
function preloadImages() {
	var imageLoader = new Image();
	for (var i=0; i < imagesArray.length; i++) {
		imageLoader.src = imagesArray[i];
	}
}

function setImage(img, src) {
	latestSrc = img.src;
	if (activeImg != img) img.src = src;	
}

function test() {
	alert("test");	
}
function setActiveMenu(img) {
	//alert("here");
	if (activeImg != img) {
		if (activeSrc != null) activeImg.src = activeSrc;
		activeSrc = latestSrc;
		activeImg = img;
	}
}

function showPullDownMenu() {
	clearTimeout(timer);
	document.getElementById("pulldownMenu").style.display = 'block';	
}

function timeHidePulldownMenu() {
	timer = setTimeout("hidePulldownMenu()", 750);		
}

function hidePulldownMenu() {
	document.getElementById("pulldownMenu").style.display = 'none';	
}

function setMainImage(src) {
	document.getElementById("bigImage").src = src;	
}

function checkForm() {
	var result = true;
	if (document.getElementById('name') != null) {
		if (document.getElementById('name').value == null || document.getElementById('name').value == "") {
			result = false;
			document.getElementById('nameError').style.display = "block"
		} else {
			document.getElementById('nameError').style.display = "none"
		}
	}
	if (document.getElementById('email') != null) {
		if (document.getElementById('email').value == null || document.getElementById('email').value == "") {
		result = false;
		document.getElementById('emailError').style.display = "block";
		} else {
			document.getElementById('emailError').style.display = "none"
		}
	}
	if (document.getElementById('comment') != null) {
		if (document.getElementById('comment').value == null || document.getElementById('comment').value == "") {
		result = false;
		document.getElementById('commentError').style.display = "block";
		} else {
			document.getElementById('commentError').style.display = "none"
		}
	}
	return result;
}

var currentFaq;
function showFaq(id) {
	if (currentFaq != null) document.getElementById('faq' + currentFaq).style.display = 'none';
	if (currentFaq != id) {
		document.getElementById('faq' + id).style.display = 'block';
		currentFaq = id;
	} else {
		document.getElementById('faq' + id).style.display = 'none';	
		currentFaq = null;
	}
	
}

function hideLayer(layer) {
	layer.style.display = 'none';	
}

function showLayer(layer) {
	layer.style.display = 'block';
}

function toggleLayer(layer) {
	layer.style.display = (layer.style.display == 'block')? 'none':'block';
}

var currentDealer;

function toggleDealer(dealer) {
	if (currentDealer != null) currentDealer.style.display = 'none';
	if (dealer != currentDealer) {
		dealer.style.display = 'block';
		currentDealer = dealer;
	} else {
		currentDealer = null;
	}
}

function getUrl(url) {
	window.location = url;	
}

function showFile(file) {
	showLayer(document.getElementById('imageBankBigImage'));
	//alert('bankImg.php?file=' + file);
	//alert(document.getElementById('bigImage').src);
	document.getElementById('bigImage').src = 'bankImg.php?file=' + file;
}

var sortingColumn = 1;
var ascending = true;

function sortByColumn(a, b) {
	if (sortingColumn > 2) {
		var x = a[sortingColumn];
		var y = b[sortingColumn];
	} else {
		var x = a[sortingColumn].toLowerCase();
		var y = b[sortingColumn].toLowerCase();
	}
	if (ascending) return ((x < y) ? -1 : ((x > y) ? 1 : 0));
	return ((x > y) ? -1 : ((x < y) ? 1 : 0));
}

function sortDealers(column) {
	if (column) {
		if (sortingColumn == column) {
			ascending = !ascending;
		} else {
			if (column > 2) ascending = false;
			else ascending = true;
		}
		sortingColumn = column;
		dealerArray.sort(sortByColumn);
	}
	
	var result = createHeader();
	for (i=0; i < dealerArray.length; i++) {
		result += "<tr class=\"dealerRow\" onclick=\"toggleDealer(document.getElementById('dealer" + dealerArray[i][0] + "'))\">";
		result += "<td>" + capString(unescape(dealerArray[i][1]), 15) + "</td>";
		result += "<td>" + unescape(dealerArray[i][2]);
		result += "<div class=\"dealerData\" id=\"dealer" + dealerArray[i][0] + "\">";
		if (dealerArray[i]["street"] != '') result += "<div>" + unescape(dealerArray[i][3]) + "</div>";
		if (dealerArray[i][4] != '' || dealerArray[i][1] != '') result += "<div>" + unescape(dealerArray[i][4]) + " " + unescape(dealerArray[i][1]) + "</div>";
		if (dealerArray[i][5] != '') result += "<div>" + unescape(dealerArray[i][5]) + "</div>";
		if (dealerArray[i][6] != '') result += "<div>T: " + unescape(dealerArray[i][6]) + "</div>";
		if (dealerArray[i][7] != '') result += "<div>F:" + unescape(dealerArray[i][7]) + "</div>";
		result += "</div>";
		result += "</td>";
		for (j=0; j < dealerGroups.length; j++) {
			result += "<td class=\"properties\">";
			if (dealerArray[i][8+j] == '1') result += "<img src=\"images/dealerDot.gif\" alt=\"X\" />";
			else result += "&nbsp;";
			result += "</td>";
		}
		//echo "<td>&nbsp;</td>";
		result += "</tr>";	
	}
	result += createFooter();
	//alert(result);
	document.getElementById('dealerTableLocation').innerHTML = result;
}

function createHeader() {
	var result = '<table class="dealerTable" cellpadding="0" cellspacing="0" border="0">';
	result += '<thead>';
	result += '	<tr>';
	result += '		<th class="city" onclick="sortDealers(1)">City</th>';
	result += '		<th class="dealer" onclick="sortDealers(2)">Dealer</th>';

	dealerGroups
	for (var i=0; i < dealerGroups.length; i++) {
		result += '<th class="properties" onclick="sortDealers(' + (8+i) + ')"><img src="images/' + dealerGroups[i] + '.gif" alt="' + dealerGroups[i] + '" /></th>';
	}
	result += '<th>&nbsp;</th>';
	result += '</tr> </thead> <tbody>';
	return result;
}

function createFooter() {
	var result = '</tbody></table>';
	return result;
}

function capString(str, cap) {
	if (str.length > cap) {
		return str.substring(0, cap) + "...";
	} else {
		return str;
	}
}