/** Standard-JS */


/** Funktion für den Downloadbereich */
function fctGoto(select){
  var URL = select.options[select.selectedIndex].value;
  window.location.href = URL;
}


/** Funktion für die Suche */
function submitQuery(form){
  if((form.searchText.value.length == 0)){
    return false;
  } else {
   return true;
  }
}

/** Funktion für die Experten-Suche */
function submitExpertQuery(form){
  if((form.searchAllWords.value.length < 2) &&
		(form.searchAnyWord.value.length < 2) &&
		(form.searchPhrase.value.length < 2)){
    document.getElementById('expertsearch.error.noSearchText').style.display='block';
    return false;
  } else {
   return true;
  }
}

/** Tooltip Suche und UET-Einblendung*/ 
isMoveToolTip = false;

function createToolTip(url,linktext) { if (linktext=='*uet*'||linktext=='*uet-test*') {
  svu_freq=5;
  svu_service="to_hilfe_neu";
  if (linktext=='*uet-test*'){
   svu_freq=1;
   svu_service="to_hilfe_neu_test";
  }
  document.write('<script type="text/javascript">svu_invitation_check("http://svu2.irquest.com/tonline/invitation.js?service='+svu_service+'&type=layer",'+svu_freq+');</script>');
}
else {
  tipphead = linktext;
  document.write('<a href="',url,'" onclick="return showToolTip(this)">',linktext,'</a>');
}
}

function showToolTip(obj) {
 if (!document.getElementById) {
  return true;
 }
 if (!window.tip) {
   document.getElementById('kopf').innerHTML =document.getElementById('kopf').innerHTML + '<div id="tooltipCon" style="position:absolute;"><table><tr><td class="left"><h1>' +  tipphead 
   + '</h1></td><td><a href="#" onclick="hideToolTip();return false;" title="Schlie&szlig;en">Schlie&szlig;en</a></td></tr></table></div>';
   tip = document.getElementById("tooltipCon");
   tip.innerHTML = tip.innerHTML  + '<div class="tipp">' + unescape(tooltip) + "</div>";
   tip.onmousedown = startMoveToolTip;
   document.body.onmouseup = endMoveToolTip;
   document.body.onmousemove = moveToolTip;
 }
 tip.style.left="500px";
 tip.style.top="170px";
 tip.style.display = "block";
 return false; 
}



function hideToolTip() {
  tip.style.display = "none";
}


function moveToolTip(ereignis) {
  if (!isMoveToolTip) {
    return;
  }
  if (!ereignis) {
    if (window.tip && window.event) {
      tip.style.left = window.event.clientX - 10;      
      tip.style.top = window.event.clientY - 10;
      if (document.body.selection) {
        document.body.selection.text = "";
      }
      if (tip.selection) {
       tip.selection.text = "";
      }
    }
  } else {
    if (window.tip) {
      tip.style.left = ereignis.pageX - 10 + "px;";
      tip.style.top = ereignis.pageY - 10 + "px;";
      if (window.getSelection) {
        window.getSelection().removeAllRanges();
      }      
    }
  }
}

function startMoveToolTip(ereignis) {
  isMoveToolTip = true;
}

function endMoveToolTip(ereignis) {
  isMoveToolTip = false;  
}


/** Ende Tooltip Suche */

function createDownloadSelectBox(selectBox) {
  selectBox =  selectBox.replace(/<h1>/, '<h1 class="title">');
   document.write(selectBox);	
}

function fctPhotogalerie(actID,nextID) {

 var obj = false;
 var nextObj = false;

 if (document.all)  {
      obj =  document.all["image"+actID];
      nextObj =   document.all["image"+nextID];
 } else if (document.getElementById) {
        obj = document.getElementById("image"+actID)
        nextObj = document.getElementById("image"+nextID)
 }

 if (obj) obj.className="nodisplay";
 if (nextObj) nextObj.className="showdisplay";

 }

