//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 Eventswitch
function eventSwitch(obj)
{
  pars = '&eID='+obj;
  var myAjax = new Ajax.Updater('navEvent', '../inc/global.php?i=events'+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;
  
  var tag = doc.getElementsByTagName("a");
  for(i=0;i<tag.length;i++)
    tag[i].onfocus= function(){this.blur();};
}
//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; };
/*##################################################################*/
// Quickswitch
var startID = 'qs_news';
function initQuickSwitch()
{
  //startID = (readCookie('quick') == null) ? 'qs_news' : readCookie('quick');
  var img = new Array();
  var tags = $('quicksw').getElementsByTagName('img');
  for(var i=0;i<tags.length;i++)
  {
    if(tags[i].className == 'qs')
    {
      img[i] = new Image();
      img[i].src = tags[i].src.replace(/\.jpg/,'_hover.jpg');

      tags[i].onmouseover = function() {
        $(startID).src = $(startID).src.replace(/\_hover\.jpg/,'.jpg');
        this.src = this.src.replace(/\.jpg/,'_hover.jpg');
      };
      tags[i].onmouseout = function() { 
        this.src = this.src.replace(/\_hover\.jpg/,'.jpg');
        $(startID).src = $(startID).src.replace(/\.jpg/,'_hover.jpg');
      };
    }
  }

  $(startID).src = $(startID).src.replace(/\.jpg/,'_hover.jpg');
}

function quickSwitch(obj)
{
  writeCookie('quick', 'qs_' + obj);
  startID = readCookie('quick');
  
  pars = '&type='+obj;
  var myAjax = new Ajax.Updater('quickSwitch', '../inc/global.php?i=quick'+pars, {method: 'get'});
}

Global = {
  FixPng: function( img ) {
    if(ie4) {
      img.parentNode.style.width  = img.offsetWidth;
      img.parentNode.style.height = img.offsetHeight;
      img.parentNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='"+ img.src +"')"
    } else img.style.visibility = "visible"
  }
}

//Ajax Votewitch
function pollSwitch(obj)
{
  pars = '&vID='+obj;
  var myAjax = new Ajax.Updater('navVote', '../inc/global.php?i=vote'+pars, {method: 'get'});
}

//Ajax Betwitch
function betSwitch(obj)
{
  pars = '&limit='+obj;
  var myAjax = new Ajax.Updater('navBets', '../inc/global.php?i=bets'+pars, {method: 'get'});
}

// Navigation
function initNavigation()
{
  $('store').onclick = function() {
    goTo('http://www.hardware4u.net',1)
  };
/*
  $('store').onmouseout = function() {
    this.src = this.src.replace(/\_hover\.jpg/, '.jpg');
    if(readCookie('navi') != null) $(readCookie('navi')).src = $(readCookie('navi')).src.replace(/\.jpg/,'_hover.jpg');
    $('nav_' + readCookie('navi')).style.display = '';
  };
*/
  var img = new Array();
  var tags = $('navi').getElementsByTagName('img');
  for(var i=0;i<tags.length;i++)
  {
    if(tags[i].className == 'navi')
    {
      img[i] = new Image();
      img[i].src = tags[i].src.replace(/\.jpg/,'_hover.jpg');
    }
  }
/*
  var startID = (readCookie('navi') == null) ? 'news' : readCookie('navi');
  $(startID).src = $(startID).src.replace(/\.jpg/,'_hover.jpg');
  $('nav_' + startID).style.display = '';
*/
}

function setNavi(obj)
{
  if(obj.id != 'store') writeCookie('navi', obj.id);

  var tags = $('navi').getElementsByTagName('img');
  for(var i=0;i<tags.length;i++)
  {
    if(tags[i].className == 'navi')
    {
      tags[i].src = tags[i].src.replace(/\_hover\.jpg/,'.jpg');
      if(tags[i].id != 'store') $('nav_' + tags[i].id).style.display = 'none';
    }
  }
  
  if(obj.id != 'store') $('nav_' + obj.id).style.display = '';
  obj.src = obj.src.replace(/\.jpg/, '_hover.jpg');
}
//Cookies schreiben / auslesen
function writeCookie(cookie,value)
{
  document.cookie = cookie+"="+value+";";
}

