
/******************************************************************************/

function csomag_check() {
  if (document.reg_start.csomag[0].checked || document.reg_start.csomag[1].checked || document.reg_start.csomag[2].checked) return true;
  else {
  	alert('Nem választott csomagot!');
  	return false;
  }
}

/******************************************************************************/

function reg_check(form) {
	var nec = new Array('nev',
											'cegnev',
											'cim',
											'map_long',
											'map_lat',
											'teaor_fo',
											'hatokor',
											'profil',
											'keyword',
											'cegalapitas',
											'adoszam',
											'cegjegyzekszam',
											'kapcsolat_nev',
											'kapcsolat_elerhetoseg',
											'username',
											'password',
											'password2');
	var alertcolor = '#FFCCCC';
	var basecolor = '#FFFFFF';
	var firstmiss = '';
	for (var i=nec.length-1; i>=0; i--) {
		if (!eval("form."+nec[i]+".value")) {
			eval("form."+nec[i]+".style.backgroundColor = '"+alertcolor+"'");
			firstmiss = nec[i];
		} else {
			eval("form."+nec[i]+".style.backgroundColor = '"+basecolor+"'");
		}
	}
	if (firstmiss) {
		eval("form."+firstmiss+".focus()");
		alert ('Hiányzó kötelező adat!');
		return false;
	} else {
		return true;
	}
}

/******************************************************************************/

function mod_check(form) {
	var nec = new Array('nev',
											'cegnev',
											'cim',
											'map_long',
											'map_lat',
											'teaor_fo',
											'hatokor',
											'profil',
											'keyword',
											'cegalapitas',
											'adoszam',
											'cegjegyzekszam',
											'kapcsolat_nev',
											'kapcsolat_elerhetoseg',
											'username');
	var alertcolor = '#FFCCCC';
	var basecolor = '#FFFFFF';
	var firstmiss = '';
	for (var i=nec.length-1; i>=0; i--) {
		if (!eval("form."+nec[i]+".value")) {
			eval("form."+nec[i]+".style.backgroundColor = '"+alertcolor+"'");
			firstmiss = nec[i];
		} else {
			eval("form."+nec[i]+".style.backgroundColor = '"+basecolor+"'");
		}
	}
	if (firstmiss) {
		eval("form."+firstmiss+".focus()");
		alert ('Hiányzó kötelező adat!');
		return false;
	} else { return true; }
}

/******************************************************************************/

function toggle(checkbox, element) {
	if (checkbox.checked) document.getElementById(element).style.display = 'block';
	else document.getElementById(element).style.display = 'none';
}

/******************************************************************************/

function dec2gps(coord) {
	var gpsdeg = parseInt(coord);
	var gpsmin = (coord - (gpsdeg * 1.0)) * 60.0;
	return (gpsdeg + "° " + gpsmin.toFixed(4) + "'");
}

function gps2dec(coord) {
	var part = coord.split('° ');
	var deg = part[0];
	var min = part[1].substring(0, part[1].length-1);
	return ((deg*1.0) + min/60.0);
}

function validGPS(coord) {
	var part = coord.split('° ');
	if (!part[1] || part[0] == "" || part[1].substring(0, part[1].length-1) == "" || part[0] > 180 || part[0] < 0 || part[1].substring(0, part[1].length-1) > 60 || part[1].substring(0, part[1].length-1) < 0) {
		return false;
	} else {
		return true;
	}
}

/******************************************************************************/

function gmap_init() {
	for (j=0; j<map_list.length; j++) {
		eval (map_list[j]+'_gmap()');
	}
	for (i=0; i<marker_list.length; i++) {
		gmap_createMarker_nodrag(marker_list[i][0], marker_list[i][1], marker_list[i][2], marker_list[i][3], marker_list[i][4]);
	}
}

function gmap_reset(name) {
	eval(name+"_map.checkResize()");
	eval(name+"_map.setCenter(new GLatLng(gps2dec(document.getElementById('"+name+"_lat').value), gps2dec(document.getElementById('"+name+"_long').value)))");
}

