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>');
document.write('<scr' + 'ipt language="JavaScript" src="lib/jquery.scrollTo-min.js"></scr' + 'ipt>');

var content_path = 'content/';

var knxa_widget = {
    labels: {},
    lang: "default",
    jobs: []
};

window.onload = init;

function init() {
    load_widget_data();
}

function load_jobs_data() {
    var data_loaded = false;
    $.ajax({
	    beforeSend: function(XMLHttpRequest) {
		// do nothing
	    },
	    complete: function(XMLHttpRequest, textStatus) {
		if(data_loaded) {
		    update_mini_content();
		}
	    },
	    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.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-hotjobs").html("Loading...");
	    },
	    complete: function(XMLHttpRequest, textStatus) {
		if(data_loaded) {
		    $("#knxa-widget-hotjobs").html(build_mini_widget_html(knxa_widget.labels.hotjobs.header));
		    load_jobs_data();
		    activate();
		}
	    },
	    dataType: "xml",
	    error: function(XMLHttpRequest, textStatus, errorThrown) {
		//alert(textStatus + ' ' + errorThrown);
		load_widget_data();
	    },
	    success: function(data, textStatus) {
		knxa_widget.labels.hotjobs = { header: $('labels hotjobs header', data).text(), content: $('labels hotjobs content', data).text(), link: $('labels hotjobs link', data).text() };
		data_loaded = true;
	    },
	    type: "GET",
	    url: content_file_url
    });
}

function build_mini_widget_html(title) {
    return '<div class="knxa-mini-main"><div class="knxa-mini-hdr">' + build_mini_header_html(title) + '</div><div class="content"></div><div class="border-hack"></div></div>';
}

function build_mini_header_html(title) {
    return title;
}

function update_mini_content() {
    var content_html = "";
    content_html += '<ul>';
    for(var i = 0; i < knxa_widget.jobs.length; i++) {
	content_html += '<li><a href="' + knxa_widget.jobs[i].link + '" title="' + knxa_widget.jobs[i].title + '" target="_blank">' + knxa_widget.jobs[i].title + '</a></li>';
    }
    content_html += '</ul><div class="knxa-scroll"><a class="up" href="javascript:void(0);" title="Up"></a><a class="down" href="javascript:void(0);" title="Down"></a></div>';
    $('#knxa-widget-hotjobs .knxa-mini-main .content').html(content_html).fadeIn("slow", function() {
	    $('#knxa-widget-hotjobs .knxa-mini-main .down').mouseover(function() {
		    $('#knxa-widget-hotjobs ul').scrollTo("+=25px", 500, {
			    onAfter: function () { 
				$('#knxa-widget-hotjobs .knxa-mini-main .down').trigger("mouseover");
			    }
		    });
	    }).mouseout(function() {
		    $('#knxa-widget-hotjobs ul').stop();
	    });
	    $('#knxa-widget-hotjobs .knxa-mini-main .up').mouseover(function() {
		    $('#knxa-widget-hotjobs ul').scrollTo("-=25px", 500, {
			    onAfter: function() {
				$('#knxa-widget-hotjobs .knxa-mini-main .up').trigger("mouseover");
			    }
		    });
	     }).mouseout(function() {
		     $('#knxa-widget-hotjobs ul').stop();
	     });
    });
}

function activate() {
    update_mini_content();
}

function build_image_preloader() {
    var images = ['img/RussiaFlagOver.png', 
		  'img/RussiaFlagDown.png', 
		  'img/UKFlagOver.png', 
		  'img/UKFlagDown.png', 
		  'img/OffTabLeftOver.png', 
		  'img/OffTabRightOver.png', 
		  'img/OffTabRepeatOver.png'];
    var output = "";

    for(var i = 0; i < images.length; i++) {
	output += '<img src="' + images[i] + '" alt="" />'; 
    }
    output = '<div style="display: none;">' + output + '</div>';

    return output;
}