
function swapText(whichLayer, whichContent) {
  //swap content of div
  if (document.layers) 
  {
    document.layers[whichLayer].document.write(whichContent);
    document.layers[whichLayer].document.close();
  }
  else
  {
    if (document.getElementById) 
    {
      document.getElementById(whichLayer).innerHTML = whichContent;
    } 
    else
    {
      document.all[whichLayer].innerHTML=whichContent;
    }
  }
}


function showHideDiv(thide,tshow,tshow2)
{
  //alert(document.getElementById(thide));
  if (document.getElementById(thide))
  { document.getElementById(thide).style.display = "none"; }
  if (document.getElementById(tshow))
  { document.getElementById(tshow).style.display = "block"; }
  if (document.getElementById(tshow2))
  { document.getElementById(tshow2).style.display = "block"; }
}

function insertBeforeExtension(strHaystack,strInjection)
{
  var tstrPath = strHaystack.substring(0,strHaystack.lastIndexOf("/")+1); // ../
  var tstrFilename = strHaystack.substring(strHaystack.lastIndexOf("/")+1); // file.ext
  var tstrResult = tstrFilename.substring(0,tstrFilename.lastIndexOf(".")) + strInjection + tstrFilename.substring(tstrFilename.lastIndexOf(".")); 
  return tstrPath + tstrResult;
}

function swapBigPicture(whichBigPicture,whichPictureName)
{
  whichBigPicture.src = insertBeforeExtension(whichPictureName,"_thumb1");
  whichBigPicture.onclick = function() { FH = window.open(insertBeforeExtension(whichPictureName,"_thumb0"), 'fullsize', 'width=820,height=620,left=0,top=0'); FH.window.focus(); } ;
}



function setDependentValue(sourceElement,dependentElement)
{
  //alert(sourceElement);
  myValue = sourceElement[sourceElement.selectedIndex].value;
  removeAllChildNodesFromNode(dependentElement);
  myValue = parseInt(myValue); 
  // setting the right options
  appendChildNodesToNode(dependentElement,dependentValue[myValue]);
}

function appendChildNodesToNode(whichNode, whichChildNodes)
{
  //alert(whichChildNodes);
  for (var i = 0; i < whichChildNodes.length; i++)
  {
    var tarray = whichChildNodes[i].split(",");
    whichNode.appendChild(returnOptionNode());    
    // preselect the right option if necessary 
    if (tarray[2] != "")
    {
      whichNode.lastChild.setAttribute("selected",tarray[2]);
    }  
    whichNode.lastChild.setAttribute("value",tarray[0]);
    whichNode.lastChild.appendChild(returnTextNode(tarray[1]));
  }
}

function returnTextNode(whichText)
{
  var newText = document.createTextNode(whichText);
  return newText;
}
function returnOptionNode()
{
  var newOPTION = document.createElement("option");
  return newOPTION;
}

function removeAllChildNodesFromNode(whichNode)
{
  while (whichNode.childNodes.length > 0)
  {
  /*
    if (whichNode.hasChildNodes())
    { removeAllChildsFromNode(whichNode); }
    else
    { whichNode.removeChild(whichNode.lastChild); }
  */ 
   whichNode.removeChild(whichNode.lastChild)
  }
}



function get_cookie(cookie_name)
{
  var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );
  if ((results) && (results[1] != ""))
  { return (unescape(results[1])); }
  else
  { return null; }
}
function setCookieMapItemList()
{
  var totalitems = document.getElementById("activemapitemlist").childNodes.length;
  var mapItemListElement = "";
  for (var i = 0; i < totalitems; i++)
  {
    if (i > 0)
    { mapItemListElement = mapItemListElement + ","; }    
    mapItemListElement = mapItemListElement + document.getElementById("activemapitemlist").childNodes[i].getAttribute("id");
  }
  // set Region in cookie
  var ablauf = new Date();
  var oneyear = ablauf.getTime() + (10 * 365 * 24 * 60 * 60 * 1000);
  ablauf.setTime(oneyear);
  document.cookie = "mapItemListElement_" + mapClientName + "="+mapItemListElement+"; expires=" + ablauf.toGMTString();
}


