function constructLightBox()
{
	$("a.lightbox").fancybox({
		'imageScale': false,
		'centerOnScroll': false,
		'titlePosition' : 'inside'
	});
	
	$("a[rel*=lightbox]").fancybox({
		'imageScale': false,
		'centerOnScroll': false,
		'titlePosition' : 'inside'
	});
}

function displayMsg(s)
{	
	$.jGrowl.defaults.position = 'top-left';
	$.jGrowl.defaults.closer = false;
	$.jGrowl(s);
}

function checkFormComment()
{
	if ( $("#name-input").attr("value") == "" || $("#tel-input").attr("value") == "" || $("#msg-area").val() == "")
	{
		$("input").removeClass("warning");
		if ( $("#name-input").attr("value") == "" )
			$("#name-input").addClass("warning");
		if ( $("#tel-input").attr("value") == "" )
			$("#tel-input").addClass("warning");
		if ( $("#msg-area").val() == "")
			$("#msg-area").addClass("warning");
		return false;
	}
	$("#form_comment").submit();
}


$(document).ready(
	function()
	{
		constructLightBox();
		var num = 0;
		/*
		 * Вкладки
		 */
		$("ul.tabs li a").bind("click",function(){
			$("ul.tabs li").removeClass("current");
			$(this).parent().addClass("current");
			$("div.panes div.pane").hide();
			$("#"+$("ul.tabs li.current a").attr('id')+"_pane").show();
			return false;
		});

                /*$("#sale-text").bind("click",function(){
			$(".coordinates").show();
			return false;
		});*/

                if ($("#list-ad-1").length > 0)
                {
                     $("div.clothe").css("background",'url("'+$("#list-ad-1 a").attr("rel")+'") no-repeat scroll left top transparent');
                }

                 $(".clothe ul li a").bind("click",function(){
			var ad_id = $(this).text();
                        var ad_picture = $(this).attr("rel");
                        $(".clothe ul li a").removeClass("activ-page-clothe");
                        $(this).addClass("activ-page-clothe");
                        $(".block-sale").addClass("hidden");
                        $("#sale-block-"+ad_id).removeClass("hidden");
                        $("div.clothe").css("background",'url("'+ad_picture+'") no-repeat scroll left top transparent');

			return false;
		});

                $("#close-map").bind("click",function(){
			$(".coordinates").hide();
			return false;
		});
		
                var num = 1;
                
        if ( $(".clothe ul li").size() > 1 )
		{
			var num = 1;
			var arraysize = $(".clothe ul li").size(); 
			viewSlide(num);			
		}
        
        if ( $(".brands-next").size() >= 1 )
		{
        	changeBrandsAuto(num);			
		}
                
        function viewSlide(x)
		{
			  $("#list-ad-"+x+" a").click();
                          var arraysize = $(".clothe ul li").size(); 
                          if (x == arraysize)
                            x = 1;
                          else
                            x = x + 1;
			  setTimeout(function(){viewSlide(x)},10000);
		}
        
        function changeBrandsAuto(x)
		{
        	$(".brands-next a").click();
			setTimeout(function(){changeBrandsAuto(x)},5000);
		}
		
		
		// Відправка повідомлення аяксом
		$("#feedback_send").bind("click", function(){
			if ( $("#feedback_name").val() == '' || $("#feedback_text").val() == '' || $("#feedback_name").val() == $("#feedback_name").attr("alt") || $("#feedback_text").val() == $("#feedback_text").attr("title") ) 
			{
				$("#feedback_name").removeClass('warning');
				$("#feedback_text").removeClass('warning');
				if ( $("#feedback_name").val() == ''  || $("#feedback_name").val() == $("#feedback_name").attr("alt") )
					$("#feedback_name").addClass('warning');
				if ( $("#feedback_text").val() == ''  || $("#feedback_text").val() == $("#feedback_text").attr("title") )
					$("#feedback_text").addClass('warning');
				displayMsg($("#feedback_send").attr("rel"));
			}
			else
			{
				JsHttpRequest.query(
			      '/ajax/feedback/send_help/',
			      {
					'name': $("#feedback_name").val(),
					'text': $("#feedback_text").val(),
					'region_id': $("#region_id").val()
			      },
			      function(result, errors) {
			    	  $("#feedback_data").hide();
			    	  $("#feedback_success").show();
			    	  displayMsg(result['result']);
			      },
			      true
			    );	
			}
			return false;
		});

                // Відправка повідомлення аяксом (корпоративні замовлення)
		$("#add_order").bind("click", function(){
			if ( $("#order_name").val() == '' || $("#order_phone").val() == '' || $("#feedback_type").val() == '' || $("#feedback_region").val() == '' || $("#order_name").val() == $("#order_name").attr("alt") || $("#order_phone").val() == $("#order_phone").attr("alt")   )
			{
				$("#order_phone").removeClass('warning');
				$("#order_text").removeClass('warning');
				$("#order_name").removeClass('warning');
				if ( $("#order_name").val() == ''  || $("#order_name").val() == $("#order_name").attr("alt")  )
					$("#order_name").addClass('warning');
				if ( $("#order_phone").val() == ''  || $("#order_phone").val() == $("#order_phone").attr("alt")  )
					$("#order_phone").addClass('warning');
				displayMsg($("#feedback_send").attr("rel"));
			}
			else
			{
				JsHttpRequest.query(
			      '/ajax/feedback/send_help/',
			      {
			      	'name': $("#order_name").val(),
			      	'text': $("#order_text").val(),
                                'phone': $("#order_phone").val(),
			      	'type': $("#order_type").val(),
                                'region': $("#order_region").val()
			      },
			      function(result, errors) {
			    	  displayMsg(result['result']);
			      },
			      true
			    );
			}
			return false;
		});
		
		/*
		 *  Підключення плагіна scrollable у фотогалереї
		 */
		var scrollable = $("#projects-img").scrollable({api: true});
		var scrollable = $("#similar-projects-items").scrollable({api: true});
		var scrollable = $("#projects-img-process").scrollable({api: true});
		
		$("a.next").bind("click", function() {
		    if ($(this).parent().hasClass("required-design"))
			return true;
		    else
			return false;
		});
		
		$("a.prev").bind("click", function() {
			return false;
		});
		
		$("a.prev").bind("click", function() {
			return false;
		});
		
		$("#projects-img ul.items li img").bind("click", function(){
		    $(".link-max").attr('href', $(this).attr('src').replace('thumb-', 'overlay-') );
		    $(".image-max").attr('src', $(this).attr('src').replace('thumb-', 'item-') );
		    $("#projects-img ul.items li img").removeClass("active");
		    $(this).addClass("active");
		});

              
                // Виділення товару в кошику
		$(".check-inv").bind("click", function(){
                    var current_tr = $(this).attr("id").replace("del-","tr-");
                    $("#"+current_tr).toggleClass("checked");
                    selectedBasket();
		});

		$("#add_comments").bind("click", function(){
                    $("#order_text").toggle();
                    return false;
		});

                // Відкривання / Закривання меню
		$(".current-page .gr-button").bind("click", function(){
                    $(this).toggleClass("active");
		});


                // Закривання Головного меню (при натисненні на активне меню)
                $("div.catalog-category.activ #ajax-menu li.activ-li a").live("click", function(){
                    $(".close-menu a").click();
		});

                // Відкривання Головного меню
		$("#ajax-menu li.static a").live("click", function(){
                    if ( !$(this).parent().hasClass("activ-li"))
                    {
                        var group = $(this).attr("rel");
                         $.ajax({
                            type: "POST",
                            url  : '/ajax/catalogue/get_menu/',
                            cache: false,
                            data : {
                                    'type': 'show',
                                    'group' : group
                                    },
                            success: function (result) {
                              $('.catalog-category').empty();
                              $(".catalog-category").append(result);
                              $(".catalog-category").addClass("activ");
                            }
                      });
                    }
                    return false;
		});

                // Закривання Головного меню
                $(".close-menu a").live("click", function(){
                     $.ajax({
                        type: "POST",
                        cache: false,
                        url  : '/ajax/catalogue/get_menu/',
                        data : {
                                'type': 'hide'
                                },
                        success: function (result) {
                         $('.catalog-category').empty();
                         $(".catalog-category").append(result);
                         $(".catalog-category").removeClass("activ");
                        }
                  });

                    return false;
		});

                // Відкривання орми для свторення топіка
                $("a#add_topic").live("click", function(){
                    $(".forum_add_topic").toggleClass("hidden");
                    return false;
		});

                  // Виділення товару в кошику
		$("a.delete").bind("click", function(){
                    var count_selected = $("#table_inventories tr.checked.items").size();
                    var count = $("#table_inventories tr.items").size();
                    $('tr.checked').each(function(index) {
                        inventory = $(this).attr("id").replace('tr-','');
                        deleteRow(inventory);
                        
                    });
                    $("p.checks").addClass("hidden");
                    $("a.delete").addClass("hidden");
       
                    if (count_selected == count)
                    {
                        $("tr.selected").addClass("hidden");
                        $("tr.head").addClass("hidden");
                        $(".gr-button").addClass("hidden");
                    }
		});


                // Виділення всіх товарів в кошику
		$("#input_check_all").bind("click", function(){
                    if ($('#input_check_all').attr('checked') == false)
                    {
                        $(".check-inv").removeAttr( "checked" );
                        $("#table_inventories tr.items").removeClass("checked");
                    }
                    else
                    {
                        $(".check-inv").attr("checked","checked");
                        $("#table_inventories tr.items").addClass("checked");
                    }
                    selectedBasket();
		});
                
		
		// Відправка повідомлення аяксом
		$("#feedback_resend").bind("click", function(){
			$("#feedback_text").attr("value","");
			$("#feedback_success").hide();
			$("#feedback_data").show();
			return false;
		});
		
		$("a.close").live("click", function() {
			$("#signin").empty().html('');
		});

		// Перегляд брендів
		$(".brands-next a").live("click", function(){

                    carouselBrand('next');
			/*JsHttpRequest.query(
		      '/ajax/catalogue/get_brands/',
		      {
		      	'brand': 'true'
		      },
		      function(result, errors) {
		      	$('.brands').empty().html( result['result'] );
		      },
		      true
		    );	*/
			return false;

		});
		
		$(".brands-previous a").live("click", function(){
			carouselBrand('previous');
			return false;
		});
		
		
		/*
		 * Очистка поля для пошуку
		 */
		$("#clear-search").bind("click", function(){
			$("#sline").attr("value", "");
			return false;
		});
		
		
		$("#basket-order-wo-auth").bind("click", function(){
			$("#order-wo-auth").toggle();
			$("#order-auth").toggle();	
			return false;
		});
		
		$("div.faq dt").bind("click", function(){
			$("#a"+$(this).attr("id")).toggle();
			$(this).toggleClass("plus");
			$(this).toggleClass("minus");
		});
		
		$("div.faq dt a").bind("click", function(){
			$(this).parent().click();
			return false;
		});

                $("#faq_control a#faq-expand").bind("click",function(){
                        $("#faq_control a").toggle();
			$("div.faq dt").removeClass("plus");
                        $("div.faq dt").addClass("minus");
			$("div.faq dd").show();
			return false;
		});

                $("#faq_control a#faq-collapse").bind("click",function(){
                        $("#faq_control a").toggle();
			$("div.faq dt").removeClass("minus");
                        $("div.faq dt").addClass("plus");
			$("div.faq dd").hide();
			return false;
		});
		
		if ( $(".destination .thumb img").size() > 1 )
		{
			var num = 0;
			var arraysize = $(".destination .thumb img").size(); 
			viewSlide(num);			
		}

		
		$('a.refresh').live('click', function(e){
			randomFaq( $(this).attr('rel') );	
			e.preventDefault();
		});
				
		$(".js-hidden").hide();  // то что должно включаться Javascript'ом
		$(".js-visible").show(); // контроллер js, который переключает .js-hidden 
	
	    $('a[href*="youtube.com"]').flash(
	        { 
				src: '/-/plugins/jquery-flash/player.swf', 
				height: 344, 
				width: 590, 
				allowfullscreen: true,
				flashvars: {
							logo: '/-/img/logo-player.png',
							skin: '/-/swf/dangdang.swf'
							}
			 },
	        {version: 7},
	        function(htmlOptions) {
	            $this = $(this);
	            
	            htmlOptions.flashvars.file = $this.attr('href');
	            $this.before($.fn.flash.transform(htmlOptions));
	            
	            $this.hide();						
	        }
	    );

		/*
		 *  Підключення плагіна scrollable у фотогалереї
		 */
		var scrollable = $("#gallery-thumbs").scrollable({api: true});

	}
);

