//Temp code to show and hide the grid background
function removegrid() { $('#main').removeClass('grid');}
function applygrid () { $('#main').addClass('grid'); }



$(document).ready(function(){
	// Navigation Drop Down Menu
	$('#header, #content, #search').click(function(){
		var imgs = $('#nav').find('img');
		for(i=0;i<imgs.length;i++){
			if(imgs[i].className=="nav_arrow dropdown") {
				//alert(imgs[i].id);
				var temp = imgs[i].id.split("_");
				var foo = temp[1];
				closeup(foo);	
			}
		}
		$('#nav li').removeClass("dropdown"),
		$('.nav_arrow').removeClass("dropdown"),
		$('.nav_arrow').attr({'src':'/img/nav-arrow-off.gif'})
	});
	$('.feedburnerFeedBlock > ul > li').hide();
	$('.feedburnerFeedBlock > ul > li:eq(0)').show();
});


function dropdown(foo){
	$('#nav_you, #nav_request, #nav_more').removeClass("dropdown");
	$('#nav_'+foo).addClass("dropdown");
	$('#nav_'+foo+'_arrow').addClass("dropdown");
	$('.nav_arrow').attr({'src':'/img/nav-arrow-off.gif'});
	$(this).attr({'src':'/img/nav-arrow-on.gif'});
	$("#nav_"+foo+"_arrow")[0].onclick=function(){closeup(foo);};
	$("#nav_"+foo+"_arrow")[0].onclick=function(){closeup(foo);};

}

function closeup(foo){
	$('#nav_you, #nav_request, #nav_more').removeClass("dropdown");
	$('.nav_arrow').removeClass("dropdown");
	$('.nav_arrow').attr({'src':'/img/nav-arrow-off.gif'});
	$("#nav_"+foo+"_arrow")[0].onclick=function(){dropdown(foo);};
}

function signin(redirect){
	$('#ajaxloader').show();
	if($("#setcookie")[0].checked){var setcookie = 1;}
	else { var setcookie = 0; }
	$.post("/common_remote.php",{
		uname:$("#uname").val(),
		pass:$("#pass").val(),
		setcookie:setcookie,
		action:"login"
	},function(data){
		if(data < 1) {
			if(data == -2) var errormsg = "Your account has not been verified. You should have received a verification email when you first signed up. If you no longer have that, then contact us at <a href='mailto:support@rightfromtheknees.org'>support@rightfromtheknees.org</a>, and we will do our best to help you.";
			if(data == -1) var errormsg = "Incorrect Password.";
			if(data == 0) var errormsg = "Account Not Found.";
			$('#ajaxloader').hide();
			$('#signin_response').empty().append(errormsg).css({color:"red"});
		}
		else{
			$('#ajaxloader').hide();
			$('#signin_response').empty().append('You are now logged in.').css({color:"green"});
			window.location.href=redirect;
		}
	});
}

