


var categoriesVideosArray = new Array();
var categoriesArray = new Array();
var loadedCategoriesIndex = 0;

function showVideos(categoryId, category)
{

	if(categoryId == selectedCategoryId){
		return;
	}
	
	if(selectedCategoryId)
	{
		var currCat = document.getElementById("category" + selectedCategoryId);
		if(currCat){
			currCat.className = "linkUnderlineHoverBlueBold";
		}
	}
	selectedCategoryId = categoryId;
	var newCat = document.getElementById("category" + categoryId);
	newCat.className = "videoItemSelectedBold";
	
	if(displayCategoryIfLoaded(category)){
		return;
	}
	
	var currentVideos = document.getElementById("current-videos");
	currentVideos.innerHTML = "<img src='images/loading.gif' style='padding-left:135px; padding-top:40px;' />"
	
	var params = "category="+categoryId;
		
	new Ajax.Request("ajax/getVideosByCategoryId.php",  {
		onSuccess : function(resp) {
			//alert(resp.responseText);
			var jsonObj = eval("(" + resp.responseText + ")");
			
			if(jsonObj.videos.length == 0){
				currentVideos.innerHTML = "<h2 style='padding-left:10px; padding-top:10px;'>No Video's found for this category</h2>"
			}
			else{
				//alert(jsonObj.videos.length);
				
				var html = "";
				for(var i=0; i<jsonObj.videos.length; i++){
					html += createHtml(jsonObj.videos[i].id, jsonObj.videos[i].thumb, jsonObj.videos[i].title, jsonObj.videos[i].summary);
				}
				
				//alert(html);
				currentVideos.innerHTML = html;
				categoriesArray[loadedCategoriesIndex] = category;
				categoriesVideosArray[loadedCategoriesIndex] = jsonObj;
				loadedCategoriesIndex++;
				
			}
		},
			onFailure : function(resp) {
			alert("Oops, there's been an error.");
			//alert(resp.responseText);
		},
		method:'get',
		parameters : params
		});
	
	
}

function displayCategoryIfLoaded(category)
{
	for(var i = 0; i < categoriesArray.length; i++){
		if(categoriesArray[i] == category)
		{
			var jsonObj = categoriesVideosArray[i];
			var html = "";
			for(var j=0; j<jsonObj.videos.length; j++){
				html += createHtml(jsonObj.videos[j].id, jsonObj.videos[j].thumb, jsonObj.videos[j].title, jsonObj.videos[j].summary);
			}
			var currentVideos = document.getElementById("current-videos");
			currentVideos.innerHTML = html;
			return true;
		}
	}
	return false;
}


function createHtml(id, thumb, title, summary){
	
	var html = "<div id='video-item'>" +
			"<a href='javascript:void(0);' onclick='playVideo("+ id +");'><img id='videoImage" + id + "' class='videoThumb' align='left' width='82' height='81'  src='video/" + thumb + "' /></a>" +		
			"<a href='javascript:void(0);' class='linkUnderlineHoverBlueBold' id='videoTitle"+ id +"' onclick='playVideo("+ id +");'>" + title + "</a>" +
			"<br/><a href='javascript:void(0);' class='linkUnderlineHoverBlue' id='videoSummary"+ id +"' onclick='playVideo("+ id +");'>" + summary + "</a>" +
			"</div>";	
	return html;

}

function reloadAds(){

	var islandAdElem = document.getElementById("island-ad");
	var islandAdHTML = islandAdElem.innerHTML;
	islandAdElem.innerHTML = "";
	islandAdElem.innerHTML = islandAdHTML;
	
	var bannerElem = document.getElementById("video-banner-160-600");
	var bannerHTML = bannerElem.innerHTML;
	bannerElem.innerHTML = "";
	bannerElem.innerHTML = bannerHTML; 
	
	var topBannerElem = document.getElementById("banner-760-120");
	var topBannerHTML = topBannerElem.innerHTML;
	topBannerElem.innerHTML = "";
	topBannerElem.innerHTML = topBannerHTML; 
	
}

function trackPage(videoId){
	try{
	document.getElementById("rating-frame").src = "video-rating-frame.php?id="+videoId;
	pageTracker._trackPageview("/video.php?id="+videoId);
	}
	catch(err){
		//alert(err.message);
	}
}

function playVideo(videoId){
	
	if(selectedVideoId){
		var titleElem = document.getElementById("videoTitle" + selectedVideoId);
		var summaryElem = document.getElementById("videoSummary" + selectedVideoId);
		if(titleElem){
			titleElem.className = "linkUnderlineHoverBlueBold";
		}
		if(summaryElem){
			summaryElem.className = "linkUnderlineHoverBlue";
		}
	}
	
	selectedVideoId = videoId;
	var params = "videoId="+videoId;
	
	var titleElem = document.getElementById("videoTitle" + videoId);
	var summaryElem = document.getElementById("videoSummary" + videoId);
	titleElem.className = "videoItemSelectedBold";
	summaryElem.className = "videoItemSelected";
		
	new Ajax.Request("ajax/getVideo.php",  {
		onSuccess : function(resp) {
			//alert(resp.responseText);
			var jsonObj = eval("(" + resp.responseText + ")");
			var url = jsonObj.video.url;
			var title = jsonObj.video.title;
			var summary = jsonObj.video.summary;
			var titleHtml = "<div id='video-title'>" + title + "</div>";
            		document.getElementById("video-text").innerHTML = titleHtml + summary;

			var fileParam = "&file="+ url + "&autostart=true";
			s1.addParam('flashvars', fileParam);
			s1.write('player');
			doScroll();
			getVideoComments();
			trackPage(videoId);
			reloadAds();
			
		},
			onFailure : function(resp) {
			alert("Oops, there's been an error.");
			//alert(resp.responseText);
		},
		method:'get',
		parameters : params
		});
	
}

