﻿div = false;


function enableImageCache(){
	/*Use Object Detection to detect IE6*/
	var  m = document.uniqueID /*IE*/
	&& document.compatMode  /*>=IE6*/
	&& !window.XMLHttpRequest /*<=IE6*/
	&& document.execCommand ;

	try{
		if(!!m){
			m("BackgroundImageCache", false, true) /* = IE6 only */
		}

	}catch(oh){};
};

document.onmouseclick = function (e) {
	if (div) {
		div.style.display="none";
	}
	return false;
}
window.onresize = window.onscroll =
	function() {
		return PopupResize();
	} // end event
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("TD");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover = function() {
			var uls = this.getElementsByTagName("UL");
			for (var i = 0; i < uls.length; i++)
				uls[i].style.display = 'block';
		}
		sfEls[i].onmouseout = function() {
			var uls = this.getElementsByTagName("UL");
			for (var i = 0; i < uls.length; i++)
				uls[i].style.display = 'none';
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
if (window.attachEvent) window.attachEvent("onload", enableImageCache);

function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

function PopupResize() {
	var popup = document.getElementById("popup_bg");
	var body = document.getElementById("body");
	if (popup && body) {
		popup.style.height = body.clientHeight + "px";
		popup.style.width = body.clientWidth + "px";
	}
}

function PopupClose() {
	var popup2 = document.getElementById("popup_container_2");
	var bg = document.getElementById("popup_bg");
	if (popup2) {
		popup2.parentNode.removeChild(popup2);
		if(bg)
			bg.style.zIndex = 400;
	} else {
		var container = document.getElementById("popup_container");
		if(bg)
			bg.style.display = "none";
		container.style.display = "none";
	}

	//This variable is used when showing message before any popup window is closed. defined in _RootObjectTemplate in sevgord
	isPopupOpen = isPopupOpen - 1;

// Added for MAP-page (Objects)
	var cont_desc = document.getElementById("contact_description");
	if(cont_desc && bg)
		bg.style.display = "none";

	var popup_estate = document.getElementById("popup_left_part");
	if(popup_estate && bg)
		bg.style.display = "none";

	var bg_stroitel = document.getElementById("popup_bg_stroitel");
	if(bg_stroitel)
		bg_stroitel.style.display = "none";

	var city_new_select = document.getElementById("city_new");
	if(city_new_select)
		city_new_select.style.display='block';
}
function PopupOpen() {
	var city_new_select = document.getElementById("city_new");
	if(city_new_select)
		city_new_select.style.display='none';

	var bg = document.getElementById("popup_bg");
	var scrollAmount = window.pageYOffset ? window.pageYOffset : document[(document.compatMode == 'CSS1Compat') ? 'documentElement' : 'body'].scrollTop;
	var viewportHeight = document.documentElement.clientHeight < document.body.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
	var popup2 = document.getElementById("popup_container_2");

	//This variable is used when showing message before any popup window is closed. defined in _RootObjectTemplate in sevgord
	isPopupOpen = isPopupOpen + 1;

	if (popup2) {
		popup2.style.display = "block";
		scrollAmount = scrollAmount + viewportHeight / 2 - popup2.offsetHeight / 2;
		if (scrollAmount < 0) scrollAmount = 0;
	    popup2.style.top = scrollAmount + 'px';
		bg.style.zIndex = 550;
	} else {
		var popup = document.getElementById("popup_container");
		popup.style.display = "block";
		scrollAmount = scrollAmount + viewportHeight / 2 - popup.offsetHeight / 2;
		if (scrollAmount < 0) scrollAmount = 0;
		//alert(window.pageYOffset);
		popup.style.top = scrollAmount + 'px';
		return PopupResize();
	}
} // end function

// New functions. Added to make black background on MAP-page (Objects)
function PopupShow() {
	var popup = document.getElementById("popup_bg_stroitel");
	popup.style.display = "block";
	ResizeBGStroitel();
}
function ResizeBGStroitel() {
	var popup_str = document.getElementById("popup_bg_stroitel");
	var body = document.getElementById("body");
	if (popup_str && body) {
		popup_str.style.height = body.clientHeight + "px";
		popup_str.style.width = body.clientWidth + "px";
	}
}

function SelectClick(i , id) {
	var selects_container = document.getElementById("select_items" + id);
	var select_items = selects_container.getElementsByTagName("LI");
	for (k=0; k < select_items.length; k++) {
			select_items[k].style.position="static";
	}
	var selected_item = document.getElementById("select_item_" + i);
	selected_item.style.position="relative";
	var options_container = document.getElementById("select_options_" + i);
	options_container.style.display="block";
	div = options_container;
}
function ChangeValue(id, item) {
	var select_value = document.getElementById("select_value_" + id);
	select_value.innerHTML = item.text;
	if (div) {
		div.style.display="none";
	}
	return false;
}
/*scroller*/
document.onmousemove =
	function (e) {
		if (document.all) {
			mouse_x = event.clientX;
			mouse_y = event.clientY;
			if ((event.srcElement) && (event.srcElement.tagName) && (event.srcElement.tagName.toLowerCase() == 'select')) mouse_y += 30;
		} else if (document.getElementById){
			mouse_x = e.clientX;
			mouse_y = e.clientY;
		} else if (document.layers) {
			mouse_x = e.x;
			mouse_y = e.y;
		} // end if
		if (window.pageXOffset) {
			mouse_x += window.pageXOffset;
			mouse_y += window.pageYOffset;
		} else {
			var html = document.getElementsByTagName('html')[0];
			mouse_x += html.scrollLeft;
			mouse_y += html.scrollTop;
		} // end if
		moveIt();
		moveCt();
	} // end event

input_y = false;

//------------------------------------------calculator----------------------------------------------------------
input_cr = false;

function startCredit(div, min_value, max_value,  data_input) {
	input_cr = true;
	min = min_value*1;
	max = max_value*1;
	input = div;
	inputval = input.value.toString().replaceAll(' ','')*1;

	data = document.getElementById(data_input);

	if (IsNumeric(inputval) && inputval <= max && inputval >= min)//if everything is correct
	{
		data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";
		input.value=formatCurrency(inputval);
	}
	else if (IsNumeric(inputval) && inputval < min)//if input is integer and less then min value
  {
	  	//document.getElementById('checksubmit').value='false';
	  	inputval=min;
		data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";
		input.value=formatCurrency(min);
  }
	else if (IsNumeric(inputval) && inputval > max) //if input is integer and greater than max value
	{
        //document.getElementById('checksubmit').value='false';
		inputval=max;
		data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";
		input.value=formatCurrency(max);
	}
	else // if input is not an integer
	{
		//document.getElementById('checksubmit').value='false';
		inputval=max;
        data.style.left = ((inputval-min)/(max-min))*data.parentNode.offsetWidth - data.offsetWidth/2 + "px";
		input.value=formatCurrency(max);
	}
	//var saveandclose = document.getElementById("SaveAndClose");
	//saveandclose.disabled = false;
}

document.onchange = function () {
	input_cr = false;
}

input_credit = false;

function startCt(div, min_value, max_value,  data_input) {
	input_credit = true;
	min = min_value*1;
	max = max_value*1;

	input = div;
	old_mouse_position = mouse_x;
	old_input_position = input.offsetLeft;
	left_mouse_border = old_mouse_position - input.offsetLeft - input.offsetWidth/2;
	right_mouse_border = left_mouse_border + input.parentNode.offsetWidth ;
	data = document.getElementById(data_input);
	//var saveandclose = document.getElementById("SaveAndClose");
	//saveandclose.disabled = false;
}


function moveCt() {
	if (input_credit) {
		current_mouse_position = mouse_x;
		if (current_mouse_position <= left_mouse_border ) {
			input.style.left = - input.offsetWidth/2 + "px";
			data.value = formatCurrency(min);
		} else {
			if (current_mouse_position <= right_mouse_border) {
				dX = current_mouse_position - old_mouse_position;
				input.style.left = old_input_position + dX + "px";
				data.value =formatCurrency(min + Math.round((max-min)*((old_input_position + input.offsetWidth/2+ dX)/(input.parentNode.offsetWidth))));
			} else {
				input.style.left = input.parentNode.offsetWidth - input.offsetWidth/2 + "px";
				data.value = formatCurrency(max);
			}
		}
	}
}
//-----------------------------------------end calculator-------------------------------------------------------------------------------

function startDrag() {
	input_y = true;
	old_mouse_position = mouse_y;
	input = document.getElementById('scroll');
	old_input_position = input.offsetTop;
	top_mouse_border = old_mouse_position - input.offsetTop;
	bottom_mouse_border = top_mouse_border + input.parentNode.offsetHeight - input.offsetHeight;
	table = document.getElementById('ConstructionState');
	k = (table.offsetHeight - input.parentNode.offsetHeight)/ (input.parentNode.offsetHeight - input.offsetHeight);
}
function showScroll() {
	input = document.getElementById('scroll');
	table = document.getElementById('ConstructionState');
	if (table.offsetHeight<=input.parentNode.offsetHeight) input.style.display="none";
}
function moveIt() {
	if (input_y) {
		current_mouse_position = mouse_y;
		if (current_mouse_position <= top_mouse_border ) {
			input.style.top = 0;
			table.style.top = -3+"px";
		} else {
			if (current_mouse_position <= bottom_mouse_border) {
				dX = current_mouse_position - old_mouse_position;
				input.style.top = old_input_position + dX + "px";
				table.style.marginTop = - (input.offsetTop) * k + "px";
			} else {
				input.style.top = input.parentNode.offsetHeight - input.offsetHeight + "px";
				table.style.marginTop = - (input.parentNode.offsetHeight - input.offsetHeight)* k + "px";
			}
		}
	}
}
document.onmouseup =
function () {
	input_y = false;
	input_credit = false;//for calculator
}

menu_status = new Array();
function showHide(theid){
    if (document.getElementById) {
	    var switch_id = document.getElementById('myresult' + theid);
		var p = document.getElementById('searchrow' + theid);
		if(menu_status[theid] != 'show') {
		   switch_id.className = 'show';
		   menu_status[theid] = 'show';
		   p.className = 'search_row_nn active_result';
		} else {
		   switch_id.className = 'hide';
		   menu_status[theid] = 'hide';
		   p.className = 'search_row_nn';
	    }
	}
}

//============================additional===============================
function ajax_preload(id)
{
    var div = document.getElementById(id);
	div.innerHTML = 'Загрузка данных...';
}

/*
function reset_podbor()
{
	var estate_sel = document.getElementById('estate');
	var sel_form = document.getElementById('Otbor');

	//var rr = Math.round(Math.random()*2);
	//estate_sel.value = 5396 + rr;
	estate_sel.value = 5396;

	//var mans_status = document.getElementById('AJAX_mansionStatus').childNodes[0];
	//alert(mans_status);

	suitform(estate_sel.value);
	LoadPage('ajax/getcity.aspx?estate=' + estate_sel.value,'AJAX_getCity',null);
	LoadPage('ajax/regions.aspx?catalogbool=1&city=0&estate=' + estate_sel.value, 'AJAX_getRegions');
	LoadPage('ajax/apartments.aspx?catalogbool=1&city=0&estate=' + estate_sel.value,  'AJAX_mansions');
	StandardAjaxAction(sel_form,'ajax/SearcheChangeSelects.aspx?action=estate','changeform');

	ChangeSelect('AJAX_mansionStatus', 'mansionStatus', 'mansionStatus', null, null, 'select', null, null, 0);

	document.getElementById('estate').onchange();

}
*/

function extsearch()
{
	if (document.getElementById('divextprice').style.display == 'none')
	{
		document.getElementById('divextarea').style.display='block';
		document.getElementById('divextprice').style.display='block';
		document.getElementById('divsortby').style.display='block';
		document.getElementById('divextstatus').style.display='block';
		document.getElementById('divextcommission').style.display='block';
		//document.getElementById('choose_button2').className = 'choose_button2_selected';
		document.getElementById('kriteries').innerHTML = 'Меньше критериев подбора<b></b>';
		document.getElementById('kriteries').className = 'kriteries_less';
		suitform(document.getElementById('estate').value);
	}
	else
	{
		document.getElementById('divextarea').style.display='none';
		document.getElementById('divextprice').style.display='none';
		document.getElementById('divsortby').style.display='none';
		document.getElementById('divextstatus').style.display='none';
		document.getElementById('divextcommission').style.display='none';
		//document.getElementById('choose_button2').className = 'choose_button2';
		document.getElementById('kriteries').innerHTML = 'Больше критериев подбора<b></b>';
		document.getElementById('kriteries').className = 'kriteries_more';

	}
    return false;
}

function checkext() {
	if (document.getElementById('divextarea').style.display=='none')
	{
		document.getElementById('minarea').disabled='disabled';
		document.getElementById('maxarea').disabled='disabled';
	}
	if (document.getElementById('divextprice').style.display=='none')
	{
		document.getElementById('minprice').disabled='disabled';
		document.getElementById('maxprice').disabled='disabled';

	}
	document.getElementById('Otbor').submit();
	return false;
}


function suitform(val) {
	if (val==document.getElementById('Flat').value){//Kvartira
//	    document.getElementById('divmansion').style.display='none';
		document.getElementById('divroom').style.display='block';
		document.getElementById('divPlanType').style.display='block';
		if (document.getElementById('divextprice').style.display=='block') {
		    document.getElementById('divextarea').style.display='block';
		}
		document.getElementById('estatetype').value = 'Flat';
	}
	if (val==document.getElementById('Office').value) {//Magazin/Office
		document.getElementById('divroom').style.display='none';
//		document.getElementById('divmansion').style.display='none';
		document.getElementById('divPlanType').style.display='none';
		if (document.getElementById('divextprice').style.display=='block') {
		    document.getElementById('divextarea').style.display='block';
		}
		document.getElementById('estatetype').value = 'Office';
	}
	if (val==document.getElementById('Garage').value) {//Garaj
	    document.getElementById('divextarea').style.display='none';
//		document.getElementById('divmansion').style.display='block';
		document.getElementById('divPlanType').style.display='none';
		document.getElementById('divroom').style.display='none';
		document.getElementById('estatetype').value = 'Garage';
	}
}

function ChangeSelect(iddiv,nameselect,idselect,from,to,nameclass,listoption,step,disable)
{
	var ChangeDiv = document.getElementById(iddiv);
	if(!ChangeDiv) return;
	if(disable == 1)return;
	ChangeDiv.style.visibility = "hidden";
	ChangeDiv.innerHTML = "";

	if(listoption)var ArrayOption = listoption.split(',');
		   else var ArrayOption = new Array(1,2,3,4,5);

	var n=0;
	//var Select = "<select name='" + nameselect + "' id='" + idselect + "' class='" + nameclass + "' onchange=\"suitform(this.value);StandardAjaxAction(document.getElementById('Otbor'),'ajax/SearcheChangeSelects.aspx','changeform','divroom');\" >"+
		//	    "<option value=\"\">---</option>";
	var Select = document.createElement('SELECT');
	Select.name = nameselect;
	Select.id = idselect;
	Select.className = nameclass;
	Select.onchange = function(){
		suitform(this.value);
		StandardAjaxAction(this.form, 'ajax/SearcheChangeSelects.aspx','changeform');
	};
	var Option = document.createElement('OPTION');
	Option.innerHTML = "---";
	Select.appendChild(Option);
	var Value='';
	for(var i= 0;i<ArrayOption.length;i++)
	{
		if(ArrayOption[i]>1000)Value = ChangeItemValue(ArrayOption[i]);
						  else Value = ArrayOption[i];

		if((ArrayOption[i]>=from) && (ArrayOption[i]<to))
		{
			Option = document.createElement('OPTION');
			Option.innerHTML = Value;
			Option.value = ArrayOption[i];
			Select.appendChild(Option);
			//Select +='<option value="'+ ArrayOption[i] + '">' + Value + '</option>';
			n = 1;
		}
			else
		{
			if((ArrayOption[i]<=from)&&(ArrayOption[i+1]>from) && (step == 1) && (n == 0)) {
				Option = document.createElement('OPTION');
				Option.innerHTML = Value;
				Option.value = ArrayOption[i];
				Select.appendChild(Option);
			}
			//Select +='<option value="'+ ArrayOption[i] + '">' + Value + '</option>';

			if((n == 1) || ArrayOption[i]>to)
			{
				if (step == 2) {
					Option = document.createElement('OPTION');
					Option.innerHTML = Value;
					Option.value = ArrayOption[i];
					Select.appendChild(Option);
				}
					//Select +='<option value="'+ ArrayOption[i] + '">' + Value + '</option>';
				break;
			}
		}
	}

	ChangeDiv.appendChild(Select);
	ReplaceSelects(ChangeDiv);
	ChangeDiv.style.visibility = "visible";
}

function ChangeTwoSelects(iddiv,nameselect,nameselect2,idselect,idselect2,from,to,nameclass,listoptions,n)
{
	if(n==2||!n)ChangeSelect(iddiv,nameselect,idselect,from,to,nameclass,listoptions,1);
	if(n==1||!n)ChangeSelect(iddiv+'2',nameselect2,idselect2,from,to,nameclass,listoptions,2);
}

function ChangeItemValue(ValueItem)
{
	var NewValue = '';
	var n = 0;

	for(var i=ValueItem.length;i>0;i--)
	{
		NewValue = ValueItem.charAt(i-1) + NewValue;

		if(n<2)n++;
		  else { n=0; NewValue = ' ' + NewValue;}
	}

	return NewValue;
}

var CanSaveAs = 0;
var CurrentProject;

function SaveUrlToDisk(url){
	CanSaveAs = 1;
	var newWindow = window.open(url, '_blank');
	return false;
}

function LoadFlash(mansionId, estateType, debug, flat, floor)
{
/*
	var flashvars = {};
	flashvars.configUri = encodeURIComponent(SitePath + AddPageId('AJAX/GetBuildingXml.aspx?MansionId=' + mansionId + '&EstateType=' + estateType + (debug ? '&debug=1' : '')));
	flashvars.localConfig = 0;
	var params = {};
	params.allowscriptaccess = 'always';
	params.wmode = 'transparent';
	var attributes = {};
	swfobject.embedSWF(SitePath + "sevgorod/img/flash/viewer.swf", "flash", "484", "202", "8", '', flashvars, params, attributes);
*/
	var flashvars = {};
		flashvars.floor_is = floor;
		flashvars.flat_is = flat;
		flashvars.configUrl = encodeURIComponent(SitePath + AddPageId('AJAX/GetBuildingXml.aspx?MansionId=' + mansionId + '&EstateType=' + estateType + (debug ? '&debug=1' : '')));
		flashvars.localConfig = 0;
	var params = {};
	var attributes = {};
	swfobject.embedSWF(SitePath + "sevgorod/img/flash/viewer.swf", "flash", "484", "202", "9.0.0", "expressInstall.swf", flashvars, params, attributes);

	//var swf=navigator.appName.indexOf('Microsoft') != -1 ? window['flash'] : document['flash'];
	//swf.showFloorAndFlat(11,8422);
}

function selectFlat(flatId) {
	CurrentProject = flatId;
	/*
  LoadPage('AJAX/GetProjectPlan.aspx?estateid=' + flatId+'&page.id='+PageId, 'ProjectPlan');
	LoadPage('AJAX/GetEstateConclusion.aspx?estateid=' + flatId+'&page.id='+PageId, 'EstateConclusion');
	LoadPage('AJAX/GetEstateServiceLinks.aspx?DspServiceLinks.Action=estate&DspServiceLinks.ProjectId='+flatId+'&page.id='+PageId, 'EstateService');
  */
	$("#ProjectPlan").html($.ajax({
		url:'/AJAX/GetProjectPlan.aspx?estateid=' + flatId+'&page.id='+PageId,
		async:false
	}).responseText);
	$("#EstateConclusion").html($.ajax({
		url:'/AJAX/GetEstateConclusion.aspx?estateid=' + flatId+'&page.id='+PageId,
		async:false
	}).responseText);
	$("#EstateService").html($.ajax({
		url:'/AJAX/GetEstateServiceLinks.aspx?DspServiceLinks.Action=estate&DspServiceLinks.ProjectId='+flatId+'&page.id='+PageId,
		async:false
	}).responseText);
	//var input = document.getElementById("SaveAndClose");
	//input.disabled = false;
	return false;
}

String.prototype.replaceAll = function(strTarget, strSubString)
{//Replaces all the occurrences of second string in first string
	var strText = this;
	var intIndexOfMatch = strText.indexOf( strTarget );

	while (intIndexOfMatch != -1){
		strText = strText.replace( strTarget, strSubString )
		intIndexOfMatch = strText.indexOf( strTarget );
	}

	return( strText );
}//end replaceAll

//RATING-----------------------------------------------------------------------------------------------
function hiderate(id) {
   document.getElementById(id).style.display='none';
   //document.getElementById(id).style.visibility='hidden';//for goddamn opera
}

function showrate(id) {
   pid = id.toString().split("_")[1]; //id of the estate

   var displaybool = true;
   var ratedlist = document.getElementById('ratedlist');
   if (ratedlist) {
   var rl = document.getElementById('ratedlist').value.split('_');

   for (var k=0;k<rl.length - 1;k++)
   {
   	  if (rl[k] == pid) {
   	  	 displaybool = false;
   	  }
   }
   }

   if (displaybool) {
       document.getElementById(id).style.display='block';
       //document.getElementById(id).style.visibility='visible';//for goddamn opera
   }
}

function rateon(val)
{
	star = val.toString().split("_")[1]*1; //rating value
  pid = val.toString().split("_")[0]; //id of the estate

	for (var k=1; k<=star; k++)
	{
		 document.getElementById(pid + '_' + k).className = "staron";
	}

	for (var k=5; k>star; k--)
	{
		 document.getElementById(pid + '_' + k).className = "staroff";
	}
}

function rateit(val) {
   star = val.toString().split("_")[1]; //rating value
   pid = val.toString().split("_")[0]; //id of the estate
   var ratedlist = document.getElementById('ratedlist');
   if (ratedlist) ratedlist.value += pid + '_';
   document.getElementById('r_' + pid).style.display='none';
   return LoadPage('AJAX/VotingBlock.aspx?CurrentItemID=' + pid + '&IncNumber=' + star, 'rated_' + pid);
}
//end rating------------------------------------------------------------------------------------------------------
function FindNextItem(item) {
	var current = item.parentNode.nextSibling;
	while (current && (current.nodeType != 1))
		current = current.nextSibling;

	if (item.checked) {
		current.style.display = "";
	} else {
		CheckboxItems = current.getElementsByTagName("input");
		for (i=0; i < CheckboxItems.length; i++) {
			CheckboxItems[i].checked = false;
		}
		current.style.display = "none";

	}
}

var PasswordMask = "^\\w{6,}$";
var EmailMask = "^[a-z0-9\\._-]+@([a-z0-9-]+\\.)+[a-z0-9-]+$";
function SubmitRegistration(form) {
	var result = '';
	result += RequiredFieldCheck(form.Country, 'Страна');
	result += RequiredFieldCheck(form.City, 'Город');
	result += RequiredFieldCheck(form.FirstName, 'Имя');
	result += RequiredFieldCheck(form.LastName, 'Фамилия');
	result += RequiredFieldCheck(form.Email, 'E-mail');
	result += FieldCheck(form.Email, EmailMask, 'E-mail', '');
	result += RequiredFieldCheck(form.Login, 'Логин');
	result += RequiredFieldCheck(form.Password, 'Пароль');
	result += FieldCheck(form.Password, PasswordMask, 'Пароль', ': пароль должен состоять из латинских букв и цифр и быть не менее шести символов');
	result += ConfirmationCheck(form.ConfirmPassword, form.Password, 'Подтверждение пароля');
	result += DateCheck(form.Day, form.Month, form.Year);
	result += RequiredFieldCheck(form.AntiBot, 'Код-антибот');
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		div.scrollIntoView();
		return false;
	}
}
function SubmitProfile(form) {
	var result = '';
	result += RequiredFieldCheck(form.Country, 'Страна');
	result += RequiredFieldCheck(form.City, 'Город');
	result += RequiredFieldCheck(form.FirstName, 'Имя');
	result += RequiredFieldCheck(form.LastName, 'Фамилия');
	result += RequiredFieldCheck(form.Email, 'E-mail');
	result += FieldCheck(form.Email, EmailMask, 'E-mail', '');
	result += DateCheck(form.Day, form.Month, form.Year);
	if (form.Password.value != form.Password.defaultValue) {
		result += FieldCheck(form.Password, PasswordMask, 'Пароль', ': пароль должен состоять из латинских букв и цифр и быть не менее шести символов');
		result += ConfirmationCheck(form.ConfirmPassword, form.Password, 'Подтверждение пароля');
	}
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		div.scrollIntoView();
		return false;
	}
}
/*
function FeedbackSend(form) {
	var result = '';
	result += RequiredFieldCheck(form.Theme, 'Тема');
	result += RequiredFieldCheck(form.Text, 'Текст');
	var divName = document.getElementById('Name');
	if (divName != null)
		result += RequiredFieldCheck(form.Name, 'Имя');
	var divEmail = document.getElementById('Email');
	if (divEmail != null)
	{
		result += RequiredFieldCheck(form.Email, 'E-mail');
		result += FieldCheck(form.Email, EmailMask, 'E-mail', '');
	}
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		div.scrollIntoView();
		return false;
	}
}

function RequiredFieldCheck(input, FieldName) {
	var result = input.value ? '' : 'Поле &quot;' + FieldName + '&quot; не заполнено<br />';
	return result;
}
*/
/* ============================================ MODIFIED FOR NEW FeedbackSend FUNCTION ========================================= */
function FeedbackSend(form) {
	var r_name = document.getElementById('row_name');
	if(r_name)
	{
		r_name.childNodes[0].innerHTML = '';
	}
	var r_email = document.getElementById('row_email');
	if(r_email)
	{
		r_email.childNodes[0].innerHTML = '';
	}
	var r_message = document.getElementById('row_message');
	if(r_message)
	{
		r_message.childNodes[0].innerHTML = '';
	}
	var r_captcha_input = document.getElementById('row_captcha_input');
	if(r_captcha_input)
	{
		r_captcha_input.childNodes[0].innerHTML = '';
	}

	/*
	var name_new = form.Name.value;
	var email_new = form.Email.value;
	var message_new = form.Text.value;
		if(name_new == "")
	{
		document.getElementById('row_name').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
		return false;
	}
	else if(email_new == "")
	{
		document.getElementById('row_email').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
		return false;
	}
	else if(!FieldCheckModified(email_new, EmailMask))
	{
		document.getElementById('row_email').childNodes[0].innerHTML = 'Не верно заполнено поле';
		return false;
	}
	else if(message_new == "")
	{
		document.getElementById('row_message').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
		return false;
	}
	else
	{
		return true;
	}
	*/

	/*next lines added by Morev Maksim [20.08.09] *BEGIN*/
	var isValid = true;
	var name = form.Name;
	var email = form.Email;
	var message = form.Text;
	var captchaInput = form.captchaInput;

	if ((name != null)&&(name.value == ""))
	{
		document.getElementById('row_name').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
		//return false;
		isValid = false;
	}
	if((email != null)&&(email.value == ""))
	{
		document.getElementById('row_email').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
		//return false;
		isValid = false;
	}
	else if ((email != null)&&!FieldCheckModified(email.value, EmailMask))
	{
		document.getElementById('row_email').childNodes[0].innerHTML = 'Введите правильный e-mail';
		//return false;
		isValid = false;
	}

	if (message.value == "")
	{
		document.getElementById('row_message').childNodes[0].innerHTML = 'Не заполнено <br/> обязательное поле';
		//return false;
		isValid = false;
	}
	if (captchaInput.value == "")
	{
		document.getElementById('row_captcha_input').childNodes[0].innerHTML = 'Не заполнено обязательное поле';
		isValid = false;
	}

	if (isValid)
	{
		return true;
	}
	else
	{
		return false;
	}
	/*END*/
}

