
var filters = new Array("makeId","modelId","priceRange");
var loadInventory = true;
var quickViewCache = new Array();

function getDirections(from,to) {
	
	if (to == "") {
		alert("Please enter a departure address!");
		return;
	}
	
	directionsPanel = document.getElementById("TravelDirections");
	directions = new GDirections(map,directionsPanel);
	directions.load(to + " to " + from);
}

function quickView(id,e) {
	
	positionQuickView(e);
	qv = $("QuickView");
	
	if (quickViewCache[id]) {
		
		qv.innerHTML = quickViewCache[id];
		
	} else {
	
		url = "/content/en/inventory/ajax.quickview.php?equipmentNumber=" + id;
		
		if (Ajax.Request) {
			new Ajax.Request(url,{onComplete:updateQuickView});
		} else {
			new Ajax(url, {method: 'post',onComplete:updateQuickView}).request();			
		}
		
	}
		
}

function updateQuickView(res) {
	
	if (res.responseText) {
		txt = res.responseText
	} else {
		txt = res;	
	}
	
	preview = eval(txt);
	
	quickViewCache[preview.equipmentNumber] = preview.html;
	
	qv = $("QuickView");
	qv.style.width = "200px";
	qv.innerHTML = preview.html;
}

function positionQuickView(e) {
	
	qv = $("QuickView");
	
	if (Element.show) {
		Element.show(qv);
	} else {
		qv.setStyle("display","block");
	}
	
	m = getMouse(e);
	qv.style.left = (m.x + 10) + 'px';
	qv.style.top = ( m.y + 10) + 'px';				
	
	qv.innerHTML = "<img src=\"/images/indicator.gif\" />";
}

function hideQuickView() {
	
	if (Element.hide) {
		Element.hide("QuickView");
	} else {
		$("QuickView").setStyle("display","none");	
	}
	
}

function updateFilters(obj) {
	
	$("SearchQuery").focus();
	

	if ($("busy")) {
		Effect.Appear('busy',{duration:0.5,queue:'end'});
	}
	
	name = obj.name;
	
	if (obj.name == "search") {
		value = obj.value;
	} else {
		value = obj.options[obj.selectedIndex].value;
	}
	
	f = $("SearchForm");
	
	if (value == "All") {
		
		for (i=0;i<filters.length;i++) {
			
			if (filters[i] != name) {
				f[filters[i]].value = "All";
			}
			
		}
		
	}
	
	url = '/content/en/inventory/ajax.filters.php?name=' + name;
	ser = $("SearchForm").serialize();
	
	if (loadInventory) {
	
		if ($("Inventory")) {
			new Effect.Opacity('Inventory', {duration:0, from:1.0, to:0.25});
		}
	
	}
	
	new Ajax.Request(url,{parameters:ser,onComplete:updateFilterForm});
	
}

function updateInventory() {
	
	url = '/content/en/inventory/ajax.inventory.php?ajax_request=true';
	ser = $("SearchForm").serialize();
	
	new Ajax.Request(url,{parameters:ser,onComplete:updateInventoryTable});
	
}

function updateInventoryTable(res) {
	html = res.responseText;
	html.evalScripts();
	$("Inventory").innerHTML = res.responseText;
	new Effect.Opacity('Inventory', {duration:0, from:0.25, to:1,queue:'start'});
	new Effect.Highlight('InventoryTotal',{queue:'end'});
}

function debug(res) {
	$("debug").value = (res.responseText);
}

function updateFilterForm(res) {
	
	eval(res.responseText);
	
	if (loadInventory) {
		updateInventory();
	}
	
	loadInventory = true;	
	Effect.Fade('busy',{duration:0.5,queue:'end'});
}

function showInventoryCategoryMenu(id,e) {
	
	selects = document.getElementsByTagName("SELECT");
	
	
	for (i=0;i<selects.length;i++) {
		
		if (Element.hide) {
			Element.hide(selects[i]);
		} else {
			selects[i].style.display = "none";			
		}
		
	}	
	
	if (lastMenuOpen) {
		
		if (Element.hide) {
			Element.hide(lastMenuOpen);
		} else {
			lastMenuOpen.style.display = "none";			
		}		
		
	}
	
	
	menu = $("InventoryCategoryMenu" + id);
	
	if (Element.show) {
		Element.show(menu);
	} else {
		menu.style.display = "block";			
	}		
	
	
	
	m = getMouse(e);
	
	if(id == 1021){
	offSet = 149;	
	}
	if(id == 1001){
	offSet = 180;	
	}
	if(id == 1044){
	offSet = 211;	
	}
	if(id == 1059){
	offSet = 242;	
	}

url = window.location.href;
url = url.split("/");
	if(url[3] != ''){
	offSet = offSet + 31;	
	}

	menu.style.left = '200px';
	menu.style.top = offSet + 'px';		
	
	lastMenuOpen = menu;
}

function timeoutMenu(categoryId) {
	
	
	if (Element.hide) {
		hide = window.setTimeout("Element.hide('InventoryCategoryMenu"+categoryId+"');showSelects();",1500);
	} else {
		hide = window.setTimeout("$('InventoryCategoryMenu"+categoryId+"').setStyle('display','none');showSelects();",1500);		
	}
	
	
}

function hideMenu(obj,ev) {
	if (checkMouseLeave(obj,ev)) {
		showSelects();
		if (Element.hide) {
			Element.hide(obj);
		} else {
			obj.style.display = "none";			
		}	
	}
}

function showSelects() {
	
	selects = document.getElementsByTagName("SELECT");
	for (i=0;i<selects.length;i++) {
		if (Element.show) {
			Element.show(selects[i]);
		} else {
			selects[i].style.display = "block";			
		}
	}
		
}


function highlightRow(obj) {
	
	if (obj.className == "RowHighlighted") {
		obj.className = "";	
	} else {
		obj.className = "RowHighlighted";	
	}


}

function cancelTimer() {
	window.clearTimeout(hide);
}

function getMouse(e) {
	
	if (Event.pointerX) {
		x = Event.pointerX(e);
		y = Event.pointerY(e);	
	} else{
		e = new Event(e);
		x = e.client.x;
		y = e.client.y;		
	}
	
	m = new Object();
	m.x = x;
	m.y = y;
	
	return m;
	
}

var hide = null;
var lastMenuOpen = null;

function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))
      break;
    containee = containee.parentNode;
  }
  while (containee != null);
  return isParent;
}

function checkMouseEnter (element, evt) {
  if (element.contains && evt.fromElement) {
    return !element.contains(evt.fromElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function checkMouseLeave (element, evt) {
  if (element.contains && evt.toElement) {
    return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}	

function openTab(group){
	document.getElementById("flight_Form").style.display = "none";
	document.getElementById("hotel_Form").style.display = "none";
	document.getElementById("car_Form").style.display = "none";
	document.getElementById("car_Tab").className = "tabMenu";
	document.getElementById("hotel_Tab").className = "tabMenu";
	document.getElementById("flight_Tab").className = "tabMenu";

var curForm = document.getElementById(group + "_Form");
	var curTab = document.getElementById(group + "_Tab");

		curForm.style.display = "";
		curTab.className = "tabMenu_Selected";

}
