var t = new Array();
//var pos = new Array();
/*this.className='button_over';*/
/*this.className='button';*/

var m_last;
var m_n = 5;

function m_show(id)
{
  clearTimeout(t[id]);
  m_last = id;
  m_hide_e(id);
   
  var s = document.getElementById("s_" + id);
  var m = document.getElementById("m_" + id);
  var pos = findPos(m);
  
  s.style.display = "block";
  s.style.left = pos[0] - 1 + "px";
  s.style.top = pos[1] + 23 + "px";
  
  m.className = "button_over";
}

function m_hide_s(id)
{
  document.getElementById("s_" + id).style.display = "none";
  
  if (m_button != id) {
    document.getElementById("m_" + id).className = "button";
  }
}

function m_hide_e(id)
{
  for (i = 0; i < m_n; i++) {
    if (i == id) {
      continue;
    }
    m_hide_s(i);
  }
}

function m_hide()
{
  for (i = 0; i < m_n; i++) {
    if (i == m_last) {
      clearTimeout(t[i]);
      t[i] = setTimeout("m_hide_s('" + i + "')", 200);
      continue;
    }
    m_hide_s(i);
  }
}

function findPos(obj) {
	var curleft = 0;
	var curtop = 0;
	
  if (obj.offsetParent) {
    do {
  			curleft += obj.offsetLeft;
  			curtop += obj.offsetTop;
    } while (obj = obj.offsetParent);
  }
  return [curleft,curtop];
}

var data_open;
function show_data(id)
{
  var d = document.getElementById("data_" + id);
  var pos = findPos(document.getElementById("data_tr_" + id));
  
  data_open = d;
  
  d.style.display = "block";
  d.style.top = pos[1] + 30 + "px";
  
  if (320 + tempX < availW) {
    data_open.style.left = tempX + "px";
  } else {
    data_open.style.left = availW - 320 + "px";
  }
  
  
  d.style.display = "block";
}


function hide_data(id)
{
  data_open = false;
  document.getElementById("data_" + id).style.display = "none";
}


var IE = document.all?true:false

if (!IE) {
  document.captureEvents(Event.MOUSEMOVE)
}

document.onmousemove = getMouseXY;

var tempX = 0
var tempY = 0
var availW = 0;
var availH = 0;

function getMouseXY(e) {
  if (IE) {
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
    availW = document.body.clientWidth;
    availH = document.body.clientHeight;
  } else {
    tempX = e.pageX
    tempY = e.pageY
    availW = innerWidth;
    availH = innerHeight;
  }  
  
  if (!data_open) {
    return true; 
  }


  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  

  if (320 + tempX < availW) {
    data_open.style.left = tempX + "px";
  } else {
    data_open.style.left = availW - 320 + "px";
  }
  
  return true;
}



var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
 var xmlHttp
 if (window.ActiveXObject) { 
   try {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e) { 
      xmlHttp = false;
   }
 } else { 
   try { 
      xmlHttp = new XMLHttpRequest();
   } catch (e) {
      xmlHttp = false;
   }
 }

 if (!xmlHttp) {
   alert("Error creating HttpObject...");
   return false;
 } else {
   return xmlHttp;
 }
}

function process(id, type, call)
{
  if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0 ) {
    //str = encodeURIComponent(str);
    xmlHttp.open("GET", "./ajax.php?id=" + id + "&do=" + type, true);
    //alert("./ajax.php?id=" + id + "&do=" + type);
    if (call != false) {
      xmlHttp.onreadystatechange = call;
    }
    xmlHttp.send(null);
  }
  else {
    setTimeout('process("' + id + '", "' + type + '", ' + call + ')', 1000);
  }
}

function handleXML()
{
  if (xmlHttp.readyState != 4) {
    return false;
  }
  
  if (xmlHttp.status != 200) {
    alert("There was a problem..." + xmlHttp.statusText);
    return false;
  }
  return xmlHttp.responseText;
}

function offer_process()
{
  var str = handleXML();
  if (!str) {
    return; 
  }
  
  str = String(str).split(',');

  document.getElementById('data_tr_' + str[0]).className = (str[1] ? str[1] : '');
}

