var googleIcons = new Array();

function addGoogleIcon( url, shadowUrl, x, y, sX, sY ) {
  var nextIndex						= googleIcons.length;
  googleIcons[nextIndex]			= new Object();
  googleIcons[nextIndex]['img']		= url;
  googleIcons[nextIndex]['shadow']	= shadowUrl;
  googleIcons[nextIndex]['x']		= x;
  googleIcons[nextIndex]['y']		= y;
  googleIcons[nextIndex]['sX']		= sX;
  googleIcons[nextIndex]['sY']		= sY;
}

function expandSB( elementIDs, status ) {
  var aElementIDs = elementIDs.split(",");

  if(status) {
    for (var i=0; i<aElementIDs.length; i++)
	  document.getElementById(trim(aElementIDs[i])).size = '5';
  }
  else {
    for (var i=0; i<aElementIDs.length; i++)
	  document.getElementById(trim(aElementIDs[i])).size = '1';
  }
}

function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function addBookmark(title,url) {
  if (window.sidebar) {
    window.sidebar.addPanel(title, url,"");
  } else if( document.all ) {
    window.external.AddFavorite( url, title);
  } else if( window.opera && window.print ) {
    return false;
  }
  return false;
}

function changeSortByOld(inURL, pageID) {
	location.href = inURL+"?pageID=<?=trim($_REQUEST['pageID'])?>&sb="+document.search.sb.value+"&od="+document.search.od.value+"&fwd=true";
}

function showAllTags() {
  document.getElementById('tags').style.display='';
  document.getElementById('tagLink').style.display='none';
  return false;
}

/*function showPhotoLink() {
  if(document.getElementById('photoLink').style.display == '')
    document.getElementById('photoLink').style.display = 'none';
  else
	document.getElementById('photoLink').style.display = '';

  return false;
}*/

function showReportLink() {
  if(document.getElementById('reportLink').style.display == '')
    document.getElementById('reportLink').style.display = 'none';
  else
	document.getElementById('reportLink').style.display = '';

  return false;
}

function showAlbumLink() {
  if(document.getElementById('albumLink').style.display == '')
    document.getElementById('albumLink').style.display = 'none';
  else
	document.getElementById('albumLink').style.display = '';

  return false;
}

function changeParam(inURL, pageID) {

	gotoLnk = inURL+"?pageID="+pageID;

	var numElements = document.search.length;

	if(document.search.sb != null && document.search.sb.value != "")
		gotoLnk = gotoLnk + "&sb="+document.search.sb.value;
	if(document.search.age_from.value != "")
		gotoLnk = gotoLnk + "&age_from="+document.search.age_from.value;
	if(document.search.age_to.value != "")
		gotoLnk = gotoLnk + "&age_to="+document.search.age_to.value;
	if(document.search.country.value != "")
		gotoLnk = gotoLnk + "&country="+document.search.country.value;
    if(document.search.province.value != "")
	    gotoLnk = gotoLnk + "&province="+document.search.province.value;

    for(var i=0; i<numElements; i++) {
		var elementName = document.search.elements[i].name;

		if(elementName.search(/relation_/) != -1 && document.search.elements[i].checked) {
			gotoLnk = gotoLnk + "&"+elementName+"="+document.search.elements[i].value;
		}

		if(elementName.search(/i_am/) != -1 && document.search.elements[i].checked) {
			gotoLnk = gotoLnk + "&i_am="+document.search.elements[i].value;
		}

		if(elementName.search(/looking_for/) != -1 && document.search.elements[i].checked)
			gotoLnk = gotoLnk + "&looking_for="+document.search.elements[i].value;

		if(elementName.search(/result/) != -1 && document.search.elements[i].checked)
			gotoLnk = gotoLnk + "&result="+document.search.elements[i].value;
	}

//                      if(document.search.pp.checked)
//                        gotoLnk = gotoLnk + "&pp=true";
//                      if(document.search.ml.checked)
//                        gotoLnk = gotoLnk + "&ml=true";
	if(document.search.searchpartner_languages != null)
		gotoLnk = gotoLnk + "&spl="+document.search.searchpartner_languages.value;

	document.getElementById('searchHeaderForm').action = gotoLnk+"&fwd=true";
}

function showCommentForm() {
  document.getElementById('commentBox').style.display='';
}

function discardComment() {
  document.getElementById('Posting').value='';
  document.getElementById('commentBox').style.display='none';
}

function chooseTrImg( imgID ) {
  if(document.getElementById('trImg'+imgID).className == 'trImgP') {
	document.getElementById('trImg'+imgID).className = 'trImgA';
	document.getElementById('ReportPhotos').value += ';'+imgID+';';
  }
  else {
	document.getElementById('trImg'+imgID).className='trImgP';
	var current = ';'+imgID+';';
	document.getElementById('ReportPhotos').value = document.getElementById('ReportPhotos').value.replace(current, "");
  }
}

function Ajax() {
  //alert('1');
  //Eigenschaften deklarieren und initialisieren
  this.url="";
  this.params="";
  this.method="GET";
  this.onSuccess=null;
  this.onError=function (msg) {
    alert(msg);
  }
}

Ajax.prototype.doRequest=function() {
  //Ueberpruefen der Angaben
  if (!this.url) {
    this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
    return false;
  }

  if (!this.method) {
    this.method="GET";
  } else {
    this.method=this.method.toUpperCase();
  }

  //Zugriff auf Klasse f�dyStateHandler ermoeglichen
  var _this = this;

  //XMLHttpRequest-Objekt erstellen
  var xmlHttpRequest=getXMLHttpRequest();
  if (!xmlHttpRequest) {
    this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
    return false;
  }

  //Fallunterscheidung nach Uebertragungsmethode
  switch (this.method) {
    case "GET": xmlHttpRequest.open(this.method, this.url+"?"+this.params, true);
                xmlHttpRequest.onreadystatechange = readyStateHandler;
                xmlHttpRequest.send(null);
                break;
    case "POST": xmlHttpRequest.open(this.method, this.url, true);
                 xmlHttpRequest.onreadystatechange = readyStateHandler;
                 xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
				 xmlHttpRequest.setRequestHeader('Content-Length', this.params.length);
				 //xmlHttpRequest.setRequestHeader('Content-Type', 'text/xml');
                 xmlHttpRequest.send(this.params);
                 break;
  }

  //Private Methode zur Verarbeitung der erhaltenen Daten
  function readyStateHandler() {
	if(xmlHttpRequest != null) {
      if (xmlHttpRequest.readyState < 4) {
        return false;
      }
      if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304) {
        if (_this.onSuccess) {
          _this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
        }
      } else {
        if (_this.onError) {
          _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenbertragung auf.");
		  return false;
        }
      }
	  return true;
	}

	return false;
  }

  return true;
}

function getXMLHttpRequest()
{
  if (window.XMLHttpRequest) {
    return new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      return new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        return new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        return null;
      }
    }
  }
  return false;
}

function hideOtherForm( inField ) {
	//alert(document.getElementsByName('action').length);
  if(trim(inField) == '') {
	getActionForm( '', '' );
	document.getElementsByName('action')[1].selectedIndex = 0;
  }
  else {
	getActionForm( '', '2' );
	document.getElementsByName('action')[2].selectedIndex = 0;
  }
}

function getActionForm(inAction, inField) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  params += getExtParams();
  ajax.params = 'pageID=599&action='+inAction+params+'&fieldNum='+inField+'&fwd=true';

  if(trim(inField) != '') {
	inField = '_'+inField;
  }

  var backup = document.getElementById('actionTD'+inField).innerHTML;

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt)) {
      ajax.onError(getError(txt));
      document.getElementById('actionTD'+inField).innerHTML = backup;
      return false;
    }
	else {
	  document.getElementById('actionTD'+inField).innerHTML = txt;
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function setRegion() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  var boxIdx = 0;

  if(document.getElementsByName('provinceToAdd')[boxIdx] != null) {
	boxIdx = document.getElementsByName('provinceToAdd').length -1;
    var provinceSB = document.getElementsByName('provinceToAdd')[boxIdx];
  }
  else if(document.getElementById('province') != null)
    var provinceSB = document.getElementById('province');
  else
	return false;

  for(var i=0;i<provinceSB.options.length;i++) {
    if(provinceSB.options[i].selected) {
	  params += '&provinceID['+i+']='+provinceSB.options[i].value;
	}
  }

  ajax.params = 'pageID=599&action=setRegion'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else
	  eval(txt);

	return false;
  }

  ajax.doRequest();
  return false;
}

