Cufon.replace('ins');

$('html').ajaxStop(function() {
  Cufon.replace('ins');
});

//--- google maps (load async)

$(document).ready(function(){
  $("#zoom_image").colorbox();
});

$(document).ready(function(){
  $(".okno").colorbox();
});

function CheckObject(Obj) 
{
  if (document.getElementById(Obj)) 
  { 
    return true; 
  }                                                                 
  else 
  { 
    return false; 
  }
}

//--- Górne menu

// Copyright 2006-2007 javascript-array.com

var timeout	= 0;
var closetimer	= 0;
var ddmenuitem	= 0;

function hasClass(ele,cls) 
{
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(element, value) 
{
	if (!element.className) 
  {
		element.className = value;
	} else 
  {
		var newClassName = element.className;
		newClassName += " ";
		newClassName += value;
		element.className = newClassName;
	}
}

function removeClass(ele,cls) 
{
	if (hasClass(ele,cls)) 
  {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}
  
function findNextElement(element)
{
  element = element.parentNode;
  element = element.nextSibling;

  while (element) 
  {
      if (element.nodeType==1) 
      {
          destElement = element;
          break;
      }
      element = element.nextSibling;
  }
  return destElement.firstChild;
}

function findPreviousElement(element)
{
  element = element.parentNode;
  element = element.previousSibling;

  while (element) 
  {
      if (element.nodeType==1) 
      {
          destElement = element;
          break;
      }
      element = element.previousSibling;
  }
  return destElement.firstChild;
}

function mopen(id, currentElement)
{
  addClass(findPreviousElement(currentElement), 'left');
  addClass(findNextElement(currentElement), 'right');

  if(id)
  {
  	// cancel close timer
  	mcancelclosetime();
  
  	// close old layer
  	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
  
  	// get new layer and show it
  	ddmenuitem = document.getElementById(id);
  	ddmenuitem.style.visibility = 'visible';
  }
}

function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime(currentElement)
{
  if (currentElement)
  {
    removeClass(findPreviousElement(currentElement), 'left');
    removeClass(findNextElement(currentElement), 'right');
  }

	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime(currentElement)
{
  if (currentElement)
  {
    addClass(findPreviousElement(currentElement), 'left');
    addClass(findNextElement(currentElement), 'right');
  }
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose;

//----------------

//---- Rejestracja

function ChangeLoginRegisterForm(TargetElement, OppositeElement,  TargetToShow, TargetToHide)
{
  $('input[name=' + $(TargetElement).attr('id') + '_input]').val('selected');
  $('input[name=' + OppositeElement + '_input]').val('');

  $(TargetElement).addClass('selected');
  $('#'+OppositeElement).removeClass('selected');

  $('#'+TargetToHide).hide();
  $('#'+TargetToShow).show();
}

function ShowDiferentShippingForm()
{
  if($('.diferent_shipping_form').hasClass('diferent_shipping_data_show'))
  {
    $('.diferent_shipping_form').removeClass('diferent_shipping_data_show');
    $('.diferent_shipping_form').addClass('diferent_shipping_data_hide');  
  }
  else
  {
    $('.diferent_shipping_form').removeClass('diferent_shipping_data_hide');
    $('.diferent_shipping_form').addClass('diferent_shipping_data_show');
  }
}

function ShowDiferentShippingFormOrder()
{
  if($('.diferent_shipping_form').hasClass('diferent_shipping_data_show'))
  {
    $('.diferent_shipping_form').removeClass('diferent_shipping_data_show');
    $('.diferent_shipping_form').addClass('diferent_shipping_data_hide');
    $('.msg').hide();  
  }
  else
  {
    $('.diferent_shipping_form').removeClass('diferent_shipping_data_hide');
    $('.diferent_shipping_form').addClass('diferent_shipping_data_show');
    $('.msg').show(); 
  }
}

function ClearForm(Id)
{
  var Form = document.getElementById(Id).getElementsByTagName('input');

  for(var i = 0; i < Form.length; i++) 
  {
    if (Form[i].type == 'text' || Form[i].type == 'password')
    {
      Form[i].value = '';
    }
  }
}

//---- Produkty

function InitTables()
{
  if (CheckObject('specyfikacja'))
  {
    var Rows = document.getElementById('specyfikacja').getElementsByTagName('tr');
    for(var i = 0; i < Rows.length; i++) 
    {
      if (i == 0)
      {
        Rows[i].className = 'header';
      }
      else
      {
        Rows[i].className = (i % 2 == 0) ? 'even' : 'odd';
      }
      var Cells = Rows[i].getElementsByTagName('td');
      for(var l = 0; l < Cells .length; l++)
      {
        Cells[l].className = (l % 2 == 0) ? 'left' : 'right';
      }
    }
  }
}

function showPhoto(Url)
{
  $.colorbox({href: Url});
}

function ChangeDisplayMode(TargetElement, OppositeElement)
{
  $('input[name=' + TargetElement + ']').val(1);
  $('input[name=' + OppositeElement + ']').val(0);

  $('#a_' + TargetElement).addClass('active');
  $('#a_' + OppositeElement).removeClass('active');
}

function ChangeTab(ClickedElement, TargetElement)
{
  $('.tab_changer').removeClass('selected');
  $(ClickedElement).addClass('selected');

  if(TargetElement == 'wszystko')
  {
    $('.tabs_content').removeClass('shadow');
    $('.tabs_content:first').addClass('shadow');
    $('.tab_header').show();
    $('.tabs_content').show();
  }
  else
  {
    $('.tabs_content').hide();
    $('.tab_header').hide();
    $('#' + TargetElement).addClass('shadow');
    $('#' + TargetElement).show();
  }
}

function ChangeRelatedTab(ClickedElement, TargetElement)
{
  $('.tab_changer_related').removeClass('selected');
  $(ClickedElement).addClass('selected');

  $('.related_product_box').hide();
  $('#' + TargetElement).show();
}

function ShowAllCategories()
{
	if ($(".categories li.hide").css('display') == 'none')
  {
    $('.categories li.hide').show();
    $('#category_switcher_text').text('zwiń wszytskie kategorie główne');
    $('#category_switcher_arrow').attr('src', '/static/img/category_more_bg_reversed.jpg'); 
  } 
  else
  {
    $('.categories li.hide').hide();
    $('#category_switcher_text').text('rozwiń wszytskie kategorie główne');
    $('#category_switcher_arrow').attr('src', '/static/img/category_more_bg.jpg');
  }
}

//---- Porównywarka

function AddToCompareFormSubmit(element, compare)
{
  FormName = $(element).parent().parent().attr('name');
  FormData = $('form[name='+FormName+']').serialize();

  Url = './?' + FormData + '&NoRender=1';

  if(compare)
  {
    $.get(Url, function(Response) {
      $.colorbox({html: '<div>'+Response+'</div>', onClosed:function(){ GetCompareForm(); RefreshBottomBasket(); } });
    });
  }
  else
  {
    $.get(Url, function(Response) {
      $.colorbox({html: '<div>'+Response+'</div>', onClosed:function(){ RefreshBottomBasket(); } });
    });
  }
}

function LoadCompareScript()
{
  $().ready(function() {
  
    $("tr.content_color:odd").addClass("odd");
    $("tr.content_color:even").addClass("even");
  
    $("tr.color:odd").addClass("odd");
    $("tr.color:even").addClass("even");
  
    $("#content_table tr:not(:has(.no_hover))").hover(
     function()
     {
      var rowNumber = $(this).parent().children().index(this);
  
      $('#labels_table tr').eq(rowNumber).addClass("highlight");
      $(this).addClass("highlight");
     },
     function()
     {
      var rowNumber = $(this).parent().children().index(this);
  
      $('#labels_table tr').eq(rowNumber).removeClass("highlight");
      $(this).removeClass("highlight");
     }
    );
  
  	var VerticalScrolling = $(".headings");
    var HorizontalScrolling = $(".labels");
  
  	$('.content').scroll(function(){	
      HorizontalScrolling.scrollTop($('.content').scrollTop());
      VerticalScrolling.scrollLeft($('.content').scrollLeft());			
  	});

    $("#content_table tr").each(function(i) {
      if($('#labels_table tr').eq(i).height() > $(this).height())
      {
        $(this).height($('#labels_table tr').eq(i).height());
      }
      else
      {
        $('#labels_table tr').eq(i).height($(this).height());
      }
    });

  });
}

function GetCompareForm(Delete)
{
  if (Delete)
  {
    Url = '/?ShowCompare=1&NoRender=1&Delete='+Delete;
  }
  else
  {
    Url = '/?ShowCompare=1&NoRender=1';
  }

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', onComplete:LoadCompareScript, onClosed:RefreshBottomBasket(), innerWidth:'910px', innerHeight:'730px'});
  });
}

//---- Schowek

function AddToClipboardFormSubmit(element, compare)
{
  FormName = $(element).parent().parent().attr('name');
  FormData = $('form[name='+FormName+']').serialize();

  Url = './?' + FormData + '&NoRender=1';

  if(compare)
  {
    $.get(Url, function(Response) {
      $.colorbox({html: '<div>'+Response+'</div>', onClosed:function(){ GetCompareForm(); RefreshBottomBasket(); } });
    });
  }
  else
  {
    $.get(Url, function(Response) {
      $.colorbox({html: '<div>'+Response+'</div>', onClosed:function(){ RefreshBottomBasket(); } });
    });
  }
}

function ChangeQuantityClipboard(Direction, Position, element)
{
  Value = parseInt($('input[name=pr_'+Position+']').val());

  if (Value <= 1)
  {
    $('input[name=pr_'+Position+']').val(1);
    Value = 1;  
  }
  else if (Value >= 100)
  {
    $('input[name=pr_'+Position+']').val(100);
    Value = 99;
  }

  if (Direction == 'decrase')
  {
    $('input[name=pr_'+Position+']').val(Value - 1);
  }
  else if (Direction == 'incrase')
  {
    $('input[name=pr_'+Position+']').val(Value + 1);
  }

  FormData = $('form[name=clipboardForm]').serialize();

  Url = '/?' + FormData;

  $.get(Url, function(Response) {
    $('.content_center').load(Url);
    RefreshBottomBasket();
  }); 
}

function CopyToBasket(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
      RefreshBottomBasket(); 
      $.colorbox({html: '<div>'+Response+'</div>'});
  });

  return false;
}

