//menu Accordion
//author: Marghoob Suleman
//Date: 05th Aug, 2009
//Version: 1.0
//web: www.giftlelo.com | www.marghoobsuleman.com
;(function($){
  $.fn.msAccordion = function(options) {
    options = $.extend({
          currentDiv:'1',
          previousDiv:'',
          vertical: false,
          defaultid:0,
          currentcounter:0,
          intervalid:0,
          autodelay:0,
          event:"click",
          
          alldivs_array:new Array()
      }, options);
    $(this).addClass("accordionWrapper");
    $(this).css({overflow:"hidden"});
    //alert(this);
    var elementid = $(this).attr("id");
    var allDivs = this.children();
    if(options.start == 1){
      startPlay();
    }
    if(options.autodelay>0)  {
      $("#"+ elementid +" > div").bind("mouseenter", function(){
                               pause();
                               });
      $("#"+ elementid +" > div").bind("mouseleave", function(){
                                  startPlay();
                                  });
    }
     if(options.autodelay>0)  {
      $(document).ready( function(){
                                  startPlay();
                                  });
    }
    //set ids
    allDivs.each(function(current) {
                 var iCurrent = current;
                 var sTitleID = elementid+"_msTitle_"+(iCurrent);
                 var sContentID = sTitleID+"_msContent_"+(iCurrent);
                 var currentDiv = allDivs[iCurrent];
                 var totalChild = currentDiv.childNodes.length;
                 var titleDiv = $(currentDiv).find("div.title");
                 titleDiv.attr("id", sTitleID);
                 var contentDiv = $(currentDiv).find("div.content");
                 contentDiv.attr("id", sContentID);
                 options.alldivs_array.push(sTitleID);
                 //$("#"+sTitleID).click(function(){openMe(sTitleID);});
                 $("#"+sTitleID).bind(options.event, function(){pause();openMe(sTitleID);});
                 });
    
    //make vertical
    if(options.vertical) {makeVertical();};
    //open default
    openMe(elementid+"_msTitle_"+options.defaultid);
    if(options.autodelay>0) {startPlay();};
    //alert(allDivs.length);
    function openMe(id) {
      var sTitleID = id;
      var iCurrent = sTitleID.split("_")[sTitleID.split("_").length-1];
      options.currentcounter = iCurrent;
      var sContentID = id+"_msContent_"+iCurrent;
      if($("#"+sContentID).css("display")=="none") {
        if(options.previousDiv!="") {
          closeMe(options.previousDiv);
        };
        if(options.vertical) {
          $("#"+sContentID).slideDown("slow");
        } else {
          $("#"+sContentID).show("slow");
        }
        options.currentDiv = sContentID;
        options.previousDiv = options.currentDiv;
      };
    };
    function closeMe(div) {
      if(options.vertical) {
        $("#"+div).slideUp("slow");
      } else {
        $("#"+div).hide("slow");
      };
    };  
    function makeVertical() {
      $("#"+elementid +" > div").css({display:"block", float:"none", clear:"both"});
      $("#"+elementid +" > div > div.title").css({display:"block", float:"none", clear:"both"});
      $("#"+elementid +" > div > div.content").css({clear:"both"});
    };
    function startPlay() {
      options.intervalid = window.setInterval(play, options.autodelay*1000);
    };
    function play() {
      var sTitleId = options.alldivs_array[options.currentcounter];
      openMe(sTitleId);
      options.currentcounter++;
      if(options.currentcounter==options.alldivs_array.length) options.currentcounter = 0;
    };
    function pause() {
      window.clearInterval(options.intervalid);
    };
    }
})(jQuery);
