/**
 * Coaching Logged box dashboard
 */


/*
 * Init Ajax Object
 */
var coaching_xhr_object = null;

if( null != window.XMLHttpRequest )
{
	coaching_xhr_object = new XMLHttpRequest();
}
else if( null != window.ActiveXObject )
{
	coaching_xhr_object = new ActiveXObject( "Microsoft.XMLHTTP" );
}

function coaching_send_datas( obj, filename, qs )
{
	obj.open( "POST", filename, true );
	obj.setRequestHeader( "Content-type", "application/x-www-form-urlencoded" );
	obj.send( qs );
}


function coaching_logged_box()
{
	var url = '/wp-content/plugins/coaching/coaching.php';
	var qs  = 'logged_box=show';

	coaching_send_datas( coaching_xhr_object, url, qs );

	coaching_xhr_object.onreadystatechange = function()
	{
		if( 4 == coaching_xhr_object.readyState  &&  200 == coaching_xhr_object.status )
		{
			var logged_content = document.getElementById('coaching-users-logged-content');

			var docXML   = coaching_xhr_object.responseXML;
			var user     = docXML.getElementsByTagName( 'user' ).item(0);

			if( 'undefined' != logged_content )
			{
				var id              = user.getElementsByTagName('id')[0].firstChild.data;
				var firstname       = user.getElementsByTagName('firstname')[0].firstChild.data;
				var lastname        = user.getElementsByTagName('lastname')[0].firstChild.data;
				var credits         = user.getElementsByTagName('credits')[0].firstChild.data;
				var sessions        = user.getElementsByTagName('session');
				var sessions_length = sessions.length;

				/*
				 * Welcome Message
				 */
				var the_paragraph = document.createElement('p');
				the_paragraph.appendChild( document.createTextNode('Bonjour ' + firstname) );

				/*
				 * User Actions
				 */
				var the_user_action = document.createElement('ul');
				the_user_action.setAttribute( 'class', 'actions' );
				the_user_action.setAttribute( 'className', 'actions' );

				var my_profile = document.createElement('li');
				my_profile.setAttribute( 'class', 'my-profile' );
				my_profile.setAttribute( 'className', 'my-profile' );

				var my_profile_link = document.createElement('a');
				my_profile_link.setAttribute( 'href', '/mon-profil-coaching' );
				my_profile_link.appendChild( document.createTextNode('Voir mon profil') );

				var logout = document.createElement('li');
				logout.setAttribute( 'class', 'logout' );
				logout.setAttribute( 'className', 'logout' );

				var logout_link = document.createElement('a');
				logout_link.setAttribute( 'href', '?action=coaching-logout' );
				logout_link.appendChild( document.createTextNode('Déconnexion') );

				my_profile.appendChild( my_profile_link );
				logout.appendChild( logout_link );

				the_user_action.appendChild( my_profile );
				the_user_action.appendChild( logout );

				/*
				 * Recent Activities
				 */
				var the_recent_activities = document.createElement('dl');
				the_recent_activities.setAttribute( 'class', 'recent-activity' );
				the_recent_activities.setAttribute( 'className', 'recent-activity' );

				// Credits
				var my_credits = document.createElement('dt');
				my_credits.setAttribute( 'class', 'credits' );
				my_credits.setAttribute( 'className', 'credits' );
				my_credits.appendChild( document.createTextNode('Vos crédits') );

				var my_credits_amount = document.createElement('dd');
				my_credits_amount.appendChild( document.createTextNode(credits + ' — ') );
				
				var my_credits_amount_link_strong = document.createElement('strong');
				var my_credits_amount_link = document.createElement('a');
				my_credits_amount_link.setAttribute( 'href', '/credits-coaching' );
				my_credits_amount_link.appendChild( document.createTextNode('En obtenir plus') );
				my_credits_amount_link_strong.appendChild( my_credits_amount_link );
				my_credits_amount.appendChild( my_credits_amount_link_strong );

				// Session
				var my_sessions = document.createElement('dt');
				my_sessions.setAttribute( 'class', 'sessions' );
				my_sessions.setAttribute( 'className', 'sessions' );
				my_sessions.appendChild( document.createTextNode('Vos séances de Coaching ') );

				var my_sessions_span             = document.createElement('span');
				var my_sessions_span_strong      = document.createElement('strong');
				var my_sessions_span_strong_link = document.createElement('a');
				my_sessions_span.setAttribute( 'class', 'sessions-link' );
				my_sessions_span.setAttribute( 'className', 'sessions-link' );
				my_sessions_span.appendChild( document.createTextNode('— ') );
				my_sessions_span_strong_link.setAttribute( 'href', '/categorie/coaching' );
				my_sessions_span_strong_link.appendChild( document.createTextNode('Réservez') );
				my_sessions_span_strong.appendChild( my_sessions_span_strong_link );
				my_sessions_span.appendChild( my_sessions_span_strong );
				my_sessions.appendChild( my_sessions_span );

				the_recent_activities.appendChild( my_credits );
				the_recent_activities.appendChild( my_credits_amount );
				the_recent_activities.appendChild( my_sessions );

				if( sessions_length > 0 )
				{
					var sessionid            = null;
					var day                  = null;
					var hourbegin            = null;
					var hourend              = null;
					var post                 = null;
					var spot                 = null;
					var coach                = null;

					var session              = null;
					var session_div          = null;
					var session_div          = null;
					var session_div_strong   = null;
					var session_div_strong_a = null;
					var session_p            = null;
					var session_p_a          = null;
					var session_blank        = null;

					for( var i = 0; i < sessions_length; i++ )
					{
						sessionid = sessions[ i ].getElementsByTagName('sessionid')[0].firstChild.data;
						day       = sessions[ i ].getElementsByTagName('day')[0].firstChild.data;
						hourbegin = sessions[ i ].getElementsByTagName('hourbegin')[0].firstChild.data;
						hourend   = sessions[ i ].getElementsByTagName('hourend')[0].firstChild.data;
						post      = sessions[ i ].getElementsByTagName('post')[0].firstChild.data;
						spot      = sessions[ i ].getElementsByTagName('spot')[0].firstChild.data;
						coach     = sessions[ i ].getElementsByTagName('coach')[0].firstChild.data;

						session            = document.createElement('dd');
						session_div        = document.createElement('div');
						session_div_strong = document.createElement('strong');
						session_p          = document.createElement('p');
						session_p_a        = document.createElement('a');
						session_blank      = document.createElement('div');

						session.setAttribute( 'class', 'sessions-recent' );
						session.setAttribute( 'className', 'sessions-recent' );
						session_div.setAttribute( 'class', 'session-entry' );
						session_div.setAttribute( 'className', 'session-entry' );

						if( 'null' == post )
						{
							session_div_strong.appendChild( document.createTextNode(day + ' de ' + hourbegin + ' à ' + hourend) );
						}
						else
						{
							session_div_strong_a = document.createElement('a');
							session_div_strong_a.setAttribute( 'title', 'Voir le détail de cette séance' );
							session_div_strong_a.setAttribute( 'href', post );
							session_div_strong_a.appendChild( document.createTextNode(day + ' de ' + hourbegin + ' à ' + hourend) );
							session_div_strong.appendChild( session_div_strong_a );
						}

						session_div.appendChild( session_div_strong );
						session_div.appendChild( document.createElement('br') );
						session_div.appendChild( document.createTextNode(spot) );
						session_div.appendChild( document.createElement('br') );
						session_div.appendChild( document.createTextNode('Coach : ' + coach) );

						session_p.setAttribute( 'class', 'session-cancel' );
						session_p.setAttribute( 'className', 'session-cancel' );
						session_p_a.setAttribute( 'title', 'Annuler cette séance' );
						session_p_a.setAttribute( 'href', '/annulez-votre-seance-coaching?id=' + sessionid );
						session_p_a.appendChild( document.createTextNode('Annuler cette séance') );
						session_p.appendChild( session_p_a );

						session_blank.setAttribute( 'class', 'blank' );
						session_blank.setAttribute( 'className', 'blank' );

						session.appendChild( session_div );
						session.appendChild( session_p );
						session.appendChild( session_blank );

						the_recent_activities.appendChild( session );
					}
				}

				/*
				 * Output
				 */
				logged_content.appendChild( the_paragraph );
				logged_content.appendChild( the_user_action );
				logged_content.appendChild( the_recent_activities );
			}
		}
	}
}


/**
 * Calling the box
 */
window.onload = function()
{
	if(  null != document.getElementById("coaching-users-logged-content") )
	{
		coaching_logged_box();
	}
}

