
var last_call=null;

var load_ecar=function(eid){
      //no headline?
      $('#model_list_head').text('Elektroauto');      
      $('#model_list_head').css('display','block');
      
      $.post("ajax.php", { action: "get_ecar", id: eid},
      function(data){
        $("#model_list").html(data);
      }, "html");
};

var register_show_models_links=function(){
  $('.show_models_link').click(function(e){
    $('#sp_h').text('Suchergebnis');        
    $.ajax({
      url:"ajax.php", 
      data:{ action: "search_cars", q:$(this).attr('q'), m:$(this).attr('m')},      
      success: function(data){      
        window.scrollTo(0,0);
        //'<a href="javascript:restoreList(\'#sp_l\');">Zur&uuml;ck</a>'
        $("#sp_l").html('<div id="model_list" class="a_box">'+data+'</div>');
      },
      global: false,
      type:"POST",
      dataType:"html",
      beforeSend: saveList('#sp_l')
    });    
  });
};

$(document).ready(function() {

  var chaser=['motor_chooser','segment_chooser'];
  $(chaser).each(function(){
    $('#'+this).change(changeRanking);
  });
  
  $('#co2ranking').ajaxStart(function(){    
    $("#co2ranking").html('<li>loading... <img src="images/spinner.gif"></li>');
  });
  
  $('#q').click(function(){$('#q').val('')});
  
  $('#marke_chooser').change(changeMarke);
  $('#model_list').ajaxStart(function(){    
    $("#model_list").html('<li>loading... <img src="images/spinner.gif"></li>');
  });
  
  $('.ysel').each(function(){
    var n=$(this).html();    
    $(this).click(function(){
      $('div.wrapper').animate({'left':-$('#l'+n).position().left});
      //show active year in list      
      $('.ysel').each(function(){
        $(this).removeClass('act1');  
      });
      $(this).addClass('act1');
    });            
  });
  
  /* event click for auto page*/
  $('.e_d').each(function(){
    $(this).click(function(){
      load_ecar($(this).attr('eid'));
    });
  });
  
  /* event click for startpage*/
  $('.e_e').each(function(){
    var el=$(this);
    el.click(function(){      
      $('#sp_h').text('Elektroauto');
      $('#sp_l').html('<li>loading... <img src="images/spinner.gif"></li>');
      $.post("ajax.php", { action: "get_ecar", id: el.attr('eid')},
      function(data){
        $("#sp_l").html(data);
      }, "html");
    });
  });

  $('#co2f').submit(function(e){
    e.preventDefault();
    $.post("ajax.php", { action: "search_cars", co2:$('#co2v').val() },
	    function(data){
	      $("#model_list").html(data);
	    }, "html");
  });
  $('#cowt').submit(function(e){
    e.preventDefault();
    $.post("ajax.php", { action: "search_cars", w:$('#cwt').val() },
      function(data){
        $("#model_list").html(data);
      }, "html");
  });
  
  register_show_models_links();
  
  $('#scroll_back').click(function(){
    $('.ysel').each(function(){
      if($(this).hasClass('act1')){
        var n=$(this).prev().html();
        if(n==null) return false;
        $('div.wrapper').animate({'left':-$('#l'+n).position().left});
        $(this).removeClass('act1');
        $(this).prev().addClass('act1');
        return false;
      }
    });    
  });
  
  $('#scroll_forw').click(function(){    
    $('.ysel').each(function(){
      if($(this).hasClass('act1')){
        var n=$(this).next().html();
        if(n==null) return false;
		    $('div.wrapper').animate({'left':-$('#l'+n).position().left});
		    $(this).removeClass('act1');
		    $(this).next().addClass('act1');
		    return false;
      }
    });    
  });
  
  $('#show_favs').click(function(){
    var favs=$.evalJSON($.cookie('startblue_favs'));
    if(favs){
      var elems='<ul class="nobl" style="padding:0;" id="fav_list">';      
      $(favs).each(function(){
        elems+='<li><a href="'+this[2]+'">'+this[0]+' '+this[1]+'</a> <a href="javascript:removeFromFav(\''+this[2]+'\');">[x]</a></li>';                    
      });
      elems+='</ul>';
      $('#fav_dialog').html(elems);
    }
    else $('#fav_dialog').html('Favoriten konnten nicht geladen werden');
    $('#fav_dialog').css('display','block');
    $('#fav_dialog').dialog({
      modal:true,
      overlay: { 
        opacity: 0.5, 
        background: "black" 
      },
      height:300
    });
  });
  
  if($.evalJSON($.cookie('startblue_favs'))){
    $('#fav_link').css('display','inline');
  }
  
  $('a[rel="lightbox[blue]"]').lightbox();
  
});