function setLocation() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  var boxIdx = 0;

  if(document.getElementsByName('regionToAdd')[boxIdx] != null) {
	boxIdx = document.getElementsByName('regionToAdd').length -1;
    var regionSB = document.getElementsByName('regionToAdd')[boxIdx];
  }
  else if(document.getElementById('region') != null)
    var regionSB = document.getElementById('region');
  else
	return false;

  for(var i=0;i<regionSB.options.length;i++) {
	if(regionSB.options[i].selected) {
	  params += '&regionID['+i+']='+regionSB.options[i].value;
	}
  }

  ajax.params = 'pageID=599&action=setLocation'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else
	  eval(txt);

	return false;
  }

  ajax.doRequest();
  return false;
}

function downloadPhoto( photoID ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=599&downloadPhoto='+photoID+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
 	  if(txt.match(/alert\(\)/))
	    eval(txt);
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function getExtParams() {
  var params = '';

  for(var i=0;i<document.getElementsByName('markID[]').length;i++) {
	if(document.getElementsByName('markID[]')[i].checked) {
	  params += '&markID['+i+']='+document.getElementsByName('markID[]')[i].value;
	}
  }

  var url = document.URL;
  var Search = /&zn=([0-9]*)/;
  Search.exec(url);
  var zn	  = RegExp.$1;
  params += '&zn='+zn;

  var Search = /&id=([0-9]*)/;
  Search.exec(url);
  var itemID = RegExp.$1;
  params += '&itemID='+itemID;

  var Search = /&menu=([a-z]*)/;
  Search.exec(url);
  var menu	 = RegExp.$1;
  params += '&menu='+menu;

  return params;
}

function addTags() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  var boxIdx = document.getElementsByName('tagsToAdd').length-1;

  params += '&'+document.getElementsByName('tagsToAdd')[boxIdx].name+'='+document.getElementsByName('tagsToAdd')[boxIdx].value;
  params += getExtParams();

  ajax.params = 'pageID=599&action=addTag&do=1'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
    else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

	return false;
  }

  ajax.doRequest();
  return false;
}

function checkAndAddRegion() {
  if(document.getElementById('regionField') != null || document.getElementById('regionValue') != null) {
	  if(trim(document.getElementById('regionField').value) != "" || trim(document.getElementById('regionValue')) != "")	{
		  var ajax = new Ajax();
		  ajax.method = 'POST';
		  ajax.url = 'index.php';
		  ajax.params  = 'pageID=599&getSBData=1&field=region&search='+trim(document.getElementById('regionField').value)+'&mode=check&fwd=true';

		  ajax.onSuccess = function(txt,xml) {
			if(hasError(trim(txt))) {

			  if(document.getElementById('regionError') != null)
				document.getElementById('regionError').innerHTML = getError(trim(txt));
			  //ajax.onError(getError(txt));
			  return false;
			}
			else {
			  document.getElementById('regionValue').value = trim(txt);
			  addSingleRegion();
			  return true;
			}
		  }

		  ajax.doRequest();
		  return false;
	  }
	  else
		return true;
  }
  else
	  return true;
}

function addSingleRegion() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  params += getExtParams();

  if(trim(document.getElementById('regionValue').value) == '')
    return false;

  ajax.params = 'pageID=599&action=addRegion&do=1'+params+'&regionID[0]='+trim(document.getElementById('regionValue').value)+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
  	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function addRegions() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  params += getExtParams();

  var boxIdx1 = document.getElementsByName('provinceToAdd').length-1;
  var boxIdx2 = document.getElementsByName('regionToAdd').length-1;
  var boxIdx3 = document.getElementsByName('locationToAdd').length-1;

  for(var i=0;i<document.getElementsByName('provinceToAdd')[boxIdx1].options.length;i++) {
	if(document.getElementsByName('provinceToAdd')[boxIdx1].options[i].selected) {
	  params += '&provinceID['+i+']='+document.getElementsByName('provinceToAdd')[boxIdx1].options[i].value;
	}
  }

  for(var i=0;i<document.getElementsByName('regionToAdd')[boxIdx2].options.length;i++) {
	if(document.getElementsByName('regionToAdd')[boxIdx2].options[i].selected) {
	  params += '&regionID['+i+']='+document.getElementsByName('regionToAdd')[boxIdx2].options[i].value;
	}
  }

  for(var i=0;i<document.getElementsByName('locationToAdd')[boxIdx3].options.length;i++) {
	if(document.getElementsByName('locationToAdd')[boxIdx3].options[i].selected) {
	  params += '&locationID['+i+']='+document.getElementsByName('locationToAdd')[boxIdx3].options[i].value;
	}
  }

  ajax.params = 'pageID=599&action=addRegion&do=1'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
  	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function savePhotoName( name, id ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';

  var url = document.URL;
  var Search = /&zn=([0-9]*)(.*)&id=([0-9]*)/;
  Search.exec(url);
  var zn	  = RegExp.$1;
  var albumID = RegExp.$3;
  params += '&zn='+zn+'&albumID='+albumID;

  ajax.params = 'pageID=599&action=savePhotoName&do=1&name='+name+'&id='+id+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else
        document.getElementById('photoSuccess'+id).innerHTML = txt;
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function deleteRegion( regionID, id, type ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=599&action=deleteRegion&do=1&type='+type+'&region='+regionID+'&id='+id+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function deleteActivity( activityID, id, type ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=599&action=deleteActivity&do=1&type='+type+'&activity='+activityID+'&id='+id+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
    else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

	return false;
  }

  ajax.doRequest();
  return false;
}

function deleteTag( tagID, id, type ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=599&action=deleteTag&do=1&type='+type+'&tag='+tagID+'&id='+id+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
 	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function deleteItems() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  params += getExtParams();

  ajax.params = 'pageID=599&action=delete&do=1'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function addActivities() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  params += getExtParams();

  var boxIdx = document.getElementsByName('activityToAdd').length-1;

  for(var i=0;i<document.getElementsByName('activityToAdd')[boxIdx].options.length;i++) {
	if(document.getElementsByName('activityToAdd')[boxIdx].options[i].selected) {
	  params += '&activityID['+i+']='+document.getElementsByName('activityToAdd')[boxIdx].options[i].value;
	}
  }

  ajax.params = 'pageID=599&action=addActivity&do=1'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function addCategories() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  var params = '';
  params += getExtParams();
  var boxIdx = document.getElementsByName('categoryToAdd').length-1;

  for(var i=0;i<document.getElementsByName('categoryToAdd')[boxIdx].options.length;i++) {
	if(document.getElementsByName('categoryToAdd')[boxIdx].options[i].selected) {
	  params += '&categoryID['+i+']='+document.getElementsByName('categoryToAdd')[boxIdx].options[i].value;
	}
  }

  ajax.params = 'pageID=599&action=addCategory&do=1'+params+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(txt.match(/reload\(\)/))
	    eval(txt);
	  else {
	    if(document.getElementById('actionTD') != null)
          document.getElementById('actionTD').innerHTML = txt;
	    if(document.getElementById('actionTD_2') != null)
	      document.getElementById('actionTD_2').innerHTML = txt;
	  }
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function showAddToAlbum() {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=598&action=getAlbums&fwd=true';
  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else
	  eval(txt);

    return false;
  }

  if(document.getElementById('addToAlbum').checked == true) {
	document.getElementById('albums').style.display = '';
    ajax.doRequest();
  }
  else
	document.getElementById('albums').style.display = 'none';
  return false;
}

function setHelpful( messageID, status ) {
  var ajax = new Ajax();
  var stateInternal = status;
  var idInternal = messageID;
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=599&setHelpful='+messageID+'&state=';

  if(status)		ajax.params += "1";
  else				ajax.params += "0";

  ajax.params += '&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  if(stateInternal)
	    document.getElementById('yes_'+idInternal).innerHTML = trim(txt);
	  else
	    document.getElementById('no_'+idInternal).innerHTML = trim(txt);
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function displayBox( boxID, layout, seqNr ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=550&displayBox='+boxID+'&fwd=true';
  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else
	  document.getElementById('Box'+layout+'_'+seqNr).innerHTML = txt;

    return false;
  }

  ajax.doRequest();
  return false;
}

function hideBox( boxID, layout, seqNr ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=550&hideBox='+boxID+'&fwd=true';
  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else
	  document.getElementById('Box'+layout+'_'+seqNr).innerHTML = txt;

	return false;
  }

  ajax.doRequest();
  return false;
}

function getBox( layout, seqNr ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=550&getBoxSeq='+seqNr+'&getBoxCol='+layout+'&fwd=true';
  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else
	  document.getElementById('Box'+layout+'_'+seqNr).innerHTML = txt;

    return false;
  }

  ajax.doRequest();
  return false;
}

