function wo(url)
{
	window.open(url, '', '');
}

function create_elements()
{
	var bodyElement = $$('body')[0];
	if (window.ie6)
	{
		var iframe = document.createElement('iframe');
		var atId = document.createAttribute('id'); atId.value = 'screen';
		iframe.setAttributeNode(atId);
		var atSrc = document.createAttribute('src'); atSrc.value = '/iframe.htm';
		iframe.setAttributeNode(atSrc);
		var atFrameborder = document.createAttribute('frameborder'); atFrameborder.value = '0';
		iframe.setAttributeNode(atFrameborder);
		var atSrolling = document.createAttribute('scrolling'); atSrolling.value = 'no';
		iframe.setAttributeNode(atSrolling);
		bodyElement.appendChild(iframe);
	}
	var shadow = document.createElement('div');
	shadow.setAttribute('id', 'shadow');
	bodyElement.appendChild(shadow);
	var popup = document.createElement('div');
	popup.setAttribute('id', 'popup');
	bodyElement.appendChild(popup);

	if ($$('a.artbox') != '')
	{
		var imagepopup = document.createElement('div');
		imagepopup.setAttribute('id', 'imagepopup');
		bodyElement.appendChild(imagepopup);
		var imagepopupinner = document.createElement('div');
		imagepopupinner.setAttribute('id', 'imagepopupinner');
		imagepopup.appendChild(imagepopupinner);

		images = $$('a.artbox');
		images.each(function(element, index) {
			element.addEvent('click', function(event) {
				event = new Event(event);
				event.preventDefault();
				var ihref = element.getAttribute('href');
				show_images(ihref, index, 1);
			});
			imagelink(element);
		});
	}

	new Asset.images(['/img/bg_popup.jpg', '/img/b_ok.gif', '/img/bg_ipopup.gif', '/artbox/wait.gif', '/artbox/prev.gif', '/artbox/close.gif', '/artbox/next.gif', '/artbox/zoom.gif']);
}

function showpopup(sendF, scrollF, text)
{
	var outerElement = $('outer');
	var outerHeight = outerElement.offsetHeight;
	var html = '<p>' + text + '</p>';
	html += '<p class="buttons"><a id="goback">ОК</a></p>';
	if (html != '')	{$('popup').innerHTML = html;}
	if (window.ie6)	{$('screen').setStyles({'height': outerHeight, 'display': 'block'});}
	$('shadow').setStyles({'height': outerHeight, 'opacity': 0.5, 'display': 'block'});
	$('popup').setStyle('display', 'block');
	$('goback').addEvent('click', function() {
		$('popup').setStyle('display', 'none');
		$('shadow').setStyle('display', 'none');
		if (window.ie6) {$('screen').setStyle('display', 'none');}
		var sendF_effect = new Fx.Styles(sendF, {duration: 1500, wait: false});
		new Fx.Scroll(window).toElement(scrollF).chain(function() {
			sendF_effect.start({'background-color': ['#F0DF9E', '#F8EFE8'], 'border-color': ['#FFFF00', '#D3C1B4']}).chain(function() {
				$(sendF).focus();
			});
		});
	});
}

function show_images(image, index, start)
{
	images = $$('a.artbox');
	var imagesLength = images.length - 1;

	if (index != 0) {prev = index - 1; prevlink = '<a class="prev" href="#" title="Предыдущее фото" onclick="show_images(\'' + images[prev].getAttribute('href') + '\', ' + prev + '); return false;">Предыдущее фото</a>';}
	else {prevlink = '';}

	if (index < imagesLength) {next = index + 1; nextlink = '<a class="next" href="#" title="Следующее фото" onclick="show_images(\'' + images[next].getAttribute('href') + '\', ' + next + '); return false;">Следующее фото</a>';}
	else {nextlink = '';}

	$('imagepopupinner').empty();
	var outerElement = $('outer');
	var outerHeight = outerElement.offsetHeight;
	var html = '<p>' + prevlink + '<a class="close" href="#" title="Закрыть окно" onclick="closepopup(); return false;">Закрыть</a>' + nextlink + '</p>';
	if (window.ie6)	{$('screen').setStyles({'height': outerHeight, 'display': 'block'});}

	if (start)
	{
		$('shadow').setStyles({'height': outerHeight, 'opacity': 0.5, 'display': 'block'});
		$('imagepopup').setStyle('display', 'block');
		$('imagepopupinner').setStyle('background-position', 'center center');
		(function(){img = new Asset.image(image, {onload: function(){
			$('imagepopupinner').setStyle('background-position', 'center -9000px');
			img.setStyle('opacity', 0);
			img.injectInside('imagepopupinner');
			new Fx.Styles (img, {duration: 1000}).start({'opacity': 1}).chain(function() {
				$('imagepopupinner').innerHTML += html;
			});
		}});}).delay(1000);
	}
	else
	{
		$('imagepopupinner').setStyle('background-position', 'center center');
		(function(){img = new Asset.image(image, {onload: function(){
			$('imagepopupinner').setStyle('background-position', 'center -9000px');
			img.setStyle('opacity', 0);
			img.injectInside('imagepopupinner');
			new Fx.Styles (img, {duration: 1000}).start({'opacity': 1}).chain(function() {
				$('imagepopupinner').innerHTML += html;
			});
		}});}).delay(1000);
	}
}

