/* main.js */

var active_referenz = 0;
var active_referenz_box = 0;
var active_referenz_home = 7;
var ref_url = 'http://www.flottweg.de/cms/front_content.php?idcat=86&lang=1';
var geocoder = null;
var map = null;
var addresses = [];
var numGeocoded = 0;
var markers = {};

if( typeof MooTools !== 'undefined' ) {
  window.addEvent('domready', function() {
     js_init();
  });
}

function js_init(){
  /*Lupen in Bilder einfügen*/
  $$('a[rel=lightbox] img').each(function(lightbox_image){
  	var newcontent = '<img border="' + lightbox_image.border + '" width="' + lightbox_image.width + '" height="' + lightbox_image.height + '" src="' +  lightbox_image.src+ '" alt="' + lightbox_image.alt + '" title="' + lightbox_image.title + '">';
  	newcontent = newcontent + '<img src="/cms/upload/template/lupe.png" style="position: absolute; left: ' + (lightbox_image.width - 44) + 'px; bottom: 2px;">';
  	var tmpdiv = new Element('div', {html:newcontent});
  	tmpdiv.setStyles({
  		position: 'relative',
  		float: 'left'
  	});
  	tmpdiv.replaces(lightbox_image);
  });
  $$('div#content_inner a[rel=lightbox] div').each(function(lightbox_div){
  	lightbox_div.setStyle('float', 'none');
  });

  try{
     $('country').addEvent('mouseover', function(event){
        $('country_out').setStyle('display','block');
     });
     $('country').addEvent('mouseout', function(event){
         $('country_out').setStyle('display','none');
     });
  }catch(e){};

  try{
     $('flottweg_weltweit').addEvent('mouseover', function(event){
        $('maps_box').toggleClass('active');
     });
     $('flottweg_weltweit').addEvent('mouseout', function(event){
         $('maps_box').toggleClass('active');
     });
  }catch(e){};

   try{
     $('anwendungen_ajax').addEvent('click', function(event){
        $('anwendungsBaum').toggleClass('open');
     });
  }catch(e){};

   try{
     $$('div.anwendungen_ajax').addEvent('click', function(event){
        $$('.anwendungsBaum').toggleClass('anwendungsBaum_open');
     });
  }catch(e){};

   try{
     $$('div.produkte_ajax').addEvent('click', function(event){
        $$('.produkteBaum').toggleClass('produkteBaum_open');
     });
  }catch(e){};
  
  try{
     $('form_ajax').addEvent('click', function(event){
        $('anfrageForm').toggleClass('open');
     });
  }catch(e){};
  
  try{
     $('bros_ajax').addEvent('click', function(event){
        $('bros').toggleClass('open');
     });
     $('prod_ajax').addEvent('click', function(event){
        $('prod').toggleClass('open');
     });
     $('anwe_ajax').addEvent('click', function(event){
        $('anwe').toggleClass('open');
     });
  }catch(e){};

  try{
     $('Jahr').addEvent('focus', function(event){
        if($('Jahr').value == 'yyyy') $('Jahr').value = '';
     });
     $('Jahr').addEvent('blur', function(event){
        if($('Jahr').value == '') $('Jahr').value = 'yyyy';
     });
     $('Tag').addEvent('focus', function(event){
        if($('Tag').value == 'dd') $('Tag').value = '';
     });
     $('Tag').addEvent('blur', function(event){
        if($('Tag').value == '') $('Tag').value = 'dd';
     });
     $('Monat').addEvent('focus', function(event){
        if($('Monat').value == 'mm') $('Monat').value = '';
     });
     $('Monat').addEvent('blur', function(event){
        if($('Monat').value == '') $('Monat').value = 'mm';
     });
     $('Stunden').addEvent('focus', function(event){
        if($('Stunden').value == 'hh') $('Stunden').value = '';
     });
     $('Stunden').addEvent('blur', function(event){
        if($('Stunden').value == '') $('Stunden').value = 'hh';
     });
     $('Minuten').addEvent('focus', function(event){
        if($('Minuten').value == 'mm') $('Minuten').value = '';
     });
     $('Minuten').addEvent('blur', function(event){
        if($('Minuten').value == '') $('Minuten').value = 'mm';
     });
  }catch(e){};

  try{
     $('messen_year').addEvent('change', function(event){
        $('messen_select_form').submit();
     });
     $('messen_country').addEvent('change', function(event){
        $('messen_select_form').submit();
     });
  }catch(e){};

  try{
     $$('#google_maps_countries a').addEvent('click', function(event){
        $$('#google_maps_countries a').removeClass('active');
        this.toggleClass('active');
        show_country(this.title, this.name);
        show_country_reps(this.name);
        return false;
     });
  }catch(e){};

  try{
    map_initialize();
  }catch(e){};

  try{
      home_init();
  }catch(e){};  

}

