var playlistScrollTween;
var playlistJumpTween;
var playlistJumpScrollTween;

function jumpScrollPlaylist(scrollLeft) {
var currScroll = document.getElementById('playlistholder').scrollLeft;
playlistJumpScrollTween =  new Tween(document.getElementById('playlistholder'),'scrollLeft',Tween.regularEaseInOut,currScroll,scrollLeft,0.5,'');
playlistJumpScrollTween.start();
}

function jumpPlaylist(direction) {

playlistscrollTween.stop();


var currScroll = document.getElementById('playlistholder').scrollLeft;
var totalScroll = parseInt(document.getElementById('playlist').style.width.replace("px",""))-870;

switch(direction) {

case "left":
var newScroll = 0;
break;
case "right":
var newScroll = totalScroll;
break;
}

playlistJumpTween =  new Tween(document.getElementById('playlistholder'),'scrollLeft',Tween.regularEaseOut,currScroll,newScroll,0.5,'');
playlistJumpTween.start();

}


function scrollPlaylist(direction) {

if(playlistJumpTween) playlistJumpTween.stop();

var currScroll = document.getElementById('playlistholder').scrollLeft;
var totalScroll = parseInt(document.getElementById('playlist').style.width.replace("px",""))-870;

switch(direction) {

case "left":
var newScroll = 0;
var distanceScroll = currScroll;
break;
case "right":
var newScroll = totalScroll;
var distanceScroll = totalScroll - currScroll;
break;

}

var timeScroll = Math.round((distanceScroll / 250)*100)/100;

playlistscrollTween =  new Tween(document.getElementById('playlistholder'),'scrollLeft',Tween.regularEaseOut,currScroll,newScroll,timeScroll,'');
playlistscrollTween.start();

}

function stopPlaylistScroll() {
playlistscrollTween.stop();
}


function readMore(toMore) {

if(toMore) {
document.getElementById('playeroptionsHolderleft').style.display='block';
document.getElementById('playeroptionsHolderDescRest').style.display='block';
document.getElementById('buttonLeft').className='buttonLeftCorner';
if(document.getElementById('playeroptionsHolderLessButton')) document.getElementById('playeroptionsHolderLessButton').style.display='block';
if(document.getElementById('playeroptionsHolderMoreButton')) document.getElementById('playeroptionsHolderMoreButton').style.display='none';
} else {
document.getElementById('playeroptionsHolderleft').style.display='none';
document.getElementById('playeroptionsHolderDescRest').style.display='none';
document.getElementById('buttonLeft').className='buttonLeft';
if(document.getElementById('playeroptionsHolderLessButton')) document.getElementById('playeroptionsHolderLessButton').style.display='none';
if(document.getElementById('playeroptionsHolderMoreButton')) document.getElementById('playeroptionsHolderMoreButton').style.display='block';

}


}


function switchPlayerOptionsTab(page, linkObject) {

document.getElementById('playeroptionsHolderShareButton').className='tabItem';
document.getElementById('playeroptionsHolderDescButton').className='tabItem';
document.getElementById('playeroptionsHolderBlogButton').className='tabItem';
linkObject.className='tabItemSelect';

switch(page) {
case 1:
document.getElementById('playeroptionsHolderShare').style.display='none';
document.getElementById('playeroptionsHolderDesc').style.display='block';
document.getElementById('playeroptionsHolderBlog').style.display='none';
break;
case 2:
readMore(false);
document.getElementById('buttonLeft').className='buttonLeft';
document.getElementById('playeroptionsHolderShare').style.display='block';
document.getElementById('playeroptionsHolderDesc').style.display='none';
document.getElementById('playeroptionsHolderBlog').style.display='none';
break;
case 3:
readMore(false);
document.getElementById('buttonLeft').className='buttonLeft';
document.getElementById('playeroptionsHolderShare').style.display='none';
document.getElementById('playeroptionsHolderDesc').style.display='none';
document.getElementById('playeroptionsHolderBlog').style.display='block';
break;
}

}


function refreshNextField() {
sendData("","/comp/nextfield.php","nextVideoFieldHolder");
}
function refreshVideoButtons() {
sendData("","/comp/video_buttons.php","videoButtonHolder");
}
function refreshPlaylist(firstRun) {
if(firstRun == true) {
autoScroll = true;
} else {
autoScroll = false;
}
sendDataPlaylist("","/comp/playlist.php","playlistholder", autoScroll);
savePlaylistCookie();
}

function addPlaylist(id) {
sendDataNoResp("","/actions.php?a=100&id="+id, true)
}

function clearPlaylist() {
sendDataNoResp("","/actions.php?a=101", true)
}

function setPlaylistBuffer(value) {
document.getElementById("loadImage").src = "/actions.php?a=102&newOrder="+value;
}

function setPlaylist() {
sendDataNoResp("","/actions.php?a=103", true);
}

