function clearInput(objID, oVal)
{
	var cObj = document.getElementById(objID);
	var cVal = cObj.value;
	if (cVal == oVal)
		cObj.value = "";
}

function resetInput(objID, oVal)
{
	var cObj = document.getElementById(objID);
	var cVal = cObj.value;
	if (cVal == "")
		cObj.value = oVal;
}

function hideErrorContainer()
{
	jQuery("#errorContainerID").slideUp("slow");
}

function showError(e)
{
	switch (e)
	{
		case 1:
			alert("Fel användarnamn eller lösenord!");
			break;
		default:
			break;
	}
}

function echeck(str)
{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		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					
}

function notEmpty(objID)
{
	var obj = document.getElementById(objID);
	if (obj.value == "")
		return false;
	return true;
}

function validateSupportForm()
{
	var subjectOk = notEmpty("subject");
	var messageOk = notEmpty("message");
	if (!subjectOk)
	{
		alert("Du måste fylla i ärende eller titel.");
		document.getElementById("subject").focus();
		return false;
	}
	if (!messageOk)
	{
		alert("För kort meddelande.");
		document.getElementById("message").focus();
		return false;
	}
	return true;
}

function validateForgottenForm()
{
	var emailOk = echeck(document.getElementById('email').value);
	if (emailOk)
	{
		return true;
	}
	else
	{
		alert("E-postadressen är inte korrekt.");
		return false;
	}
}

function validateMembershipForm()
{
	var usernameOk = validateUsername();
	var passwordOk = validatePassword();
	var passwordRepeatOk = validatePasswordRepeat();
	var emailOk = validateEmail();
	if (!jQuery("#termsApproved").is(":checked"))
	{
		alert("Du måste godkänna användarvillkoren!");
		return false;
	}
	if (usernameOk && passwordOk && passwordRepeatOk && emailOk)
	{
		return true;
	}
	else
	{
		alert("Ett eller flera fält är fel ifyllda.");
		return false;
	}
}

function validateReviewForm()
{
	var obj = document.getElementById("review");
	var str = obj.value;
	if (str.length >= 40)
	{
		return true;
	}
	else
	{
		alert("Recensionen måste vara minst 40 tecken lång.");
		obj.focus();
		return false;
	}
}

function validateFavoriteForm()
{
	var commentLength = jQuery("#favoriteComment").val().length;
	if (commentLength <= 150)
	{
		return true;
	}
	else
	{
		alert("Kommentaren får vara högst 150 tecken lång.");
		jQuery("#favoriteComment").focus();
		return false;
	}
}

function validateFavoritesListForm()
{
	if (jQuery(":checkbox[name='favorites[]']:checked").length == 0)
	{
		alert("Inga favoriter är markerade.");
		return false;
	}
	
	return confirm("De favoriter som du markerat kommer att tas bort för gott.");
}

function validateMessageListForm()
{
	if (jQuery(":checkbox[name='messages[]']:checked").length == 0)
	{
		alert("Inga meddelanden är markerade.");
		return false;
	}
	
	return confirm("De meddelanden som du markerat kommer att tas bort för gott.");
}

function getExt(filename)
{
	var filelength = parseInt(filename.length) - 3;
	var fileExt = filename.substring(filelength, filelength + 3);
	return fileExt.toLowerCase();
}
function validateImageForm()
{
	var imageFile = jQuery("#imageFile").val();
	var descriptionLength = jQuery("#imageDescription").val().length;
	if (descriptionLength > 150)
	{
		alert("Beskrivningen får vara högst 150 tecken lång.");
		jQuery("#imageDescription").focus();
		return false;
	}
	if (imageFile == "")
	{
		alert("Du valde ingen fil.");
		return false;
	}
	var ext = getExt(imageFile);
	var allowed = /jpg|jpeg|png|gif/;
	if (ext.search(allowed) == -1)
	{
		alert("Du får bara ladda upp bilder av typerna jpeg/jpg, gif och png. Har du några frågor kring detta var vänlig kontakta oss.");
		return false;
	}
	return true;
}

function validateVoteForm()
{
	// var rating = jQuery("#ratingsel").val();
	var rating = jQuery("input[name='selrate']").val();
	if (rating < 1 || rating > 5 || !isInteger(rating))
	{
		alert("Du glömde rösta!");
		return false;
	}
	return true;
}

function validateUsername()
{
	var obj = document.getElementById('newUsername');
	var error = document.getElementById('usernameError');
	var ok = document.getElementById('usernameOk');
	var username = obj.value;
	var usernameLength = username.length;
	var pattern = /^[-_a-zA-ZåäöÅÄÖ0-9]+$/;

	if (usernameLength < 2 || usernameLength > 20 || !username.match(pattern)) {
		 error.style.display = 'block';
		 ok.style.display = 'none';
		 return false;
	}
	else {
		 error.style.display = 'none';
		 ok.style.display = 'block';
		 return true;
	}
}

