	function checkForm(formId) {
		var pass = true;
		var form = document.getElementById(formId);
		var elements = form.getElementsByTagName('TEXTAREA');
    	for (var i = 0; i < elements.length; i++) {
   			var el = elements[i];
			if ((el.checkit=='true' || el.getAttribute('checkit')=='true') && el.innerText == '') {
				el.className = 'err';
				pass = false;
			} else {
				el.className = '';
			}
		
	 	}
		var elements = form.getElementsByTagName('INPUT');
    	for (var i = 0; i < elements.length; i++) {
   			var el = elements[i];
			if ((el.checkit=='true' || el.getAttribute('checkit')=='true') && el.type == 'text') {
				if (el.value == '') {
					el.className = 'err';
					pass = false;
				} else {
					el.className = '';
				}
			}
	 	}
		if (pass == false) alert('Заполните пожалуйста поля выделенные красным.');
		return pass;
	}

	function ConfirmDelete(){
		if(!confirm("Действительно удалить"+window.event.srcElement.name+"?"))
			window.event.returnValue = false
	}
	var exclude=true;
	var nn4=(document.layers) ? true : false;
	var agt=navigator.userAgent.toLowerCase();
	var ie=false;
	var ie5=false;
	if (typeof document.all!="undefined"&&(agt.indexOf('msie')!=-1)) {
		ie=true;
		ie4=true;
		exclude=false;
		if (agt.indexOf('msie 4')==-1){
			ie5=true;
			ie4=false;
		}
		if (agt.indexOf('opera')!=-1){
			ie=false;
			ie4=false;
			ie5=false;
			op5=true;
		}
	}
	var ie6=false;
	if(ie5&&agt.indexOf("msie 6")!=-1) {
		ie6=true;
	}
	function scrollIntoView(container, elem) {
		var c = Ext.getDom(container) || Ext.getBody().dom,
			elem = Ext.get(elem),
        	el = elem.dom,
        	o = elem.getOffsetsTo(c),
            l = o[0] + c.scrollLeft,
            t = o[1] + c.scrollTop,
            b = t + el.offsetHeight,
            r = l + el.offsetWidth,
        	ch = c.clientHeight,
        	ct = parseInt(c.scrollTop, 10),
        	cl = parseInt(c.scrollLeft, 10),
        	cb = ct + ch,
        	cr = cl + c.clientWidth;

        if (el.offsetHeight > ch || t < ct) {
        	c.scrollTop = t;
        } else if (b > cb){
            c.scrollTop = b-ch;
        }
        c.scrollTop = c.scrollTop; // corrects IE, other browsers will ignore
	};

	function $() {
	  var results = [], element;
	  for (var i = 0; i < arguments.length; i++) {
   	 element = arguments[i];
	    if (typeof element == 'string')
	      element = document.getElementById(element);
	    results.push(element);
	  }
	  return results.length < 2 ? results[0] : results;
	}
	function tab_on(panel, tabid){
		var tl = $(panel+'_l').getElementsByTagName('LI');
		for(var i = 0; i < tl.length; i++){
			if (tl[i].id == panel+'_l'+tabid) {
				tl[i].className = ((' '+tl[i].className).replace(/ on| off/,"") + ' on').replace(/^[/.]+/,"");
			} else {
				tl[i].className = ((' '+tl[i].className).replace(/ on| off/,"") + ' off').replace(/^[/.]+/,"");
			}
		}
		var tabs = $(panel+'_t');
		var tt = tabs.getElementsByTagName('div');
		for(var i = 0; i < tt.length; i++){
			if(tt[i].parentNode == tabs){
				if (tt[i].id == panel+'_t'+tabid) {
					tt[i].className = ((' '+tt[i].className).replace(/ on| off/,"") + ' on').replace(/^[/.]+/,"");
				} else {
					tt[i].className = ((' '+tt[i].className).replace(/ on| off/,"") + ' off').replace(/^[/.]+/,"");
				}
			}
		}
	}
	function ifocus(el, val){
		if (el.value == val) {
			el.value='';
			el.style.color='#000';
		}
	}
	function iblur(el, val){
		if (el.value == '') {
			el.value=val;
			el.style.color='#e2e2e2';
		}
	}
	function iclear(form){
		var iclstr = [];
		for (i = 1; i < iclear.arguments.length; i++){
			iclstr[i-1] = iclear.arguments[i];
		}
		Ext.each(Ext.query('input', form), function(el,i,a){
			if (iclstr.indexOf(el.value) != -1) {
				el.value='';
			}
		},this);
	}
	function show_rating(r) {
		r = isNaN(parseFloat(r)) ? 0 : parseFloat(r);
		for(var i=0; i < Math.floor(r); i++){
			document.write('<img alt="star" src="/themes/hayafisha/images/star_full.png" width="16" height="15" />');
		}
		if(Math.floor(r) != Math.round(r)){
			document.write('<img alt="star" src="/themes/hayafisha/images/star_half.png" width="16" height="15" />');
		}
		for(var i=Math.round(r); i < 5; i++){
			document.write('<img alt="star" src="/themes/hayafisha/images/star_empty.png" width="16" height="15" />');
		}
	}
	function change_tag(el, base) {
		var tag = el.options[el.selectedIndex].value;
		location = base + '?tags=' + tag;
	}