function gmap_load(name, lat, long, zoom) {
	if (GBrowserIsCompatible()) {
		eval(name+"_map = new GMap2(document.getElementById('"+name+"'))");
		eval(name+"_map.setCenter(new GLatLng("+lat+","+long+"),"+zoom+")");
		eval(name+"_map.addControl(new GLargeMapControl())");
	}
}

function gmap_createMarker_drag(name, lat, long) {
	eval(name+"_geocoder = new GClientGeocoder()");
	eval(name+"_marker = new GMarker(new GLatLng("+lat+","+long+"), {draggable: true})");

	eval("GEvent.addListener("+name+"_marker, \"dragstart\", function() { "+name+"_map.closeInfoWindow(); })");

	eval("GEvent.addListener("+name+"_marker, \"dragend\", function() { document.getElementById('"+name+"_lat').value = dec2gps("+name+"_marker.getPoint().lat().toString()); document.getElementById('"+name+"_long').value = dec2gps("+name+"_marker.getPoint().lng().toString()); "+name+"_map.panTo("+name+"_marker.getPoint()); })");

	eval(name+"_map.addOverlay("+name+"_marker)");
	eval("document.getElementById('"+name+"_lat').value = dec2gps("+name+"_marker.getPoint().lat().toString())");
	eval("document.getElementById('"+name+"_long').value = dec2gps("+name+"_marker.getPoint().lng().toString())");
}

function gmap_createMarker_nodrag(name, map, lat, long, info) {
	eval(name+"_geocoder = new GClientGeocoder()");
	eval(name+"_marker = new GMarker(new GLatLng("+lat+","+long+"), {draggable: false})");
	eval("GEvent.addListener("+name+"_marker, \"click\", function() { "+name+"_marker.openInfoWindowHtml('"+info+"'); })");
	eval(map+"_map.addOverlay("+name+"_marker)");
}

function gmap_showAddress(address, name) {
	if (eval(name+"_geocoder")) {
		eval(name+"_map.clearOverlays()");
		eval(name+"_geocoder.getLatLng('"+address+"', function(point) { if (!point) { alert('"+address+" nem található.'); } else { "+name+"_map.setCenter(point, 15); gmap_createMarker_drag('"+name+"', point.lat(), point.lng()); "+name+"_marker.openInfoWindowHtml('"+address+"'); }})");
	}
}

function gmap_showGPS(long, lat, name) {
	if (validGPS(long) && validGPS(lat)) {
		eval(name+"_map.clearOverlays()");
		var point = new GLatLng(gps2dec(lat), gps2dec(long));
		eval(name+"_map.setCenter(point, 15)");
		eval("gmap_createMarker_drag('"+name+"', point.lat(), point.lng())");
		eval(name+"_marker.openInfoWindowHtml(\""+lat.toString()+"<br>"+long.toString()+"\")");
	} else {
		alert("Érvénytelen koordináta formátum!");
	}
}

/******************************************************************************/

function setMaxLength() {
	var x = document.getElementsByTagName('textarea');
	var counter = document.createElement('span');
	counter.className = 'counter';
	for (var i=0;i<x.length;i++) {
		if (x[i].getAttribute('maxlength')) {
			var counterClone = counter.cloneNode(true);
			counterClone.relatedElement = x[i];
			counterClone.innerHTML = '<span>0</span>/'+x[i].getAttribute('maxlength');
			x[i].parentNode.insertBefore(counterClone,x[i].nextSibling);
			x[i].relatedElement = counterClone.getElementsByTagName('span')[0];

			x[i].onkeyup = x[i].onchange = checkMaxLength;
			x[i].onkeyup();
		}
	}
}

function checkMaxLength() {
	var maxLength = this.getAttribute('maxlength');
	var currentLength = this.value.length;
	if (currentLength > maxLength)
		this.relatedElement.className = 'charcount';
	else
		this.relatedElement.className = '';
	this.relatedElement.firstChild.nodeValue = currentLength; // not innerHTML
}

