var lg=0, ms=0, tn=0, cr=0, errMsg='';

function uiError(err){
	if (!$('uiOverlay')) {
		err = "<h1 style='color: red'>Oops... there was an error!</h1><br /> " + err;
		var overlay = new Element('div', {
			id: 'uiOverlay'
		});
		overlay.setStyles({
			width: "100%",
			height: $('bodyWrapper').getSize().y + 50,
			background: "#000",
			position: "absolute",
			left: 0,
			opacity: 0,
			zIndex: 999,
			overflow: 'hidden'
		});
		
		var message = new Element('div', {
			id: 'uiError'
		});
		message.setStyles({
			width: "375px",
			padding: "12px",
			background: "#fff",
			marginTop: window.getScroll().y + 125,
			marginLeft: '39%',
			position: "absolute"
		});
		
		overlay.inject(document.body, 'top');
		message.inject(overlay, 'top');
		
		document.body.setStyle('overflow', 'hidden');
		
		overlay.set('tween', {
			duration: 250
		})
		overlay.tween('opacity', [0, .95]);
		message.set('html', err);
		
		var errClose = new Element('div', {
			id: 'uiErrorClose',
			html: 'OK'
		});
		errClose.setStyles({
			border: '1px red solid',
			margin: "12px 0",
			width: "100px",
			textAlign: "center",
			cursor: "pointer"
		});
		
		errClose.inject(message, 'bottom');
		
		errClose.addEvent('click', function(){
			overlay.tween('opacity', [.75, 0]);
			(function(){
				overlay.destroy();
			}).delay(255);
			document.body.setStyle('overflow', 'auto');
		});
	}
	return false;
}

function rollOver(){
	var images = $$('.rollOver');
	var ssrc = new Array();
	var nsrc = new Array();
	images.each(function(image, i){
		osrc = image.src;
		ofmt = osrc.split(".");
		ofmt = ofmt.pop();
		onam = osrc.split("/");
		onam = onam.pop();
		onam = onam.split(".");
		onam.pop();
		nsrc[i] = "/images/"+onam+"-hover."+ofmt;
		ssrc[i] = "/images/"+onam+"."+ofmt;
		image.addEvent('mouseenter', function(){
			image.setProperty('src', nsrc[i]);			
		});
		
		image.addEvent('mouseleave', function(){
			image.setProperty('src', ssrc[i]);
		});
	}, this);
	new Asset.images(ssrc);
	new Asset.images(nsrc);
}

function checkAudit(id){
	//alert("sb: "+lg+", "+ms+", "+tn+", "+cr);
	errMsg='';
//	var answers = $(id).getElements('input[name^=answer_]');
	var answers = $(id).getElements('input[name^=answer]');
//	alert('l: '+answers.length);
//	return false;
	if (Cookie.read('doGen')) Cookie.dispose('doGen');
	
	if($(id).hasClass("auditStart")){
		lg=0, ms=0, tn=0, cr=0;
		var questions = 10;
		for(var i=1; i<=questions; i++){
			//alert("checking answer "+i+" = "+$(id).getElements('input[name=answer['+i+']]'));
			if(i == 2){
				if($('answer_2').value == ''){
					errMsg = errMsg+"<p>You did not answer Question #2</p>";
				} else {
					if($('answer_2').value.test("^[0-9,]*[.]{0,1}[0-9]{1,2}$") == false){
						errMsg = errMsg+"<p>You entered an invalid dollar amount for Question #2</p>";
					} else {
						ms++;
					}
				}
			}
			else {
				if(checkAnswer($(id).getElements('input[name^=answer['+i+']]')) == false){
					errMsg = errMsg+"<p>You did not answer Question #"+i+"</p>";
				}
			}
		}
	}
	
	else if($(id).hasClass("auditNext")){
		//alert("s: "+ls+","+ms+","+tn+","+cr);
		var questions = 20;
		var olg = lg, oms = ms, otn = tn, ocr = cr;
		for(var i=11; i<=questions; i++){
			if(checkAnswer($(id).getElements('input[name^=answer['+i+']]')) == false){
				errMsg = errMsg+"<p>You did not answer Question #"+i+"</p>";
				lg=olg;ms=oms;tn=otn;cr=ocr;
			}
		}

	}
	
	else if($(id).hasClass("auditResults")){
		if($('name').value.test("^[a-z\ \s].*$", "i") == false){ errMsg = errMsg+"<p>Invalid Name</p>"; };
		if($('email').value.test("^[\_]*([a-z0-9]+(\.|\_*)?)+@([a-z][a-z0-9\-]+(\.|\-*\.))+[a-z]{2,6}$", "i") == false){ errMsg = errMsg+"<p>Invalid E-Mail Address</p>"; };
		if($('phone').value.test("^[0-9\-\ ]{10,}$") == false){ errMsg = errMsg+"<p>Invalid Phone Number</p>"; };
	}
	
	else return false;
	
	if(errMsg != "") return uiError(errMsg);
	
	$('lg_score').value=lg;
	$('ms_score').value=ms;
	$('tn_score').value=tn;
	$('cr_score').value=cr;
	
	//alert("sa: "+lg+", "+ms+", "+tn+", "+cr);
	//return false;
	return true;
}

