function externalLinks() 
{ 
	if (!document.getElementsByTagName) return; 
		var anchors = document.getElementsByTagName("a"); 
		
	for (var i=0; i<anchors.length; i++) 
	{ 
		var anchor = anchors[i]; 
		if (anchor.getAttribute("href") && anchor.getAttribute("name") == "external") 
			anchor.target = "_blank"; 
	} 
} 
window.onload = externalLinks;


var pic_timer;
var clip_pics = new Array();

function play_slideshow(clip_id) {

stop_slideshow();

var html_obj = document.getElementById('clip_'+clip_id);
var clip_obj = clip_pics['clip_'+clip_id];

clip_obj.index = (clip_obj.index + 1) % clip_obj.images.length;
html_obj.src   = clip_obj.images[clip_obj.index].src;

pic_timer = setTimeout('play_slideshow('+clip_id+')', '500');
}


function stop_slideshow() {
	
if (pic_timer) {
	clearTimeout(pic_timer);
	}
}

function get_prev_girls() {
if (current_page>1) {
	current_page--;
	
	var offset = (current_page-1)*girls_per_page;
	var limit  = girls_per_page;

	if (girls.length-1<offset) {
		//load next girls
		$.getJSON("json/girls.php?offset="+offset+"&limit="+limit, load_girls);
		}
	else {
		//display girls
		display_girls();
		}
	}
}

function get_next_girls() {
	if (current_page<nb_pages) {
		current_page++;
		
		var offset = (current_page-1)*girls_per_page;
		var limit  = girls_per_page;

		if (girls.length-1<offset) {
			//load next girls
			$.getJSON("json/girls.php?offset="+offset+"&limit="+limit, load_girls);
			}
		else {
			//display girls
			display_girls();
			}
		}
}

function get_actor_info(actor_id, key) {

	var html_obj;
	
	//change selected thumbnails	
	for (var i=0; i<girls_per_page; i++) {
		html_obj = document.getElementById('girl_div_'+i);
		html_obj.className = (i==key) ? 'selected':'';
		}
	//update main picture
	var offset = (current_page-1)*girls_per_page;
	html_obj = document.getElementById('girl_pic');
	html_obj.src = (girls[offset+key].picture) ? profile_picture_folder + girls[offset+key].picture:'/skins/default/images/error_logo.gif';
	//update actor name
	$("#girl_name_h1").html(girls[offset+key].actor_name);
	$("#girlsTitle").html("<h2 class='shadow'>"+girls[offset+key].actor_name+"</h2><h2>"+girls[offset+key].actor_name+"</h2>");
	document.title = girls[offset+key].actor_name + " - Lesbian Factor";
	//remove answers
	for (var i=1; i<=nb_profile_questions; i++) {
		$("#profile_answer_"+i).html('');
		}
	//scrollup to content
	set_interval_step  = 0;
	//setTimeout("scroll_timer = setInterval(scrollToContent, '40')", 500);
	
	//update answers, clips and flv player
	$.getJSON("json/girl_profile.php?actor_id="+actor_id, print_actor_info);
}

