function e(eid)
{	return document.getElementById(eid);
	}

function Show(eid)
	{
		document.getElementById(eid).style.display='block';
		}

function Hide(eid)
	{
		document.getElementById(eid).style.display='none';
		}

function ShowHide(eid)
	{
		if (document.getElementById(eid).style.display!='block')
			document.getElementById(eid).style.display='block';
			else
				document.getElementById(eid).style.display='none'
		}

function Show_s(eid)
{	e(eid).className='display_block';
	}

function Hide_s(eid)
{
	e(eid).className='display_none';
	}

function ShowHide_s(eid)
{	if (e(eid).className!='display_block')
			e(eid).className='display_block';
			else
				e(eid).className='display_none'
	}

function massShow(idstring)
{
	var mas=idstring.split(',');
	for (var i=0;i<mas.length;i++)
		Show(mas[i]);
	}
function massHide(idstring)
{
	var mas=idstring.split(',');
	for (var i=0;i<mas.length;i++)
		Hide(mas[i]);
	}
function massShowHide(idstring)
{
	var mas=idstring.split(',');
	for (var i=0;i<mas.length;i++)
		ShowHide(mas[i]);
	}

function chPict(eid,pic1,pic2)
	{
		if (document.getElementById(eid).src.indexOf(pic2)<0)
			document.getElementById(eid).src='./images/'+pic2;
			else document.getElementById(eid).src='./images/'+pic1;
		}

function setValue(obj,hfield)
	{
		obj.form[hfield].value=obj.value;		}

function regselect(showId,hideId)
   		{
   			Show(showId);
   			Hide(hideId);
   			}

function fillCheckbox(str1,f,id_start,count)
	{  		for (i=1;i<=count;i++)
  			if (str1.indexOf(f[id_start+i.toString()].value)>=0) f[id_start+i.toString()].checked=true;		}

function formCheckbox(f,id_start,count,outfield)
	{
		i=1;
		rez='';
		for (i=1;i<=count;i++)
			{
				if (f[id_start+i.toString()].checked) rez=rez+', '+f[id_start+i.toString()].value;
				}
		rez=rez.substring(2,rez.length);
		f[outfield].value=rez;
		}

function fillChbox(id_start,count,val)
	{
  		for (i=0;i<count;i++)
  			document.getElementById(id_start+i.toString()).checked=val;
		}

function formChbox(id_start,count)
	{
		rez='';
		for (i=0;i<count;i++)
			{
				if (document.getElementById(id_start+i.toString()).checked) rez=rez+','+document.getElementById(id_start+i.toString()).value;
				}
		rez=rez.substring(1,rez.length);
		return rez;
		}

function valid_email(email_address) {

    // Check the length
    if (email_address.length < 5) {
        return false
    }

    // Check @ and .
    at_location = email_address.indexOf("@")
    dot_location = email_address.lastIndexOf(".")

    if (at_location == -1 || dot_location == -1 || at_location > dot_location ) {
        return false
    }

    // Is there at least one character before @?
    if (at_location == 0) {
        return false
    }

    // Is there at least one character between @ and .?
    if (dot_location - at_location < 2 ) {
        return false
    }

    // Is there at least one character after .?
    if (email_address.length - dot_location < 2) {
        return false
    }

    // Otherwise, it's a valid address, so return true
    return true
}
//
function isValidEmail(elid)
{
	return valid_email(document.getElementById(elid).value)
	}

function isEmpty(ar)
{
	var mas=ar.split(",");
	for (var i=0;i<mas.length;i++)
	{
		if (document.getElementById(mas[i]).value=="")
		{
			alert("Поле "+document.getElementById(mas[i]).caption+" не заполнено!");
			document.getElementById(mas[i]).focus();
			return true;
			}
		}
	return false;
	}

//проверка на пустое поле
function fieldEmpty(elem)
{	rez=false;
	if (elem.value=="" || elem.value==" ") rez=true;
	return rez;
	}

//validates that the entry is a positive or negative number
function isNumber(elem) {
    return isNum(elem.value);
}
function isNum(str) {
    var re= /^[-]?\d*\.?\d*$/;
    str=str.toString();
    if (!str.match(re)) {
        return false;
    }
    return true;
}

