// Browserweiche
IE = document.all&&!window.opera;
DOM = document.getElementById&&!IE;

// Variablen für die Mausposition
var mouseX = 0; // x-Koordinate
var mouseY = 0; // y-Koordinate


/* Body-Objekt des IE ermitteln (abhängig, ob IE im Quirks- oder Standardmode*/
function getBody(){
  // Entsprechendes Bodyobjekt zurückgeben (CSS1Compat = Standardmode
  return (window.document.compatMode == "CSS1Compat") ?
          window.document.documentElement : window.document.body || null;
}

var ieBody = null;

// Funktion zum Initialisierung, die in onload aufgerufen wird
function init(){
  document.onmousemove = getMousePos; // Mausposition ermitteln

  // Falls es sich um einen IE handelt
  if(IE)
    ieBody = getBody(); // Bodyobjekt für IE ermitteln
}

// Funktion zum Ermitteln der Mausposition
function getMousePos(ereignis){
  // Aktuelle Mauskoordinaten bei Mausbewegung ermitteln
  mouseX = (IE) ? window.event.clientX : ereignis.pageX;
  // Mauskoordinate im Body auch nach Scrollen (Wert ist evtl. höher im IE)
  mouseY = (IE) ? (window.event.clientY + ieBody.scrollTop) : ereignis.pageY;
  // Mauskoordinate im Fenser (ohne Scrollen im IE)
  //mouseY = (IE) ? window.event.clientY : ereignis.pageY;
}

function getMouseX(ereignis) {
	mouseX = (IE) ? window.event.clientX : ereignis.pageX;
	return mouseX;
}

function getMouseY(ereignis) {
	mouseY = (IE) ? (window.event.clientY + ieBody.scrollTop) : ereignis.pageY;
	return mouseY;
}


function colorWhite(element)
{
	element.style.backgroundColor="#ffffff";
}
function getChat()
{
	getAjax_HTML("chatcontent","./index.php?module=chat&fuseaction=ajx_get",false);
}

function setChat()
{
	if(document.getElementById("chattext").value=="")
	{
		return false;
	}
	text=escape(document.getElementById("chattext").value);
	getAjax_HTML("chatcontent","./index.php?module=chat&fuseaction=ajx_set&chat_text="+text,false);
	document.getElementById("chattext").value="";
}

function search_faq()
{
	var source="module/faq/fuseaction/ajx_searchresults/";
	if(document.getElementById("questions").checked)
		source=source+"questions/1/";
	if(document.getElementById("answers").checked)
		source=source+"answers/1/";
	if(document.getElementById("search").value.length>0)
	{
		source=source+"search/"+document.getElementById("search").value;
	}
	else 
	{
		alert("Bitte Suchstring angeben!");
		return false;
	}
	getAjax_HTML("maincontent","/index/"+source);
}
function showLayer(id){
	var status=document.getElementById(id).style.display
	if(status=="none")
	{
		document.getElementById(id).style.display="";
	}
	else
	{
		document.getElementById(id).style.display="none";
	}
}
	