function setToSameValue(scourceID, targetID)
{
  if ((document.getElementById(scourceID)) && (document.getElementById(targetID)))
  {
    document.getElementById(targetID).value = document.getElementById(scourceID).value;
  }
}





var myimages=new Array()
function preloadimages(){
	for (i=0;i<preloadimages.arguments.length;i++){
	myimages[i]=new Image()
	myimages[i].src=preloadimages.arguments[i]
	}
}

/**
 * Opens calendar window.
 *
 * @param   string      calendar.php parameters
 * @param   string      form name
 * @param   string      field name
 * @param   string      edit type - date/timestamp
 */
function openCalendar(params, form, field, type) {
    window.open(CONST_BASE + "_inc/_popups/calender.php?" + params, "calendar", "width=230,height=220,status=yes");
    dateField = eval("document." + form + "." + field);
    dateType = type;
}



function searchAndReplace(sourceTxt, searchTxt, replaceTxt)
{   
    if ((sourceTxt == null) || (searchTxt == null))           { return null; }
    if ((sourceTxt.length == 0) || (searchTxt.length == 0))   { return sourceTxt; }
    if ((replaceTxt == null) || (replaceTxt.length == 0))    { replaceTxt = ""; }
    var searchTxtLen = searchTxt.length;
    var replaceTxtLen = replaceTxt.length;
    var Pos = sourceTxt.indexOf(searchTxt, 0);
    while (Pos >= 0)
    {
        sourceTxt = sourceTxt.substring(0, Pos) + replaceTxt + sourceTxt.substring(Pos + searchTxtLen);
        Pos = sourceTxt.indexOf(searchTxt, Pos + replaceTxtLen);
    }
    return sourceTxt;
} 



function setValueFromSelect(f_whichSelect, f_whichTargetField, f_whichData)
{
  if (f_whichTargetField.value == "")
  {
    if (f_whichData == "") // could be value (std) or title
    { f_whichData = "value"; }
    for (i = 0; i < f_whichSelect.length; ++i)
    {
      if (f_whichSelect.options[i].selected == true)
      {
        if (f_whichData == "value")
        { f_whichTargetField.value = f_whichSelect.options[i].value; break; }
        if (f_whichData == "title")
        { f_whichTargetField.value = f_whichSelect.options[i].title; break; }
      }
    }
  }
}




function doOnload()
{
  i = 0;
  sux = 0;
  while (document.getElementsByTagName("input")[i])
  {
    // exclude searchbox and loginbox if there is a form
    if ((document.getElementsByTagName("input")[i].name != "search") && (document.getElementsByTagName("input")[i].name != "password") &&  (document.getElementsByTagName("input")[i].type == "text"))
    {
      document.getElementsByTagName("input")[i].focus();
      sux = 1;
      break; 
    }  
    i++; 
  }
  
  // no form found, so check which box is displayed and set focus.
  /*
  if (sux == 0)
  {
    if (document.getElementById("loginbox"))
    {
      if (document.getElementById("loginbox").style.display == "none")
      {
        if (document.getElementsByName("search")[0])
        {
          if (document.getElementsByName("search")[0].type == "text")
          { document.getElementsByName("search")[0].focus(); } 
        }     
      }   
    }
    if (document.getElementById("searchbox"))
    {
      if (document.getElementById("searchbox").style.display == "none")
      {
        if (document.getElementsByName("username")[0])
        {
          if (document.getElementsByName("username")[0].type == "text")
          { document.getElementsByName("username")[0].focus(); } 
        }     
      } 
    }
  }
  */
}



function showHideMenuSelection(what)
{
  i = 0;
  while (document.getElementById("menuSelectionItem"+i))
  {
    document.getElementById("menuSelectionItem"+i).style.display = "none";
    i++;
  }
  
  if (document.getElementById(what))
  { 
    document.getElementById(what).style.display = "block";
  }
}

