jQuery(document).ready(function(){
	
	$('a#fetchNewest').click();
	$('img#channelLoader').css('visibility','visible');
});
var tPages = "" ;
var iStart = "";
var dLength = "" ;
var overlay = 0;
function fetchSeries(start)
{
	$("ul#paging").empty();
	$('div.overlay').css('visibility','visible');
	$('div.lastMonth').hide();	
$.ajax
	({
		url : "/index/fetchseries",
		dataType : "json",
		type : "post",
		data : {
			'iDisplayStart' : start,
			'iDisplayLength' : 12 },
		success: function(data){
			$('div.overlay').css('visibility','hidden');
			if(data.aaData.length > 0)
				{
				
				$('ul#filmsGallery').empty();
				for(i in data.aaData)
					{
					
					var li ="<li class='seriesLi'><div class='filmThumb4x3 thumbImg0001'><img class='channelGalleryImg' src='"+ data.aaData[i].smallThumbnail.serverPath +"'/></div>" +
					"<div><a href='/series/index/id/" + data.aaData[i].id + "' class='filmName'><h4 class='channelName'> " + data.aaData[i].channel + " </h4><br/><h4> " + data.aaData[i].name + " </h4>" +
					"<p class='description'> " + data.aaData[i].descriptionShort + " </p></a>" +
					"</div></li>";
					$('ul#filmsGallery').append(li);
					}
				
				}
			else
			{
			$("ul#filmsGallery, ul#paging").empty();
			var li = "<li><label>No Result</label></li>";
			$('ul#filmsGallery').append(li);
			}
			//paging(data.iTotalRecords);
			}
	});	
}




function paging(tRecords)
{
	//console.log(tRecords);
	//console.log(Math.ceil(tRecords/1));
	var pages = Math.ceil(tRecords/2);
	
	$('ul.pager').empty();
	$('ul.pager').append("<li><a href='javascript:void(0);' class='first' onclick='fetchSeries(0)'>First</a></li>");
	for(var i=1;i <= pages; i++)
	{
		var page = 	parseInt(i)-1;
		$('ul.pager').append("<li><a href='javascript:void(0);' class='number' onclick='fetchSeries("+page+")'>"+i+"</a></li>");
	}
		
}

var offset = 0;//offset (pagging)
var limit = 0;//limit of items on page
var strt = 0; //paging loop variable
var timePattern = /([00:]*|[01-9:]*:)([0-90-9:0-90-9]+)/;

