function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
}

function printArray (input) {
    var output = '';
    for (var i = 0; i < input.length; i++) {
        if (typeof input[i] === 'string') {
            output += '"' + input[i] + '"';
        } else {
            output += String(input[i]);
        }
        if (i < input.length - 1) output += ', ';
    }
    return output;
}

function provjeri_telefone() {
    var telef = document.getElementById('telefon');
    var mob = document.getElementById('mobitel');
    if((telef.value=='') && (mob.value=='')) {
        alert(poruka_telefon);    
    }
}

function pazi_telefon() {
    var telef = document.getElementById('telefon');
    if (telef.value='') {
        alert (poruka_telefon1);
    }
}

function validate_controls(){
    var res = true;
    if (check_uvjeti = xGetElementById('check_uvjeti')) {
    if (check_uvjeti.checked==false) {
        alert (poruka_uvjeti);
        res= false;
    }
    }
    var controls = xGetElementsByAttribute('input', 'validate', '.+', null);
    controls = controls.concat(xGetElementsByAttribute('select', 'validate', '.+', null));
    reset_error_labels(controls);
 
    var check_group = true;
    var group_controls = new Array();
    
    var vrsta_oglasa = xGetElementById('vrsta_oglasa');
    if (vrsta_oglasa && vrsta_oglasa.value == 'najam')
        check_group = false;
        
    for (var i = 0; i < controls.length; ++i) {
        var validators = controls[i].getAttribute('validate').split('|');
        var value = controls[i].value;        
        
        for (var j=0; j<validators.length; j++){
            if (validators[j] == 'mandatory' && value == ''){ 
                set_error_label(controls[i]);
                res = false;
            } else if(validators[j].substring(0, 'mandatory_group'.length) == 'mandatory_group'){
                group_controls[group_controls.length] = controls[i];
                if (value != '')
                    check_group = true;
            } else if (validators[j].substring(0, 'number'.length) == 'number'){
                var params = validators[j].split(',');
                value = value.replace(',', '.');
                params[0] = value;
                if (check_number(params) == false){
                    set_error_label(controls[i]);
                    res = false;
                }
            } else if (validators[j].substring(0, 'integer'.length) == 'integer'){
                var params = validators[j].split(',');
                value = value.replace('.', '');
                value = value.replace(',', '');
                params[0] = value;
                if (check_integer(params) == false){
                    set_error_label(controls[i]);
                    res = false;
                }
            } else if (validators[j] == 'phone' && check_phone(value) == false){
                set_error_label(controls[i]);
                res = false;
            }
        }
    }
    
    if (!check_group){
        res = false;
        for (i = 0; i < group_controls.length; ++i){
            set_error_label(group_controls[i]);
        }
    }
    
    if (res == false){
        var message_control = xGetElementById('message');
        if (message_control)
            message_control.innerHTML = validation_error_message;
    }
    return res;
};

function check_integer(params){
    var validChars = "0123456789";
    var c;
    for(var i=0; i<params[0].length; ++i){
        c = params[0].charAt(i);
        if(validChars.indexOf(c) == -1) 
            return false;
    }
    return check_number(params);
}

function check_number(params) {
    var validChars = "0123456789.";
    var c;
    for(var i=0; i<params[0].length; ++i){
        c = params[0].charAt(i);
        if(validChars.indexOf(c) == -1) 
            return false;
    }
    if (params.length>1 && !isNaN(parseFloat(params[1])) && parseFloat(params[1])>parseFloat(params[0]))
        return false; 
    if (params.length>2 && !isNaN(parseFloat(params[2])) && parseFloat(params[2])<parseFloat(params[0]))
        return false;
    return true;
}

function check_phone() {
    var validChars = "0123456789-/";
    var c;
    if (phone.length < 7 || phone.length > 15)
        return false;
    for(var i=0; i<phone.length; i++){
        c = phone.charAt(i);
        if (validChars.indexOf(c) == -1)
            return false;
    }
    return true;
}

