/**
 * Function: jbb_widget_list_jobposts - displays jobs as 
 *           <li class="{LI_CLASS}"><a href="{LINK_TO_JOB_DETAILS_PAGE}" target="jobs">{JOB_TITLE}</a><br>
 *           at <strong>{COMPANY_NAME}</strong> ({LOCATION_AS_CITY,_ST})</li>
 */
function jbb_widget_list_jobposts(data) {
  var li_class   = '';
  var list_count = -1;  
  var company_class = 'jbb_widget_company_class';
  var location_class = 'jbb_widget_location_class';
  var links_class = 'jbb_widget_link_class';
  var background_class = 'jbb_widget_background_class';
  var border_class = 'jbb_widget_border_class';
  var title_class = 'jbb_widget_title_class';
  var widget_title = 'Job Search';  
  
  var widget_border_color = 'FFFFFF';
  var widget_background_color = 'FFFFFF';
  var widget_links_color = '0A0FF5';
  var widget_company_color = '000000';
  var widget_location_color = '009200';
  var widget_width = 250;
  
  var domain   = '';
  var theme   = '';
  var demo_mode = false;
  var show_job_search = false;
  var show_post_link = true;
  var show_all_jobs = true;
  
  try { if (jbb_widget_border_color != undefined) { widget_border_color = jbb_widget_border_color; } }
  catch(e) { }
  
  try { if (jbb_widget_background_color != undefined) { widget_background_color = jbb_widget_background_color; } }
  catch(e) { }
  
  try { if (jbb_widget_links_color != undefined) { widget_links_color = jbb_widget_links_color; } }
  catch(e) { }
  
  try { if (jbb_widget_company_color != undefined) { widget_company_color = jbb_widget_company_color; } }
  catch(e) { }
  
  try { if (jbb_widget_location_color != undefined) { widget_location_color = jbb_widget_location_color; } }
  catch(e) { }
  
  try { if (jbb_widget_width != undefined) { widget_width = jbb_widget_width; } }
  catch(e) { }

  try { if (jbb_widget_domain != undefined) { domain = jbb_widget_domain; } }
  catch(e) { }

  try { if (jbb_widget_theme != undefined) { theme = jbb_widget_theme; } }
  catch(e) { }

  try { if (jbb_widget_demo_mode != undefined) { demo_mode = jbb_widget_demo_mode; } }
  catch(e) { }
  
  try { if (jbb_widget_search != undefined) { show_job_search = jbb_widget_search; } }
  catch(e) { }
  
  try { if (jbb_widget_show_post != undefined) { show_post_link = jbb_widget_show_post; } }
  catch(e) { }
  
  try { if (jbb_widget_show_all_jobs != undefined) { show_all_jobs = jbb_widget_show_all_jobs; } }
  catch(e) { }
  
  try { if (jbb_widget_title != undefined) { widget_title = jbb_widget_title; } }
  catch(e) { }
  
  var content = ''; 
  var style_url = domain + '/a/jbb/promote-widget-vertical-customizable-css/border-' + widget_border_color +'/background-' + widget_background_color + '/links-' + widget_links_color + '/company-' + widget_company_color + '/location-' + widget_location_color + '/width-' + widget_width;
  var widget_style ='<link rel="stylesheet" href="' + style_url + '" type="text/css" />';
  
  if(data==null) {
    content = 'No jobs to display';
  } else {
    var version  = data.version;
    var total_num_jobs = list_count;        
    if(version <= '0.9') {      
    
      content += '<div id="jbb_widget_body"><div id="jbb_widget_board_title"><a href="'+ data.link +'" class='+ links_class +'><strong>'+ widget_title + '</strong></a></div>' +
                 '<ul>';
      if(list_count < 0 || list_count > data.jobposts.length) { list_count = data.jobposts.length; }
      for (var i=0; i < list_count; i++) {
        var location = data.jobposts[i].location;
        var company  = data.jobposts[i].company;
        var title    = data.jobposts[i].title;
        var job_link = data.jobposts[i].link;

        var newline = '<br/>';
        if(location == '' && company == '') { newline = ''; }

        content += '<li class="' + li_class + '">'  
                 + '<a href="' + job_link + '" target="jobs">' 
                 + title + '</a>' + newline;
        if(location != '') { content += '<span class="' + location_class + '">' + location + '</span>'; }
        if(company != '') { content += ' <span class="' + company_class + '">- ' + company + '</span>'; }
        content += '</li>';
      }

      list_count = total_num_jobs - list_count;

      if(data.backfill_jobs==null){
      }else{
        if(list_count < 0 || list_count > data.backfill_jobs.length) { list_count = data.backfill_jobs.length; }

          for (var i=0; i < list_count; i++) {
            var location = data.backfill_jobs[i].location;
            var company  = data.backfill_jobs[i].company;
            var title    = data.backfill_jobs[i].title;
            var job_link = data.backfill_jobs[i].link;

            var newline = '<br/>';
            if(location == '' && company == '') { newline = ''; }
            content += '<li class="' + li_class + '">'
                 + '<a href="' + job_link + '" class="' + links_class + '" target="jobs"><span class="' + title_class +'">'
                 + title + '</span></a>' + newline;
            if(location != '') { content += '<span class="' + location_class + '">' + location + '</span>'; }
            if(company != '') { content += ' <span class="' + company_class + '">- ' + company + '</span>'; }
            
            content += '</li>';
          }
      }    
      content += '</ul>';  
      content += '</div>';
      
      if(show_all_jobs){
        content += '<div id="jbb_widget_all"><a href="'+data.link+'" class="'+links_class+'" target="jobs">See All Jobs</a></div>';
      }
      if(show_post_link && data.price > 0){    
        content +=  '<div id="jbb_widget_post_a_job">';
        content +='<a href="' + domain.replace(/https:\/\//g, 'http://') + '/a/jbb/post-job" target="jobs">';
        content +='Post a job for $' + data.price + '</a>'+ '</div>';
      }
      if(show_job_search){
        var form_method = data.domain_name.match('.jobamatic.com') ? 'POST' : 'GET';
        content += '<div><form id="f_widget_job_search" action="' +
                          'http://' + data.domain_name + '/a/jobs/search" method="' + form_method + '" onSubmit="if((this.f_search_keywords.value==\'\'||this.f_search_keywords.value==\'keywords\')&&(this.f_search_location.value==\'\'||this.f_search_location.value==\'location\')){window.location=\'' +
                          'http://' + data.domain_name + '\';return false;}if(this.f_search_keywords.value==\'keywords\')this.f_search_keywords.value=\'\';if(this.f_search_location.value==\'location\')this.f_search_location.value=\'\';return true">' +
                          '<input type="hidden" name="_action" value="find-jobs" />' +
                          '<input id="f_search_keywords" type="text" name="q" value="keywords" onFocus="this.value=\'\'"/>' +
                          '<input id="f_search_location" type="text" name="l" value="location" onFocus="this.value=\'\'"/>' +
                          '<input id="f_submit" type="submit" value="Go" />' +
                          '</form></div>';
      }
      
      
    } else {
      content = 'Error: Invalid Version - Please update your scripts';
    }
  }
  var jbb_widget_container = document.getElementById('jbb_widget_customizable');
  if (!demo_mode) {
    document.write(widget_style);
    //quatcast
    document.write('<img src="http://pixel.quantserve.com/pixel/p-32oLU8PZtWAwo.gif" style="display: none;" border="0" height="1" width="1" alt="Quantcast"/>');     
    //comscore
    document.write('<img src="http://b.scorecardresearch.com/b?c1=2&c2=6034750&c3=&c4=&c5=&c6=&c15=&cv=1.3&cj=1" style="display:none" width="0" height="0" alt="" />');
    
  }  
  else {    
    content += '<link rel="stylesheet" href="' + style_url + '" type="text/css" />';    
    for(var i = 0; i < jbb_widget_container.childNodes.length; i++){ //prevent loading multiple 
      if(jbb_widget_container.childNodes[i].id == 'jbb_widget_body'){
        return;
      }
    }
  }  
  jbb_widget_container.innerHTML = content + jbb_widget_container.innerHTML;
  return; 
}

