
// Global vars

var old;
var map;



/**
 * Swap icons descfriptions for: prodotti, finiture
 *
**/
function swap($this) {
  var id = $this.parent().attr('id').substring(2);
  
  if(id!=old) {
    $('#separee').animate({'left':$this.position().left+35}, 500);
  
    $('#d_'+id).show(500);
    $('#d_'+old).hide(250);
  
    old = id;
  }  
}


/**
 * Setup html code for isuu embedding
 *
**/
function embedIssuu(doc, bgColor) {
  // overwrite
  bgColor = 'FFFFFF';
  
  var path = 'http://issuu.com/' + doc + '?mode=embed&showFlipBtn=true&layout=http://skin.issuu.com/v/';
  
  if(null == bgColor) {
    path += 'light/layout.xml';
  } else {
    path += 'color/layout.xml&backgroundColor='+bgColor;
    $('#issuu').css('background', '#'+bgColor);
  }
  
  $('#issuu').append('<iframe src="'+path+'" frameborder="0"></iframe>');  
}


/**
 * Print lat and long for given recognized address
 *
**/
function decodeAddress(address) {
  var geocoder = new google.maps.Geocoder();
  geocoder.geocode( { 'address': address }, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      $('pre:last').append(results[0].geometry.location.lat()+'\t'+results[0].geometry.location.lng()+'\n');
    } else {
      alert("Error: " + status);
    }
  });
}


/**
 * Setup google maps canvas
 *
**/
function initGMap(obj) {
  $("#gmap").css('height', obj.height);
  
  map = new google.maps.Map(document.getElementById("gmap"), {
    zoom: obj.zoom,
    center: obj.coord,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    // mapTypeId: google.maps.MapTypeId.TERRAIN,
    disableDefaultUI: true
  });
  
  populate(obj.contacts);
}


/**
 * Populates the MAP with the given marker collection
 *
**/
function populate(contacts) {
  var markers = [];
  
  for(var a in contacts) {
    var marker = createMarker(a, contacts[a]);
    markers.push(marker);
  }
}


function createMarker(title, contact) {
  var content = '<div class="infoWindow">'+
           '<b>'+title+'</b><br>'+
           '<i>'+contact.location+'</i><br><br>'+
           contact.address+'<br><br>';
  content += ''!=contact.tel ? 'Phone: '+contact.tel+'<br>' : '';
  content += ''!=contact.fax ? 'Fax: '+contact.fax+'<br>': '';
  content += ''!=contact.mobile ? 'Mobile: '+contact.mobile+'<br>': '';
  content += ''!=contact.email ? 'Email: <a href="mailto:'+contact.email+'">'+contact.email+'</a>': '';
  content += '</div>';
           
  var markerOptions = {
    position: new google.maps.LatLng(contact.lat, contact.lon),
    title: title,
    map: map,
    icon: 'images/logo-map.png'
  };
  
  var infoOptions = {
    content: content
  };
  
  var marker = new google.maps.Marker( markerOptions );
  var info = new google.maps.InfoWindow( infoOptions );
  
  google.maps.event.addListener(marker, 'click', function() {
    info.open(map, marker);
    
    if(undefined!=old) { old.close(); }
    old = info;
  });
  
  return marker;
}


