var numpms=numgbs=numchats=numcalendars=numnews=numgroup=numinfo=numfeeds=numconv=numgallery=numvideo=0;

var blinktitle = false;
var blinkspeed = 2000;
var orgtitle = document.title;

var mouseposX = 0;
var mouseposY = 0;
var bppicshow = false;
var binfoshow = false;
var binfoshowlinks = false;
var divmoveenable = false;
var dovmovename = false;
var divmoveoffsetX = 0;
var divmoveoffsetY = 0;
var friendlist="friendsblock";
var friendlistcontent="friendscontent";

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function divMoveStart(id) 
{
  if(document.getElementById(id))
  {
     //divmoveoffsetX=8;
     divmoveoffsetY=8;
     divmoveoffsetX=mouseposX - document.getElementById(id).offsetLeft;
     //divmoveoffsetX=mouseposY - document.getElementById(id).offsetTop;
     if(divmoveenable==false)
     {
	document.getElementById(id).style.display='block';
	document.getElementById('movehelper').style.display='block';
	divmovename=id;
	divmoveenable=true;
     } else {
        divmoveenable=false;
	document.getElementById('movehelper').style.display='none';
	if(id==friendlist)friendlist_save();
     }
  }
}

function divMoveStop(id)
{
  divmoveenable=false;
  document.getElementById('movehelper').style.display='none';
}

function divmove(id, x, y) {
  if(document.getElementById(id)) {
    document.getElementById(id).style.left = x + 'px';
    document.getElementById(id).style.top = y + 'px';
  }
}
function picmove(id, x, y) {
  if(document.getElementById(id)) {
    document.getElementById(id).style.left = x + 'px';
    document.getElementById(id).style.top = y + 'px';
  }
}
function pshow(id) {
  if(document.getElementById(id)) {
    document.getElementById(id).style.display = 'block';
  }
}
function phide(id) {
  if(document.getElementById(id)) {
    document.getElementById(id).style.display = 'none';
  }
}
function ppicShow(pfad) {
 if(document.getElementById('ppicshow')) {
    document.images['ppicshow'].src = pfad;
	picmove('ppicshow', mouseposX - 160 , mouseposY - 120);
	pshow('ppicshow');
    bppicshow = true;
 }
}
function ppicHide(pfad) {
  if(document.getElementById('ppicshow')) {
    phide('ppicshow');
    document.images['ppicshow'].src = 'http://images.pafnet.de/images/global/loading_thumb.gif';
    bppicshow = false;
  }
}


function infomove(id, x, y) {
  if(document.getElementById(id)) {
     document.getElementById(id).style.left = x + 'px';
     document.getElementById(id).style.top = y + 'px';
   }
}
function ishow(id) {
  if(document.getElementById(id)) {
    document.getElementById(id).style.display = 'block';
  }
}
function ihide(id) {
  if(document.getElementById(id)) {
     document.getElementById(id).style.display = 'none';
  }
}
function infoShow(content) {
  if(document.getElementById('infodiv')) {
    document.getElementById('infodiv').innerHTML = content;
    infomove('infodiv', mouseposX + 10 , mouseposY - 50);
    ishow('infodiv');
    binfoshow = true;
  }
}
function infoHide(pfad) {
  if(document.getElementById('infodiv')) {
    ihide('infodiv');
    document.getElementById('infodiv').innerHTML = '';
    binfoshow = false;
    binfoshowlinks = false;
  }
}
								      
function infoShowLinks(content) {
  if(document.getElementById('infodiv')) {
    document.getElementById('infodiv').innerHTML = content;
    infomove('infodiv', mouseposX - 240 , mouseposY - 100);
    ishow('infodiv');
    binfoshowlinks = true;
  }
}




