//global vars
var opera = window.opera;
var ie4 = document.all;
var doc = document;
var offsetX = 10;
var offsetY = -5;
var innerLayer,layer,x,y;
var doWheel = false;
// automatisches selectfield
function temp_switch(){
  var url = doc.form.tempswitch.options[doc.form.tempswitch.selectedIndex].value;
  
  if(url != 'lazy') window.location.href = url;
}
// Userliste wechseln
function switchuser(){
  var url = doc.formChange.changeme.options[doc.formChange.changeme.selectedIndex].value;
  window.location.href = url
}
// Zur URL wechseln
function goTo(url,n)
{
  if(n==1)window.open(url);
  else window.location.href = url
}
//Länge bei Texteingaben
function maxlength(field, countfield, max) {
	if (field.value.length > max)
	field.value = field.value.substring(0, max);
	else
	countfield.value = max - field.value.length;
}
//TSViewer
function swindow()
{
  window.open("joinus.php","JoinUs" + new Date().getTime(),"toolbar=0,status=0,menubar=0,scrollbars=0,resizable=0,width=420,height=360")
}
//Popup
function popup(vars,x,y)
{
  var object="../popup.php?"+vars;
  y = y+50;
  
  pUP = window.open(object,"Popup" + new Date().getTime(),"width=1,height=1,location=0,scrollbars=0,resizable=1,status=0");
  pUP.resizeTo(x,y);
  pUP.moveTo((screen.width-x)/2,(screen.height-y)/2);
  pUP.focus();
}
//Klapptext
function more(id)
{
  if(id == 0) return;
  else {
    if ($("more" + id).style.display == 'none')
    {
    	$("img" + id).src = "../inc/images/collapse.gif";
    	$("more" + id).style.display = "";
    } else {
      $("img" + id).src = "../inc/images/expand.gif";
    	$("more" + id).style.display = "none";
    }
  }
}
//Klapptext #2
function showme()
{
  if($("showme").style.display == 'none') $("showme").style.display = "";
  else                                    $("showme").style.display = "none";
}
//Popupfenster erzeugen
function w(url,name,w,h,scroll)
{
  LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
  TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
  settings='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
  win = window.open(url,name + new Date().getTime(),settings);
}
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
//Ein-/Ausblenden von textfelder values
function nereidFade(object, destOp, rate, delta)
{
  if (!doc.all)
  return
  if (object != "[object]")
  {
    setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
    return;
  }

  clearTimeout(nereidFadeTimers[object.sourceIndex]);
  diff = destOp-object.filters.alpha.opacity;
  direction = 1;

  if (object.filters.alpha.opacity > destOp)
  {
    direction = -1;
  }
  delta=Math.min(direction*diff,delta);
  object.filters.alpha.opacity+=direction*delta;

  if (object.filters.alpha.opacity != destOp)
  {
    nereidFadeObjects[object.sourceIndex]=object;
    nereidFadeTimers[object.sourceIndex] = setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
  }
}

function showInfo(info, longer) 
{
  var ie4 = document.all;
  var opera = window.opera;
  if(longer == 1) l = 'style="width:440px;padding:2px"';
  else l = '';
  layer.innerHTML =
    '<div id="hDiv" style="position:absolute;top:0px;left:0px"><table class="hperc" cellspacing="0" style="height:100%"><tr><td style="vertical-align:middle"><div id="infoInnerLayer" '+l+'><table class="hperc" cellspacing="0">'+info+'</table></div></td></tr></table></div>';

//IE Fix
  if(ie4 && !opera)
  {
    var dW = $('hDiv').clientWidth;
    var dH = $('hDiv').clientHeight;
  
    layer.innerHTML += '<iframe id="ieFix" style="width:'+dW+'px;height:'+dH+'px"></iframe>'
  }
  
  layer.style.visibility = 'visible';
}

function showXFire(id) 
{
  var ie4 = document.all;
  var opera = window.opera;
  layer.innerHTML =
    '<div id="hDiv"><table class="hperc" cellspacing="0" style="height:100%"><tr><td style="vertical-align:middle"><div id="infoInnerLayer"><img src="http://de.miniprofile.xfire.com/bg/bg/type/0/'+id+'.png" alt="" /></div></td></tr></table></div>';

//IE Fix
  if(ie4 && !opera)
  {
    var dW = $('hDiv').clientWidth;
    var dH = $('hDiv').clientHeight;
  
    layer.innerHTML += '<iframe id="ieFix" style="width:'+dW+'px;height:'+dH+'px"></iframe>'
  }
  
  layer.style.visibility = 'visible';
}