function fctCreatePrintVersion(ID) {
if (!top.opener ) return;


var secondID = self.location.search.toString().split("=");
 if (secondID.length>1) ID = secondID[1]; else if (!ID) ID = 0;


var doc, content, printDoc
if (document.all) {
printDoc =document.all.printDiv;
if (top.opener.document.all["id"+ID]) doc=top.opener.document.all["id"+ID].offsetParent;
else doc=top.opener.document.body;
} else {
if (document.getElementById) {

printDoc=document.getElementById("printDiv");

if (top.opener.document.getElementById("id"+ID)) {
    doc=top.opener.document.getElementById("id"+ID).parentNode;

    }
else doc=top.opener.document.body;

} }
var content = doc.innerHTML;
content = content.replace(/<(table id=A3|tbody|tr id=A3tr|td id=A3td1|td id=A3td2)[^>]*>/ig,"");
content = content.replace(/<(table id="A3"|tbody|tr id="A3tr"|td id="A3td1"|td id="A3td2")[^>]*>/ig,"");
content = content.replace(/<!-- z --><\/td>(<\/tr>)*(<\/tbody>)*(<\/table>)*/ig,"");

printDoc.innerHTML = content;
setTimeout("window.print()",500);
}




function fctCreateDate(dateformat,language) {
var actDate = new Date();
return myHelper.sprintDate(actDate,dateformat,language);

}

function myError(msg,file,row)
{
 myErrorMsg = "Fehlermeldung:\n"+ msg+"\n"+file+"\n"+row;
 showErrorMsg();
 return true;
}


function showErrorMsg()
{
 if (self.location.href.indexOf("wum")>-1 || self.location.href.indexOf("localhost")>-1 || top.location.href.indexOf("?showError=1")>-1)
    // top.status = window.myErrorMsg;
    alert(window.myErrorMsg)
}



function fctSelectList(value) {
if (!value || value=="") return;
value = value.split("|");
if (value.length>1) {
var modify = value[1].split(",");
switch (modify[0]) {
case "_blank": window.open(value[0],"_blank");break;
case "top": top.location.href=value[0];break;
case "parent": parent.location.href=value[0];break;
default:
if (isNaN(modify[0]) && top.frames[modify[0]])
top.frames[modify[0]].location.href=value[0];
else if (!isNaN(modify[0])) {
//600,500,0,0,1,0,1,printversion
if (modify.length<8) { if (top.frames["mainframe"])
top.frames["mainframe"].location.href=value[0];
else self.location.href=value[0];
}  else {
	fctOpenWin(value[0],modify[0],modify[1],modify[2],modify[3],modify[4],modify[5],modify[6],modify[7])
}

} else if (!top.frames[modify[0]]) self.location.href=value[0];
}

} else if (top.frames["mainframe"])
top.frames["mainframe"].location.href=value[0];
else self.location.href=value[0];

}

