var ajaxContact;
var divContactContent;
var divContactWorking;
var divContactClose;
var contactOpen = false;
var contactModified = false;

function initContact() {
	divContactContent = document.getElementById('contact-data');
	divContactWorking = document.getElementById('contact-working');
	divContactClose = document.getElementById('contact-close');
	divContactContent.innerHTML = '';
	ajaxContact = getNewXMLHttp();
}

function displayContact(escort) {
	initContact();
	divContactContent.style.display = 'none';
	document.getElementById('contact').style.display = 'block';
	document.getElementById('layer2').style.display = 'none';

	var fadeInFx = new Fx.Elements
	(
		$$('#contact #contact-bg-fill'), 
		{
			onComplete: function()
			{
				document.getElementById('layer2').style.display = 'block';
	        	var heightMorph = new Fx.Morph
	        	(
		        	'layer2', 
		        	{
		        		onComplete: function() 
		        		{
		        			var widthMorph = new Fx.Morph
		        			(
		        				'layer2', 
			        			{
			        				onComplete: function() 
			        				{
					        			contactOpen = true;
					        			divContactClose.style.display = 'block';
					        			divContactWorking.style.display = 'block';
					        			url = "/escort-contact/";
										str = "escort=" + escape(escort)
												
										ajaxContact.open("POST", url, true);
										ajaxContact.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	    
										ajaxContact.onreadystatechange = displayContactComplete;	
										ajaxContact.send(str);
					        		}, 
				        			duration: 300, 
				        			transition: Fx.Transitions.Sine.easeOut
				        		}
				        	);
							widthMorph.start({
								width: '530px',
								marginLeft: '-265px',
								border: '0px'
							});
								
			        	},	        	
		        		duration: 200, 
		        		transition: Fx.Transitions.Sine.easeOut
		        	} 
		        );
				heightMorph.start({
					height: '600px',
					marginTop: '-300px'
				});	
		    },
	    	duration: 200, 
	    	transition: Fx.Transitions.Sine.easeOut
		}
	);
	fadeInFx.start({ '0': { 'opacity': [0,0.75] } });
	return false;
}


function displayContactComplete() {
	if(ajaxContact.readyState != 4) return;	
		
	var text = String(ajaxContact.responseText);
	divContactContent.innerHTML = text;

	divContactWorking.style.display = 'none';
	divContactContent.style.display = 'block';	
}

function closeContact() {
	if(!contactOpen) return;
	str = "Are you sure you want to cancel sending the email?";
	if( contactModified && !confirm(str) ) return;

	initContact();
	
	divContactContent.style.display = 'none';
	divContactWorking.style.display = 'none';
	divContactClose.style.display = 'none';
    divContactContent.innerHTML = ''; 			

	var sizeMorph = new Fx.Morph('layer2', {
     	onComplete: function() {
     		document.getElementById('layer2').style.display = 'none';
     		var myFx = new Fx.Elements($$('#contact #contact-bg-fill'), {
				onComplete: function(){
        			document.getElementById('contact').style.display = 'none';
        			contactOpen = false;
    			},
    			duration: 300, transition: Fx.Transitions.Sine.easeOut
			});
			myFx.start({ '0': { 'opacity': [0.75, 0] } });	
     	}, 
     	duration: 500, transition: Fx.Transitions.Sine.easeOut
     	} );
	sizeMorph.start({
		width: ['530px', '10px'],
		height: ['600px', '10px'],
		marginLeft: ['-265px', '0px'],
		marginTop: ['-300px', '0px']
	});
}

function validateForm(name, email, subject, msg) {
	var str = "Please fill in the field";
	if(!full(str, name, 'Name')) return false;
	if(!checkEmail('Please provide a valid email address', email)) return false;
	if(!full(str, subject, 'Subject')) return false;
	if(!full(str, msg, 'Message')) return false;
	return true;
}

function sendEmail(escort, irstupidbot, name, email, subject, msg) {
	if ( !validateForm(name, email, subject, msg) ) return;
		
	url = "/escort-contact/";
//	alert(msg.value); return;		
	
	str = "action=send";
	str += "&escort=" + escape(escort);
	str += "&irstupidbot=" + escape(irstupidbot);
	str += "&name=" + escape(name.value);
	str += "&email=" + escape(email.value);
	str += "&subject=" + escape(subject.value);
	str += "&message=" + escape(msg.value); 
	
	contactModified = false;

	initContact();
	divContactClose.style.display = 'none';
	divContactWorking.style.display = 'block';
	divContactContent.style.display = 'none';
	
	ajaxContact.open("POST", url, true);
	ajaxContact.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	    
	ajaxContact.onreadystatechange = sendEmailComplete;	
	ajaxContact.send(str);
}

function sendEmailComplete() {
	if(ajaxContact.readyState != 4) return;	
		
	var text = String(ajaxContact.responseText);
	//divContactContent.innerHTML = text;
	
	var respStatus = text.substring(0, text.indexOf('|'));
	//alert(respStatus);
	
	var respText = text.substring(text.indexOf('|') + 1, text.length);
	divContactContent.innerHTML = respText;

	divContactWorking.style.display = 'none';
	divContactContent.style.display = 'block';	
	divContactClose.style.display = 'block';
}