function isNumberById(eid)
{
	return isNumber(document.getElementById(eid));	}

function areNumbers(ar)
{
	var mas=ar.split(",");
	for (var i=0;i<mas.length;i++)
	{
		if (!isNumberById(mas[i]))
		{
			alert("Поле  должно быть числом!");
			document.getElementById(mas[i]).focus();
			return false;
			}
		}
	return true;	}

function validateForm(f)
   	{
   		rez=true;
   		rez1=true;
   		rez2=true;
   		rez3=true;
   		rez4=true;
   		for(var i=0;i<f.length;i++)
   			{
   				if (f[i].type=='text' || f[i].type=='password')
   					if ((f[i].id==1)||(f[i].mandatory==1))
   						if (f[i].value=='') rez=false;
   				}
   		if (!rez) {alert('Не все поля заполнены!'); return false};

		if (f['password']!=null)
		if (f['password2']!=null)
		{
   			if (f['password'].value!=f['password2'].value) rez1=false;
   			if (!rez1) alert('Пароль не подтвержден!');
   			}
  		if (f['email']!=null)
  		{
   			if (!valid_email(f['email'].value)) rez2=false;
   			}
   		if (f['price']!=null)
   		{
   			if (!isNumber(f['price'])) {rez3=false;alert('Цена должна являться числом!');return false;}   			}
        if (f['id_catalog']!=null)
        {
        	if (f['id_catalog'].value=='') {rez4=false;alert('Выберите область деятельности из списка!');return false;}        	}

   		if (!rez2) alert('Формат почтового ящика неправильный!');
   		return (rez&&rez2)&&rez1;
   		}

//новая проверка на заполненность формы
/*
function newValidateForm(f)
{	var rez=true;
	for (var i=0;i<f.length && rez==true;i++)
	{        obligatory=f[i].id;
        if (obligatory>0)
        	if (obligatory>=2 && !isNumber(f[i])) {alert('Значение должно быть числом!');f[i].focus();rez=false;}
        		else if (obligatory>=1 && fieldEmpty(f[i])) {alert('Не все поля заплнены!');f[i].focus();rez=false;}
		}
	return rez;
	}*/

function validF(f)
{
	rez=true;
	if (f['f1'].value=='')
		{			rez=false;
			alert('Файл не выбран!');
			}
			else if (f['id_folder'].value=='new' && f['newfolder'].value=='')
				{
					rez=false;
					alert('Имя папки не указано!');					}
	return rez;	}

function valid(f)
{
	rez=true;
	if (f['id_folder1'].value=='new' && f['newfolder'].value=='')
		{
			rez=false;
			alert('Имя папки не указано!');
			}
	return rez;
	}

function formBuySearch(rent)
{
    if (document.getElementById('city').value!='')
    	{
    		if (document.getElementById('type').value!='')
    			{
    				var query='and(city=\"'+document.getElementById('city').value+'\")and(tip='+document.getElementById('type').value+')';
    				if (document.getElementById('rooms').value!='') query+='and(rooms='+document.getElementById('rooms').value+')';
    				if (isNumber(document.getElementById('fromarea')))
    					{
    						if (document.getElementById('fromarea').value!='') query+='and(totalarea>='+document.getElementById('fromarea').value+')';
    						}
    						else {alert('Площадь должна быть числом!');document.getElementById('fromarea').focus();exit()}
    				if (isNumber(document.getElementById('toarea')))
    					{
    						if (document.getElementById('toarea').value!='') query+='and(totalarea<='+document.getElementById('toarea').value+')';
    						}
    						else {alert('Площадь должна быть числом!');document.getElementById('toarea').focus();exit()}
    				if (isNumber(document.getElementById('fromprice')))
    					{
    						if (document.getElementById('fromprice').value!='') query+='and(price>='+document.getElementById('fromprice').value+')';
    						}
    						else {alert('Цена должна быть числом!');document.getElementById('fromprice').focus();exit()}
    				if (isNumber(document.getElementById('toprice')))
    					{
    						if (document.getElementById('toprice').value!='') query+='and(price<='+document.getElementById('toprice').value+')';
    						}
    						else {alert('Цена должна быть числом!');document.getElementById('toprice').focus();exit()}
    				switch(document.getElementById('floor').value)
    				{
    					case '1':query+='and(floor=1)';break;
    					case 'n':query+='and(floor=totalfloor)';break;
    					case 'n1':query+='and(floor>1)';break;
    					case 'nn':query+='and(floor<totalfloor)';break;
    					case 'n1n':query+='and(floor>1)and(floor<totalfloor)';break;
    					}
    				if (document.getElementById('telefon').value!='') query+='and(telefon="'+document.getElementById('telefon').value+'")';
    				if (document.getElementById('domofon').value!='') query+='and(domofon="'+document.getElementById('domofon').value+'")';
    				if (document.getElementById('state').value!='') query+='and(state<='+document.getElementById('state').value+')';
    				if (document.getElementById('address').value!='') query+='and(address like \"%'+document.getElementById('address').value+'%\")';
					if (document.getElementById('stop').value!='') query+='and(stop1 like \"%'+document.getElementById('stop').value+'%\")';

    				location='?page=realestatebuy&rent='+rent+'&query='+query;
    				}
    				else alert('Выберите тип недвижимости!');
    		}
    		else alert('Выберите город!');
	}

