// rating
function submit_rating(type, member_id, content_id, score, url)
{
	$('#rating_'+type+'_progress'+content_id).show();

	$.post(virpath+'index.php?hp=1&m=rate', {'type':type,'score':score,'member_id':member_id,'content_id':content_id},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 2 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					if ( typeof(url) != 'undefined' ) {
						window.location = url;
					}
					else {
						var curr_score = parseFloat($('#rating_'+type+'_score'+content_id).html());
						var curr_votes = parseInt($('#rating_'+type+'_votes'+content_id).html());
						var new_score = curr_score*curr_votes+score;
						var new_votes = curr_votes+1;

						$('#rating_'+type+'_score'+content_id).html((new_score/new_votes).toFixed(2));
						$('#rating_'+type+'_votes'+content_id).html(new_votes);

						ratingstar_reset(type, content_id, 1);

						$('#rating_'+type+'_progress'+content_id).hide();
						return true;
					}
				}
			}

		}
	);
}

// reports
function submit_report(type, member_id, content_id, noreason)
{
	var reason = $('#report_'+type+'_reason'+content_id).val();
	if ( !reason ) { alert(noreason); return; }

	$('#report_'+type+'_progress'+content_id).show();

	$.post(virpath+'index.php?hp=1&m=report', {'type':type,'reason':reason,'member_id':member_id,'content_id':content_id},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 2 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					$('#report_'+type+'_progress'+content_id).hide();
					$('#report_'+type+'_response'+content_id).html('<div class="response">' + response[1] + '</div>');
					setTimeout(function(){
						$('#report_'+type+'_response'+content_id).animate({ opacity: "hide" }, "slow");
					}, 2500);
					return true;
				}
			}

		}
	);
}

// send wink
function send_wink(member_id, message_id)
{
	window.location = virpath+'index.php?m=account_messages&p=quickmessage&id='+member_id+'&sid='+message_id;
}

// polls
function submit_poll(poll_id, answer_id)
{
	$('#poll_'+poll_id+'_progress').show();

	$.post(virpath+'index.php?hp=1&m=vote', {'poll_id':poll_id,'answer_id':answer_id},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 3 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					$('#poll_'+poll_id+'_results').html(response[1]);
					$('#poll_'+poll_id+'_results_wrap').show();
					var votes = response[2].split(",");
					for ( var i = 0, totalvotes = votes.length; i < totalvotes; i++ ) {
						var counters = votes[i].split("=");
						if ( counters.length == 2 )
						{
							$('#poll_'+poll_id+'_results_'+counters[0]).html('['+counters[1]+']');
							$('#poll_'+poll_id+'_results_'+counters[0]).css('display', 'inline');
							$('#poll_'+poll_id+'_checkbox_'+counters[0]).hide();
							$('#poll_'+poll_id+'_checkbox_'+counters[0]+'_obj').attr('disabled','disabled');
						}
					}
					$('#poll_'+poll_id+'_progress').hide();
					return true;
				}
			}
			else if ( response.length == 2 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					$('#poll_'+poll_id+'_results').html(response[1]);
					$('#poll_'+poll_id+'_results_wrap').show();
					for ( var i = 0; $('#poll_'+poll_id+'_checkbox_'+i) != null; i++ ) {
						$('#poll_'+poll_id+'_checkbox_'+counters[0]).hide();
						$('#poll_'+poll_id+'_checkbox_'+counters[0]+'_obj').attr('disabled','disabled');
					}
					$('#poll_'+poll_id+'_progress').hide();
					return true;
				}
			}
		}
	);
}

// vote icons
function ratingstar_toggle(type, content_id, score)
{
	for ( var i = 1; i <= 5; i++ ) {
		if ( i <= score ) {
			if ( $('#ratingstar'+content_id+'__'+i).hasClass("over") == false ) {
				$('#ratingstar'+content_id+'__'+i).addClass("over");
			}
		}
		else {
			$('#ratingstar'+content_id+'__'+i).removeClass("over");
		}
	}
}

function ratingstar_reset(type, content_id, lock)
{
	var score = Math.round($('#rating_'+type+'_score'+content_id).html());
	if ( score < 0 || score > 5 ) score = 0;
	for ( var i = 1; i <= 5; i++ ) {
		if ( i <= score ) {
			if ( $('#ratingstar'+content_id+'__'+i).hasClass("over") == false ) {
				$('#ratingstar'+content_id+'__'+i).addClass("over");
			}
		}
		else {
			$('#ratingstar'+content_id+'__'+i).removeClass("over");
		}
		if ( typeof(lock) != 'undefined' && lock ) {
			$('#ratingstar'+content_id+'__'+i).attr("onclick", "return false;");
			$('#ratingstar'+content_id+'__'+i).attr("onmouseover", "return false;");
			$('#ratingstar'+content_id+'__'+i).attr("disabled", "disabled");
		}
	}
}