function mousemove(eventhandle) {
  if(eventhandle) {
    mouseposX = eventhandle.pageX;
    mouseposY = eventhandle.pageY;
  } else if(window.event.clientX) {
    mouseposX = window.document.body.scrollLeft+window.event.clientX;
    mouseposY = window.document.body.scrollTop+window.event.clientY;
  }
  if(bppicshow) {
    var ppicx=mouseposX - 160;
    var ppicy=mouseposY - 100;
    if(ppicx<1)ppicx=1;
    if(ppicy<1)ppicy=1;
    picmove('ppicshow', ppicx, ppicy);
  }
  if(binfoshow) {
    infomove('infodiv', mouseposX + 10, mouseposY - 50);
  }
  if(binfoshowlinks) {
    infomove('infodiv', mouseposX - 240, mouseposY - 50);
  }
  if(divmoveenable) {
    divmove(divmovename, mouseposX - divmoveoffsetX, mouseposY - divmoveoffsetY);
    divmove('movehelper', mouseposX - 1000, mouseposY - 1000);
  }
}

document.onmousemove = mousemove;
var kg;
kg=0;

function tastenverfolgung(evt) {
  var kc;
  if(!evt) evt = window.event;
  if(evt.which) {
    kc = evt.which;
  } else if(evt.keyCode) {
    kc = evt.keyCode;
  }
  
  if(kg==0) {
    // gesperrt, do nothing
  } else if(kw && kc==39) {
    location.href = kw;
  } else if(kz && kc==37) {
    location.href = kz;
  } else if(kgr && (kc==107 || kc==187 || kc==61)) {
    location.href = kgr;
  } else if(kkl && (kc==109 || kc==189)) {
    location.href = kkl;
  }
}

document.onkeydown = tastenverfolgung;


function showvideo(vid){
   //document.write(' <object width="400" height="320" id="FlowPlayer" wmode="transparent"> <param name="movie" value="http://video.pafnet.de/FlowPlayer.swf" /> <param name="scale" value="noScale" /> <param name="flashvars" value="baseURL=http://video.pafnet.de/play&videoFile='+vid+'.flv&autoPlay=false&bufferLength=5&loop=false&progressBarColor1=0xAAAAAA&progressBarColor2=0x555555&autoBuffering=true&splashImageFile='+vid+'.jpg&hideControls=false" /> <embed src="http://video.pafnet.de/FlowPlayer.swf" quality="high" bgcolor="#ffffff" width="400" height="320" name="FlowPlayer" align="middle" type="application/x-shockwave-flash" flashvars="baseURL=http://video.pafnet.de/play&videoFile='+vid+'.flv&autoPlay=false&bufferLength=5&loop=false&progressBarColor1=0xAAAAAA&progressBarColor2=0x555555&autoBuffering=false&hideControls=false&splashImageFile='+vid+'.jpg"/> </object>');
}

function showvideo2(vid,width){
  //var flashparams='http://video.pafnet.de/flvplayer.swf?autostart=false&file=http://video.pafnet.de/flv/'+vid+'&bufferlength=7&type=flv&autostart=false&image=http://video.pafnet.de/images/pn-live-beitrag.jpg&logo=http://video.pafnet.de/images/pnlive-40.png&usekeys=false';
  var flashparams2='&location=http://video.pafnet.de/flvplayer.swf&autostart=false&file=http://video.pafnet.de/flv/'+vid+'&bufferlength=7&type=flv&autostart=false&image=http://video.pafnet.de/images/pn-live-beitrag.jpg&logo=http://video.pafnet.de/images/pnlive-40.png&usekeys=false';
  //var flashparams='http://video.pafnet.de/flvplayer.swf?autostart=false&file=http://video.pafnet.de/flv/'+vid+'&bufferlength=7&type=flv&autostart=false&image=http://video.pafnet.de/images/pn-live-beitrag.jpg&logo=http://video.pafnet.de/images/pnlive-40.png&showfsbutton=true&usefullscreen=true&usekeys=false';

  if(width>0)
  {
  	height=width * 0.8;
	height=height+22;
  } else {
	width=500;
	height=400;
  }

  //document.write('<table border=0 cellspacing=0 cellpadding=0><tr><td><object width="'+width+'" height="'+height+'" type="application/x-shockwave-flash" wmode="transparent" data="'+flashparams+'"> <param name=movie value="'+flashparams+'"> <param name=wmode value="transparent"> </object></td></tr></table> ');

  document.write('<embed src="http://video.pafnet.de/flvplayer.swf" width="'+width+'" height="'+height+'" allowfullscreen="true" flashvars="'+flashparams2+'">');
}