function deleteFromPlaylist(id) {
sendDataNoResp("","/actions.php?a=104&id="+id, true);
}

function savePlaylistCookie() {
sendDataNoResp("","/actions.php?a=105", false);
}

function getNextVideo() {

var nextPageValue = document.getElementById('nextVideoURLField').value;
if(nextPageValue != "") getPage(nextPageValue);

}

function sendDataPlaylist(param, page, object, autoScroll)  {
//CHECK BROWSER
if(document.all) {
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
var XhrObj = new XMLHttpRequest();
}
var content = object;
XhrObj.open("POST", page);
XhrObj.onreadystatechange = function() {
if (XhrObj.readyState == 4 && XhrObj.status == 200) {
document.getElementById(object).innerHTML = XhrObj.responseText;


// START SORTING
var itemCount = parseInt(document.getElementById(object).firstChild.className);

if(itemCount == 0) itemCount = 1;
var playlistwidth = (itemCount * 160-10);
document.getElementById("playlist").style.width = playlistwidth+"px";
Position.includeScrollOffsets = true;

Sortable.destroy('playlist');
Sortable.create('playlist',{ghosting:false, constraint:false, overlap: 'horizontal', scroll: 'playlistholder', hoverclass:'over',onChange:function(element){
var totElement = itemCount;
var newOrder = Sortable.serialize(element.parentNode);
for(i=1; i<=totElement; i++){
newOrder = newOrder.replace("playlist[]=","");
newOrder = newOrder.replace("&",";");
}

setPlaylistBuffer(newOrder);

}
});



if(autoScroll) {
var playlistObject = document.getElementById(object); 
var allTitles = playlistObject.getElementsByClassName("playlistItemLabelFirst");
var selectPosition = allTitles[0].id.replace("playlistclass_","");

var selectScroll = parseInt(selectPosition)*160;
jumpScrollPlaylist(selectScroll);
}


}}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}






function switchShow(objectT, toOpen) {

var thisObject = document.getElementById(objectT);

switch(thisObject.toString()) {
case "[object HTMLElement]":
var displayStyle = "inline";
break;
case "[object HTMLTableRowElement]":
var displayStyle = "table-row";
break;
default:
var displayStyle = "block";
break;
}

if(toOpen && thisObject.style.display=="none") {
thisObject.style.display=displayStyle;
var FadeIn = new OpacityTween(thisObject,Tween.StrongEaseIn, 0, 100, 0.2);
FadeIn.start();
} 

if(!toOpen) {
var FadeOut = new OpacityTween(thisObject,Tween.StrongEaseOut, 100, 0, 0.2);
FadeOut.start();
FadeOut.onMotionFinished = function() {
thisObject.style.display="none";
}

}

}



function switchShowSimple(objectT, toOpen) {

var thisObject = document.getElementById(objectT);

switch(thisObject.toString()) {
case "[object HTMLElement]":
var displayStyle = "inline";
break;
case "[object HTMLTableRowElement]":
var displayStyle = "table-row";
break;
default:
var displayStyle = "block";
break;
}

if(toOpen && thisObject.style.display=="none") {
thisObject.style.display=displayStyle;
} 

if(!toOpen) {
thisObject.style.display="none";
}

}

function getPage(page) {
if(page != "") document.location.href=page;
}


//VOTING

function selectVotes(value) {
for(i=1;i<6;i++) {
voteObject = document.getElementById("vote_"+i);
if(i <= value) {
voteObject.src = "/images/rating_star_100.png";
} else {
voteObject.src = "/images/rating_star_50.png";
}
}
}

function refreshVoter() {
sendData("","/comp/voter.php","thanksVoteForm");
}


function sendData(param, page, object)  {
//CHECK BROWSER
if(document.all) {
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
var XhrObj = new XMLHttpRequest();
}
var content = object;
XhrObj.open("POST", page);
XhrObj.onreadystatechange = function() {
if (XhrObj.readyState == 4 && XhrObj.status == 200) {
document.getElementById(object).innerHTML = XhrObj.responseText;
}
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}




function sendDataNoResp(param, page, doRefresh)  {

if(document.all) {
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
var XhrObj = new XMLHttpRequest();
}

XhrObj.open("POST", page);
XhrObj.onreadystatechange = function() {
if (XhrObj.readyState == 4 && XhrObj.status == 200) {
			
			if(doRefresh) {
			refreshPlaylist();
			refreshVideoButtons();
			refreshNextField();
			}


}
}

XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}




document.getElementsByClassName = function(clsName) {
var retVal = new Array();
var elements = document.getElementsByTagName("*");

    for(var i = 0;i < elements.length;i++){

        if(elements[i].className.indexOf(" ") >= 0){

            var classes = elements[i].className.split(" ");

            for(var j = 0;j < classes.length;j++){

                if(classes[j] == clsName)

                    retVal.push(elements[i]);

            }

        }

        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }

    return retVal;
}

		
