function dmenu(x,key) {
	if (document.getElementById('d'+x).style.display == 'none') {
		if ((key==undefined)||(key == 1)) {
		document.getElementById('d'+x).style.display = 'block';
		}
	} else {
		if ((key==undefined)||(key == 0)) {
		document.getElementById('d'+x).style.display = 'none';
		}
	}
	return 0;
}

function showItem(item)	{
  document.getElementById(item).style.display='block';
}

function toggleItem(item) {
	if ((document.getElementById(item).style.display == 'none') ||
    	(document.getElementById(item).style.display == '')) {
		document.getElementById(item).style.display='block';
	} else {
    	document.getElementById(item).style.display='none';
	}
}

function check(val_id, min, max, sb, msg_id) {
	var msg;
	var val;
	if (document.all) {
		val = document.all(val_id).value;
	} else {
		val = document.getElementById(val_id).value;
	}
	if (!val.length) { 
		msg = 'поле не заповнене';
	}
	if (max && val.length > max) { 
		msg = 'занадто довге значення'; 
	}
	if (min && val.length && val.length < min) { 
		msg = 'занадто коротке значення'; 
	}
	if (sb && val.length && !val.match(sb)) { 
		msg = 'не відповідає умовам'; 
	}
	if (msg) {
		if (document.all) {
			document.all(msg_id).style.display = 'block';
			document.all(msg_id).innerHTML = msg;
		} else {
			document.getElementById(msg_id).style.display = 'block';
			document.getElementById(msg_id).innerHTML = msg;
		}
		return false;
	} else {
		return true;
	}
}

function checkStr(val, empty, max, min, preg)
{
	if (!val.length) return false;
	if (max && val.length > max) return false;
	if (min && val.length < min) return false;
	if (preg && !val.match(preg)) return false;
	return true;
}

function checkForm(arg_ItemNames, arg_FormName, chEmail) {
    buf=arg_ItemNames;
    subsAllOk=1;
    cont="";
    cur_poz=0;
    poz_end=0;
    poz_start=0;
    ItemName="";
    count=0;

    while (cur_poz<buf.length) {
        if (count==0) {
            poz_start = 0;
            poz_end = buf.indexOf(",", 0);
            if (poz_end == -1) { poz_end = buf.length; }
        } else {
            poz_start = (poz_end+1);
            poz_end = buf.indexOf(",", poz_start);
            if (poz_end == -1) { poz_end = buf.length; }
       }
       ItemName = buf.slice(poz_start, poz_end);
       eval ("cont=document."+arg_FormName+"." + ItemName + ".value;");
       if (cont=="") {
           subsAllOk=0;
       }
       cur_poz = poz_end;
       count++;
    }
    if (subsAllOk==1) {
		if (chEmail) {
	       	emailVal = "";
		   	eval ("emailVal=document."+arg_FormName+".email.value;");
	       	if (emailVal=="") {
    	       msgWindow=window.alert ("Не вірне значення e-mail.\n\nWrong e-mail.");
      		} else if (!checkStr(emailVal,1,64,6,/^\s*([a-z0-9_.+&-]+)@(([a-z0-9-]+\.)+[a-z]{2,4})\s*$/i)) {
				msgWindow=window.alert ("Не вірне значення e-mail.\n\nWrong e-mail.");
			} else {
		        eval ("document."+arg_FormName+".submit();");
			}
		} else {
	        eval ("document."+arg_FormName+".submit();");
		}
    } else {
        subsBuf="Ви не заповнили всі обов'язкові поля.\n\nYou do not fill all required fields.";
        msgWindow=window.alert (subsBuf);
    }
}

