var base_url = '/';
var isfavorited = false;

function processFavourites(videoId)
{
	var remove = isfavorited ? 1 : 0;

	$j.ajax({
		type: "POST",
		cache: false,
		data: { video_id: videoId, remove : remove, segment: segmentId },
		url: base_url + 'ajax/processFavourites.php', 
		success: function(response){
			if (response != 'error')
			{
				if(remove)
				{
					isfavorited = false;
					document.getElementById('favouriteLink').className = "display-block relative bkg-grad-video-page favorite-button";
                    $j("#textIconBtn").html("ADD TO <br /> FAVORITES");
                    
					
				}
				else
				{
					isfavorited = true;
					document.getElementById('favouriteLink').className = "display-block relative bkg-grad-video-page favorited-button";
                    $j("#textIconBtn").html("REMOVE <br /> FROM <br /> FAVORITES");
				}
			}
			else
			{
				alert('Error occured. Please reload this page and try again.');
			}
		}
	});
}

$j(document).ready(function(){
	var widthWindow = ($j(window).width() /2) - 300;
	$j("div#form_box_img").css("left" , widthWindow + "px");
	processCommentsPagination();
});

function processCommentsPagination()
{
	$j('.links-comments-pagination').live('click', function(){
		var num = $j(this).attr('page');
		if(document.getElementById('commentspage' + num))
		{
			$j('.comments-holder').hide();
			$j('#commentspage' + num).show();
			$j('ul.comments-pagination > li').removeClass('active-pag');
			$j('#commentspagination' + num).addClass('active-pag');

			var prev = num - 1;
			var next = ++num;

			$j('#commentspaginationprev').attr('page', prev);
			$j('#commentspaginationnext').attr('page', next);
		}
	});
}

function appendComment () {

	var commentText = $j('#comment_textarea').val();

	if (!commentText) {
		return;
	}

	// set the comment text to null
	$j('#comment_textarea').val('');
	$j('#comments').hide();
	$j('#loading').show();

	$j.ajax({
		type: "POST",
		dataType: 'json',
		cache: false,
		data: { comment: commentText, video_id : videoId, hash: hash, segment:segmentId },
		url: base_url + 'ajax/processComment.php',

		success: function(response){
			if (response.status != 'undefined' && response.status == 'ok' && response.html != 'undefined')
			{
				$j('#comments').html(response.html);
				processCommentsPagination();
			}
			else
			{
				alert('Error occured');
			}
			$j('#comments').show();
			$j('#loading').hide();
		},
		error: function()
		{
			alert('Server error occured');
			$j('#comments').show();
			$j('#loading').hide();
		}
	});
}

function reportComment (video_id) {
	$j.ajax({
		type: "POST",
		cache: false,
		data: { video_id : video_id  },
		url: base_url + 'ajax/reportComment.php',

		success: function(response){
			if (response != 'error') {
				$j('#report_' + video_id).html('Reported');
			}
		}
	});
}

function initSuggestPornstars()
{
	inputPsSuggestion
		.focus(function(){
			listingPornstars ();
			cleanPsSuggestion ();
		})
		.keydown(function(e){
			clearTimeout(delayTyping);
			delayTyping = false;
			var keyCode = e.keyCode || e.which;
			if(keyCode == 13 || keyCode == 38 || keyCode == 40 || keyCode == 27){
			switch (keyCode)
				{
					case 13: // enter key
						pornStarSelected ($j("#" + $j(this).attr("id")) , psSelectedName , psSelectedId);
						cleanPsSuggestion ();
					break;
					
					case 38: // up arrow key 
						if(arrowVal > 0){ 
							arrowVal --;
						}
						arrowsAction (arrowVal , $j(this));
					break;
					
					case 40: // down arrow key
						if(arrowVal < (psNameCounter - 1)){ 
							arrowVal ++;
						}
						
						if(arrowVal > 8) {
							arrowVal = 8;
						}
						arrowsAction (arrowVal , $j(this));
					break;
					
					case 27: //escape key
						$j(this).next().addClass("display-none");  
					break;
				}
			}
		})
		.keyup(function(e){
			var keyCode = e.keyCode || e.which;
			if(keyCode == 38 || keyCode == 40 || keyCode == 13) {
			}else {
				if (delayTyping == false){
					delayTyping = setTimeout(function(){
						cleanPsSuggestion ();	
						createPsListContainer($j(e.currentTarget).attr("id"));
				  } , 500);
				}	
			}
			if($j(this).val() == ""){
				$j(this).attr("name" , "");
				listingPornstars ();
				cleanPsSuggestion ();
			}
		});
	
	jsPsnameTrigger.click(function () {
		if(psNameBoxOpen)
			closeNamePsContainer();
		else
			openNamePsContainer();
	});

}