//-------------------------
	function cntRotator(id, num){
		this.id = id;
		this.curItem = num;
		this.itemsCnt = Ext.get(id+'_s');
		this.items = this.itemsCnt.select('div');
		this.items.item(num).removeClass('hidden');
	}
	cntRotator.prototype.changeCnt = function (el){
		this.items.item(this.curItem).addClass('hidden');
		el = this.cel;
		if (el.id == this.id+'_p') {
			this.curItem = this.curItem <= 0 ? this.items.getCount() - 1 : this.curItem - 1;
		} else {
			this.curItem = this.curItem + 1 >= this.items.getCount() ? 0 : this.curItem + 1;
		}
		this.items.item(this.curItem).removeClass('hidden');
		this.items.item(this.curItem).fadeIn();
	}
	cntRotator.prototype.prevnext = function (el){
		if (Ext.isReady) {
		this.cel = el;
		this.items.item(this.curItem).fadeOut({
					callback: cntRotator.prototype.changeCnt,
					scope: this,
					stopFx: true,
					useDisplay:true
					});
		}
		return false;
	}
//-----------------------
	imgGallery.matchHref = new RegExp('(.*)\?iid=(.*)&w=(.*)&h=(.*)', 'im');
	imgGallery.blankImg = '/images/blank.gif';
	function imgGallery (i, w) {
		this.galId = i;
		this.imgDiv = document.getElementById(i);
		this.imgImg = this.imgDiv.getElementsByTagName('img')[0];
		this.imgAnc = this.imgImg.parentNode;
		this.descrDiv = document.getElementById(i+'_d');
		this.thumbs = document.getElementById(i+'_t');
		this.galWidth = w;
		this.preload = document.createElement('IMG');
		this.preload.gallery = this;
		this.preload.onload = function(){
			this.gallery.imgImg.src = this.src;
			this.gallery.imgDiv.className = 'image';
		};

	};
	imgGallery.prototype.show = function (el) {
		var load_img = el.href.match(imgGallery.matchHref);
		this.descrDiv.innerHTML = el.title;
		el.className = 's';
		scrollIntoView(this.thumbs, el);
		if (this.curImg) {
			this.curImg.className = '';
		}
		this.curImg = el;
		this.imgDiv.className = 'image loading';
		this.imgImg.src = imgGallery.blankImg;
		this.imgImg.width = load_img[3] > this.galWidth ? this.galWidth : load_img[3];
		this.imgImg.height = load_img[3] > this.galWidth ? (Math.round((load_img[4] * this.galWidth)/load_img[3])) : load_img[4];
		this.imgDiv.style.height = this.imgImg.height+'px';
		this.preload.src = '/pic.php?iid='+load_img[2]+'&w='+this.imgImg.width+'&h='+this.imgImg.height;
		this.imgAnc.href = el.href;
		return false;
	};
	imgGallery.prototype.prevnext = function (el) {
		var tl = this.thumbs.getElementsByTagName('a');
		for (var i=0; i < tl.length; i++){
			if (tl[i].id && tl[i].id == this.curImg.id) {
				break;
			}
		}
		if (el.id == this.galId+'_p') {
			this.show(i > 0 ? tl[i-1] : tl[tl.length-1]);
		} else {
			this.show(tl[i+1] ? tl[i+1] : tl[0]);
		}
		el.blur();
		return false;
	};