function get_obcine(field)
{
	var country_id = field.value;
	
	process(country_id, 'get_regions', process_obcine);
	process(0, 'get_locations', process_locations);
}

function get_locations(field)
{
	var obcina_id = field.value;
	var country_id = document.form1.country_id.value;
	
	if (country_id != 1) {
			obcina_id = 0;
	}
	process(obcina_id, 'get_locations', process_locations); 
}

function process_locations()
{
	var str = handleXML();
  if (!str) {
    return; 
  }
	document.getElementById('td_locations').innerHTML = str;
}

function process_obcine()
{
	var str = handleXML();
  if (!str) {
    return; 
  }
	document.getElementById('td_obcina').innerHTML = str;
}

function offer(u_id, r_id, opt, n) {
  
  var c = 0;
  switch (opt.value) {
    case "-1":
      if (n%2) {
        c = 'list_even'; 
      }
    break;
    
    case "0":
      c = 'list_proposed';
    break;
        
    case "1":
      c = 'list_visited';
    break; 
  }
  
  process(u_id, 'offer&realestate_id=' + r_id + '&v=' + opt.value + '&c=' + c + '&rand=' + Math.random(), offer_process);
  
  
}

function price_f(id)
{
  var str = document.getElementById(id).value;
  str = str.replace(/ /g, '');
  str = str.replace('.', '');
  
  document.getElementById(id).value = str;
  document.getElementById(id).select();
}

function price_b(id)
{
  var str = document.getElementById(id).value;
  str = str.replace(/ /g, '');
  str = str.replace('.', '');
  str = str.replace(',', '.');
  
  var num = Number(str);
  
  if (isNaN(num)) {
    num = 0; 
  }
  
  num = num.toFixed(2);
  
  var num_main = String(Math.floor(num));
  var num_dec = (num - num_main).toFixed(2).substr(2);
  num_main = num_main.split("");
    
  var num_separators = Math.floor((num_main.length - 1) / 3);
  
  
  str = '';
  for (var i = num_main.length - 1, j = 0; i >= 0; i--, j++) {
    str = num_main[i] + str;
    
    
    if (!((j+1) % 3) && i) {
      str = " " + str; 
    }
  }
  
  
  document.getElementById(id).value = str + "," + num_dec;
}

function date_b(id)
{
  var str = document.getElementById(id).value;
  
  var d = str.match(/\d{1,2}.\d{1,2}.\d{4}/g);
  
  if (!d) {
    document.getElementById(id).focus();
    document.getElementById(id).select();
    alert('Datum mora biti v formatu dd.mm.llll');
  }
  
  
}



function align_event(id, w, h, n)
{
  var pos = findPos(document.getElementById('field_' + w + '_' + h));
  var s = document.getElementById('event_' + id);
  
  s.style.display = "block";
  s.style.left = pos[0] + "px";
  s.style.top = pos[1] + "px";
  
  s.style.height = (30 * n) - 1 + "px";
  
}

function str_pad(str, len, pad_str)
{
  str = String(str);
  
  while (str.length < len) {
    str = pad_str + str;
  }
  return str;
}

var event_date;

function show_add_event(x, y, iso_date)
{
  var obj = document.getElementById('field_' + x + '_' + y);
  var pos = findPos(obj);
  var s = document.getElementById('add_event');
  
 
  
  s.style.left = pos[0] - 30 + "px";
  s.style.top = pos[1] - 190 + "px";
  
  event_date = iso_date;

  document.getElementById('event_date_from').value =  str_pad(Math.floor(y), 2, "0") + ":" + str_pad((y - Math.floor(y)) * 60, 2, "0");
  document.getElementById('event_date_to').value = str_pad(Math.floor(y + 1), 2, "0") + ":" + str_pad((y + 1 - Math.floor(y + 1)) * 60, 2, "0");
  
  
  document.getElementById('realestate_id').selectedIndex = 0;
  if (document.getElementById('type_id').selectedIndex) {
  	document.getElementById('type_id').selectedIndex = 0;
  }
  document.getElementById('client_id').selectedIndex = 0;
  document.getElementById('event_notes').value = "";
  
  
  document.getElementById('event_add').innerHTML = '<a href="javascript:void(0)" onclick="add_event(1, 0);">dodaj</a></div><img src="images/ajax-loader.gif" id="event_ajax_loader" style="display: none;" />';
  document.getElementById('event_ajax_loader').style.display = "none";
  
  s.style.display = "block";
}

