function sliceVideoId(input_videoId){
    var start = input_videoId.indexOf("?v=") + 3;
    var stop = input_videoId.indexOf("&");
    //Temp solution
    if(stop == -1){
    	var output_videoId = input_videoId.substring(start);
    }else{
    	var output_videoId = input_videoId.substring(start, stop);
    }
    return output_videoId;
}

function ajaxPlay(){
	$('.items').bind('click', function(){		
	    playing_fullVideoId = $.trim($(this).attr('name'));
	    playing_videoId = sliceVideoId(playing_fullVideoId);
	    playing_videoTitle = $.trim($(this).text());
	    isCtrlButton = 1;
	    loadNewVideo(playing_videoId, startseconds);	    
	    isCtrlButton = 0;
	    $('.items').removeClass('selected');
	    $(this).addClass('selected');
	    $('#content_title').html("<h2><a href='"+ getVideoUrl() + "' target='_blank'>" + playing_videoTitle + "</a></h2>");	    
	});
	
	$('.delete').bind('click', deleteItem);
	$('.add').bind('click', addItem);
	
    $('.items').hover(function(){    	
    	$('.items').removeClass('items_hover'); //For Firefox
        $(this).addClass('items_hover');        
    }, function(){
        $(this).removeClass('items_hover');     
    });
            
}

function next(){
	if($('#randomize').attr('checked')){		
		randomMode();
	}else{
		playing_block = $('.selected').parent().find('.items');		
		if($('.selected').length == 0){
			playing_block.eq(0).addClass('selected');
		}
		if($('.selected').nextAll().length == 0){			
			playing_fullVideoId = playing_block.eq(0).attr('name');
			playing_videoId = sliceVideoId(playing_fullVideoId);
			playing_videoTitle = $.trim(playing_block.eq(0).text());
			
			playing_block.removeClass('selected');
			playing_block.eq(0).addClass('selected');						    
		}else{
			var selected_item = $('.selected').next();
			
			if(selected_item.hasClass('delete') || selected_item.hasClass('add')){				
				var selected_item = selected_item.next();
			}			
						
			playing_fullVideoId = selected_item.attr('name');			
			playing_videoId = sliceVideoId(playing_fullVideoId);
			playing_videoTitle = $.trim(selected_item.text());						
			
			playing_block.removeClass('selected');
			selected_item.addClass('selected');				    
		}			
		isCtrlButton = 1;
		loadNewVideo(playing_videoId, startseconds);
		isCtrlButton = 0;
		$('#content_title').html("<h2><a href='"+ getVideoUrl() + "' target='_blank'>" + playing_videoTitle + "</a></h2>");
	}
}

function prev(){
	if($('#randomize').attr('checked')){
		randomMode();
	}else{
		playing_block = $('.selected').parent().find('.items');				
		if($('.selected').prevAll('.items').length == 0){			
			var i = playing_block.length - 1;			
			playing_fullVideoId = playing_block.eq(i).attr('name');
			playing_videoId = sliceVideoId(playing_fullVideoId);
			playing_videoTitle = $.trim(playing_block.eq(i).text());
			
			playing_block.removeClass('selected');
			playing_block.eq(i).addClass('selected');										    
		}else{
			var selected_item = $('.selected').prev();
			
			if(selected_item.hasClass('delete') || selected_item.hasClass('add')){				
				var selected_item = selected_item.prev();
			}
			
			playing_fullVideoId =selected_item.attr('name');			
			playing_videoId = sliceVideoId(playing_fullVideoId);
			playing_videoTitle = $.trim(selected_item.text());						
			
			playing_block.removeClass('selected');
			selected_item.addClass('selected');							    
		}	
		isCtrlButton = 1;
		loadNewVideo(playing_videoId, startseconds);
		isCtrlButton = 0;
		$('#content_title').html("<h2><a href='"+ getVideoUrl() + "' target='_blank'>" + playing_videoTitle + "</a></h2>");
	}
}

