function OpenWin(link,title,width,height,xstyle,xpos,ystyle,ypos) {
	// link - url of target page
	// title - new windoe title (may be omitted)
	// width - ;-)
	// height - ;-)
	// xstyle - left,right,center
	// xpos - in pixels from left(+), center(+/-), right(+)
	// ystyle -top,bottom,center
	// ypos - same as xpos	
	//
	// Example in html
	// <script language=Javascript src=openwinc.js>
	// </script>
	// <a href=javascript:OpenWin('test.html','',440,250,'right',30,'bottom',90)>Test</a>
	//
	var startx,starty
	startx=0
	starty=0
        if(xstyle=='left') {
		startx = xpos
		}
	if(xstyle=='center') {
		startx = screen.width/2 - width/2 + xpos
		}
	if(xstyle=='right') {
		startx = screen.width - width - xpos
		}
         if(ystyle=='top') {
		starty = ypos
		}
	if(ystyle=='center') {
		starty = screen.height/2 - height/2 + ypos
		}
	if(ystyle=='bottom') {
		starty = screen.height - height - ypos
		}
	winStats='scale=no,toolbar=no,location=no,directories=no,menubar=no,'
	winStats+='scrollbars=yes,width='+width+',height='+height
	winStats+=',left='+startx+',top='+starty+',screenX='+startx+',screenY='+starty
	floater=window.open(link,title,winStats)
}

function h_submit(url) {
//    alert(url);
    if (document.getElementById("nq").q.value.match(/^\s*$/)) {
	    alert("Не задан запрос!");
	    return false;
    }
    var ff=document.getElementById("nq");
    var ls=0; var n=0; var d=ff.q.value;
    while (d.indexOf('(',n)>-1) {
	n=d.indexOf('(',n)+1;
	ls++;
    }
    var ps=0; n=0;
    while (d.indexOf(')',n)>-1) {
	n=d.indexOf(')',n)+1;
	ps++;
    }
    if (ls!=ps) {
	r=ls-ps;
	if (ls>ps) {
	    alert('Левых скобок больше на '+r);
	    return false;
    	}
	if (ls<ps) {
	    alert('Правых скобок больше на '+(-r));
	    return false;
	}
    }
    for (var i=0; i<ff.elements.length; i++) {
	if (ff.elements[i].type=='hidden' && ff.elements[i].value=='') {
	    ff.elements[i].disabled=true;
	}
	if (ff.elements[i].name == 'period') {
	    if (ff.elements[i].value != 9) {
		ff.sd.disabled=true;
		ff.ed.disabled=true;
	    }
	    if (ff.elements[i].value == 9 || ff.elements[i].value == 0) {
		ff.elements[i].disabled=true;
	    }
	}
    }
    if (document.getElementById("sds")) {
	ff.eds.disabled=true;
	ff.sds.disabled=true;
    }
    ff.action=url;
    ff.submit();
}

function search() {
    h_submit("list.php");
    return false;
}

function digest() {
    h_submit("digest.php");
    return false;
}

function topic() {
    h_submit("topic.php");
    return false;
}

function dyn() {
    h_submit("dyn.php");
    return false;
}

function res() {
    document.getElementById("nq").q.value='';
//    document.getElementById("nq").double.checked=true;
//    document.getElementById("nq").mr.checked=true;
//    document.getElementById("nq").period.selectedIndex=0;
//    document.getElementById("nq").sd.disabled=false;
//    document.getElementById("nq").ed.disabled=false;
//    document.getElementById("OtherDate").className ='off';
    document.getElementById("nq").q.focus();
    return false;
}

function wnew() {
    if (document.getElementById("nq").q.value == '') {
	document.getElementById("nq").q.value = 'rubr';
    }
    h_submit("wnew.php");
    return false;
}

function Canal(name,query,mro,dbl) {
    document.getElementById("nq").q.value=query;
    document.getElementById("nq").canal.value=name;
    if (mro==1) {
	document.getElementById("nq").mr.checked=true;
    }
    else {
	document.getElementById("nq").mr.checked=false;
    }
    if (dbl==1) {
	window.document.getElementById("nq").double.checked=true;
    }
    else {
	window.document.getElementById("nq").double.checked=false;
    }
    h_submit("list.php");
    return false;
}

function DCanal(name,query,mro) {
    document.getElementById("nq").q.value=query;
    document.getElementById("nq").canal.value=name;
    if (mro==1) {
	document.getElementById("nq").mr.checked=true;
    }
    else {
	document.getElementById("nq").mr.checked=false;
    }
    h_submit("topic.php");
}

function AddCanal() {
    document.getElementById("add_canal_i").style.display="block";
    return false;
}

function ChAddCanal() {
    if (document.getElementById("add_name").value.match(/^\s*$/)) {
	    alert("Не задано имя канала!");
    }    
    else {
	xajax_AddCanal(document.getElementById("add_name").value,document.getElementById('nq').q.value,document.getElementById('double').checked,document.getElementById('mr').checked);
    }
    return false;
}

