 
	function ajaxObject(){
	
		if (window.XMLHttpRequest){
			xmlhttp = new XMLHttpRequest();
			if (xmlhttp.overrideMimeType){xmlhttp.overrideMimeType('text/xml'); }
    			}else if (window.ActiveXObject){
    				try{ xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
    				catch (e){
        				try{ xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
				catch (e){}
        			}
    			}
    		if (!xmlhttp){ return false; }
    		
    		return xmlhttp;
	}



	function onYouTubePlayerReady(playerId) {
        	ytplayer = document.getElementById("myytplayer");
          	ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
          	ytplayer.addEventListener("onError", "onPlayerError");
          	ytplayer.playVideo();
        }

    	function onPlayerError(errorCode) {
        	goToNextPage2();      	
    	}

	function play() {
          if (ytplayer) {
            ytplayer.playVideo();
          }
        }

        function pause() {
          if (ytplayer) {
            ytplayer.pauseVideo();
          }
        }


   	function onytplayerStateChange(newState) {
        	if (newState == 0) goToNextPage(); 
    	}



	function ajaxSetter(url){
		

		xmlhttp = ajaxObject();
		if (!xmlhttp){ return false; }
	
		xmlhttp.open("GET", url, true);
		xmlhttp.send("");
	}


	 function showMore(baseID, flag, max) {
 		
		if(flag==1) ajaxSetter('setDisp.php?q=1');
 		
 		var uCount=0;
 		var i=1;
 		while(1 && uCount<20){
			var id = baseID + i;
			var item = document.getElementById(id);
			if(item){
				if(item.className=='hidden'){
					item.className = 'unhidden';
					break;
				}
				else if(item.className=='unhidden'){ uCount = uCount + 1; }
				
				i = i+1;
			}else{
				break;
				}
			}
 		}



 	function showLess(baseID){
		
		ajaxSetter('setDisp.php?q=-1')
		var i=1;
		var firstUnhiddenIndex = -1;
		while(1){
	
			var id = baseID + i;
			var item = document.getElementById(id);	

			if(item && item.className=='unhidden'){ 
				if(firstUnhiddenIndex == -1) firstUnhiddenIndex = i; 
			}
		
			if(!(item)){
			
				var j;
				for(j = i-1; j>firstUnhiddenIndex; j--){

					var id2 = baseID + j;
					var item2 = document.getElementById(id2);
					if(item2 && item2.className=='unhidden'){ 
						item2.className = 'hidden';
						return; 
					}
				}
				return;	
			}		
			i++;
		}
	}




	function showX(id){
	
		var item = document.getElementById(id);
		item.className = 'unhidden';

	}


	function hideX(id){

		var item = document.getElementById(id);
		item.className = 'hidden';
	}


	function pressX(uid, vid, maxDisp){

		ajaxSetter('setX.php?v='+vid);
		
		var item = document.getElementById(uid);
		if(item){ item.className = 'dead'; }

		showMore('L', 0, maxDisp);
		
		
	}
	
	
	function deleteFav(vid){
	
		var x = new Boolean(true);
		ok=x.valueOf();

		a=confirm('Are you sure you want to delete this video from your favorites?');

		if (a==ok)
		{
			ajaxSetter('deleteFav.php?v='+vid);
			tabSelect('tabFavorites');
		} 
		
		
	}
	
	
	  	
  	function ajaxLoadPage(divToLoadTo, loadingDiv, pageToFetch){

  		xmlhttp = ajaxObject();
  		if (!xmlhttp){ return false; }

  		xmlhttp.onreadystatechange=function()
     		{
       			if (xmlhttp.readyState==4 && xmlhttp.status==200)
       			{
         			document.getElementById(loadingDiv).style.display = "none";
      				document.getElementById(divToLoadTo).innerHTML = xmlhttp.responseText;
        		}
     		}


  		document.getElementById(divToLoadTo).innerHTML="";
  		document.getElementById(loadingDiv).style.display = "block";

  		xmlhttp.open("GET", pageToFetch, true);
  		xmlhttp.send("");

	}




	function loadToTabMenu(pageToFetch){
	
		var divToLoadTo = 'tabContent';
  		var loadingDiv = 'tabLoading';
  		ajaxLoadPage(divToLoadTo, loadingDiv, pageToFetch);
  	}


	function tabSelect(id, params){
	
		if(params === undefined){ params = 0; }
	
  		document.getElementById('tabPlaylist').className = "tab2";
  		document.getElementById('tabSearch').className = "tab2";
  		document.getElementById('tabGenres').className = "tab2";
  		document.getElementById('tabBuy').className = "tab2";
  		document.getElementById('tabFavorites').className = "tab2";
  		document.getElementById(id).className = "tab1";

		ajaxSetter('setTab.php?q=' + id);

  		var pageToFetch;
		if(id == 'tabPlaylist'){ pageToFetch = 'myPlaylist.php'; }
		if(id == 'tabGenres'){ pageToFetch = 'genres.php'; }
		if(id == 'tabCustom'){ pageToFetch = 'custom.php'; }
		if(id == 'tabSubreddit'){ pageToFetch = 'subreddits.php'; }
		if(id == 'tabFavorites'){ pageToFetch = 'favorites.php?q='+params; }
		
	
		
		//Special functions tabs that read data from page
		if(id == 'tabSearch'){ searchQuery(); }
		else if(id == 'tabBuy'){ amazonQuery(); }
		else{ loadToTabMenu(pageToFetch); }

		if(id == 'tabPlaylist'){
			document.getElementById('tabPlus').style.display = "inline";
			document.getElementById('tabMinus').style.display = "inline";
		}else{
			document.getElementById('tabPlus').style.display = "none";
			document.getElementById('tabMinus').style.display = "none";		
		}
		
  	}


  	function searchQuery(){
  	
  		var text = document.getElementById('searchBox').value;
  		loadToTabMenu("search.php?q="+text);
  	}
  	
  	
  	function amazonQuery(){
  	
  		var text = document.getElementById('amazonKeywords').innerHTML;
  		loadToTabMenu("amazon.php?q="+text);
  	}
  	