function add_event(id, edit)
{
  document.getElementById('event_ajax_loader').style.display = "inline";
  
  var date_from = escape(document.getElementById('event_date_from').value)
  var date_to = escape(document.getElementById('event_date_to').value)
  var date_notes = escape(document.getElementById('event_notes').value)
  var realestate_id = escape(document.getElementById('realestate_id').value)
  var type_id = escape(document.getElementById('type_id').value)
  var client_id = escape(document.getElementById('client_id').value)

  process(id, (edit ? 'edit_event2':'add_event') + '&date=' + event_date + '&date_from=' + date_from + '&date_to=' + date_to + '&realestate_id=' + realestate_id + '&type_id=' + type_id + 
                '&client_id=' + client_id + '&date_notes=' + date_notes, hide_add_event);
}

function hide_add_event()
{
  var str = handleXML();
  if (!str) {
    return; 
  }
  
  document.getElementById('event_ajax_loader').style.display = "none";
  document.getElementById('add_event').style.display = "none";
  
  eval(str);
}

function del_event(id, ignore_ajax)
{
  if (!ignore_ajax) {
    process(id, 'del_event', false);
  }
  
  var d = document.getElementById('events');
  var olddiv = document.getElementById('event_' + id);
  d.removeChild(olddiv);
  return;
}


function event_close(e) {
  var pos = findPos(document.getElementById('add_event'));
  var x = tempX - pos[0];
  var y = tempY - pos[1];
  
  if (y > 130) {
    document.getElementById('add_event').style.display = "none";
  }
} 
  
function edit_event(id)
{
  
  process(id, 'edit_event', edit_event2);
}

function edit_event2()
{
  var str = handleXML();
  if (!str) {
    return;
  }
  
  eval(str);
  var x = data[0];
  var y = data[1];
  
  var obj = document.getElementById('field_' + x + '_' + y);
  var pos = findPos(obj);
  var s = document.getElementById('add_event');
  
  s.style.left = pos[0] - 30 + "px";
  s.style.top = pos[1] - 190 + "px";
  
  event_date = data[3];
  document.getElementById('event_date_from').value =  str_pad(Math.floor(y), 2, "0") + ":" + str_pad((y - Math.floor(y)) * 60, 2, "0");
  document.getElementById('event_date_to').value = str_pad(Math.floor(y + data[2]), 2, "0") + ":" + str_pad((y + data[2] - Math.floor(y + data[2])) * 60, 2, "0");
  

  document.getElementById('type_id').selectedIndex = 0;
  for (i = 0; i < document.getElementById('type_id').length; i++) {
  	if (document.getElementById('type_id').options[i].value == data[4]) {
  		document.getElementById('type_id').selectedIndex = i;
  	}
  }
  
  document.getElementById('client_id').selectedIndex = 0;
  for (i = 0; i < document.getElementById('client_id').length; i++) {
  	if (document.getElementById('client_id').options[i].value == data[6]) {
  		document.getElementById('client_id').selectedIndex = i;
  	}
  }
  
  document.getElementById('realestate_id').selectedIndex = 0;
  for (i = 0; i < document.getElementById('realestate_id').length; i++) {
  	if (document.getElementById('realestate_id').options[i].value == data[5]) {
  		document.getElementById('realestate_id').selectedIndex = i;
  	}
  }
  
  document.getElementById('event_notes').value = data[7];
  
  
  document.getElementById('event_add').innerHTML = '<a href="javascript:void(0)" onclick="add_event(' + data[8] + ', 1);">uredi</a></div><img src="images/ajax-loader.gif" id="event_ajax_loader" style="display: none;" />';
  document.getElementById('event_ajax_loader').style.display = "none";
  
  s.style.display = "block";
}

