// 
//  list.js
//  Behaviours for the mobile list page.
//  
//  Created by Ned Baldessin on 2008-08-27.
//  Copyright 2008 Ned Baldessin. All rights reserved.
//
//
//modif R.C 2008-01-07

/* initialization de page */
function listMobile(){

	new Ajax.Updater({ success: 'result-block'},'/ajax/listMobile.ajax.php',
	{
		method: 'post',
		onComplete: function(){

		    $('loading-spinner').hide();
		    new Effect.Appear('result-block');
		    
    		    //observe addCart et comparateur
			if (Prototype.Browser.IE){
				$$('a.select').each(function(el){
				    Event.observe(el, 'click', function(ev){
                        Event.stop(ev);
                         cartAddMobile(el);
                    });
				});
			 }else{

			    $$('a.select').each(function(el){
                    Event.observe(el, 'click', function(ev){
                        Event.stop(ev);
                         cartAddMobile(el);

                    });
			    });

			 }
			if (Prototype.Browser.IE && parseInt(navigator.appVersion.match( /msie (\d+)/i )[1]) == 6) {
				 $$('a.compare').each(function(el){
					Event.observe(el, 'click', function(ev){
					    Event.stop(ev);
					    add_to_session_store(el);
					});
				 });


			}else{
				 $$('a.compare[rel]').each(function(el){
				    Event.observe(el, 'click', drawer.compare_button_handler.bindAsEventListener(drawer));
				});

			}

            // DRAG'N'DROP
		// Désactivé pour IE7 pour manque de support décent de z-index.
		if(!Prototype.Browser.IE) {
			$$('table.mobile-list tr.pic-row img').each(function(el){
				new Draggable(el, {ghosting: false, revert:true, onStart:drawer.open_drawer.bindAsEventListener(drawer) });
			});

			// On désamorce les liens sur les /images si l'utilisateur
			// vient de glisser-déposer un item.
			$$('table.mobile-list tr.pic-row a').each(function(el){
				$(el).observe('click', function(the_click) {
					if (Draggable._dragging[the_click.element()]) the_click.stop();
				});
			});

			$$('.drop-zone').each(function(el){
				Droppables.add(el, {hoverclass:'state-hover', onDrop:drawer.drop_mobile_in });
			});
		}
			
		}
	});

    new Ajax.Updater({ success: 'filter'},'/ajax/listTriMobile.ajax.php',
	{
		method: 'post',
		onComplete: function(){

		   // new Effect.Appear('filter');
           // The submit button for the filter radioboxes, for accessibility.
            $('submit_filter').hide();

            // The spinner.
            $('loading-spinner').hide();

            $('submit_filter').observe('submit', fetch_filtered_mobiles);

            $$('#filter input').each(function(el){
                if (el.type == 'checkbox') {
                    // IE doesn't like onChange on checkboxes. onClick works.
                    $(el).observe('click', fetch_filtered_mobiles);

                }
            });
		}
	});
}
    //fonction de creation des liens top page
        function logPage(obj, title) {

            var lLinks = $$('#result-count a');
            var sListLink = null;
            var test = false;
            if(lLinks != "" && lLinks != null)
            {
                lLinks.each(function (list)
                {
                    sListLink = list.readAttribute('rel');

                    if(sListLink == obj)
                    {
                        test = true;
                    }
                });

                if (test == false)
                {
                    $('result-count').insert({ bottom: "<a rel=\""+obj+"\" href=\"#\">"+title+"</a>&nbsp;&nbsp;" });
                }

            }else{

                if (test == false)
                {
                    $('result-count').insert({ bottom: "<a rel=\""+obj+"\" href=\"#\">"+title+"</a>&nbsp;&nbsp;" });
                }

            }

        }