var active_picture = 1;

function changeBrand()
{
	var brand = $('#jumpMenu2').attr('value');
	var age = $('#select_age').text();
	if (age != '')
		age = age + '/';
	var url = "/"+$('#jumpMenu2').attr('title')+"/"+brand+"/"+age;
	window.location = url;
}

function carouselBrand(type)
{
    var count_brands = $(".section_brand").size();
    var current_brand = $(".brands-"+type+" a").attr("rel");
    if (type == "next")
    {
        var next_brand = Number($(".brands-next a").attr("rel")) + 1;
        var previous_brand = Number($(".brands-previous a").attr("rel")) + 1;
    }
    else
    {
        var next_brand = Number($(".brands-next a").attr("rel")) - 1;
        var previous_brand = Number($(".brands-previous a").attr("rel")) - 1;
    }
    

    if ( next_brand > count_brands )
        next_brand = 1;
 
    if ( previous_brand > count_brands )
        previous_brand = 1;

    if ( next_brand == 0 )
        next_brand = count_brands;

    if ( previous_brand == 0 )
        previous_brand = count_brands;

    $(".brands-previous a").attr("rel",previous_brand);
    $(".brands-next a").attr("rel",next_brand);
    $(".section_brand").addClass("hidden");
    $("#brand_"+current_brand).removeClass("hidden");

}