// fetch contacts
function fetch_contacts(lng_submit, lng_checker, lng_select_label, lng_empty_details, lng_invalid_details)
{
	if ( !$('#mem_username').val() || !$('#mem_password').val() ) {
		$('#emailnfo').html('<br>'+lng_empty_details);
		return;
	}

	$('#invite_progress').show();
	$('#serverstatus').attr("disabled", "true");
	$('#emailnfo').html('');
	$.post(virpath+'index.php?m=invitefriends&p=fetch_contacts', {'emailtype':emailtype,'username':$('#mem_username').val(),'password':$('#mem_password').val()},
		function(response) {
			var response = response.split("\n");
			if ( response.length > 1 )
			{
				var str = '';
				for ( i in response ) {
					if ( response[i] != 'ok' ) {
						email = (response[i]).split('|||');
						if ( typeof(email) != 'undefined' && email.length == 2 ) {
							str += '<label><input type="checkbox" name="emails[]" value="'+email[0]+"|||"+email[1]+'" /> '+email[0]+' ('+email[1]+')</label><br>';
						}
					}
				}
				if ( str ) {
					str += '<br><input class="submit" name="submit" value="'+lng_submit+'" type="submit">';
					str = '<br><label><input type="checkbox" name="check_all_messages" value="0" onclick="toggleMessages(this.form, this.checked)" /> '+lng_checker+'</label><br>' + str;
					$('#emailnfo').html('<br><span>'+lng_select_label+':</span>'+str);
				}
				else {
					$('#emailnfo').html('<br>'+lng_invalid_details);
				}
			}
			else if ( response == 'empty_details' )
			{
				$('#emailnfo').html('<br>'+lng_empty_details);
			}
			else
			{
				$('#emailnfo').html('<br>'+lng_invalid_details);
			}
			$('#invite_progress').hide();
			$('#serverstatus').removeAttr('disabled');
		}
	);
}

function contacts_switchmail(type)
{
	emailtype = type;
	switch (type)
	{
		case 'custom':
			$('#field_email_custom').show();
			$('#field_email_public').hide();
			break;
		case 'aol':
			$('#field_email_public').show();
			$('#field_email_custom').hide();
			$('#emailext').html('');
			break;
		default:
			$('#field_email_public').show();
			$('#field_email_custom').hide();
			$('#emailext').html('@'+type+'.com');
			break;
	}
	$('#mem_username').val('')
	$('#mem_password').val('')
}

// check username
function checkusername(username)
{
	$.post(virpath+'index.php?hp=1&m=checkusername', {'username':username},
		function(response) {
			var response = trim(response);
			response = response.split("\n");
			if ( response.length == 2 )
			{
				$('#field_username_status').html(response[1]);
				$('#field_username_status').removeClass('true');
				$('#field_username_status').removeClass('false');
				if ( response[0] == 'ok' ) {
					$('#field_username_status').addClass('true');
				}
				else {
					$('#field_username_status').addClass('false');
				}
				$('#field_username_status').show(300);
			}

		}
	);
}

// toggles
function row_toggle(name)
{
    for (var i = 0; document.getElementById(name+'_'+i) != null;  i++)
    {
        if (document.getElementById(name+'_'+i).style.display == "none")
            $('#'+name+'_'+i).show();
        else
            $('#'+name+'_'+i).hide();
    }
}

// switches
function row_switch(name)
{
    $('#'+active_tab).hide();
    $('#'+name).show();
    active_tab = name;
}

// tabs
var active_tab = 0;
var active_tab_first = 1;
function switch_tabs(prefix, new_tab, first)
{
	if ( typeof(first) != 'undefined' ) {
		if ( active_tab_first == 1 ) {
			$('#'+prefix + '_' + new_tab + '_content').show();
			$('#'+prefix + '_' + new_tab + '_tab').addClass("active");
			active_tab = new_tab;
			active_tab_first = 0;
		}
	}
	else if ( active_tab != new_tab ) {
		$('#'+prefix + '_' + active_tab + '_content').hide(300);
		$('#'+prefix + '_' + active_tab + '_tab').removeClass("active");

		$('#'+prefix + '_' + new_tab + '_content').show(300);
		$('#'+prefix + '_' + new_tab + '_tab').addClass("active");
		active_tab = new_tab;
	}
}

function showhide_field(name, show, plain)
{
    if ( $('#'+name).css("display") == "none" && (show == undefined || show == '') || show == 1 )
    {
    	if ( plain == undefined ) {
        	$('#'+name).fadeIn("fast");
		}
		else {
    		$('#'+name).show();
		}
    }
    else
    {
    	if ( plain == undefined ) {
        	$('#'+name).fadeOut("fast");
		}
		else {
    		$('#'+name).hide();
		}
    }
}