function randomMode() {
	playing_block = $('.selected').parent().find('.items');
	var itemNum = playing_block.length;	
	var randNum = Math.round(Math.random() * itemNum);	
	playing_fullVideoId = playing_block.eq(randNum).attr('name');
	playing_videoId = sliceVideoId(playing_fullVideoId);
	playing_videoTitle = $.trim(playing_block.eq(randNum).text());
	
	isCtrlButton = 1;
	loadNewVideo(playing_videoId, 0);
	isCtrlButton = 0;
	
	playing_block.removeClass('selected');
	playing_block.eq(randNum).addClass('selected');
	
	$('#content_title').html("<h2><a href='"+ getVideoUrl() + "' target='_blank'>" + playing_videoTitle + "</a></h2>");
}

function isStop(){
	isCtrlButton = 1;
	stop();
	isCtrlButton = 0;
}

function relatedPlayList(){
	var related_videoId = playing_videoId;
	if(related_videoId !== ""){
		$.ajax({
	        url: '/relatedPlayList',
	        type: 'get',
	        data: {
	    		related_videoId: related_videoId            
	        },
	        error: function(xhr){
	            alert(ERROR_RELATED);
	        },
	        success: function(response){
	        	if(response == 'ERROR_RELATED'){
	        		alert(ERROR_RELATED);
	        	}else{
	        		$('.items').unbind('click');
	            	$('#accordion>h3').eq(0).find('a').text(RELATEDLIST_TITLE);
	                $('#search_list').html(response);            
	                if($('.selected').length == 0){
	                	$('#search_list').find('.items').eq(0).addClass('selected');
	                }            
	                $('#accordion').find('h3').eq(0).trigger('click');
	                ajaxPlay();
	        	}        	
	        }
	    });
	} else {
		alert(ERROR_RELATED);
	}   
}
function addPlayingItem(){
	var add_videoId = playing_videoId;
	var add_videoTitle = playing_videoTitle;
	addToPlayList(add_videoId, add_videoTitle);
}

function addItem(){
	var add_videoId = sliceVideoId($(this).next('.items').attr('name'));
	var add_videoTitle = $(this).next('.items').attr('title');
	addToPlayList(add_videoId, add_videoTitle);
}

function addToPlayList(a_videoId, a_videoTitle){	
	if(a_videoId !== "" || a_videoTitle !== ""){
		$.ajax({
	        url: '/editPlayList',
	        type: 'post',
	        data: {	            
	            videoTitle: a_videoTitle,
	            videoId: a_videoId
	        },
	        error: function(xhr){	        	
	            alert(ERROR_ADD);
	        },
	        success: function(response){
	        	if(response == 'ERROR_ADD'){
	        		alert(ERROR_ADD);
	        	}else{
	        		$('.items').unbind('click');
		            $('#myplay_list').html(response);
		            $('#accordion').find('h3').eq(1).trigger('click');	            
		            ajaxPlay();
	        	}	        	
	        }
	    });
	}else{
		alert(ERROR_ADD_NO_INPUT);
	}   
}

function deleteItem(){
	var delete_videoId = sliceVideoId($(this).next('.items').attr('name'));	
	if(delete_videoId !== "" || delete_videoId !== null){
		$.ajax({
	        url: '/deleteItem',
	        type: 'post',
	        data: {            
				delete_videoId: delete_videoId
	        },
	        error: function(xhr){	        	
	            alert(ERROR_ADD);
	        },
	        success: function(response){
	        	if(response == 'ERROR_DELETE'){
	        		alert(ERROR_DELETE);
	        	}else{
	        		$('.items').unbind('click');
		            $('#myplay_list').html(response);
		            if($('.selected').length == 0){
		            	$('#myplay_list').find('.items').eq(0).addClass('selected');
		            }
		            $('#accordion').find('h3').eq(1).trigger('click');	            
		            ajaxPlay();
	        	}	        	
	        }
	    });
	}else{
		alert(ERROR_ADD);
	}
}

