

function validate_form(){
  var frmEl = $('cForm');
  var posName = $('posName');
  var posEmail = $('posEmail');
  var posRegard = $('posRegard');
  var posText = $('posText');
  var strCC = $('selfCC');
  var whiteSpace = /^[\s]+$/;
  if ( posText.value == '' || whiteSpace.test(posText.value) ) {
    alert("Attenzione: specificare una richiesta");
    posText.focus();
  } else if ( !is_email_valid(posEmail.value)) {
    alert("Attenzione: inserire una email valida");
    posEmail.focus();
  } else {
    return true;
  }
}

function submit_form(e){
  $E.preventDefault(e);

  if( validate_form() ){
    var callback = {
      success: function(o) {
        var div = $('form_msg');
        var response = o.responseText.parseJSON();

        if( response['state'] == 'KO'){

          div.innerHTML = response['errors'].join(', ') ;
          div['className'] = '_form_msg testoErr';
          $('form_msg').style.display = 'inline';
        } else {
          div.innerHTML = response['msgs'].join(',');
          div['className'] = '_form_msg testoSuccess';
          $('form_msg').style.display = 'inline';
        }
        $('sendContactEmail').disabled = false;
      },
      failure: function(o) {
        alert('failure!');
      }
    }

    /*
    // argument formId can be the id or name attribute value of the
    // HTML form, or an HTML form object.
    var formObject = $('cForm');
    YAHOO.util.Connect.setForm(formObject);

    // This example facilitates a POST transaction.
    // An HTTP GET can be used as well.
    var cObj = YAHOO.util.Connect.asyncRequest('POST', url, callback);
    */
    $('sendContactEmail').disabled = true;
    //$('form_msg').innerHTML := 'Spedizione in corso';
    ajax_post(contact_url, 'cForm', callback.success);

  }
}

$E.onAvailable('cForm', function(){
    var frmEl = $('cForm');
    frmEl.onsubmit = function() { return false; }

    $E.addListener("cForm", "submit", submit_form);
});
//------------------------------------------------------------------------------
//  GMaps
//------------------------------------------------------------------------------



var gmap_map = null;
var geocoder = null;
var zoom_level = 11;// 6 mostra l'italia, maggiore � lo zoom, maggiore � il dettaglio

function gmap_load() {
  if ( GBrowserIsCompatible() ) {
    /*
    map = new GMap2($("map"));
    //map.setCenter(new GLatLng(37.4419, -122.1419), zoom_level);
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());

    geocoder = new GClientGeocoder();
    geocoder.setBaseCountryCode('IT');
    var test_add ='Via A. Maj 18 - 25125 Bergamo (BG)';// 'IT, Bergamo, Via A. Maj 18, 24121';//, 
    show_address(selling_location, true, selling_location);
    */    
     
    var html = selling_location;
    gmap_show_address("map", selling_location, zoom_level, true, html);
    
  }
}


function show_address(address, showMarker, html) {
  if (geocoder) {
    geocoder.getLatLng(address,
      function(point) {
        if (!point) {
          // log_err(address + " not found");

        } else {
          map.setCenter(point, zoom_level);
          if( showMarker ){
            var marker = new GMarker(point);
            map.addOverlay(marker);
            if( html ){
              GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml(html);
              });
            }
          }
        }
      }
    );
  }
}

if( !gb_TEST_SERVER ){
  $E.onAvailable('map', function(){
    // su IE non funziona????
    if( document.all ){
      gmap_load();
    } else {
      $E.addListener(window, 'load', gmap_load);
    }
    $E.addListener(window, 'unload', GUnload);
  });
}

//----- carousel

function loadInitialItems(type, args) { };

function handlePrevButtonState(type, args) {

    var enabling = args[0];
    var upImage = args[1];

    if(enabling) {
        upImage.src = "img/up-enabled.gif";
    } else {
        upImage.src = "img/up-disabled.gif";
    }

};
function handleNextButtonState(type, args) {

    var enabling = args[0];
    var downImage = args[1];

    if(enabling) {
        downImage.src = "img/down-enabled.gif";
    } else {
        downImage.src = "img/down-disabled.gif";
    }

};

var carousel;
var load_carousel = function() {
  if( $('dhtml-carousel') ){

  // l'altezza dell'area di scroll viene calcolata presupponendo tutte le img di altezza uguale
  var recordCount = 1.5*count($D.getElementsByClassName('lightbox','a','dhtml-carousel'));
  recordCount = Math.round( recordCount );

  carousel = new YAHOO.extension.Carousel("dhtml-carousel", {
          //numVisible:        3,
          animationSpeed:    0.25,
          scrollInc:         2,
          /*orientation:       "orizontal", */
          navMargin:         0,
          firstVisible:      1,
          //revealAmount:      30,
          size:              recordCount,

          prevElement:     "up-arrow",
          nextElement:     "down-arrow",

          loadInitHandler: loadInitialItems,
          prevButtonStateHandler: handlePrevButtonState,
          nextButtonStateHandler: handleNextButtonState
      }
  );
  }
};

$E.addListener(window, 'load', load_carousel);



var lightbox;
function load_lightbox(){
  lightbox = new CI.lightbox({containerID: 'dhtml-carousel' });
}
$E.addListener(window, 'load', load_lightbox);