function fetchFilms(e)
{
	action = $(e.target).attr('id').toLowerCase();
	strt = 0;
	requestForFilms(action,offset);
}
function requestForFilms(action,offset)
{
	if(action == "fetchmostviewed")
		{
		$('div.lastMonth').show();
		}
	else
		{
		$('div.lastMonth').hide();
		}
	$('div.overlay').css('visibility','visible');
	
	$.ajax
	({
		url : "/index/" + action+"/os/"+offset,
		dataType : "json",
		type : "post",
		//data : { 'id' : id},
		success: function(data){
			$('div.overlay').css('visibility','hidden');
			if(data.films.length > 0)
				{
				$('ul#filmsGallery').empty();
				for(i in data.films)
					{
					if(data.films[i].ratingOverride == null || data.films[i].ratingOverride == 0)
					{
						if(data.films[i].rating == null || data.films[i].rating == 0){
							var rating = 0;}
						else{
						var rating = parseInt(data.films[i].rating);}
					}
					else
					{
						var rating = parseInt(data.films[i].ratingOverride);
					}
					
					if(rating != null &&  rating != 0)
					 {
						switch(rating)		//switch for set rating stars
						{
								case null:
									rating = 0;
									break;
								case 5:
									rating = parseInt((rating) * 9 - 3);
									break;
								case 7:
									rating = parseInt((rating) * 9 - 3);
									break;
								case 9:
									rating = parseInt((rating) * 9 - 4);
									break;
									default:
										rating = parseInt((rating) * 9 - 1);
										break;
						}
					 }
					else
					 {
							   rating = 0;
					 }
					
					var time = 0;
					if(data.films[i].runtimeFilm != 0 )
					{
						time = data.films[i].runtimeFilm.match(timePattern);
					}
					var freeLabel = "";
					if(data.films[i].ppvPrice == null || data.films[i].ppvPrice == 0)
						{
						var freeLabel = "<label class='freeTag'>Free</label>";
						}
					var thumbnail = data.films[i].thumbnail != null ? data.films[i].thumbnail : " ";
					var li ="<li><div class='filmThumb4x3 thumbImg0001'>" +
							"<a href='/films/index/id/" + data.films[i].id + "' style='margin:0; padding:0; box-shadow:none border:none'>" +
							"<img class='channelGalleryImg' src='" + thumbnail + "'/></a>" +
							"<a href='javascript: void(0);' rel='"+data.films[i].id+"' class='add2Q tooltip' id='addFilm"+data.films[i].id+"' onclick='queue(this)' rel=''>" +
							"<img src='/images/add.png' /></a>" +
							"<span class='timeline'>"+time[2]+"</span></div>" +
							"<div><a href='/films/index/id/" + data.films[i].id + "' class='filmName'><h4 class='channelName'> " + data.films[i].channel.name + " </h4>";
					if(data.films[i].series != null){
						li +="<br/><h4> " + data.films[i].series + " </h4>";
					}
					if(data.films[i].name.length > 60)
						{
							var filmName = data.films[i].name.substring(0,60);
							li +="<br/><h4> " + filmName +"...</h4>";
						}else{
							li +="<br/><h4> " + data.films[i].name + " </h4>";
						}
					if(data.films[i].descriptionShort.length > 70)
					{
						var filmDesp = data.films[i].descriptionShort.substring(0,70);
						li +="<p class='description'> " + filmDesp + "...</p>";
					}else{
						li +="<p class='description'> " + data.films[i].descriptionShort + " </p>";
					}
						 li +="</a></div><div>";
					if(rating > 0){
						li += "<span id='span_"+data.films[i].id+"' class='rating'><span class='2_5' style='width:"+ rating + "px'></span></span>";
					}
						li += freeLabel +"</div></li>";
					$('ul#filmsGallery').append(li);
					}
				checkQueue();

				//paging---------------------------------------------------------
				if(data.totRec > data.limit)
				  {	
					 if(data.films != null)
					   {
						$('ul#paging').empty();
						var pages = Math.ceil(data.totRec/data.limit);
						
						var first = "<li class='paginate_button first' onClick='requestForFilms(\""+action+"\",0)'>First</li>";
						$('ul#paging').append(first);
						
						limit = data.limit;  //altering global as per original limit of items on page
						var pr = parseInt(offset-limit);
						if(pr < 0)
						{
							pr = 0;
						}
						var previous = "<li class='paginate_button previous' onClick='requestForFilms(\""+action+"\","+pr+")'>previous</li>";
						$('ul#paging').append(previous);
						
						for(var  x = 1; x <= pages; x++)
							{
							strt = parseInt(x-1)*data.limit;  // global var
			
							var noLi = "<li title='"+x+"' id='selected"+strt+"' class='paginate_button paginate_no' onClick='requestForFilms(\""+action+"\","+strt+")'>"+x+"</li>";
							$('ul#paging').append(noLi);
							}
						var nx = parseInt(offset+limit);
						if(nx >= strt)
							{
							nx = strt;
							}
						var next = "<li class='paginate_button next' onClick='requestForFilms(\""+action+"\","+nx+")'>Next</li>";
						$('ul#paging').append(next);
			
						var last = "<li class='paginate_button last' onClick='requestForFilms(\""+action+"\","+strt+")'>Last</li>";
						$('ul#paging').append(last);
						
						$('ul#paging li#selected'+offset).addClass('selected');
						$('ul#paging li#selected'+offset).removeAttr('onclick');
						$('ul#paging li#selected'+offset).siblings().removeClass('selected');
						if($('ul#paging li#selected'+offset).attr('title') == pages)
							{
								$('li.next, li.last').remove();
							}
						else if($('ul#paging li#selected'+offset).attr('title') == 1)
							{
								$('li.previous, li.first').remove();
							}
						
						
						if( eval($('li.paginate_no.selected').index() < 5))
						{
							
							$('li.paginate_no:gt(8)').each(
									function(i, o) {
									if (i < 3) {
										$(o).replaceWith(
												'.');
									} else {
										$(o).remove();
									}
								});
						} else if(eval($('li.paginate_no').length +1 - $('li.paginate_no.selected').index() < 4))
							{
							
							
								$('li.paginate_no:lt('+eval($('li.paginate_no').length - 9)+')').each(
										function(i, o) {
											if (i < 3) {
												$(o).replaceWith('.');
											} else {
												$(o).remove();
											}
									});

							
						} else {
							
							
							$('li.selected').nextAll('li.paginate_no:gt(3)')
								.each(
									function(i, o) 
									{
										if (i < 1) 
										{
											$(o).replaceWith('...');
										} else {
											$(o).remove();
										}
									});
							
							$('li.selected').prevAll('li.paginate_no:gt(3)').each(
									function(i, o) {
										if (i < 1) {
											$(o).replaceWith('...');
										} else {
											$(o).remove();
										}
									});
						}
						
					   }
				  }
				else
					{
					$('ul#paging').empty();
					}
				//paging end --------------------------------------------------------------
				}
			else
				{
				$("ul#filmsGallery, ul#paging").empty();
				var li = "<li><label>No Result</label></li>";
				$('ul#filmsGallery').append(li);
				}
			}
	});	
	
}

