/* navigation functions */
sfHover = function() {
	var sfEls = document.getElementById("top-nav").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); }

/* HTTP REQUEST */

function xmlHTTP() {
	var xmlhttp = false;

	try{ xmlhttp = new ActiveXObject('Msxml2.XMLHTTP'); }
	catch(e) {
		try{ xmlhttp = new ActiveXObject('Microsoft.XMLHTTP'); }
		catch(E) { xmlhttp = false; }
	}
	
	if(!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); }
	return xmlhttp;
}


/* Input Functions */
function inputFocus(item, text) {
	if(item.value == text) { item.value = ''; }
}

function inputBlur(item, text) {
	if(item.value === '') { item.value = text; }
}

/* Email Gathering Tool */
function runEmail() {
	var femail = document.getElementById('femail');
	var zipper = document.getElementById('zipper');

	var xdr = xmlHTTP();
	var url = 'app/email.add.php?email=' + document.getElementById('femail').value + '&zipper=' + zipper + '&session=' + Math.floor(Math.random()*11);
	xdr.open("GET", url, true);
	xdr.onreadystatechange = function() {
		
		if(xdr.readyState == 4 && xdr.status == 200) {
			femail.value = 'Success!';
			zipper.value = 'Success!';
		} else {
			femail.value = 'loading ...';
			femail.style.color = '#AAA';
			
			zipper.value = 'loading ...';
			zipper.style.color = '#AAA';
		}
	};
	xdr.send(null);
}

function addEmail() {
	if(xmlHTTP()) {
		runEmail();
	}
	return false;
}

function validateEmail() {
	var email = document.getElementById('femail');
	
	if(email.value == 'Enter Your Email Here' || email.value === '') {
		alert('Please include a valid email address to receive Exclusive E-Mail Offers!');
		return false;
	} else {
		return addEmail();
	}
}

/* Email Message Form */
function runMessage() {
	var mcomments = document.getElementById('mcomments');
	var mmessage = document.getElementById('mmessage');
	var memail = document.getElementById('memail');
	var mname = document.getElementById('mname');
	
	var xdr = xmlHTTP();
	var url = 'app/message.send.php?session=' + Math.floor(Math.random()*11) + '&email=' + document.getElementById('memail').value + '&name=' + document.getElementById('mname').value + '&comments=' + document.getElementById('mcomments').value;
	xdr.open("GET", url, true);
	
	mcomments.value = '';
	mname.value = '';
	memail.value = '';
	mmessage.style.display = 'block';
	mmessage.innerHTML = 'Sending Email ...';
	
	xdr.onreadystatechange = function() {
		if(xdr.readyState == 4 && xdr.status == 200) {
			mmessage.style.color = '#62EF4A';
			mmessage.innerHTML = 'Success! Your email has been sent.';
		} else {
			mmessage.innerHTML = mmessage.innerHTML + '.';
		}
	};
	xdr.send(null);
}

function addMessage() {
	if(xmlHTTP()) { runMessage(); return false; }
	else { document.getElementById('message-form').action = ''; return true; }
}

function validateMessage() {
	var message = 'The sections must be included :' + "\n\n";
	var error = false;
	
	var name = document.getElementById('mname');
	var email = document.getElementById('memail');
	var comments = document.getElementById('mcomments');
	
	if(name.value === '') { error = true; message += 'Full Name' + "\n"; }
	if(email.value === '') { if(!error) { error = true; } message += 'Email Address' + "\n"; }
	if(comments.value === '') { if(!error) { error = true; } message += 'Comments / Questions' + "\n"; }
	
	if(error) { alert(message); return false; }
	else { if(addMessage()) { return true; } return false; }
}

