var sponsorResultsWide = [];
var sponsorResultsNarrow = [];

function google_afs_request_done(google_ads)
{
  jQuery.map(google_ads, function(n, i){
    if ( n.type == "text/wide" ) {
      sponsorResultsWide.push(n);
    } else {
      sponsorResultsNarrow.push(n);
    }
  });
}

function google_ad_request_done(google_ads) {
  sponsorResultsWide = google_ads;
  sponsorResultsNarrow = google_ads;
}


function show_adsense_results(type, layout, dom_id, skip, position) {
  // Verify that there are actually ads to display.
  if((sponsorResultsWide.length <= 0) || (sponsorResultsNarrow.length <= 0)) {

    
    if(position == 'top') {
      jQuery.ajax({complete:function(request){analyticsTrackPageviewForElements('a[rel="advertising"]', '/partner/sponsor')}, data:'authenticity_token=' + encodeURIComponent('8HZ/A8SYzuqeQqefQ46dmBJUGMiEBxM5OpRrPQBac5s='), error:function(request){$('sponsors_top').hide()}, success:function(request){jQuery('#sponsors_top_content').html(request);}, type:'get', url:'/sponsors/overture?dom=%23sponsors_top&amp;keyword=velos&amp;max_count=4&amp;start=0'})
    } else if(position == 'bottom') {
      jQuery.ajax({complete:function(request){analyticsTrackPageviewForElements('a[rel="advertising"]', '/partner/sponsor')}, data:'authenticity_token=' + encodeURIComponent('8HZ/A8SYzuqeQqefQ46dmBJUGMiEBxM5OpRrPQBac5s='), error:function(request){$('sponsors_bottom').hide()}, success:function(request){jQuery('#sponsors_bottom_content').html(request);}, type:'get', url:'/sponsors/overture?dom=%23sponsors_bottom&amp;keyword=velos&amp;max_count=4&amp;start=5'})
    }
    

  } else {

    // Show the content DOM element only with results
    $(dom_id).show();

    var resultsOutput = '';
    switch(type) {
      case "afs": {
        resultsOutput += '<a class="adsense_credit" href="http://services.google.com/feedback/online_hws_feedback">Ads by Google</a>';
        break;
      }
      case "afc": {
        if (sponsorResultsWide[0].type == "flash") {
          resultsOutput = writeAfcFlash(sponsorResultsWide[0]);
          dom_id.html(resultsOutput);
          return true;
        } else if (sponsorResultsWide[0].type == "image") {
          resultsOutput = writeAfcImage(sponsorResultsWide[0]);
          dom_id.html(resultsOutput);
          return true;
        } else if (sponsorResultsWide[0].type == "html") {
          resultsOutput = writeAfcHtml(sponsorResultsWide[0]);
          dom_id.html(resultsOutput);
          return true;
        } else {
          resultsOutput += '<a class="adsense_credit" href="' + google_info.feedback_url +'">Ads by Google</a>';
          break;
        }
      }
    }

    resultsOutput += '<ul>';

    switch(layout) {

      case "wide-tworows": {
        if(sponsorResultsWide.length == 0) { return false }

        for (var i = skip; i < ( skip + 4 ); i++) {
          if (sponsorResultsWide[i]) resultsOutput += writeTwoRowsResult(sponsorResultsWide[i]);
        }
        break;
      }

      case "wide-threerows": {
        if(sponsorResultsWide.length == 0) { return false }

        for (var i = skip; i < ( skip + 4 ); i++) {
          if (sponsorResultsWide[i]) resultsOutput += writeThreeRowsResult(sponsorResultsWide[i]);
        }
        break;
      }

      case "narrow": {
        if(sponsorResultsNarrow.length == 0) { return false }

        for (var i = skip; i < ( skip + 4 ); i++) {
          if (sponsorResultsNarrow[i]) resultsOutput += writeFourRowsResult(sponsorResultsNarrow[i]);
        }
        break;
      }

    }

    resultsOutput += "</ul>";

    // Write HTML for wide and narrow ads to the proper <div> elements
    dom_id.html(resultsOutput);
  }
}

function writeTwoRowsResult(result) {
  var resultOutput = '' +
    '<li>' +
      '<div class="premium_title"><a onclick="javascript:doGoal(\'' + result.n + '\');" href="' + result.url + '" target="_blank">' + result.line1 + '</a></div>' +
      '<a onclick="javascript:doGoal(\'' + result.n + '\');" href="' + result.url + ' target="_blank" class="premium_url">' + result.visible_url + '</a>' +
      '<span class="premium_description">' + adsenseDescription(result) + '</span>' +
    '</li>';
  return resultOutput;
}

function writeThreeRowsResult(result) {
  var resultOutput = '' +
    '<li>' +
      '<div class="premium_title"><a onclick="javascript:doGoal(\'' + result.n + '\');" target="_blank" href="' + result.url + '">' + result.line1 + '</a></div>' +
      '<span class="premium_description">' + adsenseDescription(result) + '</span>' +
      '<div>' +
        '<a class="premium_url" onclick="javascript:doGoal(\'' + result.n + '\');" target="_blank" href="' + result.url + '">' + result.visible_url + '</a>' +
      '</div>' +
    '</li>';
  return resultOutput;
}

function writeFourRowsResult(result) {
  var resultOutput = '' +
    '<li>' +
      '<div class="premium_title"><a onclick="javascript:doGoal(\'' + result.n + '\');" href="' + result.url + '" target="_blank">' + result.line1 + '</a></div>' +
      '<div class="premium_description">' + result.line2 + '<br />' + result.line3 + '</div>' +
      '<a onclick="javascript:doGoal(\'' + result.n + '\');" href="' + result.url + ' target="_blank" class="premium_url">' + result.visible_url + '</a>' +
    '</li>';
  return resultOutput
}

function writeAfcFlash(result) {
  var resultOutput = "";

  resultOutput += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' +
    ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="' +
    result.image_width + '" HEIGHT="' +
    result.image_height + '"> <PARAM NAME="movie" VALUE="' +
    result.image_url + '">' +
    '<PARAM NAME="quality" VALUE="high">' +
    '<PARAM NAME="AllowScriptAccess" VALUE="never">' +
    '<EMBED src="' +
    result.image_url + '" WIDTH="' +
    result.image_width + '" HEIGHT="' +
    result.image_height +
    '" TYPE="application/x-shockwave-flash"' +
    ' AllowScriptAccess="never" ' +
    ' PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT>';

  return resultOutput;
}

function writeAfcImage(result) {
  var resultOutput = "";
  resultOutput += '<a href="' +
    result.url + '" target="_top" title="go to ' +
    result.visible_url + '" onmouseout="window.status=\'\'" onmouseover="window.status=\'go to ' +
    result.visible_url + '\';return true"><img border="0" src="' +
    result.image_url + '"width="' +
    result.image_width + '"height="' +
    result.image_height + '"></a>';

  return resultOutput;
}

function writeAfcHtml(result) {
  return result.snippet
}
        
function adsenseDescription(result) {
  var description = '';

  if(result.line3) {
    description = result.line2 + ' ' + result.line3;
  } else {
    description = result.line2;
  }

  return description;
}