function confirmLink(question, url)
{
    var is_confirmed = confirm(question);

    //if ( is_confirmed && url != "" ) {
    //    window.location = url;
    //}

    return is_confirmed;
}

function toggleTabs(container, index)
{
	if ( index == undefined ) {
		var index = 1;
	}

	var i = 1;
	while ( $('#'+container+'box-'+i).length == 1 ) {
		$('#'+container+'box-'+i).hide();
		$('#'+container+'link-'+i).removeClass('active');
		i++;
	}
	$('#'+container+'box-'+index).show();

	$('#'+container+'link-'+index).addClass('active');

	return false;
}

function toggleContent(container, show)
{
	if ( $('#'+container).css("display") == "none"  &&  (show == '' || show == undefined)  ||  show == 1 ) {
		$('#'+container).fadeIn("fast");
	}
	else {
		$('#'+container).fadeOut("fast");
	}
}

function toggleBoxes(container, index)
{
	if ( index == undefined ) {
		var index = 1;
	}

	var i = 1;
	while ( $('#'+container+'box-'+i).length == 1 ) {
		$('#'+container+'box-'+i).hide();
		i++;
	}
	$('#'+container+'box-'+index).show();

	return false;
}

function removeLink(question, container, url)
{
	if ( confirmLink(question, url) == true ) {
		$.post(url, {},
			function(response) {
				$('#'+container).remove();
			}
		);
	}
	return false;
}

function applyOrder()
{
	var sort = $('#field_sort').val();
	var order = $('#field_order').val();

	$('.order_link').removeClass('order_icon_asc');
	$('.order_link').removeClass('order_icon_desc');
	$('#order_'+sort).addClass('order_icon_'+order);
}

function reorderFilters(container, url, fields, sort)
{
	var order = ( $('#field_order').val() == 'asc' ) ? 'desc' : 'asc';

	$('#field_sort').val(sort);
	$('#field_order').val(order);

	applyFilters(container, url, fields);
}

function updateStates(prefix, country, state)
{
	var ca_states = '<option value="">--- State/Province</option><option value="AB">Alberta</option><option value="BC">British Columbia</option><option value="MB">Manitoba</option><option value="NB">New Brunswick</option><option value="NL">Newfoundland and Labrador</option><option value="NT">Northwest Territories</option><option value="NS">Nova Scotia</option><option value="NU">Nunavut</option><option value="ON">Ontario</option><option value="PE">Prince Edward Island</option><option value="QC">Quebec</option><option value="SK">Saskatchewan</option><option value="YT">Yukon</option>';
	var us_states = '<option value="">--- State/Province</option><option value="AL">Alabama</option><option value="AK">Alaska</option><option value="AZ">Arizona</option><option value="AR">Arkansas</option><option value="CA">California</option><option value="CO">Colorado</option><option value="CT">Connecticut</option><option value="DE">Delaware</option><option value="DC">District Of Columbia</option><option value="FL">Florida</option><option value="GA">Georgia</option><option value="HI">Hawaii</option><option value="ID">Idaho</option><option value="IL">Illinois</option><option value="IN">Indiana</option><option value="IA">Iowa</option><option value="KS">Kansas</option><option value="KY">Kentucky</option><option value="LA">Louisiana</option><option value="ME">Maine</option><option value="MD">Maryland</option><option value="MA">Massachusetts</option><option value="MI">Michigan</option><option value="MN">Minnesota</option><option value="MS">Mississippi</option><option value="MO">Missouri</option><option value="MT">Montana</option><option value="NE">Nebraska</option><option value="NV">Nevada</option><option value="NH">New Hampshire</option><option value="NJ">New Jersey</option><option value="NM">New Mexico</option><option value="NY">New York</option><option value="NC">North Carolina</option><option value="ND">North Dakota</option><option value="OH">Ohio</option><option value="OK">Oklahoma</option><option value="OR">Oregon</option><option value="PA">Pennsylvania</option><option value="RI">Rhode Island</option><option value="SC">South Carolina</option><option value="SD">South Dakota</option><option value="TN">Tennessee</option><option value="TX">Texas</option><option value="UT">Utah</option><option value="VT">Vermont</option><option value="VA">Virginia</option><option value="WA">Washington</option><option value="WV">West Virginia</option><option value="WI">Wisconsin</option><option value="WY">Wyoming</option>';

	if ( country == 'Canada' ) {
		$('#field_'+prefix+'_state').before('<select name="'+prefix+'_state" id="field_'+prefix+'_state" class="select">'+ca_states+'</select>').remove();
	}
	else if ( country == 'USA' ) {
		$('#field_'+prefix+'_state').before('<select name="'+prefix+'_state" id="field_'+prefix+'_state" class="select">'+us_states+'</select>').remove();
	}
	else {
		$('#field_'+prefix+'_state').before('<input name="'+prefix+'_state" id="field_'+prefix+'_state" class="text" value="" style="width: 300px" />').remove();
	}

	if ( typeof(state) != 'undefined' ) {
		$('#field_'+prefix+'_state').val(state);
	}
}

function applyFilters(container, url, fields)
{
	var params = {};
	if ( typeof(fields) != 'undefined' ) {
		$(fields).each(function(idx) {
			var key = fields[idx];
			params[key] = $('#field_' + key).val();
		});
	}

	$.post(url, params,
		function(response) {
			$('#' + container + '_content').html(response);
			applyOrder();
		}
	);
}

function ratePicture(url,score)
{
	$('#picture_rate_progress').ajaxStart(function(){
		$('#picture_rate_radio').hide();
		$(this).show();
	});

	$('#picture_rate_progress').ajaxStop(function(){
		$(this).hide();
		$('#picture_rate_radio').show();
	});

	$.post(url+'contests/ratepicture/', {'rate_id':$('#picture_rate_id').val(),'score':score},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 3 ) {
				$('#picture_rate_'+score)[0].checked = false;
				$('#picture_rate_id').val(response[1]);
				$('#picture_rate_img')[0].src = response[2];
			}
		}
	);
}

function addparentpals(url, id)
{
	var msg = $('#field_palsmessage_'+id).val();
	$('#palsboxresponse_'+id).html('Working...');
	$.post(url, {'palsmessage':msg,'isajax':1},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 2 ) {
				$('#palsboxresponse_'+id).html(response[1]);
				//$('#palsboxrequest_'+id).hide();
				if ( response[0] == 'ok' ) {
					setTimeout('tb_remove()', 2000);
					//toggleContent('palsbox_'+id);
				}
			}
		}
	);
}

function submitreport(url, type, content, id)
{
	var reason = $('#report_reason_'+id).val();
	var comments = $('#report_comments_'+id).val();
	$('#report_box_inner_'+id).html('<p>Working...</p>');
	
	$.post(url+'reports/submit', {'type':type,'content':content,'reason':reason,'comments':comments},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 2 ) {
				$('#report_box_inner_'+id).html('<p>Reported, thank you.</p>');
				if ( response[0] == 'ok' ) {
					setTimeout('tb_remove()', 2000);
				}
			}
		}
	);
}

function submitclaim(url, entity_id, entity_type)
{
	$('#claim_box_inner').html('<p>Working...</p>');
	
	$.post(url+'claims/submit', {'entity_id':entity_id,'entity_type':entity_type},
		function(response) {
			var response = response.split("\n");
			if ( response.length == 2 ) {
				$('#claim_box_inner').html('<p>You claim has been submitted, thank you.</p>');
				if ( response[0] == 'ok' ) {
					setTimeout('tb_remove()', 2000);
				}
			}
		}
	);
}

$.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;
}

