//-----------------------------------------------------------------------------
/* function makeShowDiv(divId){
    var objReg = document.getElementById(divId);
      if (objReg) {
        if (objReg.style.display == 'none') {
            objReg.style.display = 'block';
            objReg.style.height = document.body.offsetHeight+'px';
        }else{
        objReg.style.display = 'none';
        }
    }
}*/
function showDiv(divId){
  var obj = document.getElementById(divId);
  if (obj) {
    if (obj.style.display == 'none') {
      obj.style.display = 'block';
    }else{
      obj.style.display = 'none';
    }
  }
  return false;
}
//-----------------------------------------------------------------------------
function scrollPatching(mode)
{
	if(mode=='isGecko')
	{
		$('ajax_in').style.top = (parseInt(window.scrollY) + 80) + 'px';
	}
	else
	{
		$('ajax_in').style.top = (parseInt(document.documentElement.scrollTop) + 80) + 'px';
	}

	$('bgReg').style.display = 'block';
	$('bgReg').style.height = document.body.offsetHeight+'px';

	return 1;
}



function checkPrushForm(form, input_required_fields, maxMissedFields) {
	if(!form) {
		alert("Form object expected in first argument");
		return false;
	}

	if(!maxMissedFields) {
		maxMissedFields = 3;
	}

	var i;
	var missed_fields = new Array();

	var focus_field;

	var required_fields = (input_required_fields) ? input_required_fields : ['lname', 'fname', 'mname', 'email'];

	for(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(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(i = 0; i < sz; i++) {
				if(i > 0) {
					if(i == sz - 1) {
						str += " аИ";
					} else {
						str += ",";
					}
				}

				str += " \"" + missed_fields[i] + "\"";
			}

			if(isTooMuchMissedFields) {
				str += "... аИ аОб�б�аАаЛб�аНб�аЕ аОаБб�аЗаАб�аЕаЛб�аНб�аЕ аПаОаЛб�";
			}

			alert("а�аЕаОаБб�аОаДаИаМаО аЗаАаПаОаЛаНаИб�б� аПаОаЛб�" + str + ".");
			return false;
		}
	}
	return true;
}


function checkIfFieldFilled(field) {
	if(typeof field != "object") {
		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;

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

		if(label.attributes['for'].nodeValue == field_id) {
			var res = label.textContent;

			if(!res) {	//WORKAROUND for IE7
				res = label.innerHTML;
			}

			res = res.replace(/<[\/]?[A-z0-9+]>/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);
			}

			return res;
		}
	}

	return false;
}


var previousCollapsedNode = {};

function changeDivVisible(sDivId, sCollapseGrpName) {
    var oDiv, pNode;

    if(pNode = previousCollapsedNode[sCollapseGrpName]) {
        if(pNode.id != sDivId) {
            pNode.style.display = 'none';
	}
    }

    if (oDiv = document.getElementById(sDivId)) {
        oDiv.style.display = (oDiv.style.display != 'none' ? oDiv.style.display = 'none' : oDiv.style.display = 'block');
	previousCollapsedNode[sCollapseGrpName] = oDiv;
    }
}



/**
* обработка активности кнопки сравнения cms
* в зависимости от количества выбранных cms
*/
var g_aCmsItemsCheckedList = new Array();

function runMoveChecked(iElementId)
{
	oElement=$(iElementId);
	oElement.checked ? runAddChecked(iElementId) : runDelChecked(iElementId);
	switchCompareButton(g_aCmsItemsCheckedList.length);

}

function runAddChecked(iElementId)
{
	g_aCmsItemsCheckedList.push(iElementId);
}

function runDelChecked(iElementId)
{
	g_aCmsItemsCheckedList.pop(iElementId);
}

function switchCompareButton(flag)
{
	oButton=$('runCompareButton');
	if (flag) {
		oButton.disabled=false;
		oButton.className='compare';
	} else {
		oButton.disabled=true;
		oButton.className='compare_disable';
	}
}






	function moreFields(source, result)
	{
		var parentEd = document.getElementById(source);
		var insertHere = document.getElementById(result);
		var newFields;
		var arrInputs = new Array("textarea", "input");


		for (var iI = 0; iI < arrInputs.length; iI++) {
			var arrObjs = parentEd.getElementsByTagName(arrInputs[iI]);

			for(var iJ = 0; iJ < arrObjs.length; iJ++) {
				arrObjs[iJ].value = '';
				arrObjs[iJ].defaultValue = '';
			}
		}

		newFields = parentEd.cloneNode(true);
		newFields.style.display = "none";
		insertHere.parentNode.insertBefore(newFields, insertHere);

		parentEd.parentNode.removeChild(parentEd);
		document.getElementById('link_more_edition').style.display = 'block';

		open_first_hidden_edition_block_if_all_hidden();

		return false;
	}




	function open_first_hidden_edition_block()
	{
		var eb = document.getElementById('editions_block');
		var is_set_visible = false;

		for (var i = 0, n = eb.childNodes.length; i < n; i++) {
			if (eb.childNodes[i].nodeName == 'DIV' && eb.childNodes[i].id != 'edition_place' && eb.childNodes[i].style.display == 'none') {
				if (!is_set_visible) {
					eb.childNodes[i].style.display = 'block';
					is_set_visible = n;
				} else {
					is_set_visible = i;
					break;
				}
			}
		}

		if (is_set_visible == n) {
			document.getElementById('link_more_edition').style.display = 'none';
		}

		return false;
	}

	function open_first_hidden_edition_block_if_all_hidden()
	{
		var eb = document.getElementById('editions_block');
		var is_all_hidden = true;

		for (var i = 0, n = eb.childNodes.length; i < n; i++) {
			if (eb.childNodes[i].nodeName == 'DIV' && eb.childNodes[i].id != 'edition_place' && eb.childNodes[i].style.display != 'none') {
				is_all_hidden = false;
			}
		}
		if (is_all_hidden) {
			open_first_hidden_edition_block();
		}
	}

	var counter_new_modules = 0;
	function add_new_modules_form()
	{
		var m = 'module[new][' + counter_new_modules + ']';
		var newForm = '<div class="item"><label>Наименование</label><input type="text" name="'+m+'[name]" value="" class="text" /></div><div class="item"><label>Стоимость (в руб.)</label><input type="text" name="'+m+'[price]" value="" class="text" /></div><div class="item"><label>Описание</label><textarea name="'+m+'[desc]"></textarea></div><a onClick="delete_modules_form(this)">удалить</a>';
		counter_new_modules++;

		newFields = document.createElement('div');
		newFields.innerHTML = newForm;


		var parentEd = document.getElementById('modules_block');
		var insertHere = document.getElementById('modules_place');
		parentEd.insertBefore(newFields, insertHere);

		return false;
	}

	function delete_modules_form(obj)
	{
		document.getElementById('modules_block').removeChild(obj.parentNode);

		show_modules_form()

		return false;
	}

	function show_modules_form()
	{
		var parentEd = document.getElementById('modules_block');

		if (parentEd.getElementsByTagName('div').length == 1) {
			add_new_modules_form();
		}
		return false;
	}