function formSellSearch(rent)
{
    if (document.getElementById('city').value!='')
    	{
    		if (document.getElementById('type').value!='')
    			{
    				var query='and(city=\"'+document.getElementById('city').value+'\")and(tip='+document.getElementById('type').value+')';
    				if (document.getElementById('rooms').value!='') query+='and(rooms='+document.getElementById('rooms').value+')';
    				if (isNumber(document.getElementById('totalarea')))
    					{
    						if (document.getElementById('totalarea').value!='') query+='and(areafrom<='+document.getElementById('totalarea').value+')and(areato>='+document.getElementById('totalarea').value+')';
    						}
    						else {alert('Площадь должна быть числом!');document.getElementById('totalarea').focus();exit()}
    				if (isNumber(document.getElementById('price')))
    					{
    						if (document.getElementById('price').value!='') query+='and(pricefrom<='+document.getElementById('price').value+')and(priceto>='+document.getElementById('price').value+')';
    						}
    						else {alert('Цена должна быть числом!');document.getElementById('price').focus();exit()}

    				if (!isNumber(document.getElementById('floor'))) {alert('Этаж должен быть числом!');document.getElementById('floor').focus();exit()};
    				if (!isNumber(document.getElementById('totalfloor'))) {alert('Этаж должен быть числом!');document.getElementById('totalfloor').focus();exit()};

    				if(document.getElementById('floor').value==1) query+='and(floor<>"n1")and(floor<>"n1n")';
    					else if (document.getElementById('floor').value==document.getElementById('totalfloor').value) query+='and(floor<>"n")and(floor<>"n1n")';

    				if (document.getElementById('telefon').value!='') query+='and(telefon="'+document.getElementById('telefon').value+'")';
    				if (document.getElementById('domofon').value!='') query+='and(domofon="'+document.getElementById('domofon').value+'")';
    				if (document.getElementById('state').value!='') query+='and(state<='+document.getElementById('state').value+')';
    				if (document.getElementById('address').value!='') query+='and(address like \"%'+document.getElementById('address').value+'%\")';
    				if (document.getElementById('stop').value!='') query+='and(stop1 like \"%'+document.getElementById('stop').value+'%\")';

    				location='?page=realestatesell&rent='+rent+'&query='+query;
    				}
    				else alert('Выберите тип недвижимости!');
    		}
    		else alert('Выберите город!');
	}