function hideInfo()
{
  layer.innerHTML = '';
  layer.style.visibility   = 'hidden';
}
function trackMouse(e) 
{
  innerLayer = document.getElementById('infoInnerLayer');
  if(typeof(layer) == 'object')
  {
    var ie4 = document.all;
    var ns6 = document.getElementById && !document.all;
    var mLeft = 5;
    var mTop = -15;
  
  	x = (ns6) ? e.pageX-mLeft : window.event.clientX+doc.documentElement.scrollLeft - mLeft;
  	y = (ns6) ? e.pageY-mTop  : window.event.clientY+doc.documentElement.scrollTop  - mTop;
    
    if(innerLayer)
    {
    	var layerW = ((ie4) ? innerLayer.offsetWidth : innerLayer.clientWidth) - 3;
      var layerH = (ie4) ? innerLayer.offsetHeight : innerLayer.clientHeight;

    } else {
    	var layerW = ((ie4) ? layer.clientWidth : layer.offsetWidth) - 3;
      var layerH = (ie4) ? layer.clientHeight : layer.offsetHeight;
    }
    	var winW   = (ns6) ? (window.innerWidth) + window.pageXOffset - 12 
                 : doc.documentElement.clientWidth + doc.documentElement.scrollLeft;
    	
    	var winH   = (ns6) ? (window.innerHeight) + window.pageYOffset 
                 : doc.documentElement.clientHeight + doc.documentElement.scrollTop;

      layer.style.left = ((x+offsetX+layerW >= winW-offsetX) ? x-(layerW+offsetX) : x+offsetX) + "px";
      layer.style.top = ((y+offsetY+layerH >= winH-offsetY) ? winH-(layerH+offsetY) : y+offsetY) + "px";
  } 
	return true;
}

//Image Resizer
function resizeImages()
{
	for(var i=0;i<doc.images.length;i++)
  {
    var d = doc.images[i];
    
    if(d.className == 'content')
    {
  	  var imgW = d.width;
  	  var imgH = d.height;
  
  	  if(maxW != 0 && imgW > maxW)
      {
   		  d.width = maxW;
  		  d.height = Math.round(imgH * (maxW / imgW));
  
  		  if(!linkedImage(d))
        {
          var textLink = doc.createElement("span");
  			  var popupLink = doc.createElement("a");
  
          textLink.appendChild(doc.createElement("br"));
          textLink.setAttribute('class', 'resized');
          textLink.appendChild(doc.createTextNode('auto resized to '+d.width+'x'+d.height+' px'));
  
          popupLink.setAttribute('href', 'javascript:popup(\'img='+d.src+'\','+imgW+','+imgH+')');
          popupLink.appendChild(d.cloneNode(true));
           
          d.parentNode.appendChild(textLink);
  			  d.parentNode.replaceChild(popupLink, d);
  		  }
      }
    }
	}
}

