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 writeForm(url, objId) 
{
  var searchForm = document.forms['ProposalFilterFormBean'];
  var name = '';
  var value = '';
  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)
      {
        name = searchForm.elements[i].name;
        value = searchForm.elements[i].value;
        queryString = queryString+ '&' +  name + '=' + value;
      }
    }
    else
    {
      name = searchForm.elements[i].name;
      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 + '|';
      }
    }
  }
  
  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 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';
  }
  else if(tabContent != null && tabContent == "booking"){
    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 showHideBox(idElement, idTitle)
{
  var titleObj = document.getElementById(idTitle);
  titleObj.className = (titleObj.className == "closeBox" ? "openBox": "closeBox");

  Effect.toggle(idElement,'slide',{
    duration:0.6
  });
}

function validateBooking()
{
  var content = "";

 /*
  var fromDate = document.getElementById("fromDate").value;
  if(fromDate == "-1")
    content += "Il campo 'Dal' e' obbligatorio!\n";

  var toDate = document.getElementById("toDate").value;
  if(toDate == "-1")
    content += "Il campo 'Al' e' obbligatorio!\n";

  var doubleRoom = document.getElementById("doubleRoom").value;
  if(doubleRoom == "0")
    content += "Il campo 'Camere Doppie' e' obbligatorio!\n";

  var name = document.getElementById("firstName").value;
  if(name == "")
    content += "Il campo 'Nome' e' obbligatorio!\n";

  var surname = document.getElementById("surname").value;
  if(surname == "")
    content += "Il campo 'Cognome' e' obbligatorio!\n";
  */

  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var emailContact = document.getElementById("emailContact").value;
  if(emailContact == "")
    content += "Il campo 'E-mail' e' obbligatorio!\n";
  else
  {
    if (!filter.test(emailContact))
      content += "Il campo 'E-mail' non e' valido!\n";
  }

  var privacy = document.getElementById("privacy").checked;
  if(!privacy)
    content += "Il campo 'Privacy' e' obbligatorio!\n";

  var conditions = document.getElementById("conditions").checked;
  if(!conditions)
    content += "Il campo 'Condizioni Generali' e' obbligatorio!\n";

  if(content.length > 0)
  {
    alert(content);
    return true;
  }

  return false;
}

function sendBooking()
{
  if(validateBooking())return;

  var handleSuccess = function(o){
    document.getElementById("loadingBox").innerHTML = "<span style='color:red;'>Email inviata con successo!</span>";
  }

  var handleFailure = function(o){
    document.getElementById("loadingBox").innerHTML = "<span style='color:red;'>Si sono verificati dei problemi nell'invio della mail!</span>";
  }

  var cb = {
    success:handleSuccess,
    failure:handleFailure
  };

  document.getElementById("loadingBox").innerHTML = "<img src='" + SITE_CONTEXT + "images/loading.gif'/> Invio in corso...";

  YAHOO.util.Connect.setForm("bookingFormBean");
  YAHOO.util.Connect.asyncRequest('POST', SITE_CONTEXT + "bookpackage.do", cb);
}

function openOutlook(aObj, id, label)
{
  var url = String.format("{0}externalapplicationview.do?idproposal={1}", SITE_CONTEXT, id);
  //var body = String.format("Ciao,\\rguarda questa offerta vacanza potrebbe interessarti! Ciao!\\r<a href='{0}'>{1}</a>", url, label);
  
  //aObj.href = String.format("mailto:?subject={0}&body={1}", label, url);
  //aObj.click();
  //aObj.href = "";

  window.open(String.format("mailto:?subject={0}&body={1}", label, url), '_new');
}

function start_slideshow(start_frame, end_frame, delay) {
  var images = document.getElementsByName("imageGallery");
  if(images.length <= 1)
    return;

  $('gallery_0').onclick = "";
  $('viewGallery').onclick = "";

  setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), 100);
}

function switch_slides(frame, start_frame, end_frame, delay) {
  return (function() {
    if($('gallery_' + frame))
      Effect.Fade('gallery_' + frame);

    if (frame == end_frame || $('gallery_' + (frame + 1)) == null)
      frame = start_frame;
    else
      frame = frame + 1;

    if($('gallery_' + frame))
      setTimeout("Effect.Appear('gallery_" + frame + "');", 850);
    
    setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
  });
}

//##############  paginator ##############################

function initializePaginator()
{
  // Set up the application under the YAHOO.example namespace
  var Ex = YAHOO.namespace('example');

  Ex.content    = document.getElementById('content');

  Ex.handlePagination = function (state) {
    // Show the appropriate content for the requested page
    Ex.content.className = 'page' + state.page;

    // Update the Paginator's state, confirming change
    Ex.paginator.setState(state);
  };

  Ex.config = {
    rowsPerPage : 1,
    totalRecords : Ex.content.getElementsByTagName('div').length,
    containers : 'paging',
    previousPageLinkLabel : "< prec",
    nextPageLinkLabel : "succ >",
    lastPageLinkLabel : ">>",
    firstPageLinkLabel : "<<"
  }


  // Create the Paginator widget and subscribe to its changeRequest event
  Ex.paginator = new YAHOO.widget.Paginator(Ex.config);

  Ex.paginator.subscribe('changeRequest', Ex.handlePagination);

  // Render the Paginator into the configured container(s)
  Ex.paginator.render();
}

/////////////////////////////////////////////////

function isIE()
{
  return navigator.userAgent.indexOf("MSIE")!=-1;
}

function closePanel(idElement)
{
  document.getElementById(idElement).style.display = "none";
}

function showPanel(idElement)
{
  document.getElementById(idElement).style.display = "block";
}


function buildLink()
{
  showPanel('directPageLinkPanel');
  document.getElementById('directPageLink').focus();
  document.getElementById('directPageLink').select();
}

function copyToClipboard(textToCopy)
{
  if (window.clipboardData)
    window.clipboardData.setData("Text", textToCopy);
  else if (window.netscape)
  {
    alert("copyToClipboard function works only with IE");
    return false;
  }
  return true;
}
