/* get mouse position */
var mouseX = 0;
var mouseY = 0;
$(document).mousemove(function(e) { 
	mouseX = e.pageX;
	mouseY = e.pageY;
});
/* END :: get mouse position */

/* prohibited words & contact info */
var prohibited_words = new Array();
var prohibited_words_deleted = false;
var contact_info_deleted = false;
/* END :: prohibited words & contact info */

/* minimal animal age (in weeks) */
var minimal_animal_age_validation_enabled = false;
var minimal_animal_age_dog = 8;
var minimal_animal_age_cat = 12;
var minimal_animal_age_dog_m = 2;
var minimal_animal_age_cat_m = 3;

/* availability */
var min_availability_duration = 8; // in hours
var ad_prikaz_dodatne_ure = 0;
var ad_prikaz_dodatne_ure_changed = false;

/* need to provide password? */
var password_needed = true;

/* document ready function */
$(document).ready(function(){
	
	/* initialize all listeners on elements that could be added via AJAX as well */
	initializeListeners();
	
	/* activate lightBox plugin */
	$("a[rel*=lightbox]").lightBox({ txtImage: "Slika", txtOf: "od" });
	
	/* fix the flash elements for IE browsers */
	flashObjects = document.getElementsByTagName("object");
	for (var i = 0; i < flashObjects.length; i++) {
		flashObjects[i].outerHTML = flashObjects[i].outerHTML;
	}
	
	/* remove ad activation banner */
	$("#jq_remove_activation_banner").click(function(event) {
		event.preventDefault();
		
		$.ajax({
			url: "action/ajax",
			type: "POST",
			data: "action=remove_activation_banner",
			success: function(data) {
				$("#activate-banner-container").slideUp("fast", function() {
					$("#activate-banner-container").remove();
				});
			}
		});
	});
	
	/* blink the display message */
	if ($("div#displayMessage").size() > 0) $("div#displayMessage").fadeOut().fadeIn();
	
	/* show the explanation div */
	$("a.explanationDivShow").click(function(event) {
		event.preventDefault();
		var explanation = $(this).attr("rel");		// get the appropriate explanation
		var explanationOutput = $("div#" + explanation + "Explanation").html();
		if (explanationOutput == "") explanationOutput = $("div#notAvailableExplanation").html();
		if ($("div.explanationDivWrapper").css("display") == "none") {
			$("div#explanationDivContent").html(explanationOutput);
			$("div.explanationDivWrapper").css("top", (mouseY - 150) + "px");
			$("div.explanationDivWrapper").fadeIn("slow");
		} else if ($("div#explanationDivContent").html() != explanationOutput && $("div.explanationDivWrapper").css("display") != "none") {
			$("div#explanationDivContent").slideUp();
			$("div#explanationDivContent").html(explanationOutput);
			$("div.explanationDivWrapper").animate({ top:(mouseY - 150) + "px" }, 500);
			$("div#explanationDivContent").slideDown();
		} else {
			$("div#explanationDivContent").html(explanationOutput);
			$("div.explanationDivWrapper").fadeOut("slow");
		}
	});
	
	/* attach the character counters to some of the textares */
	if ($("#ad_name").size() > 0) $("#ad_name").charCounter(40, { container: "#ad_name_counter" });
	if ($("#ad_location").size() > 0) $("#ad_location").charCounter(70, { container: "#ad_location_counter" });
	if ($("#ad_title").size() > 0) $("#ad_title").charCounter(70, { container: "#ad_title_counter" });
	if ($("#ad_title_need").size() > 0) $("#ad_title_need").charCounter(70, { container: "#ad_title_need_counter" });
	if ($("#ad_title1_exchange").size() > 0) $("#ad_title1_exchange").charCounter(70, { container: "#ad_title1_exchange_counter" });
	if ($("#ad_title2_exchange").size() > 0) $("#ad_title2_exchange").charCounter(70, { container: "#ad_title2_exchange_counter" });
	if ($("#ad_mail").size() > 0) $("#ad_mail").charCounter(50, { container: "#ad_mail_counter" });
	
	/* switch filter values in ad lists */
	$("#inactive_v").click(function() {
		if(!$(this).is(":checked")) {
			$("#inactive_h").prop("checked", true);
		} else {
			$("#inactive_h").prop("checked", false);
		}
	});
	$("#active_v").click(function() {
		if(!$(this).is(":checked")) {
			$("#active_h").prop("checked", true);
		} else {
			$("#active_h").prop("checked", false);
		}
	});
	$("#archive_v").click(function() {
		if(!$(this).is(":checked")) {
			$("#archive_h").prop("checked", true);
		} else {
			$("#archive_h").prop("checked", false);
		}
	});
	$("#quarantine_v").click(function() {
		if(!$(this).is(":checked")) {
			$("#quarantine_h").prop("checked", true);
		} else {
			$("#quarantine_h").prop("checked", false);
		}
	});
	
	/* countdown */
	setInterval(function() {
		$(".countdown_item_time").each(function() {
			var rel = $(this).attr("rel");
			var type = "minutes";
			if(isNaN(parseInt(rel)))
				type = "seconds";
			console.log(rel + " " + type);
			
			var time = 0;
			var minutes = 0;
			var seconds = 0;
			
			if(type == "minutes") {
				minutes = parseInt($(this).html()) - 1;
				seconds = parseInt($(this).attr("rel"));
				time = minutes * 60 + seconds;
				
				time--;
				
				if(time > 60) {
					minutes = Math.floor(time / 60) + 1;
					seconds = time % 60;
					$(this).html(minutes);
					$(this).attr("rel", seconds);
				} else {
					$(this).html(time);
					$(this).attr("rel", "zero");
					$(this).next().html("s");
				}
			} else {
				seconds = parseInt($(this).html());
				time = seconds;
				time--;
				$(this).html(time);
			}
			
			if(time <= 0) {
				if($(this).parent().hasClass("jq_ad_contact")) {
					$(this).parent().css("color", "#000000").html("<a href='#' title='Prikaži kontakt' class='jq_contact_buy' id='" + id + "'>prikaži kontakt</a>");
				} else {
					$(this).parent().css("color", "#3bb548").html("Aktiven");
				}
			}
		});
	}, 1000);
	
	/* buy contact info */
	$(".jq_contact_buy_info").live("click", function(e) {
		e.preventDefault();
		
		content = "<p>Za prikaz kontaktnega podatka (telefon, email) je potrebno plačati simbolični prispevek v višini 0,25 EUR. S tem želimo doseči, da se bodo na oglas javili le tisti, ki si predmet resnično želijo in bi predmet nato tudi prevzeli.</p>" +
			"<p>Ko je število interesentov doseženo, se oglas avtomatično izbriše. Na ta način niste zasipani s klici, SMSi in e-maili, v veliki meri pa se znebite tudi neresnih interesentov, ki bi si kljub dogovoru kasneje premislili in predmeta ne bi šli prevzeti.</p>"	;
		
		showExplanationDiv("Prikaz kontaktnega podatka", content);
	});
	
	/* buy contact */
	$(".jq_contact_buy").live("click", function(e) {
		e.preventDefault();
		
		var id = $(this).attr("id");
		
		/* check if contact can be bought */
		if(!isNaN(parseInt(id))) {
			$.ajax({
				url: "action/ajax",
				type: "POST",
				data: "action=can contact be bought&id=" + id,
				success: function(data) {
					var data_arr = data.split("|");
					var content_yes = "<div class='jq_contacts_container'>" +
					"<span style='color: #39b44a; font-weight: bold; font-size: 13px;'>" +
					"Za pridobitev kontaktnih podatkov se zaračunava simbolični prispevek v višini 0,25 EUR." +
					"</span> - <a href='info-kontakt' title='Kliknite za več informacij' target='_blank'>kliknite za več informacij</a>" +
					"<br />" +
					"<div style='float:right;padding-top:5px;'><a href='http://www.moneta.si' title='Moneta' target='_blank'><img src='images/moneta_mali.gif' /></a></div>" +
					"<div style='padding-top:15px;'>Kontakt na voljo še: <strong><span class='jq_order_available'>" + (data_arr[1] - data_arr[3]) + "</span> interesentom</strong> (od skupaj " + data_arr[2] + ")<br />" +
					"Cena: <strong>0,25 EUR</strong><br />" +
					"Način plačila: <strong>MONETA</strong> - <a href='info-kontakt?c=2' title='Kliknite za več informacij' target='_blank'>kliknite za več informacij</a><br />" +
					"</div><br />" +
					"Če želite prejeti kontaktne podatke, vpišite svojo telefonsko številko in kliknite na gumb \"Želim kontaktne podatke\"<br />" +
					"<br /><div class='jq_order_box'>" +
					"<form method='post' action='action/create-contact-order'>" +
					"<input type='hidden' name='id' class='jq_create_contact_order_ad_id' value='" + id + "' />" +
					"<div style='width: 230px; margin: 0 auto 0 auto;'>" +
					"<span style='width: 70px;'>Telefon: </span>" +
					"<select style='width:55px;' name='phone_network' class='jq_create_contact_order_phone_n'>"+
						"<option value='030'>030</option>" +
						"<option value='031'>031</option>" +
						"<option value='040'>040</option>" +
						"<option value='041'>041</option>" +
						"<option value='050'>050</option>" +
						"<option value='051'>051</option>" +
						"<option value='064'>064</option>" +
						"<option value='070'>070</option>" +
					"</select>" +
					"<input type='text' name='phone_number' class='jq_create_contact_order_phone' style='width: 105px;' /><br />" +
					"<span style='color: red; display:none;' class='jq_create_contact_order_phone_error'>Telefonska številka je obvezen podatek.<br /></span><br />" +
					"</div><div style='width: 170px; margin: 0 auto 0 auto;'>" +
					"<input type='submit' value='Želim kontaktne podatke' class='jq_create_contact_order' id='" + id +"' style='color: #f26522;' /></div>" +
					"</form></div><br />" +
					"<span style='font-style: italic;'>S klikom na gumb se vam bo odprlo okno za plačilo kontakta, ki se vam bo po plačilu izpisal v oglasu. Reklamacij ne upoštevamo.</span> " +
					"<a href='splosni-pogoji' title='Splošni pogoji' target='_blank'>splošni pogoji</a><br /></div>";
					
					var content_maybe = "<span style='color: #39b44a; font-weight: bold; font-size: 13px;'>" +
					"Za pridobitev kontaktnih podatkov se zaračunava simbolični prispevek v višini 0,25 EUR." +
					"</span> - <a href='info-kontakt' title='Kliknite za več informacij' target='_blank'>kliknite za več informacij</a>" +
					"<br />" +
					"<div style='float:right;padding-top:5px;'><a href='http://www.moneta.si' title='Moneta' target='_blank'><img src='images/moneta_mali.gif' /></a></div>" +
					"<div style='padding-top:15px;'>Kontakt na voljo še: <strong>0 interesentom</strong> (od skupaj " + data_arr[2] + ")<br />" +
					"Cena: <strong>0,25 EUR</strong><br />" +
					"Način plačila: <strong>MONETA</strong> - <a href='info-kontakt?c=2' title='Kliknite za več informacij' target='_blank'>kliknite za več informacij</a><br />" +
					"</div><br /><div class='jq_order_box' style='color: red;'>" +
					"Trenutno kontakt ni več na voljo, ker je " + data_arr[2] + ". interesent v procesu nakupa. V kolikor se premisli v roku 10 minut, bo kontakt zopet na voljo, zato osvežujte stran." +
					"</div><br />" +
					"<span style='font-style: italic;'>S klikom na gumb se vam bo odprlo okno za plačilo kontakta, ki se vam bo po plačilu izpisal v oglasu. Reklamacij ne upoštevamo.</span> " +
					"<a href='splosni-pogoji' title='Splošni pogoji' target='_blank'>splošni pogoji</a><br />";
					
					if(data_arr[0] == "YES") {
						showExplanationDiv("Kontakt - oglas št. " + id, content_yes);
					} else if(data_arr[0] == "MAYBE") {
						showExplanationDiv("Kontakt - oglas št. " + id, content_maybe);
					}
				}
			});
		}
	});
	
	$(".jq_create_contact_order").live("click", function(e) {
		e.preventDefault();
		
		var form_handle = $(this).parents("form").eq(0);
		form_handle.find(".jq_create_contact_order_phone").eq(0).trigger("blur");
		
		var id = form_handle.find(".jq_create_contact_order_ad_id").eq(0).val();
		var network = form_handle.find(".jq_create_contact_order_phone_n").eq(0).val();
		var phone = form_handle.find(".jq_create_contact_order_phone").eq(0).val();
		
		if(phone == "" || id == "" || network == "") {
			if(phone == "" || phone == undefined)
				form_handle.find(".jq_create_contact_order_phone_error").eq(0).show();
		} else {
			$.ajax({
				url: "action/ajax",
				type: "POST",
				async: false,
				data: "action=can contact be bought&id=" + id,
				success: function(data) {
					var data_arr = data.split("|");
					if(data_arr[0] != "YES") {
						if(data_arr[0] == "MAYBE") {
							form_handle.parents(".jq_contacts_container").eq(0).find(".jq_order_available").eq(0).html("0");	
							form_handle.parents(".jq_order_box").eq(0).css("color", "red").html("Trenutno kontakt ni več na voljo, ker je " + data_arr[2] + ". interesent v procesu nakupa. V kolikor se premisli v roku 10 minut, bo kontakt zopet na voljo, zato osvežujte stran.");
						}
					} else {
						form_handle.submit();
					}
				}
			});
		}
	});
	
	$(".jq_create_contact_order_phone").live("keyup", function(event) {
		$(this).parents("form").eq(0).find(".jq_create_contact_order_phone_error").eq(0).hide();
		
		var contact_tel = $(this).val();
		var contact_tel_output = "";
		for (i = 0; i < contact_tel.length; i++) {
			if (contact_tel.charAt(i) >= 0 && contact_tel.charAt(i) <= 9 && contact_tel.charAt(i) != " ") {
				contact_tel_output += contact_tel.charAt(i);
			} else {
				$(this).animate({ opacity:0.2 }, 200).animate({ opacity:1.0 }, 200);
			}
		}
		contact_tel_output = contact_tel_output.substring(0, 6);			
		$(this).val(contact_tel_output);
	});
	
	$(".jq_create_contact_order_phone").live("blur", function(event) {
		var contact_tel = $(this).val();
		
		if(contact_tel.length < 6) {
			$(this).val("");
		}
	});
	
	/* if animal age is displayed on page load, trigger category select to validate age */
	var cat = $("#ad_category_start").val();
	
	if(cat > 100000 && cat < 110000) {
		if($("#ad_categories_three").html() != "")
			$("select#ad_category_three").trigger("change");
		else
			$("select#ad_category_two").trigger("change");
	}
	
	/* remove saved ad from list */
	$(".saved_ad_remove").live("click", function(e) {
		e.preventDefault();
		
		var id = $(this).attr("id");
		
		$.post("action/ajax", 
			{ action: "remove ad from saved ads", id: id}, 
			function(data) {		
				showOptionsDiv("Odstranjevanje oglasa", "Prosimo, počakajte ...", 200);
				if(data == "REMOVED") {
					$(this).parents("td").eq(0).slideUp();
					$("div#optionsDivContent").html("Oglas je bil uspešno odstranjen s seznama shranjenih oglasov.");
					initializeListeners();
					setTimeout("location.reload();", 2500);	
				} else {
					$("div#optionsDivContent").html("Pri odstranjevanju oglasa je prišlo do napake.");
					initializeListeners();
					setTimeout("$(\"a.optionsDivClose\").click();", 2500);	
				}
			}
		);
	});
});

