function AttachEvent(elementObj, eventName, eventHandlerFunctionName)

{

  if (elementObj.addEventListener)

  { // Non-IE browsers

    elementObj.addEventListener(eventName, eventHandlerFunctionName, false);

  }

  else if (elementObj.attachEvent)

  { // IE 6+

    elementObj.attachEvent('on' + eventName, eventHandlerFunctionName);

  }

  else

  { // Older browsers

    var currentEventHandler = elementObj['on' + eventName];

    if (currentEventHandler == null)

    {

      elementObj['on' + eventName] = eventHandlerFunctionName;

    }

    else

    {

      elementObj['on' + eventName] = function(e) { currentEventHandler(e); eventHandlerFunctionName(e); }

    }

  }

}
function getObj(eventArgs){

 	var obj;



	if (eventArgs.target) {

		obj = eventArgs.target;

	} else if (eventArgs.srcElement) {

		obj = eventArgs.srcElement;

	}

	/* For most browsers, obj would now be the object we're after; Safari however

		returns a text node so we need to check the node type to make sure */

	if (obj.nodeType == 3) {

	    obj = obj.parentNode;

	}



 	return obj;

}

function clearValue(el) {
   if(el.value=="Enter Keyword"){
   	el.value="";
   }
};

function resetValue(el){
	if(el.value==""){
		el.value="Enter Keyword";
	}
};

function dropDownCategory(element){
	var spanValue;
	var node;
	var ocurrence = navigator.userAgent.indexOf('Macintosh');
	if(ocurrence!=-1){
		node = element.childNodes[0].nodeValue;
		spanValue = document.getElementById('categoryBrand').firstChild.firstChild.firstChild.nodeValue;
	}else{
		if (navigator.appName=="Microsoft Internet Explorer"){
			node = element.childNodes[0].nodeValue;
			spanValue = document.getElementById('categoryBrand').firstChild.firstChild.firstChild.nodeValue;
		}else{
			node = element.textContent;
			spanValue = element.parentNode.parentNode.parentNode.parentNode.childNodes[0].childNodes[0].textContent;
		}
	}
	if(ocurrence!=-1){	
		if(spanValue == "All Styles"){
			document.getElementById('categoryContent').childNodes[1].childNodes[1].style.display = "block";
		}
		if(spanValue == "Contemporary"){
			document.getElementById('categoryContent').childNodes[1].childNodes[3].style.display = "block";
		}
		if(spanValue == "Traditional"){
			document.getElementById('categoryContent').childNodes[1].childNodes[5].style.display = "block";
		}
		if(spanValue == "Transitional"){
			document.getElementById('categoryContent').childNodes[1].childNodes[7].style.display = "block";
		}
		element.parentNode.style.display="none";
		document.getElementById('categoryBrand').firstChild.firstChild.firstChild.nodeValue = element.childNodes[0].nodeValue;
	}else{
		if (navigator.appName=="Microsoft Internet Explorer"){
			if(spanValue == "All Styles"){
				document.getElementById('categoryContent').childNodes[0].childNodes[0].style.display = "block";
			}
			if(spanValue == "Contemporary"){
				document.getElementById('categoryContent').childNodes[0].childNodes[1].style.display = "block";
			}
			if(spanValue == "Traditional"){
				document.getElementById('categoryContent').childNodes[0].childNodes[2].style.display = "block";
			}
			if(spanValue == "Transitional"){
				document.getElementById('categoryContent').childNodes[0].childNodes[3].style.display = "block";
			}			
			element.parentNode.style.display="none";
			document.getElementById('categoryBrand').firstChild.firstChild.firstChild.nodeValue = element.childNodes[0].nodeValue;
		}else{
			switch(spanValue){
					case "All Styles":
						element.parentNode.parentNode.childNodes[1].style.display="block";
						break;
					case "Contemporary":
						element.parentNode.parentNode.childNodes[3].style.display="block";
						break;
					case "Traditional":
						element.parentNode.parentNode.childNodes[5].style.display="block";
						break;
					case "Transitional":
						element.parentNode.parentNode.childNodes[7].style.display="block";
						break;
						
			}
				element.parentNode.style.display="none";
				element.parentNode.parentNode.parentNode.parentNode.childNodes[0].childNodes[0].textContent= element.textContent;
		}
	}
	
	if(node =="All Styles"){
		document.searchjobs.level.value = "All"
	}else{
		if(node =="Contemporary"){
			document.searchjobs.level.value = "Contemporary"
		}else{
			if(node =="Traditional"){
				document.searchjobs.level.value = "Traditional"
			}else{
				document.searchjobs.level.value = "Transitional"
		}
	}
	}
	filterStyle(document.searchjobs.level.value)
};


function checkDropDownCategory(e){
	
	var clickedElement;

	clickedElement =getObj(e);

	var wasClicked=false;
	while((clickedElement.parentNode) && (!wasClicked) && (clickedElement) && (clickedElement.type != "application/x-shockwave-flash")){
		if(clickedElement.parentNode.id=="categoryBrand"){
			wasClicked = true;
		}else{
			clickedElement=clickedElement.parentNode;
		}
	}
	if(!wasClicked){
		if(document.getElementById('categoryBrand').className == "active"){
			document.getElementById('categoryBrand').className = "";
		}	
	}
};


