var wordNum;
var wordblockIdBase = "wordblock";

function getGrm(name) {
	grmDialog = window.open("para-reqgrm.html", "grm" +name,"width=650, height=550, resizable=yes");
	grmDialog.focus();
	/* name == sourceName !! */
	return void(0);
};

function removeWordField(obj_no){
	for (i = obj_no ; i < wordNum; i++){
		window.document.getElementById('lex'+i).value = window.document.getElementById('lex'+(i+1)).value;
		window.document.getElementById('grm'+i).value = window.document.getElementById('grm'+(i+1)).value;
		window.document.getElementById('max'+i).value = window.document.getElementById('max'+(i+1)).value;
		window.document.getElementById('min'+i).value = window.document.getElementById('min'+(i+1)).value;
		// window.document.getElementById('order'+i).checked = window.document.getElementById('order'+(i+1)).checked;
	}
	var obj = window.document.getElementById(wordblockIdBase + wordNum);
	var par = obj.parentNode;
	par.removeChild(obj);
	wordNum--;
}


function addWordField(){
	wordNum++;

	var lx = new Array(wordNum);
	var gr = new Array(wordNum);
	var mx = new Array(wordNum);
	var mn = new Array(wordNum);
//	var ordr = new Array(wordNum);


	for (i = 1; i < wordNum; i++){
		lx[i] = window.document.getElementById('lex'+i).value;
		gr[i] = window.document.getElementById('grm'+i).value;
		if (i >1){
			mx[i] = window.document.getElementById('max'+i).value;
			mn[i] = window.document.getElementById('min'+i).value;
//			ordr[i] = window.document.getElementById('order'+i).value;
		}
	}
	var wordblockId = wordblockIdBase + wordNum;

	var s=
	'<div id="' + wordblockId + '"><table class="intable" border="0"><tr class=oper> '+
		'<td colspan="6">: '+
		    '&nbsp;<input type=text id=min' +wordNum +
             ' name=min' +wordNum + ' size=4 value="1"> '+
			'&nbsp;<input type=text id=max' +wordNum +
             ' name=max' +wordNum + ' size=4 value="1">'+
		'</td>'+
	'</tr>'+
	'<tr class=lex>'+
		'<td class=lex colspan="2" width="30%"> <span id="no_label'+ wordNum+ '">' +wordNum+ '</span><br>'+
			' <input type=text id=lex' + wordNum + ' name=lex' + wordNum + '>'+
		'</td><td><img src="i/dot.gif" width="19" height="25" border="0"></td><td class=gram width="70%">. &nbsp;&nbsp;&nbsp;'+
			'<a href="javascript:getGrm(' +wordNum+ ')"></a><br>'+
			'<input type=text id="grm' +wordNum+ '" name="grm' +wordNum+ '" style="width:100%"> '+
		'</td>'+
		'<td valign=bottom><input class="button" type="button" value="+" onClick="javascript:addWordField()"></td>' +
		'<td valign=bottom><input class="button" type="button" value="-" onClick="javascript:removeWordField(' + wordNum+ ')"></td>' +
	'</tr>' +
	'</table></div>';

	window.document.getElementById("reqWords").innerHTML += s;

	for (i = 1; i < wordNum; i++){
		window.document.getElementById('lex'+i).value = lx[i];
		window.document.getElementById('grm'+i).value = gr[i];
		if (i >1){
			window.document.getElementById('max'+i).value = mx[i];
			window.document.getElementById('min'+i).value = mn[i];
		}
	}
};

function init(){
  wordNum = 2;
  var beg = document.cookie.indexOf("mr=");
  if(beg==-1)
    return false;
  var end = document.cookie.indexOf(";", beg + name.length);
  if(end==-1)
    end = document.cookie.length;
  window.document.reqForm.mycorp.value = document.cookie.substring(beg + 3, end);
  window.document.exactForm.mycorp.value = document.cookie.substring(beg + 3, end);
}

function open_html(Src,w,h,scrol)
{
  window.open(Src,"","toolbar=no,location=no,directories=no,status=yes,menubar=no,fullscreen=no,scrollbars="+scrol+",resizable=no,width="+w+",height="+h+"");
  return false;
}
function build_query() {
	var querys = []; var dist = [];
	var els = document.forms['reqForm'].elements;
	for (var i = 0; i < els.length; i++) {
		var el = els[i];
		var match = el.name.match(/(lex|grm|min|max)(\d)/);
		if (match == null) continue;
		var name = match[1]; var num = match[2];
		var value = el.value;
		if (name == 'min') {
			value -= 1; if (value == -1) value = 0;
			dist[num] = ''+value;
		}
		if (name == 'max') {
			value -= 1; if (value == -1) value = 255;
			dist[num] += ','+value;
			if (dist[num] == '0,0') dist[num] = '';
		}
		if (name == 'lex') {
			if (value != '') querys[num] = 'lemma="'+translit(value)+'"';
		}
		if (name == 'grm') {
			if (value != '') querys[num] = (querys[num] ? querys[num]+' & ' : '') + value; //+ 'pos="'+value+'"';
			if (querys[num]) querys[num] = (dist[num] ? '[]{'+dist[num]+'} ' : '') + '[' + querys[num] + '] ';
		}
	}
	var query = querys.join('');
	document.forms['reqForm1'].searchstring.value = query;
}

function translit(s) {
	return win2utf(s);
	s = s.toLowerCase().
	replace(//g,'a').replace(//g,'b').replace(//g,'v').replace(//g,'g').replace(//g,'d').replace(//g,'e').
	replace(//g,'zh').replace(//g,'z').replace(//g,'i').replace(//g,'j').replace(//g,'k').
	replace(//g,'l').replace(//g,'m').replace(//g,'n').replace(//g,'o').replace(//g,'p').
	replace(//g,'r').replace(//g,'s').replace(//g,'t').replace(//g,'u').replace(//g,'f').
	replace(//g,'x').replace(//g,'c').replace(//g,'ch').replace(//g,'sh').replace(//g,'w').
	replace(//g,'qh').replace(//g,'y').replace(//g,'q').
	replace(//g,'eh').replace(//g,'ju').replace(//g,'ja');
	return s;
}

function win2utf(s) {
	s = s.toLowerCase().replace(//g,'');
	var z = '';
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if (c >= '' && c <= '') c = uni2utf(c);
		z += c;
	}
	return z;
}

function uni2utf(c) {
	var code = c.charCodeAt(0);
	if (code < 0x7f) {
		return c;
	} else if (code < 0x7ff) {
		s = chr((code & 0x3f) | 0x80);
		code >>=6;
		s = chr((code & 0x1f) | 0xc0)+s;
	} else if (code < 0xffff) {
		s = chr((code & 0x3f) | 0x80); code >>=6;
		s = chr((code & 0x3f) | 0x80)+s; code >>=6;
		s = chr((code & 0x0f) | 0xe0)+s;
	}
	return s;
}
function chr(code) {
	var chars =
	'' +
	''
	return (code >= 0x80) ? chars.charAt(code-0x80) : String.fromCharCode(code);
}
