//ajax valdymas
function createRequestObject() {
	var req;
 	if(window.XMLHttpRequest){
  		// Firefox, Safari, Opera...
    	req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) {
    	// Internet Explorer 5+
     	req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else {
    	// There is an error creating the object,
     	// just as an old browser is being used.
      	alert('There was a problem creating the XMLHttpRequest object');
    }
    return req;
}
// Dinaminio DIV'o funkcija sukurimui
function handleDivTag(divTag) {
	var divTag;
	return divTag;
}
// Sukuriamas XMLHttpRequest objektas
var http = createRequestObject();
// Sukuriamas dinaminis DIV
var divhandler = new handleDivTag(null);


function handleResponse() 
{	
	switch (http.readyState) 
	{
		case 0:	
			break;
		case 1:
			break;
		case 2:
			break;
		case 3:
			break;
		case 4:		
			if(http.status == 200)
			{				
				divhandler.divt = http.responseText;
				if (divhandler.divtag=='nta_search_v1'){
					report_nta_search_v1(divhandler.divt);
				}else if (divhandler.divtag=='nta_search_v2'){
					report_nta_search_v2(divhandler.divt);
				}else if (divhandler.divtag=='nta_search_v3'){
					report_nta_search_v3(divhandler.divt);
				}else if (divhandler.divtag=='nta_offer_v1'){
					report_nta_offer_v1(divhandler.divt);
				}else if (divhandler.divtag=='nta_offer_v2'){
					report_nta_offer_v2(divhandler.divt);
				}else if (divhandler.divtag=='nta_offer_v3'){
					report_nta_offer_v3(divhandler.divt);
				}else if (divhandler.divtag=='nta_offer_v4'){
					report_nta_offer_v4(divhandler.divt);
				}
				else if (divhandler.divtag=='v1')
					report_v1(divhandler.divt);	
				else if (divhandler.divtag=='v2')
					report_v2(divhandler.divt);	
				else if (divhandler.divtag=='v3')
					report_v3(divhandler.divt);	
				else if (divhandler.divtag=='v5')
					report_v5(divhandler.divt);	
			}
			break;
	}
	return false;
}

function sendRequest(version, string)
{
	divhandler.divtag = version;
	http.abort();	
	http.onreadystatechange = handleResponse;
	http.open('get', HTTP_HEADER+"/admin/modules/isvedimas/main_ajax.php?version="+version+'&'+string);
 	http.send(null);
}

function sendRequest_post(version, string)
{
	divhandler.divtag = version;
	http.abort();	
	http.onreadystatechange = handleResponse;
	http.open("post", HTTP_HEADER+"/admin/modules/isvedimas/main_ajax.php");
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.send("version="+version+'&'+string);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PAGRINDINES FUNKCIJOS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*************************************************** MULTY ONLOAD FUNCTION ***************************************************/
function addLoadEvent(func)
{ 
	var oldonload = window.onload; 
	if (typeof window.onload != "function"){ 
		window.onload = func; 
	}else{ 
		window.onload = function(){ 
			if (oldonload){ 
				oldonload(); 
			}
			func(); 
		} 
	} 
}
/*****************************************************************************************************************************/



function session_change(type)
{
	var params='type='+type;
	sendRequest('main_v1',params);
}


/*function report_v1(response)
{
	alert(response);
}*/


//onload paleidimas jei yra zemelapis tai paleidzia is pradziu zemelapi o veliau paieska, jei nera tik paieska
function onload_functions()
{
	if(obj_id!=0){
		get_obj_info(obj_id, HTTP_LANG);
	}else{
		search_city_select_list(session_area, session_city);	
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////





///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// NEKILNOJAMO TURTO MODULIS
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/***************************************************** PAIESKA ISVIDIME ******************************************************/
//isskirstimas visos paieskos pagal tipus
function starting_search()
{
	search_select_type(nta_type_search);	
}

function search_select_type(id){
	var search_tipas = document.getElementById('search_tipas');
	//var search_ypatybe = document.getElementById('search_ypatybe');
	var search_vieta = document.getElementById('search_vieta');
	var search_plotas = document.getElementById('search_plotas');
	var search_sklypo_plotas = document.getElementById('search_sklypo_plotas');
	var search_aukstas = document.getElementById('search_aukstas');
	var search_namo_aukstas = document.getElementById('search_namo_aukstas');
	var search_namo_aukstas2 = document.getElementById('search_namo_aukstas2');
	var search_namo_tipas = document.getElementById('search_namo_tipas');
	var search_sild_tipas = document.getElementById('search_sild_tipas');
	var search_bukle = document.getElementById('search_bukle');
	var search_kaina = document.getElementById('search_kaina');
	var search_id = document.getElementById('search_id');
	var search_butai = document.getElementById('search_butai');
	var search_namai = document.getElementById('search_namai');
	var search_sklypai = document.getElementById('search_sklypai');
	var search_patalpos = document.getElementById('search_patalpos');
	//var search_sodubendrija = document.getElementById('search_sb');
	
	search_tipas.style.display='none';
	//search_ypatybe.style.display='none';
	search_vieta.style.display='none';
	search_plotas.style.display='none';
	search_sklypo_plotas.style.display='none';
	search_aukstas.style.display='none';
	search_namo_aukstas.style.display='none';
	search_namo_aukstas2.style.display='none';
	search_namo_tipas.style.display='none';
	search_sild_tipas.style.display='none';
	search_bukle.style.display='none';
	search_kaina.style.display='none';
	search_id.style.display='none';
	search_butai.style.display='none';
	search_namai.style.display='none';
	search_sklypai.style.display='none';
	search_patalpos.style.display='none';
	//search_sodubendrija.style.display='none';
	

	if(id=='10')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_butai.style.display='block';
	}
	else if (id=='11')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_sklypo_plotas.style.display='block';
		//search_aukstas.style.display='block';
		//search_namo_aukstas.style.display='block';
		search_namo_aukstas2.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_namai.style.display='block';
	}
	else if (id=='12')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		//search_plotas.style.display='block';
		search_sklypo_plotas.style.display='block';
		//search_aukstas.style.display='block';
		//search_namo_aukstas.style.display='block';
		//search_namo_tipas.style.display='block';
		//search_sild_tipas.style.display='block';
		//search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_sklypai.style.display='block';
	}
	else if (id=='13')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_patalpos.style.display='block';
	}
	else if (id=='14')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_sklypo_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_patalpos.style.display='block';
	}
	else if (id=='15')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_sklypo_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_patalpos.style.display='block';
	}
	else if (id=='60')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_butai.style.display='block';
	}
	else if (id=='61')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_sklypo_plotas.style.display='block';
		//search_aukstas.style.display='block';
		//search_namo_aukstas.style.display='block';
		search_namo_aukstas2.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_namai.style.display='block';
	}
	else if (id=='62')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_sklypai.style.display='block';
	}
	else if (id=='63')
	{
		search_tipas.style.display='block';
		//search_ypatybe.style.display='block';
		search_vieta.style.display='block';
		search_plotas.style.display='block';
		search_aukstas.style.display='block';
		search_namo_aukstas.style.display='block';
		search_namo_tipas.style.display='block';
		search_sild_tipas.style.display='block';
		search_bukle.style.display='block';
		search_kaina.style.display='block';
		search_id.style.display='block';
		search_patalpos.style.display='block';
	}
}