function selectCurrentAnchor(obj)
{
$(obj).parent().siblings().removeClass('selected');
$(obj).parent().addClass('selected');
}

function queue(element)
{
	$.ajax({
		'url':'/index/queue/fid/'+$(element).attr('rel'),
		'type' : 'post',
		'dataType' : 'json',
		'success' :function(retJson){
			if(retJson == "notLogined")
				{
				ajaxLogin();		
				}
			else if(retJson == "removed")
				{
				$(element).children('img').attr('src','/images/add.png');
				}
			else if(retJson['id'] > 0)
			{
				$(element).children('img').attr('src','/images/remove.png');
			}
		} 
	});
	
}

function checkQueue()
{
	$.ajax({
		'url':'/index/checkqueue',
		'type' : 'post',
		'dataType' : 'json',
		'success' :function(retJson){
		if(typeof(retJson) == "object")
			{
			for(i in retJson)
				{
				$('a#addFilm'+retJson[i]['Film_id']).children('img').attr('src','/images/remove.png');	
				
				}
			}
		}
	});
	
}

function ajaxLogin()
{
	if(overlay == 0)
		{
		overlay = 1;
		___addOverLay();	
		var loginForm = $("<div class='centerDiv container boxShaddow' id='ajaxLoginForm'>"+
					"<h3 class='roundedHeader bgGreen'>"+
					"<span class='textLeftLoginPage'>Login</span><span class='whiteClose' onclick='hideOverlay()'></span>"+
					"</h3>"+
					"<div>"+
					"<form>"+
					"<input type='hidden' value='#email,#pwd' id='hidden'>"+
					"<div id='loginErrors' class='margins'><p style='display: none' class='error' id='login'>Either the email address is not recognizable or the password is incorrect</p>"+
					"</div>"+
					"<div class='margins'>"+
					"<label class='required' for='email'>Email Address</label>"+
					"<input type='text' value='' id='email' name='email'></div>"+
					"<div class='margins widePwdTxtBox'>"+
					"<label class='required' for='pwd'>Password</label>"+
					"<input type='password' value='' id='pwd' name='pwd'><label>"+
					"<a href='/authentication/forgetpassword'>Forgot Password?</a>"+
					"</label>"+
					"</div>"+
					"<div class='margins'>"+
					"<label></label>"+
					"<input type='button' onclick='login(event)' class='gradButtonGreen' value='Login' id='submit' name='submit'>&nbsp;&nbsp"+
					"<input type='button' onclick='hideOverlay()' class='gradButtonGreen' value='Cancel'/><label id='subscribe'>"+
					"<a href='/subscription'>or Subscribe to CrushedPlanet</a>"+
					"</label>"+
					"</div>"+
					"</form>"+
					"</div>"+
					"</div>");
					$(loginForm).appendTo('body').css({
						'width' : 637,
						'z-index' : 9999999,
						'position' : 'absolute',
						'top' : ($(window).height() - $(loginForm).outerHeight()) / 2 + $(window).scrollTop() + "px",
						'left' : ($(window).width() - $(loginForm).outerWidth()) /2 + $(window).scrollLeft() + "px",
						'background-color' : 'white',
						'padding' : 1
					});
		}
	else
		{
		var hidden = ($('#hidden').val()).split(',');
		$.each(hidden,function(i,o){
			$(o).css("box-shadow","none");
		});
		$('p#login').hide();
		$('div#ajaxLoginForm').css({
			'top' : ($(window).height() - $('div#ajaxLoginForm').outerHeight()) / 2 + $(window).scrollTop() + "px",
			'left' : ($(window).width() - $('div#ajaxLoginForm').outerWidth()) /2 + $(window).scrollLeft() + "px"
				});
		$('div#overlay, div#ajaxLoginForm, #ajaxFormLoadingImage').show();
		
		}
	
}