function hideOverlay(type,source) {
	document.getElementById("overlay").style.display="none";
	/*document.getElementById("diffuser").style.display="none";*/
	
}	
function showOverlay(type,source) {
	
	/*document.getElementById("diffuser").style.display="";*/
	
	document.getElementById("overlay").style.top=(mouseY-250)+"px";
	document.getElementById("overlay").style.left=(mouseX-150)+"px";
	if(type=="url")
	{
		getAjax_HTML("overlay","/index/"+source);
	}

	if(type=="text")
	{
		document.getElementById("overlay").innerHTML=source;
	}
	
	document.getElementById("overlay").style.display="";
	
}
   function currencyFormat(orgval)
   {
      // fs Formated String (fs)
      var fs="";
      // cc Current Character (Needed while Loop)
      var cc;
      // See if string is a Number
         orgval=eval(orgval*1);
         orgval=orgval+"";
         while(orgval.length > 0)
         {
            if(orgval.length >3)
            {
               cc=orgval.substr(orgval.length-3,3); 
               orgval=orgval.slice(0,orgval.length-3);
               fs="."+cc+fs;
            }
            else
            {
               fs=orgval+fs;
               orgval="";
            }
         
         }	
         // if € Symbol is needed
         fs=fs+" €"
         return(fs);
   }
   
   function ajaxGetRequest(url) {
      var xmlHttp = null;

      // Mozilla, Opera, Safari sowie Internet Explorer 7
      if (typeof XMLHttpRequest != "undefined") {
          xmlHttp = new XMLHttpRequest();
      }
      if (!xmlHttp) {
          // Internet Explorer 6 und älter
          try {
              xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
          } catch(e) {
              try {
                  xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
              } catch(e) {
                  xmlHttp  = null;
              }
          }
      }
      if (xmlHttp) {
          xmlHttp.open("GET", url, false);
          xmlHttp.send(null);

          if(xmlHttp.readyState == 4) {
               if(xmlHttp.responseXML.hasChildNodes()) {
                  var xmlDocument=xmlHttp.responseXML;}
               else {
                  var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
                  xmlDocument.loadXML(xmlHttp.responseText);
               }
               return(xmlDocument);
				}


      }
   }
   
   function valDate(year,month,day)
   {
      if(year.length > 4) {
         return false;}
      
      var m_strDate=month + "/" + day + "/" + year;
      var testDate=new Date(m_strDate);
      
      if(testDate.getMonth()+1==month){
         return true;} 
      else{
         return false;}
	}
   
   function daysInMonth(iMonth, iYear)
   {
      iMonth=iMonth-1;
      return 32 - new Date(iYear, iMonth, 32).getDate();
   }
   
   function confirmDelete(url, entry)
   {
        
         
		note = "Do you really want to delete the following entry?\n" + entry;
		check = confirm(note);
		if (check == true) {
         window.location = url;}
	}
   
   flagError=false;
   errorMsg="The entered data could not be submitted.\nThe following error(s) occured:\n";
   
   function checkForm()
	{
      
	   flagError=false;
      errorMsg="The entered data could not be submitted.\nThe following error(s) occured:\n";
      
      var RE_INTEGER = /^[0-9]{1,}$/;
		
      var items=document.getElementsByTagName("select");
      
      for (var i=0; i <items.length; i++) {
         if(items[i].disabled == false) {
            if(items[i].getAttribute("fcr") == 1 && items[i].value == 0 ) {
               flagError=true;
               errorMsg=errorMsg + "\n- Please choose a " + items[i].getAttribute("fcn") + ".";
            }
         }
      }
      
      
      var items=document.getElementsByTagName("input");
      
      for (var i=0; i <items.length; i++) {
         if(items[i].disabled == false) {
            if(items[i].getAttribute("fcr") && items[i].getAttribute("fct") == "int" && !RE_INTEGER.test(items[i].value)) {
               if(items[i].value.length==0) {
                  items[i].value=0;
               } else {
                  flagError=true;
                  errorMsg=errorMsg + "\n- " + items[i].getAttribute("fcn") + ": Please enter a valid integer.";
               }
            }
            
            if(items[i].getAttribute("fcr") && items[i].getAttribute("fct") == "varchar" && items[i].value.length == 0) {
               flagError=true;
               errorMsg=errorMsg + "\n- " + items[i].getAttribute("fcn") + ": Please enter a valid text.";
            }
            
            if(items[i].getAttribute("fcr") && items[i].getAttribute("fct") == "date") {
               
               var day=items[i].value;
               var month=document.getElementById(items[i].id.substr(0,items[i].id.length-2)+"mm").value;
               var year=document.getElementById(items[i].id.substr(0,items[i].id.length-2)+"yyyy").value;
               
               if(items[i].getAttribute("fcr") == 1  || day.length > 0 || month.length > 0 || year.length > 0) {
                  if(!valDate(year,month,day)) {
                     flagError=true;
                     errorMsg=errorMsg + "\n- " + items[i].getAttribute("fcn") + ": Please enter a valid date.";
                  }
               }
            }
            
            if(items[i].getAttribute("fcr") && items[i].getAttribute("fct") == "decimal" && (isNaN(items[i].value.replace(/,/,".")) || items[i].value.length == 0)) {
               flagError=true;
               errorMsg=errorMsg + "\n- " + items[i].getAttribute("fcn") + ": Please enter a valid amount.";
            }
            
            if(items[i].getAttribute("fcr") && items[i].getAttribute("fct") == "file" && items[i].value.length == 0) {
               flagError=true;
               errorMsg=errorMsg + "\n- " + items[i].getAttribute("fcn") + ": Please select a valid file.";
            }
         }
      }
      
      if(typeof checkFormLocal == "function") {
            checkFormLocal();}
      
      if(flagError == false) {
            return true;}
         else {
            alert(errorMsg);
            return false;
         }
   }
   
   
