YAHOO.namespace('fader.anim');

YAHOO.fader.anim.init = function() 
{
	YAHOO.util.Dom.setStyle('content_box_visit_form','opacity',0);
	YAHOO.util.Dom.setStyle('content_box_visit_thanks','opacity',0);	
	
	var visit_form_fadein = new YAHOO.util.Anim('content_box_visit_form', { opacity: {to: 1} });
	var visit_thanks_fadein = new YAHOO.util.Anim('content_box_visit_thanks', { opacity: {to: 1} });
	visit_form_fadein.duration = 0.3;
	visit_thanks_fadein.duration = 0.3;
	
	var animate_form = function(e) {
		YAHOO.util.Dom.setStyle('content_box_visit_form','display','');
      		visit_form_fadein.animate();
      		return false;
    	};

	var submit_visit_form = function(e) {
		proceed=1;
		// validate fields.
		var text_fields = Array('vf_name','vf_phone','vf_date');
		for ( i=0; i < text_fields.length; i++ ) {
			if ( document.getElementById( text_fields[i] ).value == '' ) {
				YAHOO.util.Dom.setStyle( text_fields[i], 'border', '1px solid red');
				YAHOO.util.Dom.setStyle( text_fields[i], 'height', '14px');
				YAHOO.util.Dom.setStyle( text_fields[i] + '_cell', 'color', '#cc0001');
				proceed=0;
			}
			else {
				YAHOO.util.Dom.setStyle( text_fields[i], 'border', '1px solid #c0c0c0');
				YAHOO.util.Dom.setStyle( text_fields[i], 'height', '14px');
				YAHOO.util.Dom.setStyle( text_fields[i] + '_cell', 'color', '#000000');
			}
		}

		// also regex the email
		var emailformat = /^[\w-_\.]+\@[\w-_\.]+\.[\w-_\.][\w-_\.]+$/;
		if ( document.getElementById('vf_email').value == '' ) {
			YAHOO.util.Dom.setStyle( 'vf_email', 'border', '1px solid red');
			YAHOO.util.Dom.setStyle( 'vf_email', 'height', '14px');
			YAHOO.util.Dom.setStyle( 'vf_email_cell', 'color', '#cc0001');
			proceed=0;
		}
		else if ( document.getElementById('vf_email').value.search( emailformat ) == -1 ) {
			YAHOO.util.Dom.setStyle( 'vf_email', 'border', '1px solid red');
			YAHOO.util.Dom.setStyle( 'vf_email', 'height', '14px');
			YAHOO.util.Dom.setStyle( 'vf_email_cell', 'color', '#cc0001');
			document.getElementById('vf_email_cell').innerHTML = 'Email: (format?)';
			proceed=0; 
		}
		else {
			YAHOO.util.Dom.setStyle( 'vf_email', 'border', '1px solid #c0c0c0');
			YAHOO.util.Dom.setStyle( 'vf_email', 'height', '14px');
			YAHOO.util.Dom.setStyle( 'vf_email_cell', 'color', '#000000');
			document.getElementById('vf_email_cell').innerHTML = 'Email:';
		}

		// debugging...
		//proceed=0;
		
		if ( proceed ) {
			//alert("moving.");
			// hide the form and show the loading text.
			YAHOO.util.Dom.setStyle('content_box_visit_form','display','none');
			YAHOO.util.Dom.setStyle('content_box_visit_text','display','none');
			YAHOO.util.Dom.setStyle('content_box_loading_status','display','');
	
			// ajaxify the form
			YAHOO.util.Connect.setForm('visitForm');
			var transaction = YAHOO.util.Connect.asyncRequest('POST', 'http://hs.davenport.edu/processor.jsp', callback);
			
			// finall fade in the thank you page.
			//animate_thanks();
		}
		else {
			//alert("Not moving.");
		}
	}
	var responseSuccess = function(o) {
		//document.getElementById("content_box_loading_status").innerHTML = o.responseText;
		animate_thanks();

	}

	var responseFailure = function(o) {
		document.getElementById("content_box_loading_status").innerHTML='<B>FAILURE: </b>' + o.statusText + ' (' + o.status + ')';
		YAHOO.util.Dom.setStyle('content_box_loading_status','display',''); // show it
		//alert('FAILED: ' + o.statusText + ' (' + o.status + ')' );
	}

	var callback = {
		success:responseSuccess,
		failure:responseFailure
	}
	
	var animate_thanks = function(e) {
	  	YAHOO.util.Dom.setStyle('content_box_visit_thanks','display','');
      		visit_thanks_fadein.animate();
      		return false;
    	};
	
	YAHOO.util.Event.addListener('form_link', 'click', animate_form);
	YAHOO.util.Event.addListener('btn_submit_visit', 'click', submit_visit_form);	
}

YAHOO.util.Event.addListener(window, 'load', YAHOO.fader.anim.init);
