function checkPrushForm(form, input_required_fields, maxMissedFields, not_save) {
	if (!form) {
		alert("Form object expected in first argument");
		return false;
	}
	if (!maxMissedFields) maxMissedFields = 3;
	var missed_fields = new Array();
	var focus_field, email_field, ticket_number;
	var required_fields = (input_required_fields) ? input_required_fields : ['lname', 'fname', 'mname', 'email'];
	for (var i in required_fields) {
		var field = form[required_fields[i]];
		if (!field) continue;
		if (!checkIfFieldFilled(field)) {
			missed_fields.push(getFieldLabel(field));
			if(!focus_field) focus_field = field;
		}
		if (field.id == 'email_frm') email_field = field;
		if (field.id == 'ticket_number2') ticket_number = field;
	}

	if (focus_field) {
		if (typeof focus_field.length == "undefined") {
			focus_field.focus();
		}
		else {
			if (focus_field.length > 0) {
				focus_field = (focus_field.item) ? focus_field.item(0) : focus_field[0];
				if(focus_field) focus_field.focus();
			}
		}
	}
	var sz = missed_fields.length;
	if (sz > 0) {
		if (sz == 1) {
			alert("Необходимо заполнить поле \"" + missed_fields.pop() + "\".");
			return false;
		}
		else {
			var str = "";
			var isTooMuchMissedFields;
			if (sz > maxMissedFields) {
				isTooMuchMissedFields = true;
				sz = maxMissedFields;
			}
			else isTooMuchMissedFields = false;
			for (var j = 0; j < sz; j++) {
				if (j > 0) {
					if (j == sz - 1) str += " и";
					else str += ",";
				}
				str += " \"" + missed_fields[j] + "\"";
			}
			if (isTooMuchMissedFields) str += "... и остальные обязательные поля";
			alert("Необходимо заполнить поля" + str + ".");
			return false;
		}
	}
	if (email_field) {
		var reg = /[\w\-]+@[\w\-]+\.[\w]+/;
		if (!reg.test(email_field.value)) {
			alert('Некорректный e-mail');
			email_field.focus(); 
			return false;
		}
	}
	if (ticket_number) {
		var reg = /^20\d{14}$/g;
		if (!reg.test(ticket_number.value)) {
			alert('Некорректный номер тикета');
			ticket_number.focus(); 
			return false;
		}
	}
	if (!not_save) saveDataForm(form);
	return true;
}


function checkIfFieldFilled(field) {
	if(typeof field != "object") {
		if (!field instanceof NodeList) {
			alert("Expected object, " + (typeof field) + " given");
			return false;
		}
	}
	
	var fieldType = (field.type) ? field.type : "checkboxArray";
	switch(fieldType) {
		case "text":
		case "password":
		case "file":
		case "textarea":
		case "checkbox":
		case "select":
		case "select-one":
			return (field.value.length == 0) ? false : true;
			break;
			
		case "checkboxArray":
			var res = false;
			var i;

			for(i = 0; i < field.length; i++) {
				var item = (field.item) ? field.item(i) : field[i];
				if(item.checked) {
					return true;
				}
			}
			return (i > 0) ? res : true;
			break;

		default:
			alert("Don't know, hot to deal with " + field.type + " input");
			break;
	}

	return true;
}


function getFieldLabel(field) {
	var labels = document.getElementsByTagName("label");

	if(!field.type) {
		field = (field.item) ? field.item(0) : field[0];
	}

	var field_id = field.id;
	var sz = labels.length;
	var i;
	var res = false;

	for(i = 0; i < sz; i++) {
		var label = labels.item(i);

		if (!label.attributes['for']) {
			if (label.attributes['class'] && label.attributes['class'].nodeValue.indexOf('required') != -1) {
				for (var j=0; label.childNodes.length > j; j++) {
					if (label.childNodes[j] == field) {
						res = label.getElementsByTagName('span')[0].innerHTML;
						break;
					}
				}
				if (res) {
					res = res.substring(0, res.length -3);
					break;
				}
			}
		}
		else if (label.attributes['for'].nodeValue == field_id) {
			res = label.textContent;
			if (!res) {	//WORKAROUND for IE7
				res = label.innerHTML;
			}
			res = res.replace(/<[\/]?[A-z0-9\s=+]+>/g, "");
			if (res.substring(res.length - 1, res.length) == ":") {
				res = res.substring(0, res.length - 1);
			}
			if (res.substring(res.length - 1, res.length) == "*") {
				res = res.substring(0, res.length - 1);
			}
			if (res == "UMI.CMS Start") {
				res = "На какой редакции UMI.CMS вы планируете делать сайт?";
			}
			break;
		}
	}

	return res;
}


var previousCollapsedNode = {};

