var currentImage = 1;
var currentVideo = 1;
var currentService = 0;
var searchBox1 = "";
var searchBox2 = "";
var searchBox3 = "";
var searchBox4 = "";
var searchBoxUsed = "";
var timer;

function refreshMedia()
{
  var x = document.getElementById("ref");
  if (x != null)
  {
    x.value = "true";
  }
  $('MediaFormBean').submit();
}

function viewSuggest(field, span){
  if (field.value != ''){
    span.innerHTML = "Attenzione!<br>    Apportando ulteriori modifiche alla vostra scheda il processo di indicizzazione nei motori di ricerca già avviato verrà rallentato. <br>Per eventuali modifiche contattare il numero verde 800916557."
  }else {
    span.innerHTML = "";
  }
    
}

function changeImg(obj, nameImg){
  
  var src = obj.src;
  var left = src.substring(0, src.lastIndexOf("/"));
  obj.src = left+"/"+nameImg
}

function searchAddress()
{
  var city = document.getElementById("city").value;
  var address = document.getElementById("address").value;
  var completeAddress = city +", "+ address;
  var noAddress = document.getElementById("noAddress");
  //    var latitude = document.getElementById("latitude").value;
  //    var longitude = document.getElementById("longitude").value;
  document.getElementById("latitude").value = "";
  document.getElementById("longitude").value = "";
  noAddress.innerHTML = "";
  if (address != ''){
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(completeAddress,
      function(point){
        if (!point)
        {
          noAddress.innerHTML = "Indirizzo non trovato!";
        }
        else
        {
          document.getElementById("latitude").value = point.x;
          document.getElementById("longitude").value = point.y;
        }
      });
  }
}

function assignCategory(value, id, replace)
{
  var x = document.getElementById("category" + (replace + 1));
  var y = document.getElementById("idCategory" + (replace + 1));
  x.value = value;
  y.value = id;
  Modalbox.hide();
}

function showHideElement(element)
{
  if (element != null)
  {
    if (element.style.display == "none")
    {
      element.style.display = "";
    }
    else
    {
      element.style.display = "none";
    }
  }
}

function checkCity()
{
  var updater = new Ajax.Request('checkCity.do',
  {
    method:'post',
    onComplete: function updateText(response)
    {
      var text = document.getElementById("idCity");
      var idText = document.getElementById("city");
      var s = response.responseText.toString().split("|");
      if (s[0].length > 0)
      {
        text.value = s[0];
      }
      if (s[1].length > 0)
      {
        idText.value = s[1];
      }
      citiesAutoCompleter.hide();
    }
  });
  updater = null;
}

function beta()
{
  var cont = document.getElementById("cont");
  var items = cont.getElementsByTagName("li");
  if (items.length == 1)
  {
    var div = items[0].getElementsByTagName("div");
    var city = document.getElemantById("city");
    city.value = div[0].innerHTML;
    var idCity = document.getElemantById("idCity");
    idCity.value = items[0].id;
  }
}

function sendDeletionEmail(idItem)
{
  var updater = new Ajax.Request('deleteUser.do',
  {
    method:'post',
    parameters: {
      idItem: idItem
    },
    onComplete: function updateText(response)
    {
      var text = document.getElementById("text" + idItem);
      text.innerHTML = "(Email di cancellazione inviata)";
    }
  });
  updater = null;
}

function checkText()
{
  var s1 = document.getElementById("search1");
  var s2 = document.getElementById("search2");
  var s3 = document.getElementById("search3");
  var s4 = document.getElementById("search4");
  if ((s1 != null && s1.value == "Ragione sociale") && (s2 != null && s2.value == "Categorie, Descrizioni, Parole Chiavi") && (s3 != null && s3.value == "Cap, Città, Sigla Provincia") && (s4 != null && s4.value == "Email azienda"))
  {
    return false;
  }
  if ((s1 != null && s1.value == "Ragione sociale") && (s2 != null && s2.value == "Categorie, Descrizioni, Parole Chiavi") && (s3 != null && s3.value == "Cap, Città, Sigla Provincia") && (s4 == null))
  {
    return false;
  }
  var success = false;
  if (s1 != null)
  {
    if (s1.value != "" && s1.value != "Ragione sociale")
    {
      success = true;
    }
    else
    {
      s1.value = '';
    }
  }

  if (s2 != null)
  {
    if (s2.value != '' && s2.value != 'Categorie, Descrizioni, Parole Chiavi')
    {
      success = true;
    }
    else
    {
      s2.value = '';
    }
  }

  if (s3 != null)
  {
    if (s3.value != '' && s3.value != 'Cap, Città, Sigla Provincia')
    {
      success = true;
    }
    else
    {
      s3.value = '';
    }
  }

  if (s4 != null)
  {
    if (s4.value != '' && s4.value != 'Email azienda')
    {
      success = true;
    }
    else
    {
      s4.value = '';
    }
  }
  return success;
}

