$(document).ready(function() {

var fname ;
var lname ;
var email ;
var phone ;
var top;

$('#nrasincentives').live('submit', function() {

fname = $("#nrasincentives input#firstname").val();
email = $("#nrasincentives input#email").val();
$.cookie('nrasIncFlag', '1', { expires: 365, path: '/' });

$.cookie('nrasIncFirstName', fname);
$.cookie('nrasIncEmail', email);



});




	var flag = 'open';
	
	if ($.cookie('nrasIncFlag') ) { flag = 'closed'};
	
	
	var flag2;
	$(document).mousemove(function(e) {
		if(e.pageY > 60)
			{flag2 = 'open' };
	
		top = e.pageY - $(window).scrollTop();
		right = $(window).width() - e.pageX;
		
		//top = e.pageY;
		if(top <= 60 && right >= 100)
		{
		if (flag == 'open' && flag2 =='open') {
		flag = 'close';
		// Launch MODAL BOX
		$('#exitmodal').dialog({
			height: 550,
			width: 530,
			modal: false,
			close: function() {
				$('#NRASform').load('nrasincentives.php #NRAScontact');
			}
			});
		
		$('#NRASform').html('');
		
		}
		}
	});

$('#nrashomereport').ajaxForm({
								beforeSerialize: function($form, options) { 
									
									fname = $("input#firstname").val();
									lname = $("input#lastname").val();
									email = $("input#email").val();
									phone = $("input#phone").val();
									
									$.cookie('nrasIncFlag', '1', { expires: 365, path: '/' });

									$.cookie('nrasIncFirstName', fname);
									$.cookie('nrasIncEmail', email);
									
									
									
									
								},
								beforeSubmit:  function(){
								
								$('#offer-homereport').fadeOut('slow');
								$('#exitmodal').addClass('loading');
								
								
								
								},  
								 success:  function(){
								 
								 //show hotondo form
								 //sub in values from nras form
								 
								 $('#exitmodal').removeClass('loading');
								$('#offer-homereport').html('');
								$('#ui-dialog-title-exitmodal').html("You're almost finished!")
								
								$('#offer-homereport').load('residex.php', function(){
									$('#offer-homereport').fadeIn('slow');
									 $("input#firstname").val(fname);
								$("input#lastname").val(lname);
								$("input#email").val(email);
								$("input#phone").val(phone);
									
								 });
								
								 
								 }
								
								
							
							});
							 return false;
	

});


addEvent(window, 'load', initForm);

function initForm(){
	browserDetect();
	initializeFocus();
}

function ValidateRequiredFields(form) {
	var required = getElementsByClassName("req", "span", form);
	var validated = true;
	for (var i = 0; i < required.length; i++) {
		var area = GetHighlightArea(required[i]);
		if (hasClassName(area, "complex")) {
			var fields = getElementsByClassName("field", "input", area)
			for (var j = 0; j < fields.length; j++) {
				validated = VerifyRequiredField(area, fields[j]) && validated;
			}
		} else {
			var fieldName = required[i].parentNode.attributes["for"].value;
			var field = document.forms[0].elements[fieldName];
			validated = VerifyRequiredField(area, field) && validated;
		}
	}
	if (validated == false) { $('li.buttons span').addClass('error');}
	if (validated == true) { $('li.buttons span').removeClass('error'); $('#onesubmit').show();}
	return validated;
}

function VerifyRequiredField(area, field) {
	if (IsEmpty(field)) {
		addClassName(area, "error", true);
		return false;
	} else {
		removeClassName(area, "error");
		return true;
	}
}

function IsEmpty(field) {
	switch (field.type) {
		case 'text':
		case 'textarea':
		case 'password':
			return (field.value.length == 0 || (hasClassName(field, "email") && !IsValidEmail(field.value)));
			break;
		case 'checkbox':
		case 'radio':
			return (!field.checked);
			break;
		case 'select':
		case 'select-one':
			return (field.selectedIndex == 0);
			break
	}

	if (field.length) {
		var isEmpty = true;
		for (var i = 0; i < field.length; i++) {
			isEmpty = isEmpty && IsEmpty(field[i]);
		}
		return isEmpty;
	}

	return true;
}

function IsValidEmail(email) {
	if (email == null || email == "") return false;
	var at = "@";
	var dot = ".";
	var lat = email.indexOf(at);
	var lstr = email.length;
	var ldot = email.indexOf(dot);
	if (lat <= 0 || lat == lstr) return false;
	if (ldot <= 0 || ldot == lstr) return false;
	if (email.indexOf(at, (lat + 1)) != -1) return false;
	if (email.substring(lat - 1, lat) == dot || email.substring(lat + 1, lat + 2) == dot) return false;
	if (email.indexOf(dot, (lat + 2)) == -1) return false;
	if (email.indexOf(" ") != -1) return false;
	return true;
}

