
/*
** Ajax instance
*/
var xmlHttp;

function run_regnr()
{
    var l_regnr = document.getElementById('regnr');
    var l_ajaxloader = document.getElementById('regnr_ajaxloader');
    var l_regnrstatustxt = document.getElementById('regnrstatustxt');
    
    //göm loader
    l_ajaxloader.style.visibility = 'hidden';
    
    //bort med elaka tecken
    l_regnr.value = l_regnr.value.replace(/[^a-zA-Z0-9]+/, '');
    
    //kolla längd...
    if(l_regnr.value.length == 6)
    {
        //starta loader
        l_ajaxloader.style.visibility = 'visible';

        //visa status
        l_regnrstatustxt.innerHTML = '<br /><br />Vänta... hämtning av information pågår';

        //hämta info
        fetch_regnr_info();
    }
}

function dont_paste()
{
  var l_devil = document.getElementById('devil');

  if(l_devil)
  {
    l_devil.style.visibility = 'visible';
  }
  return false;
}

function switch_transport()
{
  //tag reda på nytt state
  var l_tlist = document.getElementById('transport_id');
  
  var x = document.getElementById('tr_max_trans_eumile');
  var y = document.getElementById('input_max_trans_eumile');
  if(l_tlist.selectedIndex == 0)
  {
      x.style.backgroundColor = '#eeeeee';
      y.disabled = 'disabled';
  }
  else
  {
      x.style.backgroundColor = '#ffffff';
      y.disabled = '';
  }

  var x = document.getElementById('tr_vehiclelocation');
  var y = document.getElementById('input_vehiclelocation');

  var x2 = document.getElementById('tr_vehiclelocation_zip');
  var y2 = document.getElementById('input_vehiclelocation_zip');

  if(l_tlist.selectedIndex == 0)
  {
      x.style.backgroundColor = '#ffffff';
      y.disabled = '';
      x2.style.backgroundColor = '#ffffff';
      y2.disabled = '';
  }
  else
  {
      x.style.backgroundColor = '#eeeeee';
      y.disabled = 'disabled';
      x2.style.backgroundColor = '#eeeeee';
      y2.disabled = 'disabled';
  }
}


//
// Todo.. ha 3 olika warn state? en för varje ajax funktion kanske???!?!?!?!?!
//

var g_length_warn_state = 0;



//Hämta user info
function fetch_email_info()
{
    var l_elements = document.getElementsByName('email2');
    if(l_elements && l_elements[0].value)
    {
        var l_email = l_elements[0].value;
    }
    else
    {
        var l_email = '';
    }

    if(l_email.length > 5)
    {

    //alert('l_email: ' + l_email);

        //hämta info, via ett ajax-anrop till en js/php-fil
        xmlHttp = _getXmlHttpObject();
        var url = "/global/web/vehiclesearch/scripts/dynamic/13/set.email_data.php";
        url = url+"?id=" + l_email;
        url = url+"&sid=" + Math.random();
        xmlHttp.onreadystatechange = ajaxcb_run_result;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    else
    {
        alert('Ett fel har inträffat.\n\Din E-Post måste anges korrekt.\n\nExempel: test@example.com');

        if(g_length_warn_state == 0)
        {
            setTimeout("document.getElementsByName('email2')[0].focus();",1);
            setTimeout("document.getElementsByName('email2')[0].select();",1);
        }
        g_length_warn_state = 1;
    }
}

// Hämta företagsinfo från allabolag
function fetch_company_info()
{
    //hämta och kolla data
    var l_elements = document.getElementsByName('cno');
    if(l_elements && l_elements[0].value)
    {
        var l_cno = _stripAlphaChars(l_elements[0].value);
    }
    else
    {
        var l_cno = '';
    }
    
    if(l_cno.length == 10)
    {
        //hämta info, via ett ajax-anrop till en js/php-fil
        xmlHttp = _getXmlHttpObject();
        var url = "/global/web/vehiclesearch/scripts/dynamic/13/set.company_data.php";
        url = url+"?id=" + l_cno;
        url = url+"&sid=" + Math.random();
        xmlHttp.onreadystatechange = ajaxcb_run_result;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    else
    {
        alert('Ett fel har inträffat.\n\nOrganisationsnummret måste skrivas med 10 siffror.\n\nExempel: 850311-1234');

        if(g_length_warn_state == 0)
        {
            setTimeout("document.getElementsByName('cno')[0].focus();",1);
            setTimeout("document.getElementsByName('cno')[0].select();",1);
        }
        g_length_warn_state = 1;
    }
}

//Hämta make_id, model_id och ev. kaross
function fetch_regnr_info()
{
    var l_elements = document.getElementsByName('vehicleregnr');
    if(l_elements && l_elements[0].value)
    {
        var l_regnr = l_elements[0].value;
    }
    else
    {
        var l_regnr = '';
    }

    if(l_regnr.length == 6)
    {

    //alert('regnr: ' + l_regnr);

        //hämta info, via ett ajax-anrop till en js/php-fil
        xmlHttp = _getXmlHttpObject();
        var url = "/global/web/vehiclesearch/scripts/dynamic/13/set.regnr_data.php";
        url = url+"?id=" + l_regnr;
        url = url+"&sid=" + Math.random();
        xmlHttp.onreadystatechange = ajaxcb_run_result;
        xmlHttp.open("GET", url, true);
        xmlHttp.send(null);
    }
    else
    {
        alert('Ett fel har inträffat.\n\Registreringsnummret måste skrivas med 6 tecken utan mellanrum.\n\nExempel: UMS801');

        if(g_length_warn_state == 0)
        {
            setTimeout("document.getElementsByName('vehicleregnr')[0].focus();",1);
            setTimeout("document.getElementsByName('vehicleregnr')[0].select();",1);
        }
        g_length_warn_state = 1;
    }
}




//ajax cb - exekvera resultatet
function ajaxcb_run_result()
{
    if(xmlHttp.readyState == 4)
    {
        //göm ajax loader me
        var l_ajaxloader = document.getElementById('regnr_ajaxloader');
        l_ajaxloader.style.visibility = 'hidden';

        //uppdatera fälten
        if(xmlHttp.responseText.length > 1)
        {
            eval(xmlHttp.responseText);
            
            if(regnr_status == 1)
            {
                var l_regnrstatustxt = document.getElementById('regnrstatustxt');
                l_regnrstatustxt.innerHTML = '<br /><br />Informationen hittad, kontrollera er bilinformation';
            }
            else
            if(regnr_status == 2)
            {
                var l_regnrstatustxt = document.getElementById('regnrstatustxt');
                l_regnrstatustxt.innerHTML = '<br /><br />Information hittades ej, vänligen komplettera er bilinformation';
            }
            
            regnr_status = 0;
        }
    }
}

//TODO:
//
// Gör fetch_makeid_modelid
//
// Kanske alltid borde fylla model_id med ett javascript?
//

function _stripAlphaChars(p_str)
{
    var m_strOut = new String(p_str);
    m_strOut = m_strOut.replace(/[^0-9]/g, '');
    return m_strOut;
}


function _getXmlHttpObject()
{
  var xmlHttp;
  try
  {
    // Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch (e)
  {
    // Internet Explorer
    try
    {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
      try
      {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        ///alert("Your browser does not support AJAX!");
        return false;
      }
    }
  }

  return xmlHttp;
}