function FieldCheckModified(inp_val, mask) {
	var RegMask = new RegExp(mask, 'i');
	var result = ''
	if (inp_val) {
		result = RegMask.test(inp_val) ? true : false;
	}
	return result;
}
/* ============================================================================================================================= */
function FieldCheck(input, mask, FieldName, FillError) {
	var RegMask = new RegExp(mask, 'i');
	var result = ''
	if (input.value) {
		result = RegMask.test(input.value) ? '' : 'Неверный ввод в поле &quot;' + FieldName + '&quot;' + FillError + '<br />';
	}
	return result;
}
function ConfirmationCheck(input, password, FieldName) {
	var result = '';
	if ((password.value) && (!FieldCheck(password, PasswordMask))) {
		if (input.value != password.value) {
			result = input.value ? 'Неверное подтверждение пароля<br />' :  'Поле &quot;' + FieldName + '&quot; не заполнено<br />';
		}
	}
	return result;
}
function  DateCheck(day, month, year) {
	var result = '';
	result += RequiredFieldCheck(day, 'День рождения');
	result += month.value != '0' ? '' : 'Выберите месяц рождения из списка "Месяц рождения"<br />';
	result += RequiredFieldCheck(year, 'Год рождения');
	return result;
}

function Marquee(id){
	this.div = document.getElementById(id);
	this.link = this.div.getElementsByTagName('a')[0];
	this.span = this.link.getElementsByTagName('span')[0];
	this.left = 0;
	this.width = this.span.offsetWidth;

	for (var i = 0; i < this.div.offsetWidth / this.width; i++) {
		var newSpan = document.createElement('span');
		newSpan.innerHTML = this.span.innerHTML;
		this.link.appendChild(newSpan);
	}

	var self = this;
	var handler =
		function() {
			for (var i = 0; i < 2; i ++){
				self.left --;
				self.link.style.left = self.left + "px";
				if (self.left <= -self.width)
					self.left = 0;
			}
		}
//	setInterval(handler, 50);
}

	var monthContainer = document.getElementById("monthContainer");