var events_ids = [];
function eventScroll(day, total)
{
	if ( typeof(events_ids[day]) == 'undefined' ) {
		events_ids[day] = 0;
	}
	if ( total == 1 ) {
		return;
	}
	var id = (events_ids[day] == (total - 1)) ? 0 : events_ids[day] + 1;
	events_ids[day] = id;
    for (var i = 0; document.getElementById('event_' + day + '_' + i) != null;  i++)
    {
        if ( i != id ) {
            $('#event_' + day + '_' + i).hide();
		}
    }
    $('#event_' + day + '_' + id).show();
}

// misc
function confirmLink(question, url)
{
    var is_confirmed = confirm(question);

    if (is_confirmed && url != '')
        window.location = url;

    return is_confirmed;
}

function confirmForm(question, form)
{
    var is_confirmed = confirm(question);

    if (is_confirmed && form != '')
        eval('document.' + form + '.submit()');

    return is_confirmed;
}

function toggleMessages(form, check)
{
    for (var i = 0; i < form.elements.length; i++)
    {
        if (form.elements[i].type == 'checkbox')
        {
            form.elements[i].checked = check;
        }
    }
}

function toggleItems(form, check)
{
    for (var i = 0; i < form.elements.length; i++)
    {
        if (form.elements[i].type == 'checkbox')
        {
            form.elements[i].checked = check;
        }
    }
}

function stylizeBooleanBox(prefix, boxid)
{
	var options = document.getElementById(prefix + boxid);
	for ( var i = 0, length = options.length; i < length; i++ )
	{
		options[i].style.background = ( options[i].value == 1 ) ? '#DEFAE0' : '#FBDDDD';
		if ( options[i].value == 1 && options[i].selected )
			document.getElementById(prefix + boxid).style.background = '#DEFAE0';
		else if ( options[i].value == 0 && options[i].selected )
			document.getElementById(prefix + boxid).style.background = '#FBDDDD';
	}
}

function removeFlashUploader()
{
	$('#regular_file_select').show();
	$('#regular_file_browse a').hide();
	$('#pending_file').show();
	$('#pending_fileUploader').hide();
	$('#regular_file_submit').show();
	$('#pending_file_submit').hide();
}

// toolpics
$.fn.ToolTip = function(customclass)
{
	this.mouseover(
		function(e)
		{
			if((!this.title && !this.alt) && !this.tooltipset) return;
			var mouseX = e.pageX || (e.clientX ? e.clientX + document.body.scrollLeft : 0);
			var mouseY = e.pageY || (e.clientY ? e.clientY + document.body.scrollTop : 0);
			mouseX += 10;
			mouseY += 10;
			if(!this.tooltipdiv)
			{
				var div = document.createElement("div");
				this.tooltipdiv = div;
				$(div).addClass(customclass || 'tooltip');
				$(div).html((this.title || this.alt));
				this.title = "";
				this.alt = "";
				$("body").append(div);
				this.tooltipset = true;
			}
			$(this.tooltipdiv).fadeIn("fast").css({left: mouseX + "px", top: mouseY + 3 + "px"});
		}
	).mousemove(
		function(e)
		{
			if(!this.tooltipset) return;
			var mouseX = e.pageX || (e.clientX ? e.clientX + document.body.scrollLeft : 0);
			var mouseY = e.pageY || (e.clientY ? e.clientY + document.body.scrollTop : 0);
			mouseX += 10;
			mouseY += 10;
			$(this.tooltipdiv).css({left: mouseX + "px", top: mouseY + 3 + "px"});
		}
	).mouseout(
		function()
		{
			if(this.tooltipdiv)
			{
				$(this.tooltipdiv).fadeOut("fast");
			}
		}
	);
	return this;
}

function selectSmiley(smiley_id, textbox)
{
	var val = $('#'+textbox).val();
	val = val + '' + smilies[smiley_id]['shortcut'];
	$('#'+textbox).val(val);
}

//------------------------------------------------
// Chat
//------------------------------------------------
var chatwincurr = 0;
var autocheck = 0;
var autodelay = 8;
var virpath = '';
chatwins = new Array();

function checkChat(path,check,delay)
{
    virpath = path;
    autocheck = check;
    autodelay = delay;
    checkChatText();
}

function checkChatText() {
	$.post(virpath+'chat.php?p=check', {},
		function(member_id) {
  			if ( member_id != '0' ) {
		        openChatWindow(member_id);
			}
			else {
			    if ( autocheck ) {
			        setTimeout('checkChatText()', (autodelay*1000));
				}
			}
		}
	);
}