/* XHConn - bfults@gmail.com - code licensed under http://creativecommons.org/licenses/by-sa/2.0/ */
function XHConn() {
  var xh, bc = false;
  try { xh = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xh = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xh = new XMLHttpRequest(); }
  catch (e) { try { xh = new ActiveXObject("Msxml2.XMLHTTP.5.0"); }
  catch (e) { try { xh = new ActiveXObject("Msxml2.XMLHTTP.4.0"); }
  catch (e) { try { xh = new ActiveXObject("Msxml2.XMLHTTP.3.0"); }
  catch (e) { xh = false; }}}}}}
  if (!xh) return null;
  this.connect = function(u, m, v, f) {
    if (!xh) return false;
    bc = false;
    m = m.toUpperCase();
    try {
      if (m == "GET") {
        xh.open(m, u+"?"+v, true);
        v = "";
      } else {
        xh.open(m, u, true);
        xh.setRequestHeader("Method", "POST "+u+" HTTP/1.1");
        xh.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      }
      xh.onreadystatechange = function() {
        if (xh.readyState == 4 && !bc) {
          bc = true;
          f(xh);
      }};
      xh.send(v);
    } catch(z) { return false; }
    return true;
  };
  return this;
}

function loadTab(divNum,srcId,fnName,objId,fnNameForOld) {
	document.getElementById(srcId).innerHTML = '';
    var myConn = new XHConn();
    if( !myConn ) {
//		addDiv('Вибачте, у вас версія браузеру, що непідтримується, перейдіть за лінком: http://eu.prostir.ua?old',divNum,srcId);
//		setTimeout(10000);
//		removeDiv(divNum);
		return;
	}
	addDiv('Завантажуються дані...',divNum,srcId);
    var whenDone = function(res) {
		removeDiv(divNum,srcId);
		document.getElementById(srcId).innerHTML = res.responseText;
    };
    myConn.connect(fnName,'GET','q='+objId,whenDone);
}

function addData(src,fnName,pars,divBorderStyle) {
	var oldData = document.getElementById(src).innerHTML;
    var myConn = new XHConn();
    if( !myConn ) {
		return;
	}
	addDiv('Завантажуються дані...',0,src);
    var whenDone = function(res) {
		removeDiv(0,src);
//		document.getElementById(src).innerHTML = oldData + res.responseText;
//		document.getElementById(src).innerHTML = oldData + '<table border=0 cellpadding=0 cellspacing=0 width=100%>';
		var div_temp = document.createElement('div');
		div_temp.innerHTML = res.responseText;
//		div_temp.innerHTML = oldData + res.responseText;
//		document.getElementById(src).innerHTML = oldData;
		document.getElementById(src).appendChild(div_temp);
		if (divBorderStyle!=undefined) {
			document.getElementById(src).style.border = divBorderStyle;
		}
    };
    myConn.connect(fnName,'GET','q='+pars,whenDone);
}
function moreData(src,type,lvl) {
	var newsNum = document.getElementById('datanum').value;
	ptmp = '';
	if (lvl!=undefined) {	if (lvl==1) {	ptmp = '../';	} else if (lvl==2){	ptmp = '../../';	}}
	addData(src,ptmp+'common/tab_inner.jsp',newsNum+'&w=more'+type+'&t='+document.getElementById('datatype').value);
	document.getElementById('datanum').value = (newsNum-1)+4;
}

function addDiv(text,num,srcId) {
	var dv = document.createElement('div');
    dv.setAttribute('id','dv'+num);
    dv.setAttribute('name','dv'+num);
    dv.style.position = 'relative';
    dv.style.top = '10';
    dv.style.left = '10';
    dv.style.bottom = '10';
    dv.style.width = '250px';
	dv.paddingBottom = '50px';
//    dv.style.lineHeight = '100px';
//    dv.style.margin = '-50px 0 0 -150px';
    dv.style.textAlign = 'center';
//    dv.style.border = '1px solid #сссссс';
    dv.style.background = 'transparent';
    dv.appendChild(document.createTextNode(text));
    if (!srcId) {
	    dv.style.position = 'absolute';
    	dv.style.top = '45%';
	    dv.style.left = '45%';
		document.getElementsByTagName('body')[0].appendChild(dv);
	} else {
		document.getElementById(srcId).appendChild(dv);
	}
	return true;
}
function removeDiv(num,srcId) {
    if (!srcId) {
		document.getElementsByTagName('body')[0].removeChild(document.getElementById('dv'+num));
	} else {
		document.getElementById(srcId).removeChild(document.getElementById('dv'+num));
	}
	return true;
}

