(function($){
	$.fn.createQuicklinks = function(options) {
		var defaults = {
			link_xml:"/xml/default.asp",
			xType:"link",
			css_path:"/quicklinks.css",
			animation:true,
			direction:"down",
			offset:{h:0,v:0}
		};
		var options = $.extend(defaults, options);
		return this.each(function() {
			var obj = $(this);
			$("<link rel='stylesheet' type='text/css' href='"+options.css_path+"'/>").appendTo("head");
			var ajaxURL = "";
			if(options.schoolid != undefined && options.id != undefined){
				ajaxURL = options.link_xml+"?sid="+options.schoolid+"&type="+options.xType+"&id="+options.id;
			}else{ HideButton(); }
			if(ajaxURL.length > 0){				
				$.ajax({
					//type: "GET",
					url: ajaxURL,
					dataType: "xml",
					success: function(xml) {						
						var links = new Array();
						var lcount = 0;
						$(xml).find('item').each(function(){
							links[lcount++] = {
								url:$(this).find("url").text(),
								target:$(this).find("target").text(),
								title:$(this).find("title").text()
							};
						});
						if(links.length > 0){
							$("<div id='ql-container-"+obj.attr("id")+"' style='position:absolute; left:-9999px'></div>").appendTo(obj);
							$("<div id='ql-holder'></div>").appendTo("#ql-container-"+obj.attr("id"));
							for(i=0; i<links.length; i++){
								var uselink = "";
								if(links[i].target.length > 0){myTarget = " target="+links[i].target;}else{myTarget = "";}
								if(links[i].url.indexOf("http") < 0){ uselink = "http://"; }
									uselink += links[i].url;
								$("<a class='quicklinks' href='"+uselink+"'"+myTarget+"><span>"+links[i].title+"</span></a>").appendTo("#ql-holder");
							}
							$("<div id='ql-footer'></div>").appendTo("#ql-container-"+obj.attr("id"));
							$(obj).hover(function(){
								var realOffset = $(this).getTopLeft();
								if($.browser.msie){
									$("#ql-container-"+obj.attr("id")).css("left",(realOffset.left-2)+"px");
									if(options.direction == "up"){
										$("#ql-container-"+obj.attr("id")).css("top",(realOffset.top-$("#ql-container-"+obj.attr("id")).height()-2)+"px");
									}else{
										$("#ql-container-"+obj.attr("id")).css("top",(realOffset.top+$(this).height()-2)+"px");
									}
								}else{
									$("#ql-container-"+obj.attr("id")).css("left",realOffset.left+"px");
									if(options.direction == "up"){
										$("#ql-container-"+obj.attr("id")).css("top",(realOffset.top-$("#ql-container-"+obj.attr("id")).height())+"px");
									}else{
										$("#ql-container-"+obj.attr("id")).css("top",(realOffset.top+$(this).height())+"px");
									}
								}
							},function(){
								$("#ql-container-"+obj.attr("id")).css("left","-9999px");
							});	
						}else{ HideButton(); }
					},
					error: function(request,tStatus,eThrown){ 
					//HideButton();
					}
				});
			}
			function HideButton(){
				//alert("something is very wrong here.");
				//obj.css("display","none");
				//alert("button hidden");
			}
		});
	};
})(jQuery);