function openpopupWindow(popupURL, width, height) {
  var w = width;
  var h = height;
  var l = Math.floor((screen.width-w)/2);
  var t = Math.floor((screen.height-h)/2);
  popupWindow = window.open(popupURL,"popupWindowDoc", "scrollbars=no, location=no, toolbar=no, directories=no, status=no, resizable=no, height=" + height + ",width=" + width + ",top=" + t + ",left=" + l);
  popupWindow.focus();
}

function hideShowRadio(campaign)
{
  if(campaign=="vinoeamore")
  {
    document.getElementById("radioMeetic").checked=false;
    document.getElementById("radioVini").checked=true;


  }
  if(campaign=="meetic")
  {
    document.getElementById("radioMeetic").checked=true;
    document.getElementById("radioVini").checked=false;

  }

}

function checkPrivacyHidden()
{
  if(document.getElementById("accept").checked==true)
  {
    document.getElementById("accept2").checked=true;

  }
  else
  {
    document.getElementById("accept2").checked=false;
  }
}


function changeClassToManatoryFields(idMandatoryFields, className) {
  
  var form = document.forms[0];
  
  var isChecked = false;
  
  for( var i = 0 ; i < form.chkPhone.length; i = i + 1)
  {
    if(form.chkPhone[i].checked == true)
    {
      isChecked = true;
    }
  }
  
  
  if(isChecked == true)
  {
    if(idMandatoryFields == 'mandatoryPhone')
    {
      form.telephone.className = className;
      form.cellNumber.className = className;
    }
  }
  else
  {
    form.telephone.className = '';
    form.cellNumber.className = '';
  }
  
  for( var i = 0 ; i < form.chkBrochure.length; i = i + 1)
  {
    if(form.chkBrochure[i].checked == true)
    {
      isChecked = true;
    }
  }
  
  
  if(isChecked == true)
  {
    if(idMandatoryFields == 'mandatoryBrochure')
    {
      form.address.className = className;
      form.cap.className = className;
      form.city.className = className;
      form.state.className = className;
    }
  }
  else
  {
    form.address.className = '';
    form.cap.className = '';
    form.city.className = '';
    form.state.className = '';
  }
}
function showHideDiv(div)
{
  if ($(div).style.display == "none")
  {
    $(div).style.display = "block";
  }
  else
  {
    $(div).style.display = "none";
  }
}

function expandCategory(idSpan, body, title)
{
  span = $(idSpan);
  bodyObj = $$(body);
  if(bodyObj == null )
    return;
  var i;
  for (i = 0; i < bodyObj.length; i++)
  {
    if(bodyObj[i].style.display == 'none')
    {
      if (bodyObj[i].title == title)
      {
        span.innerHTML = "- &nbsp;&nbsp;";
        Effect.Appear(bodyObj[i]);
      }
    }
    else
    {
      if (bodyObj[i].title == title)
      {
        span.innerHTML = "+ &nbsp;";
        Effect.Fade(bodyObj[i]);
      }
    }
  }
}

function writeForm(url, objId) 
{
  
  //&filter[2].selectedValue=1&filter[1].selectedValue=25
  var searchForm = document.forms['ProposalFilterFormBean'];
  
  var queryString = '';

  for (var i = 0 ; i < searchForm.elements.length; i = i + 1)
  {
    if (searchForm.elements[i].type == 'checkbox')
    {
      if(searchForm.elements[i].checked == true)
      {
        var name = searchForm.elements[i].name;
        var value = searchForm.elements[i].value;
        queryString = queryString+ '&' +  name + '=' + value;
      }
    }
    else
    {
      
      var name = searchForm.elements[i].name;
      var value = searchForm.elements[i].value;
      queryString = queryString + '&' + name + '=' + value;
    }
    
  }
    
  obj = document.getElementById(objId);
 
  SetInnerHTMLFromAjaxResponse(url+queryString, obj);
}

