/**
 * @date 2007.08.14
 * @author tmv
 * @author Ruslanas Balčiūnas
 */
var productsInBasketCnt;
var productsInCompareCnt;
var removeFromBasket;
var addToBasket;
var removeFromCompare;
var addToCompare;
var timer = "";
var loadedImages = new Array();
var searchFormEmpty = true;
var formValid = true;
$(function() {
	$('#searchInSelection input').each( function(e) {
		$(this).click(switchCheck);
	});
});

function switchCheck(e) {
	var chk = this.checked;
	$('#searchInSelection input').each( function() {
		this.checked = false;
	});
	this.checked = chk;
}
function isSearchFormEmpty(){
	var err = $('#searchError');
	var fld = false;
	err.css('display', 'none');
	var searchFormEmpty = true;
	var formValid = true;
	$('input.min2').each( function() {
		if( this.value.length < 2) {
			$(this).addClass('invalid');
			formValid = false;
		} else {
			$(this).removeClass('invalid');
		}
	});
	$('input.price').each( function() {
		if(this.value) {
			if( !this.value.match(/^\d+$/g)) {
				$(this).addClass('invalid');
				formValid = false;
			} else {
				$(this).removeClass('invalid');
			}
		} else {
			$(this).removeClass('invalid');
		}
	});
	$('#catalog-search select').each( function() {
			if( this.value != 0) {
				searchFormEmpty = false;
			}
		});
	$('#catalog-search input').each( function() {
			if( !this.className.match('price')) {
				if( this.value && (this.type == 'text')) {
					searchFormEmpty = false;
				} else if( this.type == 'checkbox' && this.checked) {
					searchFormEmpty = false;
				}
			}
		});
	var msg = '';
	if( !formValid) {
		msg = 'form invalid';
	}
	if( parseInt( $('#price_to')[0].value) <= parseInt( $('#price_from')[0].value)) {
		$('#price_to').addClass('invalid');
		msg = 'form invalid';
	}
	if(searchFormEmpty) {
		msg = 'search form empty';
	}
	if(msg) {
		err.html( translations.get(msg));
		err.css('display', 'block');
		try{
			$('.invalid')[0].select();
		} catch(e) {
			//..
		}
		return false;
	}
	return true;
}

$(document).ready(
	function() {
		$('#preview').mouseover(function(el) {
		    if(this.src.match("img"))
		    {
                var origPath = this.src.replace('&size=3', '');
            }
            else
            {
			    var origPath = this.src + '&size=1';
			}
			var img = $('#preview-original');
			var div = $(img).parent();
			if( loadedImages[origPath]) {
				img.attr('src', origPath);
				div.show();
			} else {
				img.load( function() {
					$('#loader').hide();
					div.show();
				});
				$('#loader').show();
				img.attr('src', origPath);
				loadedImages[origPath] = true;
			}
			});
		$('#preview-original').mouseout( function() {
					var img = document.getElementById('preview-original');
					$(this.parentNode).hide();
					//img.src = '/css/images/menu_gif_loader.gif';
				}
			);
	});

function my_func(){
	try{
		$('#floating-banner').hide();
		createCookie('FLOATED', 1, 30);
		window.clearInterval( timer );
	} catch( e ){    
	}
}
$(document).ready(createFlash);
/* Krepselio uzsakymo forma */
$(document).ready(function(){
    $("input[@name=pristatymas]").click(function (e) 
    { 
        manipulateBlocks(this.value);
    });
    var crv = 1;
    var o = $("input[@name=pristatymas]");
    o.each(function(i) {
        if (o.get(i).checked)
        {
            crv = o.get(i).value;
        }
    });
    manipulateBlocks(crv);
});

function manipulateBlocks(v)
{
    if (v == 1)
    {
        $('#markets-info-block').hide();
        $('#delivery-info-block').show();
    }
    else if (v == 2)
    {
        $('#delivery-info-block').hide();
        $('#markets-info-block').show();
    }
}

/* Krepselis */

$(document).ready(function(){
    $("#order-form-link").click(function (e) 
    { 
        e.preventDefault();
        $('#basket-order-form').toggle();
    });
});

/* Prekiu sarasas */

