mw = (window.innerWidth || document.body.clientWidth) - 320
$('map').style.width = mw
$('tabbar').style.width = mw
//$$('div .tab').style.width = mw - 20
$('utcaker').style.width = mw
$('right').style.position = 'absolute'
$('right').style.left = mw + 160

tab = new dhtmlXTabBar("tabbar", "top")
tab.setImagePath("/dx/tabbar/imgs/")
tab.setSkinColors("#FFFB9C","#FFFFFF")
//tab.addTab("ful1","Hirdetésfeladás","100px")
tab.addTab("ful2","Keresés","100px")
tab.addTab("ful3","Találatok","100px")
tab.addTab("ful4","Kedvencek","100px")
tab.addTab("ful5","Kapcsolat","100px")
//tab.setContent("ful1","hirdetes")
tab.setContent("ful2","kereses")
tab.setContent("ful3","talalatok")
tab.setContent("ful4","kedvencek")
tab.setContent("ful5","kapcsolat")
tab.setTabActive("ful2")
tab.setOnSelectHandler(function (tabid) {
	if (tabid == "ful2")	{
		Filter(seen)
	}
	else if (tabid == "ful4")	{
		Cart2Map()
		seen = 0
	}
	return true
})

/*stab = new dhtmlXTabBar("tabbar", "right")
stab.setImagePath("/dx/tabbar/imgs/")
stab.setSkinColors("#FCFBFC","#F4F3EE")
stab.addTab("sful1","Feltételek","100px")
stab.setContent("sful1","feltetelek")
*/

if (GBrowserIsCompatible()) {
    gm = new GMap2(document.getElementById("map"))
	gm.addControl(new GSmallZoomControl())
//	gm.addControl(new GSmallMapControl())
//	gm.addControl(new GLargeMapControl())
	gm.addControl(new GMapTypeControl())
//	gm.addControl(new GOverviewMapControl())
	gm.enableScrollWheelZoom()
	
	gm.setCenter(new GLatLng(lat, lng), 12)
	//var mgrOptions = { borderPadding: 50, maxZoom: 15, trackMarkers: true };
	mgr = new MarkerManager(gm) //, mgrOptions)
}

starter = 'p=load'
if (showid) starter += '&iid=' + showid
new PeriodicalExecuter(function(pe) {
	new Ajax.Request('/', {
	    parameters: starter,
	    onSuccess: function (transport) {
			Put(transport.responseText)
			if (showid)	{
				Zoom(showid)
			} else {
				kers = $('kerf').serialize(false)
				seen = kers
				///////////////////////cache[kers] = transport.responseText
			}
		}
	})
	pe.stop()
}, 1)

var swfu;
window.onload = function () {
	swfu = new SWFUpload({
		// Backend Settings
		upload_url: "upload.php",	// Relative to the SWF file
		post_params: {"PHPSESSID": psid},

		// File Upload Settings
		file_size_limit : "2048",	// 2MB
		//file_types : "*.jpg;*.jpeg;*.gif;*.png",
		file_types : "*.jpg;*.jpeg",
		file_types_description : "JPEG Images",
		file_upload_limit : "1",

		// Event Handler Settings - these functions as defined in Handlers.js
		//  The handlers are not part of SWFUpload but are part of my website and control how
		//  my website reacts to the SWFUpload events.
		file_queue_error_handler : fileQueueError,
		file_dialog_complete_handler : fileDialogComplete,
		upload_progress_handler : uploadProgress,
		upload_error_handler : uploadError,
		upload_success_handler : uploadSuccess,
		upload_complete_handler : uploadComplete,

		// Flash Settings
		flash_url : "/swfupload/swfupload_f9.swf",	// Relative to this file

		custom_settings : {
			upload_target : "divFileProgressContainer"
		},
		
		// Debug Settings
		debug: false
	});
};

LoadFav();

//////////////////////////////////////////////////////

Inga = new Array()
mm = new Array()	//managed markers
cache = new Array()
seen = ''

function Put(load)	{
	//gm.clearOverlays()
	mgr.clearMarkers(); mm = new Array()
	Inga = new Array()
    la = load.split('||')
    for (i=0; i<la.length; i++)	{
	    ia = la[i].split('|')
	    m = new GMarker(new GLatLng(ia[1], ia[2]))
	    mm.push(m)
	    //gm.addOverlay(m)
	    //m.bindInfoWindowHtml(ia[3], { maxWidth:400 })
	    GEvent.addListener(m, "click", function(ll) {
  			View(ll)
		})
		BuildObj(ia)
    }
    mgr.addMarkers(mm,1)
    mgr.refresh()
}

function BuildObj(ia, m)	{
	    var Ing = new Object()
	    Ing.id = ia[0]
	    Ing.lat = ia[1]
	    Ing.lng = ia[2]
	    //Ing.txt = ia[3]
	    //Ing.marker = m
	    Inga[ia[0]] = Ing
}

function SetEMK(ek)	{
	$('emk').update((ek == 1) ? "MFt" : "eFt")
}

function SetEMH(ek)	{
	$('emh').update((ek == 1) ? "MFt" : "eFt")
}

