
// Variables
var site_url = "http://www.mycarwallpapers.com";
var favorites_ajax_url = "/wp-content/plugins/postfavorites/postfavorites.php";
var favorites_text_wait = "Please favorite only 1 post at a time.";
var favorites = new sack(favorites_ajax_url);
var post_id = 0;
var post_favorite = 0;
var favorite_fadein_opacity = 0;
var favorite_fadeout_opacity = 100;
var is_ie = (document.all && document.getElementById);
var is_moz = (!document.all && document.getElementById);
var is_opera = (navigator.userAgent.indexOf("Opera") > -1);
var is_being_favorited = false;


// Post favorites Fade In Text
function favorite_fadein_text() {
	if(favorite_fadein_opacity < 100) {
		favorite_fadein_opacity += 10;
		if(is_opera)  {
			favorite_fadein_opacity = 100;
		} else	 if(is_ie) {
			document.getElementById('post-favorites-' + post_id).filters.alpha.opacity = favorite_fadein_opacity;
		} else	 if(is_moz) {
			document.getElementById('post-favorites-' + post_id).style.MozOpacity = (favorite_fadein_opacity/100);
		}
		setTimeout("favorite_fadein_text()", 100); 
	} else {
		favorite_fadein_opacity = 100;
		favorite_unloading_text();
		is_being_favorited = false;
	}
}


// When User Mouse Over favorites
function current_favorite(id) {
	if(!is_being_favorited) {
		post_id = id;
		document.images['favorite_' + post_id].src = site_url + '/wp-content/plugins/postfavorites/images/favorite_over.png';
		if(document.getElementById('favorite_' + post_id)) {
			document.getElementById('favorite_' + post_id).style.display = 'inline';
		}
	}
}


// When User Mouse Out favorites
function favorites_off() {
	if(!is_being_favorited) {
		document.images['favorite_' + post_id].src = site_url + '/wp-content/plugins/postfavorites/images/favorite_on.png';
		if(document.getElementById('favorite_' + post_id)) {
			document.getElementById('favorite_' + post_id).style.display = 'inline';
		}
	}
}


// Post favorites Loading Text
function favorite_loading_text() {
	document.getElementById('post-favorites-' + post_id + '-loading').style.display = 'block';
}


// Post favorites Finish Loading Text
function favorite_unloading_text() {
	document.getElementById('post-favorites-' + post_id + '-loading').style.display = 'none';
	document.getElementById('post-favorites-' + post_id + '-finished').style.display = 'block';
}

// Post Favorites Not Logged In
function favorite_notlogged_error() {
	document.getElementById('post-favorites-' + post_id + '-notlogged').style.display = 'block';
}

// Post Favorites Already Favorited
function favorite_alreadyfaved_error() {
	document.getElementById('post-favorites-' + post_id + '-alreadyfaved').style.display = 'block';
}


// Process Post favorites
function favorite_post() {	
	if(!is_being_favorited) {
		is_being_favorited = true;
		favorite_loading_text();
		favorite_process();		
	} else {		
		alert(favorites_text_wait);
	}
}


// Process Post Favorite
function favorite_process() {
	if(favorite_fadeout_opacity > 0) {
		favorite_fadeout_opacity -= 10;
		if(is_opera) {
			favorite_fadein_opacity = 0;
		} else if(is_ie) {
			document.getElementById('post-favorites-' + post_id).filters.alpha.opacity = favorite_fadeout_opacity;
		} else if(is_moz) {
			document.getElementById('post-favorites-' + post_id).style.MozOpacity = (favorite_fadeout_opacity/100);
		}
		setTimeout("favorite_process()", 100); 
	} else {
		favorite_fadeout_opacity = 0;
		favorites.reset();
		favorites.setVar("pid", post_id);
		favorites.setVar("favorite", post_favorite);
		favorites.method = 'GET';
		favorites.element = 'post-favorites-' + post_id;
		favorites.onCompletion = favorite_fadein_text;
		favorites.runAJAX();
		favorite_fadein_opacity = 0;
		favorite_fadeout_opacity = 100;
	}
}