function favtoggle(id) {
  var e=document.getElementById(id);
  if(!e) return false;
  if( e.src.indexOf("newsmax1.png") >0) e.src="img/newsmax0.png";
  else e.src="img/newsmax1.png";
  return false;
}

function mouse_move(e) {

  mousex = (window.Event) ? e.pageX : event.clientX; //IE-Alternative zu pageX bzw. clientx offSetX/scrollTop/Left
  mousey = (window.Event) ? e.pageY : event.clientY;

  if(movebox) {
  	mb=document.getElementById('modalcontent');
	$(mb).css('left', mousex-mb_xdiff);
	$(mb).css('top', mousey-mb_ydiff);
    return false;
  }

}

function init_mouse() {

    if (window.event) {
        if (document.captureEvents){
          document.captureEvents(Event.MOUSEDOWN);
          document.captureEvents(Event.MOUSEUP);
          document.captureEvents(Event.MOUSEMOVE);
          document.captureEvents(Event.MOUSEOVER);
        } else {
          window.captureEvents(Event.MOUSEDOWN);
          window.captureEvents(Event.MOUSEUP);
          window.captureEvents(Event.MOUSEMOVE);
          window.captureEvents(Event.MOUSEOVER);
        }
    }

  document.onmousemove = mouse_move;
  //document.onmouseover = mouse_over;
  document.onmouseup   = mouse_up;
  document.onmousedown = mouse_down;

}

function mouse_up() {
   if(movebox) {movebox=false; return true;}
}

function mouse_down() {
   if(movebox) return false;
}

function moveBox() {
   movebox = true;
   mb=document.getElementById('modalcontent');
   mb_xdiff=mousex-parseInt($(mb).css('left'));
   mb_ydiff=mousey-parseInt($(mb).css('top'));
}

function closeBox() {
  var a=document.getElementById('modalbox');
  var b=document.getElementById('modalcontent');
  if(!a)return true;
  if(!b)return true;
  $(b).remove();
  $(a).remove();
  return true;
}