function Filter(kers)	{
	if (!kers) kers = $('kerf').serialize(false)
	if (seen == kers) return
	seen = kers
	if (cache[kers])	{
		new PeriodicalExecuter(function(pe) {
	  		pe.stop()
	  		Put(cache[kers])
		}, 0)
	}
	else	{
		new Ajax.Request('/', {
		    parameters: 'p=load&' + kers,
		    onSuccess: function (transport) {
				Put(transport.responseText)
				////////////////////////cache[kers] = transport.responseText
		    }
		})
	}
}

function View(ll)	{
	llstr = '&lat=' + ll.lat() + '&lng=' + ll.lng()
	if (cache[llstr])	{
		tab.setTabActive("ful3")
		$('talalatok').update(cache[llstr])
	}
	else	{
		new Ajax.Updater('talalatok', '/', {
		    parameters: 'p=view' + llstr,
	    	onSuccess: function (transport) {
				tab.setTabActive("ful3")
				//////////////////////////cache[llstr] = transport.responseText
		    }
		})
	}
	seen = 0
}

gc = null
romai = [0, 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX', 'XXI', 'XXII', 'XXIII'];
function Utca()	{
	if (!gc) gc = new GClientGeocoder();
	geostr = $('geo').getValue()
	if (k = $('geoker').getValue())	{
		/*if (k.match("/[\d]/"))	{
			k = romai[k]
		}
		k = k.replace("/[^ivx]/i", "")*/
		geostr += ' ' + romai[k] + '. ker.'
	}
	geostr += ',budapest,hungary'
	gc.getLatLng(geostr, function (point) {
		if (point) gm.setCenter(new GLatLng(point.lat(), point.lng()), 15)
	})
}

function Fav(i)	{
	new Ajax.Updater('favs', '/', {
		insertion: 'top',
		parameters: "p=cart&in=" + i
		//onSuccess: Cart2Map()
	})
}

function UnFav(i)	{
	new Ajax.Updater('favs', '/', {
		parameters: "p=cart&out=" + i,
		onSuccess: function () {
			Cart2Map() 
		}
	})
}

function LoadFav()	{
	new Ajax.Updater('favs', '/', {
		parameters: "p=cart&show=1"
	})
}

function EmptyCart()	{
	new Ajax.Updater('favs', '/', {
		parameters: 'p=cart&empty=1',
		onSuccess: function () {
			//gm.clearOverlays()
			mgr.clearMarkers(); mm = new Array()
			Inga = new Array()
		}
	})
}

function Cart2Map()	{
	new Ajax.Request('/', {
	    parameters: 'p=load&cart=1',
	    onSuccess: function (transport) {
			Put(transport.responseText)
	    }
	})
}

function Zoom(i)	{
//return
	//Inga.each(function (s, index) {
	//for (ii=0, iil=Inga.length; ii<iil; ++ii)	{
		//if (Inga[i].id == i) {
		    var mee = GEvent.addListener(gm, "moveend", function(ll) {
				GEvent.removeListener(mee)
				ZoomIn()
			});
			cntr = new GLatLng(Inga[i].lat, Inga[i].lng)
			gm.panTo(cntr)
		//}
	//}
}

function ZoomIn()	{
	if (gm.getZoom() < 16)	{
  		gm.zoomIn()
		new PeriodicalExecuter(function(pe) {
	  		pe.stop()
	  		ZoomIn()
		}, 0.3)
	} else {
		gm.panTo(cntr)
	}
}

function Save()	{
	new Ajax.Request('/', {
	    parameters: 'p=save&' + $('hirdf').serialize(false),
	    onSuccess: function (transport) {
		    if (transport.responseText == '0') resp = '<b>Hirdetését elfogadtuk.</b><br>Hamarosan küldünk egy levelet a megadott emailcímre, amelyben aktiválhatja a hirdetést.'
			else resp = 'Kérjük minden mezőt töltsön ki!<br>Hiányzik vagy helytelen:<br> &nbsp; <b>' + transport.responseText + '</b>'
			$('valasz').update(resp)
	    }
	})
}

function Ker(k)	{
	if (!gc) gc = new GClientGeocoder();
	geostr = 'budapest ' + romai[k] + '. ker.'
	gc.getLatLng(geostr, function (point) {
		if (point) gm.setCenter(new GLatLng(point.lat(), point.lng()), 13)
	})
	//Filter('ek=1&tipus=1')
}

function Tag(t)	{
	Filter('tag=' + t.innerHTML)
	window.scrollTo(0,0)
	$('talalatok').update()
}

maysend = true

function ContactClose()	{
	//$('kapcsolat').style.display = "none"
	$('kapcsolatline').update()
	$('kapcsf').reset()
	maysend = true
}

function ContactSend()	{
	if (!maysend) return
	maysend = false
	new Ajax.Request('/index.php', {
		parameters: $('kapcsf').serialize(true),
		onSuccess: function (transport) {
			if (parseInt(transport.responseText) > 0) ContactError()
			else ContactClosing()
		}
	});
}

function ContactClosing()	{
	$('kapcsolatline').update("A levelet elküldtük")
	var closing = 0;
	new PeriodicalExecuter(function(pe) {
		$('kapcsolatline').insert(".")
  		if (++closing > 3)	{
	  		pe.stop();
	  		ContactClose();
  		}
	}, 0.5);
}

function ContactError()	{
	$('kapcsolatline').update("Kérjük, adjon meg valós emailcímet!")
}

