<!--
//

function ruv_reloadPage(init) {  //Updated Menu. Reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.ruv_pgW=innerWidth; document.ruv_pgH=innerHeight; onresize=ruv_reloadPage; }}
  else if (innerWidth!=document.ruv_pgW || innerHeight!=document.ruv_pgH) location.reload();
}
ruv_reloadPage(true);

function ruv_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=ruv_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function ruv_autoLayers() { //v1.2 Menu
 var g,b,k,f,args=ruv_autoLayers.arguments;
 var a = parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.ruvsetc) {ruvc=new Array();document.ruvsetc=true;
  for (var u=0;u<10;u++) {ruvc[u] = new Array();}}
 for(k=0; k<ruvc[a].length; k++) {
  if((g=ruv_findObj(ruvc[a][k]))!=null) {
   b=(document.layers)?g:g.style;b.visibility="hidden";}}
 for(k=1; k<args.length; k++) {
  if((g=ruv_findObj(args[k])) != null) {
   b=(document.layers)?g:g.style;b.visibility="visible";f=false;
   for(j=0;j<ruvc[a].length;j++) {
    if(args[k]==ruvc[a][j]) {f=true;}}
  if(!f) {ruvc[a][ruvc[a].length++]=args[k];}}}
}

function ruv_Snap() { //v2.62 Menu
  var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,args=ruv_Snap.arguments;a=parseInt(a);
  var parent;
  for (k=0; k<(args.length-3); k+=4)
   //if ((g=ruv_findObj(args[k]))!=null) {
   if ((g=args[k])!=null) {
    el=eval(ruv_findObj(args[k+1]));
    a=parseInt(args[k+2]);b=parseInt(args[k+3]);
    x=0;y=0;ox=0;oy=0;p="";tx=1;
	/*da="document.all['"+args[k]+"']";
    if(document.getElementById) {
     d="document.getElementsByName('"+args[k]+"')[0]";
     if(!eval(d)) {d="document.getElementById('"+args[k]+"')";if(!eval(d)) {d=da;}}
    }else if(document.all) {d=da;} */
    if (document.all || document.getElementById) {
     /*while (tx==1) {
	 p+=".offsetParent";
      if(eval(d+p)) {x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
      }else{tx=0;}
	  }*/
	  parent = g;
	  while ((parent=parent.offsetParent)!=null)
	  {
		x+=parseInt(parent.offsetLeft);
		y+=parseInt(parent.offsetTop);
	  }
	  
     ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);var tw=x+ox+y+oy;
     if(tw==0 || (navigator.appVersion.indexOf("MSIE 4")>-1 && navigator.appVersion.indexOf("Mac")>-1)) {
      ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);
      }else{var w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;
      a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
      x=document.body.scrollLeft + event.clientX + bx;
      y=document.body.scrollTop + event.clientY;}}
   }else if (document.layers) {x=g.x;y=g.y;/*var q0=document.layers,dd="";
    for(var s=0;s<q0.length;s++) {dd='document.'+q0[s].name;
     if(eval(dd+'.document.'+args[k])) {x+=eval(dd+'.left');y+=eval(dd+'.top');break;}}*/}
   if(el) {e=(document.layers)?el:el.style;
   var xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
   if(navigator.appName=="Netscape" && parseInt(navigator.appVersion)>4){xx+="px";yy+="px";}
   if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
    xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);
    xx+="px";yy+="px";}e.left=xx;e.top=yy;}}
}

function ruv_ReDoIt() { //v1.21 Menu
 if(document.layers) {ruv_reloadPage(false);}
}

function ruv_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.ruv_p) d.ruv_p=new Array();
    var i,j=d.ruv_p.length,a=ruv_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.ruv_p[j]=new Image; d.ruv_p[j++].src=a[i];}}
}