function openChatWindow(member_id) {
    if (member_id > 0 && (typeof(chatwins['chat' + member_id]) != "object"  ||  chatwins['chat' + member_id].closed)) {
        chatwins['chat' + member_id] = window.open(virpath + 'index.php?m=account_chat&p=request&id=' + member_id, 'chat' + member_id, 'width=470,height=410,resizable=yes,scrollbars=no,toolbar=no,location=no,status=no,menubar=no');
        if ( chatwins['chat' + member_id] && chatwins['chat' + member_id].open)
        	chatwins['chat' + member_id].focus();
		else
			alert('Could not open a chat window. Please disable your popup blocker.');
    }
}

function trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}

function save_search()
{
	var name = $('#field_search_save').val();
	var hash = $('#field_hash').val();

	if(name != '' && hash != '')
	{
		$('#save_search_progress').show();
		$('#save_search_submit').attr({disabled: "disabled"});

		$.post(virpath+'index.php?hp=1&m=searches&p=save', {'name':name,'s':hash},
			function(response) {
				var response = response.split("\n");
				if ( response.length > 0 )
				{
					if ( response[0] == 'ok' && response[1] )
					{
						$('#save_search_progress').hide();
						$('#save_search_response').html(response[1]);

						if ( response[2] )
						{
							setTimeout(function(){
								$('#div_save_search' ).animate({ opacity: "hide" }, "slow");
							}, 2000);
						}
						return true;
					}
				}
			}
		);
	}
}

// comments pagination
function get_comments_page(type, member_id, content_id, page)
{
	$('#get_comments_progress').show();

	$.post(virpath+'index.php?hp=1&m=comments', {'type':type,'member_id':member_id,'content_id':content_id,'page':page},
		function(response) {
			var response = response.split("|");
			if ( response.length == 2 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					$('#get_comments_progress').hide();
					$('#comments_page').html(response[1]);
					return true;
				}
			}

		}
	);
}


function generate_hints()
{
$("input,select,textarea").focus( function(){
$(this).siblings("span").css('display','inline');
});

$("input,select,textarea").blur( function(){
$(this).siblings("span").css('display','none');
});

$("textarea").keydown( function(){
$(this).siblings("span").css('display','none');
});

}

//  reset rating
function reset_rating(type, member_id, content_id, url)
{
   $('#rating_'+type+'_progress'+content_id).show();

   $.post(virpath+'index.php?hp=1&m=rate&action=reset', {'type':type,'member_id':member_id,'content_id':content_id},
      function(response) {
         var response = response.split("\n");
         if ( response.length == 2 )
         {
            if ( response[0] == 'ok' && response[1] )
            {
               if ( typeof(url) != 'undefined' ) {
                  window.location = url;
               }
               else {
                  var new_score = 0;
                  var new_votes = 0;

                  $('#rating_'+type+'_score'+content_id).html((new_score).toFixed(2));
                  $('#rating_'+type+'_votes'+content_id).html(new_votes);

                  ratingstar_reset(type, content_id, 1);

                  $('#rating_'+type+'_progress'+content_id).hide();
                  return true;
               }
            }
         }

      }
   );
}

function confirmAction(question, action)
{
    var is_confirmed = confirm(question);

    if (is_confirmed && action != '')
        eval(action);

    return is_confirmed;
}

function remove_status(member_id, status_id)
{
	var ajax_response = $('#remove_link_' + status_id);
	ajax_response.html('<em>...</em>');
	
	$.post(virpath+'index.php?hp=1&m=changestatus&a=delete', {'member_id':member_id, 'status_id':status_id},
		function(response) {
			var response = response.split("|");
			if ( response.length > 0 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					ajax_response.html(response[1]);
					setTimeout(function(){
					$('#status_' + status_id).animate({ opacity: "hide" }, "fast");
										}, 1000);
					
					return true;
				}
				else if ( response[0] == 'error' && response[1] )
				{
					ajax_response.html('<span style="color:red">' + response[1] + '</span>');
					return true;
				}
			}
		}
	);
}

function fetch_memberzzz(set)
{
	$('#memberzzz_progress').show();
	$.post(virpath+'index.php?hp=1&m=memberzzz', {'set':set},
		function(response) {
			var response = response.split("|");
			if ( response.length == 2 )
			{
				if ( response[0] == 'ok' && response[1] )
				{
					
					setTimeout(function()
					{
						$('#memberzzz_progress').hide();
						$('#memberzzz_wrap').html(response[1]);
						$('a.mzzz_tooltip').ToolTip('nicetooltip');
					}, 1000);
					return true;
				}
			}

		}
	);
}

// character limit
function limitChars(textid, limit, infodiv)
{
        var text = $('#'+textid).val();
        var textlength = text.length;
       
        if(textlength > limit)
        {
                $('#' + infodiv).html('You cannot write more than '+limit+' characters!');
                $('#'+textid).val(text.substr(0,limit));
               return false;
        }
        else
        {
                $('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
                return true;
        }
}