function formCBuySearch(rent)
{
    if (document.getElementById('city').value!='')
    	{
    		if (document.getElementById('type').value!='')
    			{
    				var query='and(city=\"'+document.getElementById('city').value+'\")and(tip='+document.getElementById('type').value+')';
    				if (isNumber(document.getElementById('fromarea')))
    					{
    						if (document.getElementById('fromarea').value!='') query+='and(area>='+document.getElementById('fromarea').value+')';
    						}
    						else {alert('Площадь должна быть числом!');document.getElementById('fromarea').focus();exit()}
    				if (isNumber(document.getElementById('toarea')))
    					{
    						if (document.getElementById('toarea').value!='') query+='and(area<='+document.getElementById('toarea').value+')';
    						}
    						else {alert('Площадь должна быть числом!');document.getElementById('toarea').focus();exit()}
    				if (isNumber(document.getElementById('fromprice')))
    					{
    						if (document.getElementById('fromprice').value!='') query+='and(price>='+document.getElementById('fromprice').value+')';
    						}
    						else {alert('Цена должна быть числом!');document.getElementById('fromprice').focus();exit()}
    				if (isNumber(document.getElementById('toprice')))
    					{
    						if (document.getElementById('toprice').value!='') query+='and(price<='+document.getElementById('toprice').value+')';
    						}
    						else {alert('Цена должна быть числом!');document.getElementById('toprice').focus();exit()}
    				switch(document.getElementById('floor').value)
    				{
    					case '1':query+='and(floor=1)';break;
    					case 'n':query+='and(floor=totalfloor)';break;
    					case 'n1':query+='and(floor>1)';break;
    					case 'nn':query+='and(floor<totalfloor)';break;
    					case 'n1n':query+='and(floor>1)and(floor<totalfloor)';break;
    					}
    				if (document.getElementById('telefon').value!='') query+='and(telefon="'+document.getElementById('telefon').value+'")';
    				if (document.getElementById('internet').value!='') query+='and(internet="'+document.getElementById('internet').value+'")';
    				if (document.getElementById('security').value!='') query+='and(security="'+document.getElementById('security').value+'")';
    				if (document.getElementById('address').value!='') query+='and(address like \"%'+document.getElementById('address').value+'%\")';

    				location='?page=crealestatebuy&rent='+rent+'&query='+query;
    				}
    				else alert('Выберите тип недвижимости!');
    		}
    		else alert('Выберите город!');
	}

function formCSellSearch(rent)
{
    if (document.getElementById('city').value!='')
    	{
    		if (document.getElementById('type').value!='')
    			{
    				var query='and(city=\"'+document.getElementById('city').value+'\")and(tip='+document.getElementById('type').value+')';
    				if (isNumber(document.getElementById('area')))
    					{
    						if (document.getElementById('area').value!='') query+='and(areafrom<='+document.getElementById('area').value+')and(areato>='+document.getElementById('area').value+')';
    						}
    						else {alert('Площадь должна быть числом!');document.getElementById('area').focus();exit()}
    				if (isNumber(document.getElementById('price')))
    					{
    						if (document.getElementById('price').value!='') query+='and(pricefrom<='+document.getElementById('price').value+')and(priceto>='+document.getElementById('price').value+')';
    						}
    						else {alert('Цена должна быть числом!');document.getElementById('price').focus();exit()}

    				if (!isNumber(document.getElementById('floor'))) {alert('Этаж должен быть числом!');document.getElementById('floor').focus();exit()};
    				if (!isNumber(document.getElementById('totalfloor'))) {alert('Этаж должен быть числом!');document.getElementById('totalfloor').focus();exit()};

    				if(document.getElementById('floor').value==1) query+='and(floor<>"n1")and(floor<>"n1n")';
    					else if (document.getElementById('floor').value==document.getElementById('totalfloor').value) query+='and(floor<>"n")and(floor<>"n1n")';

    				if (document.getElementById('telefon').value!='') query+='and(telefon="'+document.getElementById('telefon').value+'")';
    				if (document.getElementById('internet').value!='') query+='and(internet="'+document.getElementById('internet').value+'")';
    				if (document.getElementById('security').value!='') query+='and(security="'+document.getElementById('security').value+'")';
    				if (document.getElementById('address').value!='') query+='and(address like \"%'+document.getElementById('address').value+'%\")';

    				location='?page=crealestatesell&rent='+rent+'&query='+query;
    				}
    				else alert('Выберите тип недвижимости!');
    		}
    		else alert('Выберите город!');
	}