function linkedImage(node) 
{
	do {
		node = node.parentNode;
		if (node.nodeName == 'A') return true;
	}
	while(node.nodeName != 'TD' && node.nodeName != 'BODY');
  
	return false;
}
//Ajax Calendarswitch
function calSwitch(m,y)
{
  pars = '&month='+m+'&year='+y;
  var myAjax = new Ajax.Updater('navKalender', '../inc/global.php?i=kalender'+pars, {method: 'get'});
}
//Ajax Teamswitch
function teamSwitch(obj)
{
  pars = '&tID='+obj;
  var myAjax = new Ajax.Updater('navTeam', '../inc/global.php?i=teams'+pars, {method: 'get'});
}
//Ajax Preview
function ajaxPreview(form)
{
  if(form == 'cwForm') 
    addpars = '&s1='+$('screen1').value+'&s2='+$('screen2').value+'&s3='+$('screen3').value+'&s4='+$('screen4').value;
  else addpars = '';

  var url = prevURL;
  var pars = Form.serialize(form)+addpars;

  $('previewDIV').innerHTML = '<div style="width:100%;text-align:center">'
                             +' <img src="../inc/images/admin/loading.gif" alt="" />'
                             +'</div>';

  var myAjax = new Ajax.Updater('previewDIV', url, {method: 'post', postBody: pars});
}
//Filebrowser
function fileBrowser()
{
  h = screen.height;
  w = 768;
  Lpos = (screen.width)?(screen.width-w)/2:100;
  Tpos = 0;
  settings = "width="+w+",height="+h+",location=0,scrollbars=1,resizable=1,status=0";
  
  win = window.open('filebrowser.php', 'Filebrowser', settings);
}
//Confim before delete
function delCheck(txt,url)
{
  txt = txt.replace(/\+/g,' ');
  txt = txt.replace(/oe/g,'ö');
  
  check = confirm(txt+'?');
  
  if(check == true)
    this.location.href = url;
}
// Search form -> hide some checkboxes
function hideForumFirst()
{
  $('allkat').checked = false;
}
function hideForumAll()
{
	for(var i = 0; i < doc.forms['search'].elements.length; i++)
	{ 
		var box = doc.forms['search'].elements[i];
    
    if(box.id.match(/k_/g))
		  box.checked = false;
	}
}
// Google Maps API  
function googleAPI(overlay)
{
// initialize
  map = new GMap2(document.getElementById("memberMap")); 
  map.addControl(new GLargeMapControl()); 
  map.addControl(new GMapTypeControl()); 
// functions needed
  function initMember(point,userInfo,team) 
  { 
    var icon = new GIcon(); 

    if(team == 1) icon.image = '../inc/images/mappin_team.png'; 
    else icon.image = '../inc/images/mappin.png'; 
    
    icon.iconSize = new GSize(20, 34); 
    icon.iconAnchor = new GPoint(10, 32); 
    icon.infoWindowAnchor = new GPoint(10, 2); 
    
    var marker = new GMarker(point,icon); 
    GEvent.addListener(marker, "mouseover", function() { showInfo(userInfo); }); 
    GEvent.addListener(marker, "mouseout", function() { hideInfo(); }); 
    GEvent.addListener(marker, "click", function() { hideInfo();map.showMapBlowup(marker.getPoint(),5); }); 
    map.addOverlay(marker); 
  }

  function initWheel()
  {
    $('memberMap').onmouseover = function() { doWheel = true; };
    $('memberMap').onmouseout =  function() { doWheel = false; };
  }

  function handle(delta) 
  {
   	var s = '';
   	if (delta < 0) s += "down";
   	else           s += "up";
   	if(s == "down") map.zoomOut();
   	if(s == "up")   map.zoomIn();
  }

  function wheel(event)
  {
    if(doWheel == true)
    {
     	var delta = 0;
     	if (!event) event = window.event;
     	if (event.wheelDelta) 
      {
     		delta = event.wheelDelta/120;
     		if (window.opera) delta = -delta;
     	} else if (event.detail) delta = -event.detail/3;
    	if (delta) handle(delta);
    }
  }
  var mt = map.getMapTypes(); 
  for (var i=0; i<mt.length; i++) { 
    mt[i].getMinimumResolution = function() {return 4;}; 
    mt[i].getMaximumResolution = function() {return 17;}; 
  } 

  map.setCenter(new GLatLng(51.200000, 12.50000), 6); 
  /*map.setMapType(G_HYBRID_MAP);*/ 
  new GKeyboardHandler(map);
// initialize overlays

  eval(overlay);
// start scroll event
  window.onmousewheel = document.onmousewheel = wheel;map.addControl(new GMapTypeControl());          
  addEvent(window,'DOMMouseScroll',wheel);
  initWheel();
  _mMapCopy = '';
}
//initPage
function initPage()
{
//Infolayer initialisieren
  document.body.id = 'dzcp-engine';
  var div=doc.createElement('div');
      div.setAttribute('id','infoDiv');
  doc.body.appendChild(div);

	layer = $('infoDiv');
	doc.body.onmousemove = trackMouse;
//Klapptexte initialisieren
  var tag=document.getElementsByTagName("img");
  for(var i=0;i<tag.length;i++)
    if(tag[i].className=="cliptext")
      tag[i].id = tag[i].name;
}
//Load global events
addEvent(window, 'load', initPage);
addEvent(window, 'load', resizeImages);
onerror = function() { return true; };