(function() {
  window.a2b = {
    host: "api.fromatob.com",
    suggest_cache: {}
  }
	if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.6.1') {
	    var script_tag = document.createElement('script');
	    script_tag.setAttribute("type","text/javascript");
	    script_tag.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js");
	    script_tag.onload = scriptLoadHandler;
	    script_tag.onreadystatechange = function () { // Same thing but for IE
	        if (this.readyState == 'complete' || this.readyState == 'loaded') {
	            scriptLoadHandler();
	        }
	    };
	    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
	} else {
	    //jQuery = window.jQuery;
	    main();
	}

	function scriptLoadHandler() {
    $.getScript( "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js", function() { 
      main();
    } );
	}

  window.maps_callback = function(){
    window.a2b.geocoder = new google.maps.Geocoder();
    window.a2b.suggest = function(request, response, autocomplete) {
      if( request.term == autocomplete.element.val() ){
        $.ajax({
          url: 'http://'+window.a2b.host+'/nodes/suggest.json',
          dataType: "jsonp",
          request_term: request.term,
          autocomplete: autocomplete,
          data: {
            input: request.term,
            c: request.geocords
          },
          success: function(data) {
            if( request.term == autocomplete.element.val() && data.stops.length > 0 ){
              window.a2b.suggest_cache[request.term] = $.map(data.stops, function(stop) {
                return {
                  label: stop.name,
                  id: stop.id
                };
              }) 
              response( window.a2b.suggest_cache[request.term] );
            }else{
              response(null);
            }
          }
        });
      }else{
        response(null);
      }
    };
    load_widget();
  };

	function main() { 
      var host = "api.fromatob.com";
	    $(document).ready(function($) { 
         var link = $("<link>");
         link.attr({
           type: 'text/css',
           rel: 'stylesheet',
           href: "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/ui-lightness/jquery-ui.css"
         });
         $("head").append( link );
         var link = $("<link>");
         link.attr({
           type: 'text/css',
           rel: 'stylesheet',
           href: "http://"+host+"/stylesheets/widget_v1.css?_=3"
         });
         $("head").append( link ); 

         $("#verkehrsmittelvergleich_de_widget_wrapper").append( '<div id=\'a2bw1\'><div class=\'container_24 a2bw-box\' id=\'a2bw\'><form accept-charset=\"UTF-8\" action=\"http://www.verkehrsmittelvergleich.de/search_jobs\" id=\"new_search_job\" method=\"post\" target=\"_blank\"><div style=\"margin:0;padding:0;display:inline\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input name=\"authenticity_token\" type=\"hidden\" value=\"V2ZFMNIurxmUafcnXMAdO7RxqqljjDPoF9KtXWdUMDA=\" /><\/div><input id=\"at_time\" name=\"at_time\" type=\"hidden\" value=\"0-23\" /><input id=\"in_at_time\" name=\"in_at_time\" type=\"hidden\" value=\"0-23\" /><input id=\"multiple_people\" name=\"multiple_people\" type=\"hidden\" value=\"1\" /><input id=\"return_trip\" name=\"return_trip\" type=\"hidden\" /><input id=\"search_job_dep_id\" name=\"search_job[dep_id]\" type=\"hidden\" /><input id=\"search_job_arr_id\" name=\"search_job[arr_id]\" type=\"hidden\" /><input id=\"search_job_at_direction\" name=\"search_job[at_direction]\" type=\"hidden\" value=\"1\" /><input id=\"search_job_in_at_direction\" name=\"search_job[in_at_direction]\" type=\"hidden\" value=\"1\" /><input id=\"search_job_settings_passengers__age\" name=\"search_job[settings][passengers][][age]\" type=\"hidden\" value=\"35\" /><input id=\"search_job_settings_passengers__partners_de_deutsche_bahn_card_id\" name=\"search_job[settings][passengers][][partners][de_deutsche_bahn][card_id]\" type=\"hidden\" value=\"0\" /><input id=\"search_job_settings_change_time_id\" name=\"search_job[settings][change_time_id]\" type=\"hidden\" value=\"2\" /><input id=\"search_job_settings_vehicles_train_enable\" name=\"search_job[settings][vehicles][train][enable]\" type=\"hidden\" value=\"true\" /><input id=\"search_job_settings_vehicles_train_travel_class_id\" name=\"search_job[settings][vehicles][train][travel_class_id]\" type=\"hidden\" value=\"2\" /><input id=\"search_job_settings_vehicles_plane_travel_class_id\" name=\"search_job[settings][vehicles][plane][travel_class_id]\" type=\"hidden\" value=\"1\" /><input id=\"search_job_settings_vehicles_car_amount\" name=\"search_job[settings][vehicles][car][amount]\" type=\"hidden\" value=\"0.1\" /><input id=\"search_job_settings_vehicles_car_fuel_id\" name=\"search_job[settings][vehicles][car][fuel_id]\" type=\"hidden\" value=\"1\" /><input id=\"search_job_settings_vehicles_car_consumption\" name=\"search_job[settings][vehicles][car][consumption]\" type=\"hidden\" value=\"6.0\" /><input id=\"search_job_settings_vehicles_plane_enable\" name=\"search_job[settings][vehicles][plane][enable]\" type=\"hidden\" value=\"true\" /><input id=\"search_job_settings_vehicles_car_enable\" name=\"search_job[settings][vehicles][car][enable]\" type=\"hidden\" value=\"true\" /><input id=\"search_job_settings_vehicles_bus_enable\" name=\"search_job[settings][vehicles][bus][enable]\" type=\"hidden\" value=\"true\" /><input id=\"search_job_settings_vehicles_taxi_enable\" name=\"search_job[settings][vehicles][taxi][enable]\" type=\"hidden\" value=\"true\" /><input id=\"search_job_settings_vehicles_ride_enable\" name=\"search_job[settings][vehicles][ride][enable]\" type=\"hidden\" value=\"true\" /><div class=\'grid_8\'><div class=\'grid_1\'><label for=\"search_job_dep_name\">Von<\/label><\/div><div class=\'grid_6\'><input data-update-field=\"#search_job_dep_id\" id=\"search_job_dep_name\" name=\"search_job[dep_name]\" placeholder=\"Stadt oder Bahnhof eingeben\" type=\"text\" value=\"\" /><\/div><\/div><div class=\'grid_8\'><div class=\'grid_1\'><label for=\"search_job_arr_name\">Nach<\/label><\/div><div class=\'grid_6\'><input data-update-field=\"#search_job_arr_id\" id=\"search_job_arr_name\" name=\"search_job[arr_name]\" placeholder=\"Stadt oder Bahnhof eingeben\" type=\"text\" value=\"\" /><\/div><\/div><div class=\'grid_8\'><div class=\'grid_1\'><label for=\"dep\">Hin<\/label><\/div><div class=\'grid_6\'><input class=\"a2bw-dpicker\" id=\"at_date\" name=\"at_date\" type=\"text\" value=\"\" /><label for=\"with_return\">Rück<\/label><input id=\"with_return\" name=\"with_return\" type=\"checkbox\" value=\"1\" /><span id=\'a2bw-arr\' style=\'display:none\'><input class=\"a2bw-dpicker\" id=\"in_at_date\" name=\"in_at_date\" type=\"text\" value=\"\" /><\/span><\/div><\/div><div class=\'grid_8 a2b-vehicles\'><div class=\'grid_2 a2b-train\'><input checked=\"checked\" id=\"ph\" name=\"ph\" type=\"checkbox\" value=\"\" />Zug<\/div><div class=\'grid_2 a2b-plane\'><input checked=\"checked\" id=\"ph\" name=\"ph\" type=\"checkbox\" value=\"\" />Flug<\/div><div class=\'grid_3 a2b-bus\'><input checked=\"checked\" id=\"ph\" name=\"ph\" type=\"checkbox\" value=\"\" />Fernbus<\/div><!-- /.clear --><div class=\'grid_2 a2b-car\'><input checked=\"checked\" id=\"ph\" name=\"ph\" type=\"checkbox\" value=\"\" />PKW<\/div><div class=\'grid_2 a2b-taxi\'><input checked=\"checked\" id=\"ph\" name=\"ph\" type=\"checkbox\" value=\"\" />Taxi<\/div><div class=\'grid_3 a2b-ride\'><input checked=\"checked\" id=\"ph\" name=\"ph\" type=\"checkbox\" value=\"\" />Mitfahrg.<\/div><!-- /.clear --><\/div><div class=\'grid_8\'><div class=\'grid_2\'><input id=\"a2bw-submit\" name=\"commit\" type=\"submit\" value=\"Suchen\" /><\/div><\/div><div class=\'clear\'><\/div><\/form><\/div><\/div>' );
         $.getScript( "http://maps.googleapis.com/maps/api/js?sensor=false&callback=maps_callback" );
         
	    });
	}

  function load_widget(){
    $.getScript( "http://"+window.a2b.host+"/javascripts/widget_v1.js?_=3" )
  }
})();

