$(document).ready(function() {
	
	$('a.contact').click(function(e){
		e.preventDefault();
		var pos = $('#contact').offset();
		$('html, body').animate({scrollTop: pos.top}, 500);
		return false;
	});
	
	$('#btn-getstarted-sm').click(function(e){
		var isValid = validateGetStarted(true);
		
		if(isValid){
			$('#error-q').slideUp();
			$.ajax({
				method: 'get',
				url: '/site/submit-questions.php?'+$('#frmGetStarted').serialize(),
				success: function(msg) {
					if(msg=='SENT'){
						$('#frmGetStarted input, #frmGetStarted textarea')
							.not(':button, :submit, :reset, :hidden')
							.val('')
							.removeAttr('checked')
							.removeAttr('selected');
						$('#confirm-q').slideDown();
						$('html, body').animate({scrollTop: $('#error-q').offset().top}, 'slow');
					} else {
						msgError = msg;
						$('#error-q p').text(msgError);
						$('#confirm-q').slideUp();
						$('#error-q').slideDown();
						
						$('html, body').animate({scrollTop: $('#error-q').offset().top}, 'slow');
					}
				}
			});
		}else {

			msgError = 'You haven\'t given us enough info yet! Please fill in the fields in red and try again.';
				
			$('#error-q p').text(msgError);
			$('#confirm-q').slideUp();
			$('#error-q').slideDown();
			
			$('html, body').animate({scrollTop: $('#error-q').offset().top}, 'slow');

		}

		return false;
	});
	
	$('#btn-letitfly').click(function(e){

		var isValid = validateForm(true);
		
		if(isValid){
			$('#error').slideUp();
			$.ajax({
				method: 'get',
				url: '/site/submit-contact.php?'+$('#frm-contact').serialize(),
				success: function(msg) {
					if(msg=='SENT'){
						$('#frm-contact input, #frm-contact textarea')
							.not(':button, :submit, :reset, :hidden')
							.val('')
							.removeAttr('checked')
							.removeAttr('selected');
						$('#confirm').slideDown();
					} else {
						msgError = msg;
						$('#error p').text(msgError);
						$('#confirm').slideUp();
						$('#error').slideDown();
					}
				}
			});
		}else {
			if($('input[name=SPAM]:checked').val() == spamKey)
				msgError = 'Hrmmm, something is wrong. Please check the fields in red and try again.';
			else
				msgError = 'You failed the human test. If you\'re trying to spam us, please don\'t.';
	
			$('#error p').text(msgError);
			$('#confirm').slideUp();
			$('#error').slideDown();
		}

		return false;
		
	});
	$('#frm-contact fieldset input, #frm-contact fieldset textarea').change(function(){ validateForm(); });
	
	$('#frmGetStarted input, #frmGetStarted textarea').change(function() { validateGetStarted(); });
	
	$("#tweets").tweet({
		join_text: "auto",
		username: "neonthoughts",
		count: 3,
		template: function(i){return i["text"] + '<br />' + i["time"] }
	});
	
	$("#nav-social li a").each(function() {
		var addedIco = '<img class="btn-on" src="/bin/img/' + $(this).attr('id') + '-on.png" style="display:none" />';
		$(this).append(addedIco);
		
		$(this).hover(function(){
			$(this).find('.btn-on').stop(true, true).fadeIn();
		}, function(){
			$(this).find('.btn-on').stop(true, true).fadeOut();	
		});
	});
	
});

var hasError = false;
var msgError = '';
var spamKey = 'Packaging';


function validateForm(x){
	var frmErr = false;
	var frmObj = $('#frm-contact').serializeArray();
	$.each(frmObj, function(i, field){
		var tmpID = $('[name="'+field.name+'"]').attr('id');
		var tmpVal = $('#'+tmpID).val();
		var tmpRev = $('#'+tmpID).attr('rev');
		var tmpRel = $('#'+tmpID).attr('rel');
		var tmpErr = false;
		
		if(checkField(tmpRel)){
			var tmpSiblings = $('[rel="'+tmpRel+'"]');
			var tmpErr2 = false;
			$.each(tmpSiblings, function(j, field2){
				var tmpID2 = $('[name="'+field2.name+'"]').attr('id');
				var tmpVal2 = $('#'+tmpID2).val();
				var tmpRev2 = $('#'+tmpID2).attr('rev');
				var tmpRel2 = $('#'+tmpID2).attr('rel');
				
				if(tmpRev2 == 'email'){ if(!checkEmail(tmpVal2)) { tmpErr2 = true; } }
				else { if(!checkField(tmpVal2)) { tmpErr2 = true; } }
				
				if(tmpErr2) { tmpErr = true; }
			});
		}else {
			if(tmpRev == 'email'){ if(!checkEmail(tmpVal)) { tmpErr = true; } }
			else { if(!checkField(tmpVal)) { tmpErr = true; } }
		}
		
		if(tmpErr) { frmErr = true; if(x){ $('#'+tmpID).prev('label').addClass('error'); } }
		else { $('#'+tmpID).prev('label').removeClass('error'); }
		
	});
	
	if($('input[name=SPAM]:checked').val() == spamKey)
		$('#lbl-spam').removeClass('error');
	else
		if(x) { $('#lbl-spam').addClass('error'); }
	
	
	
	if(frmErr) { return false; }
	else { return true; }
}

function validateGetStarted(x){
	
	var frmErr = false;
	var frmObj = $('#frmGetStarted').serializeArray();
	$.each(frmObj, function(i, field){
		var tmpID = $('[name="'+field.name+'"]').attr('id');
		
		if($('#'+tmpID).hasClass('required')){
			var tmpVal = $('#'+tmpID).val();
			var tmpRev = $('#'+tmpID).attr('rev');
			var tmpRel = $('#'+tmpID).attr('rel');
			var tmpErr = false;
			
			if(checkField(tmpRel)){
				var tmpSiblings = $('[rel="'+tmpRel+'"]');
				var tmpErr2 = false;
				$.each(tmpSiblings, function(j, field2){
					var tmpID2 = $('[name="'+field2.name+'"]').attr('id');
					var tmpVal2 = $('#'+tmpID2).val();
					var tmpRev2 = $('#'+tmpID2).attr('rev');
					var tmpRel2 = $('#'+tmpID2).attr('rel');
					
					if(tmpRev2 == 'email'){ if(!checkEmail(tmpVal2)) { tmpErr2 = true; } }
					else { if(!checkField(tmpVal2)) { tmpErr2 = true; } }
					
					if(tmpErr2) { tmpErr = true; }
				});
			}else {
				if(tmpRev == 'email'){ if(!checkEmail(tmpVal)) { tmpErr = true; } }
				else { if(!checkField(tmpVal)) { tmpErr = true; } }
			}
			
			if(tmpErr) { frmErr = true; if(x){ $('#'+tmpID).prev('label').addClass('error'); } }
			else { $('#'+tmpID).prev('label').removeClass('error'); }
		}
		
	});
	
	
	if(frmErr) { return false; }
	else { return true; }
}

function checkField(x){
	if($.trim(x) == "" || x == null)
		return false;
	else 
		return true;
}

function checkEmail(x){
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	if($.trim(x) == "" || x == null || !emailReg.test(x))
		return false;
	else
		return true;
}
