	//how large of buffer for previously viewed
	usedmaxbuffer = 20; 
	var used = new Array();

	//update array with contains method
	Array.prototype.contains = function(el){
    	for (var i = 0; i < this.length; i++) {
        	if (this[i] == el) return true;
    	}
    	return false;
	}

    function joinlist()
    {
        $('#divmessage').load('members/m/addtolist.snip?e=' + $('#wemail').val() ); 
        return false;
    
    }

	//perform search (for people as of right now)
    function dosearch()
    { 
    
    var guid = new Date().getTime();
    var gender = $('.searchgender').val();
	var age = $('.searchage').val();
	
	var searchtype = $('.searchtype').val();
	var queryend;
	
    if (searchtype == 'recent')
	{
		queryend = "&sortby=dateadded&sortorder=desc";
	}
	else if  (searchtype == 'highest')
	{
		queryend = "&sortby=dateadded&sortorder=desc";		
	}
	else if  (searchtype == 'lowest')
	{
		queryend = "&sortby=dateadded&sortorder=asc";		
	}
	else if (searchtype == 'flawlus')
		queryend = "&sortby=dateadded&sortorder=desc&ratingmin=10";		
	
    $('#searchcontainer').load('plugins/search/get.uc?gender=' + gender + '&age=' + age + queryend + '&guid=' + guid, function(){    																			   
        write("Search Complete");  
        grabused();
        setupinappr(); 
        setupratingclicks(); 
        setupstf();     
        setupstnom();  		
       });    

      
    return false;
	
    } //end of dosearch
 
 	//reload paginated search results
    function dosearchpage(target,page)
    { 
    
    var guid = new Date().getTime();
//    $('#homefeature').load('plugins/featured/get.uc?guid=' + guid , function(){    
																			   
	//alert( $('.searchinfo').val() );																		   
																			   
    $('#searchcontainer').load('plugins/search/get.uc?page='+page+'&'+$('.searchinfo').val() , function(){    																			   
        write("Search Complete");  
        grabused();
        setupinappr(); 
        setupratingclicks(); 
        setupstf();   
        setupstnom();  
        });    
    return false;
    }
 
 	//onready for any page that has featured ( may take off pages that don't have featured )
    $().ready(function(){
           
		grabused();		   
        setupinappr();
        setupratingclicks();
        setupstf();
        setupstnom();
		setupmisc();
       
    });//end of ready()

	
	function setupmisc()
	{
		$('.rsslink').attr("href",'http://www.todopub.com/rss.aspx?id='+$('.todolist')[0].id);	
		
		//email
		$('.emaillink').click( function() { alert( $(this).prev().val() ); return false; } );
		
		//sms
		$('.smslink').click( function() { alert( $(this).prev().val() ); return false; } );
		
		
	}

	//grab the entries on page and add to used array
	function grabused()
	{
				
		$('.entryid').each( function () { 
					//in case weve reached our max
					
					if (  ! used.contains( this.value ) )
					{
						if (used.length + 1 > usedmaxbuffer ) used.pop();
						used.push(this.value);
					}
					  
		 } );

		//alert( used.toString() );
		
	} //end grabused()


	//setup nomination links for featured style 
    function setupstnom ( target )
    {
        var target = target || null;

        if (!target)
        {
            target = '.nomlink';
        }

        $(target).toggle( function(){
            write("Nominate for award?");
                            var entryid = $(this).siblings('.entryid').val();
                            //alert(entryid);
                            
            var overlay = $(this).parent();
			//clear any existing overlay
			//$(this).parent().children(".ratingoverlay").remove();
			if ( $(this).parent().children('.stfoverlay')[0] )
			{
			$(this).parent().children('.stf').click();
			}
			
            $(this).parent().prepend("<div class='ratingoverlay nomoverlay'>"+ $('.nominatecontainerc')[0].innerHTML +"</div>")
            
            $('.nominate a').click( function() { 
                                    if (member_id == 1)
                                    {
                                    overlay.children(".ratingoverlay").remove();
                                    $('.signinalert').click();
                                    }//end if member_id = 1
                                    else
                                    {
							        var loadurl = "entries/m/addnom.snip?e="+entryid+"&a=" + $(this).attr('class') + "&m=" + member_id;
      								$("#divmessage").load(loadurl);
       								
									//close window
									overlay.children(".ratingoverlay").remove();
									}//end else
							
							} ); 

         }, function() {
			//on toggle remove overlay
            $(this).parent().children(".ratingoverlay").remove();
         });
    
    }// end setupstnom()

  	// setup send to friend links for featured style 
    function setupstf ( target )
    {
        var target = target || null;

        if (!target)
        {
            target = '.stf';
        }

        $(target).toggle( function(){
            write("Send to friend?");
			
			//clear any existing overlay
//			$(this).parent().children(".ratingoverlay").remove();
			//$(this).parent().children('.nomlink').click();
			
			if ( $(this).parent().children('.nomoverlay')[0] )
			{
			$(this).parent().children('.nomlink').click();
			}			
			
            $(this).parent().prepend("<div class='ratingoverlay stfoverlay'><div><a href='#' onclick=\"$(this).parent().parent().parent().children('.stf').click(); return false;\">close</a><h5>send to friend</h5><input value='Enter friends email.'   onclick=\"this.value=''\"  type='text' /><br/><input value='Enter friends email.'  onclick=\"this.value=''\"   type='text' /><br/><input value='Enter friends email.' onclick=\"this.value=''\"  type='text' /><br/><input type='button' onclick='sendtofriend(this)' value='Send Email' /></div></div>") 
         }, function() {
            $(this).parent().children(".ratingoverlay").remove();
         });
    
    }//end setupstf()
	
	
    //flag entry for inappr
    function flaginappr(entryid)
    {
        var loadurl = "entries/m/flagentry.snip?e=" + entryid;
        $.get(loadurl);
        write("Flagged!");
        return false;
    } //end flaginappr()

    
    //flag entry for inappr
    function sendpassword()
    {
        var email = $('.textboxsendpassword').val();
        var loadurl = "members/m/sendlostpassword.snip?e=" + email;
        $.get(loadurl);
        write("Password re-sent to email!");
        return false;
    } //end sendpassword
    

    //switch from anonymous to titled photo
    function setanon( target )
    {
        if (target.checked == true)
        {
            $('.textboxtitle').val('Anonymous'); 
            $('.textboxtitle')[0].disabled = true;
            return true;
        }
        else
        {
            $('.textboxtitle').val(''); 
            $('.textboxtitle')[0].disabled = false;  
            return true;          
        }
    }//end setanon
    
	//save entry to favorites
    function savetofav(entryid)
    {
        if (member_id == 1)
        {
        $('.signinalert').click();
        return false;
        }
        else
        {
        var loadurl = "entries/m/savetofav.snip?e=" + entryid + "&m=" + member_id;
        $.get(loadurl);
        write("Saved to your favorites!");
        showtab('save');        
        return false;
        }
    } //end savetofav()
	
 
    //setup flag links
    function setupinappr( target )
    {
    
        var target = target || null;

        if (!target)
        {
            target = '.inappr';
        }

         $(target).unbind( "click" );
         
         $(target).click( function(){
 
                $(this).parent().prepend("<div class='ratingoverlay'><div>SAVING...</div></div>") 
            
                //save div that I will be updating
                var loadeddiv = $(this).parent();
                var loadedinnerdiv = $(this).parent().children('div');

                write("Flagged!");
                
                var site = $('.site').val();              
                var entryid = $(this).siblings('.entryid').val();
                var loadurl = "entries/m/flagentrygetnext.snip?e=" + entryid + "&f=1&s=" + site + "&used=" + used.toString(); //flag 1 is for inappr

                $(this).parent().children('div').load(loadurl,'',function(){ 
                    
                    
                    //change to the new entry after 7 seconds
                    setTimeout(function(){   
               
                        loadeddiv.children().hide();
                        //console.log (loadedinnerdiv.children('div'));
                        loadeddiv.html( loadedinnerdiv.children('div').html() );
                    
                        setupratingclicks( loadeddiv.children('ul').children('li') );
                        setupinappr( loadeddiv.children('.inappr') );
                        setupstf( loadeddiv.children('.stf')  );
						setupstnom( loadeddiv.children('.nomlink') );
						grabused();

                    } ,3000); 
                  
                });   
                
                return false;     
         
         } );
    
    }//end setupinappr()
    
    //setup rating links
    function setupratingclicks( target )
    {
    
        var target = target || null;

        if (!target)
        {
            target = '.ratemebox > ul > li';
        }

         $(target).unbind( "click" )
         
         $(target).click(function(){
             

            //$(this).siblings().find('input')[0].checked = false;

            //get the value of the radiobutton selected            
            var selectedradio = $(this).find('input')[0];
            selectedradio.checked = true;
            
            //unbind other li's 
            $(this).siblings().unbind();
            //set background color of selected li
            $(this)[0].style.background = "#b1debd";
            //disable all other radiobuttons
            $('.ratemebox > ul > li > input[name=' + selectedradio.name + ']').attr("disabled", "disabled");
            //make hover highlights go away
            $(this).parent().removeClass('active');            
            //throw up overlay before we start loading results
			$(this).parent().parent().children('.baction').hide();
            $(this).parent().parent().prepend("<div class='ratingoverlay'><div>SAVING...</div></div>") 
            
            var urlmapping = $(this).parent().parent().children('.urlmapping').attr('href');
            
            write("<a href='"+urlmapping+"'>Rating of " + selectedradio.value + " Saved for last photo!  Click for details.");
            //save div that I will be updating
            var loadeddiv = $(this).parent().parent();
            var loadedinnerdiv = $(this).parent().parent().children('div');
            var site = $('.site').val();

            //load new content into rating div              
            var loadurl = "entries/m/addrating.snip?e=" + selectedradio.name + "&r=" + selectedradio.value + "&s=" + site + "&m=" + member_id + "&used=" + used.toString();
            //$(this).parent().parent().load(loadurl,'',function(){ 
            
            $(this).parent().parent().children('div').load(loadurl,'',function(){ 
            
  
                //change to the new entry after 5 seconds
                 setTimeout(function(){   
               
                    loadeddiv.children().hide();
                    //console.log (loadedinnerdiv.children('div'));
                    loadeddiv.html( loadedinnerdiv.children('div').html() );
                    
                    setupratingclicks( loadeddiv.children('ul').children('li') );
                    //target this more
                    setupinappr( loadeddiv.children('.inappr') );
                    setupstf( loadeddiv.children('.stf')  );
					setupstnom( loadeddiv.children('.nomlink') );					
                    //setupratingclicks();
                 // loadeddiv.children('div')[0].style.display = "block";  
                 } ,4000);  
                 
               
                });        
           
        }); //end of li click    
    }// end setupratingclicks()
    
	
    //load next 3
    function getnext()
    { 
    
    write("Reloaded!");  
    var guid = new Date().getTime();
//    $('#homefeature').load('plugins/featured/get.uc?guid=' + guid , function(){    
    $('#homefeature').load('plugins/featured/get.uc?guid=' + guid + '&m=' + member_id + '&used=' + used.toString() , function(){    																			   
    
        grabused();
        setupinappr(); 
        setupratingclicks(); 
        setupstf();     
        setupstnom();  		
	
        });    
     
    return false;
	
    } //end getnext()
    
	    
    function getnextdetail()
    { 
    
    write("Reloaded!");  
    var guid = new Date().getTime();
    var nextentryid = $('#nextentryid').val();
    $('#bigcontainer').load('plugins/entrydetail/get.uc?guid=' + guid + '&id='+nextentryid+'&m=' + member_id + '&used=' + used.toString(),  function(){
              
    $('#savecontainer').hide().prev().hide();
    $('#sharecontainer').hide().prev().hide();    
    $('#nominatecontainer').hide().prev().hide();        
    $('#flagcontainer').hide().prev().hide();            
    setupnoms();
    
    });    
     
    return false;
	
    } //end getnext()
	
    //send to friend
    function sendtofriend( sender, entryid )
    {
		
		var entryid = entryid || null;

        if (!entryid)
        {
            entryid = $(sender).parent().parent().parent().children('.entryid').val();
        }
		
		
     var allemails = "?";
     var i = 1;
	 
     //var entryid = $(sender).parent().parent().parent().children('.entryid').val();
     
     $(sender).siblings('input').each( function () { 
        //var i = 1;
        if ( this.value != '' && this.value.indexOf('@') > -1   )
        {   
            if (allemails != '?') allemails += "&";             
            allemails += "email" + i++ + "=" + this.value;  
        }
     } );
     
     if(allemails != "?")
     {
        write('Email Sent!');
        //ajax send
        var loadurl = "entries/m/sendtofriend.snip" + allemails + "&e=" + entryid;
        $.get(loadurl);
        
     }
     
     //close stf window (animate?)
     $(sender).parent().parent().parent().children('.stf').click();
     return false;
     
    }//end of send to friend
    
    //write message in alert bar
    function write(message)
    {
        $('#divmessage > div').html(message).fadeIn("fast");
//                 setTimeout(function(){   
//                   $('#divmessage > div').fadeOut("slow");
//                 } ,1300);  
    } //end write()
    
    
    //make sure a photo is there before submitting
    function validate_add()
    {
        if ( $('#postphotos img')[0] )
        return true;
        else
        {
            alert ('You must upload a photo!')
            return false;
        }
     } //end validate_add()