$(document).ready(function(){
    //add the html to the page
    $('body').append(eBriefcaseHTML());
    // hide the overlay
    $('#eBriefCase_overlay').hide();
    $('#eBriefCase_box').hide();
    
    //declare the two lists
    var eBriefcaseList = new Array(); //the top list
    var eBriefcase_portfolioList = new Array(); //the bottom list
    
    $('#generate_master_pdf').hide(); 
    //close overlay
    $('#eBriefCase_overlay').live('click', function(){
        $('#eBriefCase_overlay').hide();
        $('#eBriefCase_box').hide();    
    });
    $('#close_eBriefCase_box').live('click', function(){
        $('#eBriefCase_overlay').hide();
        $('#eBriefCase_box').hide();    
    });
    
    
    // open box on click
    $('#eBriefcase').click(function(){
        $('#eBriefCase_overlay').show();
        $('#eBriefCase_box').show();   
        DisplayeBriefcaseList();        
        return false;
    });    
    
    // add a page to briefcase
    $('.add_page_to_briefcase').live('click', function()
    {   
		//ajax call to add page to cookie
        $.ajax({
  				type: 'POST',
				url: "/AddeBriefcaseCookie.php",  					
				success: function(data){ 
				                         if (data.success == 'new item') 
				                            addUrlTolist(window.location); 
				                         else // page is already in cookie
				                            alert('This page is already in your eBriefcase');   
				                       },
				dataType: "json"
		});        
		return false;
    });
    
    // add/remove a page to your large pdf
    $('.addUrlToMany').live('click', function()
    {
        //$('#eBriefcase_portfolio_list_pdf').show();
        
        //get url to be added/removed
        var url = $(this).parents('.eBriefcaseItem').find('.eBriefcaseItem_url a').text();
        
        // this statement kind of reads backwards         
        if (! $(this).is(':checked')) //if the box is currently unchecked, then it was checked when you clicked on it
        {
            //find url in top list and remove
            var pos = $.inArray(url, eBriefcase_portfolioList );
  			eBriefcase_portfolioList.splice (pos, parseInt(pos + 1));
        }
        else //else the box was checked when you clicked on it       
            eBriefcase_portfolioList[eBriefcase_portfolioList.length] = url;
        
        if (eBriefcase_portfolioList.length > 1)
            $('#generate_master_pdf').show();
        else 
            $('#generate_master_pdf').hide();
        
        $('#eBriefcase_portfolio_list_pdf_count').text(eBriefcase_portfolioList.length);
    });
    
    // delete from ebfriefcase
    $('.delete').live('click', function()
    {
        // get url to remove
        var urlToDelete = $(this).parents('.eBriefcaseItem').find('.eBriefcaseItem_url a').text();
        // assign $(this) to a var to be able to access it later
        var $this_row = $(this);
        
        // ajax call to remove url from cookie
        $.ajax({
  				type: 'POST',
				url: "/RemoveeBriefcaseCookie.php", 
				data: { url: urlToDelete },			 				
				success: function(){
  						                // remove from top list
  						                $this_row.parents('.eBriefcaseItemRow').remove();
  						                var pos = $.inArray(urlToDelete, eBriefcaseList );
  						                eBriefcaseList.splice (pos, parseInt(pos + 1));
  						                
  						                pos = $.inArray(urlToDelete, eBriefcase_portfolioList );
  						                eBriefcase_portfolioList.splice (pos, parseInt(pos + 1));
  						                if (eBriefcase_portfolioList.length <= 1)
  						                    $('#generate_master_pdf').hide();
  						                
                                        pos = $.inArray(urlToDelete, eBriefcase_portfolioList );
    						            eBriefcase_portfolioList (pos, parseInt(pos + 1));
  								   }
		});
		return false;
    });
    
    $('#check_all').live('click', function(){
        eBriefcase_portfolioList = eBriefcaseList.slice();
        if (eBriefcase_portfolioList.length > 1)
            $('#generate_master_pdf').show();
        
        $('#eBriefcase_list li.eBriefcaseItemRow').each(function(){
            $(this).find('.addUrlToMany').attr("checked", "checked");
        });

        return false;
    });
    
    $('#clear_all').live('click', function(){
        eBriefcase_portfolioList = new Array();
        $('#generate_master_pdf').hide();
        
        $('#eBriefcase_list li.eBriefcaseItemRow').each(function(){
            $(this).find('.addUrlToMany').removeAttr("checked");
        });        
        
        return false;
    });
    
    // delete url from big pdf
    $('.delete_portfolio_link').live('click', function()
    {
        // get url to remove
        var urlToDelete = $(this).attr('href');
        $(this).parents('li').remove();                

        var pos = $.inArray(urlToDelete, eBriefcase_portfolioList );
        if (pos >= 0)
  		    eBriefcase_portfolioList.splice (pos, parseInt(pos + 1));
  		if (eBriefcase_portfolioList.length < 1)    
            $('#generate_master_pdf').hide();
        var curr_url;
        $('#eBriefcase_list li.eBriefcaseItemRow').each(function(){
           curr_url = $(this).find('.eBriefcaseItem_url a').text();
           if (curr_url == urlToDelete)
                $(this).find('.addUrlToMany').removeAttr("checked");            
        });
        
		return false;
    });
    
    $('#generate_master_pdf').live('click', function(){
        var pdfs = '/PDF.html?url=';
        $('#eBriefcase_list li.eBriefcaseItemRow').each(function(){
           $(this).find('.eBriefcaseItem_url a').text();
           if ($(this).find('.addUrlToMany').is(':checked') )
                pdfs += $(this).find('.eBriefcaseItem_url a').attr('href')+';';            
        });

        $(this).attr('href', pdfs );
    });
    
    $( "#eBriefcase_list" ).sortable();
    
    // get ebfriefcase already stored in cookie
    function GeteBriefcaseListFromCookie()
    {
        // ajax call to get ebfriefcase
        $.ajax({
  				type: 'POST',
				url: "/GeteBriefcaseCookie.php",  	
				async: false,			
  				success: function(data){ if(data.eBriefcaseList != 'empty') eBriefcaseList =  data.eBriefcaseList }, // set global list to current cookie
  				dataType: "json"
		});
		return 0;
    }
    
    //add url to top list
    function addUrlTolist(url)
    {
        // clear empty text if there was any
        $('#ifEmpty').text('');
        
        // assumed url is not already in list, this gets checked in the ajax call
        // add url to list and display
        eBriefcaseList[eBriefcaseList.length] = url;            
        newHTML = AddBriefcaseRow( url );
        //$('.eBriefcaseItemRow:last').css({'border':'1px solid #000', 'margin-bottom': '10px' });        
        $('#eBriefcase_list').prepend(newHTML);
        //$('.eBriefcaseItemRow:last').css({'border':'none', 'margin-bottom': '0' });        
    }
    
    //display top list
    function DisplayeBriefcaseList()
    {
        // if there are already items in the list then there is nothing new to do        
        if (eBriefcaseList.length == 0)
        {        
            // get list from cookie
            GeteBriefcaseListFromCookie();      
            if (eBriefcaseList.length > 0 )
            {
                //delete list is empty text
                $('#ifEmpty').text('');
                
                //add all items
                var newHTML='';
                for (var i = 0; i < eBriefcaseList.length; i++)
                    newHTML += AddBriefcaseRow( eBriefcaseList[i] );        
                $('#eBriefcase_list').append(newHTML);
            }
            else // list is empty
                $('#ifEmpty').text('your list is empty');
        }
        //$('.eBriefcaseItemRow:last').css({'border':'none', 'margin-bottom': '0' });
    }

    // add html to add a new row
    function AddBriefcaseRow( url )
    {
        url = new String(url);
        var url_parts = url.split('.com');
        url_parts = url_parts[ parseInt(url_parts.length - 1) ];
        url_parts = url_parts.split('/');
        
        var name = url_parts[ parseInt(url_parts.length - 1) ];
        name = name.split('-');
        name = name.join(' ');
        
        var page = '';
        /*
        if (url_parts.length > 1)
        {
            page = url_parts[ parseInt(url_parts.length - 2) ];
            page = page.split('-');
            page = page.join(' ');
            page += ': ';
        }
        */    
        
        newHTML = '<li class="eBriefcaseItemRow draggable"><ul class="eBriefcaseItem">'+            
                      '<li class="option"><input type="checkbox" class="addUrlToMany"/></li>'+
                      '<li class="eBriefcaseItem_url">'+
                      '     <div class="pageName">'+ page + name +'</div>' +
                      '     <a href="'+url+'" target="_blank">'+url+'</a>' +
                      '</li>'+                             
                      '<li class="option"><a href="#" class="delete">X</a></li>'+
                      '<li class="pdf"><a href="/PDF.html?url='+url+'" class="pdf">PDF</a></li>'+
                      '</ul></li>'
        return newHTML;
    }
    

    function eBriefcaseHTML()
    {
        
        var eBriefcase_html =  '<div id="eBriefCase_overlay"></div>'+
            '<div id="eBriefCase_box" >'+
            '    <div id="briefCase_handle">'+
            '       <div id="briefCase_handle_top"></div>'+
            '       <div id="briefCase_handle_bottom ">'+
            '           <div id="briefCase_handle_left"></div><div id="briefCase_handle_right"></div>'+
            '       </div>'+
            '   </div>'+
            '   <div id="eBriefCase">'+
            '       <div id="add_page">' + 
            '           <a href="#" class="add_page_to_briefcase" title=" Add this page">+</a>'+            
            '           <span> Add this page </span>'+            
            '       </div>' +
            '       <h3>Your eBriefcase </h3>'+
            '       <a href="" id="close_eBriefCase_box">X</a>'+   
            '       <p id="eBriefCase_explanation">'+
            //'           Welcome to the eBriefcase Management Center. As you assemble your pernsonalized eBreifcase, you may drag to reorder or delete items. Once assembled,'+    
            //' you can create and save or email a PDF of your eBriefcase.'+    
            '           Welcome to your eBriefcase Management Center. As you browse this website you may assemble your pernsonalized eBreifcase by adding pages using the button on the left. Once assembled,'+    
            ' you can create individual PDFs or you can create a personalized PDF by clicking or dragging pages to the box below. Once you have assembled your '+    
            ' personalized PDF, you can drag to re-order your pages in the order of your choosing.'+    
            '       </p>'+  
            '    <div class="clear"></div>' +    
            '   </div>'+
            '   <div id="eBriefcase_list_container">' +
            '       <div id="eBriefcase_check_clear_all">' +
            '           <a id="check_all" class="eBriefcase_check_clear_all" href="">Check All</a> ' +
            '           <a id="clear_all" class="eBriefcase_check_clear_all" href="">Clear All</a> ' +            
            '       </div>'+   
            '       <div id="ifEmpty"></div> ' +
            '       <ul id="eBriefcase_list"></ul>'+  
            '       <a id="generate_master_pdf" href="">Generate Personalized PDF</a>' +
            '       <div class="clear"></div>' +                
            '   </div>'+            
            '</div>';
        
        return eBriefcase_html;
        
    }

});