function validateRealestate()
{
	dop_form=document.forms['dop'];
	main_form=document.forms['adv_form'];
	if (dop_form==null || newValidateForm(dop_form)) //проверим сначала дополнительную форму, если она есть
	{
		//теперь перенесем значения доп. формы (если есть) в основную
		if (dop_form!=null)
			for (var i=0;i<dop_form.length;i++)
			{
        		if (dop_form[i].type!="button")
        		main_form[dop_form[i].name].value=dop_form[i].value;
        		}
        //теперь проверим основную форму
        if (newValidateForm(main_form)) main_form.submit();
		}
	}


function setHab(val,subm)
{	f=document.forms['offer_form'];
	f.hab.value=val;

	if (val==1)
	{
		var str1='<table cellspacing="0" cellpadding="0">';
        str1+='            <tr>';
        str1+='              <td class="books_active_left"></td>';
        str1+='              <td class="books_active_bg">Жилая&nbsp;недвижимость</td>';
        str1+='              <td class="books_left_on"></a>';
        str1+='              <td class="books_passive_bg"><a href="javascript:void(0)" onClick="setHab(0,1)">Нежилая&nbsp;недвижимость</a></td>';
        str1+='              <td class="books_last_off"></td>';
        str1+='            </tr>';
        str1+='          </table>';
  		}
 		else
 		{
		var str1='<table cellspacing="0" cellpadding="0">';
        str1+='            <tr>';
        str1+='              <td class="books_border_left"></td>';
        str1+='              <td class="books_passive_bg"><a href="javascript:void(0)" onClick="setHab(1,1)">Жилая&nbsp;недвижимость</a></td>';
        str1+='              <td class="books_right_on"></a>';
        str1+='              <td class="books_active_bg">Нежилая&nbsp;недвижимость</td>';
        str1+='              <td class="books_active_right"></td>';
        str1+='            </tr>';
        str1+='          </table>';
  		}
	e('hab_select').innerHTML=str1;
	if (subm==1) f.submit();
	}

function setTip(val,subm)
{	f=document.forms['offer_form'];
	f.adv_tip.value=val;

	var tips=new Array("sell","buy","rent","rrent");
	var names=new Array("Продажа","Покупка","Сдача в аренду","Аренда");

	var str1='';
	for (var i=0;i<4;i++)
	{		str1+='<li>'+(val==tips[i] ? '<span class="font_red">'+names[i]+'</span>' : '<a class="font_grey" href="javascript:void(0)" onClick="setTip(\''+tips[i]+'\',1)">'+names[i]+'</a>')+(i<3 ? '&nbsp; |' : '')+'</li>';
		}

	e('tip_select').innerHTML=str1;
	if (subm==1) f.submit();
	}

function collectIds()
{	var rez='';
	for (var i=1;i<=e('ch_box_num').value;i++)
    	if (e('ch_box_'+i.toString()).checked==true) rez+=(rez!='' ? ';' : '')+e('ch_box_'+i.toString()).value.toString();
    return rez;
	}

function delSelected(saved)//удаление своих объявлений
{    rez=collectIds();
    if (rez!='')
    {
    	if (confirm('Вы действительно хотите удалить эти объявления?'))
    	{
    		f=document.forms['del_my_form'];
    		if (saved==1) f.del_saved_ids.value=rez;
    			else f.del_ids.value=rez;
    		f.submit();
    		}
    	}
    	else alert('Объявления не выбраны!');
	}

function selectAll()
{	for (var i=1;i<=e('ch_box_num').value;i++)
		e('ch_box_'+i.toString()).checked=e('select_all').checked;
	}

function addToSaved()
{	rez=collectIds();
	if (rez!='')
	{        f=document.forms['saved_form'];
        f['id_saved'].value=rez;
        f['action'].value='add';
        f.submit();
		}
		else alert('Объявления не выбраны!');
	}

function isLatin(str1)
{	var rez=true;
	for (var i=0;i<str1.length;i++)
	{		var cod=str1.charCodeAt(i);
		rez=(rez && (cod>=65 && cod<=90 || cod>=97 && cod<=122 || cod>=48 && cod<=57));
		}
    return rez;
	}

