document.observe("dom:loaded", setup_videos);

var cur_bot_page = 1, cur_last_page = 1;
var cur_right_page = 1, cur_right_last_page = 1;
var fz_rate;

function setup_videos(e) {
  if( !parse_url() )
		setup_video();
  
  $$('.videoFeatures li a').invoke( 'observe', 'click', video_clicked );
  $$('a.link_bot_prev').invoke( 'observe', 'click', bot_prev_click );
  $$('a.link_bot_page').invoke( 'observe', 'click', bot_page_click );
  $$('a.link_bot_next').invoke( 'observe', 'click', bot_next_click );
  
    $('videoSearch').observe('focus', vid_search_focus);
}

function setup_related_videos()
{
	cur_right_page = 1; 
	cur_right_last_page = 1;
	$$('#playerThumbs li a').invoke( 'observe', 'click', video_clicked );
	$$('#playerMenu #pagination a.previous').invoke( 'observe', 'click', right_prev_click );
  $$('#playerMenu #pagination a.next').invoke( 'observe', 'click', right_next_click );
}

function parse_url()
{
	if(window.location.hash == "")
		return false;
	
	var vidID = window.location.hash.replace("#", "");	
	
	if( vidID == "" || !is_positive_int(vidID) )
		return false;
		
	load_video(vidID);
	return true;	
}

function setup_video()
{	
	var fvars = $F('vidPath');
	var params = { wmode: "opaque", flashvars: fvars, allowScriptAccess: "sameDomain", allowFullScreen: "true"   };	
	swfobject.embedSWF("/flash/videoPlayer.swf", "videoPlayer", "544", "340", "9.0.0", false, false, params);
	try{
	
	new FancyZoom('email_link');
	new FancyZoom('embed_link');
	new FancyZoom('rate_link');
	new FancyZoom('share_link');
  
  $$('#starBar ul li a').invoke( 'observe', 'click', rating_star_click );
  
  if( $('vidTag') )
		$('vidTag').observe('change', select_tag);
  
  var caption_more_link = $('link_caption_more');
  var caption_less_link = $('link_caption_less');
  
  if(caption_more_link)
		caption_more_link.observe('click', caption_more_click);
		
	if(caption_less_link)
		caption_less_link.observe('click', caption_less_click);		
	
	var gallery_right = $('vidGallery_right');
	var title = gallery_right.down('h1');
	
	document.title = "Titleist.com - " + title.innerHTML;
		
  setup_related_videos();
  } catch(e) { alert(e.message); }
}

function video_clicked(e) {
	//alert('clicked');
	var atag = e.element().up('a');
	var querystring = atag.href.toQueryParams();
	e.stop();
	load_video(querystring.id);
}

function load_video(vidid) {		
	var url = '/videos/load_video.asp?id=' + vidid
	
	
	new Ajax.Updater( $('vidGallery'), url, {
		method: 'get',
		evalScripts: true,
		onComplete: function() {
			window.location.hash = vidid;
			setup_video(); 
		}
	});
}

function caption_more_click(e) {
	var elem = e.element();
	
	$('caption_less').hide();
	$('caption_more').show();
	e.stop();
}

function caption_less_click(e) {
	var elem = e.element();
	
	$('caption_more').hide();
	$('caption_less').show();
	e.stop();
}

function rating_star_click(e) {
	var elem = e.element();

	var ratingNum = elem.id.replace('star', '');
	e.stop();
	rate_content('video', $F('vidID'), ratingNum, 'rating_result');
}

function rate_content(contenttype, objID, rating, elem)
{
	var url = '/videos/rate_content.asp?contenttype=' + contenttype + '&id=' + objID + '&rating=' + rating;
	
	new Ajax.Updater( elem, url, {
		method: 'get',
		evalScripts: true
	});
}

function vid_search_focus(e) {
  var input = $('videoSearch');
  if( !input ) return;
  //if( input.value == 'Search' )
    input.value = '';
}

function right_prev_click(e) {
	cur_right_page--;
	move_right_nav();
	e.stop();
}

function right_next_click(e) {
	cur_right_page++;
	move_right_nav();
	e.stop();
}

function select_tag(e) {
	url = '/videos/related_videos.asp?vidID=' + $F('vidID') + '&tagID=' + $F('vidTag');		
	new Ajax.Updater( $('related_vids'), url, {
		method: 'get',
		evalScripts: true,
		onComplete: function(transport) {
			setup_related_videos();
		}
	});
	
}

function get_right_last_page() {
	return parseInt($('max_page').innerHTML);
}

function move_right_nav() {
	if(cur_right_page < 1)
		cur_right_page = 1;
	
	if( cur_right_page > get_right_last_page() )
		cur_right_page = 1;
		
	var height = 226;
	var shift = (cur_right_page - 1) * height;

	$('playerThumbs').setStyle({ top: '-' + shift + 'px'});
	$('current_page').innerHTML = cur_right_page;
}


function bot_page_click(e) {
	var elem = e.element();
	cur_bot_page = parseInt(elem.innerHTML); 
	move_bot_nav();		
	e.stop();
}

function get_current_page()
{
	
	$$('#home_features li.selected table.features_pagination').each(function(node){
		 cur_bot_page = parseInt(node.attributes["page_number"].value);
	});	
	
	return cur_bot_page;
}

function get_last_page()
{

	$$('#home_features li.selected table.features_pagination').each(function(node){
		 cur_last_page = parseInt(node.attributes["last_page"].value);
	});	
	
	return cur_last_page;
}

function set_current_page(page_number)
{
	cur_bot_page = page_number;
	$$('#home_features li.selected table.features_pagination').each(function(node){
		 node.attributes["page_number"].value = cur_bot_page;
	});		
}

function bot_prev_click(e) {
	get_current_page();
	cur_bot_page--;
	move_bot_nav();
	e.stop();
}

function bot_next_click(e) {
	get_current_page();
	cur_bot_page++;
	move_bot_nav();
	e.stop();
}

function move_bot_nav() {
	if(cur_bot_page < 1)
		cur_bot_page = 1;
	
	if( cur_bot_page > get_last_page() )
		cur_bot_page = 1;
		
	var width = 950;
	//var height = 160;
	//var offset = 0;
	var shift = (cur_bot_page - 1) * width;

	//var shift = (cur_bot_page - 1) * height * -1 + offset;
	$$('#home_features li.selected .videoFeatures').each(function(node){
		node.setStyle({ left: '-' + shift + 'px'});
		//node.setStyle({ marginLeft: '-' + shift + 'px'});
		//node.setStyle({ top: shift + 'px'});
		//new Effect.Move(node, { x: shift, y: 0, mode: 'absolute' });
	});	
	
	$$('#home_features li.selected a.link_bot_page').each(function(node){
		//node.setStyle({ left: '-' + shift + 'px'});
		var td = node.up('td');
		if( parseInt(node.innerHTML) == cur_bot_page )
			td.addClassName('selected');
		else
			td.removeClassName('selected');
	});	

	set_current_page(cur_bot_page);
}

function is_positive_int(sText)
{
	if(isNaN(parseInt(sText)))
		return false;
	else
		return true;
}