function c( id )
{
	hide('scl'+id);
	show('adc'+id);
	return false;
}



function s( id )
{
	hide('bs'+id);
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
	if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('notebook').innerHTML += (req.responseJS.result||'');
			}
		}
	}
	req.caching = true;
	req.open('POST', '/ajax_load.php?service=noteadd', true);
	req.send({ ad_id: id });
	return false;
}

function d( id )
{
	hide('nb'+id);
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
	if (req.readyState == 4) {
			if (req.responseJS) {
				document.getElementById('notebook').innerHTML += (req.responseJS.result||'');
				show('bs'+id);
			}
		}
	}
	req.caching = true;
	req.open('POST', '/ajax_load.php?service=noteremove', true);
	req.send({ ad_id: id });
	return false;
}

function show(obj)
{
	e = document.getElementById(obj);
	if( e ) e.style.display='block';
	return false;
}

function hide(obj)
{
	e = document.getElementById(obj);
	if( e ) e.style.display='none';
	return false;
}


function toggle(obj)
{
	var el = document.getElementById(obj);
	if( el.style.display != 'none' )
	{
		el.style.display = 'none';
	}
	else
	{
		el.style.display = 'block';
	}
	return false;
}

document.onkeydown = function (e)
{
	if (!e)
	{
		e = window.event;
	}
	if (e.ctrlKey)
	{
		var code = e.keyCode ? e.keyCode : (e.which ? e.which : 0);
		var arrow = code == 37 ? document.getElementById('prev_page') : (code == 39 ? document.getElementById('next_page') : 0);
		if (arrow)
		{
			location.href = arrow.href
		}
	}
}

function SetClass(obj, cln)
{
	e = document.getElementById(obj);
	if( e ) e.className=cln;
	return false;
}

function AddClassName(objElement, strClass, blnMayAlreadyExist)
{
   if ( objElement.className )
   {
      var arrList = objElement.className.split(' ');
      if ( blnMayAlreadyExist )
         {
         var strClassUpper = strClass.toUpperCase();
         for ( var i = 0; i < arrList.length; i++ )
            {
            if ( arrList[i].toUpperCase() == strClassUpper )
               {
               arrList.splice(i, 1);
               i--;
               }
            }
         }
      arrList[arrList.length] = strClass;
      objElement.className = arrList.join(' ');
      }
   else
      {
      objElement.className = strClass;
   
      }

}

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) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

function visible(e)
{
	var today = new Date();
	var expires = new Date(today.getTime() + (56 * 86400000))
	visible_s = GetCookie('visible')
	var visible_h = {}
	
	if( visible_s )
	{
		visible_a = visible_s.split('|')
		var i = 0
		while(i < visible_a.length)
		{
			visible_h[visible_a[i].split("=")[0]]=visible_a[i].split("=")[1]
			i++
		}
	}
	if( visible_h[e] == 1 )
	{
		visible_h[e] = 0
	}
	else
	{
		visible_h[e] = 1
	}
	
	visible_s = ''
	for (var k in visible_h) 
	{
		visible_s += k+"="+visible_h[k]+"|";
	}
	visible_s = visible_s.substr(0, visible_s.length - 1)
	SetCookie('visible',visible_s,expires);
}

function SetText(obj, text)
{
	document.getElementById(obj).innerHTML=text;
	return false;
}


function setPrintCSS(isPrint)
{
  if (document.getElementsByTagName)
      x = document.getElementsByTagName('link');
  else if (document.all)
      x = document.all.tags('link');
  else
  {
      alert('Простите, этот скрипт не работает в вашем броузере');
      return;
  }
  for (var i=0;i<x.length;i++)
  {
      if(x[i].title == 'printview'){x[i].disabled = !isPrint;}
      if(x[i].title == 'screenview'){x[i].disabled = isPrint;}
  }
}

//===============================================================
// Имя класса для обязательных незаполненных элементов
var AlgFE_RequiredClassName = 'AlgFERequired'
// Текст сообщения о незаполненности полей
var AlgFE_AlertMessage = 'Не заповнені обов\'язкові поля. Заповніть!'

if ( document.getElementById ) SetupEventHandler(window, 'load', AlgFE_Initialize )

//===============================================================
// Обработчик onsubmit для form[(input|select)/@algfe:required='true']
function AlgFE_FormEventHandler( oEvent )
{
	var oEvent = window.event ? window.event : oEvent
	var oForm = window.event ? window.event.srcElement : oEvent.currentTarget

	for ( var i=0; i<oForm.elements.length; i++ )
		if ( oForm.elements[i].getAttribute('algfe:required') == 'true' && !AlgFE_CheckValuePresence(oForm.elements[i]) )
		{
			oForm.elements[i].focus()
			alert( AlgFE_AlertMessage )
			if ( oEvent.preventDefault ) oEvent.preventDefault(); return false;
		}
}


// Обработчик onchange, onkeyup, onkeydown для form/(input|select)[@algfe:required='true']
function AlgFE_InputEventHandler( oEvent )
{
	var oElement = window.event ? window.event.srcElement : oEvent.currentTarget
	AlgFE_CheckValuePresence(oElement) ? AlgFE_RemoveCssClass(oElement, AlgFE_RequiredClassName) : AlgFE_ApplyCssClass(oElement, AlgFE_RequiredClassName)
}