function switch_referenzen(id, id2, count){
   if(active_referenz != 0)$('link_'+active_referenz).toggleClass('active');
   $('link_'+id).toggleClass('active');
   active_referenz = id;
   if(id2 == 2)$('r3_body').empty();
   if(id2 == 3)$('r2_body').empty();
   var myHTMLRequest = new Request.HTML({url:ref_url, update:'r'+id2+'_body'});
   myHTMLRequest.post({'rid': id, 'count':count, 'bid':id2});
   return false;
};

function switch_referenzen_home(count){
   var myHTMLRequest = new Request.HTML({url:ref_url, update:'referenzen_1'});
   myHTMLRequest.post({'rid': 0, 'count':count, 'bid':0});
   $('r3_body').empty();
   $('r2_body').empty();
   if(active_referenz != 0){
      $('link_'+active_referenz).toggleClass('active');
      active_referenz = 0;
   };
   return false;
};



function map_initialize() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    center = new GLatLng(28.921631, -33.75);
    map.setCenter(center, 1);
    map.enableDoubleClickZoom();

    map.setUIToDefault();

    geocoder = new GClientGeocoder();
    geocoder.setCache(null);

    count = officeLayer.length -1;
   var i;
   for(i=0; i<=count; i++) {
       addresses.push(officeLayer[i]["address"]);
    }

    window.setTimeout(geocodeAll, 50);
  }

}

function map_copy_settings() {
	if(GBrowserIsCompatible()) {
		center = opener.map.getCenter();
		zoom = opener.map.getZoom();
		type = opener.map.getCurrentMapType();

		map.setCenter(center, zoom, type);
	}
}
function copy_current_agencies() { 
	$('agencies').set('html', opener.document.getElementById('companies_box').innerHTML);
}


function geocodeAll() {
      if (numGeocoded < addresses.length) {
//          if( typeof console == 'object' && console.hasOwnProperty("dir")) {
//              console.log("Adresse: " + addresses[numGeocoded]);
//          }
        if( geoLoaded[addresses[numGeocoded]] ) {
            addressResolved(geoLoaded[addresses[numGeocoded]]);
        } else {
            geocoder.getLocations(addresses[numGeocoded], addressResolved);
        }
      }
    }


function addressResolved(response) {
     var delay = 0;
     if (response.Status.code == 620) {
       // Too fast, try again, with a small pause
       delay = 500;
     } else {
       if (response.Status.code == 200) {
         // Success; do something with the address.
         place = response.Placemark[0];
         point = new GLatLng(place.Point.coordinates[1],
                             place.Point.coordinates[0]);
         var redIcon = new GIcon(G_DEFAULT_ICON);
         var blueIcon = new GIcon(redIcon, '/cms/upload/template/blue-marker.png');
         var greenIcon = new GIcon(redIcon, '/cms/upload/template/green-marker.png');

         markerOptions = { icon:redIcon };
         if(officeLayer[numGeocoded]["marker"]==3)markerOptions = { icon:blueIcon };
         if(officeLayer[numGeocoded]["marker"]==1)markerOptions = { icon:greenIcon };
         var marker = new GMarker(point, markerOptions);
         map.addOverlay(marker);
         var tab1 = new GInfoWindowTab('Contact',officeLayer[numGeocoded]["html1"]);
         var tab2 = new GInfoWindowTab('Additional',officeLayer[numGeocoded]["html2"]);
         var tabs = new Array(tab1, tab2);
         GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowTabsHtml(tabs);
         });
         markers[officeLayer[numGeocoded].addrid] = [ marker, tabs ];
       }
       // Move onto the next address; this skips bad addresses, too.
       numGeocoded += 1;
     }
     window.setTimeout(geocodeAll, delay);
   }