function reset_error_labels(controls){        
    for (var i = 0; i < controls.length; ++i) {
        var label = xGetElementById(controls[i].name + '_label');
        if (label){
            label.removeAttribute('style');
        }    
    }
}

function set_error_label(ele){
    var label = xGetElementById(ele.name + '_label');
    if (label){
        label.style.color = '#FF0000';
    }    
}

function inject_suggest_behavior(){
    var controls = xGetElementsByAttribute('input', 'autocomplete_field', '.+', null);
    var suggestOptions = { 
        matchAnywhere          : false,
        ignoreCase          : true,
        suggestDivClassName : 'suggest_box',
        selectionColor        : '#FFC82F',
        count                : 10
    };
    
    for (var i = 0; i < controls.length; ++i) {
        var field = controls[i].getAttribute('autocomplete_field');
        var id = controls[i].getAttribute('id');        
        suggestOptions.requestParameters = ['t=' + field];            
        suggest = new TextSuggest(id, 'ajax_handlers/lista_svojstava.php', suggestOptions);
    }
}

function rent_show(el){
    if (!el || el == null) return false;
    var rent_table = xGetElementById('rent_table');
    var sell_table = xGetElementById('sell_table');
    var priceEl = xGetElementById("cijena");

    if (el.value == 'prodaja'){
        rent_table.style.display = 'none';
    } else {
        rent_table.style.display = '';
    }
    
    if (el.value == 'najam'){
        sell_table.style.display = 'none';        
        priceEl.value = "0";
    } else {
        sell_table.style.display = '';
    }
}

function switchPriceControls(el){
    var priceEl = xGetElementById("cijena");
    var valutaEl = xGetElementById("valuta");
    var bezEl = xGetElementById("bez_cijene");
    var naUpitEl = xGetElementById("na_upit");
    var porezEl = xGetElementById("porez");
    
    if (el.id == "bez_cijene"){
        naUpitEl.disabled = el.checked;
    } else {
        bezEl.disabled = el.checked;
    }
        
    priceEl.disabled = el.checked;
    valutaEl.disabled = el.checked;
    if (porezEl){
        porezEl.disabled = el.checked;
    }
    
    if (priceEl.disabled){
        priceEl.value = "0";
        if (porezEl){
            porezEl.value = "";
        }
    }    
}

function engine_show(el){
    var rent_table = xGetElementById('engine_table');
    
    if ((el.value == '') || (el.value == 'bez_motora')) {
        rent_table.style.display = 'none';
    } else{
        rent_table.style.display = '';
    }    
}

function detailed_search_show(el){
    var flag = el.getAttribute("flag");
    var nextText = el.getAttribute('nextText');
    var tableEl = xGetElementById("detailed_search");
    
    if (flag == null || flag == 'off'){
        tableEl.style.display = '';
        flag = 'on';
    } else {
        tableEl.style.display = 'none';
        flag = 'off';
    }
    el.setAttribute("flag", flag);
    el.setAttribute("nextText", el.firstChild.data);
    el.firstChild.data = nextText;
}

function wopen_sr(url, name, w, h)
{
    w += 32;
    h += 96;
    wleft = (screen.width - w) / 2;
    wtop = (screen.height - h) / 2;
    var win = window.open(url,
    name,
    'width=' + w + ', height=' + h + ', ' +
    'left=' + wleft + ', top=' + wtop + ', ' +
    'location=no, menubar=no, ' +
    'status=no, toolbar=no, scrollbars=yes, resizable=yes');
    win.resizeTo(w, h);
    win.moveTo(wleft, wtop);
    win.focus();
    return win;
}

function survey_answer_chosen(el){
    var chosenEl = xGetElementById("odabran");
    
    chosenEl.value = el.value;
}
//-----------------------------------------------------------------
//-----------------------------------------------------------------
// PROVJERA UNOSA KORISNICKOG IMENA 
// Funkcija "provjera_korisnickog_imena.php" se spaja na bazu i provjerava dali postoji uneseno ime
//-----------------------------------------------------------------
function provjeri_korisnicko_ime() 
{

    if((provjera_unosa_korisnickog_imena()===true)&& (provjera_znakova_korisnickog_imena()===true))
    {
        var slobodno = false;
        var myurl = 'check_username.php';
        //  myRand = parseInt(Math.random()*999999999999999);
        // add random number to URL to avoid cache problems
        var modurl = myurl+"?ime="+document.forma2.username.value;
        http.open("GET", modurl, true);
        // set up the callback function
        http.onreadystatechange = useHttpResponse;
        http.send(null);
        
    }
}