//rodo arba slepia paieskos divus.
function displ_v(id){
	var sdv= document.getElementById(""+id+"");
	if(sdv.style.display == "none"){
		sdv.style.display = "block";
	}else{
		sdv.style.display = "none";
	}
}

//checkbox'u pazimejimas paspaudziant ant teksto
function ch_checked(id)
{
	var el=document.getElementById(id);
	if(el){
		if(el.checked==true){
			el.checked = false;
		}else{
			el.checked = true;	
		}
	}
}

//Visu checkboxu pazimejimas vienu paspaudimu
var checked_flag=new Array();
checked_flag[1]=false;
checked_flag[2]=false;
checked_flag[3]=false;
function check_all_checkbox(name,ii)
{
	var field=document.getElementsByName(name);
	if (checked_flag[ii]) checked_flag[ii]=false;
		else checked_flag[ii]=true;
	
	if (field.length==undefined)
	{
		field.checked=checked_flag[ii];
	}
	else
	{
		for (i = 0; i < field.length; i++)	
		{
			field[i].checked = checked_flag[ii];
		}
	}
}

//isviedimas miestu pagal savivaldybe
function search_city_select_list(area, selected_city)
{
	var params='area='+area+'&selected='+selected_city+'&lang='+HTTP_LANG;
	sendRequest('nta_search_v1',params);
}