function new_event(id, title, msg, w, h, n, classn)
{
  var ni = document.getElementById('events');
  var newdiv = document.createElement('div');
  var divIdName = 'event_' + id;
  newdiv.setAttribute('id',divIdName);
  newdiv.setAttribute('className', 'event_n');
  newdiv.setAttribute('class', 'event_n');
  newdiv.style.backgroundColor = classn;
  newdiv.innerHTML = '<div><a href="javascript:del_event(' + id + ');" onclick="return confirm(\'Ali zares želite izbrisati dogodek?\')">X</a>' +
                     ' <a href="javascript:void(0)" onclick="edit_event(' + id + ')">U</a> <strong>' + title + '</strong><br />' + msg + '</div>';
  ni.appendChild(newdiv);
  
  //newdiv.onmouseover = show_detail_event;
  
  var pos = findPos(document.getElementById('field_' + w + '_' + h));

  var s = document.getElementById('event_' + id);
  
  s.style.display = "block";
  s.style.left = pos[0] + "px";
  s.style.top = pos[1] + "px";
  
  s.style.height = (38 * n) - 1  + "px";
  
  
}

function check_criterion() {
  if (document.getElementById('field_buyer').checked || document.getElementById('field_hirer').checked) {
    document.getElementById('r_criterion').style.display = "block";
  } else {
    document.getElementById('r_criterion').style.display = "none"; 
  }
}

var langs = new Array('sl', 'it', 'en');
function field_l(name, lang)
{
  var flag;
  var field;
  
  for (var i = 0; i < langs.length; i++) {
     flag = document.getElementById('flag_' + langs[i] + '_' + name);
     field = document.getElementById('field_' + langs[i] + '_' + name);
     if (lang != langs[i]) {
      flag.style.display = "inline";
      field.style.display = "none";
     } else {
      flag.style.display = "none";
      field.style.display = "inline";
     }
  }
  
}

