/*
Project:Shopping Front
Version:1.0
Date:08/09/2011
Mod:  get_menu->format menu (speed:int)
      format_Slider->format xml with Slide (return:string)
      get_Slider->get xml date for Slide (path:string;return:xml)
      frontline->get date for display (return:xml)
      format_front->format got frontline date for display (path:PATH,_type:string,court:int)
*/
$(window).load(function(){
	$('#slider').get_Slider();
});
$(document).ready(function(){
	$('#menu').get_menu();
  //$('#index-main').ShowMore();
  $('body').ShowMore();
});
$.fn.ShowMore= function(settings){
   var _me=this;
   var _handler = function(){
    $('div[name=front]').each(function(index, value){
        var _pass=$(this).attr("rel");
        $(this).frontline({_type:_pass});
      });
   return false;
   };
   return this.each(_handler);
};
$.fn.get_menu= function(settings){
   var _defaultSettings ={
   speed:500
   };
   var _me=this;
   var _settings = $.extend(_defaultSettings, settings);
   var _handler = function(){
      $(_me).find('ul').slideUp(_settings.speed);
      $(_me).hover(function(){
        $('li a',_me).mouseover(
        function(){
          var checkElement = $(this).next();
          if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
            return false;
            }
          if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
            $('ul:visible',_me).slideUp(_settings.speed);
            checkElement.slideDown(_settings.speed);
            return false;
            }
          });
      },function(){$(_me).find('ul:visible').slideUp(_settings.speed);});
      };
   return this.each(_handler);
};
$.fn.format_Slider= function(settings){
   var _me=this;
   var _display=null;
   var _xml = settings;
   var _handler = function(){
      $(_xml).find('image').each(function(){
        var source = $(this).find('source').text();
        var title = $(this).find('title').text();
        var href = $(this).find('href').text();
        $('"<a href="'+href+'"><img src="'+source+'" title="'+title+'"/></a>"').appendTo(_me);
      });
      $(_me).nivoSlider({effect:'random',slices:15,animSpeed:600,pauseTime:6000});
      return false;
   };
   return this.each(_handler);
};
$.fn.get_Slider= function(settings){
   var _defaultSettings ={
   path:'list.xml'
   };
   var _me=this;
   var _settings = $.extend(_defaultSettings, settings);
   var _handler = function(){
   $.ajax({
    type: "GET",
    url: _settings.path,
    dataType: "xml",
    success: function(xml) {
      $(_me).format_Slider(xml);
      return false;
    },error:function(xhr,err){
    $(_me).html("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
    }
   });
  
   };
   return this.each(_handler);
};
$.fn.format_front= function(settings){
   var _defaultSettings ={
   
   };
   var _settings = $.extend(_defaultSettings, settings);
   var _me=this;
   var _display=null;
   var _xml =  _settings._xml;
   var _handler = function(){
   var gounp=$(_xml).find('products').attr('name');
      $('<div class="box-list-title" name="'+gounp+'">'+gounp+'</div>"').appendTo(_me);
      $(_xml).find('product').each(function(){
        var id = $(this).attr('id');
        var inid = $(this).find('id').text();
        var icon = $(this).find('icon').text();
        var name = $(this).find('name').text();
        var paid = $(this).find('paid').text();
        var type = $(this).find('type').text();
         $('<div class="box-list-link"><a href="'+paid+'" title="'+name+inid+'"><img src="'+icon+'"><div class="information">'+name+'</div></a></div>"').appendTo(_me);
      });
      return false;
   };
   return this.each(_handler);
};
$.fn.frontline= function(settings){
   var _defaultSettings ={
   path:'front.php',
   _type:'gadget',
   court:'8'
   };
   var _me=this;
   var _settings = $.extend(_defaultSettings, settings);
   var _handler = function(){
    $.ajax({
       type:"POST",
       url: _settings.path,
       dataType:"xml",
       data:{type:_settings._type,court:_settings.court},
       success: function(xml){
         $(_me).format_front({_xml:xml});
         //$(_me).ShowMore();
         return false;
       },error:function(xhr,err){
         $(_me).html("readyState: "+xhr.readyState+"\nstatus: "+xhr.status+"\nresponseText: "+xhr.responseText);
         return false;
       }
     });
   };
   return this.each(_handler);
};