//новая проверка на заполненность формы
function newValidateForm(f)
{
	var rez=true;
	for (var i=0;i<f.length && rez==true;i++){
        obligatory=f[i].id;
        if (obligatory>0)
        {
        	if (f[i].name=="pass" && f[i].value!=f['pass2'].value) {alert('Пароль не подтвержден!');f['pass2'].focus();rez=false;}
        	else if (f[i].name=="email" && !valid_email(f[i].value)) {alert('Формат почтового ящика неправильный!');f[i].focus();rez=false;}
        	else if (obligatory==3 && !isLatin(f[i].value)) {alert('Недопустимый логин '+f[i].value.toString()+'! Поле может содержать только символы латинского алфавита и цифры!');f[i].focus();rez=false;}
        	else if (obligatory==2 && !isNumber(f[i])) {alert('Значение должно быть числом!');f[i].focus();rez=false;}
        		else if (obligatory>=1 && fieldEmpty(f[i])) {alert('Не все обязательные поля заполнены!');f[i].focus();rez=false;}
		}
	}
	return rez;
}

function focusElement(formName, elemName) {
    var elem = document.forms[formName].elements[elemName];
    elem.focus( );
    //elem.select( );
}

function fixPNG(element)
{
  //Если браузер IE версии 5.5-6
  if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent))
  {
    var src;

    if (element.tagName=='IMG') //Если текущий элемент картинка (тэг IMG)
    {
      if (/\.png$/.test(element.src)) //Если файл картинки имеет расширение PNG
      {
        src = element.src;
        element.src = "./images/spacer.gif"; //заменяем изображение прозрачным gif-ом
      }
    }
    else //иначе, если это не картинка а другой элемент
    {
       //если у элемента задана фоновая картинка, то присваеваем значение свойства background-шmage переменной src
      src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
      if (src)
      {
        src = src[1]; //берем из значения свойства background-шmage только адрес картинки
        element.runtimeStyle.backgroundImage="none"; //убираем фоновое изображение
      }
    }
    //если, src не пуст, то нужно загрузить изображение с помощью фильтра AlphaImageLoader
    if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
  }
}

function showCabinet()
{
     e('inner_login').style.left=(Math.round(screen.width/2)-121).toString()+"px";
     e('inner_login').style.top=(Math.round(screen.height/2)-200).toString()+"px";
     ShowHide('hf_login');
     //ShowHide('inner_login');
     }
	function getSearch()
	{
         var num=document.getElementById('sel_1').value.toString();
         var f=document.forms['catalog_fast_search_form'];

         switch (num) {
         	 case "1":
         	     f.submit();
         	 break;
         	 case "2":
                  location='index.php?page=search&search='+f['search'].value.toString()
         	 break;
         }
	}

function seo_coord()
{
	var b=e('seo_block');
	var place=e('seo_place');
	place.innerHTML=b.innerHTML;
	b.innerHTML="";
}

//---------вставка тэгов, смайликов и проч
var uagent    = navigator.userAgent.toLowerCase();
var is_safari = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var is_opera  = (uagent.indexOf('opera') != -1);
var is_webtv  = (uagent.indexOf('webtv') != -1);
var is_ie     = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv) );
var is_ie4    = ( (is_ie) && (uagent.indexOf("msie 4.") != -1) );
var is_moz    = ( (navigator.product == 'Gecko')  && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns     = ( (uagent.indexOf('compatible') == -1) && (uagent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_safari) );
var is_ns4    = ( (is_ns) && (parseInt(navigator.appVersion) == 4) );
var is_kon    = (uagent.indexOf('konqueror') != -1);

var is_win    =  ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );
var is_mac    = ( (uagent.indexOf("mac") != -1) || (navigator.vendor == "Apple Computer, Inc.") );
var ua_vers   = parseInt(navigator.appVersion);