function showWarningDiv(errorOutput) {
	$("div#warningDivContent").html(errorOutput);
	$("div.warningDivWrapper").css("top", (mouseY - 150) + "px");
	$("div.warningDivWrapper").fadeIn("slow");
}

function showOptionsDiv(divTop, divContent, distance) {
	$("div#optionsDivTop").html(divTop + '<a href="#" class="optionsDivClose" style="float: right; padding-right: 20px; color: white;">X</a>');
	$("div#optionsDivContent").html(divContent);
	top_offset = $(document).scrollTop() + 200;
	$("div.optionsDivWrapper").css("top", top_offset + "px");
	$("div.optionsDivWrapper").fadeIn("slow");
	
	initializeListeners();
}

function showExplanationDiv(top, content) {
	$(".explanationDivClose").html("Zapri okno");
	$(".explanationDivTop").html(top + '<a href="#" class="explanationDivClose" style="float: right; padding-right: 20px; color: white;">X</a>');
	
	if (!$("div.explanationDivWrapper").is(":visible")) {
		$("div#explanationDivContent").html(content);
		$("div.explanationDivWrapper").css("top", (mouseY - 150) + "px");
		$("div.explanationDivWrapper").fadeIn("slow");
	} else if ($("div#explanationDivContent").html() != content && $("div.explanationDivWrapper").css("display") != "none") {
		$("div#explanationDivContent").slideUp();
		$("div#explanationDivContent").html(content);
		$("div.explanationDivWrapper").animate({ top:(mouseY - 150) + "px" }, 500);
		$("div#explanationDivContent").slideDown();
	} else {
		$("div#explanationDivContent").html(content);
		$("div.explanationDivWrapper").fadeOut("slow");
	}
	
	initializeListeners();
}

