  function KudzuSearchResponse( ) { }
  
  function requestStylesheet(stylesheet_url) {
    stylesheet = document.createElement("link");
    stylesheet.rel = "stylesheet";
    stylesheet.type = "text/css";
    stylesheet.href = stylesheet_url;
    stylesheet.media = "all";
    document.lastChild.firstChild.appendChild(stylesheet);
  }

  function requestContent( url ) {
    var script = document.createElement('script');
    // How you'd pass the current URL into the request
    // script.src = CONTENT_URL + '&url=' + escape(local || location.href);

	var parameters="";
	if( kudzuZip != null ) {
		parameters += "?zip="+kudzuZip;	
	} else {
	  parameters+="?zip=30303";
	}
	
	// Change names
	if( kudzuCategory != null ) {
	   parameters += "&category=" + kudzuCategory;
	}
	if( kudzuNumResults != null ) {
		parameters += "&numResults=" + kudzuNumResults;
	}

	parameters += "&searchType=" + kudzuSearchType;

	if (typeof title != "undefined") {
		parameters += "&title=" + title;
  	}
  	
    script.src = url + parameters;

    document.getElementsByTagName('head')[0].appendChild(script);
  }

	function make_ad_field(value) {
		var field = document.createElement('div');
			
		field.appendChild(document.createTextNode(value));
			
		return field;
	}
		
	function create_ad_html(ad) {
		var ad_div = document.createElement('div');
		var ad_link = document.createElement('a');
	
		ad_link.setAttribute('href',ad.url);
		ad_link.appendChild(document.createTextNode(ad.companyName));
		ad_div.appendChild(ad_link);

		if( ad.address1 != 'null' ) {
			ad_div.appendChild(make_ad_field(ad.address1));
		}
		
		ad_div.appendChild(make_ad_field(ad.city + "," + ad.state + " " + ad.zip ));
	
		if( ad.rating > 0 ) {
			var img_tag = document.createElement('img');
			img_tag.setAttribute('src','http://images.kudzu.com/img/extScript/stars-' + ad.rating + '.gif' );

			var img_div = document.createElement('div');
			img_div.appendChild(img_tag);
			img_div.appendChild(make_ad_field(ad.totalRatings+" review"+((ad.totalRatings==1)?"":"s")));
				
			ad_div.appendChild(img_div);
		}
		
		return ad_div;
	}
	
	function remove_all_children(par) {
		while(par.hasChildNodes()) {
			par.removeChild(par.firstChild);
		}
	}

	function update_ad_div(target_div,data) {
		var main_link = document.getElementById('kudzu_ad_unit');
		
		var header_div = document.createElement( 'div' );
		header_div.setAttribute( 'id', 'kudzu_header' );
		if( data[0].title != 'null' ) {
			header_div.innerHTML = data[0].title;
		} else {
			header_div.innerHTML =data[0].categoryQuery;
		}
		main_link.appendChild( header_div );
			
		var ad_div = document.createElement('div');
		ad_div.setAttribute( 'id', 'kudzu_ad_target' );
		main_link.appendChild( ad_div );

		var ad_footer_div = document.createElement('div');
		ad_footer_div.setAttribute( 'id', 'kudzu_ad_footer_link' );
		var ad_footer_link = document.createElement('a');
		ad_footer_link.setAttribute( 'href', data[0].domainURL + '/controller.jsp?N=' + data[0].categoryID + "&Ns=P_PremiumPlacement" );
		ad_footer_link.innerHTML='ALL RESULTS FOR <br/>' + data[0].categoryQuery.toUpperCase();
		ad_footer_div.appendChild( ad_footer_link );
		main_link.appendChild( ad_footer_div );

		var footer_div = document.createElement('div');
		footer_div.setAttribute( 'id', 'kudzu_footer' );
		main_link.appendChild( footer_div );
		
		var ad_link = document.createElement('a');
		ad_link.setAttribute('href', 'http://www.kudzu.com' );

		ad_link.innerHTML='Powered by KUDZU.COM';

		footer_div.appendChild( ad_link );

		for(var i=0;i<data.length;i++) {
			ad_div.appendChild(create_ad_html(data[i]));
		}				
	}

	function initialize_kudzu_ads(data) {
		var target_div = document.getElementById("kudzu_ad_unit");
			
		if (target_div) {
			update_ad_div(target_div,data);
		}
	}

	KudzuSearchResponse.prototype.render = function(){
	 var BASE_URL = 'http://api.kudzu.com';
  	 var STYLESHEET = BASE_URL + "/css/remoteAds.css"
  	 var CONTENT_URL = BASE_URL + '/JSONSearchResults';
     var ROOT = 'search_results';
     
	  this.serverResponse = function(data) {
	    if (!data) return;
	    initialize_kudzu_ads(data);
	    
	    var div = document.getElementById(ROOT);
	    var txt = "";
	    for (var i = 0; i < data.length; i++) {
	      if (txt.length > 0) { txt += ", "; }
	      txt += data[i].companyID;
	      txt += data[i].companyName;
	    }	    
	  }
	
	  requestStylesheet(STYLESHEET);

	  requestContent(CONTENT_URL);
	  	  
	  var no_script = document.getElementById('no_script');
	  if (no_script) { no_script.style.display = 'none'; }
	}



