function FadeEffect(element,time){
       new Effect.Fade(element, 
       { duration:time});
}

function ShowEffect(element,time){
	new Effect.Appear(element, 
	{duration:time, from:0, to:1.0});
}

function ShowSemiEffect(element,time){
	new Effect.Appear(element, 
	{duration:time, from:0, to:.8})
}

function updateElement(element,newContent){
	$(element).replace(newContent);
}


function FadeOutPlayBtn(id){
	var div='hover'+id; 
	$(div).hide();

}

function FadeInPlayBtn(id){
	var div='hover'+id; 
	$(div).show();
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

var lastId=1;
var lastFavId=1;

function reportConfirmation(id) {
	var answer = confirm("This animation will be reported to moderators as unacceptable. Are you sure you want to do this?")
	if (answer){
		report(id);
	}
}

function report(id){
	FadeEffect('report',0);
	var options = {
		method: "post",
    	parameters: "id="+id,
		onSuccess: function (oXHR, oJson) {
    	},
    	onFailure: function (oXHR, oJson) {
        	alert("An error occurred: " + oXHR.statusText);
    	}
	};
	var oRequest = new Ajax.Request("/sketch-star/ss2/scripts/report.php?id="+id, options);
}

function confirmDelete(id){
	if(lastId!=1){
		FadeEffect('delete'+lastId,0);
	}
	ShowSemiEffect('delete'+id,0.8);
	//alert("0.8");
	lastId=id;
	return false;
}

function deleteAnimation(id){
    var options = {
		method: "post",
    	parameters: "id="+id,
		onSuccess: function (oXHR, oJson) {
            //alert("returns: " + oXHR.statusText);
            window.location.reload();
    	},
    	onFailure: function (oXHR, oJson) {
        	alert("An error occurred: " + oXHR.statusText);
    	}
	};
	var oRequest = new Ajax.Request("/sketch-star/ss2/scripts/delete.php?id="+id, options);
}

function confirmUnfavorite(id){
	if(lastFavId!=1){
		FadeEffect('unfavorite'+lastFavId,0);
	}
	ShowSemiEffect('unfavorite'+id,0.8);
	lastFavId=id;
	return false;
}

function vote(id){
	$('voteText').update( 'voting...' );
	var options = {
		method: "post",
    	parameters: "id="+id,
		onSuccess: function (oXHR, oJson) {
            FadeEffect('voteMake',0);
        	ShowEffect('voteThanks',1);
            var votes= $('numVotes').innerHTML.replace(",", "");
			var newVotes = Number(votes)+1;
        	updateElement('numVotes',addCommas(newVotes));
    	},
    	onFailure: function (oXHR, oJson) {
        	alert("An error occurred: " + oXHR.statusText);
    	}
	};
	
	var oRequest = new Ajax.Request("/sketch-star/ss2/scripts/vote.php?id="+id, options);
}

function makeFavorite(id){
	$('favoriteText').update( 'loving...' );
	var options = {
		method: "post",
    	parameters: "id="+id,
		onSuccess: function (oXHR, oJson) {
        	FadeEffect('favoriteMake',0);
        	ShowEffect('favoriteThanks',1);
    	},
    	onFailure: function (oXHR, oJson) {
        	alert("An error occurred: " + oXHR.statusText);
    	}
	};
	var oRequest = new Ajax.Request("/sketch-star/ss2/scripts/makeFavorite.php?id="+id, options);
}

function removeFavorite(id){
	//alert('remove favorite');
	var options = {
		method: "post",
    	parameters: "id="+id,
		onSuccess: function (oXHR, oJson) {
            //alert("returns: " + oXHR.statusText);
            window.location.reload();
    	},
    	onFailure: function (oXHR, oJson) {
        	alert("An error occurred: " + oXHR.statusText);
    	}
	};
	var oRequest = new Ajax.Request("/sketch-star/ss2/scripts/removeFavorite.php?id="+id, options);
}

function onFinish(obj){
	ShowEffect('numVotes',1);
}

function alertLogin(){
    alert("You must be logged in to do that");
}


var open=false;
var open_share=false;

function showShareButton(){
    if(open_share){
        open_share=false;
		FadeEffect('sharePanel',0);
		FadeEffect('shareButton',0);
		ShowEffect('shareButtonOpen',0);
	}else{
		ShowEffect('sharePanel',0);
		ShowEffect('shareButton',0);
		FadeEffect('shareButtonOpen',0);
		open_share=true;
	}
}

function showSFPanel(){
    ShowEffect('sendPanel',0);
}

function showSFButton(){
	if(open){
	
		open=false;
		FadeEffect('sendPanel',0);
		FadeEffect('sendButton',0);
		ShowEffect('sendButtonOpen',0);
		
	}else{
	
		ShowEffect('sendPanel',0);
		ShowEffect('sendButton',0);
		FadeEffect('sendButtonOpen',0);
		open=true;
	}
}