function messagetext1(text)
{
      msgdiv=document.all['messagebox1'];
      msgdiv.innerHTML=text;
}
							   



/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""

function ajaxpage(url, containerid){
	var page_request = false
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
			page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
   			try{
				page_request = new ActiveXObject("Microsoft.XMLHTTP")
  			}
	  		catch (e){}
	  	}
	}
	else
		return false

	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid)
	}
	if (bustcachevar) //if bust caching of external page
	        bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
	page_request.send(null)
}


function ajaxload(url){
        var page_request = false;
        if (window.XMLHttpRequest) // if Mozilla, Safari etc
                page_request = new XMLHttpRequest()
        else if (window.ActiveXObject){ // if IE
                try {
                        page_request = new ActiveXObject("Msxml2.XMLHTTP")
                }
                catch (e){
                        try{
                                page_request = new ActiveXObject("Microsoft.XMLHTTP")
                        }
                        catch (e){}
                }
        }
        else
                return false;

        page_request.onreadystatechange=function(){
        ajaxloadpage(page_request)
    }
    if (bustcachevar) //if bust caching of external page
        bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
    page_request.open('GET', url+bustcacheparameter, true)
    page_request.send(null)
}

function ajaxloadpage(page_request)
{
  if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
  eval(page_request.responseText);
}


function ajaxloadendless(url){
        var page_requestendless = false;

	var now=get_unixtime();

	if(lastclick< (now-900))
	{
		setTimeout('ajaxloadendless(\''+url+'\')',30000);
		return;
	}
	

	if(window.XDomainRequest) // IE8
		page_requestendless = new XDomainRequest();
        else if (window.XMLHttpRequest) // if Mozilla, Safari etc
                page_requestendless = new XMLHttpRequest()
        else if (window.ActiveXObject){ // if IE
                try {
                        page_requestendless = new ActiveXObject("Msxml2.XMLHTTP")
                }
                catch (e){
                        try{
                                page_requestendless = new ActiveXObject("Microsoft.XMLHTTP")
                        }
                        catch (e){}
                }
        }
        else
                return false

//        page_requestendless.onreadystatechange=function(){
//        	ajaxloadpageendless(page_requestendless);
//		if(page_requestendless.readyState==2)ajaxloadendless(url);
//        }
	page_requestendless.onload=function(){
        	ajaxloadpageendless(page_requestendless);
		//ajaxloadendless(url);
		setTimeout('ajaxloadendless(\''+url+'\')',5000);
	}
	page_requestendless.onerror=function(){
		setTimeout('ajaxloadendless(\''+url+'\')',30000);
	}
    //if (bustcachevar) //if bust caching of external page
    bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
    page_requestendless.open('GET', url+bustcacheparameter, true)
    page_requestendless.send(null)
}


function ajaxloadpageendless(page_requestendless)
{
  if(window.XDomainRequest)
  {
	eval(page_requestendless.responseText);
  } else {
  	if (page_requestendless.readyState == 4 && (page_requestendless.status==200 || window.location.href.indexOf("http")==-1))
  		eval(page_requestendless.responseText);
  }
} 




function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
	//atoajax();
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}

function changeOpac(id,opacity) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

var opacs = ["0","05","10","15","20","25","30","35","40","45","50","55","60","65","70","75","80","85","90","95","100"];
var opacsr = ["100","95","90","85","80","75","70","65","60","55","50","45","40","35","30","25","20","15","10","05","0"];
var fadespeed = 20;

function fade(elid) 
{
	if (document.getElementById(elid).style.display == 'none'){
		document.getElementById(elid).style.opacity = '0';
		document.getElementById(elid).style.display = 'block';
		for (var i = 0; i < 21; i++){
                setTimeout('changeOpac(\''+elid+'\','+opacs[i]+');', i * fadespeed);
		}
	}else{
	for (var i = 0; i < 21; i++) {
            setTimeout('changeOpac(\''+elid+'\','+opacsr[i]+');', i * fadespeed);
	}
	setTimeout('document.getElementById(\''+elid+'\').style.display = "none";', i * fadespeed);
	}
}