function doInsert(ibTag, ibClsTag, isSingle,txt_id)
{
	var isClose = false;
	var obj_ta = e(txt_id);
	//----------------------------------------
	// It's IE!
	//----------------------------------------
	if ( (ua_vers >= 4) && is_ie && is_win)
	{
		if (obj_ta.isTextEdit)
		{
			obj_ta.focus();
			var sel = document.selection;
			var rng = sel.createRange();
			rng.colapse;
			if((sel.type == "Text" || sel.type == "None") && rng != null)
			{
				if(ibClsTag != "" && rng.text.length > 0)
					ibTag += rng.text + ibClsTag;
				else if(isSingle)
					isClose = true;
				else
					ibTag += ibClsTag;
				rng.text = ibTag;
			}
		}
		else
		{
			if(isSingle)
			{
				isClose = true;
			}
			obj_ta.value += ibTag;
		}
	}
	//----------------------------------------
	// It's MOZZY!
	//----------------------------------------
	else if ( obj_ta.selectionEnd )
	{
		var ss = obj_ta.selectionStart;
		var st = obj_ta.scrollTop;
		var es = obj_ta.selectionEnd;
		if (es <= 2)
		{
			es = obj_ta.textLength;
		}
		var start  = (obj_ta.value).substring(0, ss);
		var middle = (obj_ta.value).substring(ss, es);
		var end    = (obj_ta.value).substring(es, obj_ta.textLength);
		//-----------------------------------
		// text range?
		//-----------------------------------
		if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
		{
			middle = ibTag + middle + ibClsTag;
		}
		else
		{
			middle = ibTag + middle + ibClsTag;
			if (isSingle)
			{
				isClose = true;
			}
		}
		obj_ta.value = start + middle + end;
		var cpos = ss + (middle.length);
		obj_ta.selectionStart = cpos;
		obj_ta.selectionEnd   = cpos;
		obj_ta.scrollTop      = st;
	}
	//----------------------------------------
	// It's CRAPPY!
	//----------------------------------------
	else
	{
		if (isSingle)
		{
			isClose = true;
		}
		obj_ta.value = ibTag + ibClsTag+obj_ta.value;
	}
	obj_ta.focus();
	return isClose;
}

function emoticon(theSmilie)
{
	doInsert(" " + theSmilie + " ", "", false,"txt");
}

function insert_tag(tag,id)
{
	doInsert("["+tag+"]", "[/"+tag+"]", false,id);
}

function insert_href(href,id)
{	doInsert("[a href=\""+href+"\" target=_blank]", "[/a]", false,id);
}

function insert_image(src,id)
{	doInsert("[img]"+src+"\" class=\"img_top_news\" alt=\"[/img]","",true,id);
}

function ShowHideMenu(x,y)
{
	var d=e('div_menu_dop');
	//alert(x+", "+y);
	d.style.left=(x+4).toString()+'px';
	d.style.top=y.toString()+'px';
	ShowHide('div_menu_dop');
}

function change_afisha(type)
{
	var itemTds=new Array("cinema","concert","theatres","exhibition");
	for (var i=0;i<itemTds.length;i++)
	{
		if(type==itemTds[i].toString())
		{
			Show('div_'+type);
			Show('div_list_'+type);
			e('td_'+type).className='act';
		}else{
			Hide('div_'+itemTds[i].toString());
			Hide('div_list_'+itemTds[i].toString());
			e('td_'+itemTds[i].toString()).className='';
		}
	}
}

// utility function to retrieve an expiration date in proper
// format; pass three integer parameters for the number of days, hours,
// and minutes from now you want the cookie to expire (or negative
// values for a past date); all three parameters are required,
// so use zeros where appropriate
function getExpDate(days, hours, minutes) {
    var expDate = new Date( );
    if (typeof days == "number" && typeof hours == "number" &&
        typeof hours == "number") {
        expDate.setDate(expDate.getDate( ) + parseInt(days));
        expDate.setHours(expDate.getHours( ) + parseInt(hours));
        expDate.setMinutes(expDate.getMinutes( ) + parseInt(minutes));
        return expDate.toGMTString( );
    }
}

// utility function called by getCookie( )
function getCookieVal(offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1) {
        endstr = document.cookie.length;
    }
    return unescape(document.cookie.substring(offset, endstr));
}

// primary function to retrieve cookie by name
function getCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg) {
            return getCookieVal(j);
        }
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return "";
}

// store cookie value with optional details as needed
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie = name + "=" + escape (value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

// remove the cookie by setting ancient expiration date
function deleteCookie(name,path,domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}
