var chdesc='';
var chid='';
var chsearchset=false;
var logoutbound=false;
var logged=false;
var username='';
var loggedck='';

var addthis_config={username:"bibliotarian",data_use_flash:false,ui_cobrand:"Bibliotarian",ui_delay:500,ui_click:true};
var addthis_share={url:"http://bibliotarian.org",title:"Bibliotarian - Book Lovers Helping Others"};

function setCookie(name,value) {
	var date = new Date();
	date.setTime(date.getTime()+15552000000);
	document.cookie = name+"="+escape(value)+"; expires="+date.toGMTString()+"; path=/";
}

function getCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length,c.length));
	}
	return '';
}

function setcharity(schdesc,schid){
 if (schdesc=='' || schid=='') {
 $("#charity").html('');
 $("#ch-search,#ch-results,#ch-change").hide();
 $("#achchoose").show();
 setCookie('chdesc','');
 setCookie('chid','');
 chdesc='';
 chid='';
 }
 else {
  $("#achchoose").hide();
  $("#charity").html('<a href="/charity/'+schid+'">'+schdesc+'</a>');
	$("#ch-change").show();
  $("#ch-search").hide();
  $("#ch-results").hide().html('');
  $("#ch-search-i").val('');
  setCookie('chdesc',schdesc);
  setCookie('chid',schid);
  chdesc=schdesc;
  chid=schid;
  $("#results .book .book-main .book-title a").each(function(){
   this.href=this.href.replace(/(customid|mid)=\d+&/,'$1='+chid+'&');
  });
  if (logged) {
   $.post('/charity.php',{ck:loggedck,chid:schid,chdesc:schdesc});
  }
 }
 if ($("#right .right-box").size()>0 && typeof setupright=='function') {setupright();}
}


function dologout(){
 loggedck='';
 setcharity('','');
 setCookie('remember','');
 username='';
 logged=false;
 if (typeof dopageloggedout=='function') {dopageloggedout();}
}

function dologin(duser,dui,dsd,dchid,dchdesc){
 setCookie('remember',duser+'|'+dui+'|'+dsd);
 loggedck=duser+'|'+dui+'|'+dsd;
 username=duser.toLowerCase();
 setcharity(dchdesc,dchid);
 logged=true;
 if (typeof dopageloggedin=='function') {dopageloggedin();}
}

function displogged(ud,tt){
 $("#account-v #user-v").html('logged in as '+ud+' ');
 $("#account-v #aprof").attr('href','/'+ud);
 if (tt) {$("#container-top .log-v").toggle();}
 else {$("#container-top #account-v").show();}
 if (!logoutbound) {
	$("#account-v #alogout").click(function(oc){
	 oc.preventDefault();
	 dologout();
	 $("#login-vnf").show();
	 $("#login-vf").hide();
	 $("#container-top .log-v").toggle('blind','fast');
	 logoutbound=true;
	});
 }
}

function autologin(){
 var rc=getCookie('remember');
 if (rc!=''){
  rc=rc.split('|');
  $.post('/login_auto.php',{ui:rc[1],sd:rc[2]},function(data){
   if (data['e']=='') {
	  dologin(rc[0],rc[1],data['sd'],data['chid'],data['chdesc']);
	  displogged(data['ud'],false);
		if ($("#right:visible").size()>0 && typeof setupright=='function') {setupright();}
	 }
	 else {$("#login").show();}
  },'json');
 }
 else {$("#login").show();}
}

function setuplogged(lu){
 $("#login-f-e").html('');
 $("#login-f").effect('blind',{},'fast',function(){displogged(lu,true);});
}

function setuplogin(){
 $("#login-vnf a,#login-vf a").click(function(ll){
  ll.preventDefault();
	var tid=this.id;
	if (tid=='alogin' || tid=='areg'){
	 $("#login-f").load('/form_'+tid.substr(1)+'.html',function(){
	  $("#login-f").toggle('blind','fast',function(){
	   $("#login-v div").toggle();
		 if (tid=='areg'){
		  $("#login-f #sreg").click(function(sc){
			 sc.preventDefault();
			 if ($("#login-f #pass").val()!=$("#login-f #repeat").val()) {$("#login-f-e").html('Error: Passwords do not match.');}
			 else{
			 var user=$("#login-f #user").val();
			 $.post('/register1.php',{u:user,chid:chid,chdesc:chdesc,em:$("#login-f #email").val()},function(data){
        if (data['e']!='') {$("#login-f-e").html('Error: '+data['e']);}
				else {
				 dologin(user,data['ui'],data['sd'],chid,chdesc);
				 $.ajax({type:"GET",url:"http://bibliotarian.org/sha256.js",dataType:"script",cache:true,success:function(){
				  $.post('/register2.php',{p:SHA256($("#login-f #pass").val()+data['st']),sd:data['sd'],ui:data['ui']},function(){
           if (data['e']!='') {$("#login-f-e").html('Error: '+data['e']);}
					 else {setuplogged(user);}
					},'json');				
				 }});
				}
			 },'json');
			}
			});
		 }
		 else if (tid=='alogin') {
		  $("#login-f #aforgot").click(function(fc){
			 fc.preventDefault();
			 if ($("#login-f #femail").length==0)
			 {
			  $(this).closest("table").append('<tr><td colspan="3">&nbsp;</td></tr><tr><td>Email</td><td><input id="femail" type="text"/></td><td><a href="/#newpass" id="anewpass">send new password</a></td></tr>');
        $("#login-f #anewpass").click(function(npc){
			   npc.preventDefault();
				 $.post('forgot.php',{em:$("#login-f #femail").val()},function(data){
				  if (data==1) {$("#login-f #anewpass").hide().after('(new password sent)');$("#login-f-e").html('');}
				  else if (data==0) {$("#login-f-e").html('Error: Email address not found.');}
				  else if (data==2) {$("#login-f-e").html('Error: Please try again.');}
				 },'text');				
			  });
			 }
			});
		  $("#login-f #slogin").click(function(slc){
			 slc.preventDefault();
			 var user=$("#login-f #user").val();
			 $.post('/login1.php',{u:user},function(data){;
			  if (data['e']!='') {$("#login-f-e").html('Error: '+data['e']);}
				else {
				 $.ajax({type:"GET",url:"http://bibliotarian.org/sha256.js",dataType:"script",cache:true,success:function(){
				  $.post('/login2.php',{p:SHA256(SHA256($("#login-f #pass").val()+data['st'])+data['sd']),ui:data['ui']},function(data2){
           if (data2['e']!='') {$("#login-f-e").html('Error: '+data2['e']);}
					 else {
					  dologin(user,data['ui'],data2['sd'],data2['chid'],data2['chdesc']);
						setuplogged(data2['ud']);
					 }
          },'json'); 
				 }});
				}
			 },'json');
			});
		 }
	  });
	 });
	}
	else if (tid=='aclose'){
   $("#login-f").toggle('blind','fast',function(){
	  $("#login-v div").toggle();
	 });	
	}
 });
}

$(document).ready(function(){
 autologin();
 chdesc=getCookie('chdesc');
 chid=getCookie('chid');
 setuplogin();
});