function SetMonthVisibility(){
	if (document.forms['subscribeForm'].PaymentSubscriptionType[0].checked){
		monthContainer.style.display = 'none';
	}
	else{
		monthContainer.style.display = '';
	}
}

function fillDaysSelect(){
	var oldSelreplaced = document.getElementById("paymentsubscriptiondayidreplaced");
	if (oldSelreplaced != null) oldSelreplaced.parentNode.removeChild(oldSelreplaced);

	var oldSel = document.getElementById("paymentsubscriptiondayid");
	var selcontainer = oldSel.parentNode;
	var selname = oldSel.name;
	var selIndex = oldSel.selectedIndex;

	oldSel.parentNode.removeChild(oldSel);

	var sel = document.createElement("select");
	sel.id = "paymentsubscriptiondayid";
	sel.className = 'select';
	sel.name = selname;
	selcontainer.appendChild(sel);

	while (sel.options.length) {
		sel.options[0] = null;
	}

	var numOfDays;
	if (document.getElementById("month1").checked){
		numOfDays = 28;
	}
	else{
		numOfDays = 30;
	}

	for(var i=1; i<=numOfDays; i++){
		var oOption = document.createElement("option");
		oOption.text=i;
		oOption.value=i;
		sel.options.add(oOption, i-1);
	}
	if (selIndex != -1) sel.selectedIndex = selIndex;
	if (!sel.replaced && oldSelreplaced != null) ReplaceSelects(selcontainer);
}

