
// AJAX
var myRequest;
var selectedPos;
var selectedSize;
var selectedRevert;
function ajax_execute(div,func,data,fade,erase){
	
	if(myRequest) myRequest.cancel();
	myRequest = new Request({
								
		method: 'post', evalScripts: true, url: uriDir+'ajax_display.php',
		
		onRequest: function(){
			// IF LOADING ICON EXISTS, SHOW IT
			if (document.id(div+'_Loading'))
			loadingSet=setTimeout("document.getElementById('"+div+"_Loading').setStyle('display','')",10);
			if (fade=='true'){
				var myElement=document.id(document.getElementById(div));
				myElement.setStyle('opacity','0');
			}
			if (document.id(div) && div!='' && erase=='true') { document.id(div).empty();}
		},
		
		onSuccess: function(responseText, responseXML) { 
			// IF LOADING ICON EXISTS, HIDE IT
			if (document.id(div+'_Loading')){
				clearTimeout(loadingSet);
				document.id(div+'_Loading').setStyle('display','none');
			}
			// IF FADE
			if (fade=='true'){
				var myElement=document.id(document.getElementById(div));
				myElement.tween('opacity',[0,1]);
			}
			//alert('success');
			if (document.id(div) && div!='') { document.id(div).set('html',responseText);}
			
			moveElement(selectedElem,1);
		} ,
		onFailure: function(responseText, responseXML) { 
			alert('failed to submit');
		}
		
	});
	
	myRequest.send('func='+func+'&'+data);	
	
	
}
// ANCHOR
function checkAnchor(){  
	if(currentAnchor != document.location.hash && document.location.hash!=''){ 
	
		// GRAB ANCHOR
		currentAnchor = document.location.hash;
		newanchor = currentAnchor.replace('#','');
		
		if (page=='practice-areas')
		practiceContent(newanchor);
		
		if (page=='legal-blog') {
			newanchorSplit = newanchor.split(':');
			
			if (newanchor=='') {
				newanchorSplit[0]='all';
				newanchorSplit[1]='all';
				newanchorSplit[2]='0';
			}
			
			if (newanchorSplit[0]=='search') $('search').value=newanchorSplit[1];
			
			blogContent(newanchorSplit[1],newanchorSplit[0],newanchorSplit[2]);
		}
	}
}
	
// DROPDOWN MENU
var menuRelease;
window.addEvent('domready', function(){
	$('nav').getElements('li.menu').each( function( elem ){
		
		// IF THERE IS A SUBMENU
		if (elem.getElement('ul.submenu')){
			var list = elem.getElement('ul.submenu');
			var myFx = new Fx.Slide(list,{duration:'250',transition: Fx.Transitions.Expo.easeOut}).hide();
			list.set('tween',{duration:'550',transition: Fx.Transitions.Expo.easeOut});
	
			elem.addEvents({
				'mouseenter' : function(){
					if (menuRelease==true){
						myFx.cancel();
						myFx.slideIn();
						list.tween('opacity',0,1);
					}
				},
				'mouseleave' : function(){
					myFx.cancel();
					myFx.slideOut();
					list.tween('opacity',1,0);
				}
			});
			list.setStyle('display','inherit');
		}
		
		// MOVE SELECTED BOX
		elem.addEvents({
			'mouseenter' : function(){
				if (menuRelease==true && elem.id!='nav_login' && elem.id!='nav_logout'){
					if (selectedRevert)
					clearTimeout(selectedRevert);
					moveElement(elem);
				}
			},
			'mouseleave' : function(){
				selectedRevert = setTimeout("moveElement(selectedElem);",300);
				menuRelease=true;
			},
			'click' : function(){
				if (myFx){
					myFx.cancel();
					myFx.slideOut();
					list.tween('opacity',1,0);
				}
			}
		});
		
	});
	
	setTimeout("menuRelease=true",400);
	setTimeout("moveElement(selectedElem,1);",10);
});

