// fetch geo

function fetch_geo(country, state, city, curpath, inner)

{

	if ( ! country ) return;



	$('#ajax_geo_loading').show();



	if ( typeof(inner) == 'undefined' ) {

		$.post(( typeof(curpath) != 'undefined' && curpath != '' ? curpath : virpath) + 'index.php?m=geo', {'country':country,'state':''},

			function(response) {

				var itemsbox = '';

				if ( response != "" ) {

					var items = response.split("\n");

					for ( var i = 0, count = items.length; i < count; i++ ) {

						itemsbox = itemsbox + '<option value="' + items[i] + '">' + items[i] + '</option>';

					}

				}

				if ( itemsbox ) {

					itemsbox = '<select id="field_state" name="state" onchange="fetch_geo($(\'#field_country\').val(),this.value,\'\',\'\',1)" class="select"><option value="">Elegir Provincia</option>' + itemsbox + '</select>';

					$('#data_state').html(itemsbox);

					itemsbox = '<select id="field_city" name="city" class="select"><option value="">Elegir Ciudad</option></select>';

					$('#data_city').html(itemsbox);

				}

				else {

					$('#data_state').html('<input id="field_state" name="state" class="text" value="" style="width:150px" />');

					$('#data_city').html('<input id="field_city" name="city" class="text" value="" style="width:150px" />');

				}

				$('#field_country').val(country);

				$('#ajax_geo_loading').hide();

				if ( state ) {

					fetch_geo(country, state, city, curpath, 1);

				}

			}

		);

	}

	else {

		$.post(( typeof(curpath) != 'undefined' && curpath != '' ? curpath : virpath) + 'index.php?m=geo', {'country':country,'state':state},

			function(response) {

				var itemsbox = '';

				if ( response != "" ) {

					var items = response.split("\n");

					for ( var i = 0, count = items.length; i < count; i++ ) {

						itemsbox = itemsbox + '<option value="' + items[i] + '">' + items[i] + '</option>';

					}

				}

				if ( itemsbox ) {

					itemsbox = '<select id="field_city" name="city" class="select"><option value="">Todas</option>' + itemsbox + '</select>';

					$('#data_city').html(itemsbox);

				}

				else {

					$('#data_city').html('<input id="field_city" name="city" class="text" value="" style="width:150px" />');

				}

				$('#field_state').val(state);

				$('#field_city').val(city);

				$('#ajax_geo_loading').hide();

			}

		);

	}

}



// 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;

				}

			}



		}

	);

}