function changeDivVisible(sDivId, sCollapseGrpName) {
	var oDiv;
	var pNode = previousCollapsedNode[sCollapseGrpName];
	if (pNode) {
		if (pNode.id != sDivId) {
			//pNode.style.display = 'none';
			jQuery(pNode).slideUp(800).prev().children().removeClass('link_for_toggle_up');
		}
	}
	if (oDiv = document.getElementById(sDivId)) {
		//oDiv.style.display = (oDiv.style.display != 'none' ? oDiv.style.display = 'none' : oDiv.style.display = 'block');
		
		if (oDiv.style.display != 'none') {
			jQuery(oDiv).slideUp(700).prev().children().addClass('link_for_toggle_up');
			previousCollapsedNode[sCollapseGrpName] = null;
		} else {
			jQuery(oDiv).slideDown(600).prev().children().removeClass('link_for_toggle_up');		
			var offsetDiv = $(oDiv).offset();
			var hh = offsetDiv.top - 75;
			if (pNode = previousCollapsedNode[sCollapseGrpName]) {
				if (pNode.id != sDivId) {
					var offsetNode = $(pNode).offset();
					if (offsetDiv.top > offsetNode.top) {
						hh -= jQuery(pNode).height();
					}
				}
			}
			//jQuery(document).scrollTo(hh, 500);
			
			previousCollapsedNode[sCollapseGrpName] = oDiv;
		}
		
	}
}

function changeDivVisible2(sDivId, sCollapseGrpName) {
	var oDiv;
	var pNode = previousCollapsedNode[sCollapseGrpName];

	if (oDiv = document.getElementById(sDivId)) {
		//oDiv.style.display = (oDiv.style.display != 'none' ? oDiv.style.display = 'none' : oDiv.style.display = 'block');
		
		if (oDiv.style.display != 'none') {
			jQuery(oDiv).slideUp();
			previousCollapsedNode[sCollapseGrpName] = null;
		} else {
			jQuery(oDiv).slideDown();		
			var offsetDiv = $(oDiv).offset();
			var hh = offsetDiv.top - 75;
			if (pNode = previousCollapsedNode[sCollapseGrpName]) {
				if (pNode.id != sDivId) {
					var offsetNode = $(pNode).offset();
					if (offsetDiv.top > offsetNode.top) {
						hh -= jQuery(pNode).height();
					}
				}
			}
			//jQuery(document).scrollTo(hh, 500);
			
			previousCollapsedNode[sCollapseGrpName] = oDiv;
		}
		
	}
}


function changeDivVisibleSlider(sDivId, sCollapseGrpName) {
	var oDiv;
	if (oDiv = document.getElementById(sDivId)) {
		
		if (oDiv.style.display != 'none') {
			jQuery(oDiv).slideUp().prev().children().addClass('link_for_toggle_up');
		} else {
			jQuery(oDiv).slideDown().prev().children().removeClass('link_for_toggle_up');
			previousCollapsedNode[sCollapseGrpName] = oDiv;
		}
	}
}

function regWebinar(linkObj) {
	var url = '/users/regWebinar/?ajax=1';
	new Ajax.Request(url, {
		method: 'get',
		onSuccess: function(transport) {
			//var notice = document.createElement('div');
			//notice.className = 'webinar_resp_text';
			//notice.innerHTML = transport.responseText;
			//if (linkObj.nextSibling !== null) linkObj.parentNode.removeChild(linkObj.nextSibling);
			//linkObj.parentNode.appendChild(notice);
			document.getElementById(linkObj).innerHTML = transport.responseText;
			document.getElementById(linkObj).style.color = 'red';
		}
	});
}

function systemPresence(c) {
	var div = document.getElementById('hid');
	var form = document.getElementById('single');
	if (c == 'none') {
		div.style.display = 'none';
		form.attributes['onsubmit'].nodeValue = "return checkPrushForm(this, ['data[email_from]', 'message']);";
	}
	if (c == 'block') {
		div.style.display = 'block';
		form.attributes['onsubmit'].nodeValue = "return checkPrushForm(this, ['data[email_from]', 'message', 'data[cms_keycode]']);";
	}
}


function switchDiv(obj, link){
		var el = document.getElementById(obj);
        if ( el.style.display != 'none' ) {
                el.style.display = 'none';
				link.innerHTML = 'показать';
        }
        else {
                el.style.display = 'block';
				link.innerHTML = 'скрыть';
        }
		return false;
}

jQuery(document).ready(function(){
	var click_me_bool = true;
	  jQuery('a#click_me').click(function(eventObject){

	if (click_me_bool) {
	  jQuery('div[id*=pid]').show('800');
	  click_me_bool = false;
	} else {
	  jQuery('div[id*=pid]').hide('800');
	  click_me_bool = true;
	}
	});
});

function cloneValue(main, field) {
var first = document.getElementById(main);
var clone = document.getElementById(field);
clone.value = first.value;
}