function moveBoxUp( boxID, layout, seqNr ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=550&moveBoxUp='+boxID+'&fwd=true';
  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  var curSeqNr = parseInt(seqNr);
	  var newSeqNr = curSeqNr-1;

      document.getElementById('Box'+layout+'_'+newSeqNr).innerHTML = txt;
	  getBox( layout, curSeqNr );
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function moveBoxDown( boxID, layout, seqNr ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=550&moveBoxDown='+boxID+'&fwd=true';
  ajax.onSuccess = function(txt,xml) {
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
	  var curSeqNr = parseInt(seqNr);
	  var newSeqNr = curSeqNr+1;

      document.getElementById('Box'+layout+'_'+newSeqNr).innerHTML = txt;
	  getBox( layout, curSeqNr );
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function hasError(msg) {
  if(!msg)  return false;

  if(msg.indexOf("ERROR:") == 0)  return true;
  else                            return false;
}

function getError(msg) {
  return msg.replace(/ERROR:/,"");
}

function showItem( pageID, elementID ) {
  var itemValue = document.getElementById('webElements').value;
  var aTemp = itemValue.split("&langID");
  self.location.href='index.php?pageID='+pageID+'&showItem='+aTemp[0]+'&fwd=true';
  return false;
}

function sendECard( photoID ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&sendCard='+photoID;
  ajax.params += '&formData[FromName]='+document.getElementById('FromName').value;
  ajax.params += '&formData[FromEmail]='+document.getElementById('FromEmail').value;
  ajax.params += '&formData[ToName]='+document.getElementById('ToName').value;
  ajax.params += '&formData[ToEmail]='+document.getElementById('ToEmail').value;
  ajax.params += '&formData[Message]='+document.getElementById('Message').value+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
	  document.getElementById('ecardError').innerHTML = getError(trim(txt));
      //ajax.onError(getError(txt));
      return false;
    }
	else {
	  document.getElementById('ecardError').innerHTML = trim(txt);
	  document.getElementById('FromName').value = '';
	  document.getElementById('FromEmail').value = '';
	  document.getElementById('ToName').value = '';
	  document.getElementById('ToEmail').value = '';
	  document.getElementById('Message').value = '';
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function checkRegionWithoutSubmit() {
  var submitAfterCheck = false;

  if(document.getElementById('regionField') != null || document.browseSearchForm.regionField != null) {
	var regionValue = '';

		if(document.browseSearchForm) {
		  if(trim(document.browseSearchForm.regionField.value) != "")
		    regionValue = trim(document.browseSearchForm.regionField.value);
		}
		else if(document.getElementById('regionField') != null) {
		  if(trim(document.getElementById('regionField').value) != "")
		    regionValue = trim(document.getElementById('regionField').value);
		}

		if(trim(regionValue) == '')
		  return true;

		  var ajax = new Ajax();
		  ajax.method = 'POST';
		  ajax.url = 'index.php';
		  ajax.params  = 'pageID=599&getSBData=1&field=region&search='+regionValue+'&mode=check&fwd=true';

		  ajax.onSuccess = function(txt,xml) {
			if(hasError(trim(txt))) {

			  if(document.getElementById('regionError') != null)
				document.getElementById('regionError').innerHTML = getError(trim(txt));
			  //ajax.onError(getError(txt));
			  return false;
			}
			else {
			  document.getElementById('regionValue').value = trim(txt);
              if(document.browseSearchForm != null && submitAfterCheck)
                document.browseSearchForm.submit();
              else if(document.newReportForm != null && submitAfterCheck)
                document.newReportForm.submit();

			  return true;
			}
		  }

		  ajax.doRequest();

		  if(trim(document.getElementById('regionValue').value) == '')
			return false;
		  else
			return true;
  }
  else
	  return true;
}

function checkRegion() {
  var submitAfterCheck = true;

  if(document.getElementById('regionField') != null || document.browseSearchForm.regionField != null) {
	var regionValue = '';

		if(document.browseSearchForm) {
		  if(trim(document.browseSearchForm.regionField.value) != "")
		    regionValue = trim(document.browseSearchForm.regionField.value);
		}
		else if(document.getElementById('regionField') != null) {
		  if(trim(document.getElementById('regionField').value) != "")
		    regionValue = trim(document.getElementById('regionField').value);
		}

		if(trim(regionValue) == '')
		  return true;

		  var ajax = new Ajax();
		  ajax.method = 'POST';
		  ajax.url = 'index.php';
		  ajax.params  = 'pageID=599&getSBData=1&field=region&search='+regionValue+'&mode=check&fwd=true';
		  //alert(ajax.params);

		  ajax.onSuccess = function(txt,xml) {
			if(hasError(trim(txt))) {

			  if(document.getElementById('regionError') != null)
				document.getElementById('regionError').innerHTML = getError(trim(txt));
			  //ajax.onError(getError(txt));
			  return false;
			}
			else {
			  document.getElementById('regionValue').value = trim(txt);
              if(document.browseSearchForm != null && submitAfterCheck)
                document.browseSearchForm.submit();
              else if(document.newReportForm != null && submitAfterCheck)
                document.newReportForm.submit();

			  return true;
			}
		  }

		  ajax.doRequest();

		  if(trim(document.getElementById('regionValue').value) == '')
			return false;
		  else
			return true;
  }
  else
	  return true;
}

//running is a counter that indicates how many search operations are in progress
//and makes sure that only real work is done if the last char was typed in
var running=-1;

function isRunning(searchString, field, output, type){
	if(running!=-1){
	  running--;
	  if(running==0){
		getMatches(searchString, field, output, type);
	   }
	}
}

function AutoBoxKeyNav(field, content) {
  var self = this;
  this.field = field;
  this.field.keyHandler = this;
  this.field.items = AutoBoxKeyNav.getItems(content, new Array());
  this.field.selIndex = -1;
  this.field.onkeydown=AutoBoxKeyNav.onKeyDown;
}

AutoBoxKeyNav.getItems = function(data, items) {
  var dataNode = data.firstChild;

  var getOnClick = function(cnode, idx) {    
    if(cnode.nodeType == 1) {
      if(cnode.getAttribute("onClick")) {
        var nodeData = new Array();

        if(cnode.getAttribute("id"))            
          nodeData[0] = cnode.getAttribute("id");
        else {
          nodeData[0] = data.id+'Node'+idx;
          cnode.setAttribute("id", nodeData[0]);
        }
              
        nodeData[1] = cnode.getAttribute("onClick");
        return nodeData;  
      }
    }

    return null;
  }

  var getChildren = function(cnode, items) {
    while (cnode != null) {
      var nodeData = getOnClick(cnode, items.length);

      if(nodeData != null)
        items.push(nodeData);

      if(cnode.hasChildNodes())
        items = getChildren(cnode.firstChild, items);     

      cnode = cnode.nextSibling;
    }

    return items;
  }

  while (dataNode != null) {
    if(dataNode.nodeType == 1) {
      if(dataNode.hasChildNodes()) {
        items = getChildren(dataNode.firstChild, items);
      }
      else {
        var nodeData = getOnClick(dataNode, items.length);

        if(nodeData != null)
          items.push(nodeData);     
      }
    }

    dataNode = dataNode.nextSibling;
  }

  return items;
}

AutoBoxKeyNav.onKeyDown = function(e) {
  if(this.items.length > 0) {
    var e = e || window.event;
    if(window.captureEvents) {
      var pressed = e.which;
    } else {
      var pressed = e.keyCode;
    }

    var capture = function() {
      e.cancelBubble = true;
      e.returnValue = false;
      e.preventDefault && e.preventDefault();
      e.stopPropagation && e.stopPropagation();
      return false;
    }

    switch(pressed) {
      case 27:
        hideMatches(this.id);
        return capture();
      case 13:
      case 39:
        if(this.selIndex >= 0) {
          //alert(typeof this.items[this.selIndex][1]);
          if(typeof this.items[this.selIndex][1] == 'function') {
            var myFunc = this.items[this.selIndex][1];
            myFunc();
          }
          else
            eval(this.items[this.selIndex][1]);          
        }
        return capture();
      case 38:
        if(this.selIndex <= 0)
          this.selIndex = this.items.length-1;
        else
          this.selIndex = this.selIndex-1;

        for(var i=0; i<this.items.length; i++) {
          if(this.selIndex == i) {
            document.getElementById(this.items[i][0]).className = 'tdMouseOverAutoComp';
            document.getElementById(this.items[i][0]).style.color = '#ffffff';
          }
          else {
            document.getElementById(this.items[i][0]).className = 'tdMouseOutAutoComp';
            document.getElementById(this.items[i][0]).style.color = '#000000';
          }
        }

        return capture();
      case 40:
        if(this.selIndex < 0 || this.selIndex >= this.items.length)
          this.selIndex = 0;
        else
          this.selIndex = this.selIndex+1; 

        for(var i=0; i<this.items.length; i++) {
          if(this.selIndex == i) {
            document.getElementById(this.items[i][0]).className = 'tdMouseOverAutoComp';
            document.getElementById(this.items[i][0]).style.color = '#ffffff';
          }
          else {
            document.getElementById(this.items[i][0]).className = 'tdMouseOutAutoComp';
            document.getElementById(this.items[i][0]).style.color = '#000000';
          }
        }

        return capture();
    }
  }
}

function getMatches( searchString, field, output, type) {
  //showLoadingWindow();
  if (output === undefined) {
    output = "";
  }

  if (type === undefined)
    type = "";

    document.getElementById('regionField'+output).onkeyup = function(e) {
      var e = e || window.event;
      if(window.captureEvents) {
        var pressed = e.which;
      } else {
        var pressed = e.keyCode;
      }  

      var capture = function() {
        e.cancelBubble = true;
        e.returnValue = false;
        e.preventDefault && e.preventDefault();
        e.stopPropagation && e.stopPropagation();
        return false;
      }

      switch(pressed) {
        case 27: 
          hideMatches('regionFields'+output);
        case 38: 
        case 40: return capture();
        default: 
          if(searchString != document.getElementById('regionField'+output).value)
            getMatches( document.getElementById('regionField'+output).value, field, output, type);
      }
    } 

  if(trim(searchString).length > 2) {
    showLoadingWindow();

 	 if(running!=0 || running==-1){
		if(running==-1)
			running=0;
		running++;
  		window.setTimeout ('isRunning (\''+searchString+'\', \''+field+'\', \''+output+'\', \''+type+'\')', 700);
		return false;
 	 }
	running=-1;


	  if(trim(document.getElementById('regionField'+output).value) == "")
		document.getElementById('regionValue'+output).value = "";

	  if(document.getElementById('regionError'+output) != null && document.getElementById('regionError').innerHTML != "")
		document.getElementById('regionError'+output).innerHTML = "";

	  //searchString = Utf8.encode(searchString);

	  var ajax = new Ajax();
	  ajax.method = 'POST';
	  ajax.url = 'index.php';
	  ajax.params  = 'pageID=599&getSBData=1&field='+field+'&search='+encodeURIComponent(searchString)+'&output='+output+'&type='+type;
	  var content = document.getElementById('regionFields'+output);

	  ajax.onSuccess = function(txt,xml) {
		if(hasError(trim(txt))) {
		  //document.getElementById('ecardError').innerHTML = getError(trim(txt));
		  ajax.onError(getError(txt));
		  return false;
		}
		else {
		  hideLoadingWindow();
		  
		  for(var i=1; i<=5; i++) {
			if(document.getElementById('hide'+i) != null)
			  document.getElementById('hide'+i).style.visibility = 'hidden';
		  }

		  //alert(trim(txt));

		  content.innerHTML = trim(txt);
                  AutoBoxKeyNav(document.getElementById('regionField'+output), content);
		  content.style.display = '';
		  return false;
		}
	  }

	  ajax.doRequest();
  }
  else{
	running=-1;
	hideMatches('regionFields'+output );
  }

  return false;
}

function hideLoadingWindow() {
  var divContent = document.getElementById('loading');
  divContent.innerHTML = '';
  divContent.style.display = 'none';
}

function showLoadingWindow() {
  var divContent = document.getElementById('loading');
  divContent.style.position = "absolute";
  divContent.style.left = (screen.width/2 - 100) + 'px';
  divContent.style.top  = (screen.height/2 - 25) + 'px';
  var content = '<table cellspacing="0" cellpadding="0" height="100%" width="100%">';
  content	 += '  <tr>';
  content	 += '    <td align="center" valign="middle"><img src="coolaustria/images/loading.gif" border="0" /></td>';
  content	 += '  </tr>';
  content	 += '</table>';
  divContent.innerHTML = content;
  divContent.style.display = '';

  return false
}

function getAllMatches( field, output, type) {
  showLoadingWindow();
    
  if (output === undefined) {
    output = "";
  }
 
  if (type === undefined)
    type = "";
 
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getSBData=1&field='+field+'&fwd=true&output='+output+'&type='+type;

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
	  //document.getElementById('ecardError').innerHTML = getError(trim(txt));
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  hideLoadingWindow();

	  /*for(var i=1; i<=5; i++) {
	    if(document.getElementById('hide'+i) != null)
		  document.getElementById('hide'+i).style.visibility = 'hidden';
  	  }*/

	  for(var i=1; i<=5; i++) {
		if(document.getElementById('hide'+i) != null)
		  document.getElementById('hide'+i).style.visibility = 'hidden';
	  }

	  var divContent = document.getElementById('regionFields'+output);
	  divContent.innerHTML = trim(txt);
	  divContent.style.display = '';
	  return false;
	}
  }

  ajax.doRequest();

  return false;
}


function setMatch( data, value, output ) {
        
  if (output === undefined) {
    output = "";
  }
  document.getElementById('regionField'+output).value = data;
  document.getElementById('regionValue'+output).value = value;

  //alert(document.getElementById('regionField'+output).value+', '+document.getElementById('regionValue'+output).value);

  //if(document.browseSearchForm)
	//document.browseSearchForm.regionField.value = data;

  if(document.getElementById('PrecisionX'))
	setPrecisionMarker();
  else
    setGeoData();

  //alert(document.getElementById('regionValue').value);
  //alert(document.getElementById('regionField').value);

  if(document.getElementById('regionValue'+output).value == value && document.getElementById('regionField'+output).value == data) {
    hideMatches('regionFields'+output);
  }
  else
	return setMatch( data, value, output );

  return false;
}


function getNextImage(pos) {
	  //searchString = Utf8.encode(searchString);
	  var innerHeight;
	  if (self.innerHeight) // all except Explorer
		innerHeight = self.innerHeight;
	  else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
		innerHeight = document.documentElement.clientHeight;
	  else if (document.body) // other Explorers
		innerHeight = document.body.clientHeight;

	  innerHeight=innerHeight-160;
	  if(document.getElementById('virPopup_Image').height>innerHeight)
		document.getElementById('virPopup_Image').height=innerHeight;

	  var id=document.getElementById('virPopup_HiddenId').value;

	  var ajax = new Ajax();
	  ajax.method = 'POST';
	  ajax.url = 'index.php';
	  ajax.params  = 'pageID=599&getNextImage=1&pos='+pos+'&id='+id+'&fwd=true';

	  ajax.onSuccess = function(txt,xml) {
		if(hasError(trim(txt))) {
		  //document.getElementById('ecardError').innerHTML = getError(trim(txt));
		  ajax.onError(getError(txt));
		  return false;
		}
		else {
		  var result = txt.split(' /\\ ');
		  document.getElementById('virPopup_Image').src = result[0];
		  document.getElementById('virPopup_Content').innerHTML= result[1];
		  document.getElementById('virPopup_HiddenId').value = result[2];


		  var browserName=navigator.appName; 
     		  if (browserName=="Microsoft Internet Explorer"){
   		  	var arVersion = navigator.appVersion.split("MSIE");
   		 	var version = parseFloat(arVersion[1]);
   		  	if (version <= 6)
      				document.getElementById('popup_opacity').style.height = document.documentElement.scrollHeight+'px';
   		  }

		  document.getElementById('virPopup_Frame').scrollIntoView(true);

		  var innerHeight;
		  if (self.innerHeight) // all except Explorer
			innerHeight = self.innerHeight;
		  else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
			innerHeight = document.documentElement.clientHeight;
		  else if (document.body) // other Explorers
			innerHeight = document.body.clientHeight;

		  innerHeight=innerHeight-160;
		  
		  if(result[4]>innerHeight){
			document.getElementById('virPopup_Image').height=innerHeight;
			document.getElementById('virPopup_Image').width=result[3]*(innerHeight/result[4]);
		  }
		  else{
			document.getElementById('virPopup_Image').height=result[4];
			document.getElementById('virPopup_Image').width=result[3];
		  }

		  return false;
		}
	  }

	  ajax.doRequest();


  return false;
}



function setGeoData() {
  if(document.getElementById('googlemap') != null && document.getElementById('regionValue') != null) {
	setGooglePoint( document.getElementById('regionValue').value, 11 );
  }
}

function getPerfectZoom(map, x1, x2, y1, y2) {
  var center = new GPoint( (x1+x2)/2, (y1+y2)/2 );
  var span = new GSize( x2-x1, y2-y1 );
  var zoom = map.spec.getLowestZoomLevel(center, span, map.viewSize);
  map.centerAndZoom(center, zoom);
  return zoom;
}

function setGooglePointsPerfectFit( valueIDs ) {
  if(document.getElementById('googlemap') != null && (typeof valueIDs) != 'string' && valueIDs.length > 0) {
	//document.getElementById('regionValue').value = value;
    var ajax = new Ajax();
    ajax.method = 'POST';
    ajax.url = 'index.php';
	ajax.params  = 'pageID=599';

	/*if((typeof valueIDs) != 'string' && valueIDs.length > 0) {}
	else
	  return false;*/

	//alert(valueIDs.length);

	for( var
 idx = 0; idx < valueIDs.length; idx++ )
	  ajax.params += '&getPerfectGeoData['+idx+']='+valueIDs[idx];

	ajax.params += '&fwd=true';
	//alert(ajax.params);

    ajax.onSuccess = function(txt,xml) {
      if(hasError(trim(txt))) {
        ajax.onError(getError(txt));
        return false;
      }
  	  else {
		eval(txt);
		//alert('('+minX+','+maxY+') ('+maxX+','+minY+')');
	    map2 = new GMap2( document.getElementById( "googlemap" ) );
		map2.addControl(new GSmallMapControl());

		if(minX == maxX && minY == maxY) {
	      map2.setCenter(new GLatLng(maxY,minX), 11);
		  setGoogleExtraData( foundGeoData[0]['X'], foundGeoData[0]['Y'], 11, map2, null );
		}
		else {
		  var bounds = new GLatLngBounds();
	      bounds.extend(new GLatLng(minX,maxY));
		  bounds.extend(new GLatLng(maxX,minY));
		  var zoom = map2.getBoundsZoomLevel(bounds);
		  map2.setZoom(zoom);
		  map2.setCenter(bounds.getCenter());

		  for( var idx in foundGeoData ) {
		    setGoogleExtraData( foundGeoData[idx]['X'], foundGeoData[idx]['Y'], zoom, map2, null );
		  }
		}


		//

		//zoom = getPerfectZoom( map2, minX, maxX, minY, maxY);

		return false;
	  }
    }

    ajax.doRequest();
    return false;
  }

  return false;
}

function setGooglePointByCitizen( valueID, zoom, id, type ) {
  if(document.getElementById('googlemap') != null && valueID >= 0) {
	//document.getElementById('regionValue').value = value;
    var ajax = new Ajax();
    ajax.method = 'POST';
    ajax.url = 'index.php';
    ajax.params  = 'pageID=599&getGeoData='+valueID;
	ajax.params += '&citizenID='+id;
	ajax.params += '&type='+type;
	ajax.params += '&zoom='+zoom+'&fwd=true';

    ajax.onSuccess = function(txt,xml) {
      if(hasError(trim(txt))) {
        ajax.onError(getError(txt));
        return false;
      }
  	  else {
		var geoData = trim(txt).split(",");
		//alert(trim(txt));

		//if(geoData.length == 2 && parseFloat(geoData[0]) > 0 && parseFloat(geoData[1]) > 0) {
		// (CG) commented check for positive number, because coordinates now can be worldwide (so neg are allowed too!)
		if(geoData.length == 2 ) {
		  //alert('Zoom Factor: '+zoom);
		  map2 = new GMap2( document.getElementById( "googlemap" ) );
		  map2.addControl(new GSmallMapControl());
		  map2.addControl(new GMapTypeControl());
		  map2.setCenter(new GLatLng( parseFloat(geoData[0]), parseFloat(geoData[1]) ), zoom);

		  //alert(document.getElementById( "googlemap" ));

		  if( valueID > 0) {
		    var icon = new GIcon();
		    icon.image = "./coolaustria/images/googlehouse.png";
		    icon.iconSize = new GSize( 37, 22 );
		    //icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
		    //icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		    //icon.iconSize = new GSize(12, 20);
		    //icon.shadowSize = new GSize(22, 20);
		    icon.iconAnchor = new GPoint(6, 20);
		    icon.infoWindowAnchor = new GPoint(5, 1);

		    map2.addOverlay( new GMarker( new GLatLng( parseFloat(geoData[0]), parseFloat(geoData[1]) ), icon ) );
			//setGoogleExtraData( parseFloat(geoData[0]), parseFloat(geoData[1]), zoom, map2, null );
		  }
		  else {
			//setGoogleExtraData( 0, 0, zoom, map2, null );
		  }
		}
		else {
		  setGooglePoint( 0, 5 );
		}

		return false;
	  }
    }

    ajax.doRequest();
    return false;
  }

  return false;
}

function setGooglePoint( valueID, zoom ) {
  if(document.getElementById('googlemap') != null && valueID >= 0) {
	//document.getElementById('regionValue').value = value;
    var ajax = new Ajax();
    ajax.method = 'POST';
    ajax.url = 'http://www.coolaustria.com/index.php';
    ajax.params  = 'pageID=599&getGeoData='+valueID;
	ajax.params += '&zoom='+zoom+'&fwd=true';

    ajax.onSuccess = function(txt,xml) {
      if(hasError(trim(txt))) {
        ajax.onError(getError(txt));
        return false;
      }
  	  else {
		var geoData = trim(txt).split(",");
		//alert(trim(txt));

		//if(geoData.length == 2 && parseFloat(geoData[0]) > 0 && parseFloat(geoData[1]) > 0) {
		// (CG) commented check for positive number, because coordinates now can be worldwide (so neg are allowed too!)
		if(geoData.length == 2 ) {
		  //alert('Zoom Factor: '+zoom);
		  map2 = new GMap2( document.getElementById( "googlemap" ) );
		  map2.addControl(new GSmallMapControl());
		  map2.addControl(new GMapTypeControl());
		  map2.setCenter(new GLatLng( parseFloat(geoData[0]), parseFloat(geoData[1]) ), zoom);

		  //alert(document.getElementById( "googlemap" ));

		  if( valueID > 0) {

			setGoogleExtraData( parseFloat(geoData[0]), parseFloat(geoData[1]), zoom, map2, null );
		    
		    var icon = new GIcon();
		    icon.image = "http://www.coolaustria.com/coolaustria/images/googlehouse.png";
		    icon.iconSize = new GSize( 37, 22 );
		    //icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
		    //icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		    //icon.iconSize = new GSize(12, 20);
		    //icon.shadowSize = new GSize(22, 20);
		    icon.iconAnchor = new GPoint(6, 20);
		    icon.infoWindowAnchor = new GPoint(5, 1);
		    map2.addOverlay( new GMarker( new GLatLng( parseFloat(geoData[0]), parseFloat(geoData[1]) ), icon ) );
		    window.setTimeout("googleIconToForeground(\"http://www.coolaustria.com/coolaustria/images/googlehouse.png\")",1000);
		  }
		  else {
			setGoogleExtraData( 0, 0, zoom, map2, null );
		  }
		}
		else {
		  setGooglePoint( 0, 5 );
		}

		return false;
	  }
    }

    ajax.doRequest();
    return false;
  }

  return false;
}

function googleIconToForeground(iconSrc){
	
	var arrElements = document.getElementsByTagName("img");
	for(i=0;i<arrElements.length;i++){
			
			if(arrElements[i].src==iconSrc){
				if(!arrElements[i].style){
					arrElements[i].runtimeStyle.zIndex = "1000";
				}else{
					try
					{
						arrElements[i].style.setProperty("z-index","1000","important");
					}
					catch(e){
						arrElements[i].runtimeStyle.zIndex = "1000";					
					}	
				}
			}
	}
}

function hideMatches( field ) {
  if(document.getElementById('loading').style.display == '')
    hideLoadingWindow();
  if(document.getElementById(field) != null) {
	document.getElementById(field).style.display = 'none';

	for(var i=1; i<=5; i++) {
	  if(document.getElementById('hide'+i) != null)
		document.getElementById('hide'+i).style.visibility = 'visible';
	}
  }
  return false;
}


function showAdvanced( mode ) {
  if(mode == 'activities') {
    for(var i=1; i<=5; i++) {
	  if(document.getElementById('rowHide'+i) != null)
		document.getElementById('rowHide'+i).style.display = '';
	}

	if(document.getElementById('rowShow1') != null)
	  document.getElementById('rowShow1').style.display = 'none';
  }

  return false;
}

function showSimple( mode ) {
  if(mode == 'activities') {
	var formDataElements = new Array("rating", "ageto", "activity", "endmonth", "endyear", "userActivity", "gender", "startmonth", "startyear", "agefrom", "category", "expert", "withImage", "withAnswer");

	//alert(document.getElementsByName('formData[searchterm]').length);
	for(var i=0; i<formDataElements.length; i++) {
	  if(document.getElementsByName('formData['+formDataElements[i]+']')[0]) {
		if(formDataElements[i] == "agefrom")
		  document.getElementsByName('formData['+formDataElements[i]+']')[0].selectedIndex  = 4;
		else if(formDataElements[i] == "withImage")
		  document.getElementsByName('formData['+formDataElements[i]+']')[0].checked = false;
		else if(formDataElements[i] == "withAnswer")
		  document.getElementsByName('formData['+formDataElements[i]+']')[0].checked = false;
		else
		  document.getElementsByName('formData['+formDataElements[i]+']')[0].selectedIndex  = 0;
	  }
	}

	if(document.getElementsByName('formData[nickname]')[0])
	  document.getElementsByName('formData[nickname]')[0].value = '';

    for(var i=1; i<=5; i++) {
	  if(document.getElementById('rowHide'+i) != null)
		document.getElementById('rowHide'+i).style.display = 'none';
	}

	if(document.getElementById('rowShow1') != null)
	  document.getElementById('rowShow1').style.display = '';
  }

  return false;
}

function saveAlbumTitle( aid ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&updateAlbumTitle=1&title='+document.getElementById('albumTitle').value+'&id='+aid+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
	  document.getElementById('albumTitleMsg').style.display = '';
	  document.getElementById('albumTitleMsg').innerHTML = getError(trim(txt));
      //ajax.onError(getError(txt));
      return false;
    }
	else {
	  document.getElementById('albumTitleMsg').style.display = '';
	  document.getElementById('albumTitleMsg').innerHTML = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function hideTitleMsg() {
  document.getElementById('albumTitleMsg').innerHTML = '';
  document.getElementById('albumTitleMsg').style.display = 'none';
  return false;
}

function getAddPhoto( albumID ) {
  document.getElementById('contentTD').innerHTML = 'loading ...';

  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getAddPhoto=1&id='+albumID+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  //alert(trim(txt));
	  document.getElementById('contentTD').innerHTML = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function getCreateAlbum() {
  document.getElementById('contentTD').innerHTML = 'loading ...';
  document.getElementsByName('selectAlbum')[0].selectedIndex = 0;

  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getCreateAlbum=1&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  //var tabelle = document.createTextNode(trim(txt));
	  //document.getElementById('ActionTD').deleteData(0);
	  //document.getElementById('ActionTD').appendData(tabelle);
	  document.getElementById('contentTD').innerHTML = trim(txt);
	  //document.getElementById("ActionTD").firstChild.nodeValue = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function showLoginInfo( identifier ) {
  document.getElementById('loginInfo'+identifier).style.display = '';
}

function hideLoginInfo( identifier ) {
  document.getElementById('loginInfo'+identifier).style.display = 'none';
}

function snycSB( boxName ) {
  if(document.getElementsByName(boxName).length > 1) {
    var selectedIndizes = new Array();
    var idx = 0;
    var opt = document.getElementsByName(boxName)[document.getElementsByName(boxName).length-1].options;

    for (var intLoop = 0; intLoop < opt.length; intLoop++) {
      if ((opt[intLoop].selected) ||
        (opt[intLoop].checked)) {
        idx = selectedIndizes.length;
        selectedIndizes[idx] = new Object;
	    selectedIndizes[idx].value = opt[intLoop].value;
        selectedIndizes[idx].index = intLoop;
      }
    }

//	alert(selectedIndizes.length);

    for(var j=0; j<document.getElementsByName(boxName).length; j++) {
      if(document.getElementsByName(boxName)[j] != null) {
         var SB = document.getElementsByName(boxName)[j];

         for (var item in selectedIndizes)
		   SB.selectedIndex = selectedIndizes[item].index;
      }
    }
  }
}

function setImageExtraData( photoID, zoneNumber ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getPhotoExtraData='+photoID+'&zn='+zoneNumber+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  document.getElementById('imageExtraData').innerHTML = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function setReportExtraData( reportID, zoneNumber ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getReportExtraData='+reportID+'&zn='+zoneNumber+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  document.getElementById('reportExtraData').innerHTML = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function setEventExtraData( eventID, zoneNumber ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getEventExtraData='+eventID+'&zn='+zoneNumber+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  document.getElementById('eventExtraData').innerHTML = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function setReportPreviewImages( reportID, zoneNumber, index ) {
  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getReportPreviewImages='+reportID+'&zn='+zoneNumber+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  document.getElementById('previewImages'+index).innerHTML = trim(txt);
	  return false;
	}
  }

  ajax.doRequest();
  return false;
}

function buildScrolling( url ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = url;

  ajax.onSuccess = function(txt,xml) {
	return true;
  }
  ajax.doRequest();
  return false;
};

function buildFeaturedImage( inObject ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&buildFeaturedImage=1&fwd=true';

  ajax.onSuccess = function(txt,xml) {
	document.location.href = inObject.href;
	return false;
  }
  ajax.doRequest();
  return false;
}

function buildOtherAlbumImage( inObject, albumID ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&buildOtherAlbumImage='+albumID+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
	document.location.href = inObject.href;
	return false;
  }
  ajax.doRequest();
  return false;
}

function buildLatestImages( inObject, zn ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&buildLatestImages='+zn+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
	document.location.href = inObject.href;
	return false;
  }
  ajax.doRequest();
  return false;
}

function buildAlbumImages( inObject, zn, albumID ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&buildAlbumImages='+albumID+'&zn='+zn+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
	//alert(txt);
	document.location.href = inObject.href;
	return false;
  }
  ajax.doRequest();
  return false;
}

