//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)
{
  var tag=document.getElementsByTagName("textarea");
  for(var i=0;i<tag.length;i++)
  {
    var thisTag = tag[i].className;
    var thisID = tag[i].id;
    if(thisTag=="editorStyle" || thisTag=="editorStyleWord" || thisTag=="editorStyleNewsletter")
    {
      var inst = tinyMCE.getInstanceById(thisID);
      $(thisID).value = inst.getBody().innerHTML;
    }
  }

  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();
}
//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;
}
//Ajax Vote
function ajaxVote(id)
{
  sendMe('contentSubmitVote')
  var pars = Form.serialize('navAjaxVote');
  var myAjax = new Ajax.Updater('navVote', '../votes/index.php?action=do&ajax=1&what=vote&id='+id,{method: 'post', postBody: pars});
}
//Load global events
addEvent(window, 'load', initPage);
addEvent(window, 'load', resizeImages);
onerror = function() { return true; };

//////////////////////////////////////////////////////////
// DropDownNavi (erweitert)
//////////////////////////////////////////////////////////

function setNavi(id)
{
  $('nnews').style.display = 'none';
  $('nmatches').style.display = 'none';
  $('nawards').style.display = 'none';
  $('nforum').style.display = 'none';
  
  $('n' + id).style.display = '';
}

function setInfo(id)
{
  $('mnews').style.display = 'none';
  $('mmatches').style.display = 'none';
  $('mawards').style.display = 'none';
  $('mforum').style.display = 'none';
  
  $('m' + id).style.display = '';
  
}

/////////////////////////////////////////////////////////////////
var isHover = new Array(); var clearMe = new Array(); var zIndex=1;
function changePic(id,hide)
{
  isHover['main'] = 0; isHover['clan'] = 0; isHover['comm'] = 0; isHover['server'] = 0; isHover['misc'] = 0;
  hideNavi('main'); hideNavi('clan'); hideNavi('comm'); hideNavi('server'); hideNavi('misc');

  if(!$(id).src.match(/\_hover/))
    $(id).src = $(id).src.replace(/\.gif/, '_hover.gif');

  if(hide != 0) {
    $(id).onmouseout = function() {
      if(isHover[this.id] != 1) this.src = this.src.replace(/\_hover\.gif/, '.gif');
    }
  } else {
    $(id).onmouseout = function() {
      isHover[this.id] = 0;
      hideNavi(this.id);
    }
  } 
}

function hideNavi(id,timer)
{

  if(timer == 1 && isHover[id] != 1)
  { 
    $('n_' + id).style.display = 'none';
    $(id).src = $(id).src.replace(/\_hover\.gif/, '.gif');
  } else window.setTimeout("hideNavi('"+id+"',1)",100);
}

//////////////////////////////////////////////////////////////////////////

function showNavi(id)
{
  changePic(id, 0);
  isHover[id] = 1;
  $('n_' + id).style.display = 'block';
  $('n_' + id).style.zIndex = zIndex; zIndex++;
  
  $('n_' + id).onmouseover = function() {
    var id = this.id.replace(/n\_/, '');
    isHover[id] = 1;
  }

  $('n_' + id).onmouseout = function() {
    var id = this.id.replace(/n\_/, '');
    changePic(id);
  }
}

var img = new Array();
function initNavigation()
{
  var tags = $('navi').getElementsByTagName('img');
  for(var i=0;i<tags.length;i++)
  {
    if(tags[i].className == 'h')
    {
      img[tags[i].id] = new Image();
      img[tags[i].id].src = tags[i].src.replace(/\.gif/,'_hover.gif');
    }
  }
}

////////////////////Mouse-Over/////////////////////

var subid = false;
var timeout = false;

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.01
  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 && d.getElementById) x=d.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];}
}