function nextImage(count)
{
	if ( active_picture == count)
		active_picture = 1;
	else
		active_picture = active_picture + 1;
	
	$('#current_photo').text(active_picture);
	var new_pic = $('#pic-'+active_picture).parent().attr("href").replace("big","item");
	var new_pic_big = $('#pic-'+active_picture).parent().attr("href");
	$('#main-photo-thumb img').attr("src",new_pic);
	$('#main-photo-thumb').attr("href",new_pic_big);
	return false;
}

function changeAge()
{
	var age = $('#jumpMenu').attr('value');
	var brand = $('#select_brand').text();
	if (brand != '')
		brand = brand + '/';
	else
		brand = '0/';
	var url = "/"+$('#jumpMenu2').attr('title')+"/"+brand+age+'/';
	window.location = url;
}

function getFullDescription()
{
	$('#inventory_teaser').hide('slow');
	$('#get_full_text').hide();
	$('#inventory_body').show('slow');
}

function selectedBasket()
{
    var count_selected = $("#table_inventories tr.checked.items").size();
    if (count_selected != 0)
    {
        $("p.checks").removeClass("hidden");
        $("a.delete").removeClass("hidden");
        $(".check_all_inv").text(count_selected);
    }
    else
    {
        $("p.checks").addClass("hidden");
        $("a.delete").addClass("hidden");
    }

    var count = $("#table_inventories tr.items").size();

    if (count_selected != count)
        $("#input_check_all").removeAttr("checked");
    else
        $("#input_check_all").attr("checked","checked");

}