function buildGoogleImage( inObject, x, y, limit ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&buildGoogleImageX='+x;
  ajax.params += '&buildGoogleImageY='+y;
  ajax.params += '&limit='+limit+'&fwd=true';

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
 	  document.location.href = inObject.href;
	  return false;
	}
  }
  ajax.doRequest();
  return false;
}

function addReportLinks() {
  for(var i=1; i<=4; i++) {
    if(document.getElementById('tr_refLink'+i) != null)
	  document.getElementById('tr_refLink'+i).style.display = '';
  }

  return false;
}

// Creates a marker whose info window displays the letter corresponding
// to the given index.
function createMarker(point, text, icon) {
  // Create a lettered icon for this point using our icon class
  //var letter = String.fromCharCode("A".charCodeAt(0) + index);
  var marker = new GMarker(point, icon);

  if((typeof text) == 'string') {
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(text);
    });
  } else {
	var infoTabs = Array();

	for (var tabText in text)
      infoTabs.push( new GInfoWindowTab(tabText, text[tabText]) )

    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowTabsHtml(infoTabs);
    });
  }
  return marker;
}

function setGoogleExtraData( x, y, z, map, filter ) {
  if (filter === undefined) {
    filter = null;
  }
  var bounds = map.getBounds();
  var southWest = bounds.getSouthWest();
  var northEast = bounds.getNorthEast();
  var xEx = northEast.lng() - southWest.lng();
  var yEx = northEast.lat() - southWest.lat();
  var coord = map.getCenter().toString().replace(/\(/g, "");
  coord = coord.replace(/\)/g, "");
  var coords = coord.split(",");
  var sendRequest = false;

  if(x > 0 && y > 0 && z > 0) {
    if(Math.abs(parseFloat(coords[1])-parseFloat(x)) > (parseFloat(xEx)/2))
      sendRequest = true;
    else if(Math.abs(parseFloat(coords[0])-parseFloat(y)) > (parseFloat(yEx)/2))
      sendRequest = true;
    else if(Math.abs(map.getZoom()-z) > 1) {
      sendRequest = true;
      map.clearOverlays();
    }

	//if(parseFloat(coords[1]))
  }
  else if(x == 0 && y == 0 && z == 0) {
    sendRequest = true;
    map.clearOverlays();
  }

//  alert('Map Zoom: '+map.getZoom()+', Last Zoom: '+z+', Diff: '+Math.abs(map.getZoom()-z)+'\nMap X: '+coords[1]+', Last X: '+x+', Diff: '+Math.abs(parseFloat(coords[1])-parseFloat(x))+', Move Ref: '+(parseFloat(xEx)/2)+'\n'+'Map Y: '+coords[0]+', Last Y: '+y+', Diff: '+Math.abs(parseFloat(coords[0])-parseFloat(y))+', Move Ref: '+(parseFloat(yEx)/2)+'\nSend Request: '+sendRequest);

  var ajax = new Ajax();
  ajax.method = 'POST'; ajax.url = 'http://www.coolaustria.com/index.php'; ajax.params  = 'pageID=599';
  ajax.params += '&googleExtraX='+xEx;
  ajax.params += '&googleExtraY='+yEx;
  ajax.params += '&zoom='+map.getZoom();
  ajax.params += '&centerX=' + trim(coords[1]);
  ajax.params += '&centerY=' + trim(coords[0]) + '&fwd=true';


  if(filter) {
    var size = filter.length;
    if( filter[0] == 'doFilter' ) {
  	  ajax.params += '&filter=';
  	  for( var i=1; i<size; i++ ) {
  		ajax.params += filter[i];
  		if( i<size-1 )
  			ajax.params += ';';
  	  }
    }
  }

  //document.write(ajax.params);

  ajax.onSuccess = function(txt,xml) {
	eval(txt);

    var point = null;

	for (var idx in extraData) {
	  //alert(extraData[idx]['X']);

	  var baseIcon = new GIcon();

	  if(googleIcons[extraData[idx]['Icon']] != null) {
		if(trim(googleIcons[extraData[idx]['Icon']]['shadow']) != '') {
  	      baseIcon.shadow = googleIcons[extraData[idx]['Icon']]['shadow'];
 	      baseIcon.shadowSize = new GSize(googleIcons[extraData[idx]['Icon']]['sX'], googleIcons[extraData[idx]['Icon']]['sY']);
		}

	    baseIcon.iconSize = new GSize(googleIcons[extraData[idx]['Icon']]['x'], googleIcons[extraData[idx]['Icon']]['y']);
	    baseIcon.iconAnchor = new GPoint(9, 34);
	    baseIcon.infoWindowAnchor = new GPoint(9, 2);
	    baseIcon.infoShadowAnchor = new GPoint(18, 25);

		var icon = new GIcon(baseIcon);
		icon.image = googleIcons[extraData[idx]['Icon']]['img'];

		//alert(icon.image+'\nIcon-Index: '+extraData[idx]['Icon']);
	  }
	  else if(googleIcons[extraData[idx]['Icon']] == null && googleIcons.length > 0) {
		if(trim(googleIcons[0]['shadow']) != '') {
  	      baseIcon.shadow = googleIcons[0]['shadow'];
 	      baseIcon.shadowSize = new GSize(googleIcons[0]['sX'], googleIcons[0]['sY']);
		}

	    baseIcon.iconSize = new GSize(googleIcons[0]['x'], googleIcons[0]['y']);
	    baseIcon.iconAnchor = new GPoint(9, 34);
	    baseIcon.infoWindowAnchor = new GPoint(9, 2);
	    baseIcon.infoShadowAnchor = new GPoint(18, 25);

		var icon = new GIcon(baseIcon);
		icon.image = googleIcons[0]['img'];

		//alert('DEFAULT: '+icon.image+'\nIcon-Index: '+extraData[idx]['Icon']);
	  }
	  else
		continue;

	  point = new GLatLng(extraData[idx]['X'],extraData[idx]['Y']);
	  if( extraData[idx]['X'] != x &&  extraData[idx]['Y'] != y){
		map.addOverlay(createMarker(point, extraData[idx]['Text'], icon)); 
	  }
	  
	}

	//alert(extraData.length);

	//return txt;
	return false;
  }

  if(sendRequest) {
  	//zoom = z;
	ajax.doRequest();
  }

  return false;
}