function print_actor_info(actor) {
	//links template
	var actor_link_template     = '<a href="!!link!!?actor_id=!!ACTOR_ID!!" alt="!!ACTOR_NAME!!" title="!!ACTOR_NAME!!">!!ACTOR_NAME!!</a>';
	var category_link_template  = '<a href="!!link!!?category_id=!!CATEGORY_ID!!" alt="!!CATEGORY_NAME!!" title="!!CATEGORY_NAME!!">!!CATEGORY_NAME!!</a>';
	var actor_link, actors_links, category_link, categories_links;
	
	//ANSWERS
	var profile_answer;
	for (var i=1; i<=nb_profile_questions; i++) {
		$("#profile_answer_"+i).html('N/A');
		}
	for(var i in actor.answers) {
		$("#"+i).html(actor.answers[i]);
		}

	//CLIPS SCENES
	var output = "";
	for(var i in actor.clips){
		output += '<div class="girlsDvd">';
		output += '<h3>'+actor.clips[i].clip_title+'</h3>';
		output += '<p><a href="/join.php"><img src="'+actor.clips[i].cover_front+'" width="160" height="228" alt="'+actor.clips[i].clip_title+'" title="'+actor.clips[i].clip_title+'" class="cover" /></a></p>';
		output += '<p><a href="/join.php"><img src="'+actor.clips[i].cover_back+'" width="160" height="228" alt="'+actor.clips[i].clip_title+'" title="'+actor.clips[i].clip_title+'" class="backCover" /></a></p>';
		output += '<h4 class="previewTitle">Scene Preview <em>( mouse over to see more )</em></h4>';
		//THE PREVIEWS PICS
		clip_pics['clip_'+actor.clips[i].clip_id] = new Object();
		clip_pics['clip_'+actor.clips[i].clip_id].index  = 0;
		clip_pics['clip_'+actor.clips[i].clip_id].images = new Array();
		for(var j in actor.clips[i].previews){
			clip_pics['clip_'+actor.clips[i].clip_id].images[j]=new Image();
			clip_pics['clip_'+actor.clips[i].clip_id].images[j].src=actor.clips[i].previews[j];
		}
		output += '<p><a href="javascript:void(0)" onmouseover="play_slideshow('+actor.clips[i].clip_id+')" onmouseout="stop_slideshow()"><img id="clip_'+actor.clips[i].clip_id+'" name="clip_'+actor.clips[i].clip_id+'" src="'+actor.clips[i].previews[j]+'" width="307" height="224" alt="'+actor.clips[i].clip_id+'" title="'+actor.clips[i].clip_id+'" class="previewScreenshots" /></a></p>';
		//THE FLV PLAYER
		output += '<h4 class="trailerTitle">Watch DVD Trailer</h4>';
        output += '<div id="clipTrailer_'+actor.clips[i].clip_id+'" class="trailer">';
        output += '<strong>You need to upgrade your Flash Player in order to play this preview</strong>';
        output += '</div>';

        output += '<h3 class="specsTitle">'+actor.clips[i].clip_title+'</h3>';
        output += '<h5 class="length">Length : <span>'+actor.clips[i].clip_length+'</span></h5>';
        output += '<h5 class="size">Size : <span>'+actor.clips[i].clip_b_size+'</span></h5>';
        output += '<h5 class="pics">Pics : <span>'+actor.clips[i].clip_pic_num+'</span></h5>';
        
        //CATEGORIES
        output += '<h5 class="categoriesTitle">Categories :</h5>';
        category_link    = category_link_template;
        categories_links = new Array();
        for (var c in actor.clips[i].categories_links) {
	    	category_link = category_link_template.split('!!CATEGORY_ID!!').join(actor.clips[i].categories_links[c].category_id);
	    	category_link = category_link.split('!!CATEGORY_NAME!!').join(actor.clips[i].categories_links[c].category_name);
	    	category_link = category_link.split('!!link!!').join(CATEGORIES_LINK_PAGE);
	    	
	    	categories_links.push(category_link);
	        }
		output += '<p class="categories">'+categories_links.join(', ')+'</p>';
		
		//ACTORS
        output += '<h5 class="starringTitle">Starring :</h5>';
        actor_link    = actor_link_template;
        actors_links  = new Array();
        for (var a in actor.clips[i].actors_links) {
	    	actor_link = actor_link_template.split('!!ACTOR_ID!!').join(actor.clips[i].actors_links[a].actor_id);
	    	actor_link = actor_link.split('!!ACTOR_NAME!!').join(actor.clips[i].actors_links[a].actor_name);
	    	actor_link = actor_link.split('!!link!!').join(ACTORS_LINK_PAGE);
	    	
	    	actors_links.push(actor_link);
	        }
		//output += '<p class="starring">'+actors_links.join(', ')+'</p>';
		output += '<p class="starring">'+actor.clips[i].actors+'</p>';
        
        output += '<p><a href="/join.php" class="highDef button" title="High Definition Download">High Definition Download</a></p>';
        output += '<p><a href="/join.php" class="lowDef button" title="Low Definition Download">Low Definition Download</a></p>';
        output += '<p><a href="/join.php" class="streaming button" title="Video Streaming">Video Streaming</a></p>';
		output += '</div>';
	}
	
	html_obj = document.getElementById('all_clips');
	html_obj.innerHTML = output;
	
	//THE FLV PLAYER
	var s = new Array();
	for(var i in actor.clips){
		s[actor.clips[i].clip_id] = new SWFObject("/skins/default/flash/flash_player.swf","simple_player","320","240","7");
        s[actor.clips[i].clip_id].addParam("allowfullscreen","true");
        s[actor.clips[i].clip_id].addParam("wmode","transparent");
        s[actor.clips[i].clip_id].addVariable("flv",actor.clips[i].flv.flv);
        s[actor.clips[i].clip_id].addVariable("img1",actor.clips[i].flv.pic_1);
        s[actor.clips[i].clip_id].addVariable("img2",actor.clips[i].flv.pic_2);
        s[actor.clips[i].clip_id].addVariable("img3",actor.clips[i].flv.pic_3);
        s[actor.clips[i].clip_id].addVariable("width","320");
        s[actor.clips[i].clip_id].addVariable("height","240");
        s[actor.clips[i].clip_id].write("clipTrailer_"+actor.clips[i].clip_id);
	}
}
	