function ruv_swapImgRestore() { //v3.0
  var i,x,a=document.ruv_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function ruv_swapImage() { //v3.0
  var i,j=0,x,a=ruv_swapImage.arguments; document.ruv_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=ruv_findObj(a[i]))!=null){document.ruv_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function icReplace(myString,SearchPattern,Replace) {
 return myString.replace(SearchPattern,Replace);
}

var CPState = 1;

function openCloseCP() {
	var divCP = document.getElementById("wfControlPanel");
	var divCPOC = document.getElementById("OpenClose");
	var img = document.getElementById("imgOpenClose");
	if (CPState==1) {
		divCP.style.height = "0px";
		divCPOC.style.top = "0px";
		img.src = "sirad/images/open.gif";
		CPState = 0;
	}
	else {
		divCP.style.height = "140px";
		divCPOC.style.top = "120px";
		img.src = "sirad/images/close.gif";
		CPState = 1;
	}
}





function GetXmlHttpObject() { 
	//instantiates the global AJAX object
	xmlHttp = GetLocalXmlHttpObject();
}

function GetLocalXmlHttpObject() { 
	//Instaniates a local AJAX object and returns it to the caller
	var objXmlHttp=null;
	if (navigator.userAgent.indexOf("Opera")>=0)
	{
		alert("This example doesn't work in Opera");
		return;  
	}
	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP";
		} 
		try
		{ 
			objXmlHttp=new ActiveXObject(strName)
			return objXmlHttp;
		} 
		catch(e)
		{ 
			alert("Error. Scripting for ActiveX might be disabled"); 
			return null;
		} 
    } 
	if (navigator.userAgent.indexOf("Mozilla")>=0)
	{
		objXmlHttp=new XMLHttpRequest();
		return objXmlHttp;
	}
}


$(document).ready(function()
{
	
	$("a.fancybox").fancybox({
        	'autoDimensions' : false,
			'width'          : '100%',
			'height'         : '100%',
			'transitionIn'	 : 'none',
			'transitionOut'	 : 'none',
			'onClosed'		 : FancyboxClosed
		}
	);
	
	$("a.fancybox").click(function(e){
		CMS.editMenuId = CMS.getNumId($(this));
	});
	
	
	var menuareawrappers = $('.menu_area_wrapper');
	
	$(".edit_menu_text").hide();
  	
	$("a[id^=Menu]").each(function() {
		$(this).contextMenu({ menu: 'editMenuContextMenu' + CMS.getNumId($(this)) }, 
        function(action, el, pos) { contextMenuWork(action, el, pos); })
		});  
	
	$("p[id^=txtMenu]").each(function() {
		$(this).contextMenu({ menu: 'editMenuContextMenu' + CMS.getNumId($(this)) }, 
        function(action, el, pos) { contextMenuWork(action, el, pos); })
		});  
    
	
    menuareawrappers.hover(function()
    { 
		//$('.edit_menu_tools', this).show();
		$('.edit_menu_tools', this).css('display','inline');
    }, function()
    {
        $('.edit_menu_tools', this).hide();
    });
    
    
    $('.edit_menu_text').live('focusout', function(event)
    {	
		if ($(this).html() != $("#" + this.id.replace("txt","")).text())
		{	
			saveMenu(this);
		}
    });
    
    var contentwrappers = $('.html_content_wrapper');
    
     $('.html_content').click(function()
    {
        var wrapper = $(this).parent();
        activateHtmlEditor(wrapper);
    });
    
    contentwrappers.hover(function()
    {
		$('.edit_html_content_overlay', this).show();
    }, function()
    {
        $('.edit_html_content_overlay', this).hide();
    });
    
    $('.edit_html_cancel').live('click', function()
    {
		var wrapper = $(this).parent().parent();
        deactivateHtmlEditor(wrapper);
    });
    $('.edit_html_save').live('click', function()
    {
		var wrapper = $(this).parent().parent();
        saveContent(wrapper);
    });
    
    
});