function movePromoBlock(x)
{
	if( 300 < x && x < 800 )
	{
		$('#promo').stop().animate({
			backgroundPosition:"(-2000px bottom)"
		}, 7000, function() {
			
		});
	}
	else
	{
		$('#promo').stop().animate({
			backgroundPosition:"(0px bottom)"
		}, 7000, function() {
			
		});
	}
}

function randomFaq( node_id )
{
    JsHttpRequest.query(
      '/ajax/faq/random/',
      {
      	'node_id': node_id
      },
      function(result, errors) {
      	$('#did-u-know').empty().html( result['result'] );
      },
      true
    );	
}

function compareItem(node_id, group, action)
{	
	if( action != 'remove' )
	{
		action = 'add';
		if( $("a.tr strong").is(":visible") )
		{
			return true;
		}
	}
    JsHttpRequest.query(
      '/ajax/catalogue/compare/',
      {
      	'node_id': node_id,
      	'group': group,
		'action' : action
      },
      function(result, errors) {
      	
	  	if ( $("a.tr span").is(":visible") )
		{
			$("a.tr span").hide();
			$("a.tr strong").show();
			displayMsg('Товар удален из списка сравнений');
		}		
		if( result['result'] == 'removed')
		{
			window.location.href = '/catalogue/compare/';
		}
		else
		{
	      	$('#user-menu ul li a.compare span em').empty().text( result['result'] );
	      	
	      	$('#user-menu ul li a.compare').removeClass('nothing-compare');
		}
		if (action == 'add')
		{
			displayMsg('Товар додан к сравнению');
		}
		
      }
    );
    
	return false;
}