function getSubCategories( category, selectID ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getSubCategories='+category;

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  eval(txt);

	  if(subCategories.length == 0) {
		document.getElementById('tr_subcategories').style.display = 'none';
	  }
	  else {
		var subCatSB = document.getElementById('sb_subcats');
		var subCatSBSize = subCatSB.options.length;

		for(var i=0; i<subCatSBSize; i++) {
		  subCatSB.options[subCatSB.options.length-1] = null;
		}

		if(!subCatSB.options.length) {
  		  for(var i=0; i<subCategories.length; i++) {
			if(selectID > 0 && parseInt(subCategories[i]['ID']) == selectID)
			  var subCat = new Option(subCategories[i]['Value'], subCategories[i]['ID'], true, true);
			else
		      var subCat = new Option(subCategories[i]['Value'], subCategories[i]['ID'], false, false);
		    subCatSB.options[subCatSB.options.length] = subCat;
		  }
		}

		document.getElementById('tr_subcategories').style.display = '';
	  }

	  return false;
	}
  }
  ajax.doRequest();
  return false;
}

function checkPrecision( presX, presY ) {
  var state = false;

  if(presX.value == '' || presY.value == '')
	window.setTimeout("checkPrecision("+presX+","+presY+")", 1000);
  else
	state = true;

  return state;
}