$(document).ready(function(){
    $("a.productManipulateLink,a.productManipulateLink-active").click(function (e) 
    { 
       e.preventDefault();
       setBasketClickAction(this);
    });
});

$(document).ready(function(){
    $("a.watchManipulateLink,a.watchManipulateLink-active").click(function (e) 
    { 
       e.preventDefault();
       setBasketClickAction(this);
    });
});

function showNotifier(o, msg) {
	var show = true;
	if( arguments.length > 2) {
		show = arguments[2];
	}
	var notifier = $('#notifier');
	if(show) {
		notifier.empty();
		notifier.append(msg);
		if( arguments.length > 2) {
			var links = arguments[2];
			var ul = document.createElement('UL');
			for(var i=0;i<links.length;i++) {
				var link = links[i];
				i++;
				var text = links[i];
				var anchor = document.createElement('A');
				anchor.innerHTML = text;
				anchor.href = link;
				var li = document.createElement('LI');
				$(li).append(anchor);
				$(ul).append(li);
			}
			if(links.length) {
				notifier.append(ul);
			}
		}
		if(o) {
			notifier.css('left', $(o).offset().left + 'px');
			notifier.css('top', $(o).offset().top - notifier.height() - 12 + 'px');
		}
		notifier.fadeIn();
		tmr = window.setTimeout("hideNotifier()", 2000);
	} else {
		notifier.fadeOut();
	}
}

function hideNotifier() {
	window.clearTimeout(tmr);
	showNotifier(false, false, false);
}

function setLinkClass(o)
{
	// display cloud here
	var class_begin = 'productManipulateLink';
	if( o.className == class_begin) {
		$(o).removeClass(o.className);
		$(o).addClass(class_begin + '-active');
	} else {
		$(o).removeClass(o.className);
		$(o).addClass(class_begin);
	}
}

function setWatchlistClickAction(o, rm)
{
	$.get( o.href, function(r) 
	{	
		if(r == '1') {
			var msg = 'Removed from compare';
            updateWatchlist();	

			showNotifier(o, translations.get(msg), 
			[
			'/' + FW_SALE_DIR + FW_LANG + '/catalog/watchListing', translations.get('view basket')
			]);
			$("a.watchManipulateLink-active").each(function(i) {				
                if( this.rel == o.rel )
                {					
                    $(this).removeClass(this.className);
                    $(this).addClass('watchManipulateLink');
					/*
                    //istrynus surandame liste ta linka, kuri ismeteme
                    if( this.name == 'compare-link')
                    {
                        var t = addToCompare+''+productsInCompareCnt;                
                        $(this).attr({title: t});
                    }
                    else if( this.name == 'basket-link')
                    {
                        var t = addToBasket+''+productsInBasketCnt;                
                        $(this).attr({title: t});
                    }
                    */
                }
            });
			//$("a.watchManipulateLink-active").addClass('watchManipulateLink');
			//$("a.watchManipulateLink-active").removeClass('watchManipulateLink-active');
        }
	});
	return false;
}

function updateWatchlist()
{
    //atnaujinam prekiu krepselio informacija
    $.get('catalog/ajaxUpdateWatchlist', function(r)
    {
        if (r != '')
        {
            $('#catalog-watchlist-block').empty();
            $('#catalog-watchlist-block').append(r);
        }
    });
	return true;
}