// VRACANJE ODGOVORA OD STRANE SERVERA, AKTIVNOST TOKOM ČEKANJA(prikazivanje loading sličice)

function useHttpResponse() {
   if (http.readyState == 4) {
    if(http.status == 200) {

    var mytext = http.responseText;
    if (mytext == '' )
    {
        document.getElementById('rez_ime').innerHTML = '<img src="images/check.gif" alt="da" />';
    }else
    {
        document.getElementById('rez_ime').innerHTML = poruka1;
        return false;
    }

    }
  } else {
  document.getElementById('rez_ime').innerHTML='<img src="images/loading.gif" alt="img_lo">';
  }
}


//--------------------------------------
//----------------------------------------
//OSNOOVNE (ČISTI JAVASCRIPT) PROVJERE DALI SU POLJA UNESENA
//----------------------------------------
//--------------------------------------


//-------------------------------
//PROVJERA POLJA KORISNICKO_IME
//-------------------------------
function provjera_unosa_korisnickog_imena() 
{
    
    if (document.forma2.username.value==='')
    {
    
        document.getElementById('rez_ime').innerHTML='Obavezno polje!';
        return false;
    }else
    {
        document.getElementById('rez_ime').innerHTML='';
        document.getElementById('rez_ime').innerHTML='<img src="images/check.gif" alt="da" />';
        return true;
    }
}

//---------------------------------------------------------------------
//PROVJERA POSTOJE LI SPECIJALNI ZNAKOVI U ODABRANOM KORISNICKOM IMENU
//---------------------------------------------------------------------

function provjera_znakova_korisnickog_imena()
{
    var istina = 0;
    var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?~_ ČĆŠĐŽčćšđž"; 
           for (var i = 0; i < document.forma2.username.value.length; i++) 
        {
              if (iChars.indexOf(document.forma2.username.value.charAt(i)) != -1) 
            {
                  document.getElementById('rez_ime').innerHTML=poruka2;  
                  istina = 1;
            }
                                     
        }
    if (istina==1)
    {
        return false;
    }
    else
    {
        return true;
    }
        
}

//--------------------------
// PROVJERA POLJA EMAIL
//--------------------------

function provjera_unosa_emaila() {

if (document.forma2.email.value==='')
{
    document.getElementById('email1').innerHTML=poruka3;
    return false;
}else{

    return true;
    }
}

//----------------------------------------------
//----------------------------------------
//---PROVJERA ISPRAVNOSTI EMAILA
//----------------------------------------
//provjerava postoje li alfanumericki znakovi i tocka prije @ i poslije i dozvoljava tocku zadani broj puta
//------------------------------------------------

function provjera_ispravnosti_emaila()
{

if (provjera_unosa_emaila()===true)
    {
    
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.forma2.email.value))
        
        {
            document.getElementById('email1').innerHTML='';
            document.getElementById('email1').innerHTML='<img src="images/check.gif" alt="da" />';
            return (true)
        }
    document.getElementById('email1').innerHTML=poruka4;

    return (false)
    }
}


//------------------------
//PROVJERA UNOSA LOZINKE
//------------------------

function provjera_unosa_lozinke()
{

if (document.forma2.lozinka.value==='')
{
    document.getElementById('lozinka1').innerHTML=poruka5;
    return false;
}
else
{
    
    if(provjera_znakova_lozinke()===true)
        {
            document.getElementById('lozinka1').innerHTML='';
            document.getElementById('lozinka1').innerHTML='<img src="images/check.gif" alt="da" />';
            return true;
        }
    else
    {
        document.getElementById('lozinka1').innerHTML=poruka2; 
    }
}
}