function GetHighlightArea(element) {
	var tagName = element.tagName.toLowerCase();
	if (tagName == "span" && hasClassName(element, "half")) return element;
	if (tagName == "li" || tagName == "body" || element.parentNode == null) return element;
	return GetHighlightArea(element.parentNode);
}

function initializeFocus(){
	var fields = getElementsByClassName("field", null, document);
	for (i = 0; i < fields.length; i++) {
		if (fields[i].type == 'radio' || fields[i].type == 'checkbox') {
			fields[i].onclick = function () { fieldHighlight(this); };
			fields[i].onfocus = function () { fieldHighlight(this); };
		}
		else if (fields[i].className.match('addr') || fields[i].className.match('other')) {
			fields[i].onfocus = function () { fieldHighlight(this); };
		}
		else if (fields[i].className.match('select')) {
			fields[i].onmousedown = function () { addClassName(this, "ieSelectFix", true); };
			fields[i].onchange = function () { removeClassName(this, "ieSelectFix"); };
			fields[i].onfocus = function () { addClassName(this, "ieSelectFix", true); fieldHighlight(this); };
			fields[i].onblur = function () { removeClassName(this, "ieSelectFix"); };
		}
		else {
			fields[i].onfocus = function () { fieldHighlight(this); };
		}
	}
}

function fieldHighlight(element) {
	var fieldContainer = GetHighlightArea(element.parentNode);
	addClassName(fieldContainer, "focused", true);

	var focusedFields = getElementsByClassName("focused", null, document);
	for (i = 0; i < focusedFields.length; i++) {
		if (focusedFields[i] != fieldContainer) {
			removeClassName(focusedFields[i], "focused");
		}
	}
}

function browserDetect(){
	var detect = navigator.userAgent.toLowerCase();
	var container = document.getElementsByTagName('html');
	if(detect.indexOf('firefox') + 1){
		addClassName(container[0], 'firefox', true);
	}
	else if(detect.indexOf('chrome') + 1){
		addClassName(container[0], 'chrome', true);
	}
	else if(detect.indexOf('safari') + 1){
		addClassName(container[0], 'safari', true);
	}
}

function GetChildElementById(parentElement, elementName) {
	var child = null;
	if (parentElement.getElementById) child = parentElement.getElementById(elementName);
	else if (parentElement.all) child = parentElement.all[elementName];
	else if (document.all) child = document.all[elementName];
	else if (document.getElementById) child = document.getElementById(elementName);
	return child;
}


/*
Developed by Robert Nyman, http://www.robertnyman.com
Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm) {
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag) ? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for (var i = 0, il = elements.length; i < il; i += 1) {
				current = elements[i];
				if (!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace) ? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for (var j = 0, jl = classes.length; j < jl; j += 1) {
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all) ? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for (var k = 0, kl = classes.length; k < kl; k += 1) {
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for (var l = 0, ll = elements.length; l < ll; l += 1) {
				current = elements[l];
				match = false;
				for (var m = 0, ml = classesToCheck.length; m < ml; m += 1) {
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

//http://www.bigbold.com/snippets/posts/show/2630
function addClassName(objElement, strClass, blnMayAlreadyExist) {
	if (objElement.className){
		var arrList = objElement.className.split(' ');
		if (blnMayAlreadyExist){
			var strClassUpper = strClass.toUpperCase();
			for (var i = 0; i < arrList.length; i++) {
				if (arrList[i].toUpperCase() == strClassUpper) {
					arrList.splice(i, 1);
					i--;
				}
			}
		}
		arrList[arrList.length] = strClass;
		objElement.className = arrList.join(' ');
	}
	else{  
		objElement.className = strClass;
	}
}

//http://www.bigbold.com/snippets/posts/show/2630
function removeClassName(objElement, strClass){
	if ( objElement.className ) {
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for (var i = 0; i < arrList.length; i++) {
			if (arrList[i].toUpperCase() == strClassUpper) {
				arrList.splice(i, 1);
				i--;
			}
		}
		objElement.className = arrList.join(' ');
	}
}

function hasClassName(objElement, strClass) {
	if (objElement.className) {
		var arrList = objElement.className.split(' ');
		var strClassUpper = strClass.toUpperCase();
		for (var i = 0; i < arrList.length; i++) {
			if (arrList[i].toUpperCase() == strClassUpper) {
				return true;
			}
		}
	}
	return false;
}

//http://ejohn.org/projects/flexible-javascript-events/
function addEvent( obj, type, fn ) {
	if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ) };
		obj.attachEvent( "on"+type, obj[type+fn] );
	} else {
		obj.addEventListener( type, fn, false );	
	}
}

