
function addZipElement(zip,city,clearance) {
	  var ni = document.getElementById('myZipDiv');
	  var numi = document.getElementById('theZipValue');
	  var num = (document.getElementById('theZipValue').value -1)+ 2;
	  numi.value = num;
	  var newdiv = document.createElement('div');
	  var divIdName = 'my'+num+'ZipDiv';
	  newdiv.setAttribute('id',divIdName);
	  if ( clearance == '10'){
		  if ( zip != null ){
	  		newdiv.innerHTML = '<input type=text readonly=1 name=zip_'+num+' value=\''+zip+'\'>'+
	  					'<input type=text readonly=1 name=city_'+num+' value=\''+city+'\'>'+
	  					'<a href=\'javascript://\' onclick=\'removeZipElement(\"'+divIdName+'\")\'>Remove</a>';
	 	  } else {
	 		newdiv.innerHTML = '<input type=text name=zipcoder autocomplete=off id=zipcoder value=\'\' onkeyup=\'searchSuggestZip()\'>'+
	  					'<input type=text readonly=1 id=citycoder name=citycoder value=\'\'>'+
	  					'<a href=\'javascript://\' onclick=\'addZipElement(document.getElementById(\"zipcoder\").value,document.getElementById(\"citycoder\").value, '+clearance+');removeZipElement(\"'+divIdName+'\")\'>submit</a>';
	 	  }
	  } else {
	  		newdiv.innerHTML = '<input type=hidden readonly=1 name=zip_'+num+' value=\''+zip+'\'>'+
	  					'<input type=hidden readonly=1 name=city_'+num+' value=\''+city+'\'>'+
	  					'<b>'+zip+'</b> &nbsp; | &nbsp; <b>'+city+'</b>';
	  	
	  }
	  ni.appendChild(newdiv);
	}
	function removeZipElement(divNum) {
	  var d = document.getElementById('myZipDiv');
	  var olddiv = document.getElementById(divNum);
	  d.removeChild(olddiv);
	}
	
	function addCatElement(category) {
	  var ni = document.getElementById('myCatDiv');
	  var numi = document.getElementById('theCatValue');
	  var num = (document.getElementById('theCatValue').value -1)+ 2;
	  numi.value = num;
	  var newdiv = document.createElement('div');
	  var divIdName = 'my'+num+'CatDiv';
	  newdiv.setAttribute('id',divIdName);
	  if ( category != null ){
	  newdiv.innerHTML = '<input type=text readonly=1 name=cat_'+num+' style=\"width:50%;\" value=\''+category+'\'>'+
	  					'<a href=\'javascript://\' onclick=\'removeCatElement(\"'+divIdName+'\")\'>Remove</a>';
	 } else {
	 newdiv.innerHTML = '<input type=text name=catcoder autocomplete=off  style=\"width:50%;\" id=catcoder value=\'\' onkeyup=\'searchSuggestCat2()\'>'+
	  					'<a href=\'javascript://\' onclick=\'addCatElement(document.getElementById(\"catcoder\").value);removeCatElement(\"'+divIdName+'\")\'>submit</a>';
	 }
	  ni.appendChild(newdiv);
	}
	function removeCatElement(divNum) {
	  var d = document.getElementById('myCatDiv');
	  var olddiv = document.getElementById(divNum);
	  d.removeChild(olddiv);
	}
	
	
	function addAffiliateElement(affiliate) {
	  var ni = document.getElementById('myAffilDiv');
	  var numi = document.getElementById('theAffilValue');
	  var num = (document.getElementById('theAffilValue').value -1)+ 2;
	  numi.value = num;
	  var newdiv = document.createElement('div');
	  var divIdName = 'my'+num+'AffilDiv';
	  newdiv.setAttribute('id',divIdName);
	  if ( affiliate != null ){
	  newdiv.innerHTML = '<input type=text readonly=1 name=affil_'+num+' style=\"width:50%;\" value=\''+affiliate+'\'>'+
	  					'<a href=\'javascript://\' onclick=\'removeAffiliateElement(\"'+divIdName+'\")\'>Remove</a>';
	 } else {
	 newdiv.innerHTML = '<input type=text name=affilcoder autocomplete=off  style=\"width:50%;\" id=affilcoder value=\'\' onkeyup=\'searchSuggestAffil()\'>'+
	  					'<a href=\'javascript://\' onclick=\'addAffiliateElement(document.getElementById(\"affilcoder\").value);removeAffiliateElement(\"'+divIdName+'\")\'>submit</a>';
	 }
	  ni.appendChild(newdiv);
	}
	function removeAffiliateElement(divNum) {
	  var d = document.getElementById('myAffilDiv');
	  var olddiv = document.getElementById(divNum);
	  d.removeChild(olddiv);
	}
	