function report_nta_search_v1(response)
{
	var response_split=response.split('###');
	var city_div = document.getElementById("search_select_city");
	city_div.innerHTML = response_split[0];
	
	if(response_split[1]!=''){
		if(session_street!=''){
			search_street_select_list(response_split[1], session_street);
		}else{
			search_street_select_list(response_split[1], '');
		}
		
	}else{
		search_street_select_list('', '');
	}
}

//isvedimas gatviu su checkbox'ais pagal miesta
function search_street_select_list(city, selected_street)
{
	var params='city='+city+'&selected='+selected_street+'&lang='+HTTP_LANG;
	sendRequest('nta_search_v2',params);
}

function report_nta_search_v2(response)
{
	var response_split=response.split('###');
	var street_div = document.getElementById("search_select_street");
	street_div.innerHTML = response_split[0];
	
	if((response_split[1]!='')&&(response_split[1])){
		if(session_miesto_rajon!=''){
			search_mikrorajon_select_list(response_split[1],session_miesto_rajon);
		}else{
			search_mikrorajon_select_list(response_split[1],'');
		}
	}else{
		search_mikrorajon_select_list('', '');
	}
}

//miesto rajonu saraso isvedimas
function search_mikrorajon_select_list(city, selected_mikrorajon)
{
	var params='city='+city+'&selected='+selected_mikrorajon+'&lang='+HTTP_LANG;
	sendRequest('nta_search_v3',params);
}

function report_nta_search_v3(response)
{
	var mikrorajon_div = document.getElementById("search_select_mikrorajon_div");
	mikrorajon_div.innerHTML = response;
}

//sodu bendriju isvedimas prie paieskos
function search_sodubendrija_list(value)
{
	var sb_div = document.getElementById("search_sb");
	if((value==33)||(value==48)){
		var ck_div = document.getElementById("ord"+value+"");
		if(ck_div.checked==false){
			sb_div.style.display = "block";
		}else{
			sb_div.style.display = "none";
		}
	}
}
/*****************************************************************************************************************************/


/********************************************************* GOOGLE MAP ********************************************************/
//Zemelapio atydarimo atskiram lange funkcija
function open_map(id)
{	
	var map_url="map_pop.php?id="+id+"&lang="+HTTP_LANG+"";
	var mapas = window.open(map_url,"map_pop","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=true,copyhistory=0,resizable=0,width=800,height=600");
}

//Žemelapio pradiniai nustatymai
var center_latitude = 55.698486; //55.698486 - Klaipeda
var center_longtitude = 21.147308; //21.147308 - Klaipeda
var center_zoom = 12;
var obj_info;
var map;

var CREATED_ZOOMS = new Array();
var ALL_OBJECTS;
var ALL_MARKERS = new Array();

for (var i=7; i<=16; i++)
{
	CREATED_ZOOMS[i]=false;
	ALL_MARKERS[i]=new Array();
}

//stiliaus nustatymai
var active_image=HTTP_HEADER+'/_images/active.png';
var inactive_image=HTTP_HEADER+'/_images/inactive.png';
var active_color="#ffffff";
var inactive_color="#534f4e";
var icon_image=HTTP_HEADER+"/_images/gicon.png";
var zoomin_image=HTTP_HEADER+"/_images/plius.png";
var zoomout_image=HTTP_HEADER+"/_images/minus.png";
var level_image=HTTP_HEADER+"/_images/level.png";



function get_obj_info(obj_id, HTTP_LANG)
{
	var params ="id="+obj_id+"&kalba="+HTTP_LANG;
	sendRequest('v1',params);
}