function SaveCanal(id) {
    xajax_SaveCanal(id,document.getElementById('nq').q.value,document.getElementById('double').checked,document.getElementById('mr').checked);
    return false;
}

function DelCanal(kol) {
    var delt='';
    for (var i=0; i<kol; i++) {
    	if (document.getElementById('c'+i).checked) {
	    delt+='&id[]='+document.getElementById('c'+i).value;
	}
    }
    if (delt!='') {
	OpenWin('/canal.php?type=del'+delt,'',300,100,'center',0,'center',0);
    }
}

function AddSource(base) {
    var addt='';
    for (var i=0; i<10000; i++) {
	if (document.getElementById('ps_'+i)) {
    	    if (document.getElementById('ps_'+i).checked) {
		addt+='&id[]='+document.getElementById('ps_'+i).value;
	    }
	}
	else break;
    }
    if (addt!='') {
	OpenWin('/psource.php?type=add'+addt+'&base='+base,'',300,100,'center',0,'center',0);
    }
}

function DelSource(kol) {
    var delt='';
    for (var i=0; i<kol; i++) {
    	if (document.getElementById('ps_'+i).checked) {
	    delt+='&id[]='+document.getElementById('ps_'+i).value.substr(0,document.getElementById('ps_'+i).value.length-8);
	}
    }
    if (delt!='') {
	OpenWin('/psource.php?type=del'+delt,'',300,100,'center',0,'center',0);
    }
}

function SelSource() {
    if (document.getElementById('ps_0')) {
	var flag=!document.getElementById('ps_0').checked;
	for (var i=0; i<200; i++) {
	    if (document.getElementById('ps_'+i)) {
    		document.getElementById('ps_'+i).checked=flag;
	    }
	    else return;
	}
    }
}

function QPSource() {
    var AddQuery="";
    for (var i=0; i<200; i++) {
	if (document.getElementById('ps_'+i)) {
    	    if (document.getElementById("ps_"+i).checked) {
		AddQuery+=document.getElementById("ps_"+i).value.substr(document.getElementById("ps_"+i).value.length-8,8)+"|";
	    }
	}
	else break;
    }
    if (AddQuery != "") {
	AddQuery=AddQuery.substr(0,AddQuery.length-1);
	var ff=document.getElementById("nq");
	if (ff.query.value.match(/^\s*$/)) {
	    ff.query.value="("+AddQuery+")"
	}
	else {
	    ff.query.value="("+ff.query.value+")&"+"("+AddQuery+")"
	}
	h_submit("list.php");
    }
}

function KWord(word) {
    if (word != "") {
	document.getElementById("nq").q.value=word;
	h_submit("list.php");
    }
}

function DWord(word) {
    document.getElementById("nq").q.value=word;
    h_submit("topic.php");
}

function SRD(word) {
    document.getElementById("nq").q.value=word;
    document.getElementById("nq").mr.checked=false;
    document.getElementById("nq").double.checked=false;
    h_submit("list.php");
}

function KWordC(word) {
    if (word != " ") {
	window.opener.document.getElementById("nq").q.value=word;
	opener.document.getElementById("nq").double.checked=false;
	opener.document.getElementById("nq").submit()
	window.close()
    }
}

function OneWord(word) {
    var ff=document.getElementById("nq");
    if (ff.query.value.match(/^\s*$/)) {
	ff.query.value="("+word+") "
    }
    else {
	ff.query.value="("+ff.query.value+") & "+word
    }
    h_submit("list.php");
}

function MoreWords() {
    var buf="";
    var dbuf="";
    var ff=document.getElementById("nq");
    var e=document.request.elements;
    for (i=0;i<e.length;i++) {
	if (e[i].checked) {
	    if (e[i].className == "a") {
	        if (buf != "") { buf+="|" }
            	buf+=e[i].value
    	    }
    	    if (e[i].className == "n") {
        	if (dbuf != "") { dbuf+="|" }
                dbuf+=e[i].value
	    }
	}
    }
    if (buf != "") {
	if (ff.query.value.match(/^\s*$/)) {
	    ff.query.value="("+buf+")"
	}
	else {
	    ff.query.value="("+ff.query.value+")&("+buf+")"
	}
    }
    if (dbuf != "") {
	if (ff.query.value.match(/^\s*$/)) {
	    ff.query.value="!("+dbuf+")"
	}
	else {
	    ff.query.value="("+ff.query.value+")!("+dbuf+")"
	}
    }
    if ((buf != "") || (dbuf != "")) {
	h_submit("list.php");
    }
}

function t_login() {
    var error="";
    var ff=window.document.a;
    if (ff.login.value.match(/^\s*$/)) {
	error="Не указан логин!\n";
    }
    if (ff.pass.value.match(/^\s*$/)) {
	error+="Не указан пароль!\n";
    }
    if (error!="") {
	alert(error);
	return false;
    }
    else return true;
}

