// JavaScript Document
var cookie_member_id;
var cookie_member_data;
var athPage = 0;
var news_page = "/Charity-News";
//
function init(){
	//
	$('.footerNav').columnize({ columns:3});
	$('#zoom_query').bind("click", function(){$(this).val("");});
	//
	if($('#contact').length > 0){
		initContact();
	}
	//
	if($('#login').length > 0){
		initLogin();
	}
	//
	if($('#register').length > 0){
		initRegister();
	}
	//
	if($('#member').length > 0){
		initMember();
	}
	//
	if($('.galBox').length > 0){
		Shadowbox.init();
	}
	//
	if($('.athleteSearch').length > 0){
		initAthletes();
	}
	//
	if($('#newsArchive').length > 0){
		initNewsArchive();
	}
	//
	if($('#rp_holder').length > 0){
		initColPromo();
	}
	//
	if($('#p_holder').length > 0){
		initPromo();
	}
	//
	if($('#ticker').length > 0){
		initTicker();
	}
	//
	if($('#refer').length > 0){
		v = jQuery("#referForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					//target: "#referReturn"
					target: "#refer"
				});
			}
		});
	}
	//
	if($('#eventEval').length > 0){
		v = jQuery("#eventEvalForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#eventEval"
				});
			}
		});
	}
	//
	///
	//start newsletter subscription
	if($('#nlsignupHolder').length != 0){
		v = jQuery("#nlsignupForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#nlsignupHolder"
				});
			}
		});
	}
	//start newsletter unsubscribe
	if($('#nlsubscribeHolder').length != 0){
		v = jQuery("#nlsubscribeForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#nlsubscribeHolder"
				});
			}
		});
	}
	//
}
//
function initTicker(){
	$.get("uploads/news/news.html", {}, function(data){initTicker_callback(data);}, "html");	
}
function initTicker_callback(data){
	$('#ticker').html(data);
	$('#ticker').cycle({
		fx:'scrollUp',
		speed:1000,
		pause:1
	});

}
//
function initPromo(){
	$.get("uploads/promo/promo.html", {}, function(data){initPromo_callback(data);}, "html");	
}
function initPromo_callback(data){
	$('#p_holder').html(data);
	$('#p_holder').cycle({
		fx:'fade',
		speed:1000,
		next:'#promoNEXT',
		prev:'#promoPREV',
		pause:0
	});

}
//
function initColPromo(){
	$.get("uploads/colpromo/colpromo.html", {}, function(data){initColPromo_callback(data);}, "html");	
}
function initColPromo_callback(data){
	$('#rp_holder').html(data);
	$('#rp_holder').cycle({
		fx:'fade',
		speed:1000,
		pause:1
	});

}
//
function initNewsArchive(e){
	$('#btSearch').bind("click", searchNA);
	$('#btClear').bind("click", resetNA);	
	searchNA();
}
function searchNA(e){
	ab = '<div class="newsRightBlock">';
	ab += '<h2>Loading the news...</h2>';
	ab += '</div>';	
	$('#newsArchiveReturn').html(ab);
	$.post("scripts/ajax_calls/ajax_get_news_archive.php", {na_search:$('#na_search').val()}, function(data){searchNA_callback(data);}, "json");	
}
function searchNA_callback(data){
	//
	var ab='';
	//
	$.each(data, function(i,item){
		ab += '<div class="newsRightBlock">';
		ab += '<h2>'+phpDate(item.d_date)+' '+urldecode(item.d_subject)+'</h2>';
		//ab += '<p>'+urldecode(item.d_teaser)+'</p>';
		ab += '<p>'+urldecode(item.d_teaser)+'</p>';
		ab += '<p><a href="'+news_page+'_'+item.d_id+'">Read more ></a></p>';
		ab += '</div>';	
	})
	//
	$('#newsArchiveReturn').html(ab);
}
function resetNA(e){
	$('#na_search').val('');
	searchNA();	
}
//ATLETES
function initAthletes(){
	//
	$('#noResults').hide();
	//
	$('.alphaBox').bind("click", filterAthList);
	$('.alphaBoxReset').bind("click", resetAthList);
	$('#BTdoSearch').bind("click", searchAthList);
	$('#BTclearSearch').bind("click", resetAthList);	
	//
	resetAthList(null);
}
function searchAthList(eventObject){
	$.post("scripts/ajax_calls/ajax_get_athletes.php", {a_search:$('#aSearch').val(), page:athPage}, function(data){loadAthletes_callback(data);}, "json");	
}
function filterAthList(eventObject){
	var ft = $(this).html().toUpperCase();
	$.post("scripts/ajax_calls/ajax_get_athletes.php", {a_search:ft, page:athPage}, function(data){loadAthletes_callback(data);}, "json");	
}
function resetAthList(eventObject){
	athPage = 0;
	$('#aSearch').val('');
	loadAthletes();
}
function loadAthletes(){
	$.post("scripts/ajax_calls/ajax_get_athletes.php", {page:athPage}, function(data){loadAthletes_callback(data);}, "json");	
}
function loadAthletes_callback(data){
	//
	$('#noResults').hide();
	//
	var ab='';
	//
	$.each(data, function(i,item){
		var alink = '<a href="/Our-World-Class-Athletes_' + item.id + '_' + item.a_forename + '_' + item.a_surname + '">';
		ab += '<div class="athBox">';
		ab += '<div class="thumb">';
		ab += alink;
		if (item.a_image != ''){
			ab += '<img src="../uploads/members/'+item.a_image+'" />'
		} else {
			ab += '<img src="../uploads/members/member.gif" />'
		}
		ab += '</a>';
		ab += '</div>';
		ab += '<div class="text">';
		ab += '<p><strong>';
		ab += item.a_forename + ' ' + item.a_surname;
		ab += '</strong><br />';
		ab += item.a_sport + ': ' + item.a_highest_achieve + ' ';
		ab += alink;
		ab += 'read&nbsp;more&nbsp;&gt;';
		ab += '</a>';
		ab += '</p>';
		ab += '</div>';
		ab += '</div>';
	})
	//
	if (ab == ''){
		$('#noResults').show();
	}
	//
	$('#atleteHolder').html(ab);
}
///

