/**
 * Menu
 */
var lastMenu = null;
var lastMenuTop = null;
var tm = null;
var tmt = null;

function showMenu(num)
{
	hideMenu();
	var obj = $('SubMenu' + num);
	var pos = Element.positionedOffset($('ParentMenu' + num));
	obj.style.left = pos.left+200;
	obj.style.top = pos.top;
	obj.show();
	lastMenu = num;
}

function hideMenu()
{
	if (lastMenu != null) {
		$('SubMenu' + lastMenu).style.display = "none";
		lastMenu = null;
		if (tm != null) {
			clearTimeout(tm);
			tm = null;
		}
	}
}

function showTopMenu(num)
{
	hideTopMenu();
	var obj = $('SubMenuTop' + num);
	var pos = Element.positionedOffset($('ParentMenuTop' + num));
	var topMenuPos = Element.positionedOffset($('TopMenu'));
	obj.style.left = pos.left + topMenuPos.left + 16;
	obj.show();
	lastMenuTop = num;
}

function hideTopMenu()
{
	if (lastMenuTop != null) {
		$('SubMenuTop' + lastMenuTop).style.display = "none";
		lastMenuTop = null;
		if (tmt != null) {
			clearTimeout(tmt);
			tmt = null;
		}
	}
}

/**
 * Search
 */

function validateQuery(defaultString)
{
	queryString = $F('SearchQuery');
	return !(queryString == defaultString || queryString.length < 3);

}

/**
 * News
 */

var newsItem = null;

function toggleNewsItem(itemId)
{
	if (newsItem !== null) {
		Effect.SlideUp('news_' + newsItem, {duration: 0.5});
		$('newsbtnup_' + newsItem).hide();
		$('newsbtndn_' + newsItem).show();
	}
	if (itemId !== newsItem) {
		Effect.SlideDown('news_' + itemId, {duration: 0.5, queue: "end"});
		$('newsbtnup_' + itemId).show();
		$('newsbtndn_' + itemId).hide();
		newsItem = itemId;
	} else {
		newsItem = null;
	}
}

/**
 * User Login
 */

var loggingInProgress = false;

function doLogin()
{
	if (loggingInProgress == true) return false;
	loggingInProgress = true;
	$('LoginProgress').show();
	$('LoginError').hide();
	$('LoginBoxForm').request({
		onComplete: function(transport) {
			var response = transport.responseText.evalJSON();

			switch (response.result) {
				case 'error': {
					loggingInProgress = false;
					$('LoginProgress').hide();
					$('LoginError').show();
					break;
				}
				case 'ok': {
					window.location = window.location;
					break;
				}
				default: {
					$('LoginProgress').hide();
					$('LoginError').show();
					loggingInProgress = false;
					break;
				}
			}
		},

		onFailure: function() {
			$('LoginProgress').hide();
			$('LoginError').show();
			loggingInProgress = false;
		}
	});
}

/**
 * Newsletter
 */

var newsletterInProgress = false;

function addToNewsletter()
{
	if (newsletterInProgress == true) return false;
	newsletterInProgress = true;
	$('NewsletterProgress').show();
	$('NewsletterError').hide();
	$('NewsletterOk').hide();
	$('NewsletterForm').request({
		parameters: { 'do': 'add' },
		onComplete: function(transport) {
			var response = transport.responseText.evalJSON();

			switch (response.result) {
				case 'error': {
					newsletterInProgress = false;
					$('NewsletterProgress').hide();
					$('NewsletterError').update(newsletterMessages.errors[response.code]);
					$('NewsletterError').show();
					break;
				}
				case 'ok': {
					$('NewsletterProgress').hide();
					$('NewsletterOk').update(newsletterMessages.ok[response.code]);
					$('NewsletterOk').show();
					break;
				}
				default: {
					$('NewsletterProgress').hide();
					$('NewsletterError').update(newsletterMessages.errors[255]);
					$('NewsletterError').show();
					newsletterInProgress = false;
					break;
				}
			}
		},

		onFailure: function() {
			$('NewsletterProgress').hide();
			$('NewsletterError').update(newsletterMessages.errors[255]);
			$('NewsletterError').show();
			newsletterInProgress = false;
		}
	});
}

