var strFolderPhoto = 'pool/large/';

function sendForm(formAction, formName)
{
	if (DATA_SENT) return;

	if (!formName) formName = 'forma';

	with (document.forms[formName])
	{
		DATA_SENT = true;
		action = formAction;
		submit();
	}
}

function resetForm(messageStr, formName)
{
	if (!formName) formName = 'forma';

	if (confirm(messageStr)) document.forms[formName].reset();
}

function setValue(elementName, newValue, formName)
{
	if (!formName) formName = 'forma';
	if (document.forms[formName].elements[elementName])
		document.forms[formName].elements[elementName].value = newValue;
}

function trimValue(elementName, formName)
{
	if (!formName) formName = 'forma';
	with (document.forms[formName].elements[elementName]) value = value.replace(/(^\s+)|(\s+$)/g,'');
}

function dropDblSpaces(elementName, formName)
{
	if (!formName) formName = 'forma';
	with (document.forms[formName].elements[elementName]) value = value.replace(/\s{2,}/g,' ');
}

function encodeCRLF(elementName, formName)
{
	if (!formName) formName = 'forma';
	with (document.forms[formName].elements[elementName]) value = value.replace(/[\r\n]+/g,'!@!');
}

function decodeCRLF(elementName, formName)
{
	if (!formName) formName = 'forma';
	with (document.forms[formName].elements[elementName]) value = value.replace(/!@!/g,'\r\n');
}

function correctSlashes(fieldName)
{
	document.forma.elements[fieldName].value =
	document.forma.elements[fieldName].value.replace(/(^[\/\\ ]+)|([\/\\ ]+$)/g,'');
	document.forma.elements[fieldName].value =
	document.forma.elements[fieldName].value.replace(/(\s*[\/\\]+\s*[\/\\]+\s*)+/g,' / ');
	document.forma.elements[fieldName].value =
	document.forma.elements[fieldName].value.replace(/\s*[\/\\]+\s*/g,' / ');
}