function setPrecisionMarker() {  
    var map2 = new GMap2( document.getElementById( "googlemap" ) );
    map2.addControl(new GSmallMapControl());
	map2.setCenter(new GLatLng(47.696505,13.345768), 13);

	var presX = document.getElementById('PrecisionX');
	var presY = document.getElementById('PrecisionY');
	var regID = document.getElementById('regionValue');  

  getGeoDataByRegionID(regID.value, presX, presY);
}

function getGeoDataByRegionID( regionID, presX, presY ) {
  if(presX && parseFloat(presX.value) > 0 && presY && parseFloat(presY.value) > 0) {
    var map2 = new GMap2( document.getElementById( "googlemap" ) );
    map2.addControl(new GSmallMapControl());  

    var center = new GLatLng(parseFloat(presX.value), parseFloat(presY.value));
    map2.setCenter(center, 13);

    var marker = new GMarker(center, {draggable: true});
	marker.enableDragging();

    GEvent.addListener(marker, "dragend", function() {	  
      var point = marker.getPoint();
	  presY.value = point.lng();
	  presX.value = point.lat();
    });
	
	map2.addOverlay(marker);
  }
  else if(regionID >= 0) {
    var ajax = new Ajax();
    ajax.method = 'POST';
    ajax.url = 'index.php';
    ajax.params  = 'pageID=599&getGeoData='+regionID;
	ajax.fReturn = null;

    ajax.onSuccess = function(txt,xml) {
      if(hasError(trim(txt))) {
        ajax.onError(getError(txt));
      }
  	  else {
		var values = trim(txt).split(",");

		if(values.length == 2 && trim(values[0]) != "" && trim(values[1]) != "") {
          var map2 = new GMap2( document.getElementById( "googlemap" ) );
          map2.addControl(new GSmallMapControl());

		    document.getElementById('PrecisionX').value = values[0];
		    document.getElementById('PrecisionY').value = values[1];		
            var center = new GLatLng(parseFloat(values[0]), parseFloat(values[1]));
            map2.setCenter(center, 13);

            var marker = new GMarker(center, {draggable: true});
			marker.enableDragging();
			//alert(marker.draggable());

            GEvent.addListener(marker, "dragend", function() {	  
              var point = marker.getPoint();
			  var baseX = parseFloat(values[0]);
			  var baseY = parseFloat(values[1]);

			  var newX = point.lat();
			  var newY = point.lng();

			  if(regionID < 485) {
				document.getElementById('PrecisionX').value = newX;
				document.getElementById('PrecisionY').value = newY;			  
			  }
			  else {
				if(Math.sqrt(Math.pow((baseX-newX), 2)+Math.pow((baseY-newY), 2)) > 0.114208448) {
				  if(document.getElementById('RangeErrorMsg'))
					alert(document.getElementById('RangeErrorMsg').value);

				  getGeoDataByRegionID( regionID, presX, presY );
				}
				else {
				  document.getElementById('PrecisionX').value = newX;
				  document.getElementById('PrecisionY').value = newY;				
				}
			  }
            });
		  
		  map2.addOverlay(marker);		  
		}
		else if(values.length == 2)
		  getGeoDataByRegionID( regionID, presX, presY );
	  }
    }

    ajax.doRequest();    
  }
  else
    document.getElementById( "googlemap" ).innerHTML = 'Missing data for GoogleMap';
}