function resetList(eventObject){
	$('.aoeItem').each(function(index) {
		$(this).show();
	});
}
//
function initMember(){
	var v = jQuery("#memberForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#member",
					dataType: "json",
					beforeSubmit: function(){$('#memberInfo').html('')},
					success: member_update_callback
				});
			}
		});
	//
	$.post("scripts/ajax_calls/ajax_get_member_cookie.php", {}, function(data){loadCookie_callback(data);}, "json");	
	//
	$('#a_DOB').mask("99/99/9999",{placeholder:"-"});
	$('#a_crb_valid_til').mask("99/99/9999",{placeholder:"-"});
	//
};
//
function loadCookie_callback(data)  {
	cookie_member_id = data[0].id;
	$.post("scripts/ajax_calls/ajax_get_member_data.php", {id:cookie_member_id}, function(data){memberLoad_callback(data);}, "json");	
}
//
function memberLoad_callback(data)  {
	//
	cookie_member_data = data[0];
	//
	$('#memberStatus').html('<h2>Membership Status: '+cookie_member_data.memberStatus+'</h2>');
	//
	$('#memberForm').clearForm();
	//
	$('#id').val(cookie_member_data.id);
	//
	$('#thumbHolder').html('<img src="uploads/members/'+cookie_member_data.a_image+'" height="80" style="float:left;margin-right:6px" /><strong>'+cookie_member_data.a_forename+' '+cookie_member_data.a_surname+'</strong>');
	//
	$('#a_forename').val(cookie_member_data.a_forename);
	$('#a_surname').val(cookie_member_data.a_surname);
	//
	if (cookie_member_data.a_DOB > ""){
		$('#a_DOB').val(phpDate(cookie_member_data.a_DOB));
	}
	//
	
	$('#a_username').val(cookie_member_data.a_username);
	$('#a_password').val(cookie_member_data.a_password);
	//
	if (cookie_member_data.a_active == 1){
		$('#a_active').attr('checked', 'checked');
	} else {
		$('#a_active').removeAttr('checked');
	}
	//
	if (cookie_member_data.a_email_valid == 1){
		$('#a_email_valid').attr('checked', 'checked');
	} else {
		$('#a_email_valid').removeAttr('checked');
	}
	//
	if (cookie_member_data.i_group.length > 0){
		var t = cookie_member_data.i_group.split(',');
		//	
		$("input[name='i_group[]']").each(function(i){
			 if ($.inArray($(this).val(),t)){
				$(this).attr("checked","checked");
			}
		});
	} else {
		$("input[name='i_group[]']").each(function(i){
			$(this).removeAttr("checked");
		});
	}
	//
	$('#a_email').val(cookie_member_data.a_email);
	$('#a_address1').val(cookie_member_data.a_address1);
	$('#a_address2').val(cookie_member_data.a_address2);
	$('#a_town').val(cookie_member_data.a_town);
	$('#a_county').val(cookie_member_data.a_county);
	$('#a_postcode').val(cookie_member_data.a_postcode);
	$('#a_phone').val(cookie_member_data.a_phone);
	//
	$('#a_sport').val(cookie_member_data.a_sport);
	$('#a_why').val(cookie_member_data.a_why);
	$('#a_highest_achieve').val(cookie_member_data.a_highest_achieve);
	//
	$('#a_where_based').val(cookie_member_data.a_where_based);
	//
	if (cookie_member_data.a_crb == 1){
		$('#a_crb').attr('checked', 'checked');
	} else {
		$('#a_crb').removeAttr('checked');
	}
	//
	if (cookie_member_data.a_crb_valid_til > ""){
		$('#a_crb_valid_til').val(phpDate(cookie_member_data.a_crb_valid_til));
	}
	//
	$('#a_give_back').val(cookie_member_data.a_give_back);
	$('#a_coach').val(cookie_member_data.a_coach);
	//
	$("#uploadify").uploadify({
		'uploader'       : 'scripts/jquery/uploadify/uploadify.swf',
		'script'         : 'cpl/ajax_calls/mm_uploadImage.php?id='+cookie_member_id,
		'cancelImg'      : 'scripts/jquery/uploadify/cancel.png',
		'folder'         : 'uploads/members/',
		'queueID'        : 'fileQueue',
		'auto'           : true,
		'multi'          : false,
		'onComplete'	 : uploadDone,
		'onSelect'       : function (event, queueID, fileObj) {
					var ext = fileObj.name;
					ext = ext.substr(ext.length-3); //gets last 3 chars (extention type)
					if (ext != 'jpg'){
						alert("Not a valid .JPG file");
						$jQuery('#uploadify').uploadifyCancel(queueID);
					}
				 }
	});
	//
}
function uploadDone(event, queueID, fileObj, response, data){
	$('#thumbHolder').html('<img src="uploads/members/'+fileObj.name+'" height="80" style="float:left;margin-right:6px" /><strong>'+cookie_member_data.a_forename+' '+cookie_member_data.a_surname+'</strong>');
}
//
function member_update_callback(responseText, statusText, xhr, $form)  {
	alert("Your information has been updated");
}
//
function initRegister(){
	var v = jQuery("#registerForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#register",
					dataType: "json",
					beforeSubmit: function(){$('#registerFail').html('')},
					 success: register_callback
				});
			}
		});
	//
	$('#a_DOB').mask("99/99/9999",{placeholder:"-"});
	$('#a_crb_valid_til').mask("99/99/9999",{placeholder:"-"});
	
};
function register_callback(responseText, statusText, xhr, $form)  {
	//
	if (responseText[0].id > 0){
		$('#register').html('<h2>Registration received</h2><p>Your member application has been received. Thank you.</p><p>Please note that your application will need to be approved by a member of the DKH Legacy Trust team. We will undertake to do this as quickly as possible, and you will then receive an email that will confirm your membership has been approved. Within that process you will be assigned an appropriate level of access status, Bronze, Silver or Gold, with Gold status giving you access to all levels. The email will confirm what status you have been assigned to.</p><p>Please check your email inbox over the next few days, remembering a new email address may be directed to your email spam folder.</p><p>Thank you</p>');
		$('#registerFail').html('');
	} else if (responseText[0].id == -1){
		$('#registerFail').html('<h2>Registration failed</h2><p>Please try again</p>');
	} else if (responseText[0].id == -2){
		$('#registerFail').html('<h2>Registration failed</h2>'+responseText[0].errors);
	}
}
//
function initLogin(){
	///
	$('#forgot').hide();
	$('#showForgotBTN').bind("click", showForgot);
	///
	var v = jQuery("#loginForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#login",
					dataType: "json",
					beforeSubmit: function(){$('#loginFail').html('')},
					 success: login_callback
				});
			}
		});
	//
	var f = jQuery("#forgotForm").validate({
			submitHandler: function(form) {
				jQuery(form).ajaxSubmit({
					target: "#login",
					dataType: "json",
					beforeSubmit: function(){$('#loginFail').html('')},
					 success: forgot_callback
				});
			}
		});
};
function login_callback(responseText, statusText, xhr, $form)  {
	//
	if (responseText[0].id > 0){
		location.reload();
	} else {
		$('#loginFail').html('<h2>Your details were not found in our database</h2><p>Please try again</p>');
	}
} 
function showForgot(e){
	$('#forgot').show();
	$('#login').hide();
	return false;
}
function forgot_callback(responseText, statusText, xhr, $form)  {
	//
	if (responseText[0].error > 0){
		$('#loginFail').html('<h2>Your details were sent to you.</h2><p>Please check your email</p>');
		$('#login').show();
		$('#forgot').hide();
	} else {
		$('#loginFail').html('<h2>Your details were not found in our database</h2><p>Please try again</p>');
	}
} 
//
function initContact(){
	$("#contactForm").validate();
	$("#BTsubmit").bind("click",sendContact);
	
}; 
function sendContact(e){
	if ($("#contactForm").valid()){
		$.post("scripts/ajax_calls/ajax_contact.php", $("#contactForm").serialize(), function(data){sendContact_callback(data);}, "json");
	}	
}
function sendContact_callback(data){
	$('#contactReturn').html(data[0].response);
	$('#contact').hide();
}
//
function setupNav(){
	//$("ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled - Adds empty span tag after ul.subnav
	
	$("ul.topnav li").mouseover(function() { //When trigger is clicked...
		
		//Following events are applied to the subnav itself (moving subnav up and down)
		$(this).find("ul.subnav").slideDown('fast').show(); //Drop down the subnav on click
		$(this).find(".hasDrop").addClass("hasDropHover");

		$(this).hover(function() {
		}, function(){			
			$(this).find("ul.subnav").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up
			$(this).find(".hasDrop").removeClass("hasDropHover");
		});

		//Following events are applied to the trigger (Hover events for the trigger)
		}).hover(function() { 
			$(this).addClass("subhover"); //On hover over, add class "subhover"
		}, function(){	//On Hover Out
			$(this).removeClass("subhover"); //On hover out, remove class "subhover"
	});
}

