/**

	Simple Site Engine - common JS

*/

var i = 0;
var arrFieldsCatSubscr = new Array();
arrFieldsCatSubscr[i] = new Array();
arrFieldsCatSubscr[i]["name"] = "email";
arrFieldsCatSubscr[i]["title"] = "Рассылка скидок и распродаж Москвы";
arrFieldsCatSubscr[i]["is_mail"] = true;
i++;


function change_display(id)
{
	var oElement = document.getElementById(id);
	if (!oElement)
	{
		return;
	}

	if (oElement.style.display == "block")
	{
		oElement.style.display = "none";
	}
	else
	{
		oElement.style.display = "block";
	}
};


function change_sort(strFormId, strField)
{
	var oForm = document.getElementById(strFormId);
	if (!oForm)
	{
		alert("!oForm: " + strFormId);
		return;
	}

	oForm.field.value = strField;
	if (oForm.sort.value == "ASC")
	{
		oForm.sort.value = "DESC";
	}
	else
	{
		oForm.sort.value = "ASC";
	}

	oForm.submit();
};


function CheckEmail(oForm, arrField)
{
	if (!oForm)
	{
		return "Не получен указатель на форму.\n";
	}

	var bRes = true;
	var strError = "\n";
	var strEmail = eval("oForm." + arrField["name"] + ".value")

	if (strEmail.length < 5)
	{
		bRes = false;
		strError = "E-mail имеет недостаточную длину.\n";
	}

	bRes &= (strEmail.indexOf(".") != -1);
	bRes &= (strEmail.indexOf("@") != -1);

	if (bRes)
	{
		return "";
	}
	else
	{
		strError = "Введен неправильный e-mail в поле \"" + arrField["title"] + "\"! " + strError;
		return strError;
	}
};


function CheckForm(oForm, arrFields)
{
	if (!oForm)
	{
		return false;
	}

	var bRes = true;
	var strError = "";
	var i = 0;

	for (i = 0; i < arrFields.length; i++)
	{
		var oInput = eval("oForm." + arrFields[i]["name"]);
		if (!oInput)
		{	
			//alert("oForm." + arrFields[i]["name"]);
			continue;			
		}		
		
		if (arrFields[i]["is_checkbox"] && !oInput.checked)
		{
			bRes = false;
			strError += "Не отмечено поле \"" + arrFields[i]["title"] + "\";\n";
			continue;
		}
		
		var strValue = oInput.value;
		//eval("oForm." + arrFields[i]["name"] + ".value");
		
		if (!strValue.length)
		{
			bRes = false;
			strError += "Не задано поле \"" + arrFields[i]["title"] + "\";\n";
		}

		if (arrFields[i]["is_mail"])			
		{
			var strRes = CheckEmail(oForm, arrFields[i]);
			if (strRes.length)
			{
				bRes = false;
				strError += strRes;
			}
		}
	}

	if (!bRes)
	{
		strError = "Вы не заполнили обязательные поля!\n" + strError;
		alert(strError);
		return bRes ? true : false;
	}

	return bRes ? true : false;
};


