if(!MOSS_FW_SESSID) var MOSS_FW_SESSID = "MOSSSESSIDA";
function moss_get_secure(){
	var c = document.cookie;
	var v;
	for(var d=c.split(";"),l=d.length,i=0;i<l;i++){
		if(d[i].indexOf(window.MOSS_FW_SESSID) > -1){
			v = d[i].split(window.MOSS_FW_SESSID+"=")[1];
			break;
		}
	}
	return v;
}

jQuery.scgrph_absolute_path = function(path) {
	var e = document.createElement('span');
	e.innerHTML = '<a href="' + path + '" />';
	return e.firstChild.href;
}

jQuery.scgrph_absolute_left = function(elm) {
	var o = elm;
	var oLeft = o.offsetLeft      
	while(o.offsetParent!=null) {
		var oParent = o.offsetParent 
		oLeft += oParent.offsetLeft
		o = oParent
	}
	return oLeft
}

jQuery.scgrph_absolute_top = function(elm) {
	var o = elm;
	var oTop = o.offsetTop
	while(o.offsetParent!=null) {
		var oParent = o.offsetParent 
		oTop += oParent.offsetTop
		o = oParent
	}
	return oTop
}

jQuery.scgrph_style = function(element){
	return element.currentStyle || document.defaultView.getComputedStyle(element, '');
}

jQuery.fn.scgrph_swapper = function(settings) {
	var regExp = {
		name_NUM_n_o:{
			attach:{regexp:new RegExp("^(.+)_n(\.gif|\.jpg|\.png)$"),callback:"$1_o$2"},
			dettach:{regexp:new RegExp("^(.+)_o(\.gif|\.jpg|\.png)$"),callback:"$1_n$2"}
		},
		name_NUM_o:{
			attach:{regexp:new RegExp("^(.+)(\.gif|\.jpg|\.png)$"),callback:"$1_o$2"},
			dettach:{regexp:new RegExp("^(.+)_o(\.gif|\.jpg|\.png)$"),callback:"$1$2"}
		},
		name_o_NUM:{
			attach:{regexp:new RegExp("^(.+[^o])(_[0-9]+)(\.gif|\.jpg|\.png)$"),callback:"$1_o$2$3"},
			dettach:{regexp:new RegExp("^(.+)_o(_[0-9]+)(\.gif|\.jpg|\.png)$"),callback:"$1$2$3"}
		}
	};
	

	
	var basename = function(path){
		if(path.indexOf("http://") != 0 && path.indexOf("/") != 0) path = jQuery.scgrph_absolute_path(path);
		if(path.indexOf("?")!=-1) path = path.substring(0,path.indexOf("?"));
		if(path.indexOf("#")!=-1) path = path.substring(0,path.indexOf("#"));
		
		if(path.indexOf(window.location.protocol + "//")>-1) return path;
		if(path.charAt(path.length-1) == "/"){
			//if(path.indexOf("/") == 0) path = path.substr(1);
//			path += "index.html";
		}
		return window.location.protocol + "//" + window.location.hostname +  path;
	};
	
	settings = jQuery.extend({
		regexp: "name_o_NUM"
	}, settings || {});


	
	var re = regExp[settings.regexp];
	
	this.
	each(function(){
		var e = jQuery(this);
		var src = e.attr("src").replace(re.dettach.regexp,re.dettach.callback);
		if(basename(window.location.href).indexOf(basename(e.parent().attr("href"))) == 0){
			src = src.replace(re.attach.regexp,re.attach.callback);
			e.addClass("scgrph-cur");
		}
		e.attr({src:src});
	}).
	mouseover(function(){
		if(!jQuery.className.has(this,"scgrph-cur")){
			var e = jQuery(this);
			var src = e.attr("src").replace(re.attach.regexp,re.attach.callback);
			e.attr({src:src});
		}
	}).
	mouseout(function(){
		if(!jQuery.className.has(this,"scgrph-cur")){
			var e = jQuery(this);
			var src = e.attr("src").replace(re.dettach.regexp,re.dettach.callback);
			e.attr({src:src});
		}
	});


	if(settings.force == "active"){
		this.each(function(){
			var e = jQuery(this);
			e.addClass("scgrph-cur").attr({src:e.attr("src").replace(re.attach.regexp,re.attach.callback)}).
			mouseover(function(){}).mouseout(function(){});
		});
	}
	else if(settings.force == "inactive"){
		this.each(function(){
			var e = jQuery(this);
			e.removeClass("scgrph-cur").attr({src:e.attr("src").replace(re.dettach.regexp,re.dettach.callback)});
		});
	}

	
};



jQuery.fn.openWin = function(settings) {
	/*
	settings = jQuery.extend({
	name: "defaultName",
	size: 5,
	global: true
	}, settings || {});
	*/
	/*
	this.click(function(){
		var href = this.href;
		var name = href.split("-").join("_").split("/").join("_").split(".").join("_").split(":").join("_").split("?")[0].split("#")[0];
		var ext = eval("[{"+this.rel+"}]")[0];
		var w = (ext && ext["w"])?ext["w"]:640;
		var h = (ext && ext["h"])?ext["h"]:480;
		var s = (ext && ext["s"])?ext["s"]:0;
		var r = (ext && ext["r"])?ext["r"]:0;
		var win = window.open(href,name,'width=' + w + ',height=' + h + ',scrollbars=' + s+",resizable="+r);
		win.focus();
		return false;
	});
*/
	this.click(jQuery.openWinClick);
};



