﻿jQuery.fn.center = function()
{
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() - parseInt(this.css('margin-top')) - parseInt(this.css('margin-bottom')) ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() - parseInt(this.css('margin-left')) - parseInt(this.css('margin-right')) ) / 2+$(window).scrollLeft() + "px");
    return this;
}

function addLoginForm() {
	var loginLinks = $('a.login')
	loginLinks.each(function() {
		$(this).replaceWith('<i class="pseudolink login">' + $(this).text() + '</i>')
	});
	if(loginLinks.length) {
		if(!$('#windows-container').length) {
			$(document.body).append('<div id="windows-container"></div>');
		}
		$('.pseudolink.login').click(function(){
			if(!$('.message-window.login').length)
			$('#windows-container').load('form-login.html div.message-window', {}, function() {
				$('.message-window.login').center().hide();
				$('.message-window.login dt').append(' <i class="pseudolink close">закрыть окно</i>');
				$.bfx.refresh();
				if($.bfx.browser.check('Explorer', 6))
					$('.message-window.login').show();
				else
					$('.message-window.login').show('fast');
				$('.message-window.login dt i').click(function(){
					if($.bfx.browser.check('Explorer', 6))
						$('.message-window.login').hide();
					else
						$('.message-window.login').hide('fast');
				});
			});
			if($.bfx.browser.check('Explorer', 6))
				$('.message-window.login').toggle();
			else
				$('.message-window.login').toggle('fast');
		});
	}
}

function addContactForm() {
	var contactLinks = $('a.contacts')
	contactLinks.each(function() {
		$(this).replaceWith('<i class="pseudolink contacts">' + $(this).text() + '</i>')
	});
	if(contactLinks.length) {
		if(!$('#windows-container').length) {
			$(document.body).append('<div id="windows-container"></div>');
		}
		$('.pseudolink.contacts').click(function(){
			if(!$('.message-window.contact').length)
			$('#windows-container').load('form-contact.html div.message-window', {}, function() {
				$('.message-window.contact').center().hide();
				$('.message-window.contact dt').append(' <i class="pseudolink close">закрыть окно</i>');
				$.bfx.refresh();
				if($.bfx.browser.check('Explorer', 6))
					$('.message-window.contact').show();
				else
					$('.message-window.contact').show('fast');
				$('.message-window.contact dt i').click(function(){
					if($.bfx.browser.check('Explorer', 6))
						$('.message-window.contact').hide();
					else
						$('.message-window.contact').hide('fast');
				});
			});
			if($.bfx.browser.check('Explorer', 6))
				$('.message-window.contact').toggle();
			else
				$('.message-window.contact').toggle('fast');
		});
	}
}

function productSelectorFold() {
	$('#content > li.right dl#product-selector dt, ' +
	  '#content > li.right dl#product-selector dd').addClass('folded');
	var contents = $('#content > li.right dl#product-selector dd');
	if(contents.length) for(i = 1; i < contents.length; i++) {
		$(contents[i]).removeClass('cornerless');
	}
	$('#content > li.right dl#product-selector dt:not(.active) a').each(function() {
		$('#' + $(this).parent().attr('id') + '-content').hide();
		productSelectorToggle(this);
	});
}

function productSelectorToggle(inactiveLink) {
	var pseudoLink = document.createElement('u');
	$(pseudoLink).text($(inactiveLink).text()).attr('href', $(inactiveLink).attr('href'));
	$(pseudoLink).click(function() {
		$('#content > li.right dl#product-selector dt.active').removeClass('active');
		$(this).parent().addClass('active');
		$('#content > li.right dl#product-selector dd').hide();
		$('#' + $(this).parent().attr('id') + '-content').show();
		$(this).replaceWith('<a href="' + $(this).attr('href') + '">' + $(this).text() + '</a>');
		$('#content > li.right dl#product-selector dt:not(.active) a').each(function() {
			productSelectorToggle(this);
		});
	});
	$(inactiveLink).replaceWith(pseudoLink);
}

function photoNavLinks() {
	$('ul.photo > li > a').each(function() {
		$(this).replaceWith('<u class="pseudolink">' + $(this).text() + '</u>')
	});
}

function addPaginatorControls() {
	var previous = $('#paginator li.previous');
	if(previous.length) {
		previous.prepend('<span>&#8592; Ctrl</span>');
		$(document).bind('keydown', 'Ctrl+Left', function(e) {
			document.location = $('#paginator li.previous a').attr('href');
			e.stopPropagation();
		    e.preventDefault();
			return false;
		});
	}
	var next = $('#paginator li.next');
	if(next.length) {
		next.prepend('<span>Ctrl &#8594;</span>');
		$(document).bind('keydown', 'Ctrl+Right', function(e) {
			document.location = $('#paginator li.next a').attr('href');
			e.stopPropagation();
		    e.preventDefault();
			return false;
		});
	}
}


$(document).ready(function() {
	productSelectorFold();
	addLoginForm();
	addContactForm();
	photoNavLinks();
});