function SetPaymentInfoDivVisibility(){
	var paymentInfoDiv = document.getElementById("PaymentInfoDiv");
	var check = document.getElementById("paymentCheckId");
	if(check.checked){
		paymentInfoDiv.style.display='';
	}
	else{
		paymentInfoDiv.style.display='none';
	}
}

function DeselectAllSubscription(){
	document.getElementById("paymentCheckId").checked=false;
	var containerBuilding = document.getElementById("smsSubscriptionTypeBuildingContainer");
	var checks = containerBuilding.getElementsByTagName("input");
	for (var i=0; i< checks.length; i++){
		if (checks[i].type = 'checkbox'){
			checks[i].checked = false;
		}
	}
}

function SubmitPhone(form){
	var result = '';
	result += RequiredFieldCheck(form.Phone, 'Телефон');
	if ( !result )
	{
		return true;
	}
	else
	{
		var div = document.getElementById('ErrorsList');
		div.innerHTML = result + '<br />';
		return false;
	}
}
function resizeImage(img) {
	var width = 150;
	var height = 154;
	var coefHeight = img.offsetHeight / height;
	var coefWidth = img.offsetWidth / width;
	if (coefWidth > coefHeight) img.style.width = width + 'px';
		else img.style.height = height + 'px';
}

function checkAllSolutions(checkbox) {
	var form = document.getElementById('comparisonForm');
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (((element.name == 'comparelist') || (element.name == 'selectAll')) && (element != checkbox))
			element.checked = checkbox.checked;
	}
}