//'http://www.vacanzesmeralde.it/sites/VACANZE_SMERALDE/fla/vacanzeMappa.swf', 'Seleziona+una+regione', 'IT' 
function writeFlashHomePage()
{
  var xmlGenerated = ''
   
  var searchForm = document.forms['ProposalFilterFormBean'];
  
  for (var i = 0 ; i < searchForm.elements.length; i = i + 1)
  {
    if(searchForm.elements[i].name == 'filter[0].selectedValue')
    {
      for(j = 0 ; j < searchForm.elements[i].options.length; j++)
      {

        if(searchForm.elements[i].options[j].value != '*')
        {
          xmlGenerated = xmlGenerated + searchForm.elements[i].options[j].value + '|';
        }
      //var item = lst.options[ldst.selectedIndex].value;
      }
    }
  }
  
  document.write( '<object class="mainFlash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="360" height="300" id="vacanzeMappa" align="middle" viewastext="viewastext">');
  document.write( '<param name="allowScriptAccess" value="sameDomain" />');
  document.write( '<param name="movie" value="movies/italy.swf" />');
  document.write( '<param name="quality" value="high" />');
  document.write( '<param name="bgcolor" value="#f1f4f5" />');
  //document.write( '<param name="FlashVars" value="titlemappa=Seleziona+una+regione&xmlSource=" />');
  document.write( '<param name="wmode" value="transparent" />');
  document.write( '<param name="FlashVars" value="xmlSource='+ xmlGenerated+'\" />');
  document.write( '<embed src="movies/italy.swf" quality="high" bgcolor="#f1f4f5" width="360" height="300" name="Italia" align="middle" allowScriptAccess="sameDomain" wmode="transparent" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="xmlSource='+ xmlGenerated+'\" />');
  document.write( '</object>');
}

function showHideColumnBox(tl1, idBox1, tl2, idBox2, tl3, idBox3)
{
  titleBox1 = document.getElementById(tl1).className;
  titleBox2 = document.getElementById(tl2).className;
  titleBox3 = document.getElementById(tl3).className;
  box1 = document.getElementById(idBox1).className;
  box2 = document.getElementById(idBox2).className;
  box3 = document.getElementById(idBox3).className;

  if (titleBox1 == 'columnTitle')
  {
    document.getElementById(tl1).className = 'columnTitleOpen';
    document.getElementById(tl2).className = 'columnTitle';
    document.getElementById(tl3).className = 'columnTitle';
    document.getElementById(idBox1).className = 'columnBoxVisible';
    document.getElementById(idBox2).className = 'columnBoxHide';
    document.getElementById(idBox3).className = 'columnBoxHide';
  }
  
  if (titleBox1 == 'columnTitleOpen')
  {
    document.getElementById(tl1).className = 'columnTitle';
    document.getElementById(idBox1).className = 'columnBoxHide';
    
  }
}


function isNotValidEmail(elem) {
  var str = elem.value;
  var re  = /\b[a-z0-9._%-]+@[a-z0-9._%-]+\.[a-z0-9._%-]{2,4}\b/;
  if (!str.match(re))
    return false;
  else
    return true;
}

function validator()
{
  var theForm = document.forms[0];
      
      
  if (theForm.telephone.value == "")
  {
    alert('il numero di telefono è obbligatorio');
    theForm.telephone.focus();
    return (false);
  }
      
  if (theForm.email.value == "")
  {
    alert('l\'email è obbligatoria');
    theForm.email.focus();
    return (false);
  }
	
  if (!isNotValidEmail(document.forms[0].elements['email']))
  {
	
    alert("il formato dell'email non è corretto");
    return false;
  }
  document.forms[0].submit();
  return (true);
}
if (document.images)
{
  tab_vini_h = new Image();
  tab_vini_h.src = SITE_CONTEXT + "images/tab_vini_h" + "_" + CURRENT_LANGUAGE + ".gif";
  //tab_mappe = new Image();
  //tab_mappe.src = SITE_CONTEXT + "images/tab_mappe" + "_" + CURRENT_LANGUAGE + ".gif";
  tab_aziende = new Image();
  tab_aziende.src = SITE_CONTEXT + "images/tab_aziende" + "_" + CURRENT_LANGUAGE + ".gif";
  //tab_mappe_h = new Image();
  //tab_mappe_h.src = SITE_CONTEXT + "images/tab_mappe_h" + "_" + CURRENT_LANGUAGE + ".gif";
  tab_aziende_h = new Image();
  tab_aziende_h.src = SITE_CONTEXT + "images/tab_aziende_h" + "_" + CURRENT_LANGUAGE + ".gif";
  tab_vini = new Image();
  tab_vini.src = SITE_CONTEXT + "images/tab_vini" + "_" + CURRENT_LANGUAGE + ".gif";
  tab_vinisegreti = new Image();
  tab_vinisegreti.src = SITE_CONTEXT + "images/tab_vinisegreti" + "_" + CURRENT_LANGUAGE + ".gif";
  tab_vinisegreti_h = new Image();
  tab_vinisegreti_h.src = SITE_CONTEXT + "images/tab_vinisegreti_h" + "_" + CURRENT_LANGUAGE + ".gif";
}
function selectMenu(picName,imgName)
{
  if (document.images)
  {
    imgOn=eval(imgName + ".src");
    document[picName].src= imgOn;
  }
}

