
	/*
	* File: common.js
	* Author: Alex Baskov, Devtrix, 2007-2008.
	*/

	var activeSearchCategoryName = "";
	var activeSearchRegionName = "";


	////
	// changes style class of the object (i.e. class="newClass")
	//
	function changeClass(obj, newClass)
	{
		//alert(newClass);
		if (obj != null && newClass != null)
		{
			obj.className = newClass;
		}

		return true;
	} // /changeClass()



	////
	// shows/hides search options
	//
	function toggleOptions(linkElm)
	{
		if (!linkElm || linkElm == null) return false;

		if ((divElm = document.getElementById('options_outer')) && (useOptionsElm = document.search_form.elements.use_options))
		{
			if (divElm.style.display == 'none')
			{
				divElm.style.display = 'block';
				linkElm.innerHTML = "&laquo; сховати параметри";
				useOptionsElm.value = "yes";
			}
			else
			{
				divElm.style.display = 'none';
				linkElm.innerHTML = "параметри пошуку &raquo;";
				useOptionsElm.value = "";
			}
		}

		return true;
	} // /toggleOptions()



	////
	// shows/hides additional images fields
	//
	function toggleAdditionalImages(elmID)
	{
		checkElm = document.getElementById(elmID);
		divAdditionalImages = document.getElementById('additional_images');

		if (divAdditionalImages && checkElm)
		{
			if (divAdditionalImages.style.display == "none")
			{
				divAdditionalImages.style.display = "block";
				checkElm.checked = true;
			}
			else
			{
				divAdditionalImages.style.display = "none";
				checkElm.checked = false;
			}

			return true;
		}

		return false;
	} // /toggleAdditionalImages()



	////
	// selects region (image map onclick)
	//
	function selectRegion(regionID)
	{
		regionID = (regionID) ? parseInt(regionID) : 0;
		if (!(regionID >= 0)) return false;

		for (var i = 0; i <= 25; i++)
		{
			if ((divElm = document.getElementById("region_" + i)) && (selectElm = document.getElementById("region")))
			{
				if (i == regionID)
				{
					divElm.style.background = "url(/img/map/region_" + i + ".gif)";
					selectElm.selectedIndex = i;
					activeSearchRegionName = selectElm[selectElm.selectedIndex].text;
				}
				else
				{
					divElm.style.background = "url(/img/map/region_0.gif)";
					selectElm.selectedIndex = selectElm.selectedIndex; // refresh
				}
			}
		}

		return true;
	} // /selectRegion()



	////
	// mouseover region...
	//
	function mouseoverRegion(regionID)
	{
		regionID = (regionID) ? parseInt(regionID) : 0;
		if (!(regionID > 0)) return false;

		if (divElm = document.getElementById("region_" + regionID))
		{
			divElm.style.background = "url(/img/map/region_" + regionID + ".gif)";
		}

		return true;
	} // /mouseoverRegion()



	////
	// mouseout region...
	//
	function mouseoutRegion(regionID)
	{
		regionID = (regionID) ? parseInt(regionID) : 0;
		if (!(regionID > 0)) return false;

		if ((divElm = document.getElementById("region_" + regionID)) && (selectElm = document.getElementById("region")))
		{
			if (selectElm.selectedIndex != regionID)
			{
				divElm.style.background = "url(/img/clear.gif)";
			}
		}

		return true;
	} // /mouseoutRegion()



	// validates add post form
	function validateAddPost(frm)
	{
		if (!frm || frm == null) return false;
		contentDiv = document.getElementById('add_post_content');
		loadingDiv = document.getElementById('loading');
		errorStatus = "";

		if (frm.elements.title.value == "")
		{
			errorStatus += "\tНазва\n";
		}

		if (frm.elements.category[frm.elements.category.selectedIndex].value == "")
		{
			errorStatus += "\tКатегорія\n";
		}

		if (frm.elements.description.value == "")
		{
			errorStatus += "\tОпис\n";
		}

		if (frm.elements.captcha.value == "")
		{
			errorStatus += "\tКод перевірки\n";
		}

		if (errorStatus != "")
		{
			errorStatus = "Не заповнені обовя'зкові поля:\n\n" + errorStatus;
			alert(errorStatus);
			return false;
		}
		else
		{
			contentDiv.style.display = "none";
			loadingDiv.style.display = "block";
			frm.submit();
			return true;
		}

		return false;
	} // /validateAddPost()



	////
	// refreshes captcha image
	//
	function refreshCaptcha()
	{
		captchaElm = "captcha_image";

		if(document.getElementById(captchaElm))
		{
			randInt = Math.floor(Math.random() * 10000);
			document.getElementById(captchaElm).src = "/includes/captcha/index.php?" + randInt;
		}

		return true;
	} // /refreshCaptcha()



	////
	// selects category option in dropdown
	//
	function selectActiveCategory(categoryValue)
	{
		activeOption = document.getElementById('opt_' + categoryValue);

		if (activeOption)
		{
			activeOption.selected = true;
			activeSearchCategoryName = activeOption.text;
		}

		return true;
	} // /selectActiveCategory()



	////
	// shows bigger image on thumbs clicking
	//
	function showBigImage(newImgFile, activeThumb, totalThumbs)
	{
		if (!newImgFile || newImgFile == null) return false;
		if (!(activeThumb > 0 && totalThumbs > 0)) return false;

		imgPath = "/images/posts/b/";
		imgElm = document.getElementById('main_post_image');

		// checking active image, if not the same
		if (imgElm.src != imgPath + newImgFile)
		{
			imgElm.src = imgPath + newImgFile;
		}

		for(var i = 1; i <= totalThumbs; i++)
		{
			if (tdElm = document.getElementById('td_thumb_' + i))
			{
				if (activeThumb == i)
				{
					tdElm.className = "td_image_selected";
				}
				else
				{
					tdElm.className = "td_image";
				}
			}
		}

		window.location.hash = "#main_image";



		return true;
	} // /showBigImage()



	////
	// validates search
	//
	function validateSearch(frm)
	{
		if (!frm || frm == null) return false;
		errorStatus = "";
		searchURI = "";

		if (frm.elements.keyword.value != "" && frm.elements.keyword.value.length < 2)
		{
			errorStatus += "Слово для пошуку занадто коротке.\n";
		}


		if (errorStatus == "")
		{
			searchKeyword = encodeURIComponent(document.getElementById('keyword').value);
			regionID = document.getElementById('region')[document.getElementById('region').selectedIndex].value;
			categoryID = document.getElementById('category')[document.getElementById('category').selectedIndex].value;

			if (frm.elements.use_options.value == "yes")
			{
				searchURI += "/search?";
				searchURI += "r=" + regionID;
				searchURI += "&c=" + categoryID;
				searchURI += "&k=" + searchKeyword;
			}
			else
			{
				searchURI += "/search?k=" + searchKeyword;
			}

			window.location = searchURI;
		}
		else
		{
			errorStatus = "Виявлені помилки: \n\n" + errorStatus;
			alert(errorStatus);
		}

		return false;
	} // /validateSearch()
