/**
 * mootools.customfunc.js
 * Mootools functions. Requires the Mootools Javascript Framework v1.2.1(www.mootools.net)
 * CAUTION: Requires v1.2.1 !! Will not work with v1.11
 * @author Tony Collings
 * @version 1.0 
 */
var sLoadingAnimation = '<div class="ajaxLoading"><img src="css/img/ajax-loader.gif" alt="" border="0" /><br />Loading... Please Wait...</div>';
var bSelectBoxesDisabled; // Boolean flag set if IE6 and z-index is toggled and SELECT boxes are present. IE6 & SELECT Bug

function ajaxThis(url,divToInject){
	var injectDiv = $(divToInject);
	//var objAJAX; // AJAX object
	injectDiv.set('html',sLoadingAnimation);
	reqAJAX = new Request.HTML({ 

		onRequest: function(){
				//
		},
		onStateChange: function(){
				//
		}, 
		onSuccess: function(html) {
			
			// IE6 SELECT BOX BUG FIX
			// Remove Select Boxes for IE6 ONLY. IE6 + z-index = problem. 
			var oBrowserName = BrowserDetect.browser;
			var oBrowserVersion = BrowserDetect.version;
			if(oBrowserName == 'Explorer' && oBrowserVersion <= 6){
				// Grab ALL Select Boxes
				var arrElementArray = $$('select');
				fixIE6SelectBox(arrElementArray,false);
				bSelectBoxesDisabled = true; 
			}
		
		
			if(injectDiv){
				injectDiv.set('html', '');
				injectDiv.adopt(html);
			} else {
				alert('We\'re sorry, there seems to have been a technical issue in getting the content you have requested. Please refresh the page and try again. If the problem persists please contact us here at help@rusk1.com. Thank you for your patience');	
			}
		},
		onFailure: function() {
			if(injectDiv){
				injectDiv.set('html', '<span class="ajaxError">Please accept our apologies, but we have been unable to process this <a href="http://en.wikipedia.org/wiki/Ajax_(programming)" title="AJAX" target="_blank"><acroynm title="(A)synchronous (J)avaScript (A)nd (X)ML"><strong>AJAX</strong></acroynm></a> request. Please close this window and try again. If you still experience problems please contact us at : help@rusk1.com<br /><p><a href="javascript:window.location=document.URL" title="Close this Window"><strong>Close</strong></a></span></p>');
			} else {
				alert('We\'re sorry, there seems to have been a technical issue in getting the content you have requested. Please refresh the page and try again. If the problem persists please contact us here at help@rusk1.com. Thank you for your patience');	
			}
		}
	});
	reqAJAX.post(""+url+"")
	
}

function toggleDiv(divToToggle){
	// NOTE: Overlay DIV is toggled by default
	var toggleDiv = $(divToToggle);	
	// Check for FLASH ELEMENTS and hide
	scrollTo(0,0);
	try{
		if (toggleDiv.style.display == 'none'){
		// Remove FLASH content to prevent Z-INDEX / Flash problems
			//flashSlider.store('html',flashSlider.get('html'));
			//flashSlider.set('html','This will be a picture');
			$('overlay').setStyles({display:'block'});
			toggleDiv.setStyles({display:'block', opacity:0});
			fade = new Fx.Tween(toggleDiv,  {property: 'opacity', duration: 600}).start(0,1);
			
			
		}
		else{
			// Re-enable select boxes for IE6
			if(bSelectBoxesDisabled){
				var arrElementArray = $$('select');
				fixIE6SelectBox(arrElementArray,true);
				bSelectBoxesDisabled = false; 
			}
			fade = new Fx.Tween(toggleDiv, 
				{
					property: 'opacity',
					duration: 600,
					onComplete: function(){ // Once FadeOut is complete, hide the DIV
						toggleDiv.setStyles({display:'none',opacity: 0});
						$('overlay').setStyles({display:'none'});
						// Put Back FLASH content 
						//flashSlider.set('html',flashSlider.retrieve('html'));
						
					}	
				}
			).start(1,0);	
		}

	} 
	catch(e){
		//alert(e);
	}

	
	
}
function setLoadingImg(elToInject){
	// Injects an AJAX Loading Image
	$(elToInject).set('html',sLoadingAnimation);
}

function borderFX(elArray,onBlurColor,onFocusColor){
	elArray.each(function(el) {
		try{
			el.setStyle('border','1px solid '+onBlurColor);
			el.addEvents({
				'focus' : function() {el.setStyles({border:'1px solid '+onFocusColor});}, 
				'blur' : function() {el.setStyles({border:'1px solid '+onBlurColor});}
			}); 
		} catch(e){
			
		}
	});
}

// Passes in an array of elements (should all be select boxes) and true/false to toggle on/off
function fixIE6SelectBox(arrElementArray,toggle){
	if(toggle){
		// Show Elements	
		arrElementArray.each(function(el) {
			el.setStyle('display','block');
		});
	}else{
		// Hide Elements
		arrElementArray.each(function(el) {
			el.setStyle('display','none');
		});
	}
}

