$(document).ready(function() { 
				
	bindSearchEvent();
	bindDropdownClickEvent();
	bindSearchClickEvent();
	bindDocClick();
	
	//Used Inventory Search Drop-down Menu
	
	$('div#vehicle_search form select').click(function() {
		$('ul#child3').addClass("showAlways");
		$('ul#child3 #closeSearchIE').addClass("showIE");
	});
	$('ul#child3 #closeSearchIE').click(function() {
		$('ul#child3').removeClass("showAlways");
		$('ul#child3 #closeSearchIE').removeClass("showIE");
		$('ul#child3').hide();
	});
	$('ul#topMenu li #nav3').mouseover(function() {
		$('ul#child3').attr("style"," ");
	});
	
	$('ul#topMenu li').children('a').hover(function() {
		$('ul#child3').removeClass("showAlways");
	});
}); 

// Application Buttons //
var ISOCODE;
//Service & Body Shop
var imgOnAppointment = new Image(253,48);
imgOnAppointment.src = '/images/image.php?file=buttons/ENG/appointment2.gif';
var imgOffAppointment = new Image(253,48);
imgOffAppointment.src = '/images/image.php?file=buttons/ENG/appointment1.gif';

// MORE INFO BUTTON
var imgOnInfo = new Image(253,48);
imgOnInfo.src = '/images/image.php?file=buttons/ENG/more_info2.gif';
var imgOffInfo = new Image(253,48);
imgOffInfo.src = '/images/image.php?file=buttons/ENG/more_info1.gif';

//Parts
var imgOnPartsRequest = new Image(253,48);
imgOnPartsRequest.src = '/images/image.php?file=buttons/ENG/parts_request2.gif';
var imgOffPartsRequest = new Image(253,48);
imgOffPartsRequest.src = '/images/image.php?file=buttons/ENG/parts_request1.gif';

//Finance
var imgOnCreditApp = new Image(253,48);
imgOnCreditApp.src = '/images/image.php?file=buttons/ENG/credit_app2.gif';
var imgOffCreditApp = new Image(253,48);
imgOffCreditApp.src = '/images/image.php?file=buttons/ENG/credit_app1.gif';

//Search Dropdown Click Event
function bindSearchEvent()
{
  $('#searchContainer .searchField').click(function(){
    if($(this).next().hasClass('dd')) {
      hideDD();
    } else {
      hideDD();
      $(this).next().addClass('dd').show();
    }
  });
}

sfHover = function() {
	var timeout = 500;
	var cssClass = "sfhover";

	var queue = [];
	var reCSS = new RegExp("\\b" + cssClass + "\\b");
	var sfEls = document.getElementById("topMenu").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {

		// mouseover and mouseout handlers for regular mouse based interface.
		sfEls[i].onmouseover = function() {
			queueFlush();
			this.className += " " + cssClass;
		}
		sfEls[i].onmouseout = function() {
			queue.push([setTimeout(queueTimeout, timeout), this]);
		}

		// focus and blur handlers for keyboard based navigation.
		sfEls[i].onfocus = function() {
			queueFlush();
			this.className += " " + cssClass;
		}
		sfEls[i].onblur = function() {
			queue.push([setTimeout(queueTimeout, timeout), this]);
		}

		// click event handler needed for tablet type interfaces (e.g. Apple iPhone).
		sfEls[i].onclick = function(e) {
			if (this.className.search(reCSS) == -1) {
				// CSS not set, so clear all sibling (and decendants) menus, and then set CSS on this menu...
				var elems = this.parentNode.getElementsByTagName("li");
				for (var i=0; i<elems.length; i++) {
					elems[i].className = elems[i].className.replace(reCSS, "");
				}
				this.className += " " + cssClass;
			} else {
				// CSS already set, so clear all decendant menus and then this menu...
				var elems = this.getElementsByTagName("li");
				for (var i=0; i<elems.length; i++) {
					elems[i].className = elems[i].className.replace(reCSS, "");
				}
				this.className = this.className.replace(reCSS, "");
			}
			if (e && e.stopPropagation)
				e.stopPropagation();
			else
				window.event.cancelBubble = true;
		}
	}

	queueFlush = function () {
		while (queue.length) {
			clearTimeout(queue[0][0]);
			queueTimeout();
		}
	}

	queueTimeout = function() {
		if (queue.length) {
			var el = queue.shift()[1];
			el.className = el.className.replace(reCSS, "");
		}
	}
}
//if (window.attachEvent) window.attachEvent("onload", sfHover);

function init() {//function call required as part of body onload event when google map used on a page
		sfHover();
		loadGoogleMap();
	}
addLoadEvent(sfHover);
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

//Search Dropdown Item Click Event
function bindDropdownClickEvent()
{
  $('#searchContainer .searchDropdown li').click(function() {
    $(this).parent().parent().prev().html($(this).html());
    $(this).parent().parent().prev().attr('value', $(this).attr('value'));
    var dropdown = $(this).parent().parent().attr('id');
    if(dropdown == "makeDropdown") {
      $('#modelDropdown  li:first').click();
      $('#bodytypeDropdown  li:first').click();
    }
    hideDD();
    $(this).unbind('click');
    SetToSearchModel();
  });
}

//Document click event to hide open search dropdowns
function bindDocClick()
{
  $(document).click(function(e)
  {
    var matched = false;
    if($(e.target).hasClass('searchField') == true)
      matched = true;

    if(matched == false)
      hideDD();
  });
}

//Search Button Click Event
function bindSearchClickEvent()
{
  $('#searchContainer .submit_button').click(function() {
    var searchMake = validateSearch($('#usedMake').attr('value'));
    var searchModel = validateSearch($('#usedModel').attr('value'));
    var searchBody = validateSearch($('#usedBodytype').attr('value'));
    var searchYear = validateSearch($('#usedYear').attr('value'));

    window.location='/used.php?s2=1&s0=0&search.make='+searchMake+'&search.model='+searchModel+'&search.body='+searchBody+'&search.year_start='+searchYear+'&search.year_end='+searchYear;
  });
}

function validateSearch(val)
{
  if(val <= 0)
    return '';
  else
    return val;
}

function hideDD()
{
  $('#searchContainer .dd').hide().removeClass('dd');
}

function showStatus(sMsg) {//used often
	//setTimeout("window.status = \'" + sMsg + "\';", 0);
    window.status = sMsg ;
    return true ;
}
function openWindow(url,width,height){
	newWin = window.open(url, 'viewWin', 'toolbar=0,location=0,status=0,menubar=0,scrollbars=1,resizable=1,left='+(screen.width-width)/2+',top='+(screen.height-height)/2+',width=' + width + ',height=' + height + '');
}		

function changeImg(imgName,imgPre) {
	if(document.images){
		document.images[imgName].src = eval(imgPre + '.src');
	}
}

function changeStyle(obj, new_style) {
    obj.className = new_style;
}
function expandableContent(callObj, obj, expandedStyle, collapsedStyle) {//used for collapsable content only (include only when necessary)
		var element = document.getElementById(obj);
		
		if	(callObj.className == 'expanded')
		{
			element.className = expandedStyle;
			callObj.className = 'collapsed';
			callObj.innerHTML = 'More...';
		}
		else
		{
			element.className = collapsedStyle;
			callObj.className = 'expanded';
			callObj.innerHTML = 'Less...';
		}
			
}
