/**
 * onArcade 2.2.0
 * Copyright © 2006-2009 Hans Mäesalu & Eveterm OÜ, All Rights Reserved
 **
 * ONARCADE IS NOT FREE SOFTWARE!
 * http://www.onarcade.com
 **/

var color_field;

// content slider
function slide_content(slider_name, slide_id, slides_count) {
	var div = doc_id(slider_name + "_" + slide_id);
	var slider = div.parentNode;
	clearInterval(slider.timer);
	slider.target = div.offsetTop;
	slider.style.top = slider.style.top || '0px';
	slider.current = slider.style.top.replace("px", "");
	slider.direction = (Math.abs(slider.current) > slider.target) ? 1 : -1;
	slider.style.opacity = 0.5;
	slider.style.filter = "alpha(opacity=50)";
	slider.timer = setInterval(function() { slide_animate(slider) }, 3);
	
	// slider buttons
	if (slide_id > 0)
		doc_id(slider_name + "_up").onclick = function() { slide_content(slider_name, (slide_id - 1), slides_count); };
	else
		doc_id(slider_name + "_up").onclick = "";

	if (slide_id < (slides_count - 1))
		doc_id(slider_name + "_down").onclick = function() { slide_content(slider_name, (slide_id + 1), slides_count); };
	else
		doc_id(slider_name + "_down").onclick = "";
}
function slide_animate(slider) {
	var curr = Math.abs(slider.current);
	var tar = Math.abs(slider.target);
	var dir = slider.direction;
	if((tar - curr <= 3 && dir == -1) || (curr - tar <= 3 && dir == 1)) {
		slider.style.top = (slider.target * -1) + "px";
		slider.style.opacity = 1;
		slider.style.filter = 'alpha(opacity=100)';
		clearInterval(slider.timer);
	} else {
		var pos = (dir == 1 ? parseInt(slider.current) + 3 : slider.current - 3);
		slider.current = pos;
		slider.style.top = pos + "px";
	}
}

// initiate slider
function init_slider(slider_id, slides_count) {
	// some variables
	var slider_width = doc_id(slider_id).offsetWidth;
	var slider_height = doc_id(slider_id + "_0").offsetHeight - 20;
	var up_arrow = doc_id(slider_id + "_up");
	var down_arrow = doc_id(slider_id + "_down");

	if (slider_height > 0) {
		doc_id(slider_id).style.height = slider_height + "px"; // slider height

		// up arrow position
		up_arrow.style.top = -(slider_height) + "px";
		up_arrow.style.left = (slider_width - 16) + "px";
		up_arrow.style.display = "inline";
		
		// down arrow position
		down_arrow.style.top = -16 + "px";
		down_arrow.style.left = (slider_width - 16) + "px";
		down_arrow.style.display = "inline";
	}

	// activate arrow down
	if (slides_count > 1)
		down_arrow.onclick = function() { slide_content(slider_id, 1, slides_count); };
}

// sumib comment into database
function submit_pcomment(user_id) {
	// needed variables
	var submit = doc_id("submit_comment");
	var error = doc_id("comment_error");
	var loader = doc_id("loader");

	submit.disabled = true; // disable submit button
	loader.style.display = ""; // show loader
	function back_function(server_r) {
		error.innerHTML = server_r.message;
		error.style.display = "";
		if (server_r.error == 0)
			doc_id("comment_form").style.display = "none";
		else {
			submit.disabled = false;
			loader.style.display = "none";
		}
	}
	makeHttpRequest(siteurl + "/profile.php?a=submit_comment&u=" + user_id + "&ajax=1", back_function, true, "message=" + doc_id("message").value);
}

// display file comments
function display_pcomments(user_id, comment_page) {
	doc_id("comments").innerHTML = "<br />" + loader + "<br />"; // loader
	makeHttpRequest(siteurl + "/profile.php?a=comments&u=" + user_id + "&p=" + comment_page + "&ajax=1", function(response){ doc_id("comments").innerHTML = response; }, false);
}