// Инициализация
function AlgFE_Initialize()
{
	var oForm

	// Нужно приделать обработчик onsubmit к form[child::./@algfe:required='true']
	for ( var i=0; i<document.forms.length; i++ )
		for ( var j=0; j<document.forms[i].elements.length; j++ )
			if ( document.forms[i].elements[j].getAttribute('algfe:required') == 'true' )
			{
				if ( oForm != document.forms[i] )
				{
					// Эта переменная для того, чтобы не приделывать обработчик к одной и той же форме несколько раз
					oForm = document.forms[i]
					SetupEventHandler(document.forms[i], 'submit', AlgFE_FormEventHandler)
				}
				SetupEventHandler(document.forms[i].elements[j], 'change', AlgFE_InputEventHandler)
				SetupEventHandler(document.forms[i].elements[j], 'keyup', AlgFE_InputEventHandler)
				SetupEventHandler(document.forms[i].elements[j], 'keydown', AlgFE_InputEventHandler)
				AlgFE_CheckValuePresence(document.forms[i].elements[j]) ? AlgFE_RemoveCssClass(document.forms[i].elements[j], AlgFE_RequiredClassName) : AlgFE_ApplyCssClass(document.forms[i].elements[j], AlgFE_RequiredClassName)
			}
}


// Проверка заполненности обязательного элемента
function AlgFE_CheckValuePresence( oElement )
{
	return !
	(
		( oElement && oElement.type && oElement.type == 'select-one'      && !oElement.selectedIndex ) ||
		( oElement && oElement.type && oElement.type == 'select-multiple' && !oElement.selectedIndex ) ||
		( oElement && oElement.type && oElement.type == 'text'            && !oElement.value )
	)
}

//===============================================================
// Приделать к элементу обработчик события
// sEventType -- из Мозилы, т.ы. не onclick, а click
function SetupEventHandler( oElement, sEventType, pHandler )
{
	if ( oElement.attachEvent ) oElement.attachEvent('on'+sEventType, pHandler)
	if ( oElement.addEventListener ) oElement.addEventListener(sEventType, pHandler, false)
}

// Применить CSS-класс к элементу
function AlgFE_ApplyCssClass( oElement, sClassName )
{
	if ( oElement ) oElement.className += ' ' + sClassName
}

// Удалить CSS-класс у элемента
function AlgFE_RemoveCssClass( oElement, sClassName )
{
	if ( oElement ) oElement.className = oElement.className.replace( new RegExp(sClassName, 'g'), '' )
}



function CheckAddAd()
{
	checked = false;
	for(var i=0;i<document.form_ad.adgroup_expcode.length;i++)
	{
		if(document.form_ad.adgroup_expcode[i].checked)
		{
			checked = true;
		}
	}

	if( !checked )
	{
		alert('Оберіть рубрику для публікації!');
		return false;
	}


	if( document.form_ad.adtext.value.length < 10 )
	{
		alert('Текст оголошення не інформативний');
		return false;
	}
	if( document.form_ad.adtext.value.length > 200 )
	{
		alert('Текст оголошення обмежений 200 символами. Спробуйте написати більш лаконічно!');
		return false;
	}

	if( !check(document.form_ad.contacts,/\s*\+?[\d\-\s\(\)\/]{5,22}\s*/) )
	{
		alert('Контактна інформація повинна містити номер телефону!');
		return false;
	}
}

function check(o,p)
{
	if( !p.test(o.value) )
	{
		return false;
	}
	else
	{
		return true;
	}
}

function show_n_hide( obj )
{
	var e1 = document.getElementById('place_umo');
	var e2 = document.getElementById('place_vo');
	var e3 = document.getElementById('ba_vip');
	var e4 = document.getElementById('ba_border');
	var e5 = document.getElementById('ba_bold');
	var e6 = document.getElementById('ba_site');
	var is_paid = document.getElementById('is_paid');
	
	if (e1.checked == true || e3.checked == true || e4.checked == true || e5.checked == true)
	{
		show(obj);
		is_paid.value = 1;
	}
	else if(e1.checked == false && e3.checked == false && e4.checked == false && e5.checked == false)
	{
		hide(obj);
		is_paid.value = 0;
	}
	return false;
}


function set_price()
{
	var e1 = document.getElementById('place_umo');
	var e2 = document.getElementById('place_vo');
	var e3 = document.getElementById('ba_vip');
	var e4 = document.getElementById('ba_border');
	var e5 = document.getElementById('ba_bold');
	var e6 = document.getElementById('ba_site');
	var add_price = document.getElementById('add_price');
	add_price.value = 0;
	e1.disabled = false;
	var p = 0;

	if (e6.checked && e1.checked)
	{
		p = 5;
	}
	else if (e5.checked)
	{
		p = 5;
		if (e2.checked)
		{
			p += 5;
		}
		if (e1.checked)
		{
			p += 7;
		}
	}
	else if (e4.checked)
	{
		p = 7;
		if (e2.checked)
		{
			p += 7;
		}
		if (e1.checked)
		{
			p += 9;
		}
	}
	else if (e3.checked)
	{
		e1.disabled = true;
		p = 10;
		if (e2.checked)
		{
			p += 10;
		}
		if (e1.checked)
		{
			e1.checked = false;
			toggle('umo_city');
			show_n_hide('ad_paymethod');
		}
	}
	add_price.value = p;
}