if (typeof Xercel == "undefined" || ! Xercel) {
	Xercel = {};
}

var Event = null;
if (typeof YAHOO != "undefined" && YAHOO.util.Event) {
	Event = YAHOO.util.Event;
}

Xercel.Util = {


	EMAIL_PATERN : "^[A-z0-9_\-]+(\.[_A-z0-9\\-]+)*@([_A-z0-9\\-]+\.)+([A-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$",
	PASSWORD_PATERN : "^[a-z0-9._\-]+$",
	
	
	fixMinWidthForIE : function() {
		try {
		   if ( !document.body.currentStyle) {
		   	return;
		   } //IE only
		} catch (e) {
			return;
		}
		var elems = document.getElementsByTagName("*");
		for(var e = 0; e < elems.length; e = e + 1) {
		   var eCurStyle = elems[e].currentStyle;
		   var l_minWidth = (eCurStyle.minWidth) ? eCurStyle.minWidth : eCurStyle.getAttribute("min-width"); //IE7 : IE6
		   if (l_minWidth && l_minWidth != 'auto') {
		      var shim = document.createElement("DIV");
		      shim.style.cssText = 'margin:0 !important; padding:0 !important; border:0 !important; line-height:0 !important; height:0 !important; BACKGROUND:RED;';
		      shim.style.width = l_minWidth;
		      shim.appendChild(document.createElement("&nbsp;"));
		      if (elems[e].canHaveChildren) {
		         elems[e].appendChild(shim);
		      } else {
		         //??
		      }
		   }
		}
	},
	
	getNodePosition : function(node) {
		var x = 0, y = 0, w = node.offsetWidth, h = node.offsetHeight;
		while (node) {
			x += node.offsetLeft;
			y += node.offsetTop;
			node = node.offsetParent;
		}
		return {'x': x, 'y': y, 'width': w, 'height': h};
	},
	
	leftTrim : function(input) {
		if ( ! input) {
			return "";
		}
		
		var index = 0;
		while (index < input.length && input.charAt(index) == ' ') {
			index = index + 1;
		}
	
	    return input.substring(index, input.length);
	},
	
	rightTrim : function(input) {
		if ( ! input) {
			return "";
		}
		
		var index = input.length - 1;
		while (index >= 0 && input.charAt(index) == ' ') {
			index = index - 1;
		}
		
		if (index < 0) {
			return "";
		}
	
	    return input.substring(0, index + 1);
	},
	
	
	trim : function(input) {
	    return input ? Xercel.Util.rightTrim(Xercel.Util.leftTrim(input)) : "";
	},
	
	
	validateEmailValue : function(value) {
		if (value) {
			var pattern = new RegExp(Xercel.Util.EMAIL_PATERN);
			if (pattern.test(value)) {
				return true;
			}
		}
		return false;
	},
	
	
	validateForm : function(form) {
	
		this.form = null;
		this.firstBadElement = null;
		this.isValid = true;
		this.errorMessage = "";
		this.errorNodes = "";
		this.MessageBox = Xercel.MessageBox || null;
	
		if (typeof form == "string") {
			try {
				this.form = eval(form);
			} catch (e) {}
		} else {
			this.form = form;
		}
		
		if ( ! this.form) {
			window.alert("Xercel.Util.validateForm: Invalid input parametr.");
			return false;
		}
		
	    for (var i = 0; i < this.form.elements.length; i = i + 1) {
	        var node = form.elements[i];
	        if ( ! node.fieldType || node.disabled) {
	        	continue;
	        }
	        
	        if (node.fieldType == "IntegerField" && node.value) {
	        	var intValue;
	        	try {
	        		intValue = new Number(node.value);
	        	} catch (e) {
	        		intValue = null;
	        	}
	        	if ( ! intValue || isNaN(intValue)) {
		        	this.isValid = false;
		            this.errorMessage += "Значение поля <b>" + node.label + "</b> может быть только числом";
	            }
	        }
	        
	        if (node.fieldType == "PasswordField" && node.value) {
				var pattern = new RegExp(Xercel.Util.PASSWORD_PATERN);
				if (! pattern.test(node.value)) {
					this.isValid = false;
		            this.errorMessage += "Значение поля <b>" + node.label + "</b> сожержит недопустимые символы, можно использовать буквы, цифры, -, _ ";
				}
			}
	        
	        if (node.name.indexOf("login") > 0 && node.value) {
//	        	alert(node.name);
				var pattern = new RegExp(Xercel.Util.EMAIL_PATERN);
				var pattern1 = new RegExp("[&#+]+$");
				if (! pattern.test(node.value) && pattern1.test(node.value)) {
					this.isValid = false;
		            this.errorMessage += "Значение поля <b>" + node.label + "</b> сожержит недопустимые символы, можно использовать буквы, цифры, -, _, ., @ ";
				}
			}
	        
	        if (node.required) {
	        
	        	if (node.type == "text" || node.type == "hidden") {
	        		node.value = Xercel.Util.trim(node.value);
	        	}
	        
	        	if (node.fieldType == "DateField") {
					var dayNode = eval("document." + node.form.name + '.' + node.name + "Day");
					var monthNode = eval("document." + node.form.name + '.' + node.name + "Month");
					var yearNode = eval("document." + node.form.name + '.' + node.name + "Year");
					if ( ! dayNode.value) {
						if ( ! this.firstBadElement) {
							this.firstBadElement = dayNode;
						}
						this.isValid = false;
					} else if ( ! monthNode.value) {
						if ( ! this.firstBadElement) {
							this.firstBadElement = monthNode;
						}
						this.isValid = false;
					} else if ( ! yearNode.value) {
						if ( ! this.firstBadElement) {
							this.firstBadElement = yearNode;
						}
						this.isValid = false;
					}
					
					if ( ! dayNode.value || ! monthNode.value || ! yearNode.value) {
						if (this.MessageBox) {
			            	this.errorNodes += "<b>" + node.label + "</b><br/>";
			            } else {
			            	this.errorNodes += "\n" + node.label + "\n";
			            }
					}
				} else if ( ! node.value || node.value == "false") { // "false" for checkbox
	        		this.isValid = false;
	        		
			        if (node.fieldType == "AntispamField") {
			            this.errorMessage += "Пожалуйста, введите знаки, которые Вы видите на картинке.";
					}
					
					if ( ! this.firstBadElement) {
						if (node.fieldType == "CheckBoxField") {
							this.firstBadElement = eval("document." + node.form.name + ".checkbox" + node.name);			
						} else if (node.fieldType == "RadioButtonField") {
							this.firstBadElement = eval("document." + node.form.name + ".radio" + node.name)[0];
						} else if (node.fieldType == "FileField" || node.fieldType == "ImageField") {
							this.firstBadElement = eval(node.form.name + '.' + node.name + "_newfile");
						} else {
			            	this.firstBadElement = node;
			            }
			        }
			        
			        if (this.MessageBox) {
		            	this.errorNodes += "<b>" + node.label + "</b><br/>";
		            } else {
		            	this.errorNodes += "\n" + node.label + "\n";
		            }
	        	}
	        }
	    }
		    
	    if (this.firstBadElement && this.firstBadElement.type != "hidden") {
	        this.firstBadElement.focus();
	    }
		    
		if ( ! this.isValid) {
			if (this.MessageBox) {
				this.MessageBox.warning("Поля отмеченные символом <font style=\"color: red; font-weight: bold;\">*</font> обязательны для заполнения. Пожалуйста, ведите значения для:<br/>" +
					this.errorNodes + this.errorMessage);
			} else {
				window.alert("Поля отмеченные символом \"*\" обязательны для заполнения. Пожалуйста, ведите значения для:\n" +
					this.errorNodes + this.errorMessage);
			}
		}
		
		return this.isValid;
	},
	
	windowStatus : function(form, buttons, statusNode) {
		
		this.statusNode = null;
		
		if (statusNode) {
			if (typeof statusNode == "string") {
				try {
					this.statusNode = document.getElementById(statusNode);
				} catch (e) {
					window.status = statusNode;
				}
			}
			if ( ! this.statusNode) {
				try {
					window.status = statusNode.innerHTML;
					this.statusNode = statusNode;
				} catch (e) {}
			}
		}
		
		if ( ! Event || ! buttons) {
			return;
		}
	
		for (var j = 0; j < buttons.length; j = j + 1) {
			buttons[j].set("disabled", true);
		}
	
	
		this.changed = false;
		this.buttons = buttons;
		
		this.onEditStatus = function (event, object) {
			window.status = "Изменен";
			if (object) {
				if (object.bt) {
					for (var j = 0; j < object.bt.length; j = j + 1) {
						object.bt[j].set("disabled", false);
					}
				}
				if (object.sn) {
					object.sn.innerHTML = "<font style=\"color: #CC9933;\">Изменен</font>";
				}
			}
		};
	
	
		for (var i = 0; i < form.elements.length; i = i + 1) {
			var node = form.elements[i];
			if (node.fieldType) {
				if (node.fieldType == "FileField" || node.fieldType == "ImageField") {
					node = node.form[node.name + "_newfile"];
				}
				
				if (node.fieldType == "CalendarField") {
					Event.addListener(node, "click", this.onEditStatus, { bt: this.buttons, sn: this.statusNode } );
				} else {
					Event.addListener(node, "change", this.onEditStatus, { bt: this.buttons, sn: this.statusNode } );
				}
			}
		}
	
	},
	
	
	setProtected : function(node, value) {
	
		this.node = null;
		
		if (node) {
			if (typeof node == "string") {
				try {
					this.node = document.getElementById(node);
				} catch (e) {}
				
				if ( ! this.node) {
					try {
						this.node = eval(node);
					} catch (e) {}
				}
			} else {
				this.node = node;
			}
		}
		
		if ( ! this.node) {
			window.alert("Xercel.Util.setFieldValue: variable `node' can't be null or empty!");
			return;
		}
	
		if (this.node.fieldType == "CheckBoxField") {
			var checkboxNode = eval("document." + this.node.form.name + ".checkbox" + this.node.name);
			checkboxNode.disabled = value;			
		} else if (this.node.fieldType == "RadioButtonField") {
			var radioNode = eval("document." + this.node.form.name + ".radio" + this.node.name);
			if (radioNode && radioNode.length) {
				for (var i = 0; i < radioNode.length; i = i + 1) {
					radioNode[i].disabled = value;
				}
			}
		} else if (this.node.fieldType == "FileField" || this.node.fieldType == "ImageField") {
			var visibility = value ? "hidden" : "";
			var oldFile = document.getElementById(this.node.name + "_oldfile");
			if (oldFile) {
				oldFile.style.visibility = visibility;
			}
			var newFile = eval(this.node.form.name + '.' + this.node.name + "_newfile");
			if (newFile) {
				newFile.style.visibility = visibility;
			}
		} else if (this.node.fieldType == "DateField") {
			var monthNode = eval("document." + this.node.form.name + '.' + this.node.name + "Month");
			var dayNode = eval("document." + this.node.form.name + '.' + this.node.name + "Day");
			var yearNode = eval("document." + this.node.form.name + '.' + this.node.name + "Year");
			var hoursNode = eval("document." + this.node.form.name + '.' + this.node.name + "Hours");
			var minutesNode = eval("document." + this.node.form.name + '.' + this.node.name + "Minutes");
			var ampmNode = eval("document." + this.node.form.name + '.' + this.node.name + "Ampm");
			
			monthNode.disabled = value;
			dayNode.disabled = value;
			yearNode.disabled = value;
			
			if (hoursNode) {
				hoursNode.disabled = value;
			}
			
			if (minutesNode) {
				minutesNode.disabled = value;
			}
			
			if (hoursNode) {
				minutesNode.disabled = value;
			}
			
			if (ampmNode) {
				minutesNode.disabled = value;
			}
			
		} else {
			this.node.disabled = value;
		}
		
		if (value === true && this.node.required) {
			Xercel.Util.setRequired(this.node, false);
		}
		
		this.node.isProtected = value;
	},
	
	
	setLabel : function(node, labelValue) {
		var parentNode = null;
		
		if (node) {
			if (typeof node == "string") {
				try {
					parentNode = document.getElementById(node);
				} catch (e) {}
			} else {
				parentNode = node;
			}
		}
		
		if ( ! parentNode) {
			window.alert("Xercel.Util.setLabel: variable `node' can't be null or empty!");
			return;
		}
		
		var labelNode = document.getElementById(parentNode.name + "_label");
		if (labelNode) {
			labelNode.innerHTML = labelValue;
		}
	},


	setRequired : function(node, isRequired) {
		var element = null;
		
		if (node) {
			if (typeof node == "string") {
				try {
					element = document.getElementById(node);
				} catch (e) {}
			} else {
				element = node;
			}
		}
		
		if ( ! element) {
			window.alert("Xercel.Util.setLabel: variable `node' can't be null or empty!");
			return;
		}
		
		var rqNode = document.getElementById(element.name + "_rq");
		if (rqNode) {
			rqNode.innerHTML = isRequired && ! element.isProtected ? '*' : "";
		}
		
		element.required = isRequired && ! element.isProtected;
	},
	
	/*
	 * To deselect DateField set value as: "//"
	 */
	setFieldValue : function(node, value) {
		
		this.node = null;
		
		if (node) {
			if (typeof node == "string") {
				try {
					this.node = document.getElementById(node);
				} catch (e) {}
			} else {
				this.node = node;
			}
		}
		
		if ( ! this.node) {
			window.alert("Xercel.Util.setFieldValue: variable `node' can't be null or empty!");
			return;
		}
		
		value = value === null ? '' : value;
		
		this.node.value = value;	// text | password | hidden | select-one | textarea | checkbox
	
		if (this.node.fieldType == "FileField" || this.node.fieldType == "ImageField") {
			var oldFile = document.getElementById(this.node.name + "_oldfile");
			if (oldFile) {
				oldFile.innerHTML = '&#160;';
			}
			var newFile = eval(this.node.form.name + '.' + this.node.name + "_newfile");
			if (newFile && value === '') {
				newFile.value = value;
			}
		} else if (this.node.fieldType == "CheckBoxField") {
			var checkboxNode = eval("document." + this.node.form.name + ".checkbox" + this.node.name);
			checkboxNode.checked = "true" == value || true === value;
		} else if (this.node.fieldType == "RadioButtonField") {
			var radioNode = eval("document." + this.node.form.name + ".radio" + this.node.name);
			if (radioNode && radioNode.length) {
				for (var i = 0; i < radioNode.length; i = i + 1) {
					radioNode[i].checked = radioNode[i].value == value;
				}
			}
		} else if (this.node.fieldType == "DateField") {
			// format: "month/day/year hour:minute ampm"
			var tmpData = value.split(' ');
			var mdy = tmpData && tmpData[0] ? tmpData[0].split('/') : null;
			var hm = tmpData && tmpData[1] ? tmpData[1].split(':') : null;
			
			var month = mdy ? mdy[0] : '';
			var day = mdy ? mdy[1] : '';
			var year = mdy ? mdy[2] : '';
			var hour = hm ? hm[0] : null;
			var minute = hm ? hm[1] : null;
			var ampm = tmpData && tmpData[2] ? tmpData[2] : null;
			
			var monthNode = eval("document." + this.node.form.name + '.' + this.node.name + "Month");
			var dayNode = eval("document." + this.node.form.name + '.' + this.node.name + "Day");
			var yearNode = eval("document." + this.node.form.name + '.' + this.node.name + "Year");
			var hoursNode = eval("document." + this.node.form.name + '.' + this.node.name + "Hours");
			var minutesNode = eval("document." + this.node.form.name + '.' + this.node.name + "Minutes");
			var ampmNode = eval("document." + this.node.form.name + '.' + this.node.name + "Ampm");
	
			monthNode.value = month;
			dayNode.value = day;
			yearNode.value = year;
			
			if (hoursNode) {
				if (hour) {
					hoursNode.value = hour;
					this.node.value = this.node.value + " " + hour;
				} else if (hoursNode.value) {
					this.node.value = this.node.value + " " + hoursNode.value;
				} else {
					hoursNode.value = '';
				}
			}
			
			if (minutesNode) {
				if (minute) {
					minutesNode.value = minute;
					this.node.value = this.node.value + ":" + minute;
				} else if (minutesNode.value) {
					this.node.value = this.node.value + ":" + minutesNode.value;
				} else {
					minutesNode.value = '';
				}
			}
			
			if (ampmNode) {
				if (ampm) {
					ampmNode.value = ampm;
					this.node.value = this.node.value + " " + ampm;
				} else if (ampmNode.value) {
					this.node.value = this.node.value + " " + ampmNode.value;
				} else {
					ampmNode.value = '';
				}
			}
		} else if (node.fieldType == "MultiSelectListField") {
			for (var j = 0; j < this.node.options.length; j = j + 1) {
				this.node.options[j].selected = false;
			}
			
			if (value && typeof value != "undefined") {
				var pairs = value.split(", ");
				for (var k = 0; k < pairs.length; k = k + 1) {
					for (var m = 0; m < this.node.options.length; m = m + 1) {
						if (this.node.options[m].value == pairs[k]) {
							this.node.options[m].selected = true;
							break;
						}
					}
				}
			}
		}
		
	},
	
	
	getSelectedDescription : function(node) {
		this.node = null;
		
		if (node) {
			if (typeof node == "string") {
				try {
					this.node = document.getElementById(node);
				} catch (e) {}
			} else {
				this.node = node;
			}
		}
		
		if ( ! this.node) {
			window.alert("Xercel.Util.getSelectDescription: variable `node' can't be null or empty!");
			return;
		}
		
		if ( ! this.node.fieldType == "ListField") {
			window.alert("Xercel.Util.getSelectDescription: type of node is not `ListField'");
			return;
		}
		
		for (var i = 0; i < this.node.childNodes.length; i = i + 1) {
			if (this.node.childNodes[i].selected) {
				return this.node.childNodes[i].text;
			}
		}
		
		return null;
	},
	
	
	updateHiddenInput : function(node) {
	
		this.node = null;
		
		if (node) {
			if (typeof node == "string") {
				try {
					this.node = document.getElementById(node);
				} catch (e) {}
			} else {
				this.node = node;
			}
		}
	
		if ( ! this.node) {
			window.alert("Xercel.Util.updateHiddenInput: variable `node' can't be null or empty!");
			return;
		}
	
		if (this.node.fieldType == "FileField" || this.node.fieldType == "ImageField") {
			var oldFile = document.getElementById(this.node.name + "_oldfile");
			if (oldFile) {
				oldFile.innerHTML = '&#160;';
			}
			var newFile = eval("document." + this.node.form.name + '.' + this.node.name + "_newfile");
			this.node.value = newFile.value;
		} else if (this.node.fieldType == "CheckBoxField") {
			var checkboxNode = eval("document." + this.node.form.name + ".checkbox" + this.node.name);
			this.node.value = checkboxNode.checked;				
		} else if (this.node.fieldType == "RadioButtonField") {
			this.node.value = null;
			var radioNode = eval("document." + this.node.form.name + ".radio" + this.node.name);
			if (radioNode && radioNode.length) {
				for (var i = 0; i < radioNode.length; i = i + 1) {
					if (radioNode[i].checked === true || radioNode[i].checked == "true") {
						this.node.value = radioNode[i].value;
						break;
					}
				}
			}
		} else if (this.node.fieldType == "DateField") {
			var monthNode = eval("document." + this.node.form.name + '.' + this.node.name + "Month");
			var dayNode = eval("document." + this.node.form.name + '.' + this.node.name + "Day");
			var yearNode = eval("document." + this.node.form.name + '.' + this.node.name + "Year");
			var hoursNode = eval("document." + this.node.form.name + '.' + this.node.name + "Hours");
			var minutesNode = eval("document." + this.node.form.name + '.' + this.node.name + "Minutes");
			var ampmNode = eval("document." + this.node.form.name + '.' + this.node.name + "Ampm");
			
			this.node.value = monthNode.value + "/" + dayNode.value + "/" + yearNode.value;
			
			if (hoursNode) {
				this.node.value = hoursNode.value ? this.node.value + " " + hoursNode.value : this.node.value;
			}
			
			if (minutesNode) {
				this.node.value = minutesNode.value ? this.node.value + " " + minutesNode.value : this.node.value;
			}
			
			if (ampmNode) {
				this.node.value = ampmNode.value ? this.node.value + " " + ampmNode.value : this.node.value;
			}
			
		} else {
			window.alert("Xercel.Util.updateHiddenInput: field type not supported currently");
		}
	},
	
	
	waitNodeReady : function(nodeId, handler, scope) {
		var timerId = window.setInterval(function() {
		    var node = document.getElementById(nodeId);
		    if (node) {
		        window.clearInterval(timerId);
		        timerId = null;
		        handler(scope);
		    }
		}, 20);
	}
	
};