function closepopup()
{
	$('imagepopup').setStyle('display', 'none');
	$('imagepopupinner').empty();
	$('shadow').setStyle('display', 'none');
	if (window.ie6)	{$('screen').setStyle('display', 'none');}
}

function imagelink(element)
{
	element.appendChild(document.createElement('span'));
	var spanEl = $E('span', element);
	element.addEvent('mouseenter', function() {spanEl.setStyle('background-position', 'center center');});
	element.addEvent('mouseleave', function() {spanEl.setStyle('background-position', 'center -9000px');});
}

var personText    = 'Представьтесь, пожалуйста.';
var mailText      = 'Пожалуйста, укажите ваш адрес E-mail.';
var w_mailText    = 'Указан некорректный адрес E-mail.<br>Пожалуйста, исправьте ошибку.';
var subjectText   = 'Пожалуйста, укажите тему письма.';
var messageText   = 'Пожалуйста, введите ваше сообщение.';
var commentText   = 'Пожалуйста, введите ваш комментарий.';
var addressText   = 'Пожалуйста, укажите адрес доставки.';
var phoneText     = 'Пожалуйста, укажите ваш контактный телефон.';
var ticketsText   = 'Пожалуйста, укажите, сколько билетов<br>вы хотите заказать.';
var w_ticketsText = 'Указано некорректное количество билетов.<br>Пожалуйста, исправьте ошибку.';
var dateText      = 'Пожалуйста, укажите предпочтительную<br>дату доставки билетов.';
var w_dateText    = 'Указана некорректная дата доставки.<br>Пожалуйста, исправьте ошибку.';
var timeText      = 'Пожалуйста, укажите предпочтительное<br>время доставки билетов.';

function sendform()
{
	if ($('person').value == '')  {var sendF = $('person'); var scrollF = $('mainform'); var text = personText; showpopup(sendF, scrollF, text); return false;}
	if ($('mail').value == '')    {var sendF = $('mail'); var scrollF = $('mainform'); var text = mailText; showpopup(sendF, scrollF, text); return false;}
	if ($('mail').value != '')    {var rightmail = /^[\w\.-]+@[a-z0-9\.-]+\.[a-z]{2,6}$/i; if (!rightmail.test($('mail').value)) {var sendF = $('mail'); var scrollF = $('mainform'); var text = w_mailText; showpopup(sendF, scrollF, text); return false;}}
	if ($('subject').value == '') {var sendF = $('subject'); var scrollF = $('mainform'); var text = subjectText; showpopup(sendF, scrollF, text); return false;}
	if ($('message').value == '') {var sendF = $('message'); var scrollF = $('mainform'); var text = messageText; showpopup(sendF, scrollF, text); return false;}
	return true;
}

function addcomform()
{
	if ($('author').value == '')  {var sendF = $('author'); var scrollF = $('addcom'); var text = personText; showpopup(sendF, scrollF, text); return false;}
	if ($('comment').value == '') {var sendF = $('comment'); var scrollF = $('addcom'); var text = commentText; showpopup(sendF, scrollF, text); return false;}

	var expdate = new Date();
	var mFromNow = expdate.getTime() + (365*24*60*60*1000);
	expdate.setTime(mFromNow);
	SetCookie('author', $('author').value, expdate, '/');

	return true;
}

