

	window.addEvent('domready',function(){
		$$('a.check_all').addEvent('click',function(ev){
			$$('input').each(function(el){
				el.checked=!el.checked;
			});
			return false;	
		});
		$$('input.check_all').addEvent('click',function(ev){
			var me = this;
			$$('input').each(function(el){
				el.checked = me.checked;
			});
		});
	});


	var confirm_before_exit = false;	
	window.onbeforeunload = confirmExit;
	function confirmExit() {
		if(confirm_before_exit.length) return confirm_before_exit;
		if(confirm_before_exit) return "You have attempted to leave this page.  If you have made any changes to the fields without clicking the Save button, your changes will be lost.  Are you sure you want to exit this page?";
	}


	
	// Fancy File Uploaders
	
	var W3CDOM = (document.createElement && document.getElementsByTagName);
	function initFileUploads() {
	
		if (!W3CDOM) return;
		
		// Need to work out the bugs in camino
		if( document.getElementsByTagName('html')[0].className == "camino" ) {
			//return;
		}

		// Create div element	
		var fakeFileUploader = document.createElement('div');
		fakeFileUploader.className = 'fakeFileUploader';
	
		// Create img element	
		var fakeFileImage = document.createElement('img');
		fakeFileImage.className = 'fakeFileImage';
		fakeFileImage.src = 'img/empty.gif';
		fakeFileImage.alt = 'Click here to select an upload file.';
	
		// Create input element	
		var fakeFileInput = document.createElement('input');
		fakeFileInput.className = 'fakeFileInput';
		fakeFileInput.disabled = true;
	
		// Place input within the div	
		fakeFileUploader.appendChild( fakeFileImage );
		fakeFileUploader.appendChild( fakeFileInput );
	
		// Loop through all input elements on page...
		var x = document.getElementsByTagName('input');
		for (var i=0;i<x.length;i++) {
			if (x[i].type != 'file') continue;
			if (x[i].parentNode.className.indexOf('FancyFileInputs') == -1 ) continue;
	
			x[i].className = 'RealFile';
			var clone = fakeFileUploader.cloneNode(true);
			
			// Put new DIV inside real file input's parent element ( class = 'FancyFileInputs' )
			x[i].parentNode.appendChild(clone);
			
			// Get the input we just created...
			x[i].relatedElement = clone.getElementsByTagName('input')[0];
	
			// Get the input we just created...
			x[i].relatedImage = clone.getElementsByTagName('img')[0];
	
			// Add onchange element to the real file input
			//x[i].onchange = x[i].onmouseout = function () {
			x[i].onchange = function () {

				this.relatedElement.className = 'fakeFileInput';
				var fileName = this.value;
				if( fileName.lastIndexOf('\\') ) { fileName = fileName.substring(fileName.lastIndexOf('\\')+1); }
				if( fileName.lastIndexOf('/') ) { fileName = fileName.substring(fileName.lastIndexOf('/')+1); }
				this.relatedElement.value = fileName;
				if( fileName ) {
					this.relatedImage.className = 'fakeFileImageSelected';
					this.relatedElement.className = 'fakeFileInputSuccess';
					var allowed = this.alt.split(','); 
					if( allowed.toString().length && !allowed.contains( fileName.substring(fileName.lastIndexOf('.')+1).toLowerCase() ) ) {
						this.relatedImage.className = 'fakeFileImageError';
						this.relatedElement.className = 'fakeFileInputError';
						alert("Please note: \nThe file you selected WILL NOT be uploaded. \nFilename must end with "+allowed+". Thanks.");
						this.value = ''; 
					}
				}
			}
		}
	}
	window.addEvent("domready",function(){ initFileUploads(); });




	window.addEvent("domready",function(){

		$$('a[rel=external]').each(function(e){e.setProperty('target','_blank');});

		Element.implement({
			hilite: function(t,type){
				var t = t ? t : "";
				var type = type ? type : "success";
				if(t) this.set("html","<p>"+t+"</p>").addClass(type).highlight("#ffffff");
				return this;
			}
		});

	});


	window.addEvent('domready',function(){

		// Check numbers (on blur)
		$$('.numbers_only').each(function(el){
			el.addEvent('blur',function(ev){
				el.set('value',el.get('value').replace(/[^0-9]/g,''));
				if(el.get('maxlength')){
					el.set('value',el.get('value').substring(0,el.get('maxlength')));
				}
			});
		});

		// Highlight fields on focus AND show guidelines...
		$$('input','select','textarea').each(function(el){
			if( !el.getParent('li') ) return;
			if( el.getParent('li').getChildren('.guidelines').length>0){
				el.addEvent('focus',function(ev){
					el.getParent('li').addClass('showguidelines');
				});
				el.addEvent('blur',function(ev){
					el.getParent('li').removeClass('showguidelines');
				});
			}
			el.addEvent('focus',function(ev){
				el.getParent('li').addClass('highlighted');
			});
			el.addEvent('blur',function(ev){
				el.getParent('li').removeClass('highlighted');
			});
		});

		$$('li.buttons button.positive').each(function(el){
			el.addEvent('click',function(ev){
				el.getChildren('img').each(function(img){
					if ( img.getProperty('src').test('processing') ) {
						img.removeClass('hide').setProperty('style','display:inline;');
					} else {
						img.addClass('hide').setProperty('style','display:none;');
					}
				});
			});
		});

	});

	
	