function tabSelected(reference,isHome)
{
  if(reference == "Vini")
  {
    selectMenu("tabVini", "tab_vini_h");
    selectMenu("tabAziende", "tab_aziende");
    selectMenu("tabVinisegreti", "tab_vinisegreti");
    document.getElementById("searchForm").action = SITE_CONTEXT + "search.do?target=vini&viewName=";
  }

  if(reference == "Aziende")
  {
    selectMenu("tabVini", "tab_vini");
    selectMenu("tabAziende", "tab_aziende_h")
    selectMenu("tabVinisegreti", "tab_vinisegreti");
    document.getElementById("searchForm").action = SITE_CONTEXT + "search.do?target=aziende&viewName=ViniInVetrina";
  }

  if(reference == "Vinisegreti")
  {
    selectMenu("tabVini", "tab_vini");
    selectMenu("tabAziende", "tab_aziende")
    selectMenu("tabVinisegreti", "tab_vinisegreti_h");
    document.getElementById("searchForm").action = SITE_CONTEXT + "search.do?target=vinisegreti";
  }

  if(reference == "Blog")
    document.getElementById("searchForm").action = SITE_CONTEXT + "search.do?target=blog&viewName=WHIBlog";

  if(reference == "Guide")
    document.getElementById("searchForm").action = SITE_CONTEXT + "search.do?target=guide&viewName=WHIGuide";

  if(!isHome)
    document.getElementById("searchForm").submit();

  return false;
}

function selectMapView(obj)
{
  if(obj.checked)
    document.location = SITE_CONTEXT + "search.do?target=mappe&viewName=ViniInVetrina";
  else
    document.location = SITE_CONTEXT + "search.do?target=aziende&viewName=ViniInVetrina";
}


//################################ MAPPE ##################################  
    
   
function getMiniMarkerIcon()
{
  var icon = new GIcon();
  icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
  icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
  icon.iconSize = new GSize(12, 20);
  icon.shadowSize = new GSize(22, 20);
  icon.iconAnchor = new GPoint(6, 20);
  return icon;
}

function isThumbnailLoaded()
{
  var elements = document.getElementsByClassName("pic");
  if(elements.length >0)
    return true;
  else
    return false;
}

function selectedView(referenceSelected)
{
  var elements = document.getElementsByClassName ("pic");
  if(referenceSelected == 1)
  {
    $("viewMode_1").src = SITE_CONTEXT + "images/icon_view1_selected.gif";
    $("viewMode_2").src = SITE_CONTEXT + "images/icon_view2.gif";
    for(var k=0; k < elements.length; k++)
    {
      elements[k].style.display = "none";
    }
    setViewParameter(false);
  }
  else
  {
    $("viewMode_1").src = SITE_CONTEXT +"images/icon_view1.gif";
    $("viewMode_2").src = SITE_CONTEXT +"images/icon_view2_selected.gif";
    for(var i=0; i < elements.length; i++)
    {
      elements[i].style.display = "block";
    }
    setViewParameter(true);
  }
}

function setViewParameter(viewParameter)
{
  new Ajax.Request(SITE_CONTEXT +'setviewparameter.do',
  {
    method:'get',
    parameters: {
      viewParameter: viewParameter
    },
    onSuccess: function(){
      if(viewParameter && isThumbnailLoaded() == false)
        document.location.reload();
    },
    onFailure: function(){
      alert('Something went wrong...')
    }
  });
}
  
function loaddefimages(Id)  
{  
  document.getElementById(Id).src=SITE_CONTEXT +'images/nofound.gif';
}

