/*********************************************************** *********************** SETTINGS *************************** ***********************************************************/ //var RequestURL = "http://www.crazyweb.lt/RealEstate/model.php?action=xml&lang=0"; //var RequestURL = "http://localhost:83/model.php?action=xml&lang=0"; var RequestURL = "http://www.charisma.lt/model.php?action=xml&lang=0"; var opacityLevel = 25; // procentais /*********************************************************** ********************** TROUBLESHOOT ************************ *********************************************************** If your ajax doesn't work, try these: 1. Make sure method is in quotes (e.g. "POST") 2. Make sure handling method is without quotes (e.g. HandleResponse) 3. Don't forget the freakin' header("Content-Type: text/xml") /*********************************************************** ********************** AJAX ENGINE ************************* ***********************************************************/ var XMLLoader = null; /// Prepare XMLLoader object //////////////////////////////// ///////////////////////////////////////////////////////////// alerted=false; /*@cc_on @*/ /*@if (@_jscript_version >= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. try { XMLLoader=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { XMLLoader=new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { alert("You must have Microsofts XML parsers available"); } } @else { alert("You must have JScript version 5 or above."); XMLLoader=false; alerted=true; } @end @*/ if (!XMLLoader && !alerted) { try { XMLLoader = new XMLHttpRequest(); } catch (e) { alert("You need a browser which supports an XMLHttpRequest Object.\nMozilla build 0.9.5 has this Object and IE5 and above") } } function HandleResponse() { if (XMLLoader.readyState == 4) { if ((XMLLoader.status) && (XMLLoader.status == 200)) { AjaxXML = XMLLoader.responseXML.getElementsByTagName('xml')[0]; for (i = 0; i < AjaxXML.childNodes.length; i++) { c = AjaxXML.childNodes[i]; fn = c.nodeName; if (fn == '#text') continue; args = "" for (j = 0; j < c.childNodes.length; j++) { cn = c.childNodes[j]; if (cn.nodeType == 3 || cn.childNodes[0] == null) continue; args += (args!="")?", ":""; args += "'"+cn.childNodes[0].nodeValue+"'"; } func = fn+'('+args+')'; setTimeout(func, 0); } } else { alert('Error occured in AJAX'); } } } function LoadData(FileName, Method, PostVariables, Handler) { if (XMLLoader) { XMLLoader.open(Method, FileName, true); XMLLoader.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); XMLLoader.onreadystatechange=Handler; XMLLoader.send(PostVariables); } } /*********************************************************** ****************** FLAT WINDOW ***************************** ***********************************************************/ function AJAXcheck() { if (XMLLoader.readyState == 4) { if ((XMLLoader.status) && (XMLLoader.status == 200)) { AjaxXML = XMLLoader.responseXML; return AjaxXML; } else { alert('Error occured in AJAX'); } } return null; } //*** OnClick function function loadApartment(ID) { LoadData(RequestURL + "&ID=" + ID, "POST", "ID="+ID, showApartment); } //*** Handler function function showApartment() { XML = AJAXcheck(); if( XML == null ) return; if (XML.getElementsByTagName("buto_statusas_id")[0].firstChild.nodeValue == 3) return false; mainDiv = document.getElementById('main'); overlayerDiv = document.getElementById('overlayer'); /* // paslepia main div'a (IE) //mainDiv.style.zoom = 1; mainDiv.style.filter = 'alpha(opacity='+opacityLevel+')'; // paslepia main div'a (cross-browser) mainDiv.style.opacity = opacityLevel/100.0; */ // parodo perdengima overlayerDiv.style.display = 'block'; HideSelect(); // Enable reservation form submit button. document.getElementById('button_rezervuoti').disabled = false; //Clear reserve form document.getElementById('firstname').value = "Vardas"; document.getElementById('surname').value = "Pavardė"; document.getElementById('phone').value = "Telefonas"; document.getElementById('email').value = "El. paštas"; document.getElementById('firstname').className = ""; document.getElementById('surname').className = ""; document.getElementById('phone').className = ""; document.getElementById('email').className = ""; document.getElementById('rezervacija_message').innerHTML = "* rezervacija galioja 48 valandas"; document.getElementById('rezervacija_message').className = ""; // suraso antraste var tipas_name = ''; if (XML.getElementsByTagName('buto_tipas_id')[0].firstChild.nodeValue > 1) tipas_name = 'Komercinės'; else tipas_name = 'Butas'; document.getElementById('title').innerHTML = tipas_name + ' ' + XML.getElementsByTagName('buto_pavadinimas')[0].firstChild.nodeValue; document.getElementById('status').innerHTML = ' (' + XML.getElementsByTagName('buto_statusas')[0].firstChild.nodeValue+')'; var status_id = XML.getElementsByTagName("buto_statusas_id")[0].firstChild.nodeValue; var style_class = ""; if (status_id == 1) style_class = "free"; if (status_id == 2) style_class = "reserved"; if (status_id == 3) style_class = "bought"; document.getElementById('status').className = style_class; // supildo lenteles laukelius document.getElementById('korpusas').innerHTML = XML.getElementsByTagName('namo_pavadinimas')[0].firstChild.nodeValue; document.getElementById('aukstas').innerHTML = XML.getElementsByTagName('aukstas')[0].firstChild.nodeValue; document.getElementById('kambariu').innerHTML = XML.getElementsByTagName('kambariu_skaicius')[0].firstChild.nodeValue; document.getElementById('orientacija').innerHTML = XML.getElementsByTagName('orientacija')[0].firstChild.nodeValue; document.getElementById('laiptine').innerHTML = XML.getElementsByTagName('laiptine')[0].firstChild.nodeValue; document.getElementById('buto_plotas').innerHTML = XML.getElementsByTagName('plotas')[0].firstChild.nodeValue; document.getElementById('kainam2').innerHTML = formatCurrency(XML.getElementsByTagName('kaina_1m2')[0].firstChild.nodeValue); document.getElementById('balkonoplotas').innerHTML = XML.getElementsByTagName('balkono_plotas')[0].firstChild.nodeValue; document.getElementById('balkonokaina').innerHTML = formatCurrency(XML.getElementsByTagName('balkono_kaina')[0].firstChild.nodeValue); document.getElementById('parkavimo').innerHTML = formatCurrency(XML.getElementsByTagName('parkavimo_kaina')[0].firstChild.nodeValue); document.getElementById('parkavimo_keltuv').innerHTML = formatCurrency(XML.getElementsByTagName('parkavimo_kaina_keltuv')[0].firstChild.nodeValue); document.getElementById('viso').innerHTML = formatCurrency(XML.getElementsByTagName('viso_turto_kaina')[0].firstChild.nodeValue); if (document.getElementById("viso_lt") != null) document.getElementById('viso_lt').innerHTML = formatCurrency(XML.getElementsByTagName('viso_turto_kaina_lt')[0].firstChild.nodeValue); // pakeicia plano paveiksla document.getElementById('butoplanas').src = '/images/butai/' + XML.getElementsByTagName('buto_planas')[0].firstChild.nodeValue; //if ((XML.getElementsByTagName('sId')[0].firstChild.nodeValue == 2911) || (XML.getElementsByTagName('sId')[0].firstChild.nodeValue == 2912)) { // document.getElementById('butoplanas').width = 378; // document.getElementById('butoplanas').height = 584; // document.getElementById('overlayer').style.height = '782px'; //} //else { document.getElementById('butoplanas').width = 489; document.getElementById('butoplanas').height = 380; document.getElementById('overlayer').style.height = '585px'; //} document.getElementById('buto_sId').value = XML.getElementsByTagName('sId')[0].firstChild.nodeValue; document.getElementById('a_open_flat').href = 'http://www.charisma.lt/butas.php?ID=' + XML.getElementsByTagName('sId')[0].firstChild.nodeValue; return false; } function closeApartment() { mainDiv = document.getElementById('main'); overlayerDiv = document.getElementById('overlayer'); // paryskina main div'a //mainDiv.style.zoom = 1; //mainDiv.style.filter = "alpha(opacity=100)"; //mainDiv.style.opacity = 1; // paslepia perdengima overlayerDiv.style.display = 'none'; document.getElementById('butoplanas').src = '/images/transparent.gif'; return false; } function HideSelect() { if (document.getElementById("hidingControls1") != null) document.getElementById("hidingControls1").style.display = "inline"; if (document.getElementById("hidingControls2") != null) document.getElementById("hidingControls2").style.display = "inline"; if (document.getElementById("hidingControls3") != null) document.getElementById("hidingControls3").style.display = "inline"; } function ShowSelect() { if (document.getElementById("hidingControls1") != null) document.getElementById("hidingControls1").style.display = "none"; if (document.getElementById("hidingControls2") != null) document.getElementById("hidingControls2").style.display = "none"; if (document.getElementById("hidingControls3") != null) document.getElementById("hidingControls3").style.display = "none"; } function formatCurrency(num, showcents) { if (showcents == null) showcents = 0; num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+' '+ num.substring(num.length-(4*i+3)); if ((cents == "00") && (showcents == 0)) cents = ""; else cents = "," + cents; return (((sign)?'':'-') + num + cents); } /*********************************************************** ****************** SORT TABLE ****************************** ***********************************************************/ //var SortRequestURL = "http://localhost:83/xmlSortTable.php?action=xml&lang=0"; //var SortRequestURL = "http://www.crazyweb.lt/RealEstate/xmlSortTable.php?action=xml&lang=0"; var SortRequestURL = "http://www.charisma.lt/xmlSortTable.php?action=xml&lang=0"; var selectedCol = 2; var selectedPage = 0; var searchPlotas = 0; var searchKamb = 0; var searchKaina = 0; //*** OnClick function function SortTable(col, page) { selectedCol = col; if (page != null) selectedPage = page; var variables = "&col=" + col + "&page=" + selectedPage; if (searchPlotas > 0) variables += "&plotas=" + searchPlotas; if (searchKamb > 0) variables += "&kamb=" + searchKamb; if (searchKaina > 0) variables += "&kaina=" + searchKaina; LoadData(SortRequestURL + variables, "POST", "col="+col, changeSortingInTable); } function FilterTable() { searchPlotas = document.getElementById('plotas').value; searchKamb = document.getElementById('skaicius').value; searchKaina = document.getElementById('kaina').value; selectedPage = 0; SortTable(selectedCol, selectedPage) } //*** Handler function function changeSortingInTable(col) { var flat; var sId; var overlayerDiv = document.getElementById('noresults'); XML = AJAXcheck(); if( XML == null ) { return; } var flats = XML.getElementsByTagName("flat"); if (flats.length == 0) { overlayerDiv.style.display = 'block'; } else { overlayerDiv.style.display = 'none'; } var tmp = new Array(); for (var i = 0 ; i < flats.length ; i++) { flat = flats[i]; sId = flat.getElementsByTagName("sId")[0].firstChild.nodeValue; tmp[i] = sId; document.getElementById('tr_butas'+i).onclick = function() { loadApartment( tmp[ parseInt( this.id.substr(8) ) ] ) }; var label = flat.getElementsByTagName("buto_pavadinimas")[0].firstChild.nodeValue; document.getElementById('table_flat_nr'+i).innerHTML = tmp[i]; var floor = flat.getElementsByTagName("aukstas")[0].firstChild.nodeValue; document.getElementById('table_flat_floor'+i).innerHTML = floor; var room_count = flat.getElementsByTagName("kambariu_skaicius")[0].firstChild.nodeValue; document.getElementById('table_flat_roomcount'+i).innerHTML = room_count; var area = flat.getElementsByTagName("plotas")[0].firstChild.nodeValue; document.getElementById('table_flat_area'+i).innerHTML = area; var price = flat.getElementsByTagName("kaina_1m2")[0].firstChild.nodeValue; document.getElementById('table_flat_price'+i).innerHTML = formatCurrency(price); var all_price = flat.getElementsByTagName("viso_turto_kaina")[0].firstChild.nodeValue; document.getElementById('table_flat_allprice'+i).innerHTML = formatCurrency(all_price, 1); var status = flat.getElementsByTagName("buto_statusas")[0].firstChild.nodeValue; document.getElementById('table_flat_status'+i).innerHTML = status; var status_id = flat.getElementsByTagName("buto_statusas_id")[0].firstChild.nodeValue; var style_class = ""; if (status_id == 1) style_class = "free status"; if (status_id == 2) style_class = "reserved status"; if (status_id == 3) style_class = "bought status"; document.getElementById('table_flat_status'+i).className = style_class; } //clear ald values for (var i = flats.length; i < 10; i++) { document.getElementById('tr_butas'+i).onclick = function() { }; document.getElementById('table_flat_nr'+i).innerHTML = ""; document.getElementById('table_flat_floor'+i).innerHTML = ""; document.getElementById('table_flat_roomcount'+i).innerHTML = ""; document.getElementById('table_flat_area'+i).innerHTML = ""; document.getElementById('table_flat_price'+i).innerHTML = ""; document.getElementById('table_flat_allprice'+i).innerHTML = ""; document.getElementById('table_flat_status'+i).innerHTML = ""; document.getElementById('table_flat_status'+i).className = ""; } //Output page indexes var r = ""; if (selectedCol == 2) r = "label"; else if (selectedCol == 4) r = "floor"; else if (selectedCol == 5) r = "roomcount"; else if (selectedCol == 8) r = "area"; else if (selectedCol == 9) r = "price"; else if (selectedCol == 16) r = "allprice"; var page_indexes = XML.getElementsByTagName("page_index"); var index_txt = ""; if (page_indexes.length > 1) { for (var i = 0 ; i < page_indexes.length ; i++) { var index = page_indexes[i]; var id = index.getAttribute("id"); index_txt += ""; var temp = index.getElementsByTagName(r + "_start")[0].firstChild.nodeValue; if (selectedCol == 9 || selectedCol == 16) temp = formatCurrency(temp); index_txt += temp; temp = index.getElementsByTagName(r + "_end")[0].firstChild.nodeValue; if (selectedCol == 9 || selectedCol == 16) temp = formatCurrency(temp); index_txt += " - " + temp; index_txt += "     "; } } document.getElementById('tablle_pageindexes').innerHTML = index_txt; } function markSelectedColumn(col) { document.getElementById('col1').className = ""; document.getElementById('col2').className = ""; document.getElementById('col3').className = ""; document.getElementById('col4').className = ""; document.getElementById('col5').className = ""; document.getElementById('col6').className = ""; document.getElementById(col).className = "current"; }