window.addEvent("domready" , function(){
    if($('product') && !$('product').hasClass('small'))
        var loader = new AjaxLoader('product');
    else if($('product')){
        ext_number = function(str){
            return str.substring(2 , str.length);
        };
        var v_exclude = false;
        if($('package_name'))
			v_exclude = ext_number($('package_name').className).toInt()
        
        var loader = new AjaxLoader('product',{
            items_par_page:2,
            template:function(data , insider){
                $each(data.products , function(elm){
                    var gIn = new Element('div' , { 'class':'in' }).injectInside(insider);
                    var aCont = new Element('a', {'href': 'index.php?page='+elm.content_alias, 'class': 'in-a-small'}).injectInside(gIn);
					var gImage = new Element('img' , { 'src':'images/'+elm.country+'.gif', 'width':'184' , 'height':'25' }).injectInside(aCont);

					var gMiddle = new Element('div', {'class': 'middle'}).injectInside(aCont);
					new Element('div', {'class': 'name '+elm.country}).injectInside(gMiddle).set('text', elm.content_name);
					new Element('div', {'class': 'price', 'html': '&euro; <strong>'+elm.props.price+'</strong'}).injectInside(gMiddle);
					new Element('div', {'class': 'add-line1'}).injectInside(gMiddle).set('text', elm.props.addt_line1);
                })
            },
            height:238,
            exclude:v_exclude
        });
    }
    if($$('.pic-big') ||  $$('.pic-small'))
	{
		$$('.pic-big img', '.pic-small img').each(function(el){
		
		
			el.set('onclick',"");
			
				var myAnchor = new Element('a', {
				    'href': el.get("src"),
				    'rel':"lytebox[vacation]"
				});
		myAnchor.inject(el,'after');
		el.inject(myAnchor,'bottom');
			el.addEvent('click',function(){
			myLytebox.start(myAnchor);
			return false;
			});	
		});
	}
	
	if($$('.prices'))
	{	
		$$('.prices table').each(function(el2)
		{
			el2.getElements('tr')[1].getElements('th').each(function(el)
			{
				el.setStyle('background' , '#285B99');
			});
		});
	}
	
    $$('.flash').each(function(el){
        var html = el.get("html");
        
        html = html.substring(4 , html.length - 3)
        
        swiff = new Swiff('http://www.plymedia.com/plyPlayer.swf' , {
            params: {
                wmode: 'opaque',
                bgcolor: '#ffffff'
            } ,
            width: el.clientWidth,
            height: el.clientHeight,
            vars:{
                moviePath:html
            } ,
            container: el
        })
    })
	
	
});


var all_pages = -1;