function signup() {

	// Check Email to see if it's unique
	$('#ff_0').blur(function(){
		var email = $('#ff_0').val();
		$.post("/common_remote.php",{email:email,action:"check_email"},function(data){
			if(data == 0){
				$('#ff_0').className='error';
				$('#check_email').empty().append('That Email is already in our database. <a href="/changepassword">Recover your password</a>.').css({color:"red"});
			}
			else{
				$('#ff_0').className='';
				$('#check_email').empty();
			}
		});
	});
		
	// Check Username to see if it's unique
	$('#ff_1').blur(function(){
		var uname = $('#ff_1').val();
		var oneword_uname = removeSpaces(uname);
		if(uname != oneword_uname) { 
			uname = oneword_uname;
			alert("Oops. You can't have a space in your username, so we set it to "+uname+"."); 
			
		}

		
		$('#ff_1').val(uname);
		var stripped = uname.replace(/[^a-zA-Z0-9\-_]/g,'');
		if(uname != stripped) {
			$('#check_uname').empty().append("May only contain letters, numbers, hyphens, or dashes.").css({color:"red"});
			}
		else if(uname.length < 5) $('#check_uname').empty().append("Username must be at least 5 characters.").css({color:"red"});
		else{
			$.post("/common_remote.php",{uname:uname,action:"check_uname"},function(data){
				if(data == 0){
					$('#ff_1').className='error';
					$('#check_uname').empty().append("Username is not available. Choose another.").css({color:"red"});
				}
				else{
					$('#ff_1').className='';
					if(uname.length > 1) $('#check_uname').empty().append("Username is available.").css({color:"green"});
				}
			});
		}
	});
	//Check PW Length
	$('#ff_2').blur(function(){
		var pw = $('#ff_2').val();
		if(pw.length < 5) $('#check_pw').css({color:"red"});
		else $('#check_pw').empty();
	});
	//Check if PWs Match
	$('#ff_3').blur(function(){
		var pw1 = $('#ff_2').val();
		var pw2 = $('#ff_3').val();

		if(pw1 != pw2) $('#check_pw2').empty().append("Passwords do not match").css({color:"red"});
		else $('#check_pw2').empty().append("Passwords match").css({color:"green"});
	});	
	// Form looks good. Process it.
	$('#signup_form').submit(function() {
		$('#ajaxloader').show();
		//$('#errormsg').empty().append("Please Wait...");
		var valid = mod_forms_validate();
		if(valid){
			var email = $("#ff_0").val();
			var uname = $("#ff_1").val();
			var pass  = $("#ff_2").val();
			$.post("/common_remote.php",{email:email,uname:uname,pass:pass,action:"signup"},function(data){
				//alert(data);
				if(data < 0) {
					$('#ajaxloader').hide();
					var errormsg = "Database Error. Account Not Created.";
					$('#errormsg').empty().append(errormsg);
					//alert(errormsg);
				}
				else{
					$('#ajaxloader').hide();
					$('#errormsg').empty().append('Account Created.').css({color:"green"});
					window.location.href='/signup2';
				}
			});

		}
		//else $('#errormsg').show();
		return false;
	}); 
}
function removeSpaces(string) {
	var tstring = "";
	string = '' + string;
	splitstring = string.split(" ");
	for(i = 0; i < splitstring.length; i++) { tstring += splitstring[i];	}
	return tstring;
}

// This one is invoked from the "Edit Account/Profile" page
function change_password(user_id) {
	$('#ajaxloader_pw').show();
	var pw1 = $('#newpw').val();
	var pw2 = $('#newpw2').val();
	$.post("/common_remote.php",{pw1:pw1,pw2:pw2,uid:user_id,action:"change_password"},function(data){
		if(data == 1)	{ 
			var message = 'Password successfully changed!';
			var txtcolor = 'green';
		}
		else { 
			var message = data; 
			var txtcolor = 'red';
		}
		$('#ajaxloader_pw').hide();
		$('#savepw_response').empty().append(message).css({color:txtcolor});
	});
}

// This one is invoked in the "Lost Password" process
function change_pw(){
	var pw1 = $('#pw1').val();
	var pw2 = $('#pw2').val();
	var uid = $('#uid').val();
	var sec = $('#sec').val();
	$.post("/common_remote.php",{pw1:pw1,pw2:pw2,uid:uid,sec:sec,action:"change_pw"},function(data){
		if(data == 1)	{ 
			var message = 'Password successfully changed!';
			var txtcolor = 'black';
			window.location.href='/signin';
		}
		else { 
			var message = data; 
			var txtcolor = 'red';
		}	
		$('#resultmessage_pw').empty().append(message).css({color:txtcolor}).show();
	});
}

function hash_submit() {
	$.post("/common_remote.php",{emailaddress:$('#emailaddress').val(),hash:$('#hash').val(),action:"check_hash"},function(t){
		eval('data='+t);
		if(data.user != 0)	{ 
			$('#passwordform').show();
			$('#securityform').hide();
			$('#uid').val(data.user.user_id);
			$('#sec').val(data.code);
		}
		else $('#resultmessage_hash').empty().append("Either your email address or your security code does not match.").css({color:red}).show();
		
	});	
}

function editreqtitle(request_id,user_id,page){
	var req_title = $('#edit_reqtitle').val();
	$.post("/common_remote.php",{request_id:request_id,req_title:req_title,user_id:user_id,action:"editreqtitle"},function(data){
		if(data == 0) alert("Please enter a Title");
		else{
			$("#request_title").html(data)
			$("#request_title").css({background:"white"}).next().html("");
		}
	});
}