function resize_clast(open) {
    clastk=document.getElementById('clastk');
    if (open) {
	clast1.style.height=clast_h+'px';
	clastk.innerHTML='<a title=\"Свернуть\" href=\"javascript:void();\" onClick=\"resize_clast(0);return false\"> </a>';
	clastk.firstChild.style.background='#efece0 url("/img/close.gif") 2px 3px no-repeat';
    }
    else {
	clast1.style.height='16px';
	clastk.innerHTML='<a title=\"Раскрыть\" href=\"javascript:void();\" onClick=\"resize_clast(1);return false\"> </a>';
	clastk.firstChild.style.background='#efece0 url("/img/open.gif") 2px 3px no-repeat';
    }
}

function PrintDyn() {
         temp = document.getElementById('myform');
         temp2 = temp.Vid.value;
         switch(temp2){
            case '1' :
                 ar = aa; // месяц
                 break;
            case '2' :
                 ar = aaa;// год
                 break;
            default :
                 ar = a;  // день
         }
         switch(temp.Typ.value){
            case '1' :
                 d = 1;
                 break;
            default :
                 d = 0;
         }
         temp = document.getElementById('dyn');
         word = '<table cellpadding=\"0\" cellspacing=\"1\" >';
         word += '<tr><th>Дата</th><th>Всего</th><th>Понятие</th><th style=\"width: 100%\">&nbsp;</th></tr>';
         t = ar.length - 1;
         max = ar[t][0];
         for(i = 0; i < t; i++){      // myArray.length
             as = (ar[i][2] / max) * 100;
             if(temp2 == 0){
                word += '<tr><td><a href="list.php?q=(' + query + ')%26(' + ar[i][0] + ')' + dtb + '">' + ar[i][0] + '</a></td>';
             }else{
                word += '<tr><td><a href="list.php?q=(' + query + ')%26(' + ar[i][5] + ')' + dtb + '">' + ar[i][0] + '</a></td>';
             }
             word += '<td class="t13">' + ar[i][1] + '</td>';
             word += '<td class="t13">' + ar[i][2] + '</td>';
             if(d == 0){
                    word += '<td class = td><div class="a" style="width: ' + (ar[i][2] / max) * 100 + '%" title="' + ar[i][2] + '"></div></td></tr>';
             }else{
                word += '<td><div class="a" style="width: ' + (ar[i][2] / max) * 100 + '%" title="' + (ar[i][2]-ar[i][3]-ar[i][4] ) + '"><div class="g" style="width: ' + (100 / ar[i][2] ) * ar[i][3] + '%" title="' + ar[i][3] + '"></div><div class="b" style="width: ' + (100 / ar[i][2] ) * ar[i][4] + '%" title="' + ar[i][4] + '"></div></div></td></tr>';
             }
         }
         word += '</table>';
         temp.innerHTML = word;
}

function AddDate(i) {
    if (document.getElementById("nq").period.options[i].value == 9) {
	document.getElementById("OtherDate").className ='on';
    }
    else {
	document.getElementById("OtherDate").className ='off';
    }
}

function ChDate() {
    var ff=document.getElementById("nq");
    if (document.getElementById("sds")) {
	ff.sd.value=ff.sds.options[ff.sds.selectedIndex].value;
	ff.ed.value=ff.eds.options[ff.eds.selectedIndex].value;
    }
    else {
    }
}

function BaseGo() {
	    document.location = document.getElementById("base").value;
}

function UnHide(b) {
    var bb = b.parentNode.parentNode.childNodes[2];
    if (bb.className == '') {
	bb.className = 'u';
    }
    else {
	bb.className = '';
    }
    return false;
}

function UH(a) {
    var d1=a;
    var d2=a.childNodes[0];
//    alert(d1.offsetHeight+" "+d2.offsetHeight);
    if (d1.offsetHeight == d2.offsetHeight) {
	d1.style.height="1.2em";
	d1.style.background='url("/img/open.gif") 0 .4em no-repeat';
    }
    else {
	d1.style.height=d2.offsetHeight+"px";
	d1.style.background='url("/img/close.gif") 0 .4em no-repeat';
    }
//    alert(d1.offsetHeight+" "+d2.offsetHeight);
}

function setCookie(c_name,value,expiredays) {
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
    if (document.cookie.length>0) {
	c_start=document.cookie.indexOf(c_name + "=");
	if (c_start!=-1) {
	    c_start=c_start + c_name.length+1;
	    c_end=document.cookie.indexOf(";",c_start);
	    if (c_end==-1) c_end=document.cookie.length;
	    return unescape(document.cookie.substring(c_start,c_end));
	}
    }
    return "";
}

function MailDoc(doc,mail) {
    var mail=getCookie('mail');
    mail=prompt('Введите адрес e-mail',mail);
    if (mail != null && mail != "") {
	setCookie('mail', mail, 365);
	xajax_MailDoc(doc,mail);
    }
}