function handleKeystroke(e)
{
  var keyPressed;
  //Browser compatibility check
  if (document.all)
  {
    //Browser used: Internet Explorer 6
    keyPressed = e.keyCode;
  }
  else
  {
    //Browser used: Firefox
    keyPressed = e.which;
  }
  //13 = ASCII code for Enter key
  if (keyPressed == 13)
  {
    //Directly calling document.searchForm.submit() will not fire the form's onsubmit event handler.
    //Call a javascript helper funtion that simulates that event.
    //    setTimeout("submitHomeBasicSearchForm();", 1);
    submitHomeBasicSearchForm();
  }
}

function submitHomeBasicSearchForm()
{
  var res = checkText();
  if (res)
  {
    $('HomeBasicSearchFormBean').submit();
  }
}

function increaseImage()
{
  currentImage++;
}

function increaseVideo()
{
  currentVideo++;
}

function increaseVideoService()
{
  currentService++;
}

function onErrorProductImage(img){
  var div = document.getElementById(img);
  div.style.display = 'none';
}

function onErrorProductImageBusiness(img, span){
  span.style.display = "";
}

function getObject(obj)
{
  var theObj;
  if(document.all) {
    if(typeof obj=="string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if(document.getElementById) {
    if(typeof obj=="string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function countChar(input,counter,text,characters)
{
  var inputObj=getObject(input);
  if (counter != null)
  {
    var counterObj=getObject(counter);
  }
  var longitud=characters - inputObj.value.length;
  if(longitud <= 0) {
    longitud=0;
    text='<span class="disable"> '+text+' </span>';
    inputObj.value=inputObj.value.substr(0,characters);
  }
  if (counter != null)
  {
    counterObj.innerHTML = text.replace("{CHAR}",longitud);
  }
}

function confirmDelete(delUrl)
{
  if (confirm("Sei sicuro?")) {
    document.location = delUrl;
  }
}

function activateCheck(idCheck)
{
  var check = document.getElementById(idCheck);
  check.checked = false;
}
var isValidCaptcha = false;

function validateSendContact()
{
  var senderError = document.getElementById("senderError");
  var receiverError = document.getElementById("receiverError");
  var captchaError = document.getElementById("captchaError");
  var sender = document.getElementById("sender");
  var receiver = document.getElementById("receiver");
  var captcha = document.getElementById("captcha");

 
 
  if (captcha != null || captcha.value != "")
  {
    validateCaptcha(captcha.value);
    window.setTimeout('1==1', 3000);
  }

  var isValid = true;
  if (isValidCaptcha != 'true')
  {
    captchaError.style.display = '';
    isValid = false;
  }
  else
  {
    captchaError.style.display = 'none';
  }

  
  if (sender == null || sender.value == "")
  {
    senderError.style.display = '';
    isValid = false;
  }
  else
  {
    senderError.style.display = 'none';
  }
  if (receiver == null || receiver.value == "")
  {
    receiverError.style.display = '';
    isValid = false;
  }
  else
  {
    receiverError.style.display = 'none';
  }
  
  return isValid;
}

function sendContact()
{
  var isValid = validateSendContact();
  if (!isValid)
  {
    document.images.captchaImg.src = document.images.captchaImg.src +"#";
    return;
  }
  else
  {
    //    var body = $('SendContactFormBean').body.value;
    //    var sender = document.getElementById("sender").value;

    //    var filter = /([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+/i;
    //
    //    body = body.replace(filter , sender);
    //    $('SendContactFormBean').body.value = body.value;
    
    $('SendContactFormBean').submit();
  }
}


function validateCaptcha(captcha)
{
  var updater = new Ajax.Request(SITE_CONTEXT + 'validateCaptcha.do',
  {
    asynchronous: false,
    method:'post',
    parameters: {
      captcha: captcha
    },
    onComplete: function evaluate(response)
    {
      isValidCaptcha = response.responseText;
    }
  });
  updater = null;
}

function rememberPassword()
{
  $('RememberPasswordFormBean').submit();
}

function saveMedia()
{
  $('MediaFormBean').submit();
}

function recall()
{
  var error = false;
  if ($('name').value == "" || $('name').value == "NOME")
  {
    error = true;
    $('nameerror').innerHTML = "Il nome è obbligatorio!";
    $('nameerror').style.display = '';
  }
  else
  {
    $('nameerror').innerHTML = "";
    $('nameerror').style.display = 'none';
  }
  if ($('telephoneNumber').value == "" || $('telephoneNumber').value == "TELEFONO")
  {
    error = true;
    $('telerror').innerHTML = "Il numero di telefono è obbligatorio!";
    $('telerror').style.display = '';
  }
  else
  {
    $('telerror').innerHTML = "";
    $('telerror').style.display = 'none';
  }
  if (error)
  {
    return;
  }else {
    var handleSuccess = function(o){
      if(o.responseText != undefined)
      {
        document.getElementById("trSuccess").style.display = "";
        document.getElementById("trContact").style.display = "none";
      }
    }
    
    var handleFailure = function(o){
    //alert('Failure');
    }
  
    var cb = {
      success:handleSuccess,
      failure:handleFailure
    };
          
    var formObject = document.getElementById('RecallFormBean');
    YAHOO.util.Connect.setForm(formObject);
    YAHOO.util.Connect.asyncRequest('POST', "recall.do", cb);
        
  //YAHOO.util.Connect.asyncRequest('POST', "recall.do", cb);
  }
// $('RecallFormBean').submit();
}

function contactUs()
{
  $('ContactUsFormBean').submit();
}

function registerFirstStep()
{
  
  //  var s1 = document.getElementById("keywords");
  //  var s2 = document.getElementById("description");
  //  if (s1 != null && searchBoxUsed.match("keywords") == null)
  //  {
  //    s1.value = "";
  //  }
  //
  //  if (s2 != null && searchBoxUsed.match("description") == null)
  //  {
  //    s2.value = "";
  //  }
  $('ItemFormBean').submit();
}

function checkAddress(){
  if (document.getElementById("address").value == ""){
    document.getElementById("longitude").value = "";
    document.getElementById("latitude").value = "";
  }
}

function buyBusiness(service)
{
  var n1 = document.getElementById('n1');
  var n2 = document.getElementById('n2');
  var n3 = document.getElementById('n3');
  var n4 = document.getElementById('n4');
   
  if (n1 == null || n2 == null || n3 == null || n4 == null)
  {
    return;
  }

  if (n1.value != "" && n2.value != "" && n3.value != "" && n4.value != "")
  {
    if (isNaN(n1.value) || isNaN(n2.value) || isNaN(n3.value) || isNaN(n4.value))
    {
      alert("I valori della carta di credito devono essere tutti interi!");
      return;
    }
  }
  var ccnum = document.getElementById('ccnum');
  if (ccnum != null)
  {
    ccnum.value = n1.value + n2.value + n3.value + n4.value;
  }
  if (service==0){
    $('CreditCardFormBean').submit();
  }
  else{
    //var form = document.getElementById("sendEmailForm");
    $('CreditCardFormBean').action = "sendPremiumEmail.do";
    $('CreditCardFormBean').submit();
  }
}

function submitAdvancedSearchForm()
{
  $('AdvancedSearchForm').submit();
}

function loadProvinces(idRegion)
{
  var updater = new Ajax.Request('loadProvinces.do',
  {
    method:'post',
    parameters: {
      idRegion: idRegion
    },
    onComplete: function updateSelect(response)
    {
      var select = document.getElementById("provinces");
      select.innerHTML = response.responseText;
    }
  });
  updater = null;
}

function enableOrDisableObjects()
{
  var obj1 = document.getElementById('cat1');
  var obj2 = document.getElementById('cat2');
  var obj3 = document.getElementById('cat3');
  if (obj1.value == -1)
  {
    obj2.disabled = true;
    obj3.disabled = true;
    obj2.value = -1;
    obj3.value = -1;
    return;
  }
  else
  {
    obj2.disabled = false;
  }
  if (obj2.value == -1)
  {
    obj3.disabled = true;
    obj3.value = -1;
    return;
  }
  else
  {
    obj3.disabled = false;
  }
}

function loadCategories(idObject, idCategory, objName, idClickedElement)
{
  var clickedElement = document.getElementById(idClickedElement);
  if (clickedElement.value != -1)
  {
    var ex = "";
    var obj1 = document.getElementById('cat1');
    if (obj1.value != -1)
    {
      ex = ex + obj1.value;
    }
    var obj2 = document.getElementById('cat2');
    if (obj2.value != -1)
    {
      ex = ex + "-" + obj2.value;
    }
    var updater = new Ajax.Request('loadCategories.do',
    {
      method:'post',
      parameters: {
        excludedIds: ex,
        catName: idCategory,
        idName: objName
      },
      onComplete: function updateSelect(response)
      {
        var select = document.getElementById(idObject);
        select.innerHTML = response.responseText;
      }
    });
    updater = null;
  }
}

function addVideo()
{
  var tr = document.getElementById("video" + currentVideo);
  if (tr != null)
  {
    tr.style.display = '';
    currentVideo++;
  }
  else
  {
    if (currentVideo < 5)
    {
      currentVideo++;
      addVideo();
    }
    return;
  }
}



function addVideoPresantation()
{
  var tr = document.getElementById("service" + currentService);
 
  if (tr != null)
  {
    tr.style.display = '';
    currentService++;
  }
  else
  {
    if (currentService < 3)
    {
      currentService++;
      addVideoPresantation();
    }
    return;
  }
}

function addImage()
{
  var tr = document.getElementById("image" + currentImage);
  if (tr != null)
  {
    tr.style.display = '';
    currentImage++;
  }
  else
  {
    if (currentImage < 10)
    {
      currentImage++;
      addImage();
    }
    return;
  }
}

function deletePublicationServiceVideo(idPublication,idVideoService,aEdit)
{
  deleteVideoService(idVideoService);
  currentService--;

  var updater = new Ajax.Request('deletePublication.do',
  {
    method:'get',
    parameters: {
      idPublication: idPublication,
      aEdit: aEdit
    },
    onComplete: function updateSelect(response)
    {
      document.location.reload(true);
    }
  });
  updater = null;
//    alert(idPublication + "_" + idVideoService);
//    deletePublication(idPublication, divVideoService, null, aEdit);
//    location = 'video.do?id=' + idVideoService + "&action=delete";
}

function deletePublication(idPublication, idTr, idTitle, aEdit)
{
  if (idTitle.match("video"))
  {
    currentVideo--;
  }
  else if (idTitle.match("image"))
  {
    currentImage--;
  }
  if (idPublication <= 0)
  {
    var tr = document.getElementById(idTr);
    if (tr != null)
    {
      tr.style.display = 'none';
    }
    var title = document.getElementById(idTitle);
    if (title != null)
    {
      title.value = '';
    }
  }
  else
  {
    location = 'deletePublication.do?idPublication=' + idPublication + "&aEdit=" + aEdit;

  }
}

function deleteVideoService(idVideo)
{
  var action = "delete";
  var updater = new Ajax.Request('video.do',
  {
    method:'get',
    parameters: {
      action: action,
      id: idVideo
    },
    onComplete: function updateSelect(response)
    {

    //               alert(response.responseText);
    }
  });
  updater = null;
}

function submitLogin()
{
  $('LoginFormBean').submit();
}

function emptySearchBox(id, defaultText)
{
  if($(id).value == defaultText)
  {
    $(id).value='';
  }
}

function fillSearchBox(id, defaultText)
{
  if($(id).value == "")
  {
    $(id).value = defaultText;
  }
}

function toAdvancedSearch()
{
  var basic = document.getElementById('basic');
  basic.style.display = 'none';
  var advanced = document.getElementById('advanced');
  advanced.style.display = 'block';
}

function toBasicSearch()
{
  var basic = document.getElementById('basic');
  basic.style.display = 'block';
  var advanced = document.getElementById('advanced');
  advanced.style.display = 'none';
}

function resetCategory(index)
{
  var hiddenField = document.getElementById("idCategory" + index);
  hiddenField.value = "-1";

//var elementText = document.getElementById("category" + index);
//elementText.value = "";
//elementText.focus();
}