function checkMail(strMail) {
	if (!strMail.match(/[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+/)) return false;
	if (strMail.charAt(strMail.length - 1) == '.') return false;
	return true;
}

function changeVisibility(elementName)
{
	if (document.getElementById)
	{
		document.getElementById(elementName).style.visibility =
			document.getElementById(elementName).style.visibility == 'visible' ? 'hidden' : 'visible';
		return;
	}

	if (document.all)
	{
		document.all[elementName].style.visibility =
			document.all[elementName].style.visibility == 'visible' ? 'hidden' : 'visible';
		return;
	}
}

function changeDisplay(elementName, modeName)
{
	if (document.getElementById)
	{
		document.getElementById(elementName).style.display =
			document.getElementById(elementName).style.display == 'none' ? modeName : 'none';
		return;
	}

	if (document.all)
	{
		document.all[elementName].style.display =
			document.all[elementName].style.display == 'none' ? modeName : 'none';
		return;
	}
}

function setDisplay(elementName, modeName)
{
	if (document.getElementById)
	if (document.getElementById(elementName))
	{

		document.getElementById(elementName).style.display = modeName;
		return;
	}

	if (document.all)
	if (document.all[elementName])
	{
		document.all[elementName].style.display = modeName;
		return;
	}
}

function switchDisplay(nameFirst, modeFirst, nameOthers, modeOthers)
{
	var itemCount = nameOthers.length;

	if (document.getElementById)
	{
		document.getElementById(nameFirst).style.display = modeFirst;
		for (var i = 0; i < itemCount; i++) document.getElementById(nameOthers[i]).style.display = modeOthers;
		return;
	}

	if (document.all)
	{
		document.all[elementName].style.display = modeFirst;
		for (var i = 0; i < itemCount; i++) document.all[nameOthers[i]].style.display = modeOthers;
		return;
	}
}

function correctList(elementName, formName)
{
	if (!formName) formName = 'forma';
	with (document.forms[formName].elements[elementName])
	{
		trimValue(elementName, formName);
		dropDblSpaces(elementName, formName)
		value = value.replace(/\s*,\s*/g,',');
		value = value.replace(/,{2,}/g,',');
		value = value.replace(/(^,+)|(,+$)/g,'');
	}
}

function splitList(elementName, formName)
{
	if (!formName) formName = 'forma';

	document.forms[formName].elements[elementName].value =
		document.forms[formName].elements[elementName].value.replace(/,/g,', ');
}

function removeHtml(elementName, formName)
{
	if (!formName) formName = 'forma';

	document.forms[formName].elements[elementName].value =
		document.forms[formName].elements[elementName].value.replace(/<\/?[a-z]+[^>]*>/ig,'');

	document.forms[formName].elements[elementName].value =
		document.forms[formName].elements[elementName].value.replace(/%[a-f0-9]{2}/ig,'');
}

function checkFoul(formName)
{
	if (!formName) formName = 'forma';

	var elementsCount = document.forms[formName].elements.length;

	for (var i = 0; i < elementsCount; i++)
	{
		if ((document.forms[formName].elements[i].type == 'text') || (document.forms[formName].elements[i].type == 'textarea'))
		{
			if (document.forms[formName].elements[i].value.search(/(^|[\s\r\n_])(õó[é¸åÿ])|((î|çà|ïðè|ïåðå)õó[åÿ])|(ñ?ï(è|å)çä)|((âû|ïðî)?áëÿä)|(áëÿ([\b\.,]|$))|(ïåäèê)|(ï(è|å)äîð)|((âû|ó|çà|ïåðå)?(å|¸)á(à|è))/i) >= 0)
			{
				document.forms[formName].elements[i].focus();
				return true;
			}
		}
	}

	return false;
}

function equalizeSelects(selectPrefix, mainIndex, formName)
{
	if (!formName) formName = 'forma';

	var
	prefixLen = selectPrefix.length,
	mainName = selectPrefix + mainIndex,
	newIndex = document.forms[formName].elements[mainName].selectedIndex;

	for (var i = 0; i < document.forms[formName].elements.length; i++)
	{
		if (document.forms[formName].elements[i].name == mainName) continue;

		if (document.forms[formName].elements[i].name.substr(0,prefixLen) == selectPrefix)
			document.forms[formName].elements[i].selectedIndex = newIndex;
	}
}

function verifyDay(iDay, iMonth, iYear) {
	// set max day in month
	switch (parseInt(iMonth)) {
		case 2:
			iMonth = 28;
			if (!(parseInt(iYear) % 4)) iMonth++;
			break;

		case 1: case 3: case 5: case 7: case 8: case 10: case 12:
			iMonth = 31;
			break;

		default:
			iMonth = 30;
			break;
	}

	return (parseInt(iDay) > 0) && (parseInt(iDay) <= iMonth);
}

function SaveScreenSizes()
{
	var dateExp = new Date();
	dateExp.setTime(dateExp.getTime() + 1000 * 24 * 3600 * 1000);

	if (document.cookie.search(/sw=\d+/) < 0)
	{
		document.cookie = 'sw=' + screen.width + ';domain=' + location.host + ';path=/;expires=' + dateExp.toGMTString() + ';';
	}
	if (document.cookie.search(/sh=\d+/) < 0)
	{
		document.cookie = 'sh=' + screen.height + ';domain=' + location.host + ';path=/;expires=' + dateExp.toGMTString() + ';';
	}
}

function resizePhotoWin()
{
	var requiredWidth = screen.width - 10;
	var requiredHeight = screen.height - 30;

	if ((window.width != requiredWidth) || (window.height != requiredHeight))
	{
		window.resizeTo(requiredWidth, requiredHeight);
	}
}

function replaceSpecialChars(elementName, formName)
{
	with (document.forms[formName].elements[elementName])
	{
		value = value.replace(/&/g,'&amp;');
		value = value.replace(/¹/g,'&#8470;');
		value = value.replace(/</g,'&lt;');
		value = value.replace(/>/g,'&gt;');

		value = value.replace(/«/g,'&laquo;');
		value = value.replace(/»/g,'&raquo;');

		value = value.replace(/'/g,"&#39;");
		value = value.replace(/\x22/g,'&quot;');
	}
}


function replaceSpecials(formName)
{
	if (!formName) formName = 'forma';

	var elementsCount = document.forms[formName].elements.length;

	for (var i = 0; i < elementsCount; i++)
	{
		if ((document.forms[formName].elements[i].type == 'text') || (document.forms[formName].elements[i].type == 'textarea'))
		{
			with (document.forms[formName].elements[i])
			{
				replaceSpecialChars(name, formName);
				/*
				value = value.replace(/&/g,'&amp;');
				value = value.replace(/¹/g,'&#8470;');
				value = value.replace(/</g,'&lt;');
				value = value.replace(/>/g,'&gt;');

				value = value.replace(/«/g,'&laquo;');
				value = value.replace(/»/g,'&raquo;');

				value = value.replace(/'/g,"&#39;");
				value = value.replace(/\x22/g,'&quot;');
				*/
			}
		}
	}

	return false;
}

function enableDateFilter(suffix)
{
	document.forma.elements['day_' + suffix].disabled =
	document.forma.elements['month_' + suffix].disabled =
	document.forma.elements['year_' + suffix].disabled =
		!document.forma.elements['date_filter_' + suffix].checked;
}

function checkDate(day, month, year)
{
	with (document.forma.elements[day])
	{
		if (!value)
		{
			focus();
			alert(noValue);
			return 0;
		}
		if (value.search(/\D/g) >= 0)
		{
			focus();
			alert(badChar);
			return 0;
		}
		if (value > 31)
		{
			focus();
			alert(badDay);
			return 0;
		}
	}
	with (document.forma.elements[month])
	{
		if (!selectedIndex)
		{
			focus();
			alert(noValue);
			return 0;
		}
	}
	with (document.forma.elements[year])
	{
		if (!value)
		{
			focus();
			alert(noValue);
			return 0;
		}
		if (value.search(/\D/g) >= 0)
		{
			focus();
			alert(badChar);
			return 0;
		}
		if ((value < 2004) || (value > today.getFullYear()))
		{
			focus();
			alert(badYear);
			return 0;
		}
	}

	if (!verifyDay(document.forma.elements[day].value,document.forma.elements[month].selectedIndex,document.forma.elements[year].value))
	{
			focus();
			alert(badDate);
			return 0;
	}

	return 1;
}

function checkActiveDate(suffix)
{
	today = new Date();
	switcher = 'date_filter_' + suffix;
	day = 'day_' + suffix;
	month = 'month_' + suffix;
	year = 'year_' + suffix;

	if (!document.forma.elements[switcher].checked) return 1;

	trimValue(day);
	trimValue(year);

	if (document.forma.elements[day].value || document.forma.elements[month].selectedIndex || document.forma.elements[year].value)
		return checkDate(day, month, year);
	else
	{
		document.forma.elements[switcher].checked = 0;
		return 1;
	}
}

function copyDate(fromDay, fromMonth, fromYear, toDay, toMonth, toYear, formName)
{
	if (!formName) formName = 'forma';
	document.forms[formName].elements[toDay].value = document.forms[formName].elements[fromDay].value;
	document.forms[formName].elements[toMonth].selectedIndex = document.forms[formName].elements[fromMonth].selectedIndex;
	document.forms[formName].elements[toYear].value = document.forms[formName].elements[fromYear].value;
}

function setBrightnessTunerMode(intMode, dateExp)
{
	if (!dateExp)
	{
		dateExp = new Date();
		dateExp.setTime(dateExp.getTime() + 1000 * 24 * 3600 * 1000);
	}

	document.cookie = 'br_tuner=' + (intMode < 2 ? 0 : 2) + ';domain=' + location.host + ';path=/;expires=' + dateExp.toGMTString() + ';';
}