// display friends
function display_friends(user_id, friends_page) {
	doc_id("countrydivcontainer").innerHTML = "<br />" + loader + "<br />"; // loader
	makeHttpRequest(siteurl + "/profile.php?a=friends&u=" + user_id + "&p=" + friends_page + "&ajax=1", function(response){ doc_id("countrydivcontainer").innerHTML = response; }, false);
}
// display friends
function display_all_time_high_scores(user_id, all_time_high_scores_page) {
	doc_id("countrydivcontainer").innerHTML = "<br />" + loader + "<br />"; // loader
	makeHttpRequest(siteurl + "/profile.php?a=all_time_high_scores&u=" + user_id + "&p=" + all_time_high_scores_page + "&ajax=1", function(response){ doc_id("countrydivcontainer").innerHTML = response; }, false);
}
// display friends
function display_high_scores(user_id, high_scores_page) {
	doc_id("countrydivcontainer").innerHTML = "<br />" + loader + "<br />"; // loader
	makeHttpRequest(siteurl + "/profile.php?a=high_scores&u=" + user_id + "&p=" + high_scores_page + "&ajax=1", function(response){ doc_id("countrydivcontainer").innerHTML = response; }, false);
}

// delete profile comment
function delete_comment(comment_id) {
	function back_function(server_r) {
		if (server_r.error == 0)
			doc_id("comment_" + comment_id).style.display = "none";
	}

	if (confirm_delete())
		makeHttpRequest(siteurl + "/profile.php?a=delete_comment&c=" + comment_id + "&ajax=1", back_function, true);
}

// color selector for custom CSS
function color_selector(button, field_id) {
	color_field = doc_id(field_id); // where we want color
	
	if (document.getElementById("color_selector")) {
		var selector = doc_id("color_selector");
		selector.style.display = ""; // show
	} else {
		var selector = document.createElement("div");
		selector.setAttribute("id", "color_selector");
		selector.style.cursor = "pointer";
		selector.style.width = "30px";
		selector.style.border = "1px solid #808080";
		document.body.appendChild(selector);
		
		var colors = new Array("00FFFF", "000000", "0000FF", "FF00FF", 
									"008000", "808080", "00FF00", "800000", 
										"000080", "808000", "800080", "FF0000", 
											"C0C0C0", "008080", "FFFFFF", "FFFF00");

		// colors
		for (var i = 0; i < colors.length; i++) {
			var s_color = document.createElement("div");
			s_color.setAttribute("title", colors[i]);
			s_color.style.height = "10px";
			s_color.style.background = "#" + colors[i];
			s_color.onclick = function(){ color_field.value = this.title; selector.style.display = "none";};
			selector.appendChild(s_color);
		
		}
	}

	// selector position
	var position = get_position(button);
	selector.style.position = "absolute";
	selector.style.left = position[0] + "px";
	selector.style.top = position[1] + "px";
}

// send friend request
function friend_request(friend_id) {
	var friend_request = doc_id("friend_request");
	friend_request.innerHTML = loader;

	function back_function(server_r) {
		friend_request.innerHTML = server_r.message;
	}
	makeHttpRequest(siteurl + "/usercp.php?a=friend_request&f=" + friend_id + "&ajax=1", back_function, true);
}

// remove friend
function accept_friend(button, friend_id) {
	// some changes to button
	button.onclick = "";
	button.src = "images/load.gif";

	function back_function(server_r) {
		doc_id("friend_" + friend_id).style.display = "none";
	}
	makeHttpRequest(siteurl + "/usercp.php?a=friend_request&f=" + friend_id + "&ajax=1", back_function, true);
}

// remove friend
function remove_friend(button, friend_id) {
	if (!window.confirm(sure_remove_friend))
		return;
	
	// some changes to button
	button.onclick = "";
	button.src = "images/load.gif";

	function back_function(server_r) {
		doc_id("friend_" + friend_id).style.display = "none";
	}
	makeHttpRequest(siteurl + "/usercp.php?a=remove_friend&f=" + friend_id + "&ajax=1", back_function, true);
}