/* OPENWINDOW functions */
function centerWindowV (winHeight, menubar, status, directories, toolbar, location) {
	scrHeight = screen.availHeight;
	titlesize		= 31;
	menubarsize		= 48;
	statussize		= 20;
	directoriessize	= 29;
	toolbarsize		= 29;
	locationsize	= 29;
	winHeight += titlesize;
	if (menubar)		winHeight += menubarsize;
	if (status)			winHeight += statussize;
	if (directories)	winHeight += directoriessize;
	if (toolbar)		winHeight += toolbarsize;
	if (location)		winHeight += locationsize;
	winTop	= ((scrHeight-winHeight)/2);
	return winTop;
}

function centerWindowH (winWidth) {
	scrWidth  = screen.availWidth;
	windowBorders	=  12;
	winWidth		+= windowBorders;
	winLeft 		=  ((scrWidth-winWidth)/2);
	return winLeft;
}

function oCenterWin(url,title,winWidth,winHeight,menubar,status,directories,toolbar,location,scrollbars,resizable) {
	winTop	= centerWindowV (winHeight,menubar,status,directories,toolbar,location);
	winLeft = centerWindowH (winWidth);
	winHandle=top.open(url,title,'location='+(location?'yes':'no')+',toolbar='+(toolbar?'yes':'no')+',directories='+(directories?'yes':'no')+',status='+(status?'yes':'no')+',scrollbars='+(scrollbars?'yes':'no')+',menubar='+(menubar?'yes':'no')+',resizable='+(resizable?'yes':'no')+',width='+winWidth+',height='+winHeight+',height='+winHeight+',top='+winTop+',left='+winLeft);
	winHandle.focus();
}

function openSitemap(url) {
	winWidth	= 910;
	winHeight	= 730;
	oCenterWin(url, "SITEMAP", winWidth, winHeight, false, true, false, false, false, true, true);
}

function openKontakt(url) {
  winWidth  = 600;
  winHeight = 625;
  oCenterWin(url, "Kontakt", winWidth, winHeight, false, true, false, false, false, false, false);
}



/* SEARCH functions */
var bIsSearching  = false;
function setIsSearching(bState) {
	bIsSearching = bState;
}

function submitSearchForm () {
	searchForm = document.forms["searchform"];
	if (checkSearchForm()) {
		searchTermValue = searchForm.SEARCHTERM.value;
		while (searchTermValue.search(/_/)!=-1) {
		      searchTermValue = searchTermValue.replace(/_/,String(" "));
		}
		searchForm.SEARCHTERM.value=searchTermValue;
		searchForm.submit();
	}
	return false;	
}

function checkSearchForm() {
	searchForm = document.forms["searchform"];
	var conf = true;
	if (searchForm.SEARCHTERM.value.length < 3) {
		alert("Bitte geben Sie beim Suchbegriff mindestens 3 Zeichen ein!");
		searchForm.SEARCHTERM.focus();
		return false;
	}
	if (bIsSearching) {
		conf = !confirm("Sie suchen bereits. Moechten Sie das Suchergebnis nicht abwarten? (OK fuer Abwarten)");
	}
	setIsSearching(true);
	return conf;
}

function submitHiddenSearchForm (searchaction, searchterm) {
	hiddenSearchForm = document.forms["hiddenSearchform"];
	hiddenSearchForm.action = searchaction;
	hiddenSearchForm.elements["hiddenSearchterm"].value=searchterm;
	hiddenSearchForm.submit();
}


/* VERANSTALTUNGSKALENDER*/
function submitVSuche () {
	form = document.forms["vsuche"];
	form.submit();
	return false;
}

function sortVList () {
	form = document.forms["sortvlist"];
	form.submit();	
}


/* REPRAESENTANTENSUCHE */
function resetRPForm () {
	form = document.forms["rpsuche"];
	form.nachname.value="";
	form.plz.value="";
	return false;
}
function submitRPForm () {
	form = document.forms["rpsuche"];
	if (checkRPForm()) {
		form.submit();
	}
	return false;
}
function checkRPForm () {

	form = document.forms["rpsuche"];
	if (form.nachname.value.length == 0 && form.plz.value == 0) {
		alert("Bitte geben Sie einen Nachnamen oder eine Postleitzahl ein!");
		form.nachname.focus();
		return false;
	}
	if (!checkPLZ(form.plz, false)) {
		return false;
	}
	return true;
}

/* FORM check functions */
function checkPLZ(which,req)
{
  // which = formfield object; req = required? (true/false)
  if (!req) req = false;
  if (req && !which.value)
  {
    alert('Bitte geben Sie Ihre Postleitzahl an!');
    which.focus();
    return false;
  }
  else if (which.value && !testString(which.value,'0123456789',5))
  {
    alert('Bitte achten Sie auf die korrekte Form der Postleitzahl!');
    which.focus();
    return false;
  }
  return true;
}

// ------------------------------
// -- Test String Chars/Length --
// ------------------------------
function testString(string, check, lang)
{
  if (lang)
    if ((string.length)<lang)
      return false;

  for (i=0; i<string.length; i++)
  {
    if (check.indexOf(string.charAt(i))==-1)
    return false;
  }
  return true;
}


/* POP UP OPENER functions */

/*	open urls in opener window */
function sendLinkToOpener(url) {
	return true;
	/* disabled at the moment
	try {
		if (opener && !opener.closed) {
			opener.location.href=url;
			return false;
		} else {
			return true;
		}
	} catch (e) {
		return true;
	}
    */
}

// Pop-Up fuer Repraesentanten-Homepage und -Kontaktformular
function repHome(rephomeid,organummer) {
   if (document.forms.rephome) {
      document.forms.rephome.Organummer.value = organummer;
      document.forms.rephome.submit();
   } else {
      top.location.href = "../../menu/" + rephomeid + "/index.html?Organummer="+organummer;
   }
//    oCenterWin("../../menu/"+rephomeid+"_eDAEF-REPRAESENTANTEN-HOMEPAGE/index.html?organummer="+organummer+"", "Homepage", 683, 736, false, true, false, false, false, true, true);
}

function repMail(rephomeid,organummer,vid,ort,datetime) {
    location.href="../../menu/"+rephomeid+"/index.html?organummer="+organummer+"&vid="+vid+"&vort="+ort+"&vdatetime="+datetime;
}

function repMail2(rephomeid,organummer,vid,ort,datetime,standort) {
    if (!standort) {
        standort = "1";
    }
	location.href="../../menu/"+rephomeid+"/index.html?organummer="+organummer+"&vid="+vid+"&vort="+ort+"&vdatetime="+datetime+"&standort="+standort;
}

/*	open urls in opener window */
function rephomeOpenLink(url) {
	try {
		if (opener && !opener.closed) {
			opener.location.href=url;
            window.close();
			return false;
		} else {
            window.open(url);
			return false;
		}
	} catch (e) {
		return true;
	}
}