function load_girls(actors) {
	
var offset = (current_page-1)*girls_per_page;
var key    = 0;
for(var actor_id in actors) {
	girls[(offset+key)] = new Object();
	girls[(offset+key)].actor_id   = actors[actor_id].actor_id;
	girls[(offset+key)].actor_name = actors[actor_id].actor_name;
	girls[(offset+key)].thumbnail  = (typeof(actors[actor_id].profile_extras.profile_thumbnail)!="undefined") ? actors[actor_id].profile_extras.profile_thumbnail:'';
	girls[(offset+key)].picture    = (typeof(actors[actor_id].profile_extras.profile_picture)!="undefined")   ? actors[actor_id].profile_extras.profile_picture:'';
	if (girls[(offset+key)].thumbnail) {
		//preload profile pictures
		profile_pictures[(2*(offset+key))] = new Image();
		profile_pictures[(2*(offset+key))].src = profile_picture_folder + girls[(offset+key)].thumbnail;
		profile_pictures[(2*(offset+key)+1)] = new Image();
		profile_pictures[(2*(offset+key)+1)].src = profile_picture_folder + girls[(offset+key)].picture;
		}
	key++;
	}
display_girls();
}


function display_girls() {

//change page info
$('#pageCountTop').html('page '+current_page+' of '+nb_pages);
$('#pageCountBottom').html('page '+current_page+' of '+nb_pages);

//change thumbnails
var html_obj;
var offset = (current_page-1)*girls_per_page;
for (var key=0; key<girls_per_page; key++) {
	html_obj = document.getElementById('girl_div_'+key);
	//reset selected cursor
	html_obj.className = '';
	if (offset+key<girls.length) {
		html_obj.style.display = '';
		//change thumbnail link
		html_obj = document.getElementById('girl_link_'+key);
		html_obj.href = "javascript:get_actor_info("+girls[offset+key].actor_id+","+key+")";
		//change actor name
		html_obj = document.getElementById('girl_name_'+key);
		html_obj.href = "javascript:get_actor_info("+girls[offset+key].actor_id+","+key+")";
		html_obj.innerHTML = girls[offset+key].actor_name;
		//change thumbnail display info
		html_obj = document.getElementById('girl_thumbnail_'+key);
		html_obj.src = girls[offset+key].thumbnail ? profile_picture_folder+girls[offset+key].thumbnail:'./skins/default/images/girl-sample1.jpg';
		html_obj.alt = girls[offset+key].actor_name;
		html_obj.title = girls[offset+key].actor_name;
		}
	else {
		html_obj.style.display = 'none';
		}
	}
//display 1st girls info
get_actor_info(girls[offset].actor_id, 0);
}


function showSubmit() 
{
	document.getElementById('fogSubmit').style.height = document.body.parentNode.scrollHeight+'px';
	document.getElementById('fogSubmit').style.display = 'block';
	document.getElementById('tipSubmit').style.display = 'block';	
}



function hideSubmit() 
{
	parent.document.getElementById('fogSubmit').style.display='none';
	parent.document.getElementById('tipSubmit').style.display='none';			
}	


var scroll_timer;
var set_interval_step = 0;
function scrollToContent() {

var pageHeight   = document.body.scrollHeight;
var scrollHeight = f_clientHeight();
var pos_final    = 1;
var distance     = pos_final - f_scrollTop();

var move = (Math.abs(distance)>5) ? Math.floor(distance/3):distance;
window.scrollBy(0, move);
if (move == distance) {
	clearInterval(scroll_timer);
	}
if (set_interval_step>100) {
	window.scrollTo(0, pos_final);
	clearInterval(scroll_timer);
	}
set_interval_step++;
}


function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}


function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}

function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function check_girls() {

var output = "current_page: "+current_page+"\n";
for (var i in girls) {
	output  += "["+i+"] "+girls[i].actor_id+"\n";
	}
alert(output);
}