function showmarker(idaddr) {
    if( typeof markers[idaddr] !== 'undefined' ) {
        var m = markers[idaddr];
        m[0].openInfoWindowTabsHtml(m[1], { selectedTab: 1 });
    }
}



function show_country(country, iso) {
      /*Get Mapscale*/
      var mapskale = 4;
      myReq = new Request({
        url: '/cms/front_content.php',
        method: 'GET',
        onSuccess: function(mapscale) {
          if(mapscale > 0) {
	    mapskale = parseInt(mapscale);
          } 
       /*Set Mapscale*/
	      if (geocoder) {
	        geocoder.getLatLng(
	          country,
	          function(point) {
	            if (!point) {
	              //alert(country + " not found");
	            } else {
	              map.setZoom(mapskale);
	              map.panTo(point);
	            }
	          }
	        );
	      } 
	 }
      });
      myReq.send('idcat=112&idart=268&country=' + iso + '&lang=' + lang + '&zoom=1');
}

function show_country_reps(country) {
    myReq = new Request.HTML({
      url: '/cms/front_content.php',
      method: 'GET',
      onSuccess: function(html) {
        $('companies_box_wrap').set('text','');
        $('companies_box_wrap').adopt(html);
      }
    });
    myReq.send('idcat=112&idart=268&country=' + country + '&lang=' + lang);
}

function home_init(){

   $('home_ajax2_text').setStyle('display','none');
   $('home_ajax3_text').setStyle('display','none');
   $('home_ajax4_text').setStyle('display','none');

   $('home_ajax6_text').setStyle('display','none');
   $('home_ajax7_text').setStyle('display','none');
   $('home_ajax8_text').setStyle('display','none');
   $('home_ajax9_text').setStyle('display','none');

   $('menu1').addEvent('click', function(event){
        show_home_ajax(1);
        return false;
   });

   $('menu2').addEvent('click', function(event){
        show_home_ajax(2);
        return false;
   });

   $('menu3').addEvent('click', function(event){
        show_home_ajax(3);
        return false;
   });

   $('menu4').addEvent('click', function(event){
        show_home_ajax(4);
        return false;
   });

   $('menu5').addEvent('click', function(event){
        show_home_ajax(5);
        return false;
   });

   $('menu6').addEvent('click', function(event){
        show_home_ajax(6);
        return false;
   });

   $('menu7').addEvent('click', function(event){
        show_home_ajax(7);
        return false;
   });

   $('menu8').addEvent('click', function(event){
        show_home_ajax(8);
        return false;
   });

   $('menu9').addEvent('click', function(event){
        show_home_ajax(9);
        return false;
   });

   show_home_ajax((1 + parseInt(Math.random()*3)));
   show_home_ajax((5 + parseInt(Math.random()*4)));

   $('right_arrow').addEvent('click', function(event){
        scroll_home_referenzen('bottom');
        return false;
   });
   $('left_arrow').addEvent('click', function(event){
        scroll_home_referenzen('top');
        return false;
   });


}

