var alphabet = new Array('','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var date = new Date();
var time = Math.round(date.getTime()/1000);
var odate = date.getDate() +'.'+ (date.getMonth() + 1) +'.'+ date.getFullYear();
var otime = odate +' '+ date.getHours() +':'+ date.getMinutes();
var SWquestion = new Array('хотите удалить базу данных','хотите удалить таблицу','хотите удалить запись');
var intFormat = new Array('=','NOT','&gt;','&lt;','&gt;=','&lt;=');
var textFormat = new Array('=','NOT','LIKE','NOT LIKE','RLIKE','NOT RLIKE','REGEXP');
var ipFormat = new Array('=','NOT');
var selVDate = '<input type="text" class="ARTFtxt" name="selVal[]" onchange="provVDate(this);" value="' + odate + '" />';
var selVText = '<input type="text" class="ARTFtxt" name="selVal[]" />';
var selVInt = '<input type="text" class="ARTFtxt" name="selVal[]" onchange="provVInt(this);" value="0" />';
var selVFloat = '<input type="text" class="ARTFtxt" name="selVal[]" onchange="provVFloat(this);" value="0" />';
var selVIp = '<input type="text" class="ARTFtxt" name="selVal[]" onchange="provVIp(this);" value="0.0.0.0" />';
var selVVideo = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="{CODEBASE}" width="320" height="260" id="fp" align="middle">';
selVVideo += '<param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="{VIDEO}" />';
selVVideo += '<param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="{VIDEO}" quality="high" ';
selVVideo += 'bgcolor="#ffffff" width="320" height="260" name="fp" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer " /></object><br />';
selVVideo += '<input type="button" class="but" value="закрыть" onclick="document.getElementById(\'HINT\').style.display=\'none\';" />';

/*function showPlayer(codebase, video) {
	if(!codebase) { return false; }
	if(!video) { return false; }
	var ck = document.getElementById('HINT1');//alert(video);
	var ar = new Array('{CODEBASE}','{VIDEO}'); var ag = new Array(codebase, video);
	var pl = strReplace(ar, ag, selVVideo);
	ck.innerHTML = pl;
	var bk = document.getElementById('HINT');
	bk.style.display = 'block';
	moveElement('HINT');
	return true;
}*/
function showPlayer(fid, url) {
	var a = '<a class="videolink" id="'+ fid +'" href="'+ url +'"></a><br /><input type="button" value="закрыть" class="but" onclick="document.getElementById(\'HINT\').style.display=\'none\'" />';
	var hint = document.getElementById('HINT');
	var hint1 = document.getElementById('HINT1');
	hint1.innerHTML = a;
	hint.style.display = 'block';
	var a = document.getElementById(fid);
	a.style.display = 'block';
	hint.style.width = '340px';
	hint.style.height = '280px';
	a.style.width = '320px';
	a.style.height = '240px';
	//a.href = url;
	flowplayer(fid, urlVideoPlayer, currentVideoSettings);
	moveElement('HINT');
	return true;
}
function areYouSure(q, ls) {
	var res = confirm(q);
	if(res) { window.location.href = ls; return true; }
	return false;
}
function getMore(url) {
	ajaxQuery(url, '', 'GET', AIOupMore);
	var bk = document.getElementById('HINT');
	bk.style.display = 'none';
	var bk = document.getElementById('LOADING');
	bk.style.display = 'block';
	moveElement('LOADING');
	return false;
}
function AIOupMore(a) {
	var ck = document.getElementById('HINT1');
	a += '<p><input type="button" class="but" value="закрыть" onclick="shohid(\'HINT\', 2);" /></p>';
	ck.innerHTML = a;
	var Dk = document.getElementById('LOADING');
	Dk.style.display = 'none';
	var bk = document.getElementById('HINT');
	bk.style.display = 'block';
	moveElement('HINT');
	//var pX = bk.offsetWidth; var bx = (764 - pX)/2;
	//var pY = document.documentElement.scrollTop; var by = (50 + pY);
	//bk.style.left = bx + 'px'; bk.style.top = by + 'px';
	return true;
}
function opFilt(x, FID) {
	if(x == 4) { shohid('ART'+FID+'Fm1'); return false; }
	var bk = document.getElementById('ART'+FID+'F0');
	var el = bk.getElementsByTagName('div');
	var ell = el.length;
	for(var i = 0, j = 0; i < ell; i++) {
		if(el[i].className != 'ARTFields' && el[i].className != 'ARTFields1') { continue; }
		if(j == x) { el[i].className = 'ARTFields1'; }
		else { el[i].className = 'ARTFields'; }
		j++;
	}
	var el = bk.getElementsByTagName('a');
	var ell = el.length;
	for(var i = 0, j = 0; i < ell; i++) {
		if(j == x) { el[i].className = 'sel'; }
		else { el[i].className = 'sl'; }
		j++;
	}
	return false;
}
function reFilt(FID) {
	var t = document.getElementById('ART'+FID+'Fils');
	var tr = t.getElementsByTagName('tr'); var trc = tr.length;
	var html = '', f, z, v, cell, inp, format, znac;
	var schema = eval('schema'+FID);
	for(var i = 1; i < trc && i < 27; i++) {
		inp = tr[i].getElementsByTagName('input');
		format = inp[0].value;
		znac = inp[1].value;
		f = schema[format][0];
		z = getValueFromFormat(schema[format][1], znac);
		v = inp[2].value;
		html += '<p>'+alphabet[i]+': '+ f +' '+ z +' '+ v +'</p>';
	}
	var bk = document.getElementById('ART'+FID+'nFils');
	bk.innerHTML = html;
	if(trc > 8) { bk.style.height = '100px'; bk.style.overflowY = 'scroll'; }
	else { bk.style.height = ''; bk.style.overflowY = ''; }
	return true;
}
function delFilter(x) {
	var tr = x.parentNode.parentNode;
	tr.removeNode(true);
	return true;
}
function addFilter(FID) {
	var t = document.getElementById('ART'+FID+'Fils'), cell;
	var r = t.getElementsByTagName('tr'); var rc = r.length;
	var s = eval('schema'+FID+'');
	if(!s[0] || !s[0][1]) { return false; }
	var cell2 = getFormat(s[0][1], s[0][2]);
	var r = '';
	var row = t.insertRow(rc);
	cell = row.insertCell(0); cell.innerHTML = eval('selCol'+FID);
	cell = row.insertCell(1); cell.innerHTML = cell2[0];
	cell = row.insertCell(2); cell.innerHTML = cell2[1];
	cell = row.insertCell(3); cell.innerHTML = delbut;
	return true;
}
//'<img src="'+ picDate +'" onclick="" />'
function getFormat(x, y) {
	var r = new Array();
	switch(x) {
		case 'date': r[0] = jazzFormSelect(intFormat, 'selFor[]', '', 0, 2); r[1] = selVDate; break;
		case 'text': r[0] = jazzFormSelect(textFormat, 'selFor[]', '', 0, 2); r[1] = selVText; break;
		case 'int': r[0] = jazzFormSelect(intFormat, 'selFor[]', '', 0, 2); r[1] = selVInt; break;
		case 'float': r[0] = jazzFormSelect(intFormat, 'selFor[]', '', 0, 2); r[1] = selVFloat; break;
		case 'ip': r[0] = jazzFormSelect(ipFormat, 'selFor[]', '', 0, 2); r[1] = selVIp; break;
		case 'selectA': r[0] = jazzFormSelect(intFormat, 'selFor[]', '', 0, 2); r[1] = jazzFormSelect(y, 'selVal[]', '', 0, 2); break;
		case 'selectB': r[0] = jazzFormSelect(intFormat, 'selFor[]', '', 0, 2); r[1] = selVText; break;
		default: break;
	}
	return r;
}
function getValueFromFormat(x, y) {
	var r = '';
	switch(x) {
		case 'date': r = intFormat[y]; break;
		case 'text': r = textFormat[y]; break;
		case 'int': r = intFormat[y]; break;
		case 'float': r = intFormat[y]; break;
		case 'ip': r = ipFormat[y]; break;
		case 'selectA': r = intFormat[y]; break;
		case 'selectB': r = intFormat[y]; break;
		default: break;
	}
	return r;
}
function setFormat(x, FID) {
	var val = x.getAttribute('value');
	var schema = eval('schema'+FID);
	if(!schema[val]) { return false; }
	var tr = x.parentNode.parentNode.parentNode.parentNode;
	var td = tr.getElementsByTagName('td'); var tdc = td.length;
	var cell2 = getFormat(schema[val][1], schema[val][2]);
	td[1].innerHTML = cell2[0]; td[2].innerHTML = cell2[1];
	return true;
}
function onlyDigit(x) {
	var s = x.split(''); var sc = s.length;
	var r = '';
	for(var j = 0; j < sc; j++) {
		for(i = 0; i < 10; i++) {
			if(s[j] == i && s[j] !== ' ') { r += i; }
		}
	}
	if(!r) { r = 0; }
	return r;
}
function provVDate(x) {
	var v = x.value;
	var v1 = v.split(' '); var v1c = v1.length;
	//if(v1c == 0) { x.style.backgroundColor = '#ffff88'; return false; }
	if(!v1[1]) { v1[1] = ''; }
	var v2 = v1[0].split('.'); var v2c = v2.length;
	if(v2c != 3) { x.style.backgroundColor = '#ffff88'; return false; }
	var res = '';
	v2[0] = onlyDigit(v2[0]);
	if(v2[0] > 31 || v2[0] < 1) { x.style.backgroundColor = '#ffff88'; x.value = v2.join('.') + ' ' + v1[1]; return false; }
	res += v2[0];
	v2[1] = onlyDigit(v2[1]);
	if(v2[1] > 12 || v2[1] < 1) { x.style.backgroundColor = '#ffff88'; x.value = v2.join('.') + ' ' + v1[1]; return false; }
	res += '.' + v2[1];
	v2[2] = onlyDigit(v2[2]);
	if(v2[2] < 1970 || v2[2] > 2037) { x.style.backgroundColor = '#ffff88'; x.value = v2.join('.') + ' ' + v1[1]; return false; }
	res += '.' + v2[2] + ' ';
	
	if(v1[1]) {
		var v3 = v1[1].split(':'); var v3c = v3.length;
		if(v3c < 2) { x.style.backgroundColor = '#ffff88'; return false; }
		v3[0] = onlyDigit(v3[0]);
		if(v3[0] > 23) { x.style.backgroundColor = '#ffff88'; x.value = v2.join('.') + ' ' + v3.join(':'); return false; }
		res += v3[0];
		v3[1] = onlyDigit(v3[1]);
		if(v3[1] > 59) { x.style.backgroundColor = '#ffff88'; x.value = v2.join('.') + ' ' + v3.join(':'); return false; }
		res += ':' + v3[1];
		if(v3[2]) {
			v3[2] = onlyDigit(v3[2]);
			if(v3[2] > 59) { x.style.backgroundColor = '#ffff88'; x.value = v2.join('.') + ' ' + v3.join(':'); return false; }
			res += ':' + v3[2];
		}
	}
	x.style.backgroundColor = '#ffffff'; x.value = res;
	return true;
}
function provVFloat(x) {
	var v = x.value;
	var sar = v.split(''); var sl = sar.length, j = 0; y = '', fg = true;
	for(var i = 0; i < sl; i++) {
		for(j = 0; j < 10; j++) { 
			if(sar[i] == j) { y += '' + sar[i]; break; }
		}
		if(fg && (sar[i] == '.' || sar[i] == ',')) { y += '.'; fg = false; }
		if(i == 0 && sar[i] == '-') { y += '-'; }
	}
	if(!y || y == '-') { y = 0; }
	x.value = y;
	return true;
}
function provVInt(x) {
	var v = x.value;
	var sar = v.split(''); var sl = sar.length, j = 0; y = '';
	for(var i = 0; i < sl; i++) {
		for(j = 0; j < 10; j++) { 
			if(sar[i] == j) { y += '' + sar[i]; break; }
		}
		if(i == 0 && sar[i] == '-') { y += '-'; }
	}
	if(!y || y == '-') { y = 0; }
	x.value = y;
	return true;
}
function provVIp(x) {
	var v = x.value;
	var s = v.split('.'); var sl = s.length; y = new Array(), fg = true;
	if(sl != 4) { fg = false; }
	for(var i = 0; i < 4; i++) {
		y[i] = (s[i]) ? s[i]*1 : 0;
		if(!y[i]) { y[i] == 0; }
		else if(y[i] > 255) { y[i] = 255; }
	}
	var r = y.join('.');
	x.value = r;
	return true;
}
/**************************************************************************************************/
function startDrop(el, e) { 
	var fr = false;
	var bk = el.parentNode.getElementsByTagName('textarea'); if(!bk[0]) {
		var bk = el.parentNode.getElementsByTagName('iframe'); 
		if(isOpera) { fr = true; } if(!bk[0]) { return false; }}
	if(!bk[0].id) { bk[0].id = 'RND' + Math.floor(Math.random()*1000000); }
	var p = getElementPosition(bk[0], true, true);
	var dp = ymouse(e) - p.height;
	var plus = (p.height < 70) ? 70 : p.height;
	el.style.height = (plus + 76) + 'px';
	el.style.marginTop = (0 - plus) + 'px';
	el.style.marginBottom = '-70px';
	el.getElementsByTagName('div')[0].style.marginTop = plus + 'px';
	document.body.onmousemove = function(e){ dropENS(e, bk[0].id, dp, el, fr); }
	document.body.onmouseup = function(){ endDrop(el); }
	el.ondblclick = function(){ backDrop(bk[0].id); }
	return true;
}
function backDrop(el) {
	bk = document.getElementById(el);if(!bk) { return false; }
	bk.style.height = '75px';
	document.body.onmousemove = null; document.body.onmouseup = null;
	document.body.focus();
	return true;
}
function endDrop(el) {  
	el.getElementsByTagName('div')[0].style.marginTop = '0px';
	el.style.height = '6px';
	el.style.marginTop = '0px';
	el.style.marginBottom = '0px';
	document.body.onmousemove = null; document.body.onmouseup = null;
	document.body.focus();
	return true; }
function dropENS(e, bkid, dp, el, fr) {
	bk = document.getElementById(bkid); if(!bk) { return false; }
	var fy = ymouse(e) - dp; if(fy < 70) { fy = 70; }
	bk.style.height = fy + 'px';
	if(fr) { bk.document.getElementById('xEditingArea').style.height = (bk.document.body.offsetHeight - 58) + 'px'; }
	el.style.height = (fy + 76) + 'px';
	el.style.marginTop = (0 - fy) + 'px';
	el.style.marginBottom = '-70px';
	el.getElementsByTagName('div')[0].style.marginTop = fy + 'px';
	return true;
}
/**************************************************************************************************/
var BBCode = new Array('[align=left]','[/align]','[align=center]','[/align]','[align=right]','[/align]','[align=justify]','[/align]','[list]','\n[/list]','\n[*]','','[b]','[/b]','[i]','[/i]','[u]','[/u]','[s]','[/s]','[color=%s]','[/color]','[quote]','[/quote]','[link]','[/link]','[img]','[/img]','[smile]','[/smile]');
var emptyRange = 0;
function insertBBCode(el, n) {
	var bk = el.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('textarea'); if(!bk[0]) { return false; }
	obj = bk[0]; obj.focus();
	var alen = BBCode[n*2].length;
	if(document.selection) {
		var blen = BBCode[n*2 + 1].length;
		var s = document.selection.createRange();
		var len = s.text.length, qwe, df;
		var nText = BBCode[n*2] + s.text + BBCode[n*2 + 1];
		s.text = nText;
		s = document.selection.createRange();
		if(emptyRange == 0) { df = (len < 1) ? 0 : alen; qwe = -(alen + 1); }
		else { df = (len < 1) ? 0 : alen; qwe = (len < 1) ? -blen : len; }
		var sp = s.moveStart("character", df);
		var ep = s.moveEnd("character", qwe);
		s.select();
		emptyRange = 1;
		return true;
	}
	else if(typeof(obj.selectionStart) == 'number') {
		var start = obj.selectionStart;
		var end = obj.selectionEnd;
		var rs = BBCode[n*2] + (obj.value.substr(start,end-start)) + BBCode[n*2 + 1];
		obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
		obj.setSelectionRange(start + alen, end + alen);
		return true;
	}
	return false;
}
function insertCCCode(el, tps) {
	var bk = el.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('textarea'); if(!bk[0]) { return false; }
	obj = bk[0]; obj.focus();
	var tag1 = '', tag2 = '', newtext = false;
	switch(tps) {
		case 'quote':
			var str = prompt('Чья цитата будет? (не вставляйте ничего, если не знаете)');
			if(str) { str = '='+ str; } else { str = ''; }
			tag1 = '[quote'+ str +']'; tag2 = '[/quote]';
		break;
		case 'link':
			var str = prompt('Адрес ссылки');
			if(!str) { return false; }
			tag1 = '[link='+ str +']'; tag2 = '[/link]';
		break;
		default: return false; break;
	}
	
	var alen = tag1.length;
	if(document.selection) {
		var blen = tag2.length;
		var s = document.selection.createRange();
		var len = s.text.length, qwe, df;
		var nText = tag1 + s.text + tag2;
		s.text = nText;
		s = document.selection.createRange();
		if(emptyRange == 0) { df = (len < 1) ? 0 : alen; qwe = -(alen + 1); }
		else { df = (len < 1) ? 0 : alen; qwe = (len < 1) ? -blen : len; }
		var sp = s.moveStart("character", df);
		var ep = s.moveEnd("character", qwe);
		s.select();
		emptyRange = 1;
		return true;
	}
	else if(typeof(obj.selectionStart) == 'number') {
		var start = obj.selectionStart;
		var end = obj.selectionEnd;
		var rs = tag1 + (obj.value.substr(start,end-start)) + tag2;
		obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
		obj.setSelectionRange(start + alen, end + alen);
		return true;
	}
	return false;
}
//var constColor = false;
function getElementPosition(elemId, pos, ts, rel) {
	if(ts) { var elem = elemId; }
	else { var elem = document.getElementById(elemId); }
	var w = elem.offsetWidth; var h = elem.offsetHeight;
	if(pos) { return {"width": w, "height":h}; }
	var l = 0, t = 0, p, i = 0;
	while(elem) {
		l += elem.offsetLeft; t += elem.offsetTop; elem = elem.offsetParent;
		if(elem && rel) {
			p = elem.getAttribute('uplevel');
			if(p) { return {"left":l, "top":t, "width": w, "height":h}; }
		}
		i++;
	}
	return {"left":l, "top":t, "width": w, "height":h};
}
var currentIESelectionObject;
function setColor(c, bbtype, FID) {
	var t = document.getElementById(bbtype + 'Table');
	//var bbtype = t.getAttribute('bbtype');
	var obj = document.getElementById(FID);
	t.style.display = 'none'; t.setAttribute('flag', 0);
	var tag1 = '', tag2 = '';
	switch(bbtype) {
		case 'color': tag1 = '[' + bbtype + '=' + c + ']'; tag2 = '[/'+ bbtype +']'; break;
		case 'font': tag1 = '[' + bbtype + '=' + c + ']'; tag2 = '[/'+ bbtype +']'; break;
		case 'size': tag1 = '[' + bbtype + '=' + c + ']'; tag2 = '[/'+ bbtype +']'; break;
		case 'smile': tag1 = ' ' + c + ' '; break;
	}
	var alen = tag1.length;
	if(document.selection) {
		obj.focus();//alert(obj.value);
		
		var blen = tag2.length;
		var len = currentIESelectionObject.text.length, qwe, df;
		currentIESelectionObject.select();
		var ourText = currentIESelectionObject.text;
		var nText = tag1 + ourText + tag2;//alert(nText);
		currentIESelectionObject.text = nText;
		if(len > 0) { emptyRange = 1; }
		currentIESelectionObject = document.selection.createRange();
		//if(emptyRange == 0) { df = (len < 1) ? 0 : alen; qwe = -(alen + 1) + c + 1; }
		//else { 
			df = (len < 1) ? 0 : alen; qwe = (len < 1) ? -blen : len;
		//}
		var sp = currentIESelectionObject.moveStart("character", df);
		var ep = currentIESelectionObject.moveEnd("character", qwe);
		//alert(df + ', ' + qwe);
		currentIESelectionObject.select();
		emptyRange = 1;
		return true;
	}
	else if(typeof(obj.selectionStart) == 'number') {
		var start = obj.selectionStart;
		var end = obj.selectionEnd;
		var rs = tag1 + (obj.value.substr(start,end-start)) + tag2;
		obj.value = obj.value.substr(0,start)+rs+obj.value.substr(end);
		obj.setSelectionRange(start + alen, end + alen);
		return true;
	}
	return true;
}
function selectColor(el, bbtype, FID) {
	var t = document.getElementById(bbtype + 'Table');
	
	var obj = document.getElementById(FID);
	if(document.selection) {
		obj.focus();
		currentIESelectionObject = document.selection.createRange();
	}
	
	var f = t.getAttribute('flag');
	if(f && f == '1') { t.setAttribute('flag', 0); t.style.display = 'none'; return true; }
	var p = getElementPosition(el.parentNode, false, true, true);
	var s = el.getAttribute('style');
	if(s) {
		var i = t.getElementsByTagName('img'); var ic = i.length;
		for(j = 0; j < ic; j++) {
			if(i[j].className == 'labelimg') {
				if(IE && i[j]) {
					i[j].style.top = s.top;
				} else {
					var s1 = s.split(': ');
					if(i[j] && s1[1]) {
						var s2 = s1[1].split(';'); i[j].style.top = s2[0];
					}
				}
				break;
			}
		}
	}
	t.style.display = 'block';
	t.setAttribute('flag', '1');
	t.setAttribute('bbtype', bbtype);
	t.style.left = (1*p.left - 3) + 'px';
	t.style.top = (1*p.top - 3) + 'px';
	return true;
}