/******************************************************************************/

function openWin (url, width, height) {
  var picwin=window.open(url, 'popup', 'location=0,resizable=0,status=0,titlebar=1,toolbar=0,directories=0,menubar=0,scrollbars=yes,width='+width+',height='+height);
  picwin.focus();
}

/******************************************************************************/

function isNumeric(expression) {
  var nums = "0123456789";
  if (expression.length == 0) return false;
  for (var n=0; n < expression.length; n++) {
    if(nums.indexOf(expression.charAt(n)) == -1) return false;
  }
  return true;
}

/******************************************************************************/

/*** SELECTBOX ***/

function updatesrc(name,catselect,src_arr, groupname) {
  var src = eval("document.getElementById('" + name + "_src')");
  if (src_arr[catselect]) {
  	src.options.length = 0;
  	for (var i=0; i<src_arr[catselect].length; i++) {
   		src.options[src.options.length] = new Option(src_arr[catselect][i][0], src_arr[catselect][i][1]);
 		}
	} else {
		src.options.length = 0;
	}
	if (eval("document.getElementById('" + name + "_srcgroupname')")) eval("document.getElementById('" + name + "_srcgroupname').innerHTML='" + groupname + "'");
}

/******************************************************************************/

function moveOver(name) {
  var src = eval("document.getElementById('" + name + "_src')");
  var dst = eval("document.getElementById('" + name + "_dst')");
  var selectedItem = src.selectedIndex;
  var selectedText = src.options[selectedItem].text;
  var selectedValue = src.options[selectedItem].value;
  var isNew = true;
  if (dst.length != 0) {
    for (var i = 0; i < dst.length; i++) {
      if (dst.options[i].value == selectedValue) {
        isNew = false;
        break;
      }
    }
  } 
  if (isNew) {
    dst.options[dst.length] = new Option(selectedText, selectedValue, false, false);
  }
  src.selectedIndex=selectedItem;
}

/******************************************************************************/

function removeMe (name) {
  var dst = name + '_dst';
  var boxLength = document.getElementById(dst).length;
  arrSelected = new Array();
  var count = 0;
  for (i = 0; i < boxLength; i++) {
    if (document.getElementById(dst).options[i].selected) {
      arrSelected[count] = document.getElementById(dst).options[i].value;
    }
    count++;
  }
  var x;
  for (i = 0; i < boxLength; i++) {
    for (x = 0; x < arrSelected.length; x++) {
      if (document.getElementById(dst).options[i].value == arrSelected[x]) {
        document.getElementById(dst).options[i] = null;
      }
    }
    boxLength = document.getElementById(dst).length;
  }
}

/******************************************************************************/

function move (name,index,to) {
  var dst = name + '_dst';
  var total = document.getElementById(dst).options.length-1;
  if (index == -1) return false;
  if (to == +1 && index == total) return false;
  if (to == -1 && index == 0) return false;
  var items = new Array;
  var values = new Array;
  for (i = total; i >= 0; i--) {
    items[i] = document.getElementById(dst).options[i].text;
    values[i] = document.getElementById(dst).options[i].value;
  }
  for (i = total; i >= 0; i--) {
    if (index == i) {
      document.getElementById(dst).options[i + to].value = values[i];
      document.getElementById(dst).options[i].value = values[i + to];
      document.getElementById(dst).options[i + to].text = items[i];
      document.getElementById(dst).options[i].text = items[i + to];
      document.getElementById(dst).selectedIndex = i + to;
    }
  }
  document.getElementById(dst).focus();
}

/******************************************************************************/

function saveMe (name) {
  var dst = name + '_dst';
  var strValues = "";
  for (i = 0; i <= document.getElementById(dst).options.length-1; i++) { 
    strValues += document.getElementById(dst).options[i].value;
    if (i != document.getElementById(dst).options.length-1) strValues += ",";
  }
  return strValues;
}

/******************************************************************************/