/* RFP Message Form */
function runRfp() {
	var mname = document.getElementById('mname');
	var mcompany = document.getElementById('mcompany');
	var mproperty = document.getElementById('mproperty');
	var maddress = document.getElementById('maddress');
	var mcity = document.getElementById('mcity');
	var mstate = document.getElementById('mstate');
	var mzip = document.getElementById('mzip');
	var memail = document.getElementById('memail');
	var mphone = document.getElementById('mphone');
	var mfax = document.getElementById('mfax');
	var mcomments = document.getElementById('mcomments');
	var mename = document.getElementById('mename');
	var marrival = document.getElementById('marrival');
	var mdeparture = document.getElementById('mdeparture');
	var mdescription = document.getElementById('mdescription');
	var mecomments = document.getElementById('mecomments');
	
	var mmessage = document.getElementById('mmessage');
	var mmessage2 = document.getElementById('mmessage2');
	
	var params = "mname=" + encodeURI(mname.value) + "&mcompany=" + encodeURI(mcompany.value) + "&mproperty=" + encodeURI(mproperty.value) + "&maddress=" + encodeURI(maddress.value) + "&mcity=" + encodeURI(mcity.value) + "&mstate=" + encodeURI(mstate.value) + "&mzip=" + encodeURI(mzip.value) + "&memail=" + encodeURI(memail.value) + "&mphone=" + encodeURI(mphone.value) + "&mfax=" + encodeURI(mfax.value) + "&mcomments=" + encodeURI(mcomments.value) + "&mename=" + encodeURI(mename.value) + "&marrival=" + encodeURI(marrival.value) + "&mdeparture=" + encodeURI(mdeparture.value) + "&mdescription=" + encodeURI(mdescription.value) + "&mecomments=" + encodeURI(mecomments.value);
	
	var xdr = xmlHTTP();
	var url = 'app/rfp.send.php?session=' + Math.floor(Math.random()*11);
	xdr.open("POST", url, true);
	
	xdr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xdr.setRequestHeader("Content-length", params.length);
	xdr.setRequestHeader("Connection", "close");
	
	
	mname.value = '';
	mcompany.value = '';
	mproperty.value = '';
	maddress.value = '';
	mcity.value = '';
	mstate.value = '';
	mzip.value = '';
	memail.value = '';
	mphone.value = '';
	mfax.value = '';
	mcomments.value = '';
	mename.value = '';
	marrival.value = '';
	mdeparture.value = '';
	mdescription.value = '';
	mecomments.value = '';
	
	mmessage.style.display = 'block';
	mmessage.innerHTML = 'Sending RFP ...';
	mmessage2.style.display = 'block';
	mmessage2.innerHTML = 'Sending RFP ...';
	
	xdr.onreadystatechange = function() {
		if(xdr.readyState == 4 && xdr.status == 200) {
			mmessage.style.color = '#62EF4A';
			mmessage.innerHTML = 'Success! Your RFP has been sent.';
			mmessage2.style.color = '#62EF4A';
			mmessage2.innerHTML = 'Success! Your RFP has been sent.';
		} else {
			mmessage.innerHTML = mmessage.innerHTML + '.';
			mmessage2.innerHTML = mmessage.innerHTML + '.';
		}
	};
	xdr.send(params);
}

function addRfp() {
	if(xmlHTTP()) {
		runRfp();
		return false;
	} else {
		var mform = document.getElementById('rfp-form');
		mform.action = '';
		return true;
	}
}

function validateRfp() {
	var message = 'The sections must be included :' + "\n\n";
	var error = false;
	
	var name = document.getElementById('mname');
	var company = document.getElementById('mcompany');
	var property = document.getElementById('mproperty');
	var city = document.getElementById('mcity');
	var state = document.getElementById('mstate');
	var email = document.getElementById('memail');
	var phone = document.getElementById('mphone');
	var ename = document.getElementById('mename');
	var arrival = document.getElementById('marrival');
	var departure = document.getElementById('mdeparture');
	
	if(name.value === '') { if(!error) { error = true; } message += 'Full Name' + "\n"; }
	if(company.value === '') { if(!error) { error = true; } message += 'Company' + "\n"; }
	if(property.value === '') { if(!error) { error = true; } message += 'Property' + "\n"; }
	if(city.value === '') { if(!error) { error = true; } message += 'City' + "\n"; }
	if(state.value === '') { if(!error) { error = true; } message += 'State' + "\n"; }
	if(email.value === '') { if(!error) { error = true; } message += 'Email Address' + "\n"; }
	if(phone.value === '') { if(!error) { error = true; } message += 'Phone' + "\n"; }
	if(ename.value === '') { if(!error) { error = true; } message += 'Event Name' + "\n"; }
	if(arrival.value === '') { if(!error) { error = true; } message += 'Arrival Date' + "\n"; }
	if(departure.value === '') { if(!error) { error = true; } message += 'Departure Date' + "\n"; }
	
	if(error) { alert(message); return false; }
	else { if(addRfp()) { return true; } return false; }
}

function validateRfi() {
	var message = 'The sections must be included :' + "\n\n";
	var error = false;
	
	var name = document.getElementById('mname');
	var company = document.getElementById('mcompany');
	var property = document.getElementById('mproperty');
	var city = document.getElementById('mcity');
	var state = document.getElementById('mstate');
	var email = document.getElementById('memail');
	var phone = document.getElementById('mphone');
	
	if(name.value === '') { if(!error) { error = true; } message += 'Full Name' + "\n"; }
	if(company.value === '') { if(!error) { error = true; } message += 'Company' + "\n"; }
	if(property.value === '') { if(!error) { error = true; } message += 'Property' + "\n"; }
	if(city.value === '') { if(!error) { error = true; } message += 'City' + "\n"; }
	if(state.value === '') { if(!error) { error = true; } message += 'State' + "\n"; }
	if(email.value === '') { if(!error) { error = true; } message += 'Email Address' + "\n"; }
	if(phone.value === '') { if(!error) { error = true; } message += 'Phone' + "\n"; }
	
	if(error) { alert(message); return false; }
	else { if(addRfp()) { return true; } return false; }
}

/* Overall Validation and HTTP Request Function */
function validate(item) {	
	switch(item.id) {
		case 'email-form' : 
			return validateEmail();   
		case 'message-form' : 
			return validateMessage();
		case 'rfp-form' : 
			return validateRfp();
		case 'rfi-form' : 
			return validateRfi();
		default: 
			alert('There is no function available for this form'); return false;
	}	
}