/** neu, helper */
function helper() {

this.positionHelper = positionHelper;
this.booleanHelper = booleanHelper;
this.sizeHelper = sizeHelper;
this.getCleanedString = getCleanedString;
this.changeLocationHelper = changeLocationHelper;
this.locationCompareURL = locationCompareURL;
this.monthName = monthName;
this.dateFormat = dateFormat;
this.getLeadingZero = getLeadingZero;
this.strRepeat = strRepeat;
this.weekdayName = weekdayName;
this.sprintDate = sprintDate;
this.fctGetElementsByClassName = fctGetElementsByClassName;

function fctGetElementsByClassName(cssClass,tag,element,part) {
 var elements;
 var returnElements=new Array();
 if (typeof element != "object") element = document;
 if (tag) {
   if (document.all) {
     elements = element.all.tags(tag);
   } else if (document.getElementsByTagName) {
     elements = element.getElementsByTagName(tag);
   }
 } else {
    if (document.all) {
                    elements = element.all;
    } else if (document.childNodes) {
      elements = element.childNodes
    }
 }

alert(elements)
 for (var i=0;i<elements.length;i++) {
  
   if (elements[i].className == cssClass) {
     returnElements[returnElements.length] = elements[i];
   } else if (part && elements[i].className.indexOf(cssClass) > -1) {
     returnElements[returnElements.length] = elements[i];
   }
 }
 return  returnElements;
}

function positionHelper(param,position) {
if (param<0) return 0;
if (window.screen) {
if (param>window.screen.availHeight && position=="top") return 0;
if (param>window.screen.availWidth && position=="left") return 0;
}
return param;
}
function sizeHelper(param,min) {
if (isNaN(min)) min=200;
if (isNaN(param) || param < min) return min;
return param;
}
function booleanHelper(param) {

if (param == 'true') return 1;
if (isNaN(param)) return 0;
if (param<=0) return 0; else return 1;
}
function getCleanedString(param) {
param = String(param).replace(/\W/gi,"");
return param;
}
function changeLocationHelper(url,obj) {
obj.location.replace(url);
}
function locationCompareURL(actURL,newURL) {

return !(actURL==newURL);
}

function monthName(month,language)
{
if (!language) language="de";
var languageArray=new Array();
languageArray["de"]=new Array("Januar","Februar","M&#228;rz","April","Mai","Juni","Juli",
"August","September","Oktober","November","Dezember");
languageArray["en"]=new Array("January","February","March","April","May","June","July",
"August","September","October","November","December");
languageArray["fr"]=new Array("Janvier","F&#233;vrier","Mars","Avril","Mai","Juin","Juillet",
"Ao&#251;t","Septembre","Octobre","Novembre","D&#233;cembre");

if (languageArray[language]) return languageArray[language][month];
else return languageArray["de"][month];
}

function weekdayName(weekday,language,format)
{
if (!language) language="de";
if (!format && format!="long") format = "short";
var languageArray=new Array();
languageArray["de_long"] = new Array("Sonntag", "Montag", "Dienstag","Mittwoch", "Donnerstag", "Freitag", "Samstag");
languageArray["de_short"] = new Array("So", "Mo", "Di","Mi", "Do", "Fr", "Sa");
languageArray["en_long"] = new Array("Sunday", "Monday", "Tuesday","Wednesday", "Thursday", "Friday", "Saturday");
languageArray["en_short"] = new Array("Sun", "Mon", "Tue","Wed", "Thu", "Fri", "Sat");
languageArray["fr_long"]= new Array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi");
languageArray["fr_short"]=new Array("Di", "Lu", "Ma","Me", "Je", "Ve", "Sa");

if (languageArray[language+"_"+format]) return languageArray[language+"_"+format][weekday];
else return languageArray["de_short"][weekday];
}


function strRepeat(actString,actCount) {
actString = String(actString);
var returnString = "";
for (var i=0;i<actCount;i++) returnString+=actString;
return returnString;
}

function getLeadingZero(actNumber,maxLength) {
if (!maxLength) maxLength=1;
actNumber = String(actNumber);
return this.strRepeat(0,maxLength-actNumber.length)+actNumber;

}

function sprintDate(dateobject,format,language) {
var formatList="yDMdhakKHmsSE";
var merker ="";
var result = "";
var pos = 0;
for (var i=0;i<format.length;i++) {
var actChar = format.charAt(i);
if (actChar == "'") {
if (merker!="")  {
result+=this.dateFormat(dateobject,format.substring(pos,i),language);
merker ="";pos = 0;
}
if (format.charAt(i+1)=="'") {result+="'";i++;}
else {
var endEscape = format.indexOf("'",i+1);

if (endEscape ==-1) return result+format.substring(i+1);
else {result+=format.substring(i+1,endEscape);
i=endEscape;}
}
continue;
}
if (formatList.indexOf(actChar)>-1) {
if (merker=="") {merker = actChar;pos=i;}
else if (merker != actChar) {
result+=this.dateFormat(dateobject,format.substring(pos,i),language);
merker ="";pos =0;
}

} else {
if (merker!="")  {
result+=this.dateFormat(dateobject,format.substring(pos,i),language)+actChar;
merker ="";pos =0;
} else result +=actChar;

}
}
if (merker!="")  {
result+=this.dateFormat(dateobject,format.substring(pos,i),language);
merker ="";pos =0;
}
return result;
}

function dateFormat(dateobject,format,language) {


switch (format.charAt(0)) {
case "y": case "D":
var actYear;
if (dateobject.getFullYear) actYear = String(dateobject.getFullYear());
else {
actYear = dateobject.getYear();
if (actYear<999) actYear += 1900;
actYear= String(actYear);
}
if (format.charAt(0) == "y")
return actYear.substr(actYear.length-format.length,format.length);
else {
return this.getLeadingZero(Math.floor(Number(Date.parse(dateobject)-Date.parse(new Date(Number(actYear),0,1))) / 1000 /60/60 / 24),format.length);
}
break;
case "M":
if (format=="MM") return this.getLeadingZero(dateobject.getMonth()+1,2);
else if (format=="MMM") return this.monthName(dateobject.getMonth(),language);
else if (format=="MMMM") return this.monthName(dateobject.getMonth(),language);
else return dateobject.getMonth()+1;
break;
case "d":
return this.getLeadingZero(dateobject.getDate(),format.length);
break;
case "h": case "a":
var actHour = dateobject.getHours();
if (actHour==0) actHour = 24;
if (actHour>12) {
if (format.charAt(0)=="a") return "AM"
else return this.getLeadingZero(actHour-12,format.length);
} else {
if (format.charAt(0)=="a") return "PM"
else return this.getLeadingZero(actHour,format.length);
}
break;
case "k":
var actHour = dateobject.getHours();
if (actHour==0)   actHour = 24;
return this.getLeadingZero(actHour,format.length);
break;
case "K":
var actHour = dateobject.getHours();
if (actHour>11) return this.getLeadingZero(actHour-12,format.length);
else return this.getLeadingZero(actHour,format.length);
break;
case "H":
return this.getLeadingZero(dateobject.getHours(),format.length);
break;
case "m":
return this.getLeadingZero(dateobject.getMinutes(),format.length);
break;
case "s":
return this.getLeadingZero(dateobject.getSeconds(),format.length);
break;
case "S":
return this.getLeadingZero(dateobject.getMilliseconds(),format.length);
break;
case "E": if (format.length<4) return this.weekdayName(dateobject.getDay(),language,"short");
else return this.weekdayName(dateobject.getDay(),language,"long");
break;
}  }  }