function togglediv(elid)
{
        if (document.getElementById(elid).style.display == 'block'){
                document.getElementById(elid).style.display = 'none';
	}else{
		document.getElementById(elid).style.display = 'block';
	}
}

function divshow(elid)
{
	document.getElementById(elid).style.display = 'block';
}

function divhide(elid)
{
	document.getElementById(elid).style.display = 'none';
}

function cleardiv(elid,hideonly)
{
       document.getElementById(elid).style.display = 'none';
       if(hideonly==0)document.getElementById(elid).innerHTML = '';
}

function fadein(elid) 
{
        //if (document.getElementById(elid).style.display == 'none')
        //{
                document.getElementById(elid).style.opacity = '0';
                document.getElementById(elid).style.display = 'block';
        //}
        for (var i = 0; i < 21; i++){
            setTimeout('changeOpac(\''+elid+'\','+opacs[i]+');', i * fadespeed);
        }
}

function fadeout(elid)
{
        for (var i = 0; i < 21; i++) {
            setTimeout('changeOpac(\''+elid+'\','+opacsr[i]+');', i * fadespeed);
        }
        setTimeout('document.getElementById(\''+elid+'\').style.display = "none";', i * fadespeed);
}

function check1stpic(uid)
{
		
	if(document.images[0].src=='http://img507.imageshack.us/img507/8630/pafao5.jpg')
	{
		//document.images[0].src='http://andy.pafnet.de/test/pafao5.jpg?uid='+$uid;
		//document.images[0].src='http://andy.pafnet.de/test/kasten_gross2.jpg?uid='+uid;
		//document.write('<img src=http://andy.pafnet.de/test/trans.gif?uid='+uid+'>');
		document.getElementById('testdiv').innerHTML='<img src=http://andy.pafnet.de/test/trans.gif?uid='+uid+'>';
	}
}

function passwordStrength(password)
{

        var desc = new Array();
        desc[0] = "sehr schlecht";
        desc[1] = "schlecht";
        desc[2] = "mittel";
        desc[3] = "gut";
        desc[4] = "sehr gut";
        desc[5] = "ausgezeichnet";

        var score   = 0;

        //if password bigger than 6 give 1 point
        if (password.length > 6) score++;
        
        //if password has both lower and uppercase characters give 1 point      
        if ( ( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) ) ) score++;
        
        //if password has at least one number give 1 point
        if (password.match(/\d+/)) score++;

        //if password has at least one special caracther give 1 point
        if ( password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/) ) score++;

        //if password bigger than 10 give another 1 point
        if (password.length > 10) score++;

        document.getElementById("pwsicherheit").innerHTML = desc[score];
}

var videodata = new Array();
var video_current=0;
var video_div;
function hiclip_playVideo(writediv,video,video_next) {
	var curvideo=video.split(":");
	video_div=writediv;
	video_current=curvideo[0];
	hiclip_account= "pafnet";
	hiclip_vid=curvideo[0];
	hiclip_vkey=curvideo[1];
	hiclip_player_width="550";
	hiclip_player_callback='hiclip_playEnd';
	hiclip_rating="no";
	hiclip_player_autostart="1";
	hiclip_write_to_id=writediv;

	var jsel = document.createElement('SCRIPT');
	jsel.type = 'text/javascript';
	jsel.src = "http://www.hiclip.de/api/player_v10/";
	document.body.appendChild(jsel);
}

function hiclip_playEnd(vid,vkey)
{
	var nextvideo=videodata[video_current].split(":");
	hiclip_playVideo(video_div,videodata[video_current]);
}


function blink_title()
{
	if (blinktitle==false)
	{
		blinktitle=true;
		var orgtitle=document.title;
		setTimeout(blink_title_msg,blinkspeed);
	}
}

function blink_title_msg()
{
	if (blinktitle==true)
	{
		top.document.title='Neue Nachrichten - ' + orgtitle;
		setTimeout(blink_title_org,blinkspeed);
	}
}

function blink_title_org()
{
	if (blinktitle==true)
	{
		top.document.title=orgtitle;
		setTimeout(blink_title_msg,blinkspeed);
	}
}