var AjaxLoader = new Class({
    Implements: [Options, Events],
    options: {
        items_par_page:4,
        template:function(data , insider){
            var i=0;
            $each(data.products , function(elm){
                i++;
				var gCont = new Element('div' , { 'class':'in' }).injectInside(insider);
				var aCont = new Element('a', {'href': 'index.php?page='+elm.content_alias, 'class': 'in-a'}).injectInside(gCont);
                if(i == 4) gCont.addClass('last');

                var gImage = new Element('img' , { 'src':'images/'+elm.country+'.gif', 'width':'184' , 'height':'25' }).injectInside(aCont);
                var gTitle = new Element('div' , { 'class':'name ' + elm.country }).injectInside(aCont).set('text' , elm.content_name);

				var gMiddle = new Element('div', {'class': 'middle'}).injectInside(aCont);
				var gPrice = new Element('div', {'class': 'price', 'html': '&euro; <strong>'+elm.props.price+'</strong>'}).injectInside(gMiddle);
				new Element('div', {'class': 'add-line1'}).injectInside(gMiddle).set('text', elm.props.addt_line1);
				new Element('div', {'class': 'add-line2'}).injectInside(gMiddle).set('text', elm.props.addt_line2);

                var gText = new Element('div' , { 'class':'text' }).injectInside(aCont);
                new Element('div' , { 'class':'short_desc' }).set('html' , elm.props.short_desc).injectInside(gText);
                new Element('div' , { 'class':'movie_op_pic' }).set('html' , elm.props.movie_or_pic).injectInside(gText);
                
            })
			
        },
        height:350,
        exclude:false		
    },

	initialize : function(element , options){
        this.setOptions(options);
        
		this.elm = $(element);
        this.page = 1;
        this.product_page = 1;
        
        var page_box = this.elm.getParent().getFirst();
        
        
        this.buttons = {
            'prev_page':page_box.getElement('#prev_page'),
            'next_page':page_box.getElement('#next_page'),
		'next_page2':page_box.getElement('#ajax_link'),
            'more_button':page_box.getElement('#more_button')
        };
        this.container = this.elm.getElement('#products-inner2');
        
        this.toggle_button('prev_page' , false );
        this.toggle_button('next_page' , true );
        this.toggle_button('more_button' , true );
		this.toggle_button('next_page2' , true );
	},
    
    toggle_button : function (id , enable){
        var button = this.buttons[id];
        
        var go_back = id == "prev_page";
		
		
		var dest_page = go_back ? this.product_page - 1 : this.product_page + 1;
		
		if (all_pages != -1)
		{
			if (dest_page < 1)
				dest_page = all_pages;
			else if(dest_page > all_pages)
				dest_page = 1;
		}
		
				
        var img_src = !go_back ? "2" : "1";
        
        img_src = "/images/box_next" + img_src;
        
        if(!enable)
            img_src += ".dis";
        img_src += ".gif";
        
        if(button.id != 'more_button')
            button.src=img_src;
        button.setStyle('cursor' , enable ? 'pointer' : '');
        button.removeEvents('click');
        if(enable){
            button.addEvent('click' , this.load_main_images.bind(this,dest_page));
        }
    },
    
    load_main_images:function (page){
        if(!page)
            this.page = 1;
        else
            this.page = page;
            
        
        this.buttons.more_button.src = "/images/load.gif";
        var address = '/ajax.php?page=' + page + '&count=' + this.options.items_par_page;
        if(this.options.exclude !== false) address += "&exclude=" + this.options.exclude;
        
        var request = new Request.JSON({
            url: address,
            method: 'get',
            onComplete: function(data){
                var onCom = this.process_data.bind(this , data , page);
				onCom();   
    		}.bind(this)
        }).send();
        
    },
    
    process_data:function(data , page){
        var i = 0;
        var img_list = [];
        var pos_dir = this.product_page > this.page;
            
        if(pos_dir){
            var NextCont = new Element('div' , {'class':'insider'} ).injectTop(this.container);
            this.container.setStyle('top','-' + this.options.height + 'px');
        } else {
            var NextCont = new Element('div' , {'class':'insider'} ).injectInside(this.container);
        }
        
        var template = this.options.template.bind(this);
        template(data , NextCont);
		
		all_pages = data.count_pages;
		
        this.product_page = this.page;
        this.toggle_button('prev_page' , true );
        this.toggle_button('next_page' , true );
        this.toggle_button('more_button' , true );
		this.toggle_button('next_page2' , true );
        this.buttons.more_button.src = "/images/box_next-main.gif";

        var myEffect = new Fx.Morph(this.container, {duration: 'long', transition: Fx.Transitions.Quad.easeOut});
        var dest = [];
        if(pos_dir)
            dest = [this.options.height * -1, 0]
        else
            dest = [0, this.options.height * -1]
            
        myEffect.start({
            'top': dest
        }).chain(function(){
            if(pos_dir)
                this.container.getChildren()[1].dispose();
            else
                this.container.getChildren()[0].dispose();
            this.container.setStyle('top','0px');
        }.bind(this)); 
    }
});
new Asset.images(['/images/load.gif','/images/box_next1.dis.gif','/images/box_next2.dis.gif']);
