	var get_string = '';
	var file_count = 0;
	var uploadedfilescount = 0;
	var bookmarkify_content = '';

// Makes an ajax call to the specified url with the specified parameters (Get Request). 
// When the calls ready state changes it will invoke the specified function.
// Parameters:
//		url - The url to have ajax call
//		paramters - Any parameters to add to the request
//		processResultFunction - The function to call after the ready state changes.
function ajaxpage3(url, parameters, processResultFunction) {
	http_request = false;
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
			// set type accordingly to anticipated content type
			http_request.overrideMimeType('text/html');
		}
	}
	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 XMLHTTP instance');
		return false;
	}

	url = url+parameters;
	if(url.indexOf('?') > 0){
		url += '&random='+(new Date().getTime());
	}else{
		url += '?random='+(new Date().getTime());
	}

	http_request.onreadystatechange = processResultFunction;
	http_request.open('GET', url + parameters, true);
	http_request.send(null);
}


function isEmailAddr(email)
{
	
  var result = false;
  if (email.length > 3)
  {
        var theStr = new String(email);
		  
        var index = theStr.indexOf("@");
        if (index > 0)    
        {
        var pindex = theStr.indexOf(".",index);
        if ((pindex > index+1) && (theStr.length > pindex+1))
                        result = true;
        }
  }
  return result;
}

function highlight(field){field.focus();field.select();}

	function showHideFlash(description)
	{
		if(description.val().length >= 1)
		{
			$('#flashUpload').css('z-index','20');
			$('#uploadImage').css('z-index','10');
			$('#uploadImage').hide();
			$('#uploadMessage').hide();
		}else{
			$('#flashUpload').css('z-index','10');
			$('#uploadImage').css('z-index','20');
			$('#uploadImage').show();
		}
	}
	

	function MultiPowUpload_onSelect()
	{
		// Looking for duplicate file names
		var list = Flash.fileList();
		var skip = false;
		var removed = new Array();
		for(var i=0;i<list.length;i++)
		{
			var current_file = list[i].name;
			for(var j=0;j<list.length;j++)
			{
				//Skip the file we are checking
				if(j==i){continue;}

				if(current_file == list[j].name)
				{
					Flash.removeItemAt(j);
					removed[removed.length] = j;
				}
			}
			list = Flash.fileList();
		}
	}


	function MultiPowUpload_onStart(type, fileIndex)
	{
		$("#step2").removeClass('step2-link');
		$("#step2").addClass('step2');
		$("#step2_description").show();
		$("#step2_content").hide();

		$('#step3_content').html('');
		$('#step3').hide();
		$('#step3blank').show();
		//ajaxpage3('log.php?action=started_upload&ip=&browser=&');
		pageTracker._trackPageview('/stage/started_upload.html');
	}

	function MultiPowUpload_onComplete(type, fileIndex)
	{
		var user_dir = document.forms["sourceurl_form"].sourceUrl.value;
	}

	function MultiPowUpload_onCompleteAbsolute(type, uploadedBytes)
	{
		var user_dir = document.forms["sourceurl_form"].sourceUrl.value;

		document.getElementById('step3_content').innerHTML='';
		
		var playerVersion = swfobject.getFlashPlayerVersion(); // returns a JavaScript object

		ajaxpage3("updatedir.php?flash_version="+
			escape(playerVersion.major+"."+playerVersion.minor+"."+playerVersion.release)+"&tmp_dir="+escape(tmpdir)+"&user_dir="+escape(user_dir)+'&description='+escape($('#description').val()), '', displayLink);

		get_string = '';
		file_count=0;

		// this is also called if there is a cancel
		try{
			pageTracker._trackPageview('/stage/finished_entire_upload.html');
		}catch(err){
			// we don't want exectution to stop if there is an issue 
		}
		
		document.forms["directory_input"].fullfilepath.value = filename;
	}

	function displayLink()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var result = http_request.responseText.split("\n")[0];
				$('#directlink').val(result);
				$('#hotlink').val('<a href="'+result+'">'+$('#description').val()+'</a>');
				$('#forumlink').val('[URL="'+result+']'+$('#description').val()+'[/URL]');

				$("#step2_description").hide();
				$("#step2_content").show();
				$("#step3blank").hide();
				$("#step3").show();
				
				// swap out the step 2 background
				$("#step2").addClass('step2-link');
				$("#step2").removeClass('step2');

				// Set all of the links for bookmarkify
				content = bookmarkify_content.replace(/--file_title--/g,escape($('#description').val()));
				$('.bookmarkify').html(content.replace(/--file_link--/g,result));
			}
		}
	}

	function MultiPowUpload_onError(error)
	{
		window.alert(error);
		pageTracker._trackPageview('/stage/upload_error.html');
	}

	function OnSend()
	{
		
		if (!isEmailAddr(document.forms["directory_input"].emailaddress.value))
		{
			alert("Invalid Email Address. Please try again");
			return;
		}
		//loads the page and sends the results to the emailResults function
		ajaxpage3("sendemail.php?emailaddress="+escape(document.forms["directory_input"].emailaddress.value)+"&user_dir="+
			escape(document.forms["sourceurl_form"].sourceUrl.value)+"&data_file="+escape(document.forms["directory_input"].directlink.value)+"&filename="+
			escape(document.forms["directory_input"].fullfilepath.value), '', emailResult);

		document.forms["directory_input"].emailaddress.value = "";
	}

	function emailResult()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var result = http_request.responseText;
				$('#step3_content').html(result);
				$('#step3_content').slideDown(1000, function(){
					setTimeout(function(){
						$('#step3_content').slideUp(1000);
					},5000);
					pageTracker._trackPageview('/stage/sent_email.html');
				});
			}
		}
	}