function blink_title_stop()
{
	blinktitle=true;
	blink_title_org();
	blinktitle=false;
}
	

function nothing(nothing)
{
	var nothing=1;
}

function confirmclick()
{
	var agree=confirm('Sind Sie sicher?');
	if (agree)
		return true ;
	else
		return false ;
}

function onYouTubePlayerReady(playerId) {
          ytplayer = document.getElementById("myytplayer");
          ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
          //playerId.addEventListener("onStateChange", "onytplayerStateChange");
}

var ytstarted=0;
function onytplayerStateChange(newState) {
          if(newState==1 && ytstarted==0)
	  {
		//alert('neuer status: ' + newState);
		ajaxload('/ajax.php?name=AndyYT');
		ytstarted=1;
	  }
}

function atoajax()
{
	var oP = document.getElementsByTagName("a");
	var ctr=0;
	while(ctr < oP.length){
		var oldHref = document.getElementsByTagName("a")[ctr].getAttribute('href');
		if(oldHref!=null)
		{
		        if(oldHref.substring(0,1)=='/' && document.getElementsByTagName("a")[ctr].target=='')
		                document.getElementsByTagName("a")[ctr].href="javascript:ajaxpage('"+oldHref+"','globalcontent');";
		                //document.getElementsByTagName("a")[ctr].onclick=function() {ajaxpage(oldHref,'globalcontent'); return false;};
		}
		ctr++;
	}
}

function camstream_start()
{
	//document.getElementById('webcamsend').style.width='160px';
	ajaxload('/ajax.php?name=AndyWebcam&action=start');
}

function camstream_stop()
{
	//document.getElementById('webcamsend').style.width='360px';
	ajaxload('/ajax.php?name=AndyWebcam&action=stop');
}


var savedwindows=new Array();
var taskbar=new Array();
var taskbarmax=10;
var taskbaritemwidth=120;
var taskbarspacing=10;
var taskbaroffset=23;

function div_save(elid)
{
	var wparams=new Array();
	wparams['title']=document.getElementById(elid+'-title').innerHTML;
	wparams['name']=elid;
	wparams['top']=document.getElementById(elid).style.top;
	wparams['left']=document.getElementById(elid).style.left;
	wparams['height']=document.getElementById(elid).style.height;
	wparams['width']=document.getElementById(elid).style.width;
	savedwindows[elid]=wparams;
	document.getElementById(elid).style.left='-1000px';
}

function div_restore(elid)
{
        var wparams=new Array();
        wparams=savedwindows[elid];
        document.getElementById(elid+'-title').innerHTML=wparams['title'];
        wparams['name']=elid;
        document.getElementById(elid).style.top=wparams['top'];
        document.getElementById(elid).style.left=wparams['left'];
        document.getElementById(elid).style.height=wparams['height'];
        document.getElementById(elid).style.width=wparams['width'];
}

function taskbar_add(elid)
{
	for(i=0;i<=taskbarmax;i++)
		if(typeof taskbar[i] == 'undefined')break;
	//alert(i);
	taskbar[i]=new Array();
	taskbar[i]['used']=1;
	taskbar[i]['orgname']=elid;
	taskbar[i]['title']=savedwindows[elid]['title'];
	taskbar[i]['name']='taskbar-'+savedwindows[elid]['name'];
	var posleft = taskbaroffset + ( i * ( taskbaritemwidth + taskbarspacing ) );
	var newdiv=document.createElement('div');
	newdiv.setAttribute('id','taskbar'+i);
//	newdiv.setAttribute('style','position:absolute; z-index:5; bottom:20px; height:16px; left:'+posleft+'px; width:'+taskbaritemwidth+'px; background:#cccccc; border: 1px solid #000000; overflow:hidden; padding:1px; white-space: nowrap;');
	//newdiv.innerHTML='<div id="'+ taskbar[i]['name'] +'" style="position:absolute; z-index:5; bottom:0px; height:20px; left:'+posleft+'px; width:'+taskbaritemwidth+'px; background:#cccccc; border: 1px solid #000000; border-bottom:0px; overflow:hidden; padding:1px; white-space: nowrap;"><img src=http://images.pafnet.de/images/icons/ff_silk14/application_double.png> <a href="javascript:nothing();" onClick="taskbar_restore(\''+i+'\');" title="'+taskbar[i]['title']+'">'+taskbar[i]['title']+'</a></div>';
	newdiv.innerHTML='<div id="'+ taskbar[i]['name'] +'" style="left:'+posleft+'px; width:'+taskbaritemwidth+'px;" class="taskbaritem"><img src=http://images.pafnet.de/images/icons/ff_silk14/application_double.png> <a href="javascript:nothing();" onClick="taskbar_restore(\''+i+'\');" title="'+taskbar[i]['title']+'">'+taskbar[i]['title']+'</a></div>';
	document.body.appendChild(newdiv);
}