function doajax(getparams, layerid, formid, mode) {

  // ajaxlayer: ist das element, in dem die ausgabe stattfindet
  // wenn dieser nicht existiert, wird geschaut, ob der parent einen hat, weil wir vielleicht ein iframe sind
  // für die "modalbox" gilt das nicht!!!

  var ajaxlayer = null;
  if(mode!='modalbox') {
  ajaxlayer = document.getElementById(layerid);
  // falls ajaxlayer nicht gefunden wird, suchen wir beim parent (entsteht meist bei iframes)
  if(!ajaxlayer) ajaxlayer = parent.document.getElementById(layerid);
  // wenn immer noch kein gültiger ajaxlayer existiert, wird die anfrage ohne ausgabe ausgeführt:
  if(!ajaxlayer) mode=null;
  }

  // *************************************************************************************************

  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(getparams==null) getparams = '';
    if(mode==null) mode = '';

    if(req!=null) {

      //document.getElementById(layerid).innerHTML = '<img src="fileadmin/tpl/ci/fcload.gif" height="32" width="32">';
      //document.getElementById(layerid).innerHTML = 'Bitte warten...';

      getlayer = ''; if(layerid) getlayer = '&layer='+layerid;
      if(mode=='modalbox') execfile = 'modalbox.php';
      else execfile='index.php';

      req.open('POST', execfile+'?ajax=1'+getlayer+getparams, true);
      req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

	  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

      if(formid) {

      	//AJAX FORM POST, auslesen aller inhalte der formid
      	postparams = '';

		formcomponent = document.getElementById(formid);
		for(i=0; i<formcomponent.elements.length; i++) {

		    if( (formcomponent.elements[i].type=='radio') || (formcomponent.elements[i].type=='checkbox') ) {

				// RADIO, CHECKBOX
				// ACHTUNG: BUG

				if(formcomponent.elements[i].length) {
				for(j=0; j<formcomponent.elements[i].length; j++) {

						// so war es mal früher - das kann doch gar nicht funktionieren???
					   	//if(formcomponent.elements[i][j].checked) postparams+='&'+formcomponent.elements[i][j].name+'='+formcomponent.elements[i][j].name+'='+formcomponent.elements[i][j].value;

					   	// so ist es jetzt eigentlich richtig:
					   	if(formcomponent.elements[i][j].checked) postparams+='&'+formcomponent.elements[i][j].name+'='+formcomponent.elements[i][j].value;
				}}
				else {

					// BUGBEHEBUNG:
					if(formcomponent.elements[i].checked) postparams+='&'+formcomponent.elements[i].name+'='+formcomponent.elements[i].value;

				}

			}

		    else if (formcomponent.elements[i].type=='select') {
		    	// SELECT
		    	// beyond was example from web:
				//var sel = obj.childNodes[i];
	            //getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";

	            // thats my modified code:
	            postparams+='&'+formcomponent.elements[i].name+'='+formcomponent.elements[i].options[formcomponent.elements[i].selectedIndex].value;
		    }

   		    else if (formcomponent.elements[i].type=='file') {
   		    	// FILES
   				postparams+='&'+formcomponent.elements[i].name+'='+formcomponent.elements[i].value;
   		    }

		    else {
			    // TEXT, HIDDEN
				postparams+='&'+formcomponent.elements[i].name+'='+formcomponent.elements[i].value;
		    }

		}

      	req.send(postparams);

      } else {

      	//NORMALER AJAX REFRESH
      	req.send(null);
      }

	  //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

	  // warten prozess kann erst gestartet werden, nachdem die formkompos ausgelesen sind
	  //vwait(1, ajaxlayer, httpdir);

    } // end if req!=null

    req.onreadystatechange = function() {

    switch(req.readyState) {
      case 4:
        if(req.status!=200) {
          ajaxlayer.innerHTML = 'Error while loading sitecontents. Please try again in a few minutes...';
        } else {

        //ajaxMESSAGE = filter(req.responseText,1);
        //ajaxHTML = filter(req.responseText,0);
        ajaxHTML = req.responseText;

          if(mode=='') {
             // wenn ajaxlayer nicht existiert, wird die anfrage ausgeführt, es gibt aber dann keine ausgabe
             if(ajaxlayer) ajaxlayer.innerHTML = ajaxHTML;
          }
          else if(mode=='add') {
          	ajaxlayer.innerHTML = ajaxlayer.innerHTML+ajaxHTML;
          }
          else if(mode=='addbefore') {
          	ajaxlayer.innerHTML =ajaxHTML+ajaxlayer.innerHTML;
          }

          else if(mode=='append') {
             //$(ajaxHTML).appendTo(document.getElementById(layerid));
             //childelement=document.getElementById(layerid);
             //document.childelement.parentNode

          }
          else if(mode=='modalbox') {

			modalbox = '<table cellpadding="0" cellspacing="0" border="0">  <tr> <td class="mb_border_topleft"></td><td class="mb_border_top"></td><td class="mb_border_topright"></td> </tr>  <tr> <td class="mb_border_left"><div style="width:15px;"></div></td><td class="mb_innercontent"><div id="mb_requestplace"> </div></td><td class="mb_border_right"><div style="width:15px;"></div></td> </tr>  <tr> <td class="mb_border_bottomleft"></td><td class="mb_border_bottom"></td><td class="mb_border_bottomright"></td> </tr>  </table>';
			           $('<div id="modalbox"></div><div id="modalcontent">'+modalbox+'</div>').appendTo('body');

          	document.getElementById('mb_requestplace').innerHTML = ajaxHTML;

			//modalbox ausrichten:

			postop = mousey-100;
			if(postop<10) postop = 20;

			posleft = mousex-450/2;
			if(posleft<20) posleft = 20;

			if( (posleft+450) > (window.screen.width-80) ) posleft=window.screen.width-80-450;

	         $(document.getElementById('modalcontent')).css('left', posleft);
	         $(document.getElementById('modalcontent')).css('top', postop);

          }
          else if(mode=='del') {
		     $(ajaxlayer).remove();
          }
          else if(mode='remove') {
		     $(ajaxlayer).remove();
          }

        }

     break;
     default:
     return false;
     break;
     }};

}

function openPrint(path)
{
        window.open(path,"print","width=700,height=500,scrollbars=yes,toolbar=yes,resizeable=yes,status=yes");
}

function openMail(path)
{
        window.open(path,"mail","width=500,height=400");
}

function toggle(a){
  var e=document.getElementById(a);
  if(!e)return true;
  if(e.style.display=="none"){
    e.style.display="block"
  } else {
    e.style.display="none"
  }
  return true;
}

function toggle_on(a, bg_element, bg_color){

  var e=document.getElementById(a);
  if(!e)return true;
  e.style.display="block";

  if(bg_element) {
    var be=document.getElementById(bg_element);
    if(!be)return true;
    be.style.background=bg_color;
  }
  return true;
}

function toggle_off(a, bgelement, bg){
  var e=document.getElementById(a);
  if(!e)return true;
  e.style.display="none"
  return true;
}

function changebox(oldbox, newbox){
  var e=document.getElementById(oldbox);
  var f=document.getElementById(newbox);
  if(!e)return true;
  if(!f)return true;
  e.style.display="none"
  f.style.display="block"
  return true;
}

function togglemenu(a){
  var e=document.getElementById(a);
  var b=document.getElementById(a+"_pic");

  if(!e)return true;
  if(e.style.display=="none"){
    e.style.display="block";
    b.src="img/button_up.gif"
  } else {
    e.style.display="none";
    b.src="img/button_down.gif"
  }
  return true;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var secs
var timerID = null
var timerRunning = false
var delay = 1000

function BeginUpload(xtime)
{
    secs = xtime
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        uploaddialog.style.display="none"
        overviewdialog.style.display="block"
    }
    else
    {
        self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

var movebox=false;
init_mouse();