function readCookie(name) 
{
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  
  while (i < clen) 
  {
    var j = i + alen;
       
    if(document.cookie.substring(i, j) == arg)
    {
      var endstr = document.cookie.indexOf (";", j);
      if(endstr == -1) endstr = document.cookie.length;
          
      return unescape(document.cookie.substring(j, endstr));
    }
    
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  
  return null;
}
// toggle
function toggle(id)
{
  if($( id).style.display == 'none') $(id).style.display = "";
  else                               $(id).style.display = "none";
}

function initUsermenu()
{
  var img = new Array();
  var tags = $('umenu').getElementsByTagName('img');
  for(var i=0;i<tags.length;i++)
  {
    if(tags[i].className == 'um')
    {
      img[i] = new Image();
      img[i].src = tags[i].src.replace(/\.jpg/,'_hover.jpg');
      
      tags[i].onmouseover = function() {
          this.src = this.src.replace(/\.jpg/,'_hover.jpg');
        };
      tags[i].onmouseout = function() {
          this.src = this.src.replace(/\_hover\.jpg/,'.jpg');
        };
    }
  }
}
// Videoplayer Controls
var currentItem,currentPosition;
var endTime = 0;
function videoControl(typ,prm)
{
  if(typ == 'playpause' && $('playpause').src.match(/\_play\.jpg/))       $('playpause').src = $('playpause').src.replace(/\_play\.jpg/,'_pause.jpg');
  else if(typ == 'playpause' || typ == 'stop' && $('playpause').src.match(/\_pause\.jpg/)) 
    $('playpause').src = $('playpause').src.replace(/\_pause\.jpg/,'_play.jpg');

  if(typ != 'playpause') endTime = 0;
  thisMovie("mpl").sendEvent(typ,prm); 
}

function getUpdate(typ,pr1,pr2,pid)
{
	if(typ == "time")
  { 
    currentPosition = pr1;
    var id = $('videotime');
	      id.innerHTML = secs2hms(Math.round(pr1));
      
	  if(endTime == 0 && pr2 != undefined)
    {
      id.innerHTML += " / "+secs2hms(Math.round(pr2));
      endTime = Math.round(pr2);
    } else id.innerHTML += " / "+secs2hms(endTime);
  } else if(typ == "item") { 
    currentItem = pr1; 
    setTimeout("getItemData(currentItem)",100);
  } else if(typ == 'state') {
    if(pr1 == 2 && $('playpause').src.match(/\_play\.jpg/)) $('playpause').src = $('playpause').src.replace(/\_play\.jpg/,'_pause.jpg');
    else if(pr1 == 0)                                       $('playpause').src = $('playpause').src.replace(/\_pause\.jpg/,'_play.jpg');
  }
}
function getItemData(idx)
{
	var obj = thisMovie("mpl").itemData(idx);
	$("videotitle").innerHTML = obj['title'];
}

function secs2hms(secs)
{
  var hms = '';
  var iHours = Math.floor(secs/3600);
  var iMinutes = Math.floor((secs/60) - (iHours*60));
  var iSeconds = Math.floor(secs % 60);
  
  if(iSeconds == 60) { iMinutes++; iSeconds = 0; }
  if(iMinutes == 60) { iHours++; iMinutes = 0; }
  
  if(iMinutes < 10) iMinutes = '0' + iMinutes;
  if(iSeconds < 10) iSeconds = '0' + iSeconds;

  if(iHours != 0)   hms = iHours + ':';
                    hms += iMinutes + ':';
                    hms += iSeconds;
  
  return hms;
}
function thisMovie(movieName)
{
	if(navigator.appName.indexOf("Microsoft") != -1) return window[movieName];
  else                                             return document[movieName];
}