﻿/* Xml Menu
 * Version 1.0
 * Author The-Di-Lab
 * URI: http://www.The-Di-Lab.com
 * Released with the No MIT License:
 */
(function($){$.fn.xmenu=function(options){var defaults={url:null,open:"all",init:"all",effect:"slide"}
var options=$.extend(defaults,options);function UlItem(paraLabel){var eff=options.effect;var ulDom=document.createElement("ul");var liDom=document.createElement("li");var aDom=document.createElement("a");$(ulDom).addClass("xmenu-ul");$(liDom).addClass("xmenu-li xmenu-title");$(aDom).addClass("xmenu-a xmenu-link-title");$(aDom).append(paraLabel);$(liDom).append(aDom);$(ulDom).append(liDom);$(liDom).click(function(){if($(this).siblings().css("display")==="none"){if(eff=="fade"){$(this).siblings().fadeIn();}else{$(this).siblings().slideDown();}
if(options.open==="single"){$(this).parent().siblings().each(function(){if(eff=="fade"){$(this).children().not(".xmenu-title").fadeOut();}else{$(this).children().not(".xmenu-title").slideUp();}});}}else{if(eff=="fade"){$(this).siblings().fadeOut();}else{$(this).siblings().slideUp();}
if(options.open==="single"){$(this).parent().siblings().each(function(){if(eff=="fade"){$(this).children().not(".xmenu-title").fadeOut();}else{$(this).children().not(".xmenu-title").slideUp();}});}}});var closeOthers=function(){$(liDom).parent().siblings().each(function(){if($(this).children().not(".xmenu-title").css("display")==="block"){if(eff=="fade"){$(this).children().not(".xmenu-title").fadeOut();}else{$(this).children().not(".xmenu-title").slideUp();}}});};return ulDom;}
function ListItem(paraLabel,paraUrl,status){var liDom=document.createElement("li");var aDom=document.createElement("a");if(status==="close"){$(liDom).css("display","none");}else{$(liDom).css("display","block");}
$(aDom).attr("href",paraUrl);$(aDom).css("text-decoration","none");$(aDom).attr("target","_self");$(liDom).addClass("xmenu-li xmenu-item");$(aDom).addClass("xmenu-a xmenu-link-item");$(aDom).append(paraLabel);$(liDom).append(aDom);return liDom;}
return this.each(function(){var o=options;if(o.url===null){alert("opps, please specify xml file name.");return false;}
var thisObj=this;$.ajax({type:"GET",url:o.url,dataType:($.browser.msie)?"text":"xml",beforeSend:function(){$(thisObj).text("Loading .......");},success:function(data){var xml;if(typeof data=="string"){xml=new ActiveXObject("Microsoft.XMLDOM");xml.async=false;xml.loadXML(data);}else{xml=data;}
$(thisObj).empty();$(xml).find('group').each(function(i){var title=$(this).find("title").text();var ulItem=UlItem(title);if(o.init=="all"){var status="open";}else if(i==o.init){var status="open";}else{var status="close";}
$(this).find("link").each(function(){var href=$(this).attr("href");var label=$(this).text();var listItem=ListItem(label,href,status);$(ulItem).append(listItem);});$(thisObj).fadeIn().append(ulItem);});},ajaxError:function(){alert('5');}});});};})(jQuery);