var megyek;
var telepulesek;
var tabok;
var tab_linkek;

var megye='';
var optionTest = true;
var varosok;
var isIE = false;
var req;

function selectfield_init() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	
	if (optionTest)
	{
		var argv = selectfield_init.arguments;
	  	var argc = argv.length;
	  	megyek = new Array(argc);
	  	telepulesek = new Array(argc);

	  	if(argc>0)
	  	{
		  	for (var c = 0; c < argc; c++)
		  	{
		    	megyek[c]=document.getElementById(argv[c]+"_megye");
		    	telepulesek[c] = document.getElementById(argv[c]+"_telepules");
		    	
		    	switch(c)
		    	{
		    		case 3:
		    			megyek[c].onchange =  function (){ get_cities(this.value,3,''); };
		    			break;
		    		case 2:
		    			megyek[c].onchange =  function (){ get_cities(this.value,2,''); };
		    			break;
		    		case 1:
		    			megyek[c].onchange =  function (){ get_cities(this.value,1,''); };
		    			break;
		    		default:
		    			megyek[c].onchange =  function (){ get_cities(this.value,0,''); };
		    			break;
		    	}
		    }
		    get_cities(megyek[0].value,0,'');
	  	}
	}
}
function panel_init() {
	if (arguments.callee.done) return;
	arguments.callee.done = true;
	
	var agt=navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	this.ie3    = (this.ie && (this.major < 4));
	this.ie4    = (this.ie && (this.major == 4) && (agt.indexOf("msie 4")!=-1) );
	this.iemac  = (this.ie && (agt.indexOf("mac")!=-1));
	
	if( (this.iemac || ie3 || ie4) ) return;
	
	var tab_panel = document.getElementById('tab_panel');
	tab_panel.className='tab_paneljs';	
}
function tab_init()
{
	var argv = tab_init.arguments;
	var argc = argv.length;
	tabok = new Array(argc);
	tab_linkek = new Array(argc);
	if(argc>0)
	{
	  	for (var i = 0; i < argc; i++)
	  	{
	  		tabok[argv[i]] = document.getElementById(argv[i]);
	  		tab_linkek[argv[i]] = document.getElementById(argv[i]+"_a");
	  		tab_linkek[argv[i]].onclick = function (){ make_visible(this.id); return false; };
	  	}
	  	make_visible(argv[0]);
	}
}
function make_visible(id)
{

	id = id.replace("_a", "");

	for(key in tabok)
	{
		if(id==key)
		{
			tabok[key].style.display = 'block';
			tab_linkek[key].className = 'active';
		}
		else
		{
			tabok[key].style.display = 'none';
			tab_linkek[key].className = null;
		}
	}
}

function processReqChange(d) 
{
	if (req.readyState == 4) {
		if (req.status == 200) {
			var response  = req.responseXML.documentElement;
			
			varosok = response.getElementsByTagName('varos');

			list_cities(d);

		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}
function get_cities(megye,d,response)
{
	if (response != ''){ 
		message   = document.getElementById('nameCheckFailed');
		if (response == '1'){
			message.className = 'error';
		}else{
			message.className = 'hidden';
		} 
	}else{
		url  = 'http://www.ingatlankukac.hu/xml/get_cities.php?megye=' + megye;
		loadXMLDoc(url,d);
	}
}
function loadXMLDoc(url,d) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = function(){processReqChange(d);};
        req.open("GET", url, true);
        req.send(null);
    } else if (window.ActiveXObject) {
        isIE = true;
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = function(){processReqChange(d);};
            req.open("GET", url, true);
            req.send();
        }
    }
}
function list_cities(d)
{
	telepulesek[d].options.length = 1;
	for (var i=0; i < varosok.length; i++) {
		telepulesek[d].options[i+1] = new Option(varosok[i].firstChild.firstChild.nodeValue,varosok[i].firstChild.nextSibling.firstChild.nodeValue);
	}
}