/**
 * GroupData
 */

var Groupdata = {
	selectedItem: 'DescriptionX',
	selectedType: null,

	showContent: function(name) {
		if (name == this.selectedItem) return;

		new Effect.Morph(name + 'Tab', {
		style: 'selected',
		duration: 0.4,
		afterFinish: function () {
			$(name).show();
			$(Groupdata.selectedItem).hide();
			Groupdata.selectedItem = name;
		}
		});
		$(this.selectedItem + 'Tab').removeClassName('selected');
	},

	toggleProducts: function(typeid) {

		if (Groupdata.selectedType !== null) {
//			Effect.SlideUp('items_' + Groupdata.selectedType, {duration: 0.5});
			$('items_' + Groupdata.selectedType).hide();
		}
		if (Groupdata.selectedType !== typeid) {
			Effect.SlideDown('items_' + typeid, {duration: 0.5, queue: "end"});
			Groupdata.selectedType = typeid;
		} else {
			Groupdata.selectedType = null;
		}


//		if ($('items_' + typeid).visible()) {
//			Effect.SlideUp('items_' + typeid, {duration: 0.7});
//		} else {
//			Effect.SlideDown('items_' + typeid, {duration: 0.7});
//		}
//		$('items_' + typeid).toggle();
//		$('typebtnup_' + typeid).toggle();
//		$('typebtndn_' + typeid).toggle();
	}
}

/**
 * Group Gallery
 */

var Gallery = {

	loadImage: null,

	show: function(image, thumb, id) {
		$$('#news_' + id + ' div.gallery_thumb.selected').each(function (node) {
			node.removeClassName("selected");
		});
		$("MainGalleryImageLoading" + id).show();
		Gallery.loadImage = new Image();
		Gallery.loadImage.onload = function() {
			$("MainGalleryImageLoading" + id).hide();
			$("MainGalleryImage" + id).src = Gallery.loadImage.src;
			$("img" + id).scrollTo();
		}
		Gallery.loadImage.src = image;
		$("GT" + id + "_" + thumb).addClassName('selected');
	}
}

/**
 * Registration
 */

var RegisterForm = {

	inProgress: false,

	dehiliteErrors: function()
	{
		$$('input.reg_input').each(function(item, index) {
			$(item).removeClassName('error');
		});
		$$('div.error_info').each(function(item, index) {
			$(item).removeClassName('error_visible');
		});
	},

	hiliteErrors: function(fields)
	{
		fields.each(function(item, index) {
			obj = $(item);
			obj.addClassName('error');
			obj.next('div').addClassName('error_visible');
		});
	},

	send: function()
	{
		if (RegisterForm.inProgress == true) return false;
		RegisterForm.inProgress = true;
		$('RegisterFormProgress').show();
		$('RegisterFormError').hide();
		$('RegisterFormButton').disabled = true;
		RegisterForm.dehiliteErrors();
		$('RegisterForm').request({
			parameters: { 'p': 'Rejestracja' },
			onComplete: function(transport) {
				var response = transport.responseText.evalJSON();
				switch (response.result) {
					case 'error': {
						RegisterForm.inProgress = false;
						$('RegisterFormProgress').hide();
						$('RegisterFormError').update(registerMessages.errors[response.code]);
						$('RegisterFormError').show();
						$('RegisterFormButton').disabled = false;
						RegisterForm.hiliteErrors(response.fields);
						break;
					}
					case 'ok': {
						$('RegisterFormProgress').hide();
						$('RegisterFormButton').hide();
						$('RegisterFormError').hide();
						$('RegisterFormOk').show();
						break;
					}
					default: {
						$('RegisterFormProgress').hide();
						$('RegisterFormError').update(registerMessages.errors[255]);
						$('RegisterFormError').show();
						$('RegisterFormButton').disabled = false;
						RegisterForm.inProgress = false;
						break;
					}
				}
			},

			onFailure: function() {
				$('RegisterFormProgress').hide();
				$('RegisterFormError').update(registerMessages.errors[255])
				$('RegisterFormError').show();
				$('RegisterFormButton').disabled = false;
				RegisterForm.inProgress = false;
			}
		});
	}
}