function changeClassActive(fWhichElement)
{
  ft_len = fWhichElement.className.length;
  if (fWhichElement.className.substr(ft_len-7,7) == "_active")
  {
    fWhichElement.className = fWhichElement.className.substr(0,ft_len-7);
  }
  else
  {
    fWhichElement.className = fWhichElement.className + "_active";
  }
}

function setClassActive(fWhichElement)
{
  ft_len = fWhichElement.className.length;
  if (fWhichElement.className.substr(ft_len-7,7) != "_active")
  {
    fWhichElement.className = fWhichElement.className + "_active";
  }
  //alert(fWhichElement.className);
}

function setClassInActive(fWhichElement)
{
  ft_len = fWhichElement.className.length;
  if (fWhichElement.className.substr(ft_len-7,7) == "_active")
  {
    fWhichElement.className = fWhichElement.className.substr(0,ft_len-7);
  }
}


function hasSameValue(f_whichform, f_fieldname, f_fieldname2)
{
  //alert(document.forms[f_whichform].elements[f_fieldname].value);
  if (document.forms[f_whichform].elements[f_fieldname].value == document.forms[f_whichform].elements[f_fieldname2].value)
  { return true; }
  else
  { return false; }
}

function formCheckboxes(whichbox)
{
  if (document.getElementById(whichbox))
  {
    if (document.getElementById(whichbox).checked == true)
    { document.getElementById(whichbox).checked = false; }
    else
    { document.getElementById(whichbox).checked = true; }
  }
}




function checkchars(whichField, MAXLENGTHX)
{
  if (document.getElementById("showChars"))
  {
  	if (whichField.value.length>MAXLENGTHX-1){
  	alert("Maximal " + MAXLENGTHX + " Zeichen erlaubt!")
  	whichField.value = whichField.value.substr(0,MAXLENGTHX);	
  	return false;
  	}
  	document.getElementById("showChars").innerHTML = MAXLENGTHX - whichField.value.length -1;
  }
  else
  { alert("DIV missing: showChars"); }
}




// AJAX
/*
<ul id="comments"></ul>
<script>
strajax = CONST_BASE+"_ajax/ss79_ajax_comment.php?CONST_BASE="+CONST_BASE+"&commentName=FUCK";
getAjaxStuff(strajax, "comments");
</script>
*/
function getAjaxStuff(strUrl,strDivId)
{
  var xmlHttp;
  var strresult = "";
  if ((document.getElementById(strDivId)) || (strDivId == ""))
  {
  //alert(strUrl); alert(strDivId);
    try
      {  xmlHttp=new XMLHttpRequest();  } // Firefox, Opera 8.0+, Safari  
    catch (e)
      {  // Internet Explorer  
      try
        {    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    }
      catch (e)
        {    
        try
          {      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");      }
        catch (e)
          {      alert("Your browser does not support AJAX!");      return false;      }
        }
      }
      xmlHttp.onreadystatechange=function()
        {
          if(xmlHttp.readyState==4)
          { document.getElementById(strDivId).innerHTML =  xmlHttp.responseText; }
        }
      xmlHttp.open("GET",strUrl,true);
      xmlHttp.send(null); 
  }
}




/*
function getAjaxStuff(strPageQuery)
{
  if (strPageQuery.length==0)
  { return; } // abortion
  xmlHttp=GetXmlHttpObject();
  if (xmlHttp==null)
  { alert ("Your browser does not support AJAX!"); return; } 
  var url=strPageQuery+"&sid="+Math.random();
  xmlHttp.onreadystatechange=stateChanged;
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
  alert(stateChanged());   
} 


// AJAX MAIN FUNCTIONS
function stateChanged() 
{ 
  if (xmlHttp.readyState==4)
  { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; }
 // { return xmlHttp.responseText; }
}

function GetXmlHttpObject()
{
  var xmlHttp=null;
  try
    {
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
  catch (e)
    {
    // Internet Explorer
    try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
    catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    }
  return xmlHttp;
} 
*/