function show_home_ajax(id){
   if(id<5){
     for(var i=1;i<5;i++){
        if(i!=id){
          $('home_ajax'+i+'_text').setStyle('display','none');
          $('menu'+i).removeClass('active');
          $('menu'+i+'_befor').removeClass('active_befor');
          $('menu'+i+'_after').removeClass('active_after');
        };
     };
   }else{
      for(var i=5;i<10;i++){
        if(i!=id){
          $('home_ajax'+i+'_text').setStyle('display','none');
          $('menu'+i).removeClass('active');
          $('menu'+i+'_befor').removeClass('active_befor');
          $('menu'+i+'_after').removeClass('active_after');
        };
     };
   };
   $('home_ajax'+id+'_text').setStyle('display','block');
     $('menu'+id).addClass('active');
     $('menu'+id+'_befor').addClass('active_befor');
     $('menu'+id+'_after').addClass('active_after');
}


function scroll_home_referenzen_alt(direction){
  if(direction == 'bottom'){
     next = active_referenz_home + 1;
     active_referenz_home++;
     if(active_referenz_home > max_referenz_home)active_referenz_home = max_referenz_home;
  }else{
     next = active_referenz_home - 7;
     active_referenz_home--;
     if(active_referenz_home<7)active_referenz_home=7;
  }
  if(next>0){
      var myHTMLRequest = new Request.HTML({url:ref_url, method: 'POST', onSuccess: function(responseTree, responseElements, responseHTML, responseJavaScript){
        element = responseElements[0];
        if(element.get('tag') == 'img'){
              if(direction == 'top')delElement = $('referenzen_slider_inner').getLast('div');
              else delElement = $('referenzen_slider_inner').getFirst('div');
              src = element.get('src');
              alt = element.get('alt');
              var div_el = new Element('div',{'class':'r_slider'});
              var tbl_el1 = new Element('table',{'cellspacing':0, 'cellpadding':0});
              var tbl_el2 = new Element('tr',{});
              var tbl_el3 = new Element('td',{});
              var img_el = new Element('img',{'src':src, 'alt':alt});
              tbl_el3.adopt(img_el);
              tbl_el2.adopt(tbl_el3);
              tbl_el1.adopt(tbl_el2);
              div_el.adopt(tbl_el1);
              $('referenzen_slider_inner').grab(div_el,direction);

              //slide

              delElement.dispose();
             }


      }});
      myHTMLRequest.post({'home': 1, 'next':next});

  }

};


function scroll_home_referenzen(direction){
  if(direction == 'bottom'){
     next = active_referenz_home + 1;
     active_referenz_home++;
     if(active_referenz_home > max_referenz_home)active_referenz_home = max_referenz_home;
  }else{
     next = active_referenz_home - 7;
     active_referenz_home--;
     if(active_referenz_home<7)active_referenz_home=7;
  }
  if(next>0 && next <= max_referenz_home){
      if(direction == 'top')delElement = $('referenzen_slider_inner').getLast('div');
      else delElement = $('referenzen_slider_inner').getFirst('div');
      delElement.dispose();
      var div_el = new Element('div',{'class':'r_slider'});
      $('referenzen_slider_inner').grab(div_el,direction);
      var myHTMLRequest = new Request.HTML({url:ref_url, update:div_el});
      myHTMLRequest.post({'home': 1, 'next':next});
  }

};


function make_geopp(id){
  w = window.open('about:blank', "_blank", "width=300,height=400,left=100,top=200,toolbar=no,titlebar0,status=0,menubar=0,location=no,scrollbars=1");
  w.document.open();
  w.document.write("<html>" + officeLayer[id]["html1"] + '<br /><br />' + officeLayer[id]["html2"]);
  //write some javascript to make the newly opened window print itself.
  w.document.writeln("<script>window.print()</"+"script>");
  w.document.writeln("</html>");
  w.document.close();

  //popup.document.writeln('<html><head><title>Flottweg</title></head><body>'+officeLayer[id]["html1"]+'<br /><br />'+officeLayer[id]["html2"]+'</body></html>');
  //popup.document.writeln('<html><head><title>Flottweg</title></head><body onLoad="self.print();">123</body></html>');

}

