//
//  pop! for jQuery
//  v0.2 requires jQuery v1.2 or later
//  
//  Licensed under the MIT:
//  http://www.opensource.org/licenses/mit-license.php
//  
//  Copyright 2007,2008 SEAOFCLOUDS [http://seaofclouds.com]
//

(function($) {
  
  $.pop = function(options){
    
    // settings
    var settings = {
     pop_class : '.pop',
     pop_toggle_text : ''
    }
    
    // inject html wrapper
    function initpops (){
      $(settings.pop_class).each(function() {
        var pop_classes = $(this).attr("class");
        $(this).addClass("pop_menu");
        $(this).wrap("<div class='"+pop_classes+"'></div>");
        $(".pop_menu").attr("class", "pop_menu");
        $(this).before(" \
          <div class='pop_toggle'>"+settings.pop_toggle_text+"</div> \
          ");
      });
    }
    initpops();
    
    // assign reverse z-indexes to each pop
    var totalpops = $(settings.pop_class).size() + 20;
    $(settings.pop_class).each(function(i) {
     var popzindex = totalpops - i;
     $(this).css({ zIndex: popzindex });
    });
    // close pops if user clicks outside of pop
    activePop = null;
    function closeInactivePop() {
    	console.log("close")
      $(settings.pop_class).each(function (i) {
        if ($(this).hasClass('active') && i!=activePop) {
            var popik = $(this);
			$(this).find(".pop_menu").slideUp("slow",function(){
	          popik.removeClass('active');
          	});
          
          }
      });
      return false;
    }
    $(settings.pop_class).mouseover(function() { activePop = $(settings.pop_class).index(this); });
    $(settings.pop_class).mouseout(function() { activePop = null; });

    $(".active .pop_menu ul li").click(function(){ 
     closeInactivePop();
    });
    // toggle that pop
    
/*
    $(".callpop").click(function(){
	    $(".pop_toggle").click();
	    return false;
    });
*/
    $(".pop_toggle").click(function(){

/*       $(this).parent(settings.pop_class).toggleClass("active"); */

      var popik = $(this).parent(settings.pop_class);
      var menu = $(this).siblings();

      if(popik.hasClass("active") ) { 
      		  menu.slideUp("slow",function(){
      		  	popik.removeClass('active');;
      		  });
      } else {
   		  	popik.addClass('active');
     		menu.slideDown("slow")
      }

    });
  }

})(jQuery);