function showHideBoxAllCategory(title, body)
{
  titleObj = $(title);
  bodyObj = $$(body);

  if(titleObj == null || bodyObj == null )
    return;

  if(bodyObj == "") return;

  spans = $$('.expand');
  if(bodyObj[0].style.display == 'none')
  {
    var x;
    for (x = 0; x < spans.length; x++)
    {
      spans[x].innerHTML = "- &nbsp;&nbsp;";
    }
    Effect.multiple(bodyObj, Effect.Appear,{
      speed: 0
    } ); // takes an array of elements
    titleObj.src = SITE_CONTEXT +'images/btn_top_category.gif';
  }
  else
  {
    for (x = 0; x < spans.length; x++)
    {
      spans[x].innerHTML = "+ &nbsp;";
    }
    Effect.multiple(bodyObj, Effect.Fade,{
      speed: 0
    }); // takes an array of elements
    titleObj.src = SITE_CONTEXT +'images/btn_all_category.gif';
  }

/**
                       *

                      for (var index = 0; index < bodyObj.length; ++index)
                        {
                      var item = bodyObj[index];
                      test(item);
                      //Effect.toggle(item,'slide',{duration:0.6});
                      // Your code working on item here...
                      }
                       */

}

var geocoder;

function initializeMap(lat, lon, name)
{
  if (GBrowserIsCompatible())
  {
    var map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(42.212245162885800, 12.590332031250000), 10, G_HYBRID_MAP);

    var customUI = map.getDefaultUI();
    customUI.controls.scalecontrol = false;
    map.setUI(customUI);
    
    if(lat == 0.0 && lon == 0.0)
      return;

    var point = new GLatLng(lat, lon);
    var content = "<p><b>" + name + "</b></p>";
    var marker = createMarker(point, content);
    map.setCenter(point, 15);
    map.addOverlay(marker);
    marker.openInfoWindowHtml(content);

  //geocoder = new GClientGeocoder();
  //showAddress(lat, lon, name, map);
  }
}

function showAddress(address, name, map)
{
  geocoder.getLatLng(address,
    function(point){
      if (!point)
        alert("Indirizzo non trovato!");
      else
      {
        var content = "Nome:" + "<p><b>" + name + "</b></p><br/>Indirizzo: <p><b>" + address + "</b></p>";
        map.setCenter(point, 15);
        var marker = createMarker(point, content);
        map.addOverlay(marker);
        marker.openInfoWindowHtml(content);
      }
    }
    );
}

function createMarker(point, content)
{
  var marker = new GMarker(point);
  GEvent.addListener(marker, "click",
    function(){
      marker.openInfoWindowHtml('<div>' + content + '</div>');
    }
    );
  return marker;
}

function getIcon()
{
  var icon = new GIcon();
  icon.image = SITE_CONTEXT + "images/pushpin.png";
  icon.shadow = SITE_CONTEXT + "images/shadow-pushpin.png";
  icon.iconSize = new GSize(20.0, 64.0);
  icon.shadowSize = new GSize(53.0, 64.0);
  icon.iconAnchor = new GPoint(10.0, 32.0);
  icon.infoWindowAnchor = new GPoint(10.0, 32.0);

  return icon;
}