/* default values and initialization */

var ivPopup_PopupWidth = 400;
var ivPopup_PopupHeight = 300;

function showECard() {}
function load() {}

function checkPrecision() {
  var state = false;

  if(window.opener) {	
	var presX = window.opener.document.getElementById('PrecisionX');
	var presY = window.opener.document.getElementById('PrecisionY');
  }
  else {
	var presX = document.getElementById('PrecisionX');
	var presY = document.getElementById('PrecisionY');
  }

  if(presX.value == '' || presY.value == '') {
	alert('checking: '+presX.value+', '+presY.value);
	window.setTimeout("return checkPrecision();", 1000);
  }
  else
	state = true;

  return state;
}

function setPrecisionMarker() {  
    var map2 = new GMap2( document.getElementById( "googlemap" ) );
    map2.addControl(new GSmallMapControl());
	map2.setCenter(new GLatLng(47.696505,13.345768), 13);

	var presX = document.getElementById('PrecisionX');
	var presY = document.getElementById('PrecisionY');
	var regID = document.getElementById('regionValue');  

  getGeoDataByRegionID(regID.value, presX, presY);
}

function getGeoDataByRegionID( regionID, presX, presY ) {
  if(presX && parseFloat(presX.value) > 0 && presY && parseFloat(presY.value) > 0) {
    var map2 = new GMap2( document.getElementById( "googlemap" ) );
    map2.addControl(new GSmallMapControl());  

    var center = new GLatLng(parseFloat(presX.value), parseFloat(presY.value));
    map2.setCenter(center, 13);

    var marker = new GMarker(center, {draggable: true});
	marker.enableDragging();

    GEvent.addListener(marker, "dragend", function() {	  
      var point = marker.getPoint();
	  presY.value = point.lng();
	  presX.value = point.lat();
    });
	
	map2.addOverlay(marker);
  }
  else if(regionID >= 0) {
    var ajax = new Ajax();
    ajax.method = 'POST';
    ajax.url = 'index.php';
    ajax.params  = 'pageID=599&getGeoData='+regionID;
	ajax.fReturn = null;

    ajax.onSuccess = function(txt,xml) {
      if(hasError(trim(txt))) {
        ajax.onError(getError(txt));
      }
  	  else {
		var values = trim(txt).split(",");
		//alert(trim(txt));

		if(values.length == 2 && trim(values[0]) != "" && trim(values[1]) != "") {
          var map2 = new GMap2( document.getElementById( "googlemap" ) );
          map2.addControl(new GSmallMapControl());

		    document.getElementById('PrecisionX').value = values[0];
		    document.getElementById('PrecisionY').value = values[1];		
            var center = new GLatLng(parseFloat(values[0]), parseFloat(values[1]));

			if(regionID < 485)
			  map2.setCenter(center, 5);
			else
              map2.setCenter(center, 13);

            var marker = new GMarker(center, {draggable: true});
			marker.enableDragging();
			//alert(marker.draggable());

            GEvent.addListener(marker, "dragend", function() {	  
              var point = marker.getPoint();

			  var baseX = parseFloat(values[0]);
			  var baseY = parseFloat(values[1]);

			  var newX = point.lat();
			  var newY = point.lng();

			  if(regionID < 485) {
				document.getElementById('PrecisionX').value = newX;
				document.getElementById('PrecisionY').value = newY;			  
			  }
			  else {
				if(Math.sqrt(Math.pow((baseX-newX), 2)+Math.pow((baseY-newY), 2)) > 0.114208448) {
				  if(document.getElementById('RangeErrorMsg'))
					alert(document.getElementById('RangeErrorMsg').value);

				  getGeoDataByRegionID( regionID, presX, presY );
				}
				else {
				  document.getElementById('PrecisionX').value = newX;
				  document.getElementById('PrecisionY').value = newY;				
				}
			  }
            });
		  
		  map2.addOverlay(marker);		  
		}
		else if(values.length == 2)
		  getGeoDataByRegionID( regionID, presX, presY );
	  }
    }

    ajax.doRequest();    
  }
  else
    document.getElementById( "googlemap" ).innerHTML = 'Missing data for GoogleMap';
}