function isCookieEnabled() {
	// проверяем существование свойства navigator.cookieEnabled
	if(typeof(navigator.cookieEnabled) != "undefined") {
			return navigator.cookieEnabled;
	}	
		else
	{
		// если свойство navigator.cookieEnabled 
		// не поддерживается, то просто попробуем
		// установить и получить назад тестовый cookie
		var tmpCookie = "testCookieForCheck";
		SetCookie(tmpCookie, "1");
		if(GetCookie(tmpCookie) != null)
         		{
         			DeleteCookie(tmpCookie);
         			return true;
         		}
		return false;
 	}
}


function successHandlerBanner(response) {
  	if (response["error"]) {
  		alert(response["error"]);
  	} else if (response["url"]) {
//    	window.location = response["url"];
  	}
}
function failureHandlerBanner(response) {

}
function bannerLinkClick(bannerId) {
    var ajax = new Xercel.Ajax("POST", "clickBanner.html", true, successHandlerBanner, failureHandlerBanner);
    ajax.send("bannerId=" + bannerId);
}

// javascript thickbox window

   function submitenter(e, nameWindow) {
          var keycode;
          if (window.event) {
              keycode = window.event.keyCode;
          } else {
               if (e) {
                   keycode = e.which;
               } else{
                    return true;
               }
          }
          if (keycode == 13) {
              if (nameWindow == 'login') {
                 sendLoginPassword();
             } 
             if ( nameWindow == 'rempass') {
                 sendRememberPassword();
             }
             if ( nameWindow == 'mailfriend') {
                 ajaxSendEmail();
             }
             return false;
         } else {
             return true;
         }
      }
   
   function successHandlerLogin(response) {
      	if (response["error"]) {
      		document.getElementById("loginProgress").innerHTML = response["error"];
      	} else if (response["message"]) {
      	    tb_remove();
  	    	var newLoc = window.location.href;
  	    	var reloadPage = true;
      	    if (response["redirectUrl"]) {
      	    	newLoc = response["redirectUrl"];
      	    	reloadPage = false;
      	    }
      	    if (response["region"]) {
      	    	if (newLoc.indexOf("?") > 0)
      	    		newLoc = newLoc + "&region=" + response["region"];
      	    	else
      	    		newLoc = newLoc + "?region=" + response["region"];
      	    } 
  	    	//alert(newLoc);
  	    	window.location = newLoc;
  	    	if (reloadPage)
  	    		window.location.reload(true);
      	}
      }

      function failureHandlerLogin(response) {
      	document.getElementById("loginProgress").innerHTML = "Произошла ошибка";
      }
      
      function sendLoginPassword() {
           var userName = document.getElementById("userName").value;
           var password = document.getElementById("password").value;
           var remember = document.getElementById("remember");
           if (! remember.checked) {
               remember = '';
           } else {
               remember = 1;
           }
          
          document.getElementById("loginProgress").style.display = '';
          document.getElementById("loginProgress").innerHTML = '<img src="images/loadingAnimation.gif" />';
          
          if (userName && password) {
              var ajax = new Xercel.Ajax("POST", "login.html", true, successHandlerLogin, failureHandlerLogin);
              ajax.send("targetAction=authentication&userName=" + userName + "&password=" + password + "&remember=" + remember);
          } else {
              document.getElementById("loginProgress").innerHTML = "Неправильно указан логин или пароль.";
              document.getElementById("userName").focus();
          }
      }
      
            
      function successHandlerRempass(response) {
      	if (response["error"]) {
      		document.getElementById("forgotProgress").innerHTML = response["error"];
      	} else if (response["message"]) {
          	document.getElementById("forgotProgress").innerHTML = response["message"];
          	setTimeout("tb_remove()", 5000);
      	}
      }

      function failureHandlerRempass(response) {
      	document.getElementById("forgotProgress").innerHTML = "Произошла ошибка";
      }
      
      function sendRememberPassword() {
           var emailAddress = document.getElementById("forgotEmail").value;
          
          document.getElementById("forgotProgress").style.display = '';
          document.getElementById("forgotProgress").innerHTML = '<img src="images/loadingAnimation.gif" />';
          
          if (Xercel.Util.validateEmailValue(emailAddress)) {
              var ajax = new Xercel.Ajax("POST", "forgotpassword.html", true, successHandlerRempass, failureHandlerRempass);
              ajax.send("emailForgot=" + emailAddress);
          } else {
              document.getElementById("forgotProgress").innerHTML = "Ввведенный Вами электронный адрес некорректен.";
              document.getElementById("forgotEmail").focus();
          }
      }
      
      function successHandlerAddMessage(response) {
        	if (response["error"]) {
        		document.getElementById("loginProgress").innerHTML = response["error"];
        	} else if (response["message"]) {
        	    tb_remove();
        	}
        }

        function failureHandlerAddMessage(response) {
        	document.getElementById("loginProgress").innerHTML = "Произошла ошибка";
        }
        
        function saveAddMessage() {
             var id = document.getElementById("id").value;
             var body = document.getElementById("body").value;
            
            document.getElementById("loginProgress").style.display = '';
            document.getElementById("loginProgress").innerHTML = '<img src="images/loadingAnimation.gif" />';
            
            if (id && body) {
                var ajax = new Xercel.Ajax("POST", "dialoglist.html", true, successHandlerLogin, failureHandlerLogin);
                ajax.send("targetAction=saveAddMessage&id=" + id + "&body=" + body);
            } else {
                document.getElementById("loginProgress").innerHTML = "Сообщение пустое";
                document.getElementById("body").focus();
            }
        }
        
        
      function successHandlerNewMessage(response) {
    	if (response["newMess"]) {
          	var divMess = document.getElementById("userNewMessage");
          	divMess.style.display = "block";
          	var divMessCount = document.getElementById("quantityMessage");
          	divMessCount.innerHTML = response["newMess"];
      	} else {
      		var divMess = document.getElementById("userNewMessage");
          	divMess.style.display = "none";
      	}
      }

      function failureHandlerNewMessage(response) {
      	document.getElementById("userNewMessage").innerHTML = "Произошла ошибка";
      }
      
      function getUserNewMessage() {
          var ajax = new Xercel.Ajax("POST", "ajaxnewmessage.html", true, successHandlerNewMessage, failureHandlerNewMessage);
          ajax.send();
      }