function FancyboxClosed()
{
    $.ajax({
		url: GetVirtualDirectory() + '/default.asp?f=gmt&id=' + CMS.editMenuId,
		success: function(data)
        {
			$("a#Menu" + CMS.editMenuId, "div.menu_wrapper").text(data);
			$("p#txtMenu" + CMS.editMenuId, "div.menu_wrapper").text(data);
        }
	});
}


function contextMenuWork(action, el, pos)
{	
	switch (action) {
        case "rename":
		{
			activateEditMenuText($(el).get(0));
		}
    }
}

function activateEditMenuText(element)
{
	var editorField = "txt" + element.id;
	var saveClass = "save" + element.id;
	var returnVal = false;
	
	if ( $("#" + editorField).length ){
	
		returnVal = true; //return true to indicate that we are editing
	
		//hide the menu
		$(element).hide();
		
		//show the editor field, make it content editable and set focus
		//$("#" + editorField).css($(element).parent().css());
		$("#" + editorField).css($(element).css());
		$("#" + editorField).css('display','inline');
		$("#" + editorField).attr('contentEditable', true);
		//$("#" + editorField).show();
		$("#" + editorField).focus();
		SelectText(editorField);
		
		$("#" + editorField).keypress(function(event){
			if (event.which == 13)
			{	//save here
				saveMenu(this);
				deactivateEditMenuText(this);
			}
		});
		
		$("#" + editorField).keydown(function(event){
			if (event.which == 27)//escape key
			{					
				//revert the text in the edit field
				$(this).html($(element).html());
				
				//deactivate editing
				deactivateEditMenuText(this);
			}
			else if (event.which == 9)
			{
				if ($(this).html() != $("#" + this.id.replace("txt","")).text())
				{
					//TODO: confirm abandon changes
					alert("Text Different");
				}
			}
		});
	
	}
	
	return returnVal;
}

function deactivateEditMenuText(element)
{
	
	var Menu = element.id.replace("txt","");
	var saveClass = "save" + Menu;
	
	//toggle the editor field and the Menu
	$(element).hide();
	$(element).attr('contentEditable', false);
	$("#" + Menu).show();
	
	//hide the save button
	$("." + saveClass).hide();
}

function activateHtmlEditor(wrapper)
{
    var content = wrapper.children('.html_content');
    var editarea = wrapper.children('.edit_html_content_area');
    
    
    if (editarea.length == 0)
    {
		editarea = $('.edit_html_content_area.original').clone()
        var content = $('.html_content', wrapper);
		var contentId = CMS.getNumId(content);
		
		try
		{			
			if ($.browser.msie === true){ //hack for ie
				var newTextArea = $(editarea).find('textarea').get(0).outerHTML.replace(/name=\w+/ig, "name='" + $(editarea).find('textarea').get(0).name + "-" + contentId + "' id='" + $(editarea).find('textarea').get(0).name + "-" + contentId + "'")
				var nta = document.createElement(newTextArea)
				$(editarea).find('textarea').replaceWith(document.createElement(newTextArea));
			} else {
				$(editarea).find('textarea').attr('name', $(editarea).find('textarea').get(0).name + "-" + contentId);
			}
			
			editarea.appendTo(wrapper);
			if (!content.hasClass('ic')){
				$('textarea', editarea).text(content.html());
			}
			CKEDITOR.replace( $(editarea).find('textarea').get(0).name,{ customConfig : '../ckeditor/config.js'});
			editarea.removeClass('original');
			
		}
        catch(err)
        {
			alert(err);
        }
    }
    else {
		CKEDITOR.instances[$(editarea).find('textarea').get(0).name].setData(content.html());
    }
    
    
    wrapper.children().each(function()
    {
        if ($(this).hasClass('edit_html_content_area'))
		{
			$(this).show();
		}
        else if (!$(this).hasClass('edit_html_content_overlay'))
        {
			$(this).hide();
            $(this).addClass('bottomlayer');
        }
    });
}
function deactivateHtmlEditor(wrapper)
{
    wrapper.children().each(function()
    {
        if ($(this).hasClass('edit_html_content_area'))
            $(this).hide();
        else
        {
            $(this).show();
            $(this).removeClass('bottomlayer');
        }
    });
}