function provjera_znakova_lozinke()
{
    var istina = 0;
    var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?~_ čćšđžČĆŠĐŽ"; 
           for (var i = 0; i < document.forma2.lozinka.value.length; i++) 
        {
              if (iChars.indexOf(document.forma2.lozinka.value.charAt(i)) != -1) 
            { 
                  istina=1;
            }
                                     
        }
    if (istina==1)
        {
            return false;
        }
        else
        {
            return true;
        }
}


//------------------------------------
//---------------------------------
//PROVJERA DALI SU POLJA LOZINKA I LOZINKA_PROVJERA IDENTIČNA
//----------------------------------
//-----------------------------------------

function provjera_lozinki()
{
    
if(provjera_unosa_lozinke()===true){    

    if (document.forma2.lozinka.value===document.forma2.lozinka_ponovno.value)
    {
        document.getElementById('lozinka1').innerHTML='';
        document.getElementById('lozinka1').innerHTML='<img src="images/check.gif" alt="da" />';
        document.getElementById('lozinka2').innerHTML='';
        document.getElementById('lozinka2').innerHTML='<img src="images/check.gif" alt="da" />';
    
        return true;
    }else
    {
        document.getElementById('lozinka1').innerHTML='';
        document.getElementById('lozinka1').innerHTML=poruka6;
        document.getElementById('lozinka2').innerHTML='';
        document.getElementById('lozinka2').innerHTML=poruka6;
        return false;
    }
}else 
    {
        document.getElementById('lozinka2').innerHTML='';
        return false;
    }

}


//---------------------
//PROVJERA POLJA IME
//---------------------

function provjera_unosa_imena()
{

if (document.forma2.ime_prezime.value==='')
{
    document.getElementById('ime2').innerHTML=poruka5;
    return false;
}else{
    document.getElementById('ime2').innerHTML='';
    document.getElementById('ime2').innerHTML='<img src="images/check.gif" alt="da" />';
    return true;
    }
    
}                           

//-----------------------
//PROVJERA POLJA CAPTCHA
//-----------------------

function provjera_unosa_kaptche(){
    
    if (document.forma2.uid.value==='')
        {
            document.getElementById('kapca').innerHTML=poruka5;
            return false;
        }
        else
        {
            document.getElementById('kapca').innerHTML='';
            return true;
        }        

}

//-----------------------
//PROVJERA POLJA DOMICILA
//-----------------------

function provjera_unosa_domicila(){
    
    if (document.forma2.domicil.value==='')
        {
            document.getElementById('domicil1').innerHTML=poruka5;
            return false;
        }
        else
        {
            document.getElementById('domicil1').innerHTML='';
            return true;
        }        

}

//--------------------------------
//PROVJERA POLJA UVJETI_KORISTENJA
//--------------------------------

function provjera_uvjeti_koristenja(){
    
    if(document.forma2.check_uvjeti.checked)
    {
        
        document.getElementById('uvjeti_koristenja1').innerHTML='';
        return true;
        
    }  else
    {
     
        document.getElementById('uvjeti_koristenja1').innerHTML=poruka5;
        return false;
        
    }
}     
    
  
                                  
//---------------------------------------
//------------------------------------------
// PROVJERA SVIH POLJA PRIJE SUBMITANJA
//-----------------------------------------
//---------------------------------------
function provjera_svih_polja(edit){
          
    var vrijednosti = true;
    
    if (edit==false){
    
    if(provjeri_korisnicko_ime()===false){
    
        document.getElementById('rez_ime').innerHTML=poruka5;
        
        vrijednosti = false;
        
    }
    }
    
    
    if(provjera_lozinki()===false){
    
        document.getElementById('lozinka1').innerHTML='';
        document.getElementById('lozinka1').innerHTML=poruka6;
        document.getElementById('lozinka2').innerHTML='';
        document.getElementById('lozinka2').innerHTML=poruka6;        
        
        vrijednosti = false;
    
    }
    
    
    if((provjera_ispravnosti_emaila()===false)||(provjera_unosa_emaila()===false)){
      
      document.getElementById('email1').innerHTML=poruka4;     
      
      vrijednosti = false;
    
     
     }
    
    
    if(provjera_unosa_imena()===false){
    
        document.getElementById('ime2').innerHTML=poruka5;
                
      vrijednosti = false;
    
    }
    
    
    if (provjera_unosa_kaptche()===false)
    {
    
        document.getElementById('kapca').innerHTML=poruka5;
        
        vrijednosti = false;    
    
    }
    
    if(provjera_uvjeti_koristenja()===false){
    
        document.getElementById('uvjeti_koristenja1').innerHTML=poruka5;
        
        vrijednosti = false;
    
    }
        return vrijednosti;
     
}

