/* Javascript-Collection of functions for SERIENWIKI.ORG */

/* Collecting and saving Comments using AJAX */
var news; 
var serie; 
var feedback; 
var times; 
var logindiv;
var logintext;

function hideloginbox(){
document.getElementById('logindiv').style.display="none"
document.getElementById('logindiv').style.visibility="hidden"
//document.getElementById('logintext').style.display="block"
}

function showloginbox(){
document.getElementById('logindiv').style.display="block"
document.getElementById('logindiv').style.visibility="visible"
//document.getElementById('logintext').style.display="none"
}

function saveSerienComments(formdata) {
		if (window.XMLHttpRequest) {
        serie = new XMLHttpRequest();
		serie.onreadystatechange = handleSerieResponse;
		serie.open("post", "/savecom.php", true);
		serie.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        serie.send(formdata);
		return false;
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        serie = new ActiveXObject("Microsoft.XMLHTTP");
        if (serie) {
			serie.onreadystatechange = handleSerieResponse;
			serie.open("post", "/savecom.php", true);
			serie.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            serie.send(formdata);
			return false;
			} else {
				alert('Fehler bei der Verarbeitung');
			}
    }
}

function handleSerieResponse() {
	var devshow = document.getElementById('devshow');
	if (serie.readyState == 4) { 
		//document.getElementById('postantwort').innerHTML = "";
		document.getElementById('postantwort').innerHTML = serie.responseText; 
		devshow.style.display = 'none';
	}
}

function saveNewsComments(formdata) {
		if (window.XMLHttpRequest) {
        news = new XMLHttpRequest();
		news.onreadystatechange = handleNewsResponse;
		news.open("post", "/savecom.php", true);
		news.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        news.send(formdata);
		return false;
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        news = new ActiveXObject("Microsoft.XMLHTTP");
        if (news) {
			news.onreadystatechange = handleNewsResponse;
			news.open("post", "/savecom.php", true);
			news.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            news.send(formdata);
			return false;
			} else {
				alert('Fehler bei der Verarbeitung');
			}
    }
}

function handleNewsResponse() {
	var devshow = document.getElementById('devshow');
	if (news.readyState == 4) { 
		//document.getElementById('postantwort').innerHTML = "";
		document.getElementById('postantwort').innerHTML = news.responseText; 
		//document.getElementById('btn').disabled = true;
		//document.n_comment.reset();
		devshow.style.display = 'none';
	}
}

function saveFeedback(formdata) {
		if (window.XMLHttpRequest) {
        feedback = new XMLHttpRequest();
		feedback.open("post", "/savefb.php", true);
		feedback.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        feedback.send(formdata);
		feedback.onreadystatechange = handleFeedback;
		return false;
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        feedback = new ActiveXObject("Microsoft.XMLHTTP");
        if (feedback) {
			feedback.onreadystatechange = handleFeedback;
			feedback.open("post", "/savefb.php", true);
			feedback.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            feedback.send(formdata);
			return false;
			} else {
				alert('Fehler bei der Verarbeitung');
			}
    }
}

function handleFeedback() {
	var devshow = document.getElementById('devshow');
	if (feedback.readyState == 4) { 
		document.getElementById('postantwort').innerHTML = feedback.responseText; 
		devshow.style.display = 'none';
	}
}

function saveTimes(formdata) {
		if (window.XMLHttpRequest) {
        times = new XMLHttpRequest();
		times.open("post", "/edittimes2.php", true);
		times.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        times.send(formdata);
		times.onreadystatechange = handleTimes;
		return false;
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        times = new ActiveXObject("Microsoft.XMLHTTP");
        if (times) {
			times.onreadystatechange = handleTimes;
			times.open("post", "/edittimes2.php", true);
			times.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            times.send(formdata);
			return false;
			} else {
				alert('Fehler bei der Verarbeitung');
			}
    }
}

function handleTimes() {
	var update_response = document.getElementById('postantwort');
	if (times.readyState == 4) { 
		update_response.innerHTML = times.responseText; 
		var eid = document.getElementById('eid').value;
        var queryString = "?eid=" + eid;
		times.open('get', '/edittimes2.php' + queryString, true);
		times.send(null);
	} 
}


/* Disable Button after Submit */
function DisabSub(btn) {
btn.disabled = true;
}

/***********************************************
* Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function pausescroller(content, divId, divClass, delay){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}

// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------

pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}
document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
setTimeout(function(){scrollerinstance.animateup()}, this.delay)
}


// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------

pausescroller.prototype.animateup=function(){
var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 50)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
setTimeout(function(){scrollerinstance.setmessage()}, this.delay)
}
}

// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------

pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}

pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}

// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------

pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)
setTimeout(function(){scrollerinstance.setmessage()}, 100)
else{
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
this.animateup()
}
}

pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}

function blurCheck(elem, what_text)	{
		if ( elem.value =='') elem.value=what_text
	}

function clickCheck(elem, what_text) {
		if ( elem.value == what_text ) elem.value=''
	}

function createXMLHttpRequest() { 
        var visit; 
        if(window.XMLHttpRequest) { 
                try { 
                        visit = new XMLHttpRequest(); 
                } catch(e) { 
                        visit = false; 
                } 
        } else if(window.ActiveXObject) { 
                try { 
                        visit = new ActiveXObject("Microsoft.XMLHTTP"); 
                } catch(e) { 
                        visit = false; 
                } 
        } 
        return visit; 
} 

var vupdate = createXMLHttpRequest(); 

function sendVisitRequest() { 
		vupdate.open('get', '/visits.php'); 
        vupdate.onreadystatechange = handleVisitResponse; 
        vupdate.send(null); 
} 

function handleVisitResponse() { 

        if(vupdate.readyState == 4){ 
				//document.getElementById('livevisits').innerHTML = "";
				document.getElementById('livevisits').innerHTML = vupdate.responseText; 
				visittimer=0;
				startvisits();
        }   
} 

var visittimer = 0;
function startvisits()
{
  if(visittimer <=20)
  {
	visittimer++;
	setTimeout("startvisits()",1000);
  }
  else
  {
	sendVisitRequest();
  }
}
startvisits();



/* Rotate DVD-Tips 

function createXMLHttpRequest() { 
        var newbanner; 
        if(window.XMLHttpRequest) { 
                try { 
                        newbanner = new XMLHttpRequest(); 
                } catch(e) { 
                        newbanner = false; 
                } 
        } else if(window.ActiveXObject) { 
                try { 
                        newbanner = new ActiveXObject("Microsoft.XMLHTTP"); 
                } catch(e) { 
                        newbanner = false; 
                } 
        } 
        return newbanner; 
} 

var bupdate = createXMLHttpRequest(); 

function sendBannerRequest() { 
		bupdate.open('get', '/newdvd.php'); 
        bupdate.onreadystatechange = handleBannerResponse; 
        bupdate.send(null); 
} 

function handleBannerResponse() { 

        if(bupdate.readyState == 4){ 
				//document.getElementById('dvdtips').innerHTML = "";
				document.getElementById('dvdtips').innerHTML = bupdate.responseText; 
				bannertimer=0;
				startbanners();
        }   
} 

var bannertimer = 0;
function startbanners()
{
  if(bannertimer <=30)
  {
	bannertimer++;
	setTimeout("startbanners()",1000);
  }
  else
  {
	sendBannerRequest();
  }
}
startbanners();
*/