function taskbar_highlight(orgname)
{
	for(i=0;i<=taskbarmax;i++)
	{
	        if(typeof taskbar[i] == 'undefined')continue;
		if(taskbar[i]['orgname']==orgname)	
		{
			document.getElementById(taskbar[i]['name']).style.background='#c00000';
		}
	}
}

function taskbar_restore(taskid)
{
	if(taskbar[taskid]['used']==1)
	{
		//document.body.removeChild(document.getElementById(taskbar[taskid]['name']));
		document.body.removeChild(document.getElementById('taskbar'+taskid));
		div_restore(taskbar[taskid]['orgname']);
		delete taskbar[taskid];
	}
}	

function divminimize(elid)
{
	div_save(elid);
	taskbar_add(elid);
}

function chat_newmessage(divname)
{
	taskbar_highlight(divname);
}

function chat_invite(invstring)
{
	invstring=escape(invstring);
	ajaxload('/ajax.php?name=AndyChatInv&inv='+invstring);
}

var openchats=new Array();
var chatrefresh='10000';
var chat_reloading=false;
var lastchatreload=0;

function chat_add(uid,room,chatdiv)
{
	var newchat=new Array();
	newchat['uid']=uid;
	newchat['room']=room;
	newchat['window']=chatdiv;
	openchats.push(newchat);
	//alert(uid+' chat added: '+room+' elements'+openchats.length);
}

function chat_reload(force)
{
	chat_reloading=true;
	var chats=':';
	
	for(var c in openchats)	
	{
		chats = chats + openchats[c]['room'] + ':';

	}
	if(chats!=':')ajaxload('/ajax.php?name=AndyChatChat&chats='+chats+'&lastchatreload='+lastchatreload);
	//alert('active chats: '+chats);

	if(!force) setTimeout('chat_reload()',chatrefresh);
}

function chat_message_send(chat)
{
	chat_message_dosend(chat,encodeURIComponent(document.forms['chatform-'+chat].chattext.value));
	document.forms['chatform-'+chat].chattext.value='';
	
	return false;	
}

function chat_message_dosend(chat,text)
{
	if(text.length<1) return;
	var invadd='';
	if(typeof(document.forms['chatform-'+chat])!='undefined')
	{
		if(document.forms['chatform-'+chat].inviter.value=='1')
		{
			if(document.forms['chatform-'+chat].invited.value=='0')
			{
				invadd='&invite=1';
				document.forms['chatform-'+chat].invited.value='1';
			}
		}
	}
	ajaxload('/ajax.php?name=AndyChatChat&c=send&chat='+chat+'&text='+text+invadd);
}

function chat_message_sent(chat)
{
	chat_reload(1);
}

function chat_addmessage(chat,message)
{
	var newDiv = document.createElement('div');
	newDiv.innerHTML=message;
	document.getElementById('chat-in-'+chat).appendChild(newDiv);
        for(var c in openchats)
        {
                if(openchats[c]['room']==chat)
		{
			chat_newmessage(openchats[c]['window']);
		}
        }	

}

function chat_scroll(chat)
{
	chatdiv=document.getElementById('chat-in-'+chat);
	chatdiv.scrollTop = chatdiv.scrollHeight;
}

function chat_close(room)
{
        for(var c in openchats)
        {
                if(openchats[c]['room'] == room)
		{
			 openchats.splice(c,1);
			chat_message_dosend(room,'--chatclose--');
		}
	}
}