jQuery.openWinClick = function(o){
	if(o.clientX) o = this;
	if(o.length) o=o[0];
	var href = o.href;//console.log(o);console.log(href);return false;
	var name = href.split("-").join("_").split("/").join("_").split(".").join("_").split(":").join("_").split("?")[0].split("#")[0];
	var ext = eval("[{"+o.rel+"}]")[0];
	var w = (ext && ext["w"])?ext["w"]:640;
	var h = (ext && ext["h"])?ext["h"]:480;
	var s = (ext && ext["s"])?ext["s"]:0;
	var r = (ext && ext["r"])?ext["r"]:0;
	var win = window.open(href,name,'width=' + w + ',height=' + h + ',scrollbars=' + s+",resizable="+r);
	win.focus();
	return false;
};


(function($){
	$.scgrph_import = function(){
		var callback = Array.prototype.pop.apply( arguments );
		var dict = {};
		var files = arguments;
		for(var i=0,l=files.length;i<l;i++){
			dict[files[i]] = false;
		}
		for(var i=0,l=files.length;i<l;i++){
			var file = $.scgrph_absolute_path(files[i]);
			if(jQuery.browser.safari)
				file = files[i];
			
			var target = files[i];
			var func = function(target,dict){
				return function(){
					dict[target] = true;
					for(var n=0,m=files.length;n<m;n++){
						if(!dict[files[n]]){return;}
					}
					if(!jQuery.browser.safari) callback();
					else setTimeout(callback,200);
				}
			};
			$.ajax({url:file,dataType:"script",complete:func(target,dict),cache:true});
		}
	};
})(jQuery);

(function($) {
	$.fn.equalizeCols = function(children){
		var child = Array(0);
		if (children) child = children.split(",");
		var maxH = 0;
		this.each(
		  function(i) 
		  {
		    if (this.offsetHeight>maxH) maxH = this.offsetHeight;
		  }
		).css("height", "auto").each(
		  function(i)
		  {
		    var gap = maxH-this.offsetHeight;
		    if (gap > 0)
		    {
		      t = document.createElement('div');
		      $(t).attr("class","fill").css("height",gap+"px");
		      if (child.length > i)
		      {
		        $(this).find(child[i]).children(':last-child').after(t);
		      } 
		      else 
		      {
		        $(this).children(':last-child').after(t);
		      }
		    }
		  }  
		);
	}
})(jQuery);


(function($) {
	$.fn.pulldown_menu = function(s){
		s = jQuery.extend({
			sec: 1,
			z:100,
			cn:"sg-pulldown-menu",
			tag:"div",
			marginTop:0,
			callback:{
				init:function(elm){
					if($(this).find(">a>img:first").hasClass("scgrph-cur")) this.setAttribute("scgrphcur",1);
				},
				over:function(elm){
					$(elm).find(">a>img:first").trigger("mouseover").addClass("scgrph-cur");
				},
				out:function(){
					$(this).find(">a>img:first").removeClass("scgrph-cur").trigger("mouseout");
					if(this && this.getAttribute("scgrphcur")){
						$(this).find(">a>img:first").scgrph_swapper({force:"active"});
						//addClass("scgrph-cur").trigger("mouseover");
					}
				}
			}
		}, s || {});
		
		var cs = [];
		var timer_id;
		var current;
		var start_timer = function(){
			hide_all();
		};
		var hide_all = function(){
			$(s.tag+"."+s.cn).hide();
			//s.callback.out(current);
			$(s.tag+"."+s.cn).parent().each(s.callback.out);
		}
		var show_menu = function(){
			fixpos();
			hide_all();
			var p = $(this).parent();
			p.find("div").show();
			s.callback.over(p.get(0));
			current = p.get(0);
			clearTimeout(timer_id);
		};
		var mouseout = function(){
			clearTimeout(timer_id);
			timer_id = setTimeout(start_timer,s.sec*1000);
		};

		$(this).find("ul").each(function(){
			var m = $(this);
			
			m.wrap("<"+s.tag+" class="+s.cn+">").
				parent().
					css({position:"absolute",left:0,top:0,zIndex:s.z}).
					hide().
					hover(show_menu,mouseout).
				end().
				show().
				parent().parent().
					each(s.callback.init).
					find(">a:first").hover(show_menu,mouseout).
				end().end()
		});
		
		var fixpos = function(){
			$(s.tag+"."+s.cn).each(function(){
				var t = $(this);
				var p = t.parent().find(">a:first").children(0).get(0);
				//var st = $.scgrph_style(p);
				t.css({left:($.scgrph_absolute_left(p)+s.marginLeft)+"px",
					top:($.scgrph_absolute_top(p)+$(p).height()+s.marginTop)+"px"});
			});
		};
		
		$(window).resize(fixpos);
	}
})(jQuery);