document.observe('dom:loaded', function(){
	
	listMobile();

    	// DRAG'N'DROP
		// Désactivé pour IE7 pour manque de support décent de z-index.
		if(!Prototype.Browser.IE) {
			$$('table.mobile-list tr.pic-row img').each(function(el){
				new Draggable(el, {ghosting: false, revert:true, onStart:drawer.open_drawer.bindAsEventListener(drawer) });
			});

			// On désamorce les liens sur les /images si l'utilisateur
			// vient de glisser-déposer un item.
			$$('table.mobile-list tr.pic-row a').each(function(el){
				$(el).observe('click', function(the_click) {
					if (Draggable._dragging[the_click.element()]) the_click.stop();
				});
			});

			$$('.drop-zone').each(function(el){
				Droppables.add(el, {hoverclass:'state-hover', onDrop:drawer.drop_mobile_in });
			});
		}
	// The submit button for the filter radioboxes, for accessibility.
	$('submit_filter').hide();
	
	// The spinner.
	$('loading-spinner').hide();
	
	$('submit_filter').observe('submit', fetch_filtered_mobiles);
	
	$$('#filter input').each(function(el){
		if (el.type == 'checkbox') {
			// IE doesn't like onChange on checkboxes. onClick works.
			$(el).observe('click', fetch_filtered_mobiles);
                        
		}
	});

	$$('#reorder a').each(function(el){
		Event.observe(el, 'click', function(ev){
			$('filter_form').reset();
            Event.stop(ev);
			$('order_by').value = this.readAttribute('rel');
         	fetch_filtered_mobiles();
            
		});
	});
	
	$$('.tout-decocher').each(function(el){
		$(el).observe('click', function(ev){
			$('filter_form').reset();
			Event.stop(ev);
            fetch_filtered_mobiles();
           
		})
	})
/*
     //link page
    $$('#reorder a').each(function(el){
        Event.observe(el, 'click', function(ev){
            Event.stop(ev);
            logPage(this.value = this.readAttribute('rel'), this.innerHTML);

        });
    });

     $$('#result-count a').each(function(el){
		Event.observe(el, 'click', function(ev){
			Event.stop(ev);
            //$('order_by').value = this.readAttribute('rel');
			//fetch_filtered_mobiles();

		});
	}); */
	
})

function fetch_filtered_mobiles(ev) {
 
	$('result-block').innerHTML = '';
	$('result-block').hide();
	
	$('loading-spinner').show();
	
	var backend = $('filter_form').readAttribute('action');

    var data = $('filter_form').serialize(true);

    //console.log(data);
	new Ajax.Updater('result-block', backend, {parameters: data, onComplete:function(){
		$('loading-spinner').hide();
		new Effect.Appear('result-block');

	    //observe addCart et comparateur
	    if (Prototype.Browser.IE){
		    $$('a.select').each(function(el){
			Event.observe(el, 'click', function(ev){
			    Event.stop(ev);
			     cartAddMobile(el);
			   });
		    });
	     }else{

            $$('a.select').each(function(el){
                Event.observe(el, 'click', function(ev){
                    Event.stop(ev);
                     cartAddMobile(el);

                });
            });
		    
	     }
	    if (Prototype.Browser.IE && parseInt(navigator.appVersion.match( /msie (\d+)/i )[1]) == 6) {
		     $$('a.compare').each(function(el){
			    Event.observe(el, 'click', function(ev){
                    Event.stop(ev);
                    add_to_session_store(el);
			    });
		     });


	    }else{
		     $$('a.compare[rel]').each(function(el){
                Event.observe(el, 'click', drawer.compare_button_handler.bindAsEventListener(drawer));
		    });

	    }

        // DRAG'N'DROP
		// Désactivé pour IE7 pour manque de support décent de z-index.
		if(!Prototype.Browser.IE) {
			$$('table.mobile-list tr.pic-row img').each(function(el){
				new Draggable(el, {ghosting: false, revert:true, onStart:drawer.open_drawer.bindAsEventListener(drawer) });
			});

			// On désamorce les liens sur les /images si l'utilisateur
			// vient de glisser-déposer un item.
			$$('table.mobile-list tr.pic-row a').each(function(el){
				$(el).observe('click', function(the_click) {
					if (Draggable._dragging[the_click.element()]) the_click.stop();
				});
			});

			$$('.drop-zone').each(function(el){
				Droppables.add(el, {hoverclass:'state-hover', onDrop:drawer.drop_mobile_in });
			});
		}


	}});

    	new Ajax.Updater('filter', '/ajax/listTriMobile.ajax.php', {parameters: data, onComplete:function(){

		//new Effect.Appear('filtre');
            // The submit button for the filter radioboxes, for accessibility.
            $('submit_filter').hide();

            // The spinner.
            $('loading-spinner').hide();

            $('submit_filter').observe('submit', fetch_filtered_mobiles);

            $$('#filter input').each(function(el){
                if (el.type == 'checkbox') {
                    // IE doesn't like onChange on checkboxes. onClick works.
                    $(el).observe('click', fetch_filtered_mobiles);

                }
            });
            $$('.tout-decocher').each(function(el){
                $(el).observe('click', function(ev){
                    $('filter_form').reset();
                    Event.stop(ev);
                    listMobile();

                });
            });

	}});

	
}

function updateResultCount(count) {
	$('result-count').update('('+count+' modéles)');
}