function testKeyForRepair(e,id)
{
	// Make sure to use event.charCode if available
	var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);

	// Ignore special keys
	if (e.ctrlKey || e.altKey || key < 32)
		return true;

	key = String.fromCharCode(key);
	if (id)
	{
		var _str = document.getElementById(id).value;
		dot = /\./;
		if (dot.test(_str))
		{
			return /\d/.test(key);
		}
		else
		{
		return /[\d\.]/.test(key);     
		}
	}
	else
	{
		return /\d/.test(key);
	}
}

// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
function changeCurrency(o, e)
{
	var curcur = o.parent().parent().attr('lang');
	if( curcur == 'z' )
	{
		$("#currency a[rel=r]").click();		
	}
	else if( curcur == 'e' )
	{
		$("#currency a[rel=z]").click();
	}
	else if( curcur == 'r' )
	{
		$("#currency a[rel=u]").click();
	}
	else if( curcur == 'u' )
	{
		$("#currency a[rel=e]").click();
	}	
	e.preventDefault();
} 


// ==================================================================
function showRatingStars()
{
	$("div.rating").each(function (i) {
		$('#'+$(this).attr("id")).rating('/ajax/catalogue/rate/',{maxvalue:5, curvalue:$(this).attr("title")});
    });
}

// ==================================================================
function setInventoryAction()
{
	$("div.inventory dl").hover(
		function () {
			$(this).find("a.add_cart").fadeIn();
		}, 
		function () {
			$(this).find("a.add_cart").fadeOut();
		}
	);

	$("div.item").hover(
		function () {
			$("div.item").find("a.add_cart-item").fadeIn();
		}, 
		function () {
			$("div.item").find("a.add_cart-item").fadeOut();
		}
	);
}

// ==================================================================
function setBasketAction()
{
	$("#basket a.toggle").bind("click", function(e)
		{
			$("div.basket").slideToggle();
			$(this).toggleClass("toggle-open");
			if( $(this).hasClass("toggle-open") )
			{
				$.cookie("basket", 0, {path: '/'});
			}
			else
			{
				$.cookie("basket", 1, {path: '/'});
			}
			e.preventDefault();
		}
	);
	$("#basket ol li").hover(
		function () {
			$(this).find("a.remove_cart").fadeIn();
		}, 
		function () {
			$(this).find("a.remove_cart").fadeOut();
		}
	);
	$('a[rel*=basket]').lightBox(
	{
		overlayBgColor: '#333',
		overlayOpacity: 0.5
	}
	);	
	if( $("#basket a.toggle").length && !$("#basket a.toggle").hasClass("toggle-open") )
	{
		$('div.footer').css("margin-bottom", "100px");
	}
}

function getInventory( a )
{
	var viewtext = $.cookie("view-text");
	
	if ( viewtext == null )
	{
		viewtext = true;
	}

	$('#inventory').empty();
	$('#inventory').addClass("ajax-loading");

    JsHttpRequest.query(
      '/ajax/catalogue/property/',
      {
        'property_name': a,
        'viewtext': viewtext
      },
      function(result, errors) {
		$('#inventory').removeClass("ajax-loading");
      	$('#inventory').append(result['result']);
		showRatingStars();
		setInventoryAction();
      },
      true
    );
}

// ==================================================================
function find()
{
	var newsearch = $('#search').attr('value');

	if ( newsearch == '')
	{
		$('#search').focus();
		return false;
	}
	
	var url = '';
	var pagepattern = /(page\/\d+)/;
	var action = $('#searchform').attr('action');
	if ( pagepattern.test(action) )
	{
		action = replaceString(RegExp.$1, '', action);
	}
	
	$('#searchform').attr('action',action);

	return true;
}

// ==================================================================
function showUserInfo(member_id, e)
{
    JsHttpRequest.query(
      '/ajax/members/view/',
      {
        'member_id': member_id
      },
      function(result, errors) {
      	$('#signin').empty();
      	$('#signin').append(result['result']);
		$('#'+e.id).overlaySynthetic({});
      }
    );
}