function checkAnswer(obj){
	var result = false;
	for (var i=0; i<obj.length; i++) {
		if (obj[i].checked == true) {
			if(obj[i].hasClass('lg')) lg = lg+obj[i].value.toInt();
			if(obj[i].hasClass('ms')) ms = ms+obj[i].value.toInt();
			if(obj[i].hasClass('tn')) tn = tn+obj[i].value.toInt();
			if(obj[i].hasClass('cr')) cr = cr+obj[i].value.toInt();
			result = true;
		}
	}
	return result;
}

var Audit = {
	start: function(){
		if($$('.rollOver')) rollOver();
		if($('lg_score')) lg = $('lg_score').value.toInt();
		if($('ms_score')) ms = $('ms_score').value.toInt();
		if($('tn_score')) tn = $('tn_score').value.toInt();
		if($('cr_score')) cr = $('cr_score').value.toInt();
		if($('auditForm')){
			$('auditForm').addEvent('submit', function(e){
				var c = checkAudit(this.id);
				if(c == false) new Event(e).stop();
			});
		};

		
		if (Cookie.read('doGen') != 'no') {
		
			if ($('loadRunner')) {
				$('loadWrapper').setStyles({
					width: document.getSize().x,
					height: document.getSize().y,
					opacity: '0.82'
				});
				
				var lfx = new Fx.Tween($('loadRunner'), {
					duration: 250
				});
				var wfx = new Fx.Tween($('loadWrapper', {
					duration: 500
				}));
				var rsl = new Fx.Slide($('results'));
				rsl.hide();
				
				var scrFx = new Fx.Tween($('score'), {
					link: 'chain',
					duration: 350
				});
				
				
				$('meter').fade('hide');
				
				var w = $('animeter').getStyle('width');
				$('animeter').setStyle('width', 0);
				var aniFx = new Fx.Tween($('animeter'), {
					link: 'chain',
					duration: 2500,
					unit: '%'
				});
				
				var aniFxVar = new Fx.Tween($('animeterVar'), {
					link: 'chain',
					duration: 350
				});
				aniFxVar.set('opacity', 0);
				
				(function(){
					$('cat').set('text', 'Measuring Success Pillar #1');
					$('desc').set('html', '<div id="lgLoad"><h1>Lead Generation &amp; New Client Acquisition</h1><p>New Clients are the <em>Life Blood<em> of <strong>ANY</strong> Successful Business!</p></div>');
				}).delay(800);
				
				(function(){
					$('cat').set('text', 'Measuring Success Pillar #2');
					$('desc').set('html', '<div id="msLoad"><h1>Marketing and Sales</h1><p>Multi-Step Marketing Techniques Lead to <strong><em>Increased Sales!</em></strong></p></div>');
				}).delay(4800);
				
				(function(){
					$('cat').set('text', 'Measuring Success Pillar #3');
					$('desc').set('html', '<div id="tnLoad"><h1>Leveraging Technology</h1><p>With <em>Automated Robots</em> You&#039;ll <em>Work Less</em> and <em><strong>Earn More!</strong></em></p></div>');
				}).delay(8800);
				
				(function(){
					$('cat').set('text', 'Measuring Success Pillar #4');
					$('desc').set('html', '<div id="crLoad"><h1>Client Retention</h1><p>This is the <strong>Gold Mine</strong> in Your Business!</p><p><em>Invest in it for Greater Returns!</em></p></div>');
				}).delay(12000);
				
				(function(){
					$('spinner').setStyle('visibility', 'hidden');
				}).delay(16800);
				
				(function(){
					lfx.start('opacity', 1, 0)
				}).delay(17000);
				(function(){
					wfx.start('opacity', 0.25, 0)
				}).delay(17250);
				(function(){
					rsl.slideIn()
				}).delay(17750);
				
				(function(){
					$('meter').fade('in')
				}).delay(18200);
				(function(){
					scrFx.start('color', '#F00');
				}).delay(19000);
				
				(function(){
					if ($('animeter')) {
						aniFx.start('width', [0, 100]);
						aniFx.start('width', w).chain(function(){
							aniFxVar.start('opacity', 1);
							aniFxVar.start('opacity', 0);
							aniFxVar.start('opacity', 1);
							aniFxVar.start('opacity', 0);
							aniFxVar.start('opacity', 1);
							aniFxVar.start('opacity', 0);
							aniFxVar.start('opacity', 1);
						});
					}
				}).delay(19250);
				var doGen = Cookie.write('doGen', 'no');
			} 
		} else {
			$('loadRunner').setStyle('display', 'none');
		}
	}
}

window.addEvent('domready', Audit.start);
window.addEvent('domready',function() { new SmoothScroll({ duration: 500 }); });