function auto_ad()
{
	var kraj = '';
	if (document.form1.country_id.value != 1) {
  	//var kraj = document.form1.region.options[document.form1.region.selectedIndex].innerHTML.toUpperCase();
  	var kraj = document.form1.location.value.toUpperCase();
  } else {
  	var kraj = document.form1.kraj_id.options[document.form1.kraj_id.selectedIndex].innerHTML.toUpperCase();
  }
  var predel = document.form1.district_sl.value;
  var ulica = document.form1.street.value
  var tip = document.form1.realestate_type.options[document.form1.realestate_type.selectedIndex].innerHTML.toUpperCase();
  var povrsina = document.form1.area.value.substr(0, document.form1.area.value.length - 3);
  var teren = document.form1.terrain.value.substr(0, document.form1.terrain.value.length - 3);
  var cena = document.form1.price.value.substr(0, document.form1.price.value.length - 3);
  var id2 = document.form1.id2.value;
  
  var stanje = document.form1.state.options[document.form1.state.selectedIndex].innerHTML;
  var starost = document.form1.year.value;
  var nadstropje = document.form1.floor.value;
  var nadstropje2 = document.form1.floor2.value;
  
  var leto = document.form1.year.value;
  var zunpov = document.form1.outside_area_sl.value;
  var razgled = document.form1.view_sl.value;
  
  var what = 'prodamo';
  if (document.getElementById('realisation_2').checked) {
    what = 'oddamo';
  }
  
  var extras = new Array;
  if (document.getElementById('field_domofon').checked) {
    extras.push('domofon'); 
  }
  if (document.getElementById('field_elevator').checked) {
    extras.push('dvigalo'); 
  }
  if (document.getElementById('field_cellar').checked) {
    extras.push('klet'); 
  }
  if (document.getElementById('field_tv').checked) {
    extras.push('kabelska'); 
  }
  if (document.getElementById('field_phone').checked) {
    extras.push('telefon'); 
  }
  if (document.getElementById('field_internet').checked) {
    extras.push('internet'); 
  }
  
  var last = extras.pop();
  if (extras.length) {
    extras = extras.join(', ') + ' in ' + last;
  } else {
    extras = last;
  }
  /*
  KOPER, Markovec, GARSONJERA v izmeri 13 m2, pripadajoče zemljišče 10 m2 in terasa, letnik 2002, 
  nadstropje: 1 od 4, dvigalo, domofon in telefon, 
  ogrevanje: klima, s pripadajočim parkiriščem in razgledom na morje, prodamo za 123.000 EUR. Ponudba 2785
  */
  
  var el = document.getElementById('fieldset_ogrevanje').getElementsByTagName('input');
  var ogrevanje = new Array();
  for (var i = 0; i < el.length; i++) {
    if (!el[i].checked || el[i].title == 'undefined' || !el[i].title) {
      continue;
    } 
    
    ogrevanje.push(el[i].title);
  }
  
  var last = ogrevanje.pop();
  if (ogrevanje.length) {
    ogrevanje = ogrevanje.join(', ') + ' in ' + last;
  } else {
    ogrevanje = last;
  }
  
  var el = document.getElementById('fieldset_zunanje').getElementsByTagName('input');
  var zunanje = new Array();
  for (var i = 0; i < el.length; i++) {
    if (!el[i].checked || el[i].title == 'undefined' || !el[i].title) {
      continue;
    } 
    
    zunanje.push(el[i].title);
  }
  
 
  zunanje = zunanje.join(', ');
  
  var el = document.getElementById('fieldset_parking').getElementsByTagName('input');
  var parking = new Array();
  for (var i = 0; i < el.length; i++) {
    if (!el[i].checked || el[i].title == 'undefined' || !el[i].title) {
      continue;
    } 
    
    parking.push(el[i].title);
  }
  
  var last = parking.pop();
  if (parking.length) {
    parking = parking.join(', ') + ' in ' + last;
  } else {
    parking = last;
  }
  
  var el = document.getElementById('fieldset_view').getElementsByTagName('input');
  var view = new Array();
  for (var i = 0; i < el.length; i++) {
    if (!el[i].checked || el[i].title == 'undefined' || !el[i].title) {
      continue;
    } 
    
    view.push(el[i].title);
  }
  
  var last = view.pop();
  if (view.length) {
    view = view.join(', ') + ' in ' + last;
  } else {
    view = last;
  }
  
  document.form1.ad.value = kraj + (predel.length ? ', ' + predel : '') + ', ' + tip + ' v izmeri ' + povrsina + ' m2' + (parseInt(teren) ? ', pripadajoče zemljišče ' + teren + ' m2':'') + (parseInt(teren) && zunanje ? ' in ':', ') + (zunanje ? zunanje + ', ':'') + (parseInt(leto) ? 'letnik ' + leto + ', ':'') + 
  (parseInt(nadstropje)? 'nadstropje: ' + nadstropje + ' od ' + nadstropje2 + ', ':'') + (extras ? extras + ', ' : '') + (ogrevanje ? 'ogrevanje: ' + ogrevanje + ', ' : '') + (parking ? parking + ', ':'') + (view ? view + ', ':'') + what + ' za ' + cena + " EUR." + (id2 ? "\nPonudba " + id2:'');
}

function show_div_w(id)
{
  var pos = findPos(document.getElementById('sq_w_' + id));
  document.getElementById('data_' + id).style.left = (pos[0] - document.getElementById('data_' + id).innerHTML.length * 4) + "px";
  document.getElementById('data_' + id).style.top = (pos[1] + 25) + "px";
  document.getElementById('data_' + id).style.width = (document.getElementById('data_' + id).innerHTML.length * 4.9) + "px";
  document.getElementById('data_' + id).style.display = "block";
}

function hide_div_w(id)
{
  document.getElementById('data_' + id).style.display = "none";
}
var forced = 0;

function display_help(force)
{
  var w = document.body.clientWidth;
  var h = document.getElementById('help');
  var i = document.getElementById('help_icon');
  
  if (!h) {
    return true; 
  }
  
  if (force) {
     i.style.display = "block";
     
     if (h.style.display == "block") {
        forced = false;
        h.style.display = "none";
     } else {
        forced = true;
        h.style.display = "block"
     }
     
     return true;
  }
  
  if (forced) {
    return true;  
  }
  
  if (w >= 1100) {
    h.style.display = "block";
    i.style.display = "none";
    return true;
  }
  
  h.style.display = "none";
  i.style.display = "block";
  
  return true;
}