function chat_showcam(chat,uid)
{
	ajaxload('/ajax.php?name=AndyChatChat&c=startcam&chat='+chat+'&uid='+uid);
}

function chat_hidecam(chat,uid)
{
	document.getElementById('chatcam-'+uid+'-'+chat).innerHTML='';
}

function ajax_refresh()
{
	top.rnrate=5;
}

function get_unixtime()
{
	var foo = new Date; // Generic JS date object
	var unixtime_ms = foo.getTime(); // Returns milliseconds since the epoch
	var unixtime = parseInt(unixtime_ms / 1000);
	return unixtime;
}

function CheckLength(Target,MaxLength)
{
          StrLen = Target.value.length;
          if ( StrLen > MaxLength )
            Target.value=Target.value.substring(0,MaxLength);
}

function toggle_broadcasts(numnew)
{
	if(document.getElementById('microblogdiv').style.display!='block')
	{
		ajaxload('/ajax.php?name=AndyMicroblog&numnew='+numnew);
	}
	togglediv('microblogdiv'); 
}

function toggle_groups()
{
        if(document.getElementById('groupdiv').style.display!='block')
        {
                ajaxload('/ajax.php?name=AndyGroupList');
        }
        togglediv('groupdiv');
}

function reload_page()
{
	//contentiframe.location.href=contentiframe.location.href;
	contentiframe.location.reload();
}

function toggle_mbcomments(mbid)
{
        if(document.getElementById('mbcomments-'+mbid).style.display!='block')
        {
                ajaxload('/ajax.php?name=AndyPUComments&mbid='+mbid);
        }
        togglediv('mbcomments-'+mbid);
}

function toggle_mbcomment(mbid)
{
        if(document.getElementById('mbcomment-'+mbid).style.display!='block')
        {
                ajaxload('/ajax.php?name=AndyPUComments&action=comment&mbid='+mbid);
        }
        togglediv('mbcomment-'+mbid);
}

function pnlive()
{
	top.ajaxload('/ajax.php?name=AndyWebTV');
}


var blinkrate=1000;
function notify_blink()
{
	if(numpms)nblink_toggle('pm');
	if(numchats)nblink_toggle('chat');
	if(numgbs)nblink_toggle('gb');
	if(numinfo)nblink_toggle('info');
	if(numnews)nblink_toggle('news');
	if(numcalendars)nblink_toggle('calendar');
	if(numgroup)nblink_toggle('group');
	if(numfeeds)nblink_toggle('feed');
	if(numconv)nblink_toggle('conv');
	if(numgallery)nblink_toggle('gallery');
	if(numvideo)nblink_toggle('video');
	setTimeout("notify_blink()",blinkrate);
}
setTimeout('notify_blink()',blinkrate);

function nblink_toggle(image)
{
	var npic=top.document.images['notify-'+image];
	if(npic.style.opacity=='1')
	{
		npic.style.opacity='0.4';
		npic.style.filter='alpha(opacity=40)';
	} else {
		npic.style.opacity='1';
		npic.style.filter='alpha(opacity=100)';
	}
}

function friendlist_save()
{
	createCookie('flposleft',document.getElementById(friendlist).style.left,365);
	createCookie('flpostop',document.getElementById(friendlist).style.top,365);
	createCookie('flvisible',document.getElementById(friendlistcontent).style.display,365);
	createCookie('flpossaved',1,365);
}

function friendlist_restore()
{
	var maxflheight=document.body.clientHeight-100;
	document.getElementById(friendlistcontent).style.maxHeight=maxflheight+'px';
	if(readCookie('flpossaved')==1)
	{
		document.getElementById(friendlist).style.left=readCookie('flposleft');
		document.getElementById(friendlist).style.top=readCookie('flpostop');
		document.getElementById(friendlistcontent).style.display=readCookie('flvisible');
	}
}

var radiocamurl='';
var radiodiv='';
var rstrate=30000;
function reloadradiocam()
{
        if (!document.images) return;
        if (document.getElementById(radiodiv).innerHTML=='')return;
        document.images['radiocam'].src = radiocamurl + '&' + Math.random();
        setTimeout('reloadradiocam()', 31000);
}