function editreqbody(request_id,user_id,page) {
	var req_body = $('#edit_reqbody').val();
	$.post("/common_remote.php",{request_id:request_id,req_body:req_body,user_id:user_id,action:"editreqbody"},function(data){
		if(data == 0) alert("Please enter your prayer request");
		else{
			$("#request_text").html(data)
			$("#request_text").css({background:"white",visibility:"visible"}).next().html("");
		}
	});
}


function editupdate(upd_id,page) {
	var textbody = $('#updatebody_'+upd_id).val();
	$.post("/common_remote.php",{upd_id:upd_id,textbody:textbody,action:"editupdate"},function(t){
		if(t == 0) alert('Database error!');
		else{
			eval('var data='+t);	
			$('#update_body_'+upd_id).empty().append(data.textbody).css({background:"white"});
			cancel_editupdate(upd_id);
		}
	});
}

function edittags(request_id,user_id,page){
	var req_tags = $('#edit_taglist').val();
	$.post("/common_remote.php",{request_id:request_id,req_tags:req_tags,user_id:user_id,action:"edittags"},function(data){
		if(data == 0) alert("Please enter at least one tag");
		else{
			$("#edittags").empty();
			$("#taglist").empty().append(data);
		}
	});
}

function deleterequest(req_id, user_id) {
	$.post("/common_remote.php",{req_id:req_id,user_id:user_id,action:"deleterequest"},function(data){
		if(data == 1){
			$("#yourrequest_"+req_id).empty();
		}
	});
}

function deleteupdate(upd_id,page){
	$('#rusure_deleteupdate_'+upd_id).show();
	$('#yes_deleteupdate_'+upd_id).click(function(){
		$.post("/common_remote.php",{upd_id:upd_id,action:"deleteupdate"},function(t){
			$('#update_'+upd_id).remove();
		});
	});	
	$('#no_deleteupdate_'+upd_id).click(function(){
		$('#rusure_deleteupdate_'+upd_id).hide();
	});	
}
function newupdate(request_id,user_id,page){
	var textbody = $('#newupdate').val()
	$.post("/common_remote.php", {request_id:request_id,user_id:user_id,page:page,textbody:textbody, action:"newupdate"},function(data){
		if(data > 0){
/*			$("#btn_newupdate").before("<p class='request_update' style='background:#ffc;'><strong>Just Updated:</strong> "+$('#newupdate').val()+"</p>");
			$('#form_newupdate').clearForm();
			$('#form_newupdate').fadeOut();
			$('#btn_newupdate').empty().append("Post a New Update");*/
			window.location="/request/"+request_id;
		}
	});
}

function prayerlist_add(request_id, user_id) {
	$('#ajaxloader_plist').show();
	$.post("/common_remote.php", {request_id:request_id,user_id:user_id, action:"prayerlist_add"},function(data){
		$('#ajaxloader_plist').hide();
		var html = "Added. <a href='/prayerlist' style='display:inline !important;padding-left:0 !important'>Go to my prayer list</a>"
		if(data == 1) $('#plist_add_response').empty().append(html).css({color:"green"});
		else $('#plist_add_response').empty().append("Error").css({color:"red"});
	});
}
function prayerlist_remove(pl_id, user_id) {
	$.post("/common_remote.php", {pl_id:pl_id,user_id:user_id, action:"prayerlist_remove"},function(data){
		if(data == 1) $('#listitem_'+pl_id).remove();
		else  alert("Error"); 
	});
}


function postprayer(request_id,req_uname,user_id,page){
	$('#ajaxloader_pray').show();
	$.post("/common_remote.php", {request_id:request_id,req_uname:req_uname,user_id:user_id,page:page,textbody:$('#textbody').val(), action:"postprayer"},function(data){
		if(data < 1){
			if(data == 0) var response = "Please type your prayer in the box, and re-submit it."
			else var response = "Database Error.";
			var color = "red";
		}
		else { 
			eval('var output='+data);
			var response = "Thanks for praying.";
			var color = "green";
			var html  = "<div id='prayer_"+output.p_id+"' class='prayer column span-11 first last' style='background:#ffc;'>";
				html += "<div class='prayer_text column span-6 first'><p>"+output.p_body+"</p></div>";
				html += "<div class='prayer_meta column span-5 last'>";
				html += "<p>Posted by <a href='/you'>you</a> a few seconds ago.</p>";
				html += "</div></div>";
		}
		$('#ajaxloader_pray').hide();
		$('#post_response').empty().append(response).css({color:color});
		$('#pray_form').clearForm();
		$('#pray_form > input').fadeOut();
		$('#prayers').append(html);
	
	});
}