$(document).ready(function(){
	/* start - jQuery UI setting */	
    $("#progress").slider({
        range: "min",
        value: 0
    });    
    $('#progress').bind('slidechange', function(event, ui){
        var progress_change_value = $('#progress').slider('option', 'value');
        seekTo(progress_change_value);
    });    
    $('#progress').bind('slide', function(event, ui){
        var progress_slide_value = $('#progress').slider('option', 'value');
        seekTo(progress_slide_value);
    });    
    // Byteloaded status
    //$("#bytes_load").progressbar();    
    $('#volumeDiv').slider({
        range: "min",
        value: 50
    });    
    $('#volumeDiv').bind('slide', function(event, ui){
        volume_value = $('#volumeDiv').slider('option', 'value');
        setVolume(volume_value);
    });
    $("#accordion").accordion({
    	icons: {
		header: "ui-icon-circle-arrow-e",
			headerSelected: "ui-icon-circle-arrow-s"
		}
    });   
    /* end - jQuery UI setting */
    
    /* start - jQuery Theme setting */
    $('#ui-black-tie').bind('click', function(){
		$('#theme').attr('href', 'img/black-tie/jquery-ui-1.7.1.custom.css');		
	});
	$('#ui-lightness').bind('click', function(){
		$('#theme').attr('href', 'img/ui-lightness/jquery-ui-1.7.1.custom.css');		
	});
	$('#ui-blitzer').bind('click', function(){
		$('#theme').attr('href', 'img/blitzer/jquery-ui-1.7.1.custom.css');
	});
	$('#ui-redmond').bind('click', function(){
		$('#theme').attr('href', 'img/redmond/jquery-ui-1.7.1.custom.css');
	});
	/* end - jQuery Theme setting */
	
	//Set Focus
	$('#search_term').focus();
});

$(document).ready(function() {
	//Wrap Resizable
	$("#wrapper").resizable({
		maxHeight: 1000,
		maxWidth: 1400,
		minHeight: 580,
		minWidth: 900		
	});
});

$(document).ready(ajaxPlay);

$(document).ready(function(){
    $('#form').submit(function(){
        $.ajax({
            url: '/search',
            type: 'get',
            data: {
                search_term: $('#search_term').val(),
                cat: $('#cat').val()                
            },
            error: function(xhr){
                alert(ERROR_SEARCH);
            },
            success: function(response){
            	if(response == 'ERROR_SEARCH'){
            		alert(ERROR_SEARCH);
            	}else{
            		$('.items').unbind('click');
                	$('#accordion>h3').eq(0).find('a').text(SEARCHLIST_TITLE);
                    $('#search_list').html(response);
                    if($('.selected').length == 0){
                    	$('#search_list').find('.items').eq(0).addClass('selected');
                    }
                    $('#accordion').find('h3').eq(0).trigger('click');
                    ajaxPlay();
            	}            	
            }
        });
    });
    
    $('#search_loading').ajaxStart(function(){
    	$('#search_term').attr('disabled', true);
    	$('#ajaxSubmit').attr('disabled', true);
    	$('#cat').attr('disabled', true);
    	$(this).show();
    });
    $('#search_loading').ajaxStop( function() {
    	$('#search_term').attr('disabled', false);
    	$('#ajaxSubmit').attr('disabled', false);
    	$('#cat').attr('disabled', false);
    	$(this).hide();
    });
});

$(document).ready(function(){
    // <![CDATA[
    
    // allowScriptAccess must be set to allow the Javascript from one 
    // domain to access the swf on the youtube domain
    var params = {
        allowScriptAccess: "always",
        bgcolor: "#cccccc"
    };
    // this sets the id of the object or embed tag to 'myytplayer'.
    // You then use this id to access the swf and make calls to the player's API
    var atts = {
        id: "myytplayer"
    };
    swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "100%", "400", "8", null, null, params, atts);
    //]]>
});