function validEmail(field, mess) {
var email = document.getElementById(field);
var message = document.getElementById(mess);
var s_email = email.value;
var regexp = /[\w\-]+@[\w\-]+\.[\w]+/;
	if (s_email != "") {
		if (!regexp.test(s_email)) {
			message.style.fontSize = "15px";
			message.innerHTML = "Неверный синтаксис электронного адреса (email)";
			message.style.color = "#FF0000"
			email.focus();
			return false;
		}
		else {
		message.style.fontSize = "11px";
		message.innerHTML = "Просим вводить настоящий e–mail, т.к. он необходим для завершения регистрации и отправки в дальнейшем важных данных.";
		message.style.color = ""
		}
	}
	else {
		message.style.fontSize = "15px";
		message.innerHTML = "Необходимо заполнить электронный адрес (email)";
		message.style.color = "#FF0000"
		email.focus();
	}
}

function generatePassword(field,min,max)
{
  min *= 1; max *= 1; var res = '';
  chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
  var len = max!=''&&max*1?(Math.floor(Math.random()*(max-min+1))+min)*1:min;
  for(var i=0;i<len;i++,res+=chars.substr(Math.floor(Math.random()*chars.length),1));
  document.getElementById(field).value = res;
}


function showMove7() {
	var move_block = document.createElement('div');
	var move_lock  = document.createElement('div');
	var move_close = document.createElement('div');
	var body = document.getElementsByTagName('body');
	body = body[0];
	var leftPosition = (window.document.documentElement.offsetWidth - 1100) / 2;
	var topPosition  = jQuery(document).scrollTop() + 20;
	move_lock.id = 'umi_cms_move_lock';
	move_block.id = 'umi_cms_move2';
	move_close.id = 'umi_cms_move_close';
	move_close.title = 'закрыть';
	move_close.onclick = function() {
		body.removeChild(move_block);
		body.removeChild(move_lock);
	}
	move_block.style.top = topPosition + 'px';
	move_block.style.left = leftPosition + 'px';
	move_block.style.width = 965+'px';
	move_block.style.height = 740+'px';

	var content;
	var requiredMajorVersion = 9;
	var requiredMinorVersion = 0;
	var requiredRevision     = 115;
	/*var hasProductInstall   = var DetectFlashVer(6, 0, 65);*/
	/*var hasRequestedVersion = var DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);*/
	/*var hasProductInstall ;
	var hasRequestedVersion; */
	/*if (hasProductInstall && !hasRequestedVersion) {
		content = '<div style="background-color:white;margin:0 70px;padding:30px;">\
			К сожалению, у вас установлена слишком старая версия Flash-плейера. Пожалуйста, \
			<a href=http://www.adobe.com/go/getflash/>обновите его</a>.</div>';
	}*/
	/*else if (hasRequestedVersion) {*/
		content = '<object width="640" height="480" \
		codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab" \
		classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" />\
		<param value="/files/UmiVideoPlayer.swf" name="movie" />\
		<param value="high" name="quality" />\
		<param value="#869ca7" name="bgcolor" />\
		<param value="opaque" name="wmode" />\
		<param value="sameDomain" name="allowScriptAccess" />\
		<param value="true" name="allowFullscreen" />\
		<param value="video=/files/umigovcloud.flv&autoplay=true" name="flashVars" />\
		<embed width="640" height="480" align="middle" \
		pluginspage="http://www.adobe.com/go/getflashplayer" \
		type="application/x-shockwave-flash" \
		flashvars="video=/files/umigovcloud.flv&autoplay=true" \
		allowfullscreen="true" allowscriptaccess="sameDomain" \
		wmode="opaque" loop="false" play="true" name="UmiVideoPlayer" \
		bgcolor="#869ca7" quality="high" \
		src="/files/UmiVideoPlayer.swf"></object>';
	/*}*/
	/*else {
		content = '<div style="background-color:white;margin:0 70px;padding:30px;">\
		К сожалению, у вас не установлен Flash-плейер. Пожалуйста, \
		<a href=http://www.adobe.com/go/getflash/>установите его</a>.</div>';
	}*/
	move_block.innerHTML = content;
	move_block.appendChild(move_close);
	body.appendChild(move_lock);
	body.appendChild(move_block);
	window.onresize = function () {
		var leftPosition = (window.document.documentElement.offsetWidth - 900) / 2;
		var topPosition  = ((window.innerHeight || window.document.documentElement.offsetHeight) - 468) / 2;
		if (topPosition < 1) {
			topPosition = 1;
		}
		jQuery("#umi_cms_move3").offset({left:leftPosition});
	};
}
jQuery(document).ready(function(){
		jQuery('.active_ssulka_new').click(function() {
			if(jQuery(this).prev().css('display') == 'none'){
				jQuery(this).prev().slideDown('fast');
				jQuery(this).text('Скрыть');
				jQuery('#respones').css('*height', '700px');
			}else {
				jQuery(this).prev().slideUp('fast');
				jQuery(this).text('Подробнее');
			}
			return false;
	});
});