function pingprayer(request_id,req_uname,user_id,page,pingtype){
	$('#ajaxloader_ping').show();
	$.post("/common_remote.php", {request_id:request_id,req_uname:req_uname,user_id:user_id,page:page,pingtype:pingtype, action:"pingprayer"},function(data){
		if(data < 1) { 
			var response = "Database Error. Please try again later.";
			var color = "red";
		}
		else { 
			var response = "Successful Ping. Thanks for praying.";
			var color = "green";
			var html  = "<div class='prayer column span-11 first last' style='background:#ffc;'>";
				html += "<div class='prayer_text column span-6 first'><p><img src='/img/icon-ping.gif' class='top' alt=''> Prayer Ping</p></div>";
				html += "<div class='prayer_meta column span-5 last'>";
				html += "<p>Pinged by <a href='/you'>you</a> a few seconds ago.</p>";
				html += "</div></div>";
		}
		$('#ajaxloader_ping').hide();
		$('#ping_response').empty().append(response).css({color:color});
		$('#prayers').append(html);
		if(pingtype == 'anon') { $('#send_anon_ping').fadeOut();}
		else { $('#send_ping').fadeOut();}
	});
}
function flag_request(req_id) {
	var flagreason = $('#flagreason').val();
	$.post("/common_remote.php", {id:req_id,flagreason:flagreason,col:"requests", action:"flag"},function(data){
		if(data < 1) var msg = "Database Error."
		else var msg = "Thanks.";
		$('#flag_response').empty().append(msg);	
		$('#flagbox').fadeOut('slow');	
		$('#request_flag').remove();
	});
}
function flag_prayer(pid) {
	$('#flagbox_'+pid).show();
	$('#close_flagbox_'+pid).click(function(){
		$('#flagbox_'+pid).hide();
	});
	$('#flagform_'+pid).submit(function(){
		var flagreason = $('#flagreason_'+pid).val();
		$.post("/common_remote.php", {id:pid,flagreason:flagreason,col:"prayers", action:"flag"},function(data){
			if(data < 1) var msg = "Database Error.";
			else var msg = "Thanks."
			$('#flag_response_'+pid).empty().append(msg);	
			$('#flagbox_'+pid).fadeOut('slow');
			$('#prayer_flag_'+pid).fadeOut('slow');
		});
		return false;
	});
}

function text_counter(maxlimit) {
	var textbody = $('#textbody')[0];
	var counter = $('#remLen');
	var charcount = textbody.value.length;
		// if too long...trim it!
	if (charcount > maxlimit) {
		textbody.value = textbody.value.substring(0, maxlimit);
		counter.css({color:'red'});
	}
	// otherwise, update 'characters left' counter
	else {
		var charleft = maxlimit - charcount;
		counter.empty().append(charleft+" characters left");
	}
}
function prepopulate_title(){
	var requestval = $('#textbody').val();
	var titleval = requestval.substring(0,30);
	$('#req_title').val(titleval);
}

function new_request(page){
	$('#ajaxloader_request').show();
	$('#req_submit').hide();
	if(!$('#req_title').val() || !$('#textbody').val()){
		if(!$('#req_title').val()) {
			show_error($('#req_title'),$('#req_title_error'),"Please give your request a title.");
			$('#req_submit').show();
			$('#ajaxloader_request').hide();
		}
		if(!$('#textbody').val()) {
			show_error($('#textbody'),$('#textbody_error'),"Please complete the body of your request.");
			$('#req_submit').show();
			$('#ajaxloader_request').hide();
		}
	}
	else{
		var title = $('#req_title').val();
		var body = $('#textbody').val();
		var tags = $('#req_tags').val();
		
		$.post("/common_remote.php", {user_id:$('#req_user_id').val(),title:title,body:body,tags:tags,action:"new_request"},function(data){
			
			if(data < 1){
				$('#ajaxloader_request').hide(); 
				if(data == 0) alert("Database Error! Your request was not saved.")
				if(data == -1) show_error($('#textbody'),$('#textbody_error'),"Please complete the body of your request.");
				if(data == -2) show_error($('#req_title'),$('#req_title_error'),"Please give your request a title.");
				if(data == -3) alert("Your request is perceived to be spam. Please edit your language.");
				$('#req_submit').show();
			}

			else{
				var html = "Successfully posted. Our team of prayer warriors will pray for you.";
				$('#ajaxloader_request').hide(); 
				$('#post_response').empty().append(html).css({color:"green"});
				$('#form_newrequest').clearForm();
				if(page == "you") {
					//now get the elem that shows the # of requests and increment it by one.
					var elem = $("#requestcount");
					var str = elem.html();
					//if this is the first request posted, then give some feedback that they now have 1 request
					if(str.length > 10) { 
						elem.empty().append("1 Request");
					}
					// else just increment the amount that was there before
					else {
						var num = parseInt(str);
						elem.empty().append(num+1);
					}
				}
			}
		});
	}
	return false;
}

