// JavaScript Document


//form validation
var submitForm = true;
function validate(form){
	if(submitForm){
		var thisForm = $(form);
		var alertColor = '#FF0000';
		var normColor = '';
		var alertStr = '';
		var pass = true;
		var fields = new Array();
		var names = new Array();
		var num = -1;
		var lblArr;
		for(e=0;e<thisForm.length;e++){
			if(!names.find( function(n){ return n == thisForm.elements[e].name; }) ){
				num++;
				names[num]=thisForm.elements[e].name.replace(/[\[\]]/g,'');
				lblArr = $$('#check-'+thisForm.elements[e].id,'#check-'+thisForm.elements[e].name);
				if(lblArr.length>0){
					fields[num] = new Array(false,lblArr[0]);
				}
			}
			if(fields[num]){
				switch(thisForm.elements[e].type){
					case 'checkbox':
					case 'radio':
						if(thisForm.elements[e].checked){ fields[num][0] = true; }
						break;
					default:
						if(thisForm.elements[e].value != ''){ fields[num][0] = true; }
				}
			}
		}
		fields.each(function(f){
				if(f){
					if(!f[0]){
						f[1].style.color= alertColor;
						pass = false;
					}else{
						f[1].style.color= normColor;
					}
				}
			});
		if(!pass){
			alertStr += "Please fill in the fields with red labels.\n\n";
		}
		
		if(window.formChecks){
			var formChecksResults = formChecks(thisForm, pass, alertStr,alertColor,normColor);
			pass = formChecksResults['pass'];
			alertStr = formChecksResults['alertStr'];
		}
		
		if(!pass && alertStr.length>0){
			alert(alertStr);
		}
		// if pass is still true submit the form
		if(pass){
			//if(confirmUnload) confirmUnload=false;
			//$$('.JSmultiSelect select[name!=""]').each(function(s){  selectAllOptions(s);  }); 
			thisForm.submit();
		}else{
			submitForm = true;
		}
	}
}


var confirmUnload = false;
window.onbeforeunload = function(){ 
					if(confirmUnload){
						return 'Some fields have not been saved!'; 
					}
				}
function checkOnUnload(){
	$$('input, select, textarea, file').each( 
		function(elm){ 
			Event.observe(elm,'change',
				function(){
					confirmUnload=true;
				}); 
		});
	$$('form').each( function(form){ Event.observe(form,'submit',function(){ confirmUnload=false; }); });
}

function startMarquee(marquee){
	var marquee = $(marquee);
	marquee.wrap('div',{'class':'marqueeWrapper'});
	var marquee2 = marquee.cloneNode(1);
	marquee2.id = marquee.id+'2';
	marquee2.setStyle({'left':marquee.getWidth()+'px'});
	marquee.parentNode.insert({bottom:marquee2});
	moveMarquee(marquee);
}
function moveMarquee(marquee){
	var movePx = 5;
	var marquee = $(marquee);
	var marquee2 = $(marquee.id+'2');
	var marqueeWidth = marquee.getWidth();
	var newLeft = parseInt(marquee.getStyle('left').replace('px',''))-movePx;
	var newLeft2 = parseInt(marquee2.getStyle('left').replace('px',''))-movePx;
	if(newLeft <= marqueeWidth*-1) newLeft=marqueeWidth;
	if(newLeft2 <= marqueeWidth*-1) newLeft2=marqueeWidth;
	marquee.setStyle({'left':newLeft+'px'});
	marquee2.setStyle({'left':newLeft2+'px'});
	setTimeout('moveMarquee("'+marquee.id+'")',100);
}