function ___addOverLay()
{
	___waitingImage = new Image();
	___waitingImage.src = "/images/loadingAnimation.gif";
	___waitingImage.id = "ajaxFormLoadingImage" ;
	___waitingImage = $(___waitingImage);
	
	if(___overlay == null)
	{
	___overlay = $("<div id='overlay'></div>");
	
	$(___overlay).css({
	
	backgroundColor: "black",
	opacity: 0.5,
	position: "fixed",
	top: 0,
	left: 0,
	'z-index': 999999,
	width: $(window).width(),
	height: $(window).height()
	}).appendTo('body');
	}
	
	___waitingImage.appendTo("body").css({
	
	position: "absolute",
	top: ($(window).height() - $(___waitingImage).outerHeight()) / 2 + $(window).scrollTop() + "px" ,
	left: ($(window).width() - $(___waitingImage).outerWidth()) / 2 + $(window).scrollLeft() + "px"
	
	});

}

function hideOverlay()
{
	$('div#overlay, div#ajaxLoginForm, #ajaxFormLoadingImage').hide();
}

function login(e)
{
	if($('#email').val() == "" || $('#pwd').val() == "")
		{
			var hidden = ($('#hidden').val()).split(',');
			$.each(hidden,function(i,o){
				$(o).css("box-shadow","none");
				if($(o).val() == "")
					{
					$('p#login').show();
					$(o).css("box-shadow"," 0 0 5px #FF0000");
					}
			});
		}
		else
		{
		    $.ajax({
		    	'url':'/index/login',
				'type' : 'post',
				'dataType' : 'json',
				'data' : {'email' : $('#email').val(),
						'pwd' : calcMD5($('#pwd').val()) },
				'success' :function(retJson){
					if(retJson == 'notValidUser')
						{
						$('#email').val('');
						$('#pwd').val('');
						login(e);
						}
					else
						{
						$(location).attr('href',retJson);
						}
				} 
					
			});
		}
	}

function fnGetChannelDetails(chIndex)
{
	$('img#channelLoader').css('visibility','visible');
	$.ajax({
    	'url':'/channel/getchdetails',
		'type' : 'post',
		'dataType' : 'json',
		'data' : { 'arrayIndex' : chIndex },
		'success' :function(chDetail){
			$('div.mainRight').empty();
			chArrayLength = chDetail['length'];
			var html = "<div>" +
					   "<img class='randomFilmImg' src='"+chDetail['data']['thumbnail']['serverPath']+"'/>" +
					   "</div>" +
					   "<h4 class='film_title'>"+chDetail['data']['name']+"</h4>" +
					   "<span class=\"randomFilm\"  style='height: 182px;'>"+chDetail['data']['descriptionShort']+"<br>" +
					   "</span>" +
					   "<a class=\"font12\" href=\"/channel/"+chDetail['data']['id']+"\">Click here to visit channel</a>";
			$('div.mainRight').append(html);
			$('img#channelLoader').css('visibility','hidden');
		}
	});
}

function setChannelCookie()
{
	$.cookie('channelViewed', true, {expires : 2});
}

function fnGetFilmDetails(flIndex)
{
	$('img#channelLoader').css('visibility','visible');
	$.ajax({
    	'url':'/films/getfldetails',
		'type' : 'post',
		'dataType' : 'json',
		'data' : { 'arrayIndex' : flIndex },
		'success' : function(flDetail){
			$('div.mainRight').empty();
			flArrayLength = flDetail['length'];
			var rating = parseInt(flDetail['data']['rating'])*9
			var html = "<div><img class='randomFilmImg' src='" + flDetail['data']['channel']['thumbnail']['serverPath'] + "'/>" +
					   "</div>" +
					   "<h4 class='film_title'>"+flDetail['data']['name']+"</h4>" +
					   "<span class=\"randomFilm\">"+flDetail['data']['descriptionShort']+"<br><br>" +
					   "Directed by "+flDetail['data']['DirectedBy'][0]['firstName']+" "+flDetail['data']['DirectedBy'][0]['lastName']+"<br><br>" +
					   "Running time: "+flDetail['data']['runtimeFilm']+"<br>"+
					   "<Span class=\"rating\"><span style='float:left;height:14px;width:"+rating+"px!important'>" +
					   "</span></span>" +
					   "</span>" +
					   "<a class=\"font12\" href=\"/films/index/id/"+flDetail['data']['id']+"\">Click here to watch film</a>"+ 
					   "</div>";

			$('div.mainRight').append(html);
			$('img#channelLoader').css('visibility','hidden');
		}
	});
}