// JavaScript Document
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		return new ActiveXObject("Microsoft.XMLHTTP");
	} else {
	}
}

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();

//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('txtSearch').value);
		searchReq.open("GET", '/searchSuggest.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest; 
		searchReq.send(null);
	}		
}
function searchSuggestLoc() {
	document.getElementById('valLocation').value='0';	
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('locSearch').value);
		searchReq.open("GET", '/searchSuggest.php?searchLoc=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest2; 
		searchReq.send(null);
	}		
}
function searchSuggestCat() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('parent').value);
		searchReq.open("GET", '/searchSuggest.php?cat=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest3; 
		searchReq.send(null);
	}		
}
function searchSuggestCat2() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('catcoder').value);
		searchReq.open("GET", '/searchSuggest.php?cat=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest5; 
		searchReq.send(null);
	}		
}
function searchSuggestZip() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('zipcoder').value);
		searchReq.open("GET", '/searchSuggest.php?zip=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest4; 
		searchReq.send(null);
	}		
}
function searchSuggestAffil() {
	if (searchReq.readyState == 4 || searchReq.readyState == 0) {
		var str = escape(document.getElementById('affilcoder').value);
		searchReq.open("GET", '/searchSuggest.php?affil=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest6; 
		searchReq.send(null);
	}		
}

function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}
function handleSearchSuggest2() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest2')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			strv = str[i].split("|");
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch2(this.innerHTML,\'' + strv[0] + '\');" ';
			suggest += 'class="suggest_link">' + strv[1] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

function handleSearchSuggest3() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch3(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}
function handleSearchSuggest4() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('zip_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			strv = str[i].split("|");
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch4(\'' + strv[0] + '\',\'' + strv[1] + '\');" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}
function handleSearchSuggest5() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('cat_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch5(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}
function handleSearchSuggest6() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('affil_suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			//Build our element string.  This is cleaner using the DOM, but
			//IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch6(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}
//Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}

//Click function
function setSearch(value) {
	document.getElementById('txtSearch').value = value.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
	document.getElementById('search_suggest').innerHTML = '';
}
//Click function
function setSearch2(value, id) {
	document.getElementById('valLocation').value = id;
	document.getElementById('locSearch').value = value.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
	document.getElementById('search_suggest2').innerHTML = '';
}

//Click function
function setSearch3(value) {
	document.getElementById('parent').value = value.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
	document.getElementById('search_suggest').innerHTML = '';
}

//Click function
function setSearch4(zip,city) {
	document.getElementById('zipcoder').value = zip;
	document.getElementById('citycoder').value = city.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
	document.getElementById('zip_suggest').innerHTML = '';
}

//Click function
function setSearch5(value) {
	document.getElementById('catcoder').value = value.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
	document.getElementById('cat_suggest').innerHTML = '';
}

//Click function
function setSearch6(value) {
	document.getElementById('affilcoder').value = value.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
	document.getElementById('affil_suggest').innerHTML = '';
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}


function validateSearch(){
	if (document.getElementById('valLocation').value == '0'){
		alert("Please select a location to search");
		document.getElementById('locSearch').focus();
		return false;
	}
	if ( document.getElementById('txtSearch').value.trim() == '' || document.getElementById('txtSearch').value.trim().length < 4 ){		
		alert("Please add more search criteria");
		document.getElementById('txtSearch').focus();
		return false;
	}
	return true;
}

var current_loc = '';
var old_loc = '-1';
function cat_loc_link(trigger, original, newloc){
	// alert("received data: "+trigger+","+original+","+newloc);
	if ( current_loc != newloc ){
		if (old_loc == '-1')
			old_loc = original;
		else
			old_loc = current_loc;
		current_loc = newloc;
		// alert("current_loc has been changed from '"+old_loc+"' to '"+current_loc+"'");
	}
	var oU1 = document.getElementById('mcatlist');
	for ( var i in oU1.childNodes ){
		var oU2 = oU1.childNodes[i];
		for ( var j in oU2.childNodes ) {
			if(oU2.childNodes[j].href != null ) { 
				old_href = oU2.childNodes[j].href;
				if ( old_href.lastIndexOf('/') == old_href.length - 1 ){
					old_href = old_href.substr(0,old_href.length-1);
				}
				old_href = old_href.substr(old_href.lastIndexOf('/'),old_href.length);
				if ( current_loc != '' ) {
					if ( old_loc == '' ){
						new_href = old_href.replace("/","/"+current_loc+"--");					
					} else {
						new_href = old_href.replace("/"+old_loc+"--","/"+current_loc+"--");
					}
				} else {
					new_href = old_href.replace("/"+old_loc+"--","/");
				}
				// alert("changing "+old_href+" to "+new_href+"");
				oU2.childNodes[j].href = new_href+"/";
		}
		}
	}
}