function fctGetElementsByClassName(cssClass,tag,element,part) {
 var elements;
 var returnElements=new Array();
 if (typeof element != "object") element = document;
 if (tag) {
   if (document.all) {
     elements = element.all.tags(tag);
   } else if (document.getElementsByTagName) {
     elements = element.getElementsByTagName(tag);
   }
 } else {
    if (document.all) {
                    elements = element.all;
    } else if (document.childNodes) {
      elements = element.childNodes
    }
 }

 for (var i=0;i<elements.length;i++) {  
   if (elements[i].className == cssClass)
       returnElements[returnElements.length] = elements[i];
   else if (part && elements[i].className.indexOf(cssClass) > -1) {
         returnElements[returnElements.length] = elements[i];
   }
  }
 return  returnElements;
}



function fctOpenWin(resource,height,width,top,left,blnScrollbar,blnResizable,blnMenubar,targetname) {

targetname = myHelper.getCleanedString(targetname);

if( targetname=="") targetname = "MyWindow";

height=myHelper.sizeHelper(height);
width=myHelper.sizeHelper(width);
top=myHelper.positionHelper(top,"top");
left=myHelper.positionHelper(left,"left");

blnScrollbar=myHelper.booleanHelper(blnScrollbar);
blnResizable=myHelper.booleanHelper(blnResizable);
blnMenubar=myHelper.booleanHelper(blnMenubar);

if (window.open) {
	F = window.open(resource,targetname,"height="+height+",width="+width+",menubar="+blnMenubar+",resizable="+blnResizable+",scrollbars="+blnScrollbar+",left="+left+",top="+top);

 if (F && F.focus) F.focus();
} else {
  self.location.href=resource;
}
}

myHelper = new helper();

function setEqualHeight()  {
 if (!document.getElementById) return;
 var divs = fctGetElementsByClassName("tab equalHeight", "div");
 if (divs.length > 0) {
   for (var i = 0; i< divs.length; i++) {
     var max = 0;
     var childs =  fctGetElementsByClassName("cell", "div", divs[i],true);
     if (childs.length > 0) {
       for (var j = 0; j < childs.length; j++)  {
         if (parseInt(max) <  parseInt(childs[j].offsetHeight)) {
           max = parseInt(childs[j].offsetHeight) ;
         }
       }
       for (var j = 0; j < childs.length; j++)  {
         //Modul
         var childnext = childs[j].getElementsByTagName("div");
         if(childnext.length > 0) {
           //box_r
           childnext = childnext[0].getElementsByTagName("div");
           if(childnext.length > 0) {
             //box_content
             childhead = fctGetElementsByClassName("box_header", "div", childnext[0], true);
             if(childhead.length > 0) {
               headsize=parseInt(childhead[0].offsetHeight);
             } else {
               headsize=parseInt(25);
             }
             childnext = fctGetElementsByClassName("box_content", "div", childnext[0], true);
             if(childnext.length > 0) {
               childnext[0].style.height = max -headsize - 28 + "px";
             } 
           }
         }	
       }
     }
   }
 }
}

function init() {
  $.ajax({
   type: "GET",
   url: "/hsp/cms/js"
  });
}