function setBasketClickAction(o, rm)
{	
    $.get( o.href, function(r) {

		if(r == "1")
		{
			updateWatchlist();
			$(o).removeClass('watchManipulateLink');
			$(o).addClass('watchManipulateLink-active');
			var msg = 'Added to watchlist';
			showNotifier(o, translations.get(msg), 
			[
			'/' + FW_SALE_DIR + FW_LANG + '/catalog/watchListing', translations.get('review watchlist')
			]);
			return true;			
		}
		else if(r == '2')
		{
			updateWatchlist();
			$(o).removeClass('watchManipulateLink-active');
			$(o).addClass('watchManipulateLink');
			var msg = 'Removed from watchlist';
			showNotifier(o, translations.get(msg), 
			[
			'/' + FW_SALE_DIR + FW_LANG + '/catalog/watchListing', translations.get('review watchlist')
			]);
			
			return true;
		}

		var ntfr = $('#notifier');
        if(r == 'full') {
            alert(errMAX);
        } else if(r == 'updateCompare') {
            updateCompare();
            if( o.className == 'productManipulateLink') {
                productsInCompareCnt++;
				var msg = 'Added to compare';
            } else {
				var msg = 'Removed from compare';
                productsInCompareCnt--;
            }
	    try {
		ntfr.removeClass('basket');
		ntfr.addClass('compare');
   
		showNotifier(o, translations.get(msg), ['/' + FW_LANG + '/catalog/viewCompare', translations.get('products compare')]);
	    } catch(e) {
	    }
            setLinkClass(o);
            updateCompareTitle();
        }
		else if(r == 'updateBasket')
		{
            updateBasket();
            if(o.className == 'productManipulateLink')
			{
                productsInBasketCnt++;
				var msg = 'added to cart';
            }
			else
			{
                productsInBasketCnt--;
				var msg = 'removed from cart';
            }
	    	
			try
			{
				ntfr.removeClass('compare');
				ntfr.addClass('basket');
				// kai paspaudi ideti i krepseli
				showNotifier(o, translations.get(msg), 
				[
				'/' + FW_SALE_DIR + FW_LANG + '/catalog/viewBasket/?form=1#order_form', translations.get('order products link'),
				'/' + FW_SALE_DIR + FW_LANG + '/catalog/viewBasket', translations.get('view basket')
				]);
	    	}
			catch(e)
			{
	    	}
            setLinkClass(o);
            updateBasketTitle();
        }
        if(rm == 1) {
            //su parametru `rm` kreipiasi tik is krepselio ar palyginimo bloko, kai preke yra trinama
            $("a.productManipulateLink-active").each(function(i) {
                if( this.href == o.href)
                {
                    $(this).removeClass(this.className);
                    $(this).addClass('productManipulateLink');
                    //istrynus surandame liste ta linka, kuri ismeteme
                    if( this.name == 'compare-link')
                    {
                        var t = addToCompare+''+productsInCompareCnt;                
                        $(this).attr({title: t});
                    }
                    else if( this.name == 'basket-link')
                    {
                        var t = addToBasket+''+productsInBasketCnt;                
                        $(this).attr({title: t});
                    }
                }
            });
        }
   });
}


//tekstas palyginimo ikonelems
function updateCompareTitle()
{
    $("a[name=compare-link], a.productManipulateLink, a.productManipulateLink-active").each(changeCompareTitle);
}
function changeCompareTitle(i) { 
        if (this.className == 'productManipulateLink-active')
        {
            var tt = removeFromCompare+''+productsInCompareCnt;
            //isimti is palyginimo
            $(this).attr({title: tt});
        }
        else 
        {
            var tt = addToCompare+''+productsInCompareCnt;
            $(this).attr({title: tt});   
        }
}
//tekstas krepiu krepselio ikonelems
function updateBasketTitle()
{
    $("a[name=basket-link], a.productManipulateLink, a.productManipulateLink-active").each(changeTitle);
}

function changeTitle(i)
{ 

        if (this.className == 'productManipulateLink-active')
        {
            var tt = removeFromBasket+''+productsInBasketCnt;
            $(this).attr({title: tt});   
        }
        else 
        {
            var tt = addToBasket+''+productsInBasketCnt;
            $(this).attr({title: tt});   
        }
}

function updateBasket()
{
    //atnaujinam prekiu krepselio informacija
    $.get('catalog/ajaxUpdateBasket', function(r)
    {
        if (r != '')
        {
            $('#catalog-basket-block').empty();
            $('#catalog-basket-block').append(r);
        }
    });
}

function updateCompare()
{
    //atnaujinam palyginimus
    $.get('/catalog/ajaxUpdateCompare', function(r)
    {
        if (r != '')
        {
            $('#catalog-compare-block').empty();
            $('#catalog-compare-block').append(r);
        }
    });
}

/* Rodyti liste su paveiksliukais ar be */
$(document).ready(function() {
    $('select.list-images-manipulation').change(function() {
        var v = 0;
        if (this.value == 1)
        {
            var v = 1;
        }
        $.get('/'+FW_LANG+'/catalog/ajaxSetParam', { without_images: v }, 
            function(data) {
                window.location.reload();
            });
    });
});

/* Katalogo meniu */

var full_containers = Array();