function getSelected( elementObj ) {
  switch( elementObj.type ) {
    case 'hidden':
      return elementObj.value;
	  break;
    case 'text':
	  return elementObj.value;
	  break;
    case 'checkbox':
	  if(elementObj.checked == true) {
		return elementObj.value;
	  }
	  else
		return null;
	  break;
    case 'select-one':	  
	  for(var i=0; i<elementObj.options.length; i++) {
		if(elementObj.options[i].selected == true)
		  return elementObj.options[i].value;
	  }

	  return null;
	  break;
    case 'select-multiple':
	  var values = new Array();
	  for(var i=0; i<elementObj.options.length; i++) {
		if(elementObj.options[i].selected == true)
		  values.push(elementObj.options[i].value);
	  }

	  if(values.length)
		return values;
	  else
	    return null;
	  break;
    case 'textarea':
	  return elementObj.value;
	  break;
    case 'password':
	  return elementObj.value;
	  break;
	default:
	  return null;
  }
}

function getNumReceivers( formObj, msg ) {
  var params = new Array();

  for( var i=0; i<formObj.length; i++ ) {
	if(formObj.elements[i].name.substr(0,8) == 'formData') {
	  var value = getSelected(formObj.elements[i]);
	  if(value != null) {
		if(typeof value != 'object')
		  params.push(formObj.elements[i].name+"="+value);
		else {
		  for(var j=0; j<value.length; j++)
			params.push(formObj.elements[i].name.replace(/\[\]/, '')+"["+j+"]="+value[j]);
		}
	  }		
	}
  }

  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = 'pageID=191&getNumReceiver=1&'+params.join("&");
  ajax.onSuccess = function(txt,xml) {  
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {	  
	  //var NumReceivers = document.createTextNode(txt);
	  //document.getElementById("NumReceiver").firstChild.appendData(NumReceivers.nodeValue);

      document.getElementById('NumReceiver').innerHTML = msg+txt;
	  document.getElementById("NumReceiver").style.display='';
	}

    return false;
  }

  ajax.doRequest();
  return false;
}

function centeredPopUp(page,name,w,h,scroll,resizable)
{
  var winl = (screen.width - w) / 2;
  var wint = (screen.height - h) / 2;
  var winprops = ('height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resizable);
  var win = window.open(page, name, winprops);
  
  if(parseInt(navigator.appVersion) >= 4) 
    win.window.focus(); 

  return false;
}

function showHideExtendedSettings() {  
  var extendedMenu = document.getElementById('extendedSettings');

  if(extendedMenu.style.display == 'none') {
	extendedMenu.style.display = '';
	var state = 1;
  }
  else {
	extendedMenu.style.display = 'none';
	var state = 0;
  }

  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&setExtendedMenu='+state;

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
	  return false;
	}
  }
  ajax.doRequest();
  return false;  
}

function loadEventParticipants( eventID, limit, user ) {
  var internUser = user || 0;
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&getEventParticipants='+eventID+'&limit='+limit+'&user='+internUser;

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
 	  document.getElementById('EventParticipants').innerHTML = txt;
	  return false;
	}
  }
  ajax.doRequest();
  return false;
}

function confirmParticipation( zn, eventID ) {
  var ajax = new Ajax();
  ajax.method = 'GET';
  ajax.url = 'index.php';
  ajax.params  = 'pageID=599&confirmParticipation='+eventID+'&zn='+zn;

  ajax.onSuccess = function(txt,xml) {
    if(hasError(trim(txt))) {
      ajax.onError(getError(txt));
      return false;
    }
	else {
 	  document.getElementById('EventParticipants').innerHTML = txt;
	  return false;
	}
  }
  ajax.doRequest();
  return false;
}

function submitForm( formObj, msg ) {
  var params = new Array();

  for( var i=0; i<formObj.length; i++ ) {
	if(formObj.elements[i].name.substr(0,8) == 'formData') {
	  var value = getSelected(formObj.elements[i]);
	  if(value != null) {
		if(typeof value != 'object')
		  params.push(formObj.elements[i].name+"="+value);
		else {
		  for(var j=0; j<value.length; j++)
			params.push(formObj.elements[i].name.replace(/\[\]/, '')+"["+j+"]="+value[j]);
		}
	  }		
	}
  }

  var ajax = new Ajax();
  ajax.method = 'POST';
  ajax.url = 'index.php';
  ajax.params = params.join("&");

  var formAction = formObj.action.replace(/index.php/g, '');
  formAction = formAction.replace(/(.*)\?/g, '');

  if(trim(ajax.params) != '')
	ajax.params = (trim(formAction) != '') ? formAction+'&'+ajax.params+'&request=ajax' : ajax.params+'&request=ajax';
  else
	ajax.params = (trim(formAction) != '') ? formAction+'&request=ajax' : '';

//alert(ajax.params);

  if(trim(ajax.params) == '')  
	return false;

  ajax.onSuccess = function(txt,xml) {  
    if(hasError(txt))
      ajax.onError(getError(txt));
	else {
      document.getElementById('EventFormContent').innerHTML = trim(txt);
	}

    return false;
  }

  ajax.doRequest();
  return false;
}
