(function($){
	$.fn.createQuicklinks = function(options) {
		
		var defaults = {
			link_xml:"/xml/default.asp",
			xType:"link",
			css_path:"/css/quicklinks.css",
			animation:true,
			direction:"down",
			offset:{h:0,v:0}
		};
		var options = $.extend(defaults, options);
		
		/*
		these quicklinks are modified to use the new XML, and also can go up or down depending on what you pass them.
		
		*/
		return this.each(function() {
			
			var obj = $(this);
			
			//CSP sdb 090910 hardcoded in the banner so as not to cause IE security popups
			//$("<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{
				//no schoolid set, hide the button
				HideButton();
			}
			
			if(ajaxURL.length > 0){				
				$.ajax({
					type: "GET",
					url: ajaxURL,
					dataType: "xml",
					success: function(xml) {						
						var links = new Array();
						var lcount = 0;
						//load links					
						$(xml).find('item').each(function(){
							links[lcount] = {
								url:$(this).find("url").text(),
								target:$(this).find("target").text(),
								title:$(this).find("title").text()
							};
							lcount++;	
						});
							
						if(links.length > 0){
							//build the dropdown
							$("<div id='ql-container' style='position:absolute; top:0px; left:-9999px;'></div>").appendTo(obj);
							$("<div id='ql-header'><!-- --></div>").appendTo("#ql-container");
							$("<div id='ql-holder'></div>").appendTo("#ql-container");
							
							for(i=0; i<links.length; i++){
								if(links[i].target.length > 0){myTarget = " target='_blank'";}else{myTarget = "";}
								$("<a class='quicklinks' href='"+links[i].url+"'"+myTarget+"><span>"+links[i].title+"</span></a>").appendTo("#ql-holder");
							}
							
							
							
							$(obj).hover(function(){
								//alert("over");
								var offset = $(this).getTopLeft();
								if($.browser.msie){
									$("#ql-container").css("left",(offset.left + options.offset.h)+"px");
									if(options.direction == "up"){
										$("#ql-container").css("top",(offset.top-$("#ql-container").height()-2)+"px");
									}else{
										$("#ql-container").css("top",(offset.top+$(this).height()-2)+"px");
									}
								}else{
									$("#ql-container").css("left",(offset.left + options.offset.h)+"px");
									if(options.direction == "up"){
										$("#ql-container").css("top",(offset.top-$("#ql-container").height())+"px");
									}else{
										$("#ql-container").css("top",(offset.top+$(this).height())+"px");
									}
								}
								
								
								
								
							
							},function(){
								//alert("off");
								$("#ql-container").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);