$(document).ready(function() {
    $('a.first-level').click(function (e) {
        if(!$(this).attr('additional'))
        {
            setClickAction(this);
            e.preventDefault();
        }
    });
	$('#notifier').hover(function() {
		window.clearTimeout(tmr);
	}, function() {
		showNotifier(false, false, false);
	});
    $('#category-list').removeClass('hidden');
    $('#load-indicator').hide();
});

function getMenuSubs(p, l)
{
    var container_id = 'container_level' + (l - 1) + '_' + p;
    gCurrent = container_id;

    //gal jau turim ?
    if (isFullContainer(container_id))
    {
	hidePreviousContainer(l, container_id, p);
        $('#'+container_id).toggle();
        return ;
    }    

    full_containers.push(container_id);
    /*
    var img = new Image();
    img.src = '/css/images/_menu_gif_loader.gif';
    $(img).css('float', 'right');
    $(img).css('border', 'none');
    */
    
    // bug in safari. It will not hide later.
    if( !$.browser.safari) {
	    var html = '<object style="float:right" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="14" height="14" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="/flash/loader.swf" /><param name="quality" value="high" /><param name="menu" value="false" /><param name="wmode" value="transparent" /><embed src="/flash/loader.swf" wmode="transparent" menu="false" quality="high" width="14" height="14" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" /></object>';
	    $('#' + container_id).prev().prepend(html);
    }
    
    $('#load-indicator').show();
    $.get('/' + FW_SALE_DIR + FW_LANG + "/catalog/ajaxMenuGetCats", { pid:p, level:l  }, function(data) {
        $('#load-indicator').hide();
	if( !$.browser.safari) {
		$($('#'+container_id).prev().children()[0]).hide();
	}
	hidePreviousContainer(l, container_id, p);
        if(data != "")
        {
	    $('#'+container_id).empty();
	    $('#'+container_id).append(data);
	    if(gCurrent == container_id) {
		    $('#'+container_id).show();
	    }
        }
        //full_containers.push(container_id);
    });
}

function hidePreviousContainer(level_to_open, current_to_open, id)
{
    var c = 'level'+(level_to_open - 1)+'-container';
    $('div.'+c).each(function(i) {
        if (this.id != current_to_open)
        {
            $(this).hide();
        }
    });
}

function isFullContainer(container_id)
{
    var found = false;
    var lng = full_containers.length;
    if (lng > 0)
    {
        for (i=0;i<lng;i++)
        {
            if (full_containers[i] == container_id)
            {  
                found = true;
                break;
            }
        }
    }
    return found;
}

function setClickAction(elm)
{
    var t = elm.id.split('_');
    unsetActiveClass(t[1], t[2]);
    setActiveClass(elm);
    getMenuSubs(t[1], t[2]);
}

function setActiveClass(e)
{
    $(e).addClass('active');
}

function unsetActiveClass(id, level)
{
    var class_begin = '';
    if (level == 2)
    {
        class_begin = 'first';
    }
    else if(level == 3)
    {
        class_begin = 'second';
    }
    $('a.'+class_begin+'-level').each(function(i) {
	    $(this).removeClass(this.className);
	    $(this).addClass(class_begin+'-level');
    });
}

function ping()
{
    $.get('general/ping');
    setTimeout('ping();', 1000 * 60 * 10);
}

$(document).ready(function() {
    setTimeout('ping();', 1000 * 60 * 10);
});

$(document).ready(function() {
	$('#catalog-search input.producer_main').autocomplete('manufacturer/getManufacturersAjax/?main=true', {
		width: 125
	});
	$('#catalog-search input.producer_auctions').autocomplete('manufacturer/getManufacturersAjax/?auctions=true', {
		width: 125
	});
});

/* 
	Aukcionu watchlisto mygtukai 
	kadangi per sudetinga atnaujinti jQuery iki 1.3.2 
	kuris palaiko "live"
	tai padarom atskira funkcija
*/

$(function() {
	bind_watchlist();
});

function bind_watchlist() {
	$('.ajax_watchlist a').click(function(){
		var h = $(this).attr('href');
		$.get(h, { }, function(data) {
	    	if(data == '1') {
	    		$("a[href='"+h+"']").parent().find('a').toggle();
	    	}
	    });
	    return false;
	});
}