function getVideoComments(){
	var params = "videoId="+selectedVideoId;
		
	new Ajax.Request("ajax/getVideoComments.php",  {
		onSuccess : function(resp) {
			var jsonObj = eval("(" + resp.responseText + ")");
			//alert(resp.responseText);
			var commentsHtml = "";
			for(var i=0; i<jsonObj.comments.length;i++){
				var name = jsonObj.comments[i].name;
				var comment = jsonObj.comments[i].comment;
				var date = jsonObj.comments[i].date;
				var newDate = new Date(date);
				commentsHtml += createCommentDiv(name, comment, newDate)
			}
			var commentsDiv= document.getElementById("user-comments-container");
			commentsDiv.innerHTML = commentsHtml;
		},
			onFailure : function(resp) {
			alert("Oops, there's been an error.");
			//alert(resp.responseText);
		},
		method:'get',
		parameters : params
		});
}

var scrollDelay;
function doScroll(){

	
	var top = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
	  //Netscape compliant
	  top = window.pageYOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	  //DOM compliant
	  top = document.body.scrollTop;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	  //IE6 standards compliant mode
	  top = document.documentElement.scrollTop;
	}
	
	
	if(top < 140){
		clearTimeout(scrollDelay);
		return;
	}
	
	var timeOut = 15;
	if(top < 180){
		timeOut = 30;
	}
	
	window.scrollBy(0,-5); 
    scrollDelay = setTimeout('doScroll()',timeOut);
}

function doComment()
{
	var name = document.getElementById("name").value;
	var email = document.getElementById("email").value;
	var comment = $F('commentField');
	var params = "videoId="+selectedVideoId+"&name="+name+"&email="+email+"&comment="+comment;
	
	if(!validateFields(name, email, comment))
	{
		return;
	}
		
	var commentsDiv= document.getElementById("user-comments-container");
	new Ajax.Request("ajax/addVideoComment.php",  {
		onSuccess : function(resp) {
			//alert(resp.responseText);
			commentsDiv.innerHTML += createCommentDiv(name, comment, new Date());	
			document.getElementById("name").value='';
			document.getElementById("email").value='';
			document.myForm.commentField.value = '';
		},
			onFailure : function(resp) {
			alert("Oops, there's been an error.");
			alert(resp.responseText);
		},
		method:'get',
		parameters : params
		});
}

function validateFields(name, email, comment)
{
	
	if(name == ''){
		alert('Please enter your Name');
		return false;
	}
	if(email == ''){
		alert('Please enter your Email');
		return false;
	}
	if (!((email.indexOf(".") > 2) && (email.indexOf("@") > 0))){
		alert("Please add a valid email address.")
		return false;
	}
	if(comment == ''){
		alert('Please enter your Comment');
		return false;
	}
	return true;
		
}


function createCommentDiv(name, comment, date){

	var months=new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');

	var month = date.getMonth();
	var line1Str = months[month] + " " + date.getDate();
	
	var hour   = date.getHours();
	var minute = date.getMinutes();
	//var second = date.getSeconds();
	var ap = "am";
	if (hour   > 11) { ap = "pm";             }
	if (hour   > 12) { hour = hour - 12;      }
	if (hour   == 0) { hour = 12;             }
	if (hour   < 10) { hour   = "0" + hour;   }
	if (minute < 10) { minute = "0" + minute; }
	//if (second < 10) { second = "0" + second; }
	var timeString = hour +
	                 ':' +
	                 minute +
	  //               ':' +
	  //               second +
	                 " " +
	                 ap;

	
	var html = "<div id='comment-container'>" +
				"<div id='comment-date'>" +
					"<div id='cd-num'>"+ ++currentNumberOfComments +".</div><div id='cd-line1'>"+ line1Str + ",<br/>"+ date.getFullYear() + "</div>" +
					"<p id='cd-line2'>" + timeString + "</p>" +
				"</div>" +
				"<div id='comment2'>" +
					"<p>" + comment + "</p>" +  
					"<p id='comment-posted-by'>- Posted by <em>" + name + "</em> </p>" +
				"</div>" + 
				"</div>";
	
	//alert(html);	
	return html;
}

function showUploadWindow(){

	var myWindow = window.open('upload-youtube.php', "myWindow", "status=1,toolbar=0, menubar=0,width=400,height=400");
	myWindow.moveTo(400,100);
}




