document.write('<link rel="stylesheet" href="css/knxa-widget-global.css" type="text/css" />');
document.write('<scr' + 'ipt language="JavaScript" src="lib/jquery-1.3.2.min.js"></scr' + 'ipt>');

var content_path = 'content/';

var knxa_widget = {
  labels: {},
  lang: "default",
  jobs: [],
  job_index: 0
};

window.onload = init;

function init() {
  load_widget_data();
}

function load_jobs_data() {
  var data_loaded = false;
  $.ajax({
    beforeSend: function(XMLHttpRequest) { },
    complete: function(XMLHttpRequest, textStatus) {
      if(data_loaded) {
	  activate();
      }
    },
    dataType: "xml",
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      // alert(textStatus + ' ' + errorThrown);
      load_jobs_data();
    },
    success: function(data, textStatus) {
      knxa_widget.jobs = new Array();
      $('ResultSet Jobs Job', data).each(function(i) {
        knxa_widget.jobs.push({title: $('Question:first', this).text(), link: $('JobDetailLink', this).text()});
      });
      data_loaded = true;
    },
    type: "GET",
    url: "content/jobdata_by_date.php"
  });
}

function load_widget_data() {
  var data_loaded = false; 
  var content_file_url = content_path + knxa_widget.lang + '.xml';
  $.ajax({
    beforeSend: function(XMLHttpRequest) {
      $("#knxa-widget-spotlight").html("Loading...");
    },
    complete: function(XMLHttpRequest, textStatus) {
      if(data_loaded) {
	$("#knxa-widget-spotlight").html(build_mini_widget_html());
	load_jobs_data();
      }
    },
    dataType: "xml",
    error: function(XMLHttpRequest, textStatus, errorThrown) {
      // alert(textStatus + ' ' + errorThrown);
      load_widget_data();
    },
    success: function(data, textStatus) {
      knxa_widget.labels.spotlight = { 
	  header: $('labels spotlight header', data).text(),
	  copy: $('labels spotlight content', data).text(),
	  image: $('labels spotlight src', data).text(),
	  btn: $('labels spotlight btn', data).text()
      };
      data_loaded = true;
    },
    type: "GET",
    url: content_file_url
  });
}

function build_mini_widget_html() {
  return '<div class="knxa-mini-main"><div class="knxa-mini-hdr">' + knxa_widget.labels.spotlight.header + '</div><div class="content-image" style="background: transparent url(' + content_path + knxa_widget.labels.spotlight.image + ') top center no-repeat;"></div><div class="content"><div class="pager"></div><h3>Loading...</h3>' + knxa_widget.labels.spotlight.copy + '<a class="spotlight-apply" href="" title="' + knxa_widget.labels.spotlight.btn + '" target="_blank"><div class="knxa-resume-btn"><div><div class="knxa-btn-cnt">' + knxa_widget.labels.spotlight.btn + '</div></div></div></a></div><div class="border-hack"></div></div>';
}

function update_mini_content() {
    var content_html = '<a href="' + knxa_widget.jobs[knxa_widget.job_index].link + '" title="' + knxa_widget.jobs[knxa_widget.job_index].title + '" target="_blank">' + knxa_widget.jobs[knxa_widget.job_index].title + '</a>';
    $('#knxa-widget-spotlight .knxa-mini-main .content h3').html(content_html).fadeIn("slow", function() { });
    $('#knxa-widget-spotlight .knxa-mini-main .content a.spotlight-apply').attr('href', knxa_widget.jobs[knxa_widget.job_index].link);
}

function set_index_and_update(element, index) {
    $('#knxa-widget-spotlight .pager a.selected').removeClass('selected');
    $(element).addClass('selected');
    knxa_widget.job_index = index;
    update_mini_content();
}

function activate() {
    var pager_html = "";
    if(knxa_widget.jobs.length > 1) {
      for(var i = 0; i < knxa_widget.jobs.length; i++) {
	  if(i < 5) {
	    pager_html += '&nbsp;&nbsp;<a href="javascript:void(0)" onclick="javascript:set_index_and_update(this, ' + i + ')" title="' + (i + 1) + '">' + (i + 1) + '</a>';
	  }
      }
      $('#knxa-widget-spotlight .knxa-mini-main .content .pager').html(pager_html).fadeIn("slow", function() { });
    }
    set_index_and_update($('#knxa-widget-spotlight .pager a:first'), 0);
}