var arrTranslitTable = new Array();
function get_translit_table()
{
	if (!arrTranslitTable.length)
	{
		arrTranslitTable["а"] = "a";
		arrTranslitTable["б"] = "b";
		arrTranslitTable["в"] = "v";
		arrTranslitTable["г"] = "g";
		arrTranslitTable["д"] = "d";
		arrTranslitTable["е"] = "e";
		arrTranslitTable["ё"] = "ye";
		arrTranslitTable["ж"] = "zh";
		arrTranslitTable["з"] = "z";
		arrTranslitTable["и"] = "i";
		arrTranslitTable["й"] = "y";
		arrTranslitTable["к"] = "k";
		arrTranslitTable["л"] = "l";
		arrTranslitTable["м"] = "m";
		arrTranslitTable["н"] = "n";
		arrTranslitTable["о"] = "o";
		arrTranslitTable["п"] = "p";
		arrTranslitTable["р"] = "r";
		arrTranslitTable["с"] = "s";
		arrTranslitTable["т"] = "t";
		arrTranslitTable["у"] = "u";
		arrTranslitTable["ф"] = "f";
		arrTranslitTable["х"] = "kh";
		arrTranslitTable["ц"] = "ts";
		arrTranslitTable["ч"] = "ch";
		arrTranslitTable["ш"] = "sh";
		arrTranslitTable["щ"] = "shch";
		arrTranslitTable["ъ"] = "";
		arrTranslitTable["ы"] = "y";
		arrTranslitTable["ь"] = "";
		arrTranslitTable["э"] = "e";
		arrTranslitTable["ю"] = "yu";
		arrTranslitTable["я"] = "ya";

		arrTranslitTable["А"] = "a";
		arrTranslitTable["Б"] = "b";
		arrTranslitTable["В"] = "v";
		arrTranslitTable["Г"] = "g";
		arrTranslitTable["Д"] = "d";
		arrTranslitTable["Е"] = "e";
		arrTranslitTable["Ё"] = "ye";
		arrTranslitTable["Ж"] = "zh";
		arrTranslitTable["З"] = "z";
		arrTranslitTable["И"] = "i";
		arrTranslitTable["Й"] = "y";
		arrTranslitTable["К"] = "k";
		arrTranslitTable["Л"] = "l";
		arrTranslitTable["М"] = "m";
		arrTranslitTable["Н"] = "n";
		arrTranslitTable["О"] = "o";
		arrTranslitTable["П"] = "p";
		arrTranslitTable["Р"] = "r";
		arrTranslitTable["С"] = "s";
		arrTranslitTable["Т"] = "t";
		arrTranslitTable["У"] = "u";
		arrTranslitTable["Ф"] = "f";
		arrTranslitTable["Х"] = "kh";
		arrTranslitTable["Ц"] = "ts";
		arrTranslitTable["Ч"] = "ch";
		arrTranslitTable["Ш"] = "sh";
		arrTranslitTable["Щ"] = "shch";
		arrTranslitTable["Ъ"] = "";
		arrTranslitTable["Ы"] = "y";
		arrTranslitTable["Ь"] = "";
		arrTranslitTable["Э"] = "e";
		arrTranslitTable["Ю"] = "yu";
		arrTranslitTable["Я"] = "ya";

		arrTranslitTable[" "] = "-";
		arrTranslitTable["."] = ".";
		arrTranslitTable["-"] = "-";
		arrTranslitTable["_"] = "_";

		arrTranslitTable["a"] = "a";
		arrTranslitTable["b"] = "b";
		arrTranslitTable["c"] = "c";
		arrTranslitTable["d"] = "d";
		arrTranslitTable["e"] = "e";
		arrTranslitTable["f"] = "f";
		arrTranslitTable["g"] = "g";
		arrTranslitTable["h"] = "h";
		arrTranslitTable["i"] = "i";
		arrTranslitTable["j"] = "j";
		arrTranslitTable["k"] = "k";
		arrTranslitTable["l"] = "l";
		arrTranslitTable["m"] = "m";
		arrTranslitTable["n"] = "n";
		arrTranslitTable["o"] = "o";
		arrTranslitTable["p"] = "p";
		arrTranslitTable["q"] = "q";
		arrTranslitTable["r"] = "r";
		arrTranslitTable["s"] = "s";
		arrTranslitTable["t"] = "t";
		arrTranslitTable["u"] = "u";
		arrTranslitTable["v"] = "v";
		arrTranslitTable["w"] = "w";
		arrTranslitTable["x"] = "x";
		arrTranslitTable["y"] = "y";
		arrTranslitTable["z"] = "z";

		arrTranslitTable["0"] = "0";
		arrTranslitTable["1"] = "1";
		arrTranslitTable["2"] = "2";
		arrTranslitTable["3"] = "3";
		arrTranslitTable["4"] = "4";
		arrTranslitTable["5"] = "5";
		arrTranslitTable["6"] = "6";
		arrTranslitTable["7"] = "7";
		arrTranslitTable["8"] = "8";
		arrTranslitTable["9"] = "9";
	}

	return arrTranslitTable;
};

function translit(oSrc, oDest, max_length)
{
	if (!oSrc || !oDest)
	{
		alert("!oSrc || !oDest");
		return;
	}

	var table = get_translit_table();
	var string = oSrc.value;
	string = string.toLowerCase();
	var new_str = "";

	for (var i = 0; i < string.length; i++)
	{
		if (table[string.charAt(i)])
		{
			new_str += table[string.charAt(i)];
		}
	}

	if (max_length)
	{
		if (max_length && max_length < new_str.length)
		{
			new_str = new_str.substring(0, max_length);
		}
	}
	oDest.value = new_str;
	return;
};



