
function standard_window(lnk, w, h)
{
	if (!w) w = 600;
	if (!h) h = 400;
	var l = ( screen.width - w )/2;
	var t = ( screen.height - h )/2 - 20;
	win = window.open(lnk, '', "toolbar=0,scrollbars=1,resizable=1,left="+l+",top="+t+",width="+w+",height="+h);
	return win;
}

function DbImage_setDrop(iid)
{
	var inp;
	if (inp = document.getElementById("DbImage_drop["+iid+"]"))
	{
		if (inp.value == "0")
		{
			inp.value = "1";
			var img = document.getElementById("DbImage_drop_img["+iid+"]");
			img.src = "/i/delete_1.gif";
		}
		else
		{
			inp.value = "0";
			var img = document.getElementById("DbImage_drop_img["+iid+"]");
			img.src = "/i/delete_0.gif";
		}
	}
}

function DbFile_setDrop(iid)
{
	var inp;
	if (inp = document.getElementById("DbFile_drop["+iid+"]"))
	{
		if (inp.value == "0")
		{
			inp.value = "1";
			var img = document.getElementById("DbFile_drop_img["+iid+"]");
			img.src = "./i/delete_1.gif";
		}
		else
		{
			inp.value = "0";
			var img = document.getElementById("DbFile_drop_img["+iid+"]");
			img.src = "./i/delete_0.gif";
		}
	}
}


function setCookie (cookieName, cookieValue, expires)
{

	document.cookie =

	escape(cookieName) + '=' + escape(cookieValue)

	+ (expires ? '; expires=' + expires : '')

	+ '; path=/';

}

/**
    это див с картинкой который типа попапов
*/
var overlay_container = document.getElementById('overlay_div');
function showImageHere(src, w, h)
{
	if (!overlay_container) overlay_container = document.getElementById('overlay_div');
	if (!overlay_container) return false;

	var image = document.createElement('IMG');
	image.src = src;


	var browser_w = window.innerWidth?window.innerWidth:document.body.offsetWidth;
	var browser_h = window.innerHeight?window.innerHeight:document.body.offsetHeight;



	if (w && w>browser_w)
	{
		var k = browser_w/w;
		w = w*(k);
		h = h*(k);
		image.width = w;
		image.height = h;
	}
	/**
	if (h && h>browser_h)
	{
	image.height = browser_h-50;
	h = image.height;
	w = image.width;
	}
	*/

	image.style.cursor = 'pointer';
	if (image.addEventListener)
	{
		image.addEventListener("click", hideOverlay, false);
	}
	else
	{
		image.attachEvent("onclick", hideOverlay);
	}

	// удалим чилдов если есть
	while (tmp_child = overlay_container.firstChild)
	{
		overlay_container.removeChild(tmp_child);
	}

	/*
	console.log(
	(window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop)
	,browser_h
	)
	;
	*/

	overlay_container.appendChild(image);
	overlay_container.style.left = Math.ceil((browser_w/2)-(w/2))+"px";
	overlay_container.style.top = Math.ceil(((window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop)+browser_h-browser_h/2)-(h/2))+"px";

	overlay_container.style.display = "block";


	return true;
}
// прячет див в который выводятся картинки и прочая доп-инфа
function hideOverlay()
{
	if (!overlay_container) overlay_container = document.getElementById('overlay_div');
	if (!overlay_container) return false;
	overlay_container.style.display = 'none';
}


/**
    аттачим опшинсы к селекту
*/
function attachOption(box, value, text, selected)
{
	var o = document.createElement("OPTION");
	o.selected = selected;
	o.value = value;
	o.appendChild(document.createTextNode(text));
	box.appendChild(o);
}

/**
    из XML выдерает наши HiddenStrings
*/
function getTextOnLang(branch, tag, lang)
{
	var res = "";
	var ress = branch.getElementsByTagName(tag);
	for (var iloop=0; iloop<ress.length; iloop++)
	{
		if (ress[iloop].getAttribute("lang")==lang)
		{
			res = getElementTextNS("", tag, branch, iloop);
		}
	}
	return res;
}
/**
    переключалка видимость для TR
*/
function switchTr(id, mode)
{
	var tr = document.getElementById(id);

	var current = tr.style.display;

	if (mode)
	{
	    if (mode == 'none')
	    {
	        current = 'block';
	    }
	    else
	    {
	        current = 'none';
	    }
	}

	if (current=="none")
	{
		tr.style.display = document.all?"block":"table-row";
	}
	else
	{
		tr.style.display = "none";
	}
}
/**
    переключалка видимость для всего кроме TR
*/
function switchEl(id, mode)
{
	var el = document.getElementById(id);

	if (!el) return false;

	if (mode) {
	    if (mode == 'none') {
	        el.style.display = 'none';
	    }
	    else {
	        el.style.display = 'block';
	    }
	}
	return true;
}