function ticketform()
{
	if ($('person').value == '')         {var sendF = $('person'); var scrollF = $('ticketorder'); var text = personText; showpopup(sendF, scrollF, text); return false;}
	if ($('address').value == '')        {var sendF = $('address'); var scrollF = $('ticketorder'); var text = addressText; showpopup(sendF, scrollF, text); return false;}
	if ($('phone').value == '')          {var sendF = $('phone'); var scrollF = $('ticketorder'); var text = phoneText; showpopup(sendF, scrollF, text); return false;}
	if ($('mail').value != '')           {var rightmail = /^[\w\.-]+@[a-z0-9\.-]+\.[a-z]{2,6}$/i; if (!rightmail.test($('mail').value)) {var sendF = $('mail'); var scrollF = $('ticketorder'); var text = w_mailText; showpopup(sendF, scrollF, text); return false;}}
	if ($('tickets').value == '')        {var sendF = $('tickets'); var scrollF = $('ticketorder'); var text = ticketsText; showpopup(sendF, scrollF, text); return false;}
	if ($('tickets').value != '')        {if ($('tickets').value.match(/\D/)) {var sendF = $('tickets'); var scrollF = $('ticketorder'); var text = w_ticketsText; showpopup(sendF, scrollF, text); return false;}}
	if ($('date').value == 'none')       {var sendF = $('date'); var scrollF = $('ticketorder'); var text = dateText; showpopup(sendF, scrollF, text); return false;}
	if ($('month').value == 'none')      {var sendF = $('month'); var scrollF = $('ticketorder'); var text = dateText; showpopup(sendF, scrollF, text); return false;}
	if ($('month').options[2].selected)  {if ($('date').options[30].selected || $('date').options[31].selected) {showpopup($('date'), $('ticketorder'), w_dateText); return false;}}
	if ($('month').options[4].selected)  {if ($('date').options[31].selected) {showpopup($('date'), $('ticketorder'), w_dateText); return false;}}
	if ($('month').options[6].selected)  {if ($('date').options[31].selected) {showpopup($('date'), $('ticketorder'), w_dateText); return false;}}
	if ($('month').options[9].selected)  {if ($('date').options[31].selected) {showpopup($('date'), $('ticketorder'), w_dateText); return false;}}
	if ($('month').options[11].selected) {if ($('date').options[31].selected) {showpopup($('date'), $('ticketorder'), w_dateText); return false;}}
	if ($('time').value == 'none')       {var sendF = $('time'); var scrollF = $('ticketorder'); var text = timeText; showpopup(sendF, scrollF, text); return false;}

	var expdate = new Date();
	var mFromNow = expdate.getTime() + (365*24*60*60*1000);
	expdate.setTime(mFromNow);
	SetCookie('person', $('person').value, expdate, '/');
	SetCookie('address', $('address').value, expdate, '/');
	SetCookie('phone', $('phone').value, expdate, '/');
	SetCookie('mail', $('mail').value, expdate, '/');

	return true;
}

function loadvalues_com()
{
	var f1 = GetCookie('author');
	if (f1 != null && $('author').value == '') {$('author').value = f1;}
}

function loadvalues_ticket()
{
	var f1 = GetCookie('person');
	var f2 = GetCookie('address');
	var f3 = GetCookie('phone');
	var f4 = GetCookie('mail');
	if (f1 != null && $('person').value == '') {$('person').value = f1;}
	if (f2 != null && $('address').value == '') {$('address').value = f2;}
	if (f3 != null && $('phone').value == '') {$('phone').value = f3;}
	if (f4 != null && $('mail').value == '') {$('mail').value = f4;}
}

function getCookieVal (offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

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 null;
}

function SetCookie (name, value)
{
	var argv    = SetCookie.arguments;
	var argc    = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path    = (argc > 3) ? argv[3] : null;
	var domain  = (argc > 4) ? argv[4] : null;
	var secure  = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path    == null) ? "" : ("; path=" + path)) +
	((domain  == null) ? "" : ("; domain=" + domain)) +
	((secure  == true) ? "; secure" : "");
}

function select_date()
{
	if ($('date').value == 'none' && $('month').value == 'none')
	{
		var cdate         = new Date();
		var current_date  = cdate.getDate();
		var current_month = cdate.getMonth();
		if ($('date').options[current_date + 1])
		{
			if (current_month == 1 && (current_date == 28 || current_date == 29))
			{
				$('date').options[1].selected = true;
				$('month').options[current_month + 2].selected = true;
			}
			else if ((current_month == 3 || current_month == 5 || current_month == 8 || current_month == 10) && current_date == 30)
			{
				$('date').options[1].selected = true;
				$('month').options[current_month + 2].selected = true;
			}
			else
			{
				$('date').options[current_date + 1].selected = true;
				$('month').options[current_month + 1].selected = true;
			}
		}
		else
		{
			$('date').options[1].selected = true;
			if ($('month').options[current_month + 2]) {$('month').options[current_month + 2].selected = true;}
			else {$('month').options[1].selected = true;}
		}
	}
}

function init()
{
	create_elements();
}
