jQuery.fn.extend({
	options: function(opt) {
		//opt = opt || {};
		
		var defaults = {
			content: "",
			showTime: "8ds",
			hideTime: "2ds"
		}
		opt = jQuery.extend({}, defaults, opt);
		
		var options = new Options(this, opt);
		options.fixStyle(jQuery(options.opt.content));
		options.toggleRibbon();
	}
});

function Options(jQueryobj, opt) {
	this.opt = opt;
	this.jQueryobj = jQueryobj;	
}
Options.prototype = {
	toggleRibbon: function() {
		var jQueryli = this.jQueryobj;
		var flag = false;
		var callObj = this;
		jQueryli.mouseover(handleRibbon);
		jQueryli.mouseout(handleRibbon);
		
		function handleRibbon(e) {
			//alert('options.opt.reg');
			if (e.type == "mouseover") {
				flag = true;
				jQuery(this).children(callObj.opt.filter).oneTime(callObj.opt.showTime, setTimer);
			} else if (e.type == "mouseout") {
				flag = false;
				jQuery(this).children(callObj.opt.filter).oneTime(callObj.opt.hideTime, setTimer);
			}
		}
		
		function setTimer() {		
			
			var text=jQuery(this).attr("id");
			var downClass=callObj.opt.downClass;
			var upClass=callObj.opt.upClass;
			if (flag) {
				jQueryli.each(travelLi);
				jQueryli.each(intialArrow);
								
				if(text.match(callObj.opt.reg) && text!="Reports" && text!="Partners")
				{
				  jQuery(this).prev().find("span").removeClass(downClass).addClass(upClass);
				}
				jQuery(this).show();
				
				if (jQuery.browser.msie && jQuery.browser.version == 6.0) {		
					jQuery("#mainDropDownIframe").replaceWith("");
					if(text.match(callObj.opt.reg) && text!="Reports" && text!="Partners")
					{
						if(jQuery("#mainDropDownIframe").length==0)
						{
							callObj.addDropRibbonIframe(this);
						}
					}
				}
				
				callObj.fixPosition(jQuery(this));
			return false;
			} else {
				if (jQuery.browser.msie && jQuery.browser.version == 6.0) {		
					jQuery("#mainDropDownIframe").replaceWith("");
				}
				//jQuery(this).hide();                
				jQueryli.each(travelLi);
				jQueryli.each(intialArrow);							
				jQuery(this).parent().children("a").removeClass("menuHover");
				return false;
			}			
		}
		
		function travelLi() {
			jQuery(this).children(callObj.opt.filter).hide();
			//alert(jQuery(this).html());
			jQuery(this).removeClass("Selected");		
			
		}
		
		function intialArrow() {
			var text=jQuery(this).children(":first").find("span").text();
						
			if(text.match(callObj.opt.reg) && text!="Reports" && text!="Partners" )
			{
				jQuery(this).find("span").removeClass(callObj.opt.upClass).addClass(callObj.opt.downClass);
			}

			if(!flag)
			{
				if(text==callObj.opt.oldTabName)
				{
					jQuery(this).addClass("Selected");
				}
			}
			
		}
	},
	fixPosition: function(jQuerycontent) {
		jQuerycontent.css({
			"left" : 0
		});
		var offset = jQuerycontent.offset();
		var left = offset.left;
		var top = offset.top;
		jQuerycontent.css({
			"left" : -left
		});
		if (jQuery.browser.msie && jQuery.browser.version == 6.0) {	
			jq("#mainDropDownIframe").css({
				"left" : -left
			});
		}
	},
	fixStyle: function(jQuerycontent) {
		jQuerycontent.width(jQuery("#header_mb").width());		
	},
   addDropRibbonIframe: function (eleAfter) {
		jq(eleAfter).before('<iframe frameborder="0" id="mainDropDownIframe"></iframe>');
		jq("#mainDropDownIframe").css({
			"width": jq(eleAfter).css("width"),
			"height": jq(eleAfter).outerHeight(),
			"top": jq(eleAfter).css("top"),
			"display":"block"
		});	
	}		
}
