// 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('
' + response[1] + '
');
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('
'+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 += '
';
}
}
}
if ( str ) {
str += '
';
str = '
' + str;
$('#emailnfo').html('
'+lng_select_label+':'+str);
}
else {
$('#emailnfo').html('
'+lng_invalid_details);
}
}
else if ( response == 'empty_details' )
{
$('#emailnfo').html('
'+lng_empty_details);
}
else
{
$('#emailnfo').html('
'+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)
{
if ( $('#'+name).css("display") == "none" && (show == '' || show == undefined) || show == 1 )
{
$('#'+name).fadeIn("fast");
}
else
{
$('#'+name).fadeOut("fast");
}
}
// 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';
}
}
// tooltips
$.fn.ToolTip = function(customclass)
{
this.mouseover(
function(e)
{
if((!this.title && !this.alt) && !this.tooltipset) return;
// get mouse coordinates
// based on code from http://www.quirksmode.org/js/events_properties.html
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 there is no div containing the tooltip
if(!this.tooltipdiv)
{
// create a div and style it
var div = document.createElement("div");
this.tooltipdiv = div;
$(div).addClass(customclass || 'tooltip');
// add the title/alt attribute to it
$(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"});
}
).mouseout(
function()
{
if(this.tooltipdiv)
{
$(this.tooltipdiv).fadeOut("fast");
}
}
);
return this;
}
// toolpics
$.fn.ToolPic = function(customclass)
{
this.mouseover(
function(e)
{
if((!this.name) && !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 = "";
$("body").append(div);
this.tooltipset = true;
}
$(this.tooltipdiv).fadeIn("fast").css({left: mouseX + "px", top: mouseY + 3 + "px"});
}
).mousemove(
function(e)
{
if((!this.name) || !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;
}
}
}
);
}
}