// ==================================================================
function basket(node_id, type, qty)
{
	$('div.load-'+node_id).show();	
	var basket_visible = $("#basket-inventory").is(":visible");
	
    JsHttpRequest.query(
      '/ajax/shop/add/',
      {
        'node_id': node_id,
        'type': type,
        'qty': $('#inv-'+node_id).attr('value')
      },
      function(result, errors) {
		if ( type == 'add' || type == 'reduce' || type == 'set' )
      	{
      		$('a.added-'+node_id).fadeIn();      		
			$('#basket').empty();
      		$('#basket').append(result['result']);

               var total_inv = parseInt( $("a.years-user").text());
               total = total_inv + 1;
               $("a.years-user").text(total);
               $("a.count-cart span span").text(total);
               
      		if ( type == 'set' )
      		{
      			$('#inv-'+node_id).focus();
      		}
			
			$('div.load-'+node_id).hide();			
			$(".curcur").bind("click", function(e){
				changeCurrency($(this), e);
			});
      	}
      	else
      	{			
      		$('a.added-'+node_id).hide();			     		
			$('#basket-'+node_id).fadeOut("slow",
				function(){
					$('#basket').empty();
      				$('#basket').append(result['result']);
					//setBasketAction();
					$('div.load-'+node_id).hide();			
				}
			);
      	}
		
		displayMsg(result['message']);
		
		if (basket_visible) {
			$("#basket-toggle").show();
			$("#basket-toggle strong").hide();
			$("#basket-toggle em").show();
		}
		else 
			$("#basket-inventory").hide();
      },
      true
    );
    
	return false;
}

// ==================================================================
function changeQty(node_id, symbol, total)
{
	var qty = $('#inv-'+node_id).attr('value');
	
	if ( symbol == '+' )
	{
		$('#inv-'+node_id).attr('value', ( Number(qty)+1 ) );
		$("#tr-"+node_id).css("opacity", 1);
	}
	else
	{
		if ( Number(qty) > 0 )
		{
			$('#inv-'+node_id).attr('value', ( Number(qty)-1 ) );
			
			if ( $('#inv-'+node_id).attr('value') == 0 )
			{
				$("#tr-"+node_id).css("opacity", .3);
			} 
		}
	}
	
	if ( total )
	{
		recountBasket();
	}
	
	return false;
}

// ==================================================================
function deleteRow( node_id )
{
    JsHttpRequest.query(
      '/ajax/shop/add/',
      {
        'node_id': node_id,
        'type': 'delete'
      },
      function(result, errors) {
      		$('a.added-'+node_id).fadeOut();
			$('#basket-'+node_id).fadeOut("slow",
				function(){
					$('#basket').empty();
      				$('#basket').append(result['result']);
					setBasketAction();
				}
			);
			
			$('#tr-'+node_id).fadeOut("slow", function()
			{
				$('#tr-'+node_id).remove();
				recountBasket();
				if ( $('tr[id*=tr]').length == 0 )
				{
					$('#basket_total').remove();
					
					$('#noorder').show();
					$('#order_button').attr('disabled', 'disabled');
				}
			});
      },
      true
    );
    
	return false;	
}

function checkQty( node_id )
{
	var qty = $('#inv-'+node_id).attr('value');
	
	if ( qty == 0 )
	{
		$("#tr-"+node_id).css("opacity", .3);
	}
	
	if ( qty > 0 )
	{
		$("#tr-"+node_id).css("opacity", 1);
	}
	recountBasket();
}

function recountBasket()
{
	//recountBasketByCurrency('z');
	//recountBasketByCurrency('e');
	//recountBasketByCurrency('r');
	//recountBasketByCurrency('u');
	//recountBasketByCurrency('usd');
       var count = $(".item_count").size();
       var total = 0;
       for( var i=1; i <= count; i++ )
       {
          total = total + parseInt($("#item_count_"+i+" input.item_count").val());
       }
       $("a.years-user").text(total);
       $("a.count-cart span span").text(total);
}

function recountBasketByCurrency( c )
{
	new Number();
	var total = 0.0;
	
	var prices = $.makeArray( $('table.order span.price-list span.price-'+c+' span.price em') );
	var qty = $.makeArray( $('input[id^=inv]') );
	
	if ( qty.length != 0 && prices.length != 0 && qty.length == prices.length )
	{ 
		for( var i=0; i < prices.length; i++ )
		{
			var price = parseFloat( replaceString(',', '.', prices[i].innerHTML) );
			var q = parseFloat( replaceString(',', '.', qty[i].value) );
			
			if ( isNaN( q ) )
			{
				q = 0;
			}
			
			var sum = Math.round(price * q * 100)/100;
			
			$('#'+qty[i].id+'-sum-'+c+' em').text( replaceString('.', ',', sum.toString()) );
			
			total = total + sum;
		}
		
		total = Math.round(total * 100)/100;
		
		$('#basket-total-'+c+' em').text( replaceString('.', ',', total.toString()) );
	}
}

