IE = !navigator.appName.search("Mic")

function to_title(page,body_title,body_descr,body_keyw){
window.open('/title/index.php?uri='+page+'&body_title='+body_title+'&body_descr='+body_descr+'&body_keyw='+body_keyw, 'Заголовок', 'toolbar=no,location=no,directoties=no,status=no,scrollbars=yes,menubar=no,resizable=no,width=750,height=500');
}

function ban_loc(i) {
	location.href='?ban_loc='+i;
	return false;
}
function get(id) { 
	if(document.getElementById(id)) 
		return document.getElementById(id);
	else
		return false;
}

/*Заполняет списки часами и минутами принимает:
data['hours_element'] элемент типа select для часов (не должно быть пустым)
data['minutes_element'] элемент типа select для минут (не должно быть пустым)
data['hour_start'] - с какого часа начинать заполнение часами (0 по умолчанию)
data['hour_step'] - с каким интервалом заполнять часы (1 по умолчанию)
data['minute_start'] - с какой минуты начинать заполнение минутами (0 по умолчанию)
data['minute_step'] - с каким интервалом заполнять минуты (5 по умолчанию)
data['hour_set'] - какой час выделить в списке (00 по умолчанию)
data['minute_set'] - какую минуту выделить в спике(00 по умолчанию)
*/
function setTimeSelectors( data ) {
		if( data && data["hours_element"] && data["minutes_element"] ) {
			var hour_start = data["hour_start"] ? data["hour_start"] : 0;
			var hour_step = data["hour_step"] ? data["hour_step"] : 1;
			var minute_start = data["minute_start"] ? data["minute_start"] : 0;
			var minute_step = data["minute_step"] ? data["minute_step"] : 1;
			var hour_set = data["hour_set"] ? data["hour_set"] : "00";
			var minute_set = data["minute_set"] ? data["minute_set"] : "00";
			var h_el = data["hours_element"];
			var m_el = data["minutes_element"];
			var hi=hour_start;
			var mi=minute_start;
			var h_val;
			var m_val;
		
			while( hi < 24 ) {
				h_val = hi > 9 ? hi : "0"+hi;
				h_el.options[h_el.options.length] = new Option( h_val, h_val );
				if( h_val == hour_set ) h_el.selectedIndex = hi; 
				hi = hi+hour_step;
			}
			while( mi < 60 ) {
				m_val = mi > 9 ? mi : "0"+mi;
				m_el.options[m_el.options.length] = new Option( m_val, m_val );
				if( m_val == minute_set ) m_el.selectedIndex = mi; 
				mi = mi+minute_step;
			}
		}
	}

//Берет элементы по имени класса, возвращает массив. Второй параметр ограничивает область заданием родительской ноды (тега), третий параметр дает возможность исключать из выходного массива элементы, у которых в имени класса пристуствует его название
function getByClass(classname, node, classexclude)  {
    node = typeof node == "undefined" ? document.getElementsByTagName("body")[0] : document.getElementsByTagName(node)[0];
	var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
	var exc_re = typeof classexclude == "undefined" ? false : new RegExp('\\b' + classexclude + '\\b');
    var els = node.getElementsByTagName("*");
    var eval_var = exc_re ? "if(re.test(els[i].className) && !exc_re.test(els[i].className))a.push(els[i]);" : "if(re.test(els[i].className))a.push(els[i]);";
	for(var i=0,j=els.length; i<j; i++) {
        eval(eval_var);
	}
    return a;
}
// Показ / скрытие всех элементов по class
function toogle_all_class(cl,val) {
	var all_vis=getByClass(cl);
	for(var i=0;i<all_vis.length;i++) {
		toggle(all_vis[i],val);
	}
}

function radioValue(radioGroupObj) {
  for (var i=0; i < radioGroupObj.length; i++)
    if (radioGroupObj[i].checked) return radioGroupObj[i].value;

  return null;
}

function add_html(e, s) {
  if(IE) e.innerHTML += s
  else { // mozilla
    var r = document.createRange()
    r.setStartBefore(e)
    var html = r.createContextualFragment(s)
    e.parentNode.appendChild(html)
  }
}


function sibleNode (oElm, forward) {
          var nElm;
          if (forward) { // path to sibling
                  nElm = oElm.nextSibling;
          } else {
                  nElm = oElm.previousSibling;
          }
		  //alert(nElm.textContent);
          if (nElm.nodeType == 1) { // Node.ELEMENT_NODE
                  return nElm;
          } else {
                  return sibleNode (nElm, forward);
          }
}

function mOver(obj) {
	obj.className='topmenu1';
	if(obj.previousSibling.nodeType==1) 
		razd=obj.previousSibling;
	else { 
		razd=sibleNode(obj,false);
	}
	razd.className='topm_razd1';
}
function mOut(obj) {
	obj.className='topmenu';
	if(obj.previousSibling.nodeType==1) 
		razd=obj.previousSibling;
	else { 
		razd=sibleNode(obj,false);
	}
	razd.className='topm_razd';
}



function openImage(path) {
	popupWin = window.open(path, "Photo","directories=no,height=400,width=400,location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no");
	popupWin.focus();
	return false;
}

function popup_open(path,w,h,label,tmp) {
	if(!tmp)
		tmp=',top=50,left=50';
	popupWin = window.open(path, label ,"directories=no,width=" + w + ",height=" + h + ",location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no"+tmp+"");
	popupWin.focus();
	return false;
}
// Список - меню
function jumpMenu(selObj){ //v3.0
  eval("self.location='"+selObj.options[selObj.selectedIndex].value+"'");
}
// Список - меню
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Ввод только численных значений
function EnsureNumeric() {
	var k = window.event.keyCode; 
	// Только Цифры + "."
	if ((k < 48 || k > 57) && k != 8  && k != 46) 
		window.event.returnValue = false; 
}


/*@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#@#*/
function toggle(obj) {
	
        var el = document.getElementById(obj);
        if ( el.style.display != 'none' ) {
                el.style.display = 'none';
        }
        else {
                el.style.display = '';
        }
}
/*
function getElementsByClass(searchClass,node,tag) {
        var classElements = new Array();
        if ( node == null )
                node = document;
        if ( tag == null )
               tag = '*';
        var els = node.getElementsByTagName(tag);
        var elsLen = els.length;
	
        var pattern = new RegExp(\"(^|\\s)\"+searchClass+\"(\\s|$)\");
        for (i = 0, j = 0; i < elsLen; i++) {
               if ( pattern.test(els[i].className) ) {
                    classElements[j] = els[i];
                   j++;
              }
        }
        return classElements;
}*/

Array.prototype.inArray = function (value) {
        var i;
        for (i=0; i < this.length; i++) {
                if (this[i] === value) {
                        return true;
                }
        }
        return false;
};

function getCookie( name ) {
	var start = document.cookie.indexOf( name + '=' );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );
	document.cookie = name+'='+escape( value ) +
		( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}
	
function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}