function viewTabContent(tabContent){
  if(tabContent == "" || tabContent == "desc"){
    if(document.getElementById('formTitle1'))
      document.getElementById('formTitle1').className = 'active';
    if(document.getElementById('formTitle2'))
      document.getElementById('formTitle2').className = '';
    if(document.getElementById('formTitle3'))
      document.getElementById('formTitle3').className = '';
    if(document.getElementById('formTitle4'))
      document.getElementById('formTitle4').className = '';
    if(document.getElementById('formContent1'))
      document.getElementById('formContent1').style.display = 'block';
    if(document.getElementById('formContent2'))
      document.getElementById('formContent2').style.display = 'none';
    if(document.getElementById('formContent3'))
      document.getElementById('formContent3').style.display = 'none';
    if(document.getElementById('formContent4'))
      document.getElementById('formContent4').style.display = 'none';
  }else if(tabContent != null && tabContent == "contactus"){
    if(document.getElementById('formTitle1'))
      document.getElementById('formTitle1').className = '';
    if(document.getElementById('formTitle2'))
      document.getElementById('formTitle2').className = 'active';
    if(document.getElementById('formTitle3'))
      document.getElementById('formTitle3').className = '';
    if(document.getElementById('formTitle4'))
      document.getElementById('formTitle4').className = '';
    if(document.getElementById('formContent1'))
      document.getElementById('formContent1').style.display = 'none';
    if(document.getElementById('formContent2'))
      document.getElementById('formContent2').style.display = 'block';
    if(document.getElementById('formContent3'))
      document.getElementById('formContent3').style.display = 'none';
    if(document.getElementById('formContent4'))
      document.getElementById('formContent4').style.display = 'none';
  }else if(tabContent != null && tabContent == "map"){
    if(document.getElementById('formTitle1'))
      document.getElementById('formTitle1').className = '';
    if(document.getElementById('formTitle2'))
      document.getElementById('formTitle2').className = '';
    if(document.getElementById('formTitle3'))
      document.getElementById('formTitle3').className = 'active';
    if(document.getElementById('formTitle4'))
      document.getElementById('formTitle4').className = '';
    if(document.getElementById('formContent1'))
      document.getElementById('formContent1').style.display = 'none';
    if(document.getElementById('formContent2'))
      document.getElementById('formContent2').style.display = 'none';
    if(document.getElementById('formContent3'))
      document.getElementById('formContent3').style.display = 'block';
    if(document.getElementById('formContent4'))
      document.getElementById('formContent4').style.display = 'none';
  }else if(tabContent != null && tabContent == "en"){
    if(document.getElementById('formTitle1'))
      document.getElementById('formTitle1').className = '';
    if(document.getElementById('formTitle2'))
      document.getElementById('formTitle2').className = '';
    if(document.getElementById('formTitle3'))
      document.getElementById('formTitle3').className = '';
    if(document.getElementById('formTitle4'))
      document.getElementById('formTitle4').className = 'active';
    if(document.getElementById('formContent1'))
      document.getElementById('formContent1').style.display = 'none';
    if(document.getElementById('formContent2'))
      document.getElementById('formContent2').style.display = 'none';
    if(document.getElementById('formContent3'))
      document.getElementById('formContent3').style.display = 'none';
    if(document.getElementById('formContent4'))
      document.getElementById('formContent4').style.display = 'block';
  }
}

function validateFormsendEmailToProposal()
{
  var content = "";

  var name = document.getElementById("name").value;
  if(name == "")
    content += "Il campo 'Nome' e' obbligatorio!\n";
  
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var email = document.getElementById("email").value;
  if(email == "")
    content += "Il campo 'E-mail' e' obbligatorio!\n";
  else
  {
    if (!filter.test(email))
      content += "Il campo 'E-mail' non e' valido!\n";
  }

  var message = document.getElementById("message").value;
  if(message == "")
    content += "Il campo 'Testo' e' obbligatorio!\n";
 

  if(content.length > 0)
  {
    alert(content);
    return true;
  }

  return false;
}


function sendEmailToProposal()
{
  if(validateFormsendEmailToProposal())return;

  var handleSuccess = function(o){
    document.getElementById("infoBox").innerHTML = "<span style='color:red;'>Email inviata con successo!</span>";
  }

  var handleFailure = function(o){
    document.getElementById("infoBox").innerHTML = "<span style='color:red;'>Si sono verificati dei problemi nell'invio della mail!</span>";
  }

  var cb = {
    success:handleSuccess,
    failure:handleFailure
  };

  document.getElementById("infoBox").innerHTML = "<img src='images/loading.gif'/> Invio in corso...";

  YAHOO.util.Connect.setForm("MessageFormBean");
  YAHOO.util.Connect.asyncRequest('POST', SITE_CONTEXT + "sendemailtoproposal.do", cb);
}

function getRandomImage(img, isThumb)
{
  if(img == undefined)return;
  var min = 1;
  var max = 20;

  var ranNum= Math.floor(Math.random()*20);

  if(ranNum < min)
    ranNum = 1;

  if(ranNum > max)
    ranNum = 20;

  img.src=SITE_CONTEXT + "images/default/" + (isThumb == true ? "thumb/" : "") + ranNum + ".jpg";
}

function contains(var1, var2)
{
  return (var1.indexOf(var2) > -1);
}

function showHideBox(idElement, idTitle)
{
  var titleObj = document.getElementById(idTitle);
  titleObj.className = (titleObj.className == "closeBox" ? "openBox": "closeBox");

  Effect.toggle(idElement,'slide',{
    duration:0.6
  });
}

String.trim = function()
{
  if(arguments.length == 0) return null;
  var str = arguments[0];
  return str.replace(/\s+$|^\s+/g,"");
}

function sessionMantainer()
{
  new Ajax.PeriodicalUpdater('sessionMantainerBox', SITE_CONTEXT + 'sessionmantainer.do', {
    method: 'post',  // using POST to combat IE caching
    frequency: 240,
    decay: 1
  });
}