function checkSelectAll() {
	var form = document.getElementById('comparisonForm');
	var checkCounter = 0;
	var checkBoxCounter = 0;

	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (element.name == 'comparelist') {
			checkBoxCounter++;
			if (element.checked) checkCounter++;
		}
	}
	for(var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		if (checkBoxCounter != checkCounter) {
			if (element.name == 'selectAll') element.checked = false;
		}
		else {
			if (element.name == 'selectAll') element.checked = true;
		}
	}
}

function allowDigits(key) {
		//Tab, backspace, enter, home, end, delete, F5 keys and digits are allowed
		return key == 8 || key == 9 || key == 13 || key == 35 || key == 36 || key == 46 ||
		(key > 36 && key < 41) || (key > 47 && key < 58) || (key > 95 && key < 106) || key == 116;

}

function reset_podbor(ph){
	var is_podbor_expanded = true;
	if (document.getElementById('divextprice').style.display == 'none')
	{
		is_podbor_expanded = false;
	}
	var html = $.ajax({
		type: "GET",
		url: ph,
		dataType: "html",
		async: false
	});
	$("#Otbor").html(html.responseText);
	$.each($("#Otbor > div"), function(i, n){ReplaceSelects(n);})
	if(!is_podbor_expanded)
	{
		document.getElementById('divextprice').style.display = 'block';
	}
	extsearch();
}
/* ========================================= ORIGINAL FUNCTION =====================================
function reset_podbor(ph){
	var html = $.ajax({
		type: "GET",
		url: ph,
		dataType: "html",
		async: false
	});
	$("#Otbor").html(html.responseText);
	$.each($("#Otbor > div"), function(i, n){ReplaceSelects(n);})
}

$(document).ready(function () {
	$("#choose_button2").click(function(){
		reset_podbor('/ajax/clearform.aspx');
	});
});
*/