function pornStarSelected (inputActive , psSelectedName , psSelectedId) {
	inputActive
		.val(psSelectedName)
		.attr("name" , psSelectedId);
	listingPornstars ();
}
	
function listingPornstars () {
	psFinalList = [ $j("#inputPS01").attr("name") , $j("#inputPS02").attr("name") , $j("#inputPS03").attr("name") , $j("#inputPS04").attr("name") ];
	psFinalName = [ $j("#inputPS01").val() , $j("#inputPS02").val() , $j("#inputPS03").val() , $j("#inputPS04").val() ];
}

function createPsListContainer (inputElement){
	$j("#" + inputElement).next().removeClass("display-none");
	var nameToMatch = $j("#" + inputElement).val();
	psNameCounter = 0;
	$j.each(pornStarsName , function( intIndex , objValue ){ 
		var matchSearch = new RegExp (nameToMatch + ".*" , "i");			
		if(objValue.match(matchSearch)){
			if(intIndex == psFinalList[0] || intIndex == psFinalList[1] || intIndex == psFinalList[2] || intIndex == psFinalList[3]){
			} else if (objValue == psFinalName[0] || objValue == psFinalName[1] || objValue == psFinalName[2] || objValue == psFinalName[3]){
			} else {
				$j("#" + inputElement).next().append($j("<li name='"+ intIndex + "'>" + objValue + "</li>"));
				psNameCounter ++;
			}
		}
	});

   $j("#" + inputElement).next().children().click(function(){
	   pornStarSelected ($j("#" + inputElement) , $j(this).text() , $j(this).attr("name"));
	   cleanPsSuggestion ();
   });
}

function arrowsAction (arrowVal , inputActive) {
	inputPsSuggestion.next().children().removeClass("active");
	inputPsSuggestion.next().children().eq(arrowVal).addClass("active");
	psSelectedName = inputPsSuggestion.next().children().eq(arrowVal).text();
	psSelectedId = inputPsSuggestion.next().children().eq(arrowVal).attr("name");
	pornStarSelected (inputActive , psSelectedName , psSelectedId);
}

function cleanPsSuggestion () {
	arrowVal = -1;
	inputPsSuggestion.next().addClass("display-none"); 
	inputPsSuggestion.next().html("");
}

function openNamePsContainer() {
  namePsContainer.stop(true).animate({
	  width: 339
  });
  namePsTriggerDim			  	
	.css("width" , "100%")
	.css("height" , "100%")
	.bind("click" , function(){
		closeNamePsContainer();
	});
	psNameBoxOpen = true;
}

function closeNamePsContainer() {
	namePsContainer.stop(true).animate({
	  width: 28
  });
  namePsTriggerDim
	.css("width" , "1px")
	.css("height" , "1px")
	.unbind("click");
  psNameBoxOpen = false;
}

function suggestPornstar()
{
	if (pageTracker)
	{
		//pageTracker._trackEvent('Video Page', 'Suggest Pornstar');
	}
	suggestPsError.addClass("display-none");

	$j.ajax({
		cache: false,
		data: {pstars: psFinalList.join(','), hash: hash, video : videoId},
		url: base_url + 'ajax/suggestPornstar.php',
		success: function(result){
			if (result=='ok') {
				submitPsButton.unbind('click');
				suggestPsConfirmation.removeClass("display-none");
				setTimeout("alreadySuggested()" , 5000);
			}
			else
			{
				suggestPsError.removeClass("display-none");
			}
		}
	});
}

// HD flipbook

var imageInterval;
var imageCurrentSwap;
var imgSwapTemp;
var currentImageObject;

$j(document).ready(function(){loadSceneRotate();});