function report_v1(response)
{
	//alert(response);
	try 
	{
    	obj_info = eval(response);
	}
	catch(exception) 
	{
    	//alert('Objekto koordinaciu nustatyti nepavyko.');
		hide_map();
	}
	
	if (obj_info)
	{
		if ((obj_info.latitude=='0') || (obj_info.longtitude=='0'))
		{
			//get_coords(obj_info.id, obj_info.address, obj_info.text);
			//hide_map();
		}
		else
		{
			var latitude = obj_info.latitude;
			var longtitude = obj_info.longtitude;
			var point = new GLatLng(latitude, longtitude);
			init_map(point);
			place_marker(point, obj_info.address);
		}
	}	
	
	//suaktivuoti paieskos vietu laukus
	search_city_select_list(session_area, session_city);
}


function report_v2(response)
{

}

function init_map(point)
{	
	map = new GMap2(document.getElementById("map_canvas"));
	map.setCenter(point, center_zoom);
    map.setUIToDefault();
	
	//redraw_zoom();
	//redraw_map_control(G_NORMAL_MAP,1);
	//redraw_map_control(G_SATELLITE_MAP,2);
	//redraw_map_control(G_HYBRID_MAP,3);
}


function place_marker(point, address)
{
	var custom_icon = new GIcon(G_DEFAULT_ICON);
	//custom_icon.image = icon_image;
	custom_icon.iconSize = new GSize(20, 35);
	markerOptions = { icon:custom_icon };
	var marker=new GMarker(point,markerOptions);
	GEvent.addListener(marker, "click", function() {
    	var myHtml = address;
    	map.openInfoWindowHtml(point, myHtml);
	});
	map.addOverlay(marker);
}

function add_marker(point, address, zoom)
{
	var custom_icon = new GIcon(G_DEFAULT_ICON);
	//custom_icon.image = icon_image;
	custom_icon.iconSize = new GSize(20, 35);
	markerOptions = { icon:custom_icon };
	ALL_MARKERS[zoom].push(new GMarker(point,markerOptions));
	var index = (ALL_MARKERS[zoom].length-1);
	GEvent.addListener(ALL_MARKERS[zoom][index], "click", function() {
    	var myHtml = address;
    	map.openInfoWindowHtml(point, myHtml);
	});
	map.addOverlay(ALL_MARKERS[zoom][index]);
}

function get_coords(obj_id, address, text)
{
	var geocoder = new GClientGeocoder();
	if (geocoder) 
	{
		geocoder.getLatLng(address, function(point){
			init_map(point);
			place_marker(point, address);
			update_coords(obj_info.id, point);					  
		})
	}
}

function get_coords_multi(obj_id, address, text)
{
	var geocoder = new GClientGeocoder();
	if (geocoder) 
	{
		geocoder.getLatLng(address, function(point){
			place_marker(point, address);
			//update_coords(obj_id, point);					  
		})
	}
}

function update_coords(obj_id, point)
{
	latitude=point.lat();
	longtitude=point.lng();
	var params ="id="+obj_id+'&lat='+latitude+'&lng='+longtitude;
	//alert(params);
	sendRequest('v2',params);
}

function initialize_map_multi()
{
	var point = new GLatLng(center_latitude, center_longtitude);
	init_map(point);
	get_objects(objects, HTTP_LANG);
}


function change_zoom(oldzoom, newzoom)
{
	if (oldzoom>newzoom)
	{
		hide_level(oldzoom);
	}
	else
	{
		show_level(newzoom);
	}
}


function get_objects(objects, HTTP_LANG)
{
	var params="sql_arr="+objects+"&kalba="+HTTP_LANG+"&domain="+HTTP_HEADER;
	sendRequest('v3',params);
}


function create_zoom(zoom)
{
	var number=zoom-7;
	if (number<0) number=0;
	if (number>9) number=9;
	for (index in ALL_OBJECTS[number])
	{
		var obj=ALL_OBJECTS[number][index];	
		var latitude = obj.latitude;
		var longtitude = obj.longtitude;
		if (latitude && longtitude)
		{
			var point = new GLatLng(latitude, longtitude);
			add_marker(point, obj.address, zoom);
		}
	}
	CREATED_ZOOMS[zoom]=true;
}