function getCalculatorResultsTable(form, projectId)
{
	ajax_preload('resultTable');
	var currentPrice;
	if (form.price.length) {
		for (var i = 0; i < form.price.length; i++) if (form.price[i].checked) currentPrice = form.price[i];
	}
	else currentPrice = form.price;
	var currentPriceId = currentPrice.id.substr(currentPrice.id.indexOf('_') + 1);
	document.getElementById('priceMessage').innerHTML = document.getElementById('priceMessage_' + currentPriceId).value;
					return LoadPage('ajax/calcresult.aspx?bankid=' +
	document.getElementById('bank').value + '&projectId=' + projectId + '&price=' + currentPrice.value + '&duration=' +
	 document.getElementById('time_data').value +
	 '&credit=' +  document.getElementById('credit_data').value.replaceAll(' ','') + '&currencyid=' +
	 document.getElementById('currency').value, 'resultTable');
}

var selectedLabel;
function selectPrice(radio)
{
	if (!selectedLabel)
	{
		var labels = radio.parentNode.parentNode.parentNode.getElementsByTagName('LABEL');
		for (var i = 0; i < labels.length; i++)
			if (labels[i].className = 'selected') {
				selectedLabel = labels[i];
				break;
			}
	}
	var td = radio.parentNode.nextSibling;
	while (td.nodeType != 1) td = td.nextSibling;
	var label = td.firstChild;
	label.className = 'selected';
	selectedLabel.className = '';
	selectedLabel = label;
}