function changeRanking(){
  
  $.post("ajax.php", { action: "get_cars", motor: $('#motor_chooser').val(), segment: $('#segment_chooser').val() },
    function(data){
      $("#co2ranking").html(data);
            last_call={ action: "get_cars", motor: $('#motor_chooser').val(), segment: $('#segment_chooser').val() };
      register_show_models_links();
    }, "html");
  
}

function changeMarke(){
  $.post("ajax.php", { action: "get_models", marke:$('#marke_chooser').val() },
    function(data){      
      $('#model_list_head').html('Suchergebnis f&uuml;r '+$('#marke_chooser').val());
      $('#model_list_head').css('display','block');
      $("#model_list").html(data);
      last_call={ action: "get_models", marke:$('#marke_chooser').val() };
    }, "html");
}

function saveList(el_id){
  //$('#hidden_area').html($(el_id).html());
}

function restoreList(el_id){
  //$(el_id).html($('#hidden_area').html());
  console.log(last_call);
  if(last_call!=null)
  $.post("ajax.php", last_call,
      function(data){
        $("#sp_l").html(data);
        register_show_models_links();
      }, "html");
}

function addToFav(m,mm,url){
  var favs=$.evalJSON($.cookie('startblue_favs'));
  if(favs==null) favs=[];
  var add=true;
  $(favs).each(function(){
    if(this[2]==url) add=false;
  });
  if(add){    
    favs.push([m,mm,url]);  
    $.cookie('startblue_favs',$.toJSON(favs));
    //add menu entry
    $('#fav_link').css('display','inline');
    $('#fav_dialog').html('<h2>Favorit wurde hinzugef&uuml;gt!</h2>Um die Liste aufzurufen, klicke auf das Herz ganz oben auf der Seite.');    
    $('#fav_dialog').dialog({width:470});
    $('#fav_dialog').css('display','block');
  }  
}

function removeFromFav(url){
  var t=new RegExp(url.substr(url.length-32,32));
  $('#fav_list').children().each(function(){           
    if(t.test(this.firstChild.href)){
      this.parentNode.removeChild(this);
      var favs=$.evalJSON($.cookie('startblue_favs'));
      var newfavs=[];
      $(favs).each(function(){
        if(this[2]!=url) newfavs.push(this);
      });      
      $.cookie('startblue_favs',$.toJSON(newfavs));
    }    
  });  
}

function show_ui(title,href,w,h){
  $.ajax({
      url:href,             
      success: function(data){
      $("#ui").html(data);
      },
      global: false,
      type:"POST",
      dataType:"html"
    });    
    $('#ui').attr('title',title);
    $('#ui').dialog({modal:true,
        overlay: { 
        opacity: 0.5, 
        background: "black" 
      },
      width:w||480,height:h||320});
    $('#ui').css('width','92%');
}

function calc_co2(id_avg,id_gas,id_goal){
	var liter100=$('#'+id_avg).val();
	liter100=liter100.replace(/,/,'.');
	var faktor;
	switch($('#'+id_gas).val()){
		case 'Benzin': faktor=2.33;break;
		case 'Diesel': faktor=2.64;break;
		case 'Autogas': faktor=1.74;break;
		case 'Erdgas': faktor=2.75;break;
	}
	var result=Math.round(liter100*faktor*10);
	$('#'+id_goal).html('Der CO2 Wert beträgt: <span class="co2value">'+result+'</span> g/km');
}