function show_level(zoom)
{
	if (CREATED_ZOOMS[zoom])
	{
		for (index in ALL_MARKERS[zoom])
		{
			var marker=ALL_MARKERS[zoom][index];
			marker.show();
			
		}
	}
	else create_zoom(zoom);
}

function hide_level(zoom)
{
	if (zoom>=7)
	{
		for (index in ALL_MARKERS[zoom])
		{
			var marker=ALL_MARKERS[zoom][index];
			marker.hide();
		}
	}
}


function report_v3(response)
{
	try 
	{
    	ALL_OBJECTS = eval(response);
	}
	catch(exception) 
	{
    	hide_map();
	}
	
	if (ALL_OBJECTS)
	{
		var current_zoom=map.getZoom();
		if (current_zoom<7) current_zoom=7;
		if (current_zoom>16) current_zoom=16;
		for (var i=7; i<=current_zoom; i++)
		{
			create_zoom(i);
		}
		
		GEvent.addListener(map, "zoomend", function(oldLevel, newLevel){ change_zoom(oldLevel, newLevel) });
	}
	
	
}
/*****************************************************************************************************************************/


/********************************************************* NTA OFFER *********************************************************/
//papildomu nuotrauku pridejimas
var photo_count=1;

function attach_photo(value)
{ 
	if (photo_count<12)
	{
		var params ="new_photo="+value;
		sendRequest('nta_offer_v4',params);
	}else{
		if(HTTP_LANG=='en'){
			alert("You are not allowed to load more than 12 photos.");
		}else if(HTTP_LANG=='ru'){
			alert("Вы не можете загрузить более 12 фотографий.");
		}else{
			alert("Jums neleidžiama įkelti daugiau nei 12 nuotraukų.");
		}
	}
	photo_count++;
}

function report_nta_offer_v4(response)
{	
	var newdiv = document.createElement('div');
 	newdiv.setAttribute('id','ph_'+photo_count);
 	newdiv.innerHTML=response;
 	var old=document.getElementById('attach_new_photo');
 	old.appendChild(newdiv);
}

//isviedimas miestu pagal savivaldybe
function city_select_list(area, selected_city)
{
	var params='area='+area+'&selected='+selected_city+'&lang='+HTTP_LANG;
	sendRequest('nta_offer_v1',params);
}

function report_nta_offer_v1(response)
{
	var response_split=response.split('###');
	var city_div = document.getElementById("mod_nta_city_id_div");
	city_div.innerHTML = response_split[0];
	
	if(response_split[1]!=''){
		/*if(post_street!=''){
			street_select_list(response_split[1], post_street);
		}else{*/
			street_select_list(response_split[1], '');
		//}
		
	}else{
		street_select_list('', '');
	}
}

//isvedimas gatviu pagal miesta
function street_select_list(city, selected_street)
{
	var params='city='+city+'&selected='+selected_street+'&lang='+HTTP_LANG;
	sendRequest('nta_offer_v2',params);
}

function report_nta_offer_v2(response)
{
	var response_split=response.split('###');
	var street_div = document.getElementById("mod_nta_gatve_id_div");
	street_div.innerHTML = response_split[0];
	
	if((response_split[1]!='')&&(response_split[1])){
		/*if(post_miesto_rajon!=''){
			mikrorajon_select_list(response_split[1],post_miesto_rajon);
		}else{*/
			mikrorajon_select_list(response_split[1],'');
		//}
	}else{
		mikrorajon_select_list('', '');
	}
}


//miesto rajonu saraso isvedimas
function mikrorajon_select_list(city, selected_mikrorajon)
{
	var params='city='+city+'&selected='+selected_mikrorajon+'&lang='+HTTP_LANG;
	sendRequest('nta_offer_v3',params);
}

function report_nta_offer_v3(response)
{
	var mikrorajon_div = document.getElementById("mod_nta_miest_dalis_div");
	mikrorajon_div.innerHTML = response;
}

//sodu bendriju isvedimas prie siulimo
function sodubendrija_display(value, div_name)
{
	var sb_div = document.getElementById("offer_sb");
	if((value==3)||(value==708)){	
		sb_div.style.display = "block";
	}else{
		sb_div.style.display = "none";
	}
}
/*****************************************************************************************************************************/
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
