	// AJAX support (based off: http://developer.mozilla.org/en/docs/AJAX)
	var http_request = false;
	var default_counter = 5;
	var counter_limit = default_counter;
	var timer;
	
	// makeRequest is deprecated, use makeAJAXRequest instead	
	function makeRequest(req_url, handler)
	{
	    http_request = false;
	
			// Create the XMLHttpRequest object
	    if (window.XMLHttpRequest) { // Mozilla, Safari, Opera (> 8.01), ...
	        http_request = new XMLHttpRequest();
	        if (http_request.overrideMimeType) {
	            http_request.overrideMimeType('text/xml');
	        }
	    } else if (window.ActiveXObject) { // IE
	        try {
	            http_request = new ActiveXObject("Msxml2.XMLHTTP");
	        } catch (e) {
	            try {
	                http_request = new ActiveXObject("Microsoft.XMLHTTP");
	            } catch (e) {}
	        }
	    }
	
	    if (!http_request)
	    {
	        alert('Cannot create an XMLHTTP instance. Browser not supported.');
	        return false;
	    }
	    http_request.onreadystatechange = handler;
	    http_request.open('GET', req_url, true);
	    http_request.send(null);
	}

	// New function, it has options for GET and POST methods
	function makeAJAXRequest(p_req_url, p_handler, p_data, p_method)
	{
    // Default parameters
		var p_data = (p_data == null) ? '' : p_data;
    var p_method = (p_method == null) ? 'GET' : p_method;

    http_request = false;

		// Create the XMLHttpRequest object
    if (window.XMLHttpRequest) { // Mozilla, Safari, Opera (> 8.01), ...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request)
    {
        alert('Cannot create an XMLHTTP instance. Browser not supported.');
        return false;
    }
    http_request.onreadystatechange = p_handler;
		
		if (p_method == 'GET')
		{
		  var full_url = p_req_url;
		  if (p_data != '')
		  	full_url = full_url + '?' + p_data;
		  
		  http_request.open('GET', full_url, true);
		  http_request.send(null);
		} else {
		  http_request.open('POST', p_req_url, true);
		  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", p_data.length);
      http_request.setRequestHeader("Connection", "close");
		  http_request.send(p_data);
		}
	}

	function check_request_result()
	{
		if ((http_request.readyState == 4) && (http_request.status == 200))
		{
	    return true;
	  } else {
			return false;
		}
	}
	
	// Flash "problem" Work arounds:
	// A very special thanks to Eolas, Microsoft and Adobe/Macromedia for this.

	function PlaceLogo(p_image_path)
	{
		document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="320" height="165" id="logo" align="middle">\n');
		document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
		document.write('<param name="movie" value="'+p_image_path+'common/logo_reg_png.swf" />\n');
		document.write('<param name="quality" value="high" />\n');
		document.write('<param name="play" value="false" />\n');
		document.write('<param name="loop" value="false" />\n');
		document.write('<param name="wmode" value="transparent" />\n');
		document.write('<embed src="'+p_image_path+'common/logo_reg_png.swf" quality="high" wmode="transparent" width="320" height="165" name="logo" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
		document.write('</object>\n');
	}
	
	function PlaceNavBar(p_state_vars, p_image_path)
	{
		document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="718" height="36" id="regnum_navbar" align="middle">\n');
		document.write('<param name="allowScriptAccess" value="sameDomain" />\n');
		document.write('<param name="movie" value="'+p_image_path+'common/regnum_navbar.swf" />\n');
		document.write('<param name="FlashVars" value="'+p_state_vars+'" />\n');
		document.write('<param name="play" value="false" />\n');
		document.write('<param name="loop" value="false" />\n');
		document.write('<param name="scale" value="noscale" />\n');
		document.write('<param name="wmode" value="transparent" />\n');
		document.write('<param name="quality" value="high" />\n');
		document.write('<embed src="'+p_image_path+'common/regnum_navbar.swf" FlashVars="'+p_state_vars+'" play="false" loop="false" quality="high" scale="noscale" wmode="transparent" width="718" height="36" name="regnum_navbar" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n');
		document.write('</object>\n');
	}
	
	function openDownloadPopup(download_name, language, referrer)
	{
		$.ajax({
		  type: "POST",
		  url: "sections/download_process.php",
		  data: "download_name="+download_name+"&l="+language+"&ref="+referrer,
		  success: function(obtdata)
		  {
		  		if (obtdata != "")
		  		{
		  			if(!$.browser.msie)
		  				$("#obtained_link").val(obtdata);
		  			else
		  				$("#ie_link").attr("href", obtdata);
		  			$("#alternate_link").attr("href", obtdata);
		  			$("#download_popup").dialog("open");
		  		} else
		  		{
		  			alert("error");
		  		}
			},
			error: function(){
				alert("error_2");
			}
		});
	}
	
	function updateCounter()
	{
		counter_limit -= 1;
		$("#download_counter").html(counter_limit);
		if(counter_limit == 0)
		{
			clearInterval(timer);
			window.location = $("#obtained_link").val();
			$('#download_popup_content').hide();
			$('#download_popup_notice').show();
			$("#download_popup").dialog('option', 'buttons', { 'Close': function() {	$(this).dialog('close'); } });
		}
	}
	
	
	
	$(document).ready(function(){
		
		$("#redeem_key_link").hover(function(){
			$("#redeem_key_off").css("display","none");
			$("#redeem_key_on").css("display","block");
		},function(){
			$("#redeem_key_on").css("display","none");
			$("#redeem_key_off").css("display","block");
		});

		$("#buy_xim_link").hover(function(){
			$("#buy_xim_off").css("display","none");
			$("#buy_xim_on").css("display","block");
		},function(){
			$("#buy_xim_on").css("display","none");
			$("#buy_xim_off").css("display","block");
		});
		
		$("#signup_link").hover(function(){
			$("#signup_link_off").css("display","none");
			$("#signup_link_on").css("display","block");
		},function(){
			$("#signup_link_on").css("display","none");
			$("#signup_link_off").css("display","block");
		});

		$(".download_link").hover(function(){
			$(".download_link").css("color","red");
		},function(){
			$(".download_link").css("color","white");
		});

		$(".download_link_exp").hover(function(){
			$(".download_link_exp").css("color","red");
		},function(){
			$(".download_link_exp").css("color","white");
		});

	});