var timer;
var myPano;
var currentYaw = 0;
var currentPitch = 0;
var hasStreetView;


function addStreetView(){
  
  var geoPosition = new GLatLng($F('latitud'), $F('longitud'));
  panoramaOptions = { latlng:geoPosition};
  myPano = new GStreetviewPanorama(document.getElementById("pano"), panoramaOptions);
  
  hasStreetView = true;  
  GEvent.addListener(myPano, "error", handleStreetViewError);   
}


function viewGoogleMap(){
	
  if (hasStreetView){
    stopRotating(); 
    $('googlemap').style.display = 'block';
    $('pano').style.display = 'none';
    $('streetviewLi').className = '';
    $('mapaLi').className = 'on';
  }
  return false;
}


function viewStreetView(){
	
  if (hasStreetView){
    startRotating();
    $('googlemap').style.display = 'none';
    $('pano').style.display = 'block';
    $('streetviewLi').className = 'on';
    $('mapaLi').className = '';
  }
  return false;
}


function spiral() {
	
  if (currentYaw > 360){
    stopRotating();
  } else {
    currentYaw += 1;
    myPano.panTo({yaw:currentYaw, pitch:currentPitch});
  }
}


function stopRotating() {
	
  if (timer){
    clearInterval(timer);
    timer = false;
  }
}


function startRotating() {
	
  if (hasStreetView){
    timer = window.setInterval(spiral, 300);
  }
}


function handleStreetViewError(errorCode) {
	
  if (errorCode == 603) {
    //alert("Error: Flash doesn't appear to be supported by your browser");
    $('streetviewLi').className = 'disabled';
    hasStreetView = false;
    return;
  }else if (errorCode == 600) {
	//alert("Error: No hay datos de StreetView para esta localización");
	$('streetviewLi').className = 'disabled';
	hasStreetView = false;
	return;
  }
}