function SendOffer(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>'});  
  });

  return false;
}

//---- Tworzenie oferty

function MakeOffer(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});  
  });

  return false;
}

function AddProductToOffer()
{
  var FormData = $('form[name=AddProduct]').serialize();

  Url = '/?'+FormData;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});  
  });  
}

function ChooseProductCategory()
{
  var FormData = $('form[name=AddCatalogProduct]').serialize();

  Url = '/?'+FormData;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});  
  });  
}

function AddCatalogProductToOffer()
{
  var FormData = $('form[name=AddCatalogProduct]').serialize();

  Url = '/?'+FormData;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});  
  });  
}

function DeleteProductOffer(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function DeleteCatalogProductOffer(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function ChangeQuantityProduct(Id)
{
  Quantity = $('#QuantityCustom_'+Id).val();  

  Url = '/?MakeOffer=ChangeProduct&Id='+Id+'&Quantity='+Quantity;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function ChangeQuantityCatalogProduct(Id)
{
  Quantity = $('#Quantity_'+Id).val();  

  if (Quantity <= 1)
  {
    $('#Quantity_'+Id).val(1);
    Quantity = 1;  
  }
  else if (Quantity >= 100)
  {
    $('#Quantity_'+Id).val(100);
    Quantity = 99;
  }

  Url = '/?MakeOffer=ChangeCatalogProduct&Id='+Id+'&Quantity='+Quantity;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function SaveOffer()
{
  var FormData = $('form[name=Offer]').serialize();

  Url = '/?MakeOffer=process&action=save&'+FormData;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function GetOffer(Key)
{
  Url = '/?MakeOffer=process&action=get&key='+Key;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function DeleteOffer(Key)
{
  Url = '/?MakeOffer=process&action=delete&key='+Key;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

function SendHtmlOffer()
{
  var FormData = $('form[name=Offer]').serialize();

  Url = '/?MakeOffer=process&action=send&'+FormData;

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>', width:'845px'});
  });

  return false;
}

//---- Wysyłanie oferty

function SendForm()
{
  var FormData = $('form[name=SendOfferForm]').serialize();

  Url = '/?'+FormData+'&NoRender=1';

  $.get(Url, function(Response) {
    $.colorbox({html: '<div>'+Response+'</div>'});  
  });
}

//---- Koszyk

function ChangeQuantity(Direction, Position, element)
{
  Value = parseInt($('input[name=pr_'+Position+']').val());

  if (Value <= 1)
  {
    $('input[name=pr_'+Position+']').val(1);
    Value = 1;  
  }
  else if (Value >= 100)
  {
    $('input[name=pr_'+Position+']').val(100);
    Value = 99;
  }

  if (Direction == 'decrase')
  {
    $('input[name=pr_'+Position+']').val(Value - 1);
  }
  else if (Direction == 'incrase')
  {
    $('input[name=pr_'+Position+']').val(Value + 1);
  }

  FormData = $('form[name=order]').serialize();

  Url = '/?' + FormData + '&NoRender=1';

  $.get(Url, function(Response) {
    $('.content_center').load(Url);
    RefreshBottomBasket();
  }); 
}

function DeleteProduct(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
    $('.content_center').load(Url, function() { RefreshBottomBasket(); });
  });

  return false;
}

function DeleteProductBottomBasket(element)
{
  Url = $(element).attr("href");

  $.get(Url, function(Response) {
    RefreshBottomBasket();
  });

  return false;
}

function AddProductFormSubmit(element, compare)
{
  FormName = $(element).parent().parent().attr('name');
  FormData = $('form[name='+FormName+']').serialize();

  Url = './?' + FormData + '&NoRender=1';

  if(compare)
  {
    $.get(Url, function(Response) {
      $.colorbox({html: '<div>'+Response+'</div>', onClosed:function(){ GetCompareForm(); RefreshBottomBasket(); } });
    });
  }
  else
  {
    $.get(Url, function(Response) {
      $.colorbox({html: '<div>'+Response+'</div>', onClosed:function(){ RefreshBottomBasket(); } });
    });
  }
}

//---- Bottom Basket

function RefreshBottomBasket(Param)
{
  if (Param)
  {
    Url = '/?BottomBasket=true'+Param;
  }
  else
  {
    Url = '/?BottomBasket=true';
  }

  $.get(Url, function(Response) {
    $('.basket_bottom_wrap').html(Response);
  });
}

function ChangeBotttomBasket(Target)
{
  Param = '&Show='+Target;
  
  RefreshBottomBasket(Param)

  $('.basket_bottom_content').show();  
}

function HideBottomBasket()
{
  $.get('/?Hide=true', function(Response) {
    $('.basket_bottom_content').hide();
  });
}

var Counter = 0;

function ChangeProduct(Direction)
{
  Products = $('.basket_bottom_container');

  switch (Direction)
  {
    case 'Next':
    {
      Counter++;

      Products.hide();
      Products.eq(Counter).show();
      Products.eq(Counter + 1).fadeIn('fast', function() {} );
      Products.eq(Counter + 2).fadeIn('fast', function() {} );

      break;
    }
    case 'Back':
    {
      Counter--;

      Products.hide();
      Products.eq(Counter).show();
      Products.eq(Counter + 1).fadeIn('fast', function() {} );
      Products.eq(Counter + 2).fadeIn('fast', function() {} );

      break;
    }
  }

  if(Counter + 2 == Products.length - 1)
  {
    $('#next_product').hide();
  }
  else
  {
    $('#next_product').show();
  }

  if(Counter == 0)
  {
    $('#prev_product').hide();
  }
  else
  {
    $('#prev_product').show();
  }
}

//---- Zakładka pliki

function ChangeFileTab(Element)
{
  $('.file_tab').hide();

  $(Element).parent().next('div.file_tab').show();
}

//---- Producenci

$(document).ready(function(){

  //var producentInterval = setInterval("ProducentSlider('next')", 1000);

  $(".producent_rotator").hover(
    function () {
      //clearInterval(producentInterval);
    },
    function () {
      //producentInterval = setInterval("ProducentSlider('next')", 1000);
    }
  );

});

CurentPosition = 0;

function ProducentSlider(Direction)
{
  Objects = $('div.logos td');
  Lenght = Objects.size();

  switch (Direction)
  {
    case 'next':
    {
      Objects.hide();

      if (CurentPosition != (Lenght - 3))
      {
        CurentPosition++;
      }
      else
      {
        CurentPosition = 0;
      }

      Objects.eq(CurentPosition).show({"left": "-=50px"}, "slow");
      Objects.eq(CurentPosition + 1).show({"left": "-=50px"}, "slow");
      Objects.eq(CurentPosition + 2).show({"left": "-=50px"}, "slow");

      break;
    }
    case 'prev':
    {
      Objects.hide();

      if (CurentPosition != 0)
      {
        CurentPosition--;
      }
      else
      {
        CurentPosition = Lenght -3;
      }

      Objects.eq(CurentPosition).show({"left": "-=50px"}, "slow");
      Objects.eq(CurentPosition + 1).show({"left": "-=50px"}, "slow");
      Objects.eq(CurentPosition + 2).show({"left": "-=50px"}, "slow");

      break;
    }
  }
}

//---- Dealerzy

function FilterDealerTable(Match)
{
  $('table.dealers tr').show();

  if (Match)
  {
    $('table.dealers tr').hide();

    $('table.dealers tr').each(function(i) {
      if($('td.city', this).text() == Match)
      {
        $(this).show();
        $(this).next().show();
        $(this).next().next().show();
        $(this).next().next().next().show();
        $(this).next().next().next().next().show();
      }
    });
  }
}
