function trim(str) {
	return ltrim(rtrim(str));
}
 
function ltrim(str) {
	chars = "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");

}
 
function rtrim(str) {
	chars = "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");

}

function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }


function echeck(str)
{
	var at="@"
	var dot="."
	var comma=","
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if(str.indexOf(comma)!=-1)
	{
		return false
	}
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false
	 }

	 if ((lstr - ldot) < 3){
		return false;
	 }
	
	 return true					
}

$(document).ready(function() {
	$('.defaultinputs').bind('click, focus', function() {
		if ($(this).val() == $(this)[0].defaultValue)
		{
			$(this).val('');
		}
	})
	$('.defaultinputs').bind('blur', function() {
		if (trim($(this).val()) == '')
		{
			$(this).val($(this)[0].defaultValue);
		}
	})
	$('#search_form').bind('submit', function() {
		var true_val = trim($('#s').val());
		var def_val = $('#s')[0].defaultValue;
		if (true_val.length > 2 && true_val != def_val)
		{
			window.location.href = '/sok?s=' + escape(true_val);
		}
		return false;
	})
	$('#add_site_form').bind('submit', function() {
		var true_val = trim($('#site_name').val());
		var def_val = $('#site_name')[0].defaultValue;
		if (true_val.length < 3 || true_val == def_val)
		{
			alert('Du måste skriva in ett namn på platsen!');
			return false;
		}
		if ($('#lat').val() == 0.0 || $('#lng').val() == 0.0)
		{
			alert('Du måste markera var platsen ligger!');
			return false;
		}
	})
	
	// Review functions
	$('div.vote_star').bind('mouseover', function() {
		if ($('#rating').val() == 0)
		{
			var n = parseInt($(this).attr('id').replace('star-', ''));
			if ($(this).hasClass('vote_star_inactive'))
			{
				for (var i = 1; i <= n; i++)
				{
					$('#star-' + i).removeClass('vote_star_inactive');
					$('#star-' + i).addClass('vote_star_active');
				}
			}
		}
	})
	$('#stars_container').bind('mouseout', function() {
		if ($('#rating').val() == 0)
		{
			for (var i = 1; i <= 5; i++)
			{
				$('#star-' + i).removeClass('vote_star_active');
				$('#star-' + i).addClass('vote_star_inactive');
			}
		}
	})
	$('div.vote_star').bind('click', function() {
		if ($('#rating').val() == 0)
		{
			var n = parseInt($(this).attr('id').replace('star-', ''));
			$('#rating').val(n);
		}
		else
		{
			$('#rating').val(0);
		}
	})

	// Site function
	if ($('a.colorbox_link').length > 0)
		$('a.colorbox_link').colorbox({iframe: true, width: '650px', height: '400px', scrolling: false});
	
	$('#review').bind('keyup', function() {
		$('#review_size').text($(this).val().length);
	})
	$('#review_button').bind('click', function() {
		var tag_pattern = /<[^>]+>/;
		var id = $('#obj_id').val();
		var review = $('#review').val();
		var rating = $('#rating').val();
		var num_reviews = parseInt($('#num_reviews').text());
		if (review.search(tag_pattern) == -1)
		{
			if (review.length > 30)
			{
				$('#review_container').html('<img src="/_gfx/loading.gif" alt="" style="vertical-align: middle" /> Sparar recension');
				$.post('/_ajax/saveReview.php', {id: id, review: review, rating: rating}, function () {
					$('#review_container').fadeTo(400, 0, function() {
						$('#num_reviews').text(num_reviews + 1);
						$('#review_container').html('Tack så mycket för din recension!');
						$('#review_container').fadeTo(400, 1);
					})
				}, 'script')
			}
			else
			{
				alert('Recensionen måste bestå av minst 30 tecken.');
			}
		}
		else
		{
			alert('Html är ej tillåtet i recensioner.');
		}
		return false;
	})
	
	
	$("#loginform").bind("submit", function() {
		if (trim($("#uname").val()) == '')
		{
			alert("Du måste fylla i användarnamn och lösenord!");
			$("#uname").focus();
			return false;
		}
		if (trim($("#pword").val()) == '')
		{
			alert("Du måste fylla i användarnamn och lösenord!");
			$("#pword").focus();
			return false;
		}
	})
	
	$('#contact_form_submit').bind('click', function() {
		var msg = $('#msg').val();
		if (msg.indexOf('[url=') != -1)
		{
			alert('Otillåtna tecken i meddelandet. Var vänlig försök igen eller kontakta oss om du tror något är fel.');
			return false;
		}
	})
	
})