/**
    переключаем видимость элемента
*/
function switchDisplay(id)
{
    var o = document.getElementById(id);

    //console.log(o.style.display);

    if (!o) return false;

    if (o.style.display=="block" || !o.style.display)
    {
        o.style.display="none";
    }
    else
    {
        o.style.display="block";
    }
}

/**
    пичкаем сообщения в блок вывода ошибок
*/
function errorAlertSet(str, clear)
{
    var errBlock = document.getElementById('error_output');

    if (!errBlock) return false;

    if (clear) {
        while (tmpChd = errBlock.firstChild)
        {
            errBlock.removeChild(tmpChd);
        }
    }

    if (!str) return false;

    var ul = errBlock.firstChild;
    if (!ul || (ul && ul.tagName!='UL'))
    {
        var ul = document.createElement('UL');
        errBlock.appendChild(ul);
    }

    var li = document.createElement('LI');
    ul.appendChild(li);

    li.appendChild(document.createTextNode(str));
}

/**
    скрываем либо показываем блок ошибок
*/
function errorAlert(opn)
{
    var errBlock = document.getElementById('error_output');

    if (!errBlock) return false;

    errBlock.style.display = opn?"block":"none";
}

/**
    затягиваем сайт сеткой, и выводи в ее окошке хтмл
*/
function showTint(content_id)
{
    var browser_h = window.innerHeight?window.innerHeight:document.body.offsetHeight;
    var scroll_h = window.pageYOffset?window.pageYOffset:document.documentElement.scrollTop;

    var div = document.getElementById('tint_div');
    var divc = document.getElementById('tint_div_content');
    var divw = document.getElementById('tint_div_hidden_windows');

    if (!div || !divw) return false;

    div.style.width = "100%";
    if (navigator.appName.indexOf("Microsoft")==0)
    {
        div.style.height = (Math.abs(scroll_h-browser_h))+scroll_h+'px';
        divc.style.top = scroll_h+150+'px';
    }
    else
    {
        div.style.height = "100%";
        divc.style.top = "150px";
    }


    divc.appendChild(document.getElementById(content_id));


    div.style.display = "block";
    divc.style.display = "block";
}
/**
    прячем нарисованную сетку с окошком внутри
*/
function hideTint(content_id)
{
    var div = document.getElementById('tint_div');
    var divc = document.getElementById('tint_div_content');
    var divw = document.getElementById('tint_div_hidden_windows');

    if (!divw) return false;

    //var content = divc.firstChild;
    if (content_id)
    {
        var obj = document.getElementById(content_id);
        divw.appendChild(obj);
        //divc.removeChild(obj);
    }


    div.style.display = "none";
    divc.style.display = "none";
}

function _4lifeIdCheck(value)
{
    if (value.length!=7) return false;
    if (value.indexOf('5')==0 || value.indexOf('63')==0 ) return true;
    return false;
}

/**
    подсказка-попап рядом с каким-то элементом
*/
function elementHint(elem, content_id)
{
    var div = document.getElementById('hint_div');
    var content = document.getElementById(content_id);
    if (!div) return false;
    if (!content) return false;

    //div.offsetParent = elem.offsetParent;
    var pos = findPos(elem);
    div.style.left = (pos[0]+20)+'px';
    div.style.top = (pos[1]+10)+'px';
    div.innerHTML = content.innerHTML;
    div.style.display = "block";
}
/**
    прячем подсказку
*/
function elementHintHide(a)
{
    if (a)
    {
        document.getElementById('hint_div').style.display = "none";
    }
    else
    {
        elementHintHide('elementHintHide(1)', 1000);
    }
}

/**
    http://www.quirksmode.org
*/
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}


/**
    код нажатой кнопки
*/
function getCode(e)
{
    var code;
	if (!e) var e = window.event;
	if (e.keyCode) {
	   code = e.keyCode;
	} else if (e.which) {
	    code = e.which;
	}
    return code
}
/**
    разрешаем только латинские буквы, цифры и некоторые символы
*/
function allowLatin(e)
{
    var code = getCode(e);
    var character = String.fromCharCode(code);

	//console.log(code);

	if (code<48) return true;
	if (code>96 && code<145) return true;

    return (character.match(/[a-zA-Z0-9\s,\.\-\@]{1}/))!=null;
}
/**
    вырезаем все что не попадает под прошлый регекс
*/
function stripNonLatin(v)
{
    return v.replace(/[^a-zA-Z0-9\s,\.\-\@]*/g, '');
}


/**
    тока цифры
*/
function allowDigits(e)
{
    var code = getCode(e);
    var character = String.fromCharCode(code);

    if (code<48) return true;

    return (character.match(/[0-9]{1}/))!=null;
}
