/*						listL2s plugin					*/
/*	must set 'JavaScriptSchoolID' variable before calling	*/
/*	example CSS as follows:

ul.L2sReturn { list-style:none; margin:0; padding:0; }
ul#L2list_XXXXXX {}											-- (L1 Page ID)
	li.L2item { margin-bottom:5px; }
		a.L2link, a.L2link:hover {}
		a#L2_XXXXXX	{}										-- (L2 Page ID)
			a.L2link span, a.L2link:hover span { padding: 0 5px 3px 12px; }
	
usage: $("#myElem").listL2s();

default options:
			xml_path:	"/xml/default.asp",		//path to xml file
			callback2:null						//callback function, passes total # of pages and the L1 page ID - called after all data written to page
*/

(function($){
	$.fn.listL2s = function(options) {
		var defaults = {
			xml_path:"/xml/default.asp",
			callback:null
		};
		var options = $.extend(defaults, options);
		
		return this.each(function() {
			var	obj = $(this),
				pageid = obj.attr("pageid"),
				pages = new Array();
			if(pageid.length > 0){
				$.ajax({
					type: "GET",
					url: options.xml_path+"?sid="+JavaScriptSchoolID+"&type=menu&id="+pageid,
					dataType: "xml",
					success: function(xml) {
						var L2count = 0;
						$(xml).find('item').each(function(){
							pages[L2count]= {
								title:$(this).find("title").text(),
								url:$(this).find("url").text(),
								target:$(this).find("target").text()
							};
							L2count++;
						});
					},
					error: function(request,tStatus,eThrown){ if(window.console && window.console.firebug){ console.log("listL2s plugin error: request='"+request+"', tStatus='"+tStatus+"', eThrown='"+eThrown+"'"); } },
					complete: function() {
						if(pages.length>0){
							var	$AllPages = $("<ul></ul>").attr("id","L2list_"+pageid).addClass("L2sReturn");
							for(L2count in pages){
								$L2item = $("<li></li>").addClass("L2item");
								$("<a></a>")
									.attr("id","L2_"+pageid)
									.addClass("L2link")
									.attr("href",pages[L2count].url)
									.attr("target",(pages[L2count].target>0)?"_blank":"")
									.html("<span>"+pages[L2count].title+"</span>")
									.appendTo($L2item);
								$L2item.appendTo($AllPages);
							}
							obj.append($AllPages);
						}
						else{ if(window.console && window.console.firebug){ console.log("listL2s plugin error: no pages in array"); } }
						if($.isFunction(options.callback)){ options.callback(pages.length,pageid); }
					}
				});
			}else{ if(window.console && window.console.firebug){ console.log("listL2s plugin error: no or bad pageid passed"); } }
		});
	};
})(jQuery);
var scriptAuthor="t.vitali";