function validatePassword()
{
	var obj = document.getElementById('newPassword');
	var error = document.getElementById('passwordError');
	var ok = document.getElementById('passwordOk');
	var password = obj.value;
	var passwordLength = password.length;
	if (passwordLength < 6 || passwordLength > 20) {
		 error.style.display = 'block';
		 ok.style.display = 'none';
		 return false;
	}
	else {
		 error.style.display = 'none';
		 ok.style.display = 'block';
		 return true;
	}
}

function validatePasswordRepeat()
{
	var obj = document.getElementById('newPassword');
	var obj2 = document.getElementById('newPasswordRepeat');
	var error = document.getElementById('passwordRepeatError');
	var ok = document.getElementById('passwordRepeatOk');
	var password = obj.value;
	var passwordRepeat = obj2.value
	if (passwordRepeat == '' || password != passwordRepeat) {
		 error.style.display = 'block';
		 ok.style.display = 'none';
		 return false;
	}
	else {
		 error.style.display = 'none';
		 ok.style.display = 'block';
		 return true;
	}
}

function validateEmail()
{
	var obj = document.getElementById('newEmail');
	var error = document.getElementById('emailError');
	var ok = document.getElementById('emailOk');
	var email = obj.value;
	if (echeck(email) == false) {
		 error.style.display = 'block';
		 ok.style.display = 'none';
		 return false;
	}
	else {
		 error.style.display = 'none';
		 ok.style.display = 'block';
		 return true;
	}
}

function loadImage(src)
{
	jQuery("#mainImage").attr("src", src);
}

function reply()
{
	// Reset form values
	jQuery("#replyPM_subject").val("");
	jQuery("#replyPM_message").val("");
	jQuery("#replyPM_sentdata").text("");
	jQuery("#replyPM_replyPM_pmID").val("");

	// Hide previous form
	jQuery("#readPMContainer").fadeOut(1000, function() {jQuery("#replyPMContainer").fadeIn(2000)});

	// Get PM id
	var pmID = jQuery("#readPM_pmID").val();

	// Set values of reply form
	jQuery("#replyPM_pmID").val(pmID);
	jQuery("#replyPM_subject").val("Sv: " + jQuery("#readPM_subject").val());
	jQuery("#replyPM_message").val("\n\n-------------------------------------\n" + jQuery("#readPM_message").val());
	jQuery("#replyPM_sentdata").html(jQuery("#readPM_sentdata").html());
}

function setPrevious(obj, current)
{
	var previous = current - 1;
	if (obj.checked)
	{
		var curID = "opening" + current;
		var prevID = "opening" + previous;
		jQuery("#" + curID).val(jQuery("#" + prevID).val());
		var curID = "closing" + current;
		var prevID = "closing" + previous;
		jQuery("#" + curID).val(jQuery("#" + prevID).val());
	}
}

function showMessage(id, msgType)
{
	// Hide confirmation and error message forms if visible
	if (jQuery("#confirmationContainerID").length > 0)
		jQuery("#confirmationContainerID").hide();
	if (jQuery("#errorContainerID").length > 0)
		jQuery("#errorContainerID").hide();

	// Reset form values
	jQuery("#readPM_subject").val("");
	jQuery("#readPM_message").val("");
	jQuery("#readPM_sentdata").text("");
	jQuery("#readPMContainer").slideDown("slow");
	
	// Get result from Ajax request and evaluate JSON response
	jQuery.getJSON("/_ajax/getPM.php", {id: id, msgType: msgType }, function(data) {
		// var obj = eval('(' + data + ')');
		// var obj = jQuery.evalJSON(data);
		var obj = data;
		jQuery("#readPM_pmID").val(obj.ID);
		jQuery("#readPM_subject").val(obj.subject);
		jQuery("#readPM_message").val(obj.message);

		  
		// Check if message is in in or out folder
		if (msgType == "in")
		{
			var prep = "av";
		}
		else
		{
			var prep = "till";
		}
		
		if ((obj.uName) === null)
		{
			var uName = "Svenska Fik";
			jQuery("#readPM_sentdata").append("Skickat " + obj.messageTime + " " + prep + " " + uName);
		}
		else
		{
			var uName = obj.uName;
			jQuery("#readPM_sentdata").append("Skickat " + obj.messageTime + " " + prep + " <a href=\"/medlemmar/" + obj.permalink + "\" title=\"Gå till medlemmens profil\">" + uName + "</a>");
		}
	});
}