// ==================================================================

function sendResume(e)
{
    JsHttpRequest.query(
      '/ajax/vacancies/upload_resume/',
      {
        'q': e,
        'node_id': $('#node_id').attr('value')
      },
      function(result, errors) {
      	$('#wrapper').empty();
        $('#wrapper').append(result['result']);
      }
    );
}

function sendFeedback(e)
{
	$('div.message').remove();
	
    JsHttpRequest.query(
      '/ajax/feedback/send/',
      {
        'q': e
      },
      function(result, errors) {
      	if ( result['result'] )
      	{
      		$div = $('<div />').attr('class', 'message').html( result['result'] ).css('color','green').append('<br /><br />');
      		$('#feedback_form input[type!=submit], textarea').attr('value', '');
      	}
      	else
      	{
      		$div = $('<div />').attr('class', 'message').html( errors ).css('color','red').append('<br /><br />');
      	}
      	
      	$('#feedback_form h2').after( $div );
      },
      true
    );
    
    return false;
}

// ==================================================================
// ==================================================================
// ==================================================================

// -----------------------------------------------------------
document.onkeydown = function (e)
{
	if (!e)
	{
		e = window.event;
	}
	if (e.ctrlKey) //arrow navigation
	{
		var code = e.keyCode ? e.keyCode : (e.which ? e.which : 0);
		var arrow = code == 37 ? document.getElementById('prev_page') : (code == 39 ? document.getElementById('next_page') : 0);
		if (arrow)
		{
			location.href = arrow.href
		}
	}
}

function replaceString(oldS, newS, fullS) 
{
   if( fullS && fullS != '' )
   {
	   for (var i = 0; i < fullS.length; i++) 
	   {
	      if (fullS.substring(i, i + oldS.length) == oldS) {
	         fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length);
	      }
	   }
   	   return fullS;
   }
   return false;
}

function testKey(e,id)
{

	// Make sure to use event.charCode if available
	var key = (typeof e.charCode == 'undefined' ? e.keyCode : e.charCode);

	// Ignore special keys
	if (e.ctrlKey || e.altKey || key < 32)
		return true;

	key = String.fromCharCode(key);
	if (id)
	{
		var _str = document.getElementById(id).value;
		dot = /\./;
		if (dot.test(_str))
		{
			return /\d/.test(key);
		}
		else
		{
		return /[\d\.]/.test(key);     
		}
	}
	else
	{
		return /\d/.test(key);
	}

}

// -----------------------------------------------------------
function checkForm()
{
	for (i=0; i < arguments.length; i++)
	{
		if ( $('#'+arguments[i]).attr('value') == '')
		{
			$('#'+arguments[i]).addClass('warning');
			
			return false;
		}
	}
	
	return true;	
}

function registerForm()
{
	return true;
}

function orderForm()
{
	return true;
}

function loginForm()
{
	return true;
}

function passwordForm()
{
	return true;	
}

function profileForm()
{
	return true;
}

function forgetForm()
{
	return true;
}

function orderdetailsForm()
{
	return true;
}

function finishForm()
{
	return true;
}

function activateForm()
{
	return true;
}

function getForm( form, handler, referer, e)
{
    JsHttpRequest.query(
      '/ajax/'+handler+'/form/',
      {
        'form': form,
        'referer': referer
      },
      function(result, errors) {
      	$('#'+e.id).overlaySynthetic(function()	{
      		$("table.sign-form input:first").focus();
      	});
		
      	$('#signin form').remove();			
      	$('#signin .form').remove();
      	$('#signin div.byname').remove();

      	$('#signin').append(result['result']);
      },
      true
    );
}

function getBlock( block, handler, referer, e )
{
    JsHttpRequest.query(
      '/ajax/'+handler+'/byname/',
      {
        'block': block,
        'referer': referer
      },
      function(result, errors) {
      	if ( result['result'].length > 0 )
      	{
      		$('#'+e.id).overlaySynthetic();
			
	      	$('#signin form').remove();			
	      	$('#signin .form').remove();
	      	$('#signin div.byname').remove();

	      	$('#signin').append(result['result']);
      	}
      },
      true
    );
}

