window.addEvent('domready',function() {
	if ($('content')) {
		wrapbackground();
		backgroundshift();
	}
	if ($('datatable')) {
		viewdata();
	}
	if ($('registerform')) registervalidation();
});

function wrapbackground() {
	window.addEvent('resize',function() {
		backgroundshift();
	});
}
function backgroundshift() {
	var body = $$('body');
	if (window.getSize().x <= 1055) {
		body.setStyle('background-position','2006px 0px');
	} else {
		body.setStyle('background-position','center top');
	}
}

function viewdata() {
	sortclick();
}

function trovers() {
	var trs = $$('tr');
	trs.each(function(el, index) {
		if (el.hasClass('dark')) {
			el.onmouseover = function() { this.setStyle('background-color','#414449'); }
			el.onmouseout = function() { this.setStyle('background-color','#6B7279'); }
		} else if (el.hasClass('light')) {
			el.onmouseover = function() { this.setStyle('background-color','#414449'); }
			el.onmouseout = function() { this.setStyle('background-color','#878F97'); }
		}
		//alert(index);
	});
}

function requestdata(sortorder,sortby) {
	var div = $('datatable');
	var order = '';
	$$('h5.label').each(function(el,index) {
		var a = el.getFirst('a');
		if (a.hasClass('hit')) {
			if (a.hasClass('asc')) {
				order = 'SORT_ASC';
			} else {
				order = 'SORT_DESC';
			}
		}
	});
	
	var specific = div.get('class');
	var request = new Request({
		method: 'post',
		url: '/library/ajax/ordertable.php',
		noCache: true,
		data: {
			'sortby':sortby,
			'sortorder':order,
			'specific':specific
		},
		onRequest:function() { div.set('html','<div class="preloader"></div>'); },
		onComplete:function(response) { 
			div.set('html',response);
			trovers();
		}
	}).send();
}

function sortclick() {
	var sortby = '';
	var sortorder = '';
	
	$$('h5.label').each(function(el,index) {
		var a = el.getFirst('a');
		if (a.hasClass('hit')) {
			var id = a.get('id');
			sortby = id.substring(4);
		}
				
		a.onclick = function() {
			// if this already is in hit state, just change direction of sort
			if (this.hasClass('hit')) {
				a.toggleClass('desc');
				a.toggleClass('asc');
			} else {	
				$$('h5.label').each(function(el,index) {
					var a = el.getFirst('a');
					if (a.hasClass('hit')) {
						a.removeClass('hit');
					}
					if (a.hasClass('desc')) {
						a.removeClass('desc');
						a.addClass('asc');
					}
				});
				if (!this.hasClass('hit')) this.addClass('hit');
			}
			viewdata();
			return false;
		}
	});
	
	requestdata(sortorder,sortby);
}

function registervalidation() {
	var submit = $('submit');
	
	
	submit.onclick = function() {
		var fname = $('fullname').value;
		var email = $('emailaddress').value;
		var emailExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		var errorcount = 0;
		if (fname == '' || fname == ' ' || fname == 'Required Field') {
			errorcount++;
			var fx = new Fx.Tween($('fullname'));
			fx.start('background-color','#855229','#FFFFFF');
			$('fullname').set('value','Required Field');
		} 
		if (email == '' || email == ' ' || !emailExp.test(email)) {
			errorcount++;
			var fx = new Fx.Tween($('emailaddress'));
			fx.start('background-color','#855229','#FFFFFF');
			$('emailaddress').set('value','Required Field');
		}
		
		if (errorcount > 0) {
			$('fullname').onclick = function() { this.set('value',''); }
			$('emailaddress').onclick = function() { this.set('value',''); }
			return false;
		} else {
			var fullname = $('fullname').value;
			var emailaddress = $('emailaddress').value;
			var phonenumber = $('phonenumber').value;
			var address = $('address').value;
			var addressoptional = $('addressoptional').value;
			var city = $('city').value;
			var state = $('state').value;
			var zipcode = $('zipcode').value;
			var hearabout = $('hearabout').options[$('hearabout').selectedIndex].value;
			var questions = $('questions').value;
			
			for (i=0;i<document.registerform.inquiry.length;i++) {
				if (document.registerform.inquiry[i].checked) var inquiry = document.registerform.inquiry[i].value;
			}
			for (i=0;i<document.registerform.purchase.length;i++) {
				if (document.registerform.purchase[i].checked) var purchase = document.registerform.purchase[i].value;
			}
			for (i=0;i<document.registerform.age.length;i++) {
				if (document.registerform.age[i].checked) var age = document.registerform.age[i].value;
			}
			
			var req = new Request({
				method: 'post',
				url: '/library/php/contact-form-submit.php',
				data: { 
					'fullname':fullname,
					'emailaddress':emailaddress,
					'phonenumber':phonenumber,
					'address':address,
					'addressoptional':addressoptional,
					'city':city,
					'state':state,
					'zipcode':zipcode,
					'hearabout':hearabout,
					'inquiry':inquiry,
					'purchase':purchase,
					'age':age,
					'questions':questions
				},
				onRequest: function() {
					//alert("getting");
				},
				onComplete: function(response) {
					var copy = $('shadowtop').getFirst('div');
					if (response == 'Success') {						
						copy.set('html','<h1 id="thankyoutitle">Thank You!</h1><p>Thank you for your interest in Grayhawk.<br/><br/>Now is such a beautiful time here, we\'d like to invite you to visit.<br/>So, one of our sales associates will contact you soon.<br/><br/>If you prefer, you may call or email us to make an appointment today,<br/>314.488.7645 or 573.483.3205</p><p><a href="mailto:welcome@grayhawkmo.com">welcome@grayhawkmo.com</a></p>');
					} else {
						copy.set('html','<h1 id="errortitle">Error</h1><p>We were unable to process your request.</p><p>The following error has occured: '+response+'.</p>');
					}
				}
			}).send();
		}
	}
}


/*
* * * * * * * * * * * * * * * * * * * * *
IE :hover Fix --- taken from A List Apart
* * * * * * * * * * * * * * * * * * * * *
*/
sfHover = function() {
	if ($('dropdown')) {
	var sfEls = document.getElementById("select").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);