// NAV - SELECTED
window.addEvent('resize', function(){
	moveElement(selectedElem,1);
});
function moveElement(toElem,speed){
	
	if (toElem=='nav_') toElem='nav_home';
	
	if (!speed) var speed=400;
	
	if (selectedPos) 
	selectedPos.cancel();
	
	selectedPos = new Fx.Move($('navSelected'), {
	  relativeTo: toElem,
	  transition: Fx.Transitions.Expo.easeOut,
	  duration: speed,
	  position:'left',
	  offset:{x:-6,y:-17},
	}).start();
	
	if (selectedSize) 
	selectedSize.cancel();
	
	if (!$(toElem)) $('navSelected').setStyle('display','none');
	else {
		var size=$(toElem).getSize();
		selectedSize = new Fx.Morph($('navSelected'), {
		duration: speed,
		transition: Fx.Transitions.Expo.easeOut
		}).start({'width':[size.x]}).chain(function(){
			$('navSelected').setStyle('display','block');
		});
	}
	
}
function editContent(table,id,div,display){
	if ($("nicEditIframe")) // FIREFOX
		var content=document.getElementById("nicEditIframe").contentDocument.getElementsByTagName("body")[0].innerHTML;
	else if ($("editorContent"))// OTHER
		var content=$("editorContent").get("html");
	var subtitle='';
	var tags='';
	if ($("submitTitle")) var title=$("submitTitle").value;
	if ($("submitSubtitle")) var subtitle=$("submitSubtitle").value;
	if ($("submittags")) var tags=$("submittags").value;
	
	
	if ($('leftColumn')){
		if ($("nicEditIframe")){ // FIREFOX
			var contentLeft=$('leftColumn').getElement("#nicEditIframe").contentDocument.getElementsByTagName("body")[0].innerHTML;
			var contentRight=$('rColumn').getElement(".nicEdit-frame").contentDocument.getElementsByTagName("body")[0].innerHTML;
		}
		else {
			var contentLeft=$('leftColumn').getElement('.nicEdit-main').get("html");
			var contentRight=$('rColumn').getElement('.nicEdit-main').get("html");
		}
	}
	
		
	content=encodeURIComponent(content);
	contentLeft=encodeURIComponent(contentLeft);
	contentRight=encodeURIComponent(contentRight);
	
	ajax_execute(div,'editContent','id='+id+'&display='+display+'&content='+content+'&title='+title+'&subtitle='+subtitle+'&tags='+tags+'&table='+table+'&contentLeft='+contentLeft+'&contentRight='+contentRight);
		
}
function loadRichText(event){
	if ($('submitContentLeft')){
	area2 = new nicEditor({fullPanel : true}).panelInstance('submitContentLeft');
	area3 = new nicEditor({fullPanel : true}).panelInstance('submitContentRight');
	}
	else 
	area1 = new nicEditor({fullPanel : true}).panelInstance('submitContent');
};

function addBlog(){
	var added=$('added').value;
	var title=$('title').value;
	var subtitle=$('subtitle').value;
	if ($("nicEditIframe")) // FIREFOX
		var content=document.getElementById("nicEditIframe").contentDocument.getElementsByTagName("body")[0].innerHTML;
	else if ($("editorContent"))// OTHER
		var content=$("editorContent").get("html");
		
	var tags=$("submittags").value;
		
	content=encodeURIComponent(content);
	ajax_execute('blogContent','blogAddSubmit','content='+content+'&added='+added+'&subtitle='+subtitle+'&tags='+tags+'&title='+title);
}


// IF SCROLL AT TOP OF PAGE
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfY;
}


// PRACTICE AREA
function practiceContent(practicePage){
	
	// page does not exist
	if (!$('topic_'+practicePage)){
		$('practiceContent').set('html','<i>[ Pages does not exist ]</i>');		
	}
	else {
		// UPDATE CLICKED BUTTON
		document.id('practiceTopics').getElements('li').removeClass('clicked');
		$('topic_'+practicePage).addClass('clicked');
		
		// ADD TO URL
		var url='#'+practicePage;
		window.location=url;
		currentAnchor=url;
		
		// UPDATE
		var scrollOffset=getScrollXY();
		if (scrollOffset<=10) {
			ajax_execute('practiceContent','practiceContent','practicePage='+practicePage,"true","true");
		}
		else {
			var scroller = new Fx.Scroll(document.body).toTop().chain(function(){
				ajax_execute('practiceContent','practiceContent','practicePage='+practicePage,"true","true");
			});	
		}
	}
}

// BLOG CONTENT
function blogContent(parameter,type,start){
	
	// IF NOTHING IN SEARCH
	if (parameter=='' && type=='search'){
		parameter='all';
		type='all';
		start=0;	
	}
	
	// REMOVE SEARCH FIELD
	if (type!='search') {
	$('search').value='';
	$('search').blur();
	}
	
	// ADD ANCHOR
	var url='#'+type+":"+parameter+":"+start;
	window.location=url;
	currentAnchor=url;
	
	// UPDATE
	var scrollOffset=getScrollXY();
	if (scrollOffset<=10) {
		ajax_execute('blogContent','blogContent','parameter='+parameter+'&type='+type+'&s='+start,"true","true");
	}
	else {
		var scroller = new Fx.Scroll(document.body).toTop().chain(function(){
			ajax_execute('blogContent','blogContent','parameter='+parameter+'&type='+type+'&s='+start,"true","true");
		});	
	}
}