/* initialize all listeners - this function can be called even after insertion of HTML code via AJAX */
function initializeListeners() {
	
	/* handle various actions */
	$("a.linkItemAction").unbind("click").click(function(event) {
		event.preventDefault();
		var link_action = $(this).attr("id");
		var item_id = $(this).attr("name");
		if (link_action == "linkPrintItem") {
			window.print();
			return true;
		} else if (link_action == "linkReportItem") {
			var div_html_top = "Prijavi oglas";
		} else if (link_action == "linkShareItem") {
			var div_html_top = "Povej naprej";
		} else if (link_action == "linkSaveItem") {
			var div_html_top = "Shrani oglas";
		}
		showOptionsDiv(div_html_top, "Prosimo, počakajte ...", 200);
		$.post("action/ajax", 
			{ action: link_action, id: item_id}, 
			function(data) {		
				$("div#optionsDivContent").html(data);
				initializeListeners();
				if (link_action == "linkSaveItem") {
					var savedItemsCount = parseInt($("span#savedItemsCount").html()) + 1;
					if (substr_count(data, "nahaja") == 0) {
						$("span#savedItemsCount").html(savedItemsCount);
					}
					setTimeout("$(\"a.optionsDivClose\").click();", 2500);		
				}
			}
		);
	});
	
	/* report an item (the form HTML code is inserted via AJAX) */
	$("input#submitReportButton").unbind("click").click(function(event) {
		event.preventDefault();
		
		if ($("input[name=report_reason]:checked").size() == 0) {
			$("#reportAdError").show();	
		} else {
			$("span#submitReportWait").fadeIn("slow");
			
			$.post("action/ajax", 
				{ action: "linkReportItemSubmit", id: $("input#submitReportId").val(), reason: $("input[name=report_reason]:checked").val() }, 
				function(data) {		
					$("div#optionsDivContent").html(data);
					setTimeout("$(\"a.optionsDivClose\").click();", 2500);
					initializeListeners();
				}
			);	
		}
	});
	
	/* share an item with friends (the form HTML code is inserted via AJAX) */
	$("input#submitShareButton").unbind("click").click(function(event) {
		event.preventDefault();
		$("input#submitShareButton").attr("disabled", "true");
		$("span#submitShareWait").fadeIn("slow");
		
		var errorOutput = "";
		if (!$("input#submitShareName").val()) errorOutput += "- niste podali svojega imena<br />";
		if (!$("input#submitShareEmail").val()) errorOutput += "- niste podali svojega e-poštnega naslova<br />";
		if (!$("#submitShareText").val()) errorOutput += "- niste napisali sporočila za prijatelje<br />";
		if (!$("input#submitShareEmail1").val() && !$("input#submitShareEmail2").val() && !$("input#submitShareEmail3").val()) errorOutput += "- niste podali nobenega veljavnega e-poštnega naslova<br />";
		
		if (errorOutput) {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			$("a.optionsDivClose").click();
			showWarningDiv(errorOutput);
			setTimeout("$(\"a.warningDivClose\").click();", 6000);
			return false;	
		}
		
		$.post("action/ajax", 
			{ action: "linkShareItemSubmit", 
				id: $("input#submitShareId").val(), 
				name: $("input#submitShareName").val(), 
				return_email: $("input#submitShareEmail").val(), 
				email1: $("input#submitShareEmail1").val(), 
				email2: $("input#submitShareEmail2").val(), 
				email3: $("input#submitShareEmail3").val(), 
				text: $("#submitShareText").val() }, 
			function(data) {		
				$("div#optionsDivContent").html(data);
				setTimeout("$(\"a.optionsDivClose\").click();", 2500);
				initializeListeners();
			}
		);	
	});
	
	/* handle various actions */
	$("a.linkSimilarItem").unbind("click").click(function(event) {
		event.preventDefault();
		var link_action = $(this).attr("id");
		var item_id = $(this).attr("name");
		$("div#similarItemContent").animate({ opacity: 0.3 }, 800);
		$("div#similarItemTop").html("<b>Prosimo, počakajte ...</b>");

		$.post("action/ajax", 
			{ action: link_action, id: item_id}, 
			function(data) {		
				$("div#similarItemContent").animate({ opacity: 1.0 }, 500);
				$("div#similarItem").html(data).fadeIn("slow");
				initializeListeners();
			}
		);
	});
	
	/*
	 * 		FORMS
	 */
	
	/* make the appropriate changes to the "add item" form, based on item type */
	$("input[name=ad_type]").unbind("click").click(function(event) {
		value = parseInt($("input[name=ad_type]:checked").val());
		if (value <= 0) {
			/* MODE: donate */
			$("#toggleDescriptionText").html("predmeta");		// field text
			$("#toggleDescriptionTextAdditional").html("barva, velikost, lastnosti,... ");
			
			$(".switchHideItem").slideUp("slow");
			$(".switchNeedItem").not(".switchDonateItem").slideUp("slow");
			$(".switchExchangeItem").not(".switchDonateItem").slideUp("slow");
			$(".switchDonateItem").not("visible").slideDown("slow");
			
			$("select#ad_category_one").trigger("change");
			
			$(".quality_extra_text").hide();
		} else if(value == 1) {
			/* MODE: need */
			$("#toggleDescriptionText").html("predmeta");		// field text
			$("#toggleDescriptionTextAdditional").html("barva, velikost, lastnosti,... ");
			
			$(".switchHideItem").slideUp("slow");
			$(".switchDonateItem").not(".switchNeedItem").slideUp("slow");
			$(".switchExchangeItem").not(".switchNeedItem").slideUp("slow");
			$(".switchNeedItem").not(":visible").slideDown("slow");
			
			$("select#ad_category_one").trigger("change");
			
			$(".quality_extra_text").hide();
		} else {
			/* MODE: exchange */
			$("#toggleDescriptionText").html("menjave");		// field text
			$("#toggleDescriptionTextAdditional").html("kaj točno ponujate vi, kaj bi radi v zameno... ");
			
			$(".switchHideItem").slideUp("slow");
			$(".switchDonateItem").not(".switchExchangeItem").slideUp("slow");
			$(".switchNeedItem").not(".switchExchangeItem").slideUp("slow");
			$(".switchExchangeItem").not(":visible").slideDown("slow");
			
			$("select#ad_category_one").trigger("change");
			
			$(".quality_extra_text").show();
		}
	});
	
	/* copy the network number to the edit ad phone field on change */
	$("select#ad_contact_tel_dropdown").unbind("change").change(function() {
		var network_number = $(this).val();
		
		if($("input#ad_contact_tel").val() != "") {
			$("#ad_edit_info_phone_network option[value=" + network_number + "]").attr("selected", "selected");
			$("#ad_edit_info_phone_network_hidden").val(network_number);
			$("select#ad_edit_info_phone_network").trigger("change"); 	// trigger user phone number check
		}
	});
	
	/* trigger phone number check on network number change */
	$("select#ad_edit_info_phone_network").unbind("change").change(function() {
		if($("#ad_edit_info_phone").val() != "") {
			$("#ad_edit_info_phone").trigger("blur");	// trigger phone number blur
		}
	});
	
	/* make sure that all telephone numbers consist of nothing but numbers */
	$("input#ad_contact_tel, #ad_edit_info_phone").each(function() {
		$(this).unbind("keyup").keyup(function(event) {
			var contact_tel = $(this).val();
			var contact_tel_output = "";
			for (i = 0; i < contact_tel.length; i++) {
				if (contact_tel.charAt(i) >= 0 && contact_tel.charAt(i) <= 9 && contact_tel.charAt(i) != " ") {
					contact_tel_output += contact_tel.charAt(i);
				} else {
					$(this).animate({ opacity:0.2 }, 200).animate({ opacity:1.0 }, 200);
				}
			}
			contact_tel_output = contact_tel_output.substring(0, 6);			
			$(this).val(contact_tel_output);
			
			// check or uncheck the checkbox in front of the input + update number
			if($(this).attr("id") == "ad_contact_tel") {
				if(contact_tel_output != "") {
					$("#ad_contact_type_phone").prop("checked", true);
					
					var network_number = $("select#ad_contact_tel_dropdown").val();
					$("#ad_edit_info_phone_network option[value=" + network_number + "]").attr("selected", "selected");
					$("#ad_edit_info_phone").val(contact_tel_output);
				} else {
					$("#ad_contact_type_phone").prop("checked", false);
				}
			}
		});
	});
	
	/* on phone number blur, check if phone number length is 6 characters, otherwise clear input */
	$("input#ad_contact_tel, #ad_edit_info_phone").unbind("blur").blur(function(event) {
		var contact_tel = $(this).val();
		
		if(contact_tel.length < 6) {
			$(this).val("");
		} else {
			$(this).trigger("keyup");
		}
		
		/* copy phone number to the edit ad field */
		if($(this).attr("id") == "ad_contact_tel") {
			if(contact_tel.length < 6) {
				$("#ad_edit_info_phone").val("").prop("disabled", "");
				$("#ad_edit_info_phone_network").prop("disabled", "");
				$("#ad_edit_info_phone_network_hidden").val("");
				$("#ad_edit_info_phone_hidden").val("");
				$("#ad_contact_type_phone").prop("checked", false);
				$("#ad_contact_tel_error").show();
				$("#toggleAdEditPassword").slideDown("slow");
				password_needed = true;
			} else {
				$("#ad_edit_info_phone").val(contact_tel).prop("disabled", "disabled").trigger("blur");
				$("#ad_edit_info_phone_network").prop("disabled", "disabled");
				$("#ad_edit_info_phone_network_hidden").val($("#ad_edit_info_phone_network").val());
				$("#ad_edit_info_phone_hidden").val($("#ad_edit_info_phone").val());
				$("#ad_contact_tel_error").hide();
			}
		}
		
		/* check if the phone number already exists in the database */
		if($(this).attr("id") == "ad_edit_info_phone") {
			var network_number = $("#ad_edit_info_phone_network").val();
			$.ajax({
				url: "action/ajax",
				type: "POST",
				data: "action=check user phone number&number=" + network_number + contact_tel,
				success: function(data) {
					if(data == "EXISTS") {
						$("#toggleAdEditPassword").slideUp("slow");
						password_needed = false;
					} else {
						$("#toggleAdEditPassword").slideDown("slow");
						password_needed = true;
					}
				}
			});
		}
	});
	
	/* register phone keyup */
	$("#registerForm").find("#number").eq(0).unbind("keyup").keyup(function(event) {
		var contact_tel = $(this).val();
		var contact_tel_output = "";
		for (i = 0; i < contact_tel.length; i++) {
			if (contact_tel.charAt(i) >= 0 && contact_tel.charAt(i) <= 9 && contact_tel.charAt(i) != " ") {
				contact_tel_output += contact_tel.charAt(i);
			} else {
				$(this).animate({ opacity:0.2 }, 200).animate({ opacity:1.0 }, 200);
			}
		}
		
		var perform_check = false;
		if(contact_tel_output.length == 6)
			perform_check = true;
		
		contact_tel_output = contact_tel_output.substring(0, 6);			
		$(this).val(contact_tel_output);
		
		if(perform_check) {
			var network_number = $("#registerForm").find("#network").eq(0).val();
			$.ajax({
				url: "action/ajax",
				type: "POST",
				data: "action=check user phone number&number=" + network_number + contact_tel_output,
				success: function(data) {
					if(data == "EXISTS") {
						$("#register_phone_message").show();
						$("#registerForm").find("#number").eq(0).val("");
					} else {
						$("#register_phone_message").hide();
					}
				}
			});
		}
	});
	$("#registerForm").find("#network").eq(0).unbind("change").change(function() {
		var contact_tel = $("#registerForm").find("#number").eq(0).val();
		
		if(contact_tel.length == 6) {
			var network_number = $("#registerForm").find("#network").eq(0).val();
			$.ajax({
				url: "action/ajax",
				type: "POST",
				data: "action=check user phone number&number=" + network_number + contact_tel,
				success: function(data) {
					if(data == "EXISTS") {
						$("#register_phone_message").show();
						$("#registerForm").find("#number").eq(0).val("");
					} else {
						$("#register_phone_message").hide();
					}
				}
			});
		}
	});
	
	/* pre-fill the email field */
	$("input#ad_contact_mail").unbind("keyup").keyup(function(event) {
		/*$("input#ad_mail").val($("input#ad_contact_mail").val());*/
		
		if($(this).val() != "")
			$("#ad_contact_type_email").prop("checked", true);
	});
	
	/* on email field blur, validate email and clear field if email is not valid */
	$("input#ad_contact_mail").unbind("blur").blur(function() {
		email_to_validate = $("input#ad_contact_mail").val();
		
		if(email_to_validate != "") {
			$.post("action/ajax", 
				{ action: "validate email", email: email_to_validate }, 
				function(data) {
					if(data != "") {
						$("span#ad_contact_mail_error").html(data);
						$("input#ad_contact_mail").val("");
						
						$("#ad_contact_type_email").prop("checked", false);
					} else {
						$("span#ad_contact_mail_error").html(data);
						$("input#ad_mail").val($("input#ad_contact_mail").val());
						
						$("#ad_contact_type_email").prop("checked", true);
					}
				}
			);
		} else {
			$("#ad_contact_type_email").prop("checked", false);
		}
	});
	
	/* switch available type */
	$(".ad_available_type").unbind("click").change(function(event) {
		if($(this).val() != "kadarkoli")
			$("#ad_available_type_termin").slideDown();
		else
			$("#ad_available_type_termin").slideUp();
	});
	
	
	/* change the select options for the ad_available_to field */
	$("select#ad_available_from").unbind("change").change(function(event) {
		available_from = parseInt($("select#ad_available_from").val()) + 4;
		available_to = parseInt($("select#ad_available_to").val());
		
		options = "<option value='-1'>Izberite uro</option>";
		for(var i = available_from; i <= 24; i++) {
			options += "<option value='" + i + "'>" + i + "</option>\n";
		}
		$("select#ad_available_to").html(options);
		
		if(available_to >= available_from && available_to <= 24) {
			$("select#ad_available_to option[value=" + available_to + "]").attr("selected", "selected");
		}
		
		$("select#ad_available_to").trigger("change");
	});
	
	var date = new Date();
	date.setHours(date.getHours() + 4);
	minutes = date.getMinutes();
	if(minutes < 10)
		minutes = "0" + minutes;
	$("#ad_available_to_message").html("<span id='ad_available_prikaz'>" + date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear() + " ob " + date.getHours() + ":" + minutes + "</span>&nbsp;&nbsp;&nbsp;");
	
	$("#ad_prikaz_vec").unbind("click").click(function(e) {
		e.preventDefault();
		if(ad_prikaz_dodatne_ure < 24) {
			ad_prikaz_dodatne_ure_changed = true;
			ad_prikaz_dodatne_ure += 1;
			$("#ad_prikaz_dodatne_ure").val(ad_prikaz_dodatne_ure);
			
			date = new Date();
			date.setHours(date.getHours() + 4 + ad_prikaz_dodatne_ure);
			minutes = date.getMinutes();
			if(minutes < 10)
				minutes = "0" + minutes;
			
			$("#ad_available_prikaz").html(date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear() + " ob " + date.getHours() + ":" + minutes);
		}
	});
	$("#ad_prikaz_manj").unbind("click").click(function(e) {
		e.preventDefault();
		if(ad_prikaz_dodatne_ure > 0) {
			ad_prikaz_dodatne_ure_changed = true;
			ad_prikaz_dodatne_ure -= 1;
			$("#ad_prikaz_dodatne_ure").val(ad_prikaz_dodatne_ure);
			
			date = new Date();
			date.setHours(date.getHours() + 4 + ad_prikaz_dodatne_ure);
			minutes = date.getMinutes();
			if(minutes < 10)
				minutes = "0" + minutes;
			
			$("#ad_available_prikaz").html(date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear() + " ob " + date.getHours() + ":" + minutes);
		}
	});
	
	/* change the select options for the ad_available_to field */
	$("select#ad_available_to").unbind("change").change(function(event) {
		if(!ad_prikaz_dodatne_ure_changed) {
			available_from = parseInt($("select#ad_available_from").val());
			available_to = parseInt($("select#ad_available_to").val());
			message = "Kontakt bo v vašem oglasu javno prikazan ";
			
			if(available_to != -1) {
				date = new Date();
				if(date.getHours() + 4 > available_to || (date.getHours() + 4 == available_to && date.getMinutes() > 0)) {
					date.setDate(date.getDate() + 1);
					ad_prikaz_dodatne_ure = available_from + 24 - date.getHours() - 4;
					$("#ad_prikaz_dodatne_ure").val(ad_prikaz_dodatne_ure);
					
					date.setHours(available_from);
					minutes = date.getMinutes();
					if(minutes < 10)
						minutes = "0" + minutes;
					$("#ad_available_prikaz").html(date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear() + " ob " + date.getHours() + ":" + minutes);
				} else {
					date = new Date();
					date.setHours(date.getHours() + 4);
					ad_prikaz_dodatne_ure = 0;
					$("#ad_prikaz_dodatne_ure").val(ad_prikaz_dodatne_ure);
					
					minutes = date.getMinutes();
					if(minutes < 10)
						minutes = "0" + minutes;
					$("#ad_available_to_message").html("<span id='ad_available_prikaz'>" + date.getDate() + "." + (date.getMonth() + 1) + "." + date.getFullYear() + " ob " + date.getHours() + ":" + minutes + "</span>&nbsp;&nbsp;&nbsp;");
				}
			}
		}
	});
	
	/* display the full location from inserted post number */
	$("input#ad_location_post").unbind("keyup").keyup(function(event) {
		value = $("input#ad_location_post").val();
		if (value.length == 4) {
			$("span#ad_location_full").fadeOut("slow");
			$.post("action/ajax", 
				{ action: "update location", post_number: value }, 
				function(data) {
					$("span#ad_location_full").html(data).fadeIn("slow");
					if(data == "Vnesli ste neveljavno poštno številko.") {
						$("input#ad_location_post").val("");
					}
					
					setTimeout("$(\"div#addItemMapPreviewLoading\").slideUp(\"slow\");", 1400);
					setTimeout("$(\"div#adLocationPlaceholder\").slideUp(\"slow\");", 1500);
					setTimeout("$(\"div#addItemMapPreview\").slideDown(\"slow\");", 1500);
				}
			);
		} else if(value.length > 4) {
			$("input#ad_location_post").val(value.substring(0, 4));
		} else if(value.length < 4) {
			$("span#ad_location_full").fadeOut("fast");
		}
	});
	
	/* on post office number blur, if post office number length is less than 4 clear the field and hide map */
	$("input#ad_location_post").unbind("blur").blur(function(event) {
		if(($(this).val()).length < 4) {
			$(this).val("");
			$("span#ad_location_full").fadeOut("fast");
		}
		
		$("input#ad_location_post").trigger("keyup");
	});
	
	/* validate activation code */
	$("input#activation_code").unbind("keyup").keyup(function(event) {
		value = $("input#activation_code").val();
		if(value.length > 4) {
			$("input#activation_code").val(value.substring(0, 4));
		}
	});	
	
	/* if the field is already filled out, fetch the map */
	var postNumberValue = $("input#ad_location_post").val();
	if (postNumberValue != undefined && postNumberValue.length == 4 && $("span#ad_location_full").html() == "") {
		$("input#ad_location_post").keyup();
	}
	
	/* find subcategories for category number 1 */
	$("select#ad_category_one").unbind("change").change(function() {
		value = $("select#ad_category_one option:selected").val();
		if (value == 0) {
			$("div#ad_categories_two").slideUp("slow").html("");
			$("div#ad_categories_three").slideUp("slow").html("");
		} else {
			$("div#ad_categories_three").slideUp("slow").html("");
			$("div.toggleDogSubcategory").slideUp();
			
			/* activate the appropriate HTML input field inside the form */
			if($("#ad_type_hidden").size() > 0)
				adType = $("#ad_type_hidden").val();
			else 
				adType = $("input[name=ad_type]:checked").val();

			if(adType <= 0 || adType == undefined || adType == 2) {
				if (value == 100000) {
					$("div.toggleItemQuality").slideUp();
					$("div.toggleAnimalPlantAge").slideDown();
				} else {
					$("div.toggleItemQuality").slideDown();
					$("div.toggleAnimalPlantAge").slideUp();
				}
			}
			
			/* alter texts */
			if (value == 100000) {
				$("#ad_title_donate_text").html("Žival / rastlina, ki jo podarjate");
				$("#ad_title_need_text").html("Žival / rastlina, ki jo iščete");
				$("#ad_title_exchange_text").html("Žival / rastlina, ki jo ponujate");
				$("#ad_title2_exchange_text").html("Predmet ali žival, ki jo želite v zameno");
				$("#ad_title_donate_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				$("#ad_title_need_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				$("#ad_title_exchange_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				
				if(adType <= 1 || adType == undefined) {
					$("#toggleDescriptionText").html("živali / rastline");
					$("#toggleDescriptionTextAdditional").html("");
				}
			} else {
				$("#ad_title_donate_text").html("Predmet, ki ga podarjate");
				$("#ad_title_need_text").html("Predmet, ki ga iščete");
				$("#ad_title_exchange_text").html("Predmet, ki ga ponujate");
				$("#ad_title2_exchange_text").html("Predmet, ki ga želite v zameno");
				$("#ad_title_donate_text_example").html("(primer: Pralni stroj Gorenje WA 909X)");
				$("#ad_title_need_text_example").html("(primer: Pralni stroj Gorenje WA 909X)");
				$("#ad_title_exchange_text_example").html("(primer: Pralni stroj Gorenje WA 909X)");
				
				if(adType <= 1 || adType == undefined) {
					$("#toggleDescriptionText").html("predmeta");
					$("#toggleDescriptionTextAdditional").html("barva, velikost, lastnosti,... ");
				}
			}
				
			/* set animal_plant_age text to default */
			$("#ad_plant_or_animal_text").html("živali / rastline");

			$.post("action/ajax", 
				{ action: "load category two", parent_category: value }, 
				function(data) {
					if (data == "additional categories not found") {
						$("div#ad_categories_two").slideUp("slow").html("");	
					} else {
						$("div#ad_categories_two").html(data).slideDown("slow");
					}
					initializeListeners();
				}
			);	
		}
	});
	
	/* find subcategories for category number 2 */
	$("select#ad_category_two").unbind("change").change(function() {
		value = $("select#ad_category_two option:selected").val();
		if (value <= 0) {
			$("div#ad_categories_three").slideUp("slow").html("");
		} else {
			
			/* alter texts */
			if($("#ad_type").size() > 0)
				adType = $("#ad_type").val();
			else
				adType = $("input[name=ad_type]:checked").val();
			if (value == 100600 || value == 100700) {
				$("#ad_title_donate_text").html("Rastlina, ki jo podarjate");
				$("#ad_title_need_text").html("Rastlina, ki jo iščete");
				$("#ad_title_exchange_text").html("Rastlina, ki jo ponujate");
				$("#ad_title2_exchange_text").html("Predmet ali rastlina, ki jo želite v zameno");
				$("#ad_title_donate_text_example").html("(primer: Orhideje v okrasnih loncih)");
				$("#ad_title_need_text_example").html("(primer: Orhideje v okrasnih loncih)");
				$("#ad_title_exchange_text_example").html("(primer: Orhideje v okrasnih loncih)");
				if(adType <= 1 || adType == undefined)
					$("#toggleDescriptionText").html("rastline");
			} else if(value == 100800){
				$("#ad_title_donate_text").html("Žival / rastlina, ki jo podarjate");
				$("#ad_title_need_text").html("Žival / rastlina, ki jo iščete");
				$("#ad_title_exchange_text").html("Žival / rastlina, ki jo ponujate");
				$("#ad_title2_exchange_text").html("Predmet ali žival, ki jo želite v zameno");
				$("#ad_title_donate_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				$("#ad_title_need_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				$("#ad_title_exchange_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				if(adType <= 1 || adType == undefined)
					$("#toggleDescriptionText").html("živali / rastline");
			} else if(value >= 100000 && value < 101000){
				$("#ad_title_donate_text").html("Žival, ki jo podarjate");
				$("#ad_title_need_text").html("Žival, ki jo iščete");
				$("#ad_title_exchange_text").html("Žival, ki jo ponujate");
				$("#ad_title2_exchange_text").html("Predmet ali žival, ki jo želite v zameno");
				$("#ad_title_donate_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				$("#ad_title_need_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				$("#ad_title_exchange_text_example").html("(primer: Dolgodlaki nemški ovčar Bruno)");
				if(adType <= 1 || adType == undefined)
					$("#toggleDescriptionText").html("živali");
			}
			
			/* display dog special fields if the selected subcategory is dogs */
			if($("#ad_type").size() > 0)
				adType = $("#ad_type").val();
			else
				adType = $("input[name=ad_type]:checked").val();
			if(adType <= 0 || adType == undefined) {
				if (value == 100100) {
					$("div.toggleDogSubcategory").slideDown();
				} else {
					$("div.toggleDogSubcategory").slideUp();
				}
			}
			
			/* change animal_plant_age text */
			minimal_animal_age_validation_enabled = false; 			// initialize
			if(value == 100600 || value == 100700) {
				$("#ad_plant_or_animal_text").html("rastline");
			} else if(value == 100800) {
				$("#ad_plant_or_animal_text").html("živali / rastline");
			} else {
				$("#ad_plant_or_animal_text").html("živali");
			
				if(value == 100100 || value == 100200) {
					minimal_animal_age_validation_enabled = true;		// enable minimal age validation
				}
			}
			$("#ad_animal_plant_age").trigger("change");		// trigger validation
			
			$.post("action/ajax", 
				{ action: "load category three", parent_category: value }, 
				function(data) {
					if (data == "additional categories not found") {
						$("div#ad_categories_three").slideUp("slow").html("");	
					} else {
						$("div#ad_categories_three").html(data).slideDown("slow");	
					}
					initializeListeners();
				}
			);
		}
	});
	
	/* delete words from ad_title field on keyup */
	$("input#ad_title").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var removed_contact = removeContactInfo($("input#ad_title").val());
			var prohibited_response = removeProhibitedWords(removed_contact, "naslov", $("input#ad_title").data("prohibited"));
			
			$("input#ad_title").val(prohibited_response["text"]);
			if(prohibited_words_deleted) {
				$("span#ad_title_warning_words").html(prohibited_response["prohibited"]);
				$("div#ad_title_warning").show();
				
				$("input#ad_title").data("prohibited", prohibited_response["prohibited"]);
			}
			if(contact_info_deleted) {
				$("div#jq_remove_contacts_title").show();
			}
			
		}, 0);
	});
	
	/* delete words from ad_title_need field on keyup */
	$("input#ad_title_need").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var removed_contact = removeContactInfo($("input#ad_title_need").val());
			var prohibited_response = removeProhibitedWords(removed_contact, "naslov", $("input#ad_title_need").data("prohibited"));
			
			$("input#ad_title_need").val(prohibited_response["text"]);
			if(prohibited_words_deleted) {
				$("span#ad_title_need_warning_words").html(prohibited_response["prohibited"]);
				$("div#ad_title_need_warning").show();
				
				$("input#ad_title_need").data("prohibited", prohibited_response["prohibited"]);
			}
			if(contact_info_deleted) {
				$("div#jq_remove_contacts_title_need").show();
			}
		}, 0);
	});
	
	/* delete words from ad_title1_exchange field on keyup */
	$("input#ad_title1_exchange").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var removed_contact = removeContactInfo($("input#ad_title1_exchange").val());
			var prohibited_response = removeProhibitedWords(removed_contact, "naslov", $("input#ad_title1_exchange").data("prohibited"));
			
			$("input#ad_title1_exchange").val(prohibited_response["text"]);
			if(prohibited_words_deleted) {
				$("span#ad_title1_exchange_warning_words").html(prohibited_response["prohibited"]);
				$("div#ad_title1_exchange_warning").show();
				
				$("input#ad_title1_exchange").data("prohibited", prohibited_response["prohibited"]);
			}
			if(contact_info_deleted) {
				$("div#jq_remove_contacts_title_exchange1").show();
			}
		}, 0);
	});
	
	/* delete words from ad_title2_exchange field on keyup */
	$("input#ad_title2_exchange").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var removed_contact = removeContactInfo($("input#ad_title2_exchange").val());
			var prohibited_response = removeProhibitedWords(removed_contact, "naslov", $("input#ad_title2_exchange").data("prohibited"));
			
			$("input#ad_title2_exchange").val(prohibited_response["text"]);
			if(prohibited_words_deleted) {
				$("span#ad_title2_exchange_warning_words").html(prohibited_response["prohibited"]);
				$("div#ad_title2_exchange_warning").show();
				
				$("input#ad_title2_exchange").data("prohibited", prohibited_response["prohibited"]);
			}
			if(contact_info_deleted) {
				$("div#jq_remove_contacts_title_exchange2").show();
			}
		}, 0);
	});
	
	/* delete words from name field on keyup */
	$("input#ad_name").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var removed_contact = removeContactInfo($("input#ad_name").val());
			
			$("input#ad_name").val(removed_contact);
			if(contact_info_deleted) {
				$("div#jq_remove_contacts_name").show();
			}
		}, 0);
	});
	
	/* delete words from ad_description field on keyup */
	$("textarea#ad_description").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var starting_value = $("textarea#ad_description").val();
			var removed_contact = removeContactInfo(starting_value);
			var prohibited_response = removeProhibitedWords(removed_contact, "opis", $("textarea#ad_description").data("prohibited"));
			
			if(starting_value != prohibited_response["text"])
				$("textarea#ad_description").val(prohibited_response["text"]);
			if(prohibited_words_deleted) {
				$("span#ad_description_warning_words").html(prohibited_response["prohibited"]);
				$("div#ad_description_warning_prohibited_words").show();
				
				$("textarea#ad_description").data("prohibited", prohibited_response["prohibited"]);
			}
			if(contact_info_deleted) {
				$("div#ad_description_warning_contact_info").show();
			}
			
			/* calculate size */
			var size = 70 - ($("textarea#ad_description").val()).length;
			if(size < 0)
				size = 0;
			$("#ad_description_counter").html("Vpišite vsaj še " + size + " znakov.");
		}, 0);
	});
	
	/* delete words from ad_description field on keyup */
	$("textarea#ad_description_quality_description").unbind("keyup").unbind("paste").bind("keyup paste", function(event) {
		setTimeout(function(event) {
			var starting_value = $("textarea#ad_description_quality_description").val();
			var removed_contact = removeContactInfo(starting_value);
			
			if(starting_value != removed_contact)
				$("textarea#ad_description_quality_description").val(removed_contact);
			if(contact_info_deleted) {
				$("div#ad_description_quality_warning_contact_info").show();
			}
		
			/* calculate size */
			var size = 70 - ($("textarea#ad_description_quality_description").val()).length;
			if(size < 0)
				size = 0;
			$("#ad_condition_quality_description_counter").html("Vpišite vsaj še " + size + " znakov.");
		}, 0);
	});
	
	/* beautify descriptions */
	$(".beautifyText").blur(function() {
		$(this).val(beautifyText($(this).val()));
	});
	
	/* filter ad_item_value input to numbers only - exchange mode */
	$("#ad_item_value").unbind("keyup").keyup(function(event) {
		var value = $("#ad_item_value").val();
		var value_output = "";
		for (i = 0; i < value.length; i++) {
			if (value.charAt(i) >= 0 && value.charAt(i) <= 9 && value.charAt(i) != " ") {
				value_output += value.charAt(i);
			} else {
				$("input#ad_contact_tel").animate({ opacity:0.2 }, 200).animate({ opacity:1.0 }, 200);
			}
		}
		if(value_output == "0")
			value_output = "";
		value_output = value_output.replace(/^0+/, "");
		$("#ad_item_value").val(value_output);
	});
	
	$("#ad_animal_plant_age, #ad_animal_plant_age_type").unbind("change").change(function() {
		$("#ad_animal_plant_age_warning").html("");
		
		if(minimal_animal_age_validation_enabled) {
			var subcategory = $("select#ad_category_two option:selected").val();
			if(subcategory == 100100) {
				minimal_animal_age = minimal_animal_age_dog;
				minimal_animal_age_months = minimal_animal_age_dog_m;
			} else if(subcategory == 100200) {
				minimal_animal_age = minimal_animal_age_cat;
				minimal_animal_age_months = minimal_animal_age_cat_m;
			}
				
			var age = $("#ad_animal_plant_age").val();
			
			if($("#ad_animal_plant_age_type").val() == "tednov" && age < minimal_animal_age) {
				$("#ad_animal_plant_age").val(0);
				var minimal_animal_age_text = "tednov";
				switch(minimal_animal_age % 100) {
					case 1: minimal_animal_age_text = "teden"; break;
					case 2: minimal_animal_age_text = "tedna"; break;
					case 3:
					case 4: minimal_animal_age_text = "tedne"; break;
				}
				$("#ad_animal_plant_age_warning").html("Žival mora biti stara najmanj " + minimal_animal_age + " " + minimal_animal_age_text + ".");
			} else if($("#ad_animal_plant_age_type").val() == "mesecev" && age < minimal_animal_age_months) {
				$("#ad_animal_plant_age").val(0);
				var minimal_animal_age_text = "mesecev";
				switch(minimal_animal_age_months % 100) {
					case 1: minimal_animal_age_text = "mesec"; break;
					case 2: minimal_animal_age_text = "meseca"; break;
					case 3:
					case 4: minimal_animal_age_text = "mesece"; break;
				}
				$("#ad_animal_plant_age_warning").html("Žival mora biti stara najmanj " + minimal_animal_age_months + " " + minimal_animal_age_text + ".");
			}
		}
	});
	
	/* automatically check or uncheck radio in front of ad_dog_vaccinated */
	$("#ad_dog_vaccinated").unbind("keyup").keyup(function() {
		if($(this).val() != "") {
			$("#ad_dog_vaccinated_type").prop("checked", true);
		} else {
			$("#ad_dog_vaccinated_type").prop("checked", false);
		}
	});
	
	/* dynamically add fields for photo upload */
	$("input.ph_local").unbind("change").change(function() {
		fieldNum = parseInt($(this).attr("rel"));
		if($("#photo_" + fieldNum).val() != "")
			$("div#photo_" + (fieldNum + 1) + "_div").slideDown("slow");
		
		var mode_text = "dodatna ";
		if($("#primary_photo_box").hasClass("mode_add_item"))
			mode_text = "";
		var currently_selected = $("#ad_primary_photo").val();
		var picture_entered = false;
		var options = $.trim($("#old_positions_html").html());
		$(".ph_local").each(function() {
			picture_entered = true;
			if($(this).val() != "") {
				pic_id = $(this).attr("rel");
				options += "<option value='" + pic_id + "'>" + pic_id + ". " + mode_text + "fotografija</option>\n";
			}
		});
		
		if(options != "") {
			$("#ad_primary_photo").html(options);
			if($("#ad_primary_photo option[value=" + currently_selected + "]").size() > 0)
				$("#ad_primary_photo").val(currently_selected);
			$("#primary_photo_box").slideDown();
		} else {
			$("#primary_photo_box").slideUp();
		}
	});
	
	$("input.ph_web").unbind("change").change(function() {
		fieldNum = parseInt($(this).attr("rel"));
		if($("#photo_web_" + fieldNum).val() != "")
			$("div#ph_web_" + (fieldNum + 1) + "_div").slideDown("slow");
		
		var mode_text = "dodatna ";
		if($("#primary_photo_box").hasClass("mode_add_item"))
			mode_text = "";
		var currently_selected = $("#ad_primary_photo").val();
		var picture_entered = false;
		var options = $.trim($("#old_positions_html").html());
		$(".ph_web").each(function() {
			picture_entered = true;
			if($(this).val() != "") {
				pic_id = $(this).attr("rel");
				options += "<option value='" + pic_id + "'>" + pic_id + ". " + mode_text + "fotografija</option>\n";
			}
		});
		if(options != "") {
			$("#ad_primary_photo").html(options);
			if($("#ad_primary_photo option[value=" + currently_selected + "]").size() > 0)
				$("#ad_primary_photo").val(currently_selected);
			$("#primary_photo_box").slideDown();
		} else {
			$("#primary_photo_box").slideUp();
		}
	});
	
	/* change the photo upload mode - local disk vs. online photos */
	$("a#file_upload_mode").unbind("click").click(function(event) {
		event.preventDefault();
		//$("#primary_photo_box").slideUp();
		
		if ($("div#photos_upload").css("display") == "none") {
			$("a#file_upload_mode").html("Če želite oglasu dodati fotografije, ki se že nahajajo na spletu, kliknite tukaj.");
			$("div#photos_web").slideUp("slow");
			$("div#photos_upload").slideDown("slow");
			$("input.ph_web").val("");
			$("input.ph_local[rel=1]").trigger("change");
		} else {
			$("a#file_upload_mode").html("Če želite oglasu dodati fotografije z vašega računalnika, kliknite tukaj.");
			$("div#photos_upload").slideUp("slow");
			$("div#photos_web").slideDown("slow");
			$("input.ph_local").val("");
			$("input.ph_web[rel=1]").trigger("change");
		}
	});
	
	
	
	/* make the appropriate changes to the "edit item" form, based on item type */
	$("select#ad_type").unbind("click").click(function(event) {
		value = parseInt($("select#ad_type option:selected").val());
		if (value <= 0) {
			$("div#switchStudent").slideDown("slow");
			$("div.switchLocationDonate").slideDown("slow");
			$("div#switchLocationNeed").slideUp("slow");
		} else {
			$("div#switchStudent").slideUp("slow");
			$("div.switchLocationDonate").slideDown("slow");
			$("div#switchLocationNeed").slideUp("slow");
		}
	});
	
	/* hide the fields if user wants to reactivate / delete their ad */
	$("input[name=ad_command]").unbind("change").unbind("click").bind("change click", function() {
		$("input[name=ad_command]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
		
		
		if ($("input[name=ad_command]:checked").val() != "delete") {
			$("div#editItemField").slideDown("slow");
		} else {
			$("div#editItemField").slideUp("slow");
		}
	});

	
	
	/* validate the form to add a new item */
	$("#addForm").unbind("submit").submit(function(event) {	
		errorOutput = "";
		
		/* determine ad type */
		var adType = $("input[name=ad_type]:checked").val();
		if (adType === undefined) {
			errorOutput += "- niste izbrali tipa oglasa (podarim / potrebujem / menjam)<br />";
			
			$("input[name=ad_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("input[name=ad_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		// name
		if ($("input#ad_name").val() == "") {
			errorOutput += "- niste vnesli svojega imena in / ali priimka<br />";
			
			$("input#ad_name").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("input#ad_name").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		// contact info
		/* first validate email & check if it's not blocked */
		email_to_validate = $("input#ad_contact_mail").val();
		$.ajax({
			url: "action/ajax",
			type: "POST",
			async: false,
			data: "action=validate email&email=" + email_to_validate,
			success: function(data) {
				if(data != "") {
					$("span#ad_contact_mail_error").html(data);
					$("input#ad_contact_mail").val("");
					$("#ad_contact_type_email").prop("checked", false);
				}
				
				if ($("input#ad_contact_tel").val() == "" && substr_count($("input#ad_contact_mail").val(), "@") == 0) {
					errorOutput += "- niste podali svojih kontaktnih podatkov<br />";
					
					$("input#ad_contact_tel").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input#ad_contact_tel").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			}
		});
		/*("action/ajax", 
			{ action: "validate email", email: email_to_validate }, 
			function(data) {
				if(data != "") {
					$("span#ad_contact_mail_error").html(data);
					$("input#ad_contact_mail").val("");
					
					$("#ad_contact_type_email").prop("checked", false);
				} else {
					$("span#ad_contact_mail_error").html(data);
					$("input#ad_mail").val($("input#ad_contact_mail").val());
					
					$("#ad_contact_type_email").prop("checked", true);
				}
			}
		);
		
		if ($("input#ad_contact_tel").val() == "" && substr_count($("input#ad_contact_mail").val(), "@") == 0) {
			errorOutput += "- niste podali svojih kontaktnih podatkov<br />";
			
			$("input#ad_contact_tel").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("input#ad_contact_tel").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}*/
		
		// category 1
		var category_id = $("select#ad_category_one option:selected").val();
		if ($("select#ad_category_one option:selected").val() == 0) {
			errorOutput += "- niste izbrali ustrezne rubrike<br />";	
			
			$("select#ad_category_one").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("select#ad_category_one").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		// category 2
		var subcategory_id = false;
		if($("select#ad_category_two").size() > 0)
			subcategory_id = $("select#ad_category_two").val();
		if ($("select#ad_category_two option:selected").val() == 0 && $("select#ad_category_two").is(":visible")) {
			errorOutput += "- niste izbrali ustrezne podrubrike<br />";		
			
			$("select#ad_category_two").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("select#ad_category_two").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		// category 3
		if ($("select#ad_category_three option:selected").val() == 0 && $("select#ad_category_three").is(":visible")) {
			errorOutput += "- niste izbrali ustrezne podrubrike (najbolj natančne)<br />";		
			
			$("select#ad_category_three").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("select#ad_category_three").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		// validation for fields special for animals/plants category
		if(adType != 1) {
			if(category_id != 100000) {
				// quality
				if($("#ad_condition_quality").val() == 0) {
					errorOutput += "- za svoj oglas niste podali ocene ohranjenosti<br />";
					
					$("#ad_condition_quality").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("#ad_condition_quality").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
				
				// quality description
				if($("#ad_description_quality_description").val() == "") {
					errorOutput += "- za svoj oglas niste podali opisa ohranjenosti<br />";
					
					$("#ad_description_quality_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else if(($("#ad_description_quality_description").val()).length < 70) {
					errorOutput += "- opis ohranjenosti, ki ste ga vpisali, je prekratek<br />";
					
					$("#ad_description_quality_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("#ad_description_quality_description").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			} else {
				// animal / plant age
				if($("#ad_animal_plant_age").val() == 0) {
					errorOutput += "- za svoj oglas niste podali starosti živali / rastline<br />";
					
					// color the container div
					$("#ad_animal_plant_age").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("#ad_animal_plant_age").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			}
			/* additional checks for dog subcategory */
			if(subcategory_id && subcategory_id == 100100) {
				// dog vaccinated
				if($("input[name=ad_dog_vaccinated_type]:checked").size() == 0) {
					errorOutput += "- niste izbrali, kdaj je bil pes nazadnje cepljen<br />";
					
					// color the container div
					$("input[name=ad_dog_vaccinated_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input[name=ad_dog_vaccinated_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
				
				// dog microchip
				if($("#ad_dog_has_microchip").val() == 0) {
					errorOutput += "- niste izbrali, ali je pes čipiran ali ne<br />";
					
					// color the container div
					$("#ad_dog_has_microchip").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("#ad_dog_has_microchip").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			}
		}
		
		// donate type
		if (adType == 0 || adType == 2) {
			// available_type
			var adAvailableType = $("input[name=ad_available_type]:checked").val();
			if (adAvailableType === undefined) {
				errorOutput += "- niste izbrali kdaj ste dosegljivi<br />";
				
				$("input[name=ad_available_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input[name=ad_available_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// availability
			if(adAvailableType == "termin") {
				if($("#ad_available_from").val() == -1 || $("#ad_available_to").val() == -1) {
					errorOutput += "- niste določili termina, v katerem ste dosegljivi<br />";
					
					$("#ad_available_from").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("#ad_available_from").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			}
		
			// post office number
			if ($("input#ad_location_post").val() == "") {
				errorOutput += "- niste podali svoje poštne številke<br />";
				
				$("input#ad_location_post").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input#ad_location_post").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
		}
		
		// need type
		if (adType == 0) {
			// donate ad title
			if ($("input#ad_title").val() == "") {
				errorOutput += "- za svoj oglas niste podali naslova<br />";
				
				// color the container div
				$("input#ad_title").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input#ad_title").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
		}
		
		// need type
		if (adType == 1) {
			// need ad regions
			if ($("input.ad_need_regions:checked").size() == 0) {
				errorOutput += "- niste podali regij, v katerih iščete predmet<br />";
				
				// color the container div
				$("input.ad_need_regions").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input.ad_need_regions").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// need ad title
			if ($("input#ad_title_need").val() == "") {
				errorOutput += "- za svoj oglas niste podali naslova<br />";
				
				// color the container div
				$("input#ad_title_need").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input#ad_title_need").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
		}
		
		// exchange type
		if(adType == 2) {
			// exchange ad title1 
			if ($("input#ad_title1_exchange").val() == "") {
				errorOutput += "- za svoj oglas niste podali predmeta, ki ga ponujate<br />";
				
				// color the container div
				$("input#ad_title1_exchange").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input#ad_title1_exchange").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// exchange ad title1 
			if ($("input#ad_title2_exchange").val() == "") {
				errorOutput += "- za svoj oglas niste podali predmeta, ki ga želite v zameno<br />";
				
				// color the container div
				$("input#ad_title2_exchange").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input#ad_title2_exchange").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// item value
			if ($("input#ad_item_value").val() == "") {
				errorOutput += "- za svoj oglas niste podali okvirne vrednosti predmeta<br />";
				
				// color the container div
				$("input#ad_item_value").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input#ad_item_value").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
		}
		
		// various description
		if ($("#ad_description").val() == "") {
			errorOutput += "- za svoj oglas niste podali opisa<br />";
			
			// color the container div
			$("textarea#ad_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else if(($("#ad_description").val()).length < 70) {
			errorOutput += "- opis, ki ste ga vpisali, je prekratek<br />";
			
			$("textarea#ad_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");		
		} else {
			$("textarea#ad_description").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
			
		// item exchange type
		if ($("input[name=ad_exchange]:checked").val() == "") {
			errorOutput += "- niste izbrali načina prevzema<br />";
			
			// color the container div
			$("input[name=ad_exchange]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("input[name=ad_exchange]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		/* podatki za urejanje oglasa */
		if($("#ad_edit_info_phone").val() == "") {
			errorOutput += "- niste vnesli telefonske številke za urejanje oglasa<br />";
			
			// color the container div
			$("#ad_edit_info_phone").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#ad_edit_info_phone").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if($("#ad_edit_info_password").val() == "" && password_needed) {
			errorOutput += "- niste vnesli gesla za urejanje oglasa<br />";
			
			// color the container div
			$("#ad_edit_info_password").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#ad_edit_info_password").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		/* agreed to terms? */
		if ($("input#ad_agree_one:checked").val() === undefined) {
			errorOutput += "- niste izjavili, da se strinjate s pogoji<br />";
			
			$("input#ad_agree_one").parent().css("background-color", "#ffcccc");
		} else {
			$("input#ad_agree_one").parent().css("background-color", "transparent");
		}
		/* agreed to genuinity of data? */
		if ($("input#ad_agree_two:checked").val() === undefined) {
			errorOutput += "- niste izjavili, da so podatki, ki ste jih vnesli resnični<br />";
			
			$("input#ad_agree_two").parent().css("background-color", "#ffcccc");
		} else {
			$("input#ad_agree_two").parent().css("background-color", "transparent");
		}
		/* agreed to genuinity of data? */
		if ($("input#ad_agree_three:checked").val() === undefined && adType == 0) {
			errorOutput += "- niste izjavili, da za predmet ne boste zahtevali plačila<br />";
			
			$("input#ad_agree_three").parent().css("background-color", "#ffcccc");
		} else {
			$("input#ad_agree_three").parent().css("background-color", "transparent");
		}
		
		/* submit or show error div */
		if (errorOutput == "") {
			$("input#submit_button").fadeOut("fast");
			$("#form_loading").fadeIn("fast");
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate the form to activate item */
	$("#ad_activation_form").unbind("submit").submit(function(e) {
		var errorOutput = "";
		
		/* agreed to genuinity of data? */
		if ($("input#activation_code").val() == "") {
			if($("input#activation_code").hasClass("user_account"))
				errorOutput += "Za aktivacijo uporabniškega računa morate vpisati štirimestno aktivacijsko kodo.";
			else 
				errorOutput += "Za aktivacijo oglasa morate vpisati štirimestno aktivacijsko kodo.";
			
		} else if(($("input#activation_code").val()).length != 4) {
			errorOutput += "Aktivacijska koda mora biti štirimestna.";
		}
		
		/* submit or show error div */
		if (errorOutput == "") {
			$("input#submit_button").fadeOut("fast");
			return true;
		} else {
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/**
	 * 		EDIT AD FORM
	 */
	
	/* validate the form to edit an existing item */
	$("#editForm").unbind("submit").submit(function(event) {	
		var commandError = "";
		
		/* determine ad command */
		var adCommand = $("input[name=ad_command]:checked").val();
		if (adCommand === undefined) {
			commandError += "- niste določili kaj želite storiti z oglasom<br />";
			
			$("input[name=ad_command]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("input[name=ad_command]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if ($("input[name=ad_command]:checked").val() == "edit" || $("input[name=ad_command]:checked").val() == "renew") {
			var errorOutput = "";
			
			var adType = $("input#ad_type_hidden").val();
		
			if ($("input#ad_name").val() == "") {
				errorOutput += "- niste vnesli svojega imena ali vzdevka<br />";
			
				$("input#ad_name").parent().css("background-color", "#ffcccc");
			} else {
				$("input#ad_name").parent().css("background-color", "transparent");
			}
			
			/*
			if ($("input#ad_contact").val() == "" && $("input#ad_contact_tel").val() == "" && substr_count($("input#ad_contact_mail").val(), "@") == 0) {
				errorOutput += "- niste podali svojih kontaktnih podatkov<br />";
			
				$("input#ad_contact").parent().css("background-color", "#ffcccc");
			} else {
				$("input#ad_contact").parent().css("background-color", "transparent");
			}
			*/
			
			// contact
			email_to_validate = $("input#ad_contact_mail").val();
			$.ajax({
				url: "action/ajax",
				type: "POST",
				async: false,
				data: "action=validate_email&email=" + email_to_validate,
				success: function(data) {
					if(data != "") {
						$("span#ad_contact_mail_error").html(data);
						$("input#ad_contact_mail").val("");
						$("#ad_contact_type_email").prop("checked", false);
					}
					
					if ((!$("input#ad_contact_type_phone").is(":checked") && !$("#ad_contact_type_email").is(":checked")) || (!$("input#ad_contact_type_phone").is(":checked") && $("#ad_contact_type_email").is(":checked") && $("#ad_contact_mail").val() == "")) {
						errorOutput += "- označiti morate vsaj en kontakt<br />";
						
						// color the container div
						$("input[name=ad_contact_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("input[name=ad_contact_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
				}
			});
			
			// category 1
			var category_id = $("select#ad_category_one option:selected").val();
			if ($("select#ad_category_one option:selected").val() == 0) {
				errorOutput += "- niste izbrali ustrezne rubrike<br />";	
				
				$("select#ad_category_one").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("select#ad_category_one").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// category 2
			var subcategory_id = false;
			if($("select#ad_category_two").size() > 0)
				subcategory_id = $("select#ad_category_two").val();
			if ($("select#ad_category_two option:selected").val() == 0 && $("select#ad_category_two").is(":visible")) {
				errorOutput += "- niste izbrali ustrezne podrubrike<br />";		
				
				$("select#ad_category_two").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("select#ad_category_two").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// category 3
			if ($("select#ad_category_three option:selected").val() == 0 && $("select#ad_category_three").is(":visible")) {
				errorOutput += "- niste izbrali ustrezne podrubrike (najbolj natančne)<br />";		
				
				$("select#ad_category_three").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("select#ad_category_three").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			// donate type
			if (adType == 0 || adType == 2) {
				// post office number
				if ($("input#ad_location_post").val() == "") {
					errorOutput += "- niste podali svoje poštne številke<br />";
					
					$("input#ad_location_post").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input#ad_location_post").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
				
				// donate ad title
				if ($("input#ad_title").val() == "") {
					errorOutput += "- za svoj oglas niste podali naslova<br />";
					
					// color the container div
					$("input#ad_title").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input#ad_title").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
				
				// validation for fields special for animals/plants category
				if(category_id != 100000) {
					// quality
					if($("#ad_condition_quality").val() == 0) {
						errorOutput += "- za svoj oglas niste podali ocene ohranjenosti<br />";
						
						$("#ad_condition_quality").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("#ad_condition_quality").parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
					
					// quality description
					if($("#ad_description_quality_description").val() == "") {
						errorOutput += "- za svoj oglas niste podali opisa ohranjenosti<br />";
						
						$("#ad_description_quality_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else if(($("#ad_description_quality_description").val()).length < 70) {
						errorOutput += "- opis ohranjenosti, ki ste ga vpisali, je prekratek<br />";
						
						$("#ad_description_quality_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("#ad_description_quality_description").parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
				} else {
					// animal / plant age
					if($("#ad_animal_plant_age").val() == 0) {
						errorOutput += "- za svoj oglas niste podali starosti živali / rastline<br />";
						
						// color the container div
						$("#ad_animal_plant_age").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("#ad_animal_plant_age").parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
				}
				/* additional checks for dog subcategory */
				if(subcategory_id && subcategory_id == 100100) {
					// dog vaccinated
					if($("input[name=ad_dog_vaccinated_type]:checked").size() == 0) {
						errorOutput += "- niste izbrali, kdaj je bil pes nazadnje cepljen<br />";
						
						// color the container div
						$("input[name=ad_dog_vaccinated_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("input[name=ad_dog_vaccinated_type]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
					
					// dog microchip
					if($("#ad_dog_has_microchip").val() == 0) {
						errorOutput += "- niste izbrali, ali je pes čipiran ali ne<br />";
						
						// color the container div
						$("#ad_dog_has_microchip").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("#ad_dog_has_microchip").parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
				}
			}
			
			// need type
			if (adType == 1) {
				// need ad regions
				if ($("input.ad_need_regions:checked").size() == 0) {
					errorOutput += "- niste podali regij, v katerih iščete predmet<br />";
					
					// color the container div
					$("input.ad_need_regions").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input.ad_need_regions").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
				
				// need ad title
				if ($("input#ad_title_need").val() == "") {
					errorOutput += "- za svoj oglas niste podali naslova<br />";
					
					// color the container div
					$("input#ad_title_need").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input#ad_title_need").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			}
			
			// exchange type
			if(adType == 2) {
				// exchange ad title1 
				if ($("input#ad_title1_exchange").val() == "") {
					errorOutput += "- za svoj oglas niste podali predmeta, ki ga ponujate<br />";
					
					// color the container div
					$("input#ad_title1_exchange").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input#ad_title1_exchange").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
				
				// exchange ad title1 
				if ($("input#ad_title2_exchange").val() == "") {
					errorOutput += "- za svoj oglas niste podali predmeta, ki ga želite v zameno<br />";
					
					// color the container div
					$("input#ad_title2_exchange").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				} else {
					$("input#ad_title2_exchange").parents(".formDataItem").eq(0).css("background-color", "transparent");
				}
			}
			
			// various description
			if ($("#ad_description").val() == "") {
				errorOutput += "- za svoj oglas niste podali opisa<br />";
				
				// color the container div
				$("textarea#ad_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else if(($("#ad_description").val()).length < 70) {
				errorOutput += "- opis, ki ste ga vpisali, je prekratek<br />";
				
				$("textarea#ad_description").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");		
			} else {
				$("textarea#ad_description").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
				
			// item exchange type
			if ($("input[name=ad_exchange]:checked").val() == "") {
				errorOutput += "- niste izbrali načina prevzema<br />";
				
				// color the container div
				$("input[name=ad_exchange]").eq(0).parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("input[name=ad_exchange]").eq(0).parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
			
			/* submit or show error div */
			if (errorOutput == "") {
				$("input#submit_button").fadeOut("fast");
				$("#form_loading").fadeIn("fast");
				return true;
			} else {
				errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
				showWarningDiv(errorOutput);
				return false;
			}
		} else {
			if (commandError == "") {
				$("input#submit_button").fadeOut("fast");
				$("#form_loading").fadeIn("fast");
				return true;
			} else {
				commandError = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + commandError;
				showWarningDiv(commandError);
				return false;
			}
		}
	});
	
	
	
	/**
	 * 		LOGIN FORM
	 */
	
	/* make sure that telephone number consist of nothing but numbers and is 6 chars long */
	$("input#ad_edit_phone, input#ad_phone_lost_pass").unbind("keyup").keyup(function(event) {
		var contact_tel = $(this).val();
		var contact_tel_output = "";
		for (i = 0; i < contact_tel.length; i++) {
			if (contact_tel.charAt(i) >= 0 && contact_tel.charAt(i) <= 9 && contact_tel.charAt(i) != " ") {
				contact_tel_output += contact_tel.charAt(i);
			} else {
				$(this).animate({ opacity:0.2 }, 200).animate({ opacity:1.0 }, 200);
			}
		}
		contact_tel_output = contact_tel_output.substring(0, 6);			
		$(this).val(contact_tel_output);
	});
	$("input#ad_edit_phone, input#ad_phone_lost_pass").unbind("blur").blur(function(event) {
		var contact_tel = $(this).val();
		
		if(contact_tel.length < 6) {
			$(this).val("");
		}
	});
	/* END :: make sure that telephone number consist of nothing but numbers and is 6 chars long */
	
	/* validate the form to log in and edit an existing item */
	$("#loginEditForm").unbind("submit").submit(function(event) {	
		errorOutput = "";
		
		if ($("input#ad_edit_phone").val() == "") errorOutput += "- niste vnesli telefonske številke<br />";
		if ($("input#ad_edit_pass").val() == "") errorOutput += "- niste vnesli gesla za urejanje<br />";
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* make sure that ad number consist of nothing but numbers */
	$("input#ad_number_lost_pass").unbind("keyup").keyup(function(event) {
		var ad_num = $(this).val();
		var ad_num_output = "";
		for (i = 0; i < ad_num.length; i++) {
			if (ad_num.charAt(i) >= 0 && ad_num.charAt(i) <= 9 && ad_num.charAt(i) != " ") {
				ad_num_output += ad_num.charAt(i);
			} else {
				$(this).animate({ opacity:0.2 }, 200).animate({ opacity:1.0 }, 200);
			}
		}
		ad_num_output = ad_num_output.substring(0, 6);			
		$(this).val(ad_num_output);
	});
	/* END :: make sure that ad number consist of nothing but numbers */
	
	/* validate the form to retrieve a lost password */
	$("#lostPassForm").unbind("submit").submit(function(event) {	
		errorOutput = "";
		
		if ($("input#ad_phone_lost_pass").val() == "") errorOutput += "- niste vnesli telefonske številke<br />";
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate the form to retrieve a lost password */
	$("#changePasswordForm").unbind("submit").submit(function(event) {	
		errorOutput = "";
		
		new_pass = $("input#ad_new_pass").val();
		new_pass2 = $("input#ad_new_pass2").val();
		
		if ($("input#ad_edit_phone").val() == "") errorOutput += "- niste vnesli telefonske številke<br />";
		if ($("input#ad_edit_pass").val() == "") errorOutput += "- niste vnesli obstoječega gesla<br />";
		if (new_pass == "") errorOutput += "- niste vnesli novega gesla<br />";
		if (new_pass2 == "") errorOutput += "- niste ponovili novega gesla<br />";
		
		if(new_pass != new_pass2 && errorOutput == "")
			errorOutput += "- gesli se ne ujemata<br />";
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate the admin "add IP address" form */
	$("#addIPForm").unbind("submit").submit(function(event) {	
		errorOutput = "";
		
		if (substr_count($("input#ip").val(), ".") != 3) errorOutput += "- niste podali veljavnega IP naslova<br />";
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate the admin "add suspicious word" form */
	$("#addWordForm").unbind("submit").submit(function(event) {	
		errorOutput = "";
		
		if ($("input#word").val() == "") errorOutput += "- niste podali sporne besede<br />";
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate unblock form */
	$("#unblockForm").unbind("submit").submit(function(event) {
		errorOutput = "";
		
		if ($("#unblock_name").val() == "") {
			errorOutput += "- niste podali vašega imena in priimka<br />";
			
			$("#unblock_name").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_name").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		if ($("#unblock_address").val() == "") {
			errorOutput += "- niste podali vaše ulice in hišne številke<br />";
			
			$("#unblock_address").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_address").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		if ($("#unblock_post").val() == "") {
			errorOutput += "- niste podali vašega poštne številke in pošte<br />";
			
			$("#unblock_post").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_post").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		if ($("#unblock_phone").val() == "") {
			errorOutput += "- niste podali vaše telefonske številke<br />";
			
			$("#unblock_phone").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_phone").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		$("#unblock_phone").val($("#unblock_phone").val().replace(/[^0-9]/gi, ""));
		$("#unblock_phone_repeat").val($("#unblock_phone_repeat").val().replace(/[^0-9]/gi, ""));
		
		var phone = $("#unblock_phone_network").val() + $("#unblock_phone").val();
		var phone_repeat = $("#unblock_phone_network_repeat").val() + $("#unblock_phone_repeat").val();
		
		if (phone.length != 9) {
			errorOutput += "- podali ste nepravilno telefonsko številko<br />";
			
			$("#unblock_phone").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_phone").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (phone != phone_repeat) {
			errorOutput += "- telefonski številki se ne ujemata<br />";
			
			$("#unblock_phone_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_phone_repeat").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (!$("#unblock_conditions").is(":checked")) {
			errorOutput += "- niste se strinjali s pogoji uporabe<br />";
			
			$("#unblock_conditions").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_conditions").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate unblock form */
	$("#unblockEmailForm").unbind("submit").submit(function(event) {
		errorOutput = "";
		
		var email_to_validate = "";
		
		if ($("#unblock_email").val() == "") {
			errorOutput += "- niste podali svojega e-mail naslova<br />";
			
			$("#unblock_email").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
		
			email_to_validate = $("#unblock_email").val();
			$.ajax({
				url: "action/ajax",
				type: "POST",
				async: false,
				data: "action=validate email&email=" + email_to_validate,
				success: function(data) {
					if(data != "") {
						if(data == "&nbsp;") {
							$("#unblock_email").val("");
							errorOutput += "- niste podali pravilnega e-mail naslova<br />";
							
							$("#unblock_email").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
						} else {
							$("#unblock_email").parents(".formDataItem").eq(0).css("background-color", "transparent");
						}
					} else {
						$("#unblock_email").val("");
						errorOutput += "- e-mail naslov, ki ste ga podali, ni blokiran.<br />";
						
						$("#unblock_email").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					}
				}
			});
		}
		
		if ($("#unblock_email_repeat").val() == "") {
			errorOutput += "- niste ponovili svojega e-mail naslova<br />";
			
			$("#unblock_email_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
		
			email_to_validate = $("#unblock_email_repeat").val();
			$.ajax({
				url: "action/ajax",
				type: "POST",
				async: false,
				data: "action=validate email&email=" + email_to_validate,
				success: function(data) {
				if(data != "") {
					if(data == "&nbsp;") {
						$("#unblock_email_repeat").val("");
						errorOutput += "- niste podali pravilnega e-mail naslova (pri ponovitvi)<br />";
						
						$("#unblock_email_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
					} else {
						$("#unblock_email_repeat").parents(".formDataItem").eq(0).css("background-color", "transparent");
					}
				} else {
					$("#unblock_email_repeat").val("");
					errorOutput += "- e-mail naslov, ki ste ga podali (pri ponovitvi), ni blokiran.<br />";
					
					$("#unblock_email_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
				}
				}
			});
		}
		
		if (errorOutput == "") {
			if($("#unblock_email").val() != $("#unblock_email_repeat").val()) {
				errorOutput += "- e-mail naslova se ne ujemata<br />";
				
				$("#unblock_email_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			}
		}
		
		if (!$("#unblock_conditions").is(":checked")) {
			errorOutput += "- niste se strinjali s pogoji uporabe<br />";
			
			$("#unblock_conditions").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#unblock_conditions").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* register form */
	$("#registerForm").unbind("submit").submit(function(event) {
		errorOutput = "";
		
		$("#number").val($("#number").val().replace(/[^0-9]/gi, ""));
		$("#number_repeat").val($("#number_repeat").val().replace(/[^0-9]/gi, ""));
		
		var phone = $("#network").val() + $("#number").val();
		var phone_repeat = $("#network_repeat").val() + $("#number_repeat").val();
		
		if (phone.length != 9) {
			errorOutput += "- podali ste nepravilno telefonsko številko<br />";
			
			$("#number").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#number").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (phone != phone_repeat) {
			errorOutput += "- telefonski številki se ne ujemata<br />";
			
			$("#number_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#number_repeat").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if ($("#password").val() == "") {
			errorOutput += "- niste podali vašega gesla<br />";
			
			$("#password").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#password").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if ($("#password_repeat").val() == "") {
			errorOutput += "- niste ponovili vašega gesla<br />";
			
			$("#password_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#password_repeat").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if($("#password").val() != "" && $("#password_repeat").val() != "") {
			if($("#password").val() != $("#password_repeat").val()) {
				errorOutput += "- gesli se ne ujemata<br />";
				
				$("#password_repeat").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
			} else {
				$("#password_repeat").parents(".formDataItem").eq(0).css("background-color", "transparent");
			}
		}
		
		if (!$("#conditions").is(":checked")) {
			errorOutput += "- niste se strinjali s pogoji uporabe<br />";
			
			$("#conditions").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#conditions").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* delete old ads form */
	$("#deleteForm").unbind("submit").submit(function(event) {
		errorOutput = "";
		
		if ($("#ad_number").val() == "") {
			errorOutput += "- niste podali številke oglasa<br />";
			
			$("#ad_number").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#ad_number").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if ($("#ad_pass").val() == "") {
			errorOutput += "- niste podali gesla za urejanje<br />";
			
			$("#ad_pass").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#ad_pass").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* delete old ads - forgotten password form */
	$("#deletelostPassForm").unbind("submit").submit(function(event) {
		errorOutput = "";
		
		if ($("#ad_number_lost_pass").val() == "") {
			errorOutput += "- niste podali številke oglasa<br />";
			
			$("#ad_number_lost_pass").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#ad_number_lost_pass").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if ($("#ad_mail").val() == "") {
			errorOutput += "- niste podali vašega e-mail naslova<br />";
			
			$("#ad_mail").parents(".formDataItem").eq(0).css("background-color", "#ffcccc");
		} else {
			$("#ad_mail").parents(".formDataItem").eq(0).css("background-color", "transparent");
		}
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* validate the form to edit a partner */
	$("#editPartner").unbind("submit").submit(function(event) {
		errorOutput = "";
			
		if ($("input#ad_name").val() == "") {
			errorOutput += "- niste vnesli imena organizacije<br />";
		}
		
		if ($("input#ad_pass").val() == "") {
			errorOutput += "- niste vnesli željenega gesla za uporabo portala<br />";
		}
		
		if ($("input#ad_email").val() == "") {
			errorOutput += "- niste vnesli e-poštnega naslova<br />";
		}
		
		if ($("input#ad_location_post").val() == "") {
			errorOutput += "- niste vnesli poštne številke vaše organizacije<br />";
		}
		
		if ($("input#ad_contact").val() == "") {
			errorOutput += "- niste vnesli kontaktnih podatkov<br />";
		}
		
		if (errorOutput == "") {
			return true;
		} else {
			errorOutput = "Žal niste izpolnili vseh obveznih polj. Pomanjkljivi so sledeči podatki:<br /><br />" + errorOutput;
			showWarningDiv(errorOutput);
			return false;
		}
	});
	
	/* show and hide hidden divs */
	$("a.toggleHiddenDiv").unbind("click").click(function(event) {
		event.preventDefault();
		var field = $(this).attr("rel");		// get ID of the appropriate DIV
		if (field == "" || field == undefined) {
			if ($("div.hiddenDiv").css("display") == "none") {
				$("div.hiddenDiv").slideDown("slow");
			} else {
				$("div.hiddenDiv").slideUp("slow");
			}
		} else {
			if ($("div.hiddenDiv[rel='" + field + "']").css("display") == "none") {
				$("div.hiddenDiv[rel='" + field + "']").slideDown("slow");
			} else {
				$("div.hiddenDiv[rel='" + field + "']").slideUp("slow");
			}
		}
	});
	
	/* hide the warning div */
	$("a.warningDivClose").unbind("click").click(function(event) {
		event.preventDefault();
		$("div.warningDivWrapper").fadeOut("slow");
	});
	
	/* hide the explanation div */
	$("a.explanationDivClose").unbind("click").click(function(event) {
		event.preventDefault();
		$("div.explanationDivWrapper").fadeOut("slow", function() {
			$(".explanationDivClose").html("Zapri pojasnilo");
			$(".explanationDivTop").html("Pojasnilo:");
		});
	});
	
	/* hide the options div */
	$("a.optionsDivClose").unbind("click").click(function(event) {
		event.preventDefault();
		$("div.optionsDivWrapper").fadeOut("slow");
	});
	
}

function substr_count(haystack, needle, offset, length) {
    var pos = 0;
	var cnt = 0;
    haystack += "";
    needle += "";
    if (isNaN(offset)) offset = 0;
    if (isNaN(length)) length = 0;
    offset--;
 
    while ((offset = haystack.indexOf(needle, offset + 1)) != -1) {
        if (length > 0 && (offset + needle.length) > length) {
            return false;
        } else {
            cnt++;
        }
    }
 
    return cnt;
}

function getWindowSize() {
	var dimensions = new Array(2);
	var myWidth = 0, myHeight = 0;
	if (typeof(window.innerWidth) == "number") {
		/* non-IE */
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight )) {
		/* IE 6+ in "standards compliant mode" */
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if (document.body && (document.body.clientWidth || document.body.clientHeight )) {
		/* IE 4 compatible */
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	dimensions[0] = myWidth;
	dimensions[1] = myHeight;
	return dimensions;
}

function removeProhibitedWords(text, filter, already_prohibited_words) {
	prohibited_words_deleted = false;
	
	// split already prohibited words
	if(already_prohibited_words != undefined)
		var already_prohibited_words_array = already_prohibited_words.split(", ");
	else
		var already_prohibited_words_array = new Array();
	
	// fetch prohibited words (only for the first time
	if(prohibited_words.length == 0) {
		$.ajax({
			url: "action/ajax",
			type: "POST",
			data: "action=fetch filter words",
			async: false,
			success: function(data) {
				prohibited_words = JSON.parse(data);
			}
		});
	}
	
	// clean up text
	var temp_text = text;
	temp_text = temp_text.replace(/\./gi, " ");
	temp_text = temp_text.replace(/,/gi, " ");
	temp_text = temp_text.replace(/:/gi, " ");
	temp_text = temp_text.replace(/;/gi, " ");
	temp_text = temp_text.replace(/\-/gi, " ");
	temp_text = temp_text.replace(/_/gi, " ");
	temp_text = temp_text.replace(/\!/gi, " ");
	temp_text = temp_text.replace(/\?/gi, " ");
	temp_text = temp_text.replace(/\//gi, " ");
	temp_text = temp_text.replace(/\\/gi, " ");
	temp_text = temp_text.replace(/\|/gi, " ");
	
	temp_text = temp_text.replace(/    /gi, " ");
	temp_text = temp_text.replace(/   /gi, " ");
	temp_text = temp_text.replace(/  /gi, " ");
	
	// remove prohibited words from text
	words_in_text = temp_text.split(" ");
	words_in_text_prohibited = [];
	

	for(var i = 0; i < words_in_text.length; i++) {
		word = $.trim(words_in_text[i]);
		for(prohib in prohibited_words) {
			if(word.indexOf(prohib) >= 0) {
				words_in_text_prohibited[words_in_text_prohibited.length] = prohib;
				break;
			}
		}
	}
	
	var length_before = text.length;
	for(var i = 0; i < words_in_text_prohibited.length; i++) {
		text = text.replace(words_in_text_prohibited[i], "*");
	}
	var length_after = text.length;
	
	if(length_after < length_before)
		prohibited_words_deleted = true;
	
	// generate response
	var response = new Array();
	var all_prohibited_words = words_in_text_prohibited.concat(already_prohibited_words_array); // merge all prohibited words
	var filtered_prohibited_words = new Array();
	
	for(var i=0; i<all_prohibited_words.length; i++) {
		var word_already_used = false;
        for(var j=0; j<filtered_prohibited_words.length; j++) {
            if(all_prohibited_words[i] === filtered_prohibited_words[j])
            	word_already_used = true;
        }
        if(!word_already_used) {
        	filtered_prohibited_words.push(all_prohibited_words[i]);
        }
    }
	
	// clean up text
	text = text.replace("/   /g", " ");
	text = text.replace("/  /g", " ");
	text = text.replace("/\-\-/g", "-");
	
	response["text"] = text;
	response["prohibited"] = filtered_prohibited_words.join(", ");
	
	return response;
}

function removeContactInfo(text) {
	contact_info_deleted = false;
	
	var text_length_before = text.length;
	
	// remove emails from text
	var reg = /([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})/gi;
	text = text.replace(reg, "");
	
	// remove phone number from text
	var phone_reg = /(0|386)(30|31|41|40|50|51|64|70|80|90)[- \/\\]*([0-9][- \/\\]*[0-9][- \/\\]*[0-9][- \/\\]*[0-9][- \/\\]*[0-9][- \/\\]*[0-9])/gi;
	text = text.replace(phone_reg, "");
	
	var text_length_after = text.length;
	
	// if contact info has been deleted
	if(text_length_after < text_length_before) {
		contact_info_deleted = true;
	}
	
	return text;
}

function beautifyText(text) {
	/* add trailing full stop */
	while(text[text.length - 1] == " ") {
		text = text.substring(0, text.length - 1);
	}
	
	var last_char = text.substring(text.length - 1);
	var reg = /^[a-zA-Z0-9]+$/i;
	if(reg.test(last_char)) {
		text += ".";
	}
	
	/* add spaces after full stops */
	/*var words_in_text = text.split(".");
	var text = words_in_text[0];
	
	for(var i = 1; i < words_in_text.length; i++) {
		word = words_in_text[i];
		
		if(word != "") {
			first_char = word.substring(0, 1);
			var reg = /^[0-9 ]+$/i;
			if(!reg.test(first_char)) {
				text += ". ";
			} else {
				text += ".";
			}
			text += word;
		} else {
			text += ".";
		}
	}*/
	
	/* add spaces after commas */
	words_in_text = text.split(",");
	var text = words_in_text[0];
	
	for(var i = 1; i < words_in_text.length; i++) {
		word = words_in_text[i];
		
		if(word != "") {
			first_char = word.substring(0, 1);
			var reg = /^[0-9 ]+$/i;
			if(!reg.test(first_char)) {
				text += ", ";
			} else {
				text += ",";
			}
			text += word;
		} else {
			text += ",";
		}
	}
	
	text = text.replace(/\s{2,}/g, " ");
	
	return text;
}