function saveMenu(element)
{
	var menuText = $(element).text();
    var menuId = CMS.getNumId($(element));
  
    if (menuId == -1)
    {
        alert("Bad menu id");
        return;
    }
    $.post(
        GetVirtualDirectory() + '/administration.asp',
        {
            sfield: 'id',
            ID: 254,
            search: menuId,
            Action: 'submit',
            'Menu Text1': menuText
        },
        function(data)
        {
			if (data.indexOf("Changes Submitted") > 0){
				$("#" + element.id.replace("txt","")).html(menuText);
            }
            else {
				alert('You do not appear to be logged in. Please log in and try again.');
            }
            deactivateEditMenuText(element);
        }
    );
}


function saveContent(wrapper)
{
	var content = $('.html_content', wrapper);
	var contentEditControls = $('.edit_html_content_overlay', wrapper);
    var contentId = CMS.getNumId(content);
    var action = 'submit';
    var siRadId = 253;
    var searchId = contentId;
    var sField = 'id';
    var d = new Date();
	var sendData;

    var newContent = CKEDITOR.instances["Content-" + contentId].getData();
    newContent = $.trim(newContent);
    
    if (newContent != $.trim(content.html()))
    {
		if (contentId == -1)
		{
			alert("Bad content id");
			return;
		}
		else if (contentId == '')
		{
			siRadId = 191;
			searchId = $('#menuid').html();
			sField = '';
			
			sendData = {
				inline: 'true',
				sfield: sField,
				ID: siRadId,
				search: searchId,
				Action: action,
				Content1: newContent,
				id1: 'new',
				MenuId1: searchId,
				'Display Order1': '0',
				Keywords1: '',
				References1: '',
				TitleHyperLink1: '',
				mn: '1.2',
				Title1: '',          
				Abstract1: '' ,
				'Publish Date1': d.getMonth() + '/' + d.getDate() + '/' + d.getFullYear() + ' ' + d.toLocaleTimeString(),  
				'Hide Date1': d.getMonth() + '/' + d.getDate() + '/' + (d.getFullYear() + 50) + ' ' + d.toLocaleTimeString() ,
				'Large Image1': '',
				'Small Image1': '',
				pagesize:1            
				};
		}
		else
		{
			sendData = {
				inline: 'true',
				sfield: sField,
				ID: siRadId,
				search: searchId,
				Action: action,
				Content1: newContent
				};
		}
		$.post(
			GetVirtualDirectory() + '/administration.asp', sendData,
			function(data)
			{
				if (data.indexOf("Changes Submitted") > 0 || data.indexOf("Changes were submitted") > 0){
					content.html(newContent);
					if (content.hasClass('ic')){
						content.removeClass('ic');
						content.addClass('ic' + $(data).find('#contentid').html());
					}
					contentEditControls.html($(data).find('#contenteditcontrols').html());
				}
				else {
					alert('You do not appear to be logged in. Please log in and try again.');
				}
				deactivateHtmlEditor(wrapper);
			}
		);
	}
	else
	{
	 deactivateHtmlEditor(wrapper);
	}
}

var CMS = {
	editMenuId: function () { editMenuId ? editMenuId : 0; return editMenuId},
	getNumId: function(elem)
	{
		var classes = elem.attr('class').split(' ');
		for (var i = 0; i < classes.length; i++)
		{
			var val = classes[i];
			if (val.startsWith('ic') && !isNaN(val.substr(2)))
				return val.substr(2);
		};
		return -1;
	}
};

String.prototype.startsWith = function(str)
{
    return (this.indexOf(str) === 0);
}

function GetVirtualDirectory() {

	var url = window.location.href;
	var url_parts = url.split('/');

	url_parts[url_parts.length - 1] = '';

	var current_page_virtual_path = url_parts.join('/');

	return current_page_virtual_path;

}