//-------------------------
	imgBox.matchHref = new RegExp('(.*)\?iid=(.*)&w=(.*)&h=(.*)', 'im');
	function imgBox(id){
		this.imgBox = Ext.get(id);
		this.id = id;
		this.imgBoxInfo = Ext.get(id+'_info');
		this.imgBoxImgDiv = Ext.get(id+'_img');
		this.imgBoxImgImg = this.imgBoxImgDiv.select('img').item(0);
		this.imgBoxDescr = Ext.get(id+'_descr');
		this.imgBoxPrev = Ext.get(id+'_prev');
		this.imgBoxNext = Ext.get(id+'_next');
		this.imgBoxClose = Ext.get(id+'_close');
		this.imgBox.on('click', imgBox.prototype.stop, this);
		this.imgBoxPrev.on('click', imgBox.prototype.prevnext, this);
		this.imgBoxNext.on('click', imgBox.prototype.prevnext, this);
		this.imgBoxClose.on('click', imgBox.prototype.hide, this);
		this.preload = Ext.get(document.createElement('IMG'));
		this.preload.on('load', function(){
			this.imgBoxImgImg.dom.src = this.preload.dom.src;
			this.imgBoxImgDiv.className = 'image';
			this.imgBoxImgImg.show();
		},this);
	};
	imgBox.prototype.show = function(img, gal){
		this.gallery = gal || null;
		this.imgBoxPrev.dom.style.display = gal ? 'block' : 'none';
		this.imgBoxNext.dom.style.display = gal ? 'block' : 'none';
		this.curImg = img || this.gallery.curImg || null;
		this.curImg = Ext.get(this.curImg);
		Ext.getBody().mask();
		setTimeout(function(){
			Ext.getBody().on('click', imgBox.prototype.hide,this);
		}.createDelegate(this),200);
		this.imgBox.dom.style.display = 'block';
		this.showCur();
		return false;
	};
	imgBox.prototype.showCur = function(){
		if (this.gallery) {
			var tl = Ext.get(this.gallery.thumbs).select('a');
			this.imgBoxInfo.dom.innerHTML = 'Изображение '+(tl.indexOf(this.curImg)+1)+' из '+tl.getCount();
		}
		this.imgBoxImgDiv.dom.className = 'image loading';
		this.imgBoxDescr.dom.innerHTML = this.curImg.dom.title;
		var load_img = this.curImg.dom.href.match(imgBox.matchHref);
		this.curWidth = load_img[3];
		this.curHeight = load_img[4];
		this.imgBoxImgDiv.setSize(this.curWidth, this.curHeight);
		this.imgBoxImgImg.setSize(this.curWidth, this.curHeight);
		this.imgBoxImgImg.hide();
		this.imgBox.center();
		this.imgBox.repaint();
		this.preload.dom.src = '/pic.php?iid='+load_img[2];
	};
	imgBox.prototype.hide = function(){
		var body = Ext.getBody();
		body.un('click', imgBox.prototype.hide,this);
		this.imgBox.dom.style.display = 'none';
		body.unmask();
		return false;
	};
	imgBox.prototype.stop = function(e){
		e.stopEvent();
		return false;
	};
	imgBox.prototype.prevnext = function(e){
		var el = e.getTarget('a');
		var tl = Ext.get(this.gallery.thumbs).select('a');
		var i = tl.indexOf(this.curImg);
		var c = tl.getCount();
		if (el.id == this.id+'_prev') {
			this.curImg = i > 0 ? tl.item(i-1) : tl.item(c-1);
		} else {
			this.curImg = i+1 >= c ? tl.item(0) : tl.item(i+1);
		}
		//alert(this.curImg);
		el.blur();
		this.showCur();
		return false;
	};
//-------------------------
	dateRotator.shortDayNames = [
				'вс','пн','вт','ср','чт','пт','сб'
			];
	dateRotator.monthNames = [
				'Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'
			];
	function dateRotator(id, d, u){
		this.id = id;
		this.baseURL = u;
		this.curDate = new Date(d.getFullYear(),d.getMonth(), d.getDate());
		this.selDate = new Date(d.getFullYear(),d.getMonth(), d.getDate());
		this.outweek();
	}
	dateRotator.prototype.outweek = function(){
		var dt = this.curDate;
		var dow = dt.getDay();
		dow = dow == 0 ? 6 : dow - 1;
		this.wk_start = new Date(dt.getFullYear(),dt.getMonth(), dt.getDate()-dow);
		this.wk_end = new Date(dt.getFullYear(),dt.getMonth(), dt.getDate()+(6-dow));
		var wk = '';
		for(var i = 0; i < 7; i++){
			var di = new Date(this.wk_start.getFullYear(),this.wk_start.getMonth(),this.wk_start.getDate() + i);
			wk += '<li'+(di.valueOf() == this.selDate.valueOf() ? ' class="s">' : '>')+'<a href="'+this.baseURL+di.getFullYear()+'/'+(di.getMonth()+1)+'/'+di.getDate()+'/">'+di.getDate()+'<br />'+dateRotator.shortDayNames[di.getDay()]+'</a></li>';
		}
		Ext.get(this.id + '_d').dom.innerHTML = wk;
		Ext.get(this.id + '_m').dom.innerHTML = dateRotator.monthNames[this.wk_end.getMonth()];
	}
	dateRotator.prototype.prevnext_w = function(el){
		this.curDate = new Date(this.wk_start.getFullYear(),this.wk_start.getMonth(), this.wk_start.getDate()+(Ext.get(el).id == this.id+'_pw' ? -7 : 7));
		this.outweek();
		return false;
	}
	dateRotator.prototype.prevnext_m = function(el){
		this.curDate = new Date(this.curDate.getFullYear(),this.curDate.getMonth()+(Ext.get(el).id == this.id+'_pm' ? -1 : 1), 1);
		this.outweek();
		return false;
	}