// затычка для firebug
if (!window.console || !console.firebug) {//{{{
	var names=["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	window.console={};
	for (var i=0; i<names.length; ++i) window.console[names[i]]=function(){};
}//}}}

// htmlspecialchars()
function h(str) {//{{{
	if (!str) return '';
	return String(str).replace('&', '&amp;').replace('"', '&quot;').replace('>', '&gt;').replace('<', '&lt;');
}//}}}

// cookies
function setCookie(name, value, days) {//{{{
	if (days) {
		var date=new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires="; expires="+date.toGMTString();
	}
	else var expires="";
	document.cookie=name+"="+value+expires+"; path=/";
}//}}}
function getCookie(name) {//{{{
	var ca=document.cookie.split(';');
	var nameEQ=name+"=";
	for (var i=0; i<ca.length; i++) {
		var c=ca[i];
		while (c.charAt(0)==' ') c=c.substring(1, c.length); //delete spaces
		if (c.indexOf(nameEQ)==0) return c.substring(nameEQ.length, c.length);
	}
	return null;
}//}}}
String.prototype.unserialize=function(){//{{{
	var res={}
	var parts=this.split("&");
	for (var i=0; i<parts.length; i++) {
		var part=parts[i].split("=");
		res[part[0]]=unescape(part[1]);
	}
	return res;
};//}}}

/////////////////////////////////////////////////////////////////////////////////

// определяем путь к скриптам
var baseurl=String(window.location);//{{{
if (baseurl.indexOf('?')!=-1) baseurl=baseurl.substr(0, baseurl.indexOf('?'));
if (baseurl.lastIndexOf('/')!=-1) baseurl=baseurl.substr(0, baseurl.lastIndexOf('/'));

host=baseurl;
if (host.indexOf('//')!=-1) host=host.substr(host.indexOf('//')+2);
if (host.indexOf('/')!=-1) host=host.substr(0, host.indexOf('/'));
parts=host.split('.');
host=parts[parts.length-2]+'.'+parts[parts.length-1];
//}}}

// searchfield
$j(document).ready(function() {//{{{
	if ($j('#search_field').val()=='поиск') {
		$j('#search_field').addClass("blurred").focus(function(){ $j('#search_field').val('').removeClass("blurred").unbind("focus"); });
	}
});//}}}

// фокус в поле логина
$j(document).ready(function() {//{{{
	if ($j('#UserLogin').length) {
		$j('#UserLogin')[0].focus();
	}
});//}}}

// liteoptions in ie
$j(document).ready(function() {//{{{
	if ($j.browser.msie) {
		$j("INPUT.liteoption").hover(function(){
			$j(this).addClass("over");
		}, function(){
			$j(this).removeClass("over");
		});
	}
});//}}}

// подсказки к условиям входа
var facecontrol_hint='Неадекватные, нетрезвые лица и лица моложе 18 лет не допускаются к проходу в клуб';//{{{
var dresscode_hint='Опрятно одетые посетители в клубных, вечерних и праздничных костюмах имеют больше шансов попасть в клуб';
var clubcards_hint='Владельцам клубных карт свободный вход';
var flyer_hint='Распечатанный флаер дает скидку при покупке билета в кассе клуба';
var costume_hint='Посетители в костюмах имеют скидки при входе или пропускаются совершенно бесплатно на заранее оговоренных клубом условиях';
var tooltip_options={
	delay: 50,
	track: true,
	left:5,
	top:5
};
$j(document).ready(function(){
	$j('.hint_facecontrol').tooltip($j.extend(tooltip_options, {bodyHandler: function(){return facecontrol_hint;}}));
	$j('.hint_dresscode').tooltip($j.extend(tooltip_options, {bodyHandler: function(){return dresscode_hint;}}));
	$j('.hint_clubcards').tooltip($j.extend(tooltip_options, {bodyHandler: function(){return clubcards_hint;}}));
	$j('.hint_flyer').tooltip($j.extend(tooltip_options, {bodyHandler: function(){return flyer_hint;}}));
	$j('.hint_costume').tooltip($j.extend(tooltip_options, {bodyHandler: function(){return costume_hint;}}));
});//}}}

// regions
$j(document).ready(function() {//{{{
	if ($j("#regions_trigger")) {
		$j("#regions_trigger").bind('click', function(){
			//if (window.calendar) window.calendar.hide();
			$j(document.body).click();
			$j('#regions').show();
			return false;
		});
		$j(document).bind('click', function(evt){
			var popup=$j("#regions")[0];
			var el=evt.target;
			for (; el!=null && el!=popup; el=el.parentNode);
			if (el==null) {
				$j('#regions').hide();
			}
		});
	}
});//}}}

// antispam
function unmangle(addr){//{{{
	var a=addr.split(',');
	var s='';
	for (var i=0; i<a.length; i++) {
		s=s+String.fromCharCode(a[i]);
	}
	return s;
}//}}}
$j(document).ready(function() {//{{{
	$j.each($j('A.mailto'), function(i, link){
		$j(link).attr('href', unmangle($j(link).attr('href')));
	});
	$j.each($j('SPAN.mailto'), function(i, span){
		$j(span).html(unmangle($j(span).html()));
	});
});//}}}

// split long info
$j(document).ready(function() {//{{{
	$j.each($j('.event').find('.info').find('.more'), function(i, par){
		//$j(par).html('<a class="info_more_trigger" href="#" onclick="$j(\'#info_more_body_'+i+'\').toggle();  return false;">Подробнее &gt;&gt;&gt;<br /></a><span id="info_more_body_'+i+'" style="display:none;">'+$j(par).html()+'</span>');
		$j(par).html('<span id="info_more_body_'+i+'" style="display:none;">'+$j(par).html()+'</span>').prepend(
			$j('<a class="info_more_trigger" href="#">Подробнее &gt;&gt;&gt;<br /></a>').toggle(function(){
				$j('#info_more_body_'+i).toggle();
				$j(this).html($j(this).html().replace('&gt;&gt;&gt;', '&lt;&lt;&lt;'));
				return false;
			}, function(){
				$j('#info_more_body_'+i).toggle();
				$j(this).html($j(this).html().replace('&lt;&lt;&lt;', '&gt;&gt;&gt;'));
				return false;
			})
		);
	});
	$j.each($j("P.djs_info"), function(i, par){
		$j(par).html('<span id="djs_more_body_'+i+'" style="display:none;">'+$j(par).html()+'</span>').prepend(
			$j('<a class="info_more_trigger" href="#">Дополнительное инфо &gt;&gt;&gt;<br /></a>').toggle(function(){
				$j('#djs_more_body_'+i).toggle();
				$j(this).html($j(this).html().replace('&gt;&gt;&gt;', '&lt;&lt;&lt;'));
				return false;
			}, function(){
				$j('#djs_more_body_'+i).toggle();
				$j(this).html($j(this).html().replace('&lt;&lt;&lt;', '&gt;&gt;&gt;'));
				return false;
			})
		);
		//$j(par).html('<a class="info_more_trigger" href="#" onclick="$j(\'#djs_more_body_'+i+'\').toggle(); return false;">Дополнительно об участниках &gt;&gt;&gt;<br /></a><span id="djs_more_body_'+i+'" style="display:none;">'+$j(par).html()+'</span>');
	});
});//}}}

// галерея
$j(document).ready(function() {//{{{
	if ($j.browser.msie) {
		$j("TABLE.galleries").find("TD.thumb").hover(function(){
			$j(this).addClass("over");
		}, function(){
			$j(this).removeClass("over");
		});
	}
	$j("TABLE.galleries").find("TD.thumb").bind('click', function(){
		if ($j(this).find("A").length) {
			window.location=$j(this).find("A")[0].href;
		}
	});
	if ($j.browser.msie) {
		$j("TABLE.photos").find("TD.thumb").hover(function(){
			$j(this).addClass("over");
		}, function(){
			$j(this).removeClass("over");
		});
	}
	$j("TABLE.photos").find("TD.thumb").bind('click', function(){
		if ($j(this).find("A").length) {
			//window.location=$j(this).find("A")[0].href;
			window.open($j(this).find("A")[0].href);
		}
	}).find('A').bind('click', function(ev){
		ev.stopPropagation();
		return true;
	});
});//}}}

// календарь
var event_dates;
var region;
$j(document).ready(function(){//{{{
	$j("#calendar_trigger").bind('click', function(){
		$j('#regions').hide();
	});
	if ($j('#calendar_trigger').length) {
		$j.extend(DateInput.DEFAULT_OPTS, {
			month_names: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
			short_month_names: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"],
			short_day_names: ["вс", "пн", "вт", "ср", "чт", "пт", "сб"],
			start_of_week: 1,
			highlight:event_dates,
			onSelect: function(date) {
				if (this.highlight[date.getFullYear()][date.getMonth()+1][date.getDate()]) {
					window.location='http://afisha.'+host+'/events/archive/'+date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate()+(region?'?r='+region:'');
				}
				return false;
			}
		});
		$j('#calendar_trigger').date_input();
	}
});//}}}

// добавление диджеев к анонсу
var regions_djs={};
$j(document).ready(function(){
	$j('#Event_AddDjRegionId').bind('change', function(){
		var values=regions_djs[$j('#Event_AddDjRegionId').val()];
		$j('#Event_AddDjId').removeOption(/.*/).addOption(values?values:{}).sortOptions().attr('selectedIndex', 0);
		if ($j.browser.opera) $j('#Event_AddDjId').hide().show();
	});//}}}
	$j('#Event_AddDjRegionId').trigger('change');
	$j('#Event_AddDj').bind('click', function(){//{{{
		var region_id=$j('#Event_AddDjRegionId').val();
		$j.each($j('#Event_AddDjId').val(), function(i, id){
			if (regions_djs[region_id] && regions_djs[region_id][id]) {
				$j('#Event_NoDjs').remove();
				$j('#Event_AddDjBefore').before('<tr class="add_row"><td align="center"><input type="hidden" name="DjAdd['+id+'][dj_id]" value="'+id+'" /><input type="checkbox" name="DjAdd['+id+'][mark]" value="1" '+($j('#Event_AddDjMark').attr('checked')?'checked="checked"':'')+' class="auto" /></td><td>'+h(regions_djs[region_id][id])+' <small>('+h($j('#Event_AddDjRegionId')[0].options[$j('#Event_AddDjRegionId')[0].selectedIndex].text)+')</small></td></tr>');
			}
		});
	});
});

function addOtherDj() {
}

addOtherDj.prototype={
	show:function() {
		var addOtherDj=this;
		$j('.add-other-dj-form').modal();
		$j('.add-other-dj-form').find('FORM').bind('submit', function(event){addOtherDj.submit(event); return false;});
	},
	submit:function(){
		var name=$j('#otherDjName').val().replace(/^\s*/, '').replace(/\s*$/, '');
		var city=$j('#otherDjCity').val();
		if (name=='') {
			$j('.add-other-dj-form').prepend('<p class="error-message">Укажите имя/ник артиста</p>');
			return;
		}
		$j('#Event_NoDjs').remove();
		// XXX: escape js
		$j('#Event_AddDjBefore').before('<tr class="add_row"><td align="center"><input type="hidden" name="DjAddOther[name][]" value="'+name+'" /><input type="hidden" name="DjAddOther[city][]" value="'+city+'" /><input type="checkbox" name="DjAddOther[mark][]" value="1" class="auto" /></td><td>'+h(name)+' <small>('+h(city)+')</small></td></tr>');
		$j.modal.close();
	}
}

window.addOtherDj=new addOtherDj();

// vim:fdm=marker