function hiddentextShow()
{
	document.getElementById("hiddentext").style.display="";
	document.getElementById("hiddentext_holder").style.display="none";
}
function hiddentextHide()
{
	document.getElementById("hiddentext").style.display="none";
	document.getElementById("hiddentext_holder").style.display="";
}
   
function getAjax_HTML(id,url,format){
	//hiddentextShow();
   var req = null;
   try{
      req = new XMLHttpRequest();
   }
   catch (ms)
   {                    
      try{
         req = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (nonms)
    {                        
      try{
         req = new ActiveXObject("Microsoft.XMLHTTP");
      }                         
      catch (failed)
      {
          req = null;                        
      }                    
    }                  
  }                

  if (req == null) {                      
      alert("Error creating request object!");
  } 
  //anfrage erstellen (GET, url ist localhost,                  
  //request ist asynchron
  url=url+"/id/"+id
  req.open("GET", url, true);   
  
  req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");               
  req.send(null);
  
  req.onreadystatechange = function(){                                
  
     switch(req.readyState) {                            
	   case 4:                            
         if(req.status!=200) {                                
           /* alert("Fehler:"+req.status); */
	     }else{                                    
            
            //schreibe die antwort  
            
		   cnt=req.responseXML.getElementsByTagName("line").length;
		   i=1;
		   content=req.responseXML.getElementsByTagName("line")[0].firstChild.nodeValue;
		   while(i<cnt) {
			  content=content+req.responseXML.getElementsByTagName("line")[i].firstChild.nodeValue;
			  i++;
			  
		   }
		   

			  content=content.replace(/EURO/g,"&euro;");
			  content=unescape(content) ;
			  if(content!="undefined")
				document.getElementById(id).innerHTML =content;
			  //hiddentextHide();
		   }
                                     
      break;                                                
      default:                                
         return false;                            
      break;                             
      }                    
  };                    
 
  
}

function postAjax_HTML(id,url,vars){
   var req = null;
   try{
      req = new XMLHttpRequest();
   }
   catch (ms)
   {                    
      try{
         req = new ActiveXObject("Msxml2.XMLHTTP");
     }
     catch (nonms)
    {                        
      try{
         req = new ActiveXObject("Microsoft.XMLHTTP");
      }                         
      catch (failed)
      {
          req = null;                        
      }                    
    }                  
  }                

  if (req == null) {                      
      alert("Error creating request object!");
  } 
  //anfrage erstellen (POST, url ist localhost,                  
  //request ist asynchron
  strData = "";
   for (i = 0; i < vars.length; i++) {
      if (i != 0) {
         strData+= "&";
      }
      strData+= vars[i][0] + "=" + escape(vars[i][1]);
   }
  req.open("POST", url, true);   
  req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
   req.setRequestHeader("Content-length", strData.length);
   req.send (strData);
  req.onreadystatechange = function(){                                
      switch(req.readyState) {                            
      case 4:                            
         if(req.status!=200) {                                
            alert("Fehler:"+req.status);                             
         }else{                                    
            
            //schreibe die antwort  
            
               cnt=req.responseXML.getElementsByTagName("line").length;
               i=1;
               content=req.responseXML.getElementsByTagName("line")[0].firstChild.nodeValue;
               while(i<cnt) {
                  content=content+req.responseXML.getElementsByTagName("line")[i].firstChild.nodeValue;
                  i++;
                  
               }
               
               if (nodetype=="DIV") {
                     content=content.replace(/EURO/g,"&euro;");
                     content=unescape(content) ;
                     
                     document.getElementById(id).innerHTML=content
               } else {
                  document.getElementById(id).parentNode.parentNode.innerHTML =content;
               }
               
               /*document.getElementById(id).parentNode.parentNode.innerHTML=\'<div><table><tbody id="list"><tr><th>&nbsp;</th><th>KVA Nummer</th><th>Projekt Nummer / Projekt-Name</th></tr><tr><td class="row1"><input type="radio" name="file_id" value="1990" onclick="check(this.value);"/></td><td class="row1">75103</td><td class="row1">70705 / Mailing "SD Card - Fujitsu Siemens Computers und NetApp"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1992" onclick="check(this.value);"/></td><td class="row2">75104</td><td class="row2">70705 / Mailing "SD Card - Fujitsu Siemens Computers und NetApp"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1589" onclick="check(this.value);"/></td><td class="row1">75075</td><td class="row1">70559 / Animation "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1597" onclick="check(this.value);"/></td><td class="row2">75076</td><td class="row2">70547 / Einladungsmailing "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1490" onclick="check(this.value);"/></td><td class="row1">75064</td><td class="row1">70537 / Flyer "Innovation"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1656" onclick="check(this.value);"/></td><td class="row2">75080</td><td class="row2">70537 / Flyer "Innovation"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1488" onclick="check(this.value);"/></td><td class="row1">75063</td><td class="row1">70536 / Poster "Innovation"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1534" onclick="check(this.value);"/></td><td class="row2">75069</td><td class="row2">70515 / Anzeigen "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1702" onclick="check(this.value);"/></td><td class="row1">75083</td><td class="row1">70514 / Online-Banner "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1612" onclick="check(this.value);"/></td><td class="row2">75078</td><td class="row2">70511 / Poster "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1610" onclick="check(this.value);"/></td><td class="row1">75077</td><td class="row1">70510 / Endkunden-Broschüre "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1538" onclick="check(this.value);"/></td><td class="row2">75070</td><td class="row2">70509 / Set Cards "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1614" onclick="check(this.value);"/></td><td class="row1">75079</td><td class="row1">70508 / Fahne "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1568" onclick="check(this.value);"/></td><td class="row2">75073</td><td class="row2">70507 / Angebotsblätter "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1566" onclick="check(this.value);"/></td><td class="row1">75072</td><td class="row1">70506 / Angebotsmappe "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1564" onclick="check(this.value);"/></td><td class="row2">75071</td><td class="row2">70505 / Händler-Broschüre "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1582" onclick="check(this.value);"/></td><td class="row1">75074</td><td class="row1">70504 / Rucksack "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1530" onclick="check(this.value);"/></td><td class="row2">75067</td><td class="row2">70503 / Key Visual "X-Selling"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1532" onclick="check(this.value);"/></td><td class="row1">75068</td><td class="row1">70503 / Key Visual "X-Selling"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="1225" onclick="check(this.value);"/></td><td class="row2">75048</td><td class="row2">70462 / Sales Advisor "PRIMERGY and PRIMEQUEST"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="1026" onclick="check(this.value);"/></td><td class="row1">75034</td><td class="row1">70346 / T-Shirt Innovation</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="947" onclick="check(this.value);"/></td><td class="row2">75033</td><td class="row2">70254 / Fahne "Innovation"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="795" onclick="check(this.value);"/></td><td class="row1">75014</td><td class="row1">70238 / Kontaktkarten "Hochschulmarketing"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="698" onclick="check(this.value);"/></td><td class="row2">75012</td><td class="row2">70186 / Poster "Professional Services - Consulting"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="493" onclick="check(this.value);"/></td><td class="row1">68101</td><td class="row1">62115 / Sales Advisor "Business Clients – CeBIT 2007", Englische Version</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="506" onclick="check(this.value);"/></td><td class="row2">75001</td><td class="row2">62115 / Sales Advisor "Business Clients – CeBIT 2007", Englische Version</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="448" onclick="check(this.value);"/></td><td class="row1">68098</td><td class="row1">62111 / Whitepaper "Bladeframe"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="190" onclick="check(this.value);"/></td><td class="row2">68063</td><td class="row2">62060 / Sales Advisor "Business Clients" - Herbst 2006</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="192" onclick="check(this.value);"/></td><td class="row1">68064</td><td class="row1">62060 / Sales Advisor "Business Clients" - Herbst 2006</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="220" onclick="check(this.value);"/></td><td class="row2">68070</td><td class="row2">62060 / Sales Advisor "Business Clients" - Herbst 2006</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="168" onclick="check(this.value);"/></td><td class="row1">68060</td><td class="row1">62053 / Cheat Sheet "AMILO"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="294" onclick="check(this.value);"/></td><td class="row2">68073</td><td class="row2">62053 / Cheat Sheet "AMILO"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="166" onclick="check(this.value);"/></td><td class="row1">68059</td><td class="row1">62052 / Cheat Sheet "Follow me TV"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="164" onclick="check(this.value);"/></td><td class="row2">68058</td><td class="row2">62051 / Katalog "Accessories for Professional Mobile Devices"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="148" onclick="check(this.value);"/></td><td class="row1">68054</td><td class="row1">62045 / Set Cards</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="146" onclick="check(this.value);"/></td><td class="row2">68053</td><td class="row2">62044 / Poster</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="144" onclick="check(this.value);"/></td><td class="row1">68052</td><td class="row1">62043 / Deckenhänger</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="66" onclick="check(this.value);"/></td><td class="row2">68021</td><td class="row2">62027 / Anzeige "Fit for Job"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="68" onclick="check(this.value);"/></td><td class="row1">68022</td><td class="row1">62027 / Anzeige "Fit for Job"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="70" onclick="check(this.value);"/></td><td class="row2">68023</td><td class="row2">62027 / Anzeige "Fit for Job"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="76" onclick="check(this.value);"/></td><td class="row1">68026</td><td class="row1">62027 / Anzeige "Fit for Job"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="78" onclick="check(this.value);"/></td><td class="row2">68027</td><td class="row2">62027 / Anzeige "Fit for Job"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="80" onclick="check(this.value);"/></td><td class="row1">68028</td><td class="row1">62027 / Anzeige "Fit for Job"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="42" onclick="check(this.value);"/></td><td class="row2">68014</td><td class="row2">62022 / Set Card  "Pocket LOOX N100"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="44" onclick="check(this.value);"/></td><td class="row1">68015</td><td class="row1">62022 / Set Card  "Pocket LOOX N100"</td></tr><tr><td class="row2"><input type="radio" name="file_id" value="23" onclick="check(this.value);"/></td><td class="row2">68007</td><td class="row2">62011 / Flyer "Wettbewerber-Informationen"</td></tr><tr><td class="row1"><input type="radio" name="file_id" value="13" onclick="check(this.value);"/></td><td class="row1">68005</td><td class="row1">62005 / Set Card "MYRICA V32-1 - Deutsch"</td></tr></tbody></table></div>\';*/
            
         }                            
      break;                                                
      default:                                
         return false;                            
      break;                             
      }                    
  };                    
           
}