function getWindowSize()
{
	var windowWidth = 0;
	var windowHeight = 0; // frame width & height

	if(window.innerWidth)
	{
		windowWidth=window.innerWidth;
	}
	else if(document.documentElement && document.documentElement.clientWidth)
	{
		windowWidth=document.documentElement.clientWidth;
	}
	else if(document.body)
	{
		windowWidth=document.body.offsetWidth;
	}

	if(window.innerHeight)
	{
		windowHeight=window.innerHeight;
	}
	else if(document.documentElement && document.documentElement.clientHeight)
	{
		windowHeight=document.documentElement.clientHeight;
	}
	else if(document.body)
	{
		windowHeight=document.body.clientHeight;
	}

	var arr = new Array();
	arr['height'] = windowHeight;
	arr['width'] = windowWidth;

	return arr;
}

function getWindowScrollPos()
{
	var scrollLeft = 0;
	var scrollTop = 0;
	// scrollLeft: The distance between the horizontal scrollbar
	// with the left edge of the frame.
	// scrollTop:  The distance between the vertical scrollbar
	// with the top edge of the frame.

	// Get the scroll value from different browsers.
	// Determine the browser type first.
	// And then get the value from the particular property.
	if (window.pageYOffset)
	{
		scrollTop = window.pageYOffset
	}
	else if(document.documentElement && document.documentElement.scrollTop)
	{
		scrollTop = document.documentElement.scrollTop;
	}
	else if(document.body && document.body.scrollTop)
	{
		scrollTop = document.body.scrollTop;
	}
/*	else if (document.body && document.body.scrollHeight)
	{
		scrollTop = document.body.scrollHeight;
	}
*/
	if(window.pageXOffset)
	{
		scrollLeft = window.pageXOffset
	}
	else if(document.documentElement && document.documentElement.scrollLeft)
	{
		scrollLeft=document.documentElement.scrollLeft;
	}
	else if(document.body && document.body.scrollLeft)
	{
		scrollLeft = document.body.scrollLeft;
	}
/*	else if (document.body && document.body.scrollWidth)
	{
		scrollLeft = document.body.scrollWidth;
	}
*/
	var arr = new Array();

	arr['height'] = scrollTop;
	arr['width'] = scrollLeft;

	return arr;
}


function getWindowFullSize()
{
	var scrollLeft = 0;
	var scrollTop = 0;

	if (document.body && document.body.scrollHeight)
	{
		scrollTop = document.body.scrollHeight;
	}

	if (document.body && document.body.scrollWidth)
	{
		scrollLeft = document.body.scrollWidth;
	}

	var arr = new Array();

	arr['height'] = scrollTop;
	arr['width'] = scrollLeft;

	if (!scrollTop || !scrollLeft)
	{
		arr = getWindowSize();
	}

	return arr;
}


function getCenterPostion(width, height)
{
	width = (width == 'undefined' || !width) ? 0 : parseInt(width);
	height = (height == 'undefined' || !height) ? 0 : parseInt(height);

	var windowSize = getWindowSize();
	var windowScrollPos = getWindowScrollPos();

	var centerLeft = windowSize['width'] / 2;
	var centerTop = windowSize['height'] / 2;

	//if (windowFullSize['width'] > windowSize['width'])
	//{
		centerLeft = windowScrollPos['width'] + centerLeft;
	//}

	//if (windowFullSize['height'] > windowSize['height'])
	//{
		centerTop = windowScrollPos['height'] + centerTop;
	//}

	var arr = new Array();

	arr.left = centerLeft - width / 2;
	arr.top = centerTop - height / 2;

	if (arr.left < 0)
	{
		arr.left = 0;
	}

	if (arr.top < 0)
	{
		arr.top = 0;
	}

	return arr;
}


function fitWindow()
{
	var size = getWindowFullSize();

	window.resizeTo(size.width, size.height);
}


function setBgColor(oElement, color)
{
	if (!oElement)
	{
		alert('!oElement');
		return;
	}

	color = (color == 'undefined' || !color) ? '#E1E1E1' : color;

	oElement.style.backgroundColor = color;

	return;
}