jQuery.fn.css2 = jQuery.fn.css;
jQuery.fn.css = function() {
    if (arguments.length) return jQuery.fn.css2.apply(this, arguments);
    var attr = ['font-family','font-size','font-weight','font-style','color',
        'text-transform','text-decoration','letter-spacing','word-spacing',
        'line-height','text-align','vertical-align','direction','background-color',
        'background-image','background-repeat','background-position',
        'background-attachment','opacity','width','height','top','right','bottom',
        'left','margin-top','margin-right','margin-bottom','margin-left',
        'padding-top','padding-right','padding-bottom','padding-left',
        'border-top-width','border-right-width','border-bottom-width',
        'border-left-width','border-top-color','border-right-color',
        'border-bottom-color','border-left-color','border-top-style',
        'border-right-style','border-bottom-style','border-left-style','position',
        'display','visibility','z-index','overflow-x','overflow-y','white-space',
        'clip','float','clear','cursor','list-style-image','list-style-position',
        'list-style-type','marker-offset'];
    var len = attr.length, obj = {};
    for (var i = 0; i < len; i++) 
        obj[attr[i]] = jQuery.fn.css2.call(this, attr[i]);
    return obj;
}

function SelectText(elementid) {
	var text = document.getElementById(elementid);
    if ($.browser.msie) {
        var range = document.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if ($.browser.mozilla || $.browser.opera) {
		var selection = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    } else if ($.browser.safari) {
        var selection = window.getSelection();
        selection.setBaseAndExtent(text, 0, text, 1);
    }
}



function StatusBar(sel,options)
{
    var _I = this;       
    var _sb = null;

    // options    
    this.elementId = "_showstatus";
    this.prependMultiline = true;  
    this.showCloseButton = false; 
    this.afterTimeoutText = null;
    this.cssClass = "statusbar";
    this.highlightClass = "statusbarhighlight";
    this.errorClass = "statuserror";
    this.closeButtonClass = "statusbarclose";
    this.additive = false;   

    $.extend(this,options);
    if (sel)
      _sb = $(sel);
    // create statusbar object manually
    if (!_sb)
    {
        _sb = $("<div id='_statusbar' class='" + _I.cssClass + "'>" +
                "<div class='" + _I.closeButtonClass +  "'>" +
                (_I.showCloseButton ? " X </div></div>" : "") )
                .appendTo(document.body)                   
                .show();
    }

    if (_I.showCloseButton)
        $("." + _I.cssClass).click(function(e) { $(_sb).hide(); });

    this.show = function(message,timeout,isError)
    {            
        if (_I.additive)       
        {
            var html = "<div style='margin-bottom: 2px;' >" + message + "</div>";
            if (_I.prependMultiline)
                _sb.prepend(html);
            else
                _sb.append(html);            
        }
        else
        {
            if (!_I.showCloseButton)    
                _sb.text(message);
            else
            {            
                var t = _sb.find("div.statusbarclose");                
                _sb.text(message).prepend(t);
            }
        }               

        _sb.show();        

        if (timeout)
        {
            if (isError)
                _sb.addClass(_I.errorClass);
            else
                _sb.addClass(_I.highlightClass);
            setTimeout( 
                function() {
                    _sb.removeClass(_I.highlightClass); 
                    if (_I.afterTimeoutText)
                       _I.show(_I.afterTimeoutText);
                },
                timeout);
        }                
    }  
    this.release = function()
    {
		alert('hey');
		if(_statusbar)
            $(_statusbar).remove();
    }       
}

// use this as a global instance to customize constructor
// or do nothing and get a default status bar
var _statusbar = null;
function showStatus(message,timeout,additive,isError)
{
    if (!_statusbar)
        _statusbar = new StatusBar();
    _statusbar.show(message,timeout,additive,isError);
}

// -->