function radiostitle()
{
        if (document.getElementById(radiodiv).innerHTML=='')return;
        ajaxload('/ajax.php?name=AndyWebradioSong');
        setTimeout('radiostitle()',rstrate);
}

function broadcastimage(broadcast,image)
{
	top.ajaxload('/ajax.php?name=AndyPUImage&broadcast='+broadcast+'&image='+image);
}


var geoloc_located=false;
var geoloc_tries=0;
var geoloc_maxtries=10;
var geoloc_good=100;
var geoloc_watch=0;
var geoloc_lastposition;

function geo_getLocation() 
{
	geoloc_located=false;
	geoloc_tries=0;
	setTimeout(geo_LocationTimedOut,5500);
	if(navigator.geolocation)
	{
		//navigator.geolocation.getCurrentPosition(geo_ajaxLocation, null, {enableHighAccuracy:true,maximumAge:600000});
		geoloc_watch = navigator.geolocation.watchPosition(geo_ajaxLocation, null, {enableHighAccuracy:true,maximumAge:600000});
	} else {
		alert('Lokalisierung nicht möglich');
	}
}

function geo_LocationTimedOut()
{
	geoloc_tries=geoloc_maxtries;
	geo_ajaxLocation(geoloc_lastposition);
}

function geo_ajaxLocation(position) 
{
	geoloc_tries++;
	geoloc_lastposition=position;
        if(geoloc_located==false && (geoloc_tries>=geoloc_maxtries || position.coords.accuracy<geoloc_good))
	{
		//alert('try'+geoloc_tries+' a:'+position.coords.accuracy);
		if(position.coords.accuracy>0 && position.coords.accuracy<5000)
		{
			ajaxload('/ajax.php?name=AndyGeo&glaenge='+position.coords.longitude+'&gbreite='+position.coords.latitude+'&gaccuracy='+position.coords.accuracy+'&galt='+position.coords.altitude+'&gspeed='+position.coords.speed+'&gheading='+position.coords.heading,'geoinfo');
		} else {
			alert('Lokalisierung nicht möglich');
		}
		geoloc_located=true;
		navigator.geolocation.clearWatch(geoloc_watch);
	}
}


var pnlivevideos=new Array();

function playerReady(obj)
{
	var player;
	player=document.getElementById(obj.id);
	player.addModelListener("state","PNLiveVideoState");
}

function PNLiveVideoState(obj)
{
	//if(obj.newstate=='COMPLETED') alert(obj.id+' - '+pnlivevideos[obj.id]);
	var cv=pnlivevideos[obj.id];
	if(obj.newstate=='COMPLETED') ajaxload('/ajax.php?name=AndyVideo&vid='+cv.vid+'&window='+cv.window+'&started='+cv.started+'&play=next&plid='+obj.id);
}

function refreshticker(tid)
{
        ajaxload('/ajax.php?name=AndyTicker&action=ticker&tid='+tid);
}

function sendpm(to)
{
        ajaxload('/ajax.php?name=AndyPM&action=write&to='+to);
}

function broadcast(type,value)
{
	top.contentiframe.location='/mod/AndyPU?show=send&atype='+encodeURI(type)+'&avalue='+encodeURI(value);
}

function scaleimage(imageobj,width,height)
{
	var imagewidth=imageobj.width;
	var imageheight=imageobj.height;
	var imageaspect=imagewidth/imageheight;
	
	var factorx=imagewidth/width;
	var factory=imageheight/height;


	var newwidth=imagewidth*factorx;
	var newheight=imageheight*factorx;

	if(newheight>=height)
	{
		newwidth=imagewidth/factory;
		newheight=imageheight/factory;
	}

	if(newwidth<10 || newheight<10)
	{
		newwidth=width;
		newheight=height;
	}

	imageobj.width=newwidth;
	imageobj.height=newheight;
}

function divpos_nearmouse(divname)
{
	var divpos=document.getElementById(divname);
	divpos.style.position='absolute';
	divpos.style.top=(mouseposY-10) + 'px';
	divpos.style.left=(mouseposX-100) + 'px';
}

function insert_tag(aTag, eTag, inputfield) {
  var input = inputfield;
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}


