function Helio()
{
}

Helio.rate = function( media_id, up )
{
	new Ajax.Request( '/media/_rate/',
		{
			method: "get",
			parameters: { media_id: media_id, up: up ? 1 : 0 },
			onLoading: function()
			{
				$('thumbs_up').innerHTML = '<em>Please wait...</em>';
				$('thumbs_down').innerHTML = '<em>Please wait...</em>';
			},
			
			onComplete: function( transport )
			{
				$('thumbs_up').innerHTML = "Worked for me!";
				$('thumbs_down').innerHTML = "Didn't work";
				
				up ? $('thumbs_up_count').innerHTML = transport.responseText : $('thumbs_down_count').innerHTML = transport.responseText; 				
			}
		});	
}

Helio.sendToPhone = function( package_furl, phone_number )
{
	new Ajax.Request( '/package/_send',
		{
			method: "post",
			parameters: { package_furl: package_furl, phone_number: phone_number },
			onLoading: function()
			{
				$('btn_send').disabled = true;
			},
			
			onComplete: function( transport )
			{
				$('btn_send').disabled = false;
				$('phone_msg').innerHTML = "Message sent to " + phone_number + "... please allow a few minutes for delivery before retrying";
				$('phone_number').value = "";
				
				Element.show( $('phone_msg') );
				
				setTimeout( 'Element.hide( "phone_msg" );', 5000 );
			}
		});
}

Helio.sendMediaToPhone = function( media_id, phone_number, test )
{
	
	new Ajax.Request( '/media/_send',
		{
			method: "post",
			parameters: { media_id: media_id, phone_number: phone_number, test: test },
			onLoading: function()
			{
				$('btn_send').disabled = true;
			},
			
			onComplete: function( transport )
			{
				$('btn_send').disabled = false;
				$('phone_msg').innerHTML = "Message sent to " + phone_number + "... please allow a few minutes for delivery before retrying";
				$('phone_number').value = "";
				
				Element.show( $('phone_msg') );
				
				if ( e = $('test_prompt') )
					e.className = '';
				
				if ( e = $('result_prompt') )
					e.className = 'highlight';
				
				setTimeout( 'Element.hide( "phone_msg" );', 5000 );
			}
		}); 	
}

Helio.flag = function( element, package_furl )
{
	if ( !confirm( "Please only flag packages that are inappropriate, or commercial (premium) content.\nDo you wish to flag this package?" ) )
		return;
	
	new Ajax.Request( '/media/_flag',
		{
			method: "post",
			parameters: { package_furl: package_furl },
			onLoading: function()
			{
				$(element).innerHTML = '<em>Flagging...</em>';
			},
			
			onComplete: function( transport )
			{
				$(element).innerHTML = '<em>Flagged - thank you!</em>';
			}
		});
}

Helio.delist = function( element, package_id )
{
	if ( !confirm( "Please only delist packages that don't work AT ALL or are pornography.\nIf the package runs but has problems, just leave a comment.\nDo you wish to delist this package?" ) )
		return;
	
	new Ajax.Request( '/package/_delist/',
		{
			method: "get",
			parameters: { "package_id": package_id },
			onLoading: function()
			{
				$(element).innerHTML = '<em>Delisting...</em>';
			},
			
			onComplete: function( transport )
			{
				$(element).innerHTML = '<em>Delisted - thank you!</em>';
			}
		});
}

Helio.setSetting = function( key, value )
{
	new Ajax.Request( '/user/_setSetting/',
		{
			method: "get",
			parameters: { "key": key, "value": value }			
		});	
}

Helio.setMediaType = function( media_id, flag )
{
	new Ajax.Request( '/media/_setType/',
		{
			method: "get",
			parameters: { "media_id": media_id, "flag": flag }			
		});	
}

Helio.setPackageVisibility = function( package_id, flag )
{
	new Ajax.Request( '/package/_setVisibility/',
		{
			method: "get",
			parameters: { "package_id": package_id, "flag": flag }			
		});	
}

Helio.setFlag = function( media_id, flag )
{
	new Ajax.Request( '/media/_setFlag/',
		{
			method: "get",
			parameters: { "media_id": media_id, "flag": flag }			
		});	
}

Helio.clearFlag = function( media_id, flag )
{
	new Ajax.Request( '/media/_clearFlag/',
		{
			method: "get",
			parameters: { "media_id": media_id, "flag": flag }			
		});	
}

Helio.setMetadata = function( media_id, key, value )
{
	new Ajax.Request( '/media/_setMetadata/',
		{
			method: "get",
			parameters: { "media_id": media_id, "key": key, "value": value }			
		});		
}