function dropDownSort(element){
	var spanValue;
	var node;
	var ocurrence = navigator.userAgent.indexOf('Macintosh');
	if(ocurrence!=-1){
		node = element.childNodes[0].nodeValue;
		spanValue = document.getElementById('sortSelect').firstChild.firstChild.firstChild.nodeValue;
	}else{
		if (navigator.appName=="Microsoft Internet Explorer"){
			node = element.childNodes[0].nodeValue;
			spanValue = document.getElementById('sortSelect').firstChild.firstChild.firstChild.nodeValue;
		}else{
			node = element.textContent;
			spanValue = element.parentNode.parentNode.parentNode.parentNode.childNodes[0].childNodes[0].textContent;
		}
	}
	if(ocurrence!=-1){	
		if(spanValue == "Name: A-Z"){
			document.getElementById('sortChoices').childNodes[1].childNodes[1].style.display = "block";
		}
		if(spanValue == "Name: Z-A"){
			document.getElementById('sortChoices').childNodes[1].childNodes[3].style.display = "block";
		}
		if(spanValue == "Price: Highest to Lowest"){
			document.getElementById('sortChoices').childNodes[1].childNodes[5].style.display = "block";
		}
		if(spanValue == "Price: Lowest to Highest"){
			document.getElementById('sortChoices').childNodes[1].childNodes[7].style.display = "block";
		}
		element.parentNode.style.display="none";
		document.getElementById('sortSelect').firstChild.firstChild.firstChild.nodeValue = element.childNodes[0].nodeValue;
	}else{
		if (navigator.appName=="Microsoft Internet Explorer"){
			if(spanValue == "Name: A-Z"){
				document.getElementById('sortChoices').childNodes[0].childNodes[0].style.display = "block";
			}
			if(spanValue == "Name: Z-A"){
				document.getElementById('sortChoices').childNodes[0].childNodes[1].style.display = "block";
			}
			if(spanValue == "Price: Highest to Lowest"){
				document.getElementById('sortChoices').childNodes[0].childNodes[2].style.display = "block";
			}
			if(spanValue == "Price: Lowest to Highest"){
				document.getElementById('sortChoices').childNodes[0].childNodes[3].style.display = "block";
			}
			element.parentNode.style.display="none";
			document.getElementById('sortSelect').firstChild.firstChild.firstChild.nodeValue = element.childNodes[0].nodeValue;
		}else{
			switch(spanValue){
					case "Name: A-Z":
						element.parentNode.parentNode.childNodes[1].style.display="block";
						break;
					case "Name: Z-A":
						element.parentNode.parentNode.childNodes[3].style.display="block";
						break;
					case "Price: Highest to Lowest":
						element.parentNode.parentNode.childNodes[5].style.display="block";
						break;
					case "Price: Lowest to Highest":
						element.parentNode.parentNode.childNodes[7].style.display="block";
						break;
			}
				element.parentNode.style.display="none";
				element.parentNode.parentNode.parentNode.parentNode.childNodes[0].childNodes[0].textContent= element.textContent;
		}
	}
	
	if(node =="Name: A-Z"){
		document.sortform.level.value = "name"
		document.sortform.level2.value = "ascending"
	}else{
		if(node =="Name: Z-A"){
			document.sortform.level.value = "name"
			document.sortform.level2.value = "descending"
		}else{
			if(node =="Price: Highest to Lowest"){
				document.sortform.level.value = "price"
				document.sortform.level2.value = "descending"
			}else{
				document.sortform.level.value = "price"
				document.sortform.level2.value = "ascending"
		}
	}
	}	sortIt(document.sortform.level.value, document.sortform.level2.value)
};

function checkDropDownSort(e){
	
	var clickedElement;

	clickedElement =getObj(e);

	var wasClicked=false;
	while((clickedElement.parentNode) && (!wasClicked) && (clickedElement) && (clickedElement.type != "application/x-shockwave-flash")){
		if(clickedElement.parentNode.id=="sortSelect"){
			wasClicked = true;
		}else{
			clickedElement=clickedElement.parentNode;
		}
	}
	if(!wasClicked){
		if(document.getElementById('sortSelect').className == "active"){
			document.getElementById('sortSelect').className = "";
		}	
	}
};


function initializeDropFunctions(){
	if (navigator.appName=="Microsoft Internet Explorer"){
		var bodyElement = document.body;
		document.attachEvent("onclick", checkDropDownCategory);
		document.attachEvent("onclick", checkDropDownSort);
	}else{
		AttachEvent(window, "click", checkDropDownCategory);
		AttachEvent(window, "click", checkDropDownSort);
	}
};


function initializeVariables(){
	document.searchjobs.level.value = "";
	document.sortform.level.value = ""
};

AttachEvent(window, "load", initializeVariables);
AttachEvent(window, "load", initializeDropFunctions);