function provjera_svih_polja1(edit){
          
    var vrijednosti = true;
    
    if (edit==false){
    
    if(provjeri_korisnicko_ime()===false){
    
        document.getElementById('rez_ime').innerHTML=poruka5;
        
        vrijednosti = false;
        
    }
    }
    
    
    if(provjera_lozinki()===false){
    
        document.getElementById('lozinka1').innerHTML='';
        document.getElementById('lozinka1').innerHTML=poruka6;
        document.getElementById('lozinka2').innerHTML='';
        document.getElementById('lozinka2').innerHTML=poruka6;        
        
        vrijednosti = false;
    
    }
    
    if(provjera_unosa_domicila()===false){
    
        document.getElementById('domicil1').innerHTML='';
        document.getElementById('domicil1').innerHTML=poruka5;        
        
        vrijednosti = false;
    
    }
    
    
    if((provjera_ispravnosti_emaila()===false)||(provjera_unosa_emaila()===false)){
      
      document.getElementById('email1').innerHTML=poruka4;     
      
      vrijednosti = false;
    
     
     }
    
    
    if(provjera_unosa_imena()===false){
    
        document.getElementById('ime2').innerHTML=poruka5;
                
      vrijednosti = false;
    
    }
    
    
    if (provjera_unosa_kaptche()===false)
    {
    
        document.getElementById('kapca').innerHTML=poruka5;
        
        vrijednosti = false;    
    
    }
    
    if(provjera_uvjeti_koristenja()===false){
    
        document.getElementById('uvjeti_koristenja1').innerHTML=poruka5;
        
        vrijednosti = false;
    
    }
        return vrijednosti;
     
}

function provjera_svih_polja2(edit){
          
    var vrijednosti = true;
    
    
    if((provjera_ispravnosti_emaila()===false)||(provjera_unosa_emaila()===false)){
      
      document.getElementById('email1').innerHTML=poruka4;     
      
      vrijednosti = false;
    
     
     }
    
    
    if(provjera_unosa_imena()===false){
    
        document.getElementById('ime2').innerHTML=poruka5;
                
      vrijednosti = false;
    
    }
        return vrijednosti;
     
}

function pokazi(Click_Menu)
{
el = document.getElementById(Click_Menu);
if (el.style.display == "none")
{
el.style.display = "";
}
else
{
el.style.display = "none";
}
}

    
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}

function promjeni_jezik_sa(jezik) {
    document.getElementById('jezik_sa').value = jezik;
    document.getElementById('link_jezik_sa').innerHTML = '<img src="images/'+jezik+'.jpg" alt="'+jezik+'" />';
    document.getElementById('textarea_a').value = '';
    document.getElementById('textarea_b').value = '';
    document.getElementById('textarea_a').focus();
}

function promjeni_jezik_na(jezik) {
    document.getElementById('jezik_na').value = jezik;
    document.getElementById('link_jezik_na').innerHTML = '<img src="images/'+jezik+'.jpg" alt="'+jezik+'" />';
    //document.getElementById('textarea_a').value = document.getElementById('textarea_a').value;
    document.getElementById('textarea_b').value = '';
    document.getElementById('textarea_a').focus();
}

function isprazni() {
    if (x) {
        document.getElementById('textarea_a').value = '';
        x = false;
    }
}