function getDirectForm( id, form, dir, handler, referer, e )
{
    JsHttpRequest.query(
      '/ajax/'+handler+'/direct/',
      {
      	'id': id,
        'dir': dir,
        'form': form,
        'referer': referer
      },
      function(result, errors) {
      	if ( result['result'].length > 0 )
      	{
      		$('#'+e.id).overlaySynthetic(function()	{
      			var id = $('.selected').attr('id');
      			$("#signin .idTabs").idTabs();
      			$('#'+id).click();
      		});

	      	$('#signin form').remove();			
	      	$('#signin .form').remove();
	      	$('#signin div.byname').remove();
	      	
	      	$('#signin').append(result['result']);
      	}      	
      },
      true
    );	
	
	return false;
}

function getBuyForm( id, form, handler, referer, e )
{
    JsHttpRequest.query(
      '/ajax/'+handler+'/buy/',
      {
      	'id': id,
        'form': form,
        'referer': referer
      },
      function(result, errors) {
      	if ( result['result'].length > 0 )
      	{
      		$('#'+e.id).overlaySynthetic(function()	{
				$(".curcur").bind("click", function(e){
					changeCurrency($(this), e);
				});
      		});

	      	$('#signin form').remove();			
	      	$('#signin .form').remove();
	      	$('#signin div.byname').remove();
	      	
	      	$('#signin').append(result['result']);
      	}      	
      },
      true
    );	
	
	return false;
}

// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
function add( ad_id, action )
{
    JsHttpRequest.query(
      '/ajax/ad/my_ads/',
      {
        'ad_id': ad_id,
        'action': action
      },
      function(result, errors) {
      	$('#myads').empty();
        $('#myads').append(result['result']);
		
		if ( action == 'add')
		{
			$('#add-'+ad_id).addClass('hidden');
			$('#added-'+ad_id).removeClass('hidden');
		}
		else
		{
			$('#add-'+ad_id).removeClass('hidden');
			$('#added-'+ad_id).addClass('hidden');
		}
      },
      true
    );	
}

function convert( converttype )
{
	if ( converttype == 'sell' )
	{
		action = 'buy';
	}
	else
	{
		action = 'sell';
	}
	
	var currency = $('#'+converttype+'_currency').attr('value');
	var sum = $('#'+converttype+'_sum').attr('value'); 
	var course = eval(currency+'_'+action);
	
	$('#'+converttype+'_grantamount').attr('value', Math.round(sum * course * 100)/100);
}

function convertService()
{
	var currency = $('#service_currency').attr('value');
	$("span.WMX").text($('#service_currency option:selected').text());	
	var sum = Number($('#service_sum').attr('value')); 
	var course = eval(currency+'_import');
	
	var com = Math.round(sum * 0.008 * 100)/100;
	var total = sum + com;
	
	$('#wm_com').attr('value', com);
	$('#service_total').attr('value', total);
	$('#service_grantamount').attr('value', Math.round(total * course * 100)/100);
}

function convertDirect()
{
	var sum = Number($('#direct_sum').attr('value')); 
	$('#direct_grantamount').attr('value', Math.round(sum * course_hr * 100)/100);
}

function convertDirectMerchant()
{
	var sum = Number($('#merchant_sum').attr('value'));
	var currency = $('#merchant_currency').attr('value');
	var course = eval(currency+'_import');
	
	var sum_uah = Math.round(sum * course_hr * 100)/100;
	$('#merchant_grantamount').attr('value', Math.round(sum_uah / course * 100)/100);
}

// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================
// ==================================================================


(function($) {
	$.extend($.fx.step,{
	    backgroundPosition: function(fx) {
            if (fx.state === 0 && typeof fx.end == 'string') {
                var start = $.curCSS(fx.elem,'backgroundPosition');
                start = toArray(start);
                fx.start = [start[0],start[2]];
                var end = toArray(fx.end);
                fx.end = [end[0],end[2]];
                fx.unit = [end[1],end[3]];
			}
            var nowPosX = [];
            nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
            nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];
            fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];

           function toArray(strg){
               strg = strg.replace(/left|top/g,'0px');
               strg = strg.replace(/right|bottom/g,'100%');
               strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
               var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
               return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
           }
        }
	});
})(jQuery);