function loadSceneRotate(domPath)
{
	if (typeof(domPath) === "undefined") domPath = '';
	else domPath+= ' ';

    $j(domPath + ".swap_image").hover(function(){
        //var id = $(this).attr("id").replace("scene_", "");
        //imageInterval = setInterval("swapImage(" + id + ")", 500);
        currentImageObject = this;
		imageInterval = setInterval(function() {swapImage(currentImageObject)}, 500);
    }, function() {
        clearInterval(imageInterval);
        currentImageObject = null;
        if ( ($j(this).data("url_beg") != undefined) && ($j(this).data("url_end") != undefined) )
        {
        	$j(this).attr("src", $j(this).data("url_beg") + $j(this).data("url_end"));
        }
    });
}

function swapImage(id)
{
	if (typeof (id) === 'object') {
		imageCurrentSwap = $j(id);
	} else {
    	imageCurrentSwap = $j("img#scene_"+ id);
	}

    var nbImages = 1;

    var meta = $j(imageCurrentSwap).metadata();
    var duration = parseInt(meta.duration);

	if(meta)
	{
	    if (duration > 0)
	    {
    		nbImages = parseInt(duration / 3);
	    }
	}

    if (nbImages < 42) return false;

    if(imageCurrentSwap.size() == 0){imageCurrentSwap = $j('div#scene_' + id + ' img');}

    if(imageCurrentSwap.data("url_beg") == undefined) {

    	var re = new RegExp("(.*/scene/[0-9]/[0-9]/[0-9]+)(/.*/([0-9]+)x.*)", "i");
		var regs = imageCurrentSwap.attr("src").match(re);
		if (regs == null) {
			// Related premium scenes on RTP have a different URL
			// http://cdn-2.dvdcdn.com/e1/v2/images/areas/tourhome/mostpopscenes/13402_160x120.jpg
            re = new RegExp("(.*/mostpopscenes/)([0-9]+)(_([0-9]+).*)", "i");
			regs = imageCurrentSwap.attr("src").match(re);
			console.log(regs);
		}

    	imageCurrentSwap.data("url_beg", regs[1]);
    	imageCurrentSwap.data("url_end", regs[2]);
    	imageCurrentSwap.data("width", regs[3]);

	}

    if(imageCurrentSwap.data("current_image") == undefined) {
    	imageCurrentSwap.data("current_image", 0);
    }
    var current_image = parseInt(imageCurrentSwap.data("current_image"));

    var next_image = 2;
    if (imageCurrentSwap.data("current_image") != 0)
    {
    	next_image = parseInt(imageCurrentSwap.data("current_image")) + 40;
    	if (next_image > nbImages)
    	{
    		next_image = 2;
    	}
    }

    imageCurrentSwap.data("next_image", next_image);

    var fNum = '' + next_image;
    while (fNum.length < 4)
    {
    	fNum = '0' + fNum;
    }

    imageSwapStatus = null;

    imgSwapTemp = new Image();
    imgSwapTemp.onerror = function(){
	    imageCurrentSwap.data("next_image", 0);
		swapImage2(false);
		clearInterval(imageInterval);
		$j(currentImageObject).unbind('hover');
		currentImageObject = null;
	};

    imgSwapTemp.onload = function(){
    	swapImage2(true);
    }

    var imgwidth = '';
    if (imageCurrentSwap.data("width") != '224')
    {
    	imgwidth = imageCurrentSwap.data("width");
    }

    imgSwapTemp.src = imageCurrentSwap.data("url_beg") + '/caps/thm'+imgwidth+'/' + fNum + '.jpg';

}

function swapImage2(status) {

    var newsrc = '';
    if (status==false) {
    	newsrc = imageCurrentSwap.data("url_beg") + imageCurrentSwap.data("url_end");
    }
    else
    {
    	newsrc = imgSwapTemp.src;
    }

    if (imageCurrentSwap.attr('src') != newsrc)
    {
    	imageCurrentSwap.data("current_image", imageCurrentSwap.data("next_image"));
    	imageCurrentSwap.attr('src', newsrc);
    }

}

// metadata plugin for jquery
(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)data=attr;}if(data.indexOf('{')<0)data="{"+data+"}";data=eval("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);