function new_privaterequest (page) {
	$('#ajaxloader_request').show();
	if(!$('#req_title').val() || !$('#textbody').val()){
		if(!$('#req_title').val()) show_error($('#req_title'),$('#req_title_error'),"Please give your request a title.");
		if(!$('#textbody').val()) show_error($('#textbody'),$('#textbody_error'),"Please complete the body of your request.");	
	}
	else{
		var title = $('#req_title').val();
		var body = $('#textbody').val();
		if($('#jfbc_followup')[0].checked==false) var jfbc_followup = 0;
		else var jfbc_followup = 1;
		var name = $('#req_name').val();
		var email = $('#req_email').val();
		
	}
	$.post("/common_remote.php", {title:title,body:body,jfbc_followup:jfbc_followup,name:name,email:email,action:"new_privaterequest"},function(data){
		if(data < 0){
			if(data == -1) show_error($('#textbody'),$('#textbody_error'),"Please complete the body of your request.");
			if(data == -2) show_error($('#req_title'),$('#req_title_error'),"Please give your request a title.");
		}
		else{
			$('#ajaxloader_request').hide(); 
			$('#post_response').empty().append("Successfully Sent. Your private request will be shared with our prayer team but will NOT be posted to the website.").css({color:"green"});
			$('#form_newrequest').clearForm();
		}
	});
}

function save_account(user_id) {
	$('#ajaxloader').show();
	var email = $('#email').val();
	if($('#email_notify')[0].checked==false) var email_notify = 0;
	else var email_notify = 1;
	$.post("/common_remote.php", {user_id:user_id,email:email,email_notify:email_notify,action:"save_account"},function(data){
		if(data==1){
			$('#ajaxloader').hide();
			$('#saveaccount_response').empty().append('Saved!').css({color:"green"});
			$('#account_fname').empty().append(fname);
		}
		else{
			$('#ajaxloader').hide();
			$('#saveaccount_response').empty().append('Error Saving your data.').css({color:"red"});
		}
	});
	
}
function save_profile (user_id) {
	$('#ajaxloader2').show();
	var fname = $('#fname').val();
	var lname = $('#lname').val();
	var gender = $('#gender').val();
	var hometown = $('#hometown').val();
	var website = $('#website').val();
	var work = $('#work').val();
	var bio = $('#bio').val();
	var interests = $('#interests').val();
	var testimony = $('#testimony').val();
	$.post("/common_remote.php", {user_id:user_id,fname:fname,lname:lname,gender:gender,hometown:hometown,website:website,work:work,bio:bio,interests:interests,testimony:testimony,action:"save_profile"},function(data){
		if(data==1){
			$('#ajaxloader2').hide();
			$('#saveprofile_response').empty().append('Saved!').css({color:"green"});
		}
		else{
			$('#ajaxloader2').hide();
			$('#saveprofile_response').empty().append('Error Saving your data.').css({color:"red"});
		}
	});	
}
function deletephoto(user_id) {
	$.post("/common_remote.php", {user_id:user_id,action:"deletephoto"},function(data){
		if(data == 1) history.go(0); //refresh the page to show that the photo is not there.
		else alert("Error removing photo");
	});
	
}
function show_error(field,errmsg_elem, msg) {
	if(field && field != '') field.css({border:"1px solid red"});
	errmsg_elem.empty().append(msg).css({color:"red"});
}

function hide_warning(type,user_id) {
	$.post("/common_remote.php", {
		user_id:user_id,
		type:type,
		action:"hide_warning"
	},function(data){
		$('#'+type+'_warning').fadeOut();
	});
}
