$(document).ready(function(){ 
	//set logo clickable
	$('#logo').css({'cursor':'pointer'});
	$('#logo').click(function(){
		document.location = 'index.php';
	});
	//define button classes
	$.each($('.btn'),function(){
		$(this).addClass('ui-button ui-state-default');
		$(this).mouseover(function(){
			$(this).removeClass('ui-state-default');
			$(this).addClass('ui-state-hover');
		});
		$(this).mouseout(function(){
			$(this).addClass('ui-state-default');
			$(this).removeClass('ui-state-hover');
		});
	});
	
	//initialize tabs
	$('.tabs').tabs();
	
	//iframe
	if($('.iframe').length){ 
		$('.iframe iframe').height($(document).height()).width(($(document).width()-$('#right-bar').width())-100);
	}
	
	//center content
	$('.centered').css({'margin-left':($('#right-bar').offset().left-$('.centered').width())/2});
	$('#footer').css({'positiion':'absolute','margin-top':($(document).height()-72)+'px'});
	$(window).resize(function(){
		$('.centered').css({'margin-left':($('#right-bar').offset().left-$('.centered').width())/2});
		$('#footer').css({'positiion':'absolute','margin-top':($(document).height()-72)+'px'});
	});
	
	//initialize join operations
	if($('#student-join').length){init_student_join();}
	if($('#teacher-join').length){init_teacher_join();}
	
	//initialize profile operations
	if($('#profile').length){init_profile();}
	
	//initialize browse operations
	if($('#browse-results').length){init_browse();}
	
	//initialize library operations
	if($('#library').length){init_library();}
	
	//initialize network operations
	if($('#network').length){init_network();}

});

function init_student_join(){ 
	$('#student-join-step2').css({'display':'none'});
	$('#student-join-step1-click').click(function(){ 
		var comm_pass = $('#has-community-pass').is(':checked');
		$('#student-join-step1').css({'display':'none'});
		$('#student-join-step2').css({'display':'block'});
		if(comm_pass){$('#comm_pass').css({'display':'block'});$('#student-join-email').css({'display':'none'});}
		else{$('#comm_pass').css({'display':'none'});$('#student-join-email').css({'display':'block'});}
		
		init_pass_strength('student-join-pass');
		$('#form-student-join').submit(function(event){
			if($('#student-username').val()=='' || $('#dbdpassbox-student-join-pass').val()==''){
				$('.errMsg').html('Required Field Is Missing');
				event.preventDefault();
				return false;
			}
			else{
				var jdata = '';
				if($('#comm_pass').length){
					jdata = "validate-teacher-creds=true&teacher_username="+$('#teacher_username').val()+"&community_pass="+$('#community_password').val()+"&validate-student-username="+$('#student-username').val();
				}
				else{ jdata = "validate-student-username="+$('#student-username').val(); }
				$.ajax({
				   type: "POST",
				   async: false,
				   url: "join.php",
				   data: jdata,
				   success: function(data){
				     if(data==false || data==''){
							$('.errMsg').html('Username Already Exists');
							event.preventDefault();
							return false;
					 }
					 else{return true;}
					}
				   
				});
			}
		});
	});
	
}

function init_teacher_join(){
	init_pass_strength('teacher-join-pass');
	$('#form-teacher-join').submit(function(event){  
			if($('#teacher-username').val()=='' || $('#dbdpassbox-teacher-join-pass').val()==''){
				$('.errMsg').html('Required Field Is Missing');
				event.preventDefault();
				return false;
			}
			else{
				$.ajax({
				   type: "POST",
				   async: false,
				   url: "join.php",
				   data: "validate-teacher-username="+$('#teacher-username').val(),
				   success: function(data){
				     if(data==false || data==''){
							$('.errMsg').html('Username Already Exists');
							event.preventDefault();
							return false;
						}
						else{return true;}
				   }
				});
			}
	});
}

function init_pass_strength(id){ 
	var $password_meter = $('#'+id);
	$password_meter.dbdpassword({
		imageDir:'images',
		weakImage:'pass_weak.jpg',
		moderateImage:'pass_moderate.jpg',
		strongImage:'pass_strong.jpg',
		id:id
	});
}

function init_profile(){
	$('#email_edit').click(function(){
		var ok = "if($('#new_email').val() != ''){$('#user_email').html($('<input/>',{'type':'text','name':'upd_email','value':$('#new_email').val()}));}";
		ok += "$('#upd_acct').css({'display':'block'});";
		dialog('Update Email','Enter your new email address.<br /><br /><input type="text" id="new_email"/>',ok);
	});
	$('#pass_edit').click(function(){
		var ok = "if($('#new_pass').val() != ''){$('#user_pass').html($('<input/>',{'type':'text','name':'upd_pass','value':$('#new_pass').val()}));}";
		ok += "$('#upd_acct').css({'display':'block'});";
		dialog('Update Password','Enter New Password:<br /><br /><input type="text" id="new_pass"/>',ok);
	});
	$('#comm_pass_edit').click(function(){
		var ok = "if($('#new_comm_pass').val() != ''){$('#send_community_pass').html($('<input/>',{'type':'text','name':'upd_comm_pass','value':$('#new_comm_pass').val()}));}";
		ok += "$('#upd_acct').css({'display':'block'});";
		dialog('Update Community Password','Enter New Password:<br /><br /><input type="text" id="new_comm_pass"/>',ok);
	});
	$('#send_community_pass').click(function(){
		$.post('common.php',{'send_community_pass':true},function(data){
			if(data==true){ $('#send_community_pass').html('Password Sent'); }
		});
	});
	$('#country_edit').click(function(){
		$.post('common.php',{'get-country-list':true},function(data){
			$('#user_country').html($('<select/>',{'id':'upd_country','name':'upd_country'}));
			var countries = $.parseJSON(data);
			$.each(countries,function(i,val){
				$('#upd_country').append($('<option/>',{'value':val.alpha3}).html(val.name));
			});
			$('#upd_acct').css({'display':'block'});
		});
	});
	$('#age_group_edit').click(function(){
		$('#user_age_group').html($('<select/>',{'id':'upd_age_group','name':'upd_age_group'}));
		for(var i=6;i<20;i++){
			$('#upd_age_group').append($('<option/>',{'value':i+'-'+(i+1)}).html(i+'-'+(i+1)));
			i++;
		}
		$('#upd_acct').css({'display':'block'});
	});
	$.each($('#user-interest-table tr td div'),function(){
		$(this).click(function(){
			var id = $(this).attr('id');
			var num = id.substr(14);
			var val = $('#user-interest-'+num).html();
			if(val.indexOf('input') <= 0){
				$('#user-interest-'+num).html($('<input/>',{'name':'upd_user_interest_'+num}).val(val));
				$('#edit-interest-submit').css({'display':'inline-table'});
			}
		});
	});
	$('#add-interest').click(function(){
		var rowCount = ($('#user-interest-table tr').length - 1);
		$('#upd-interest-btns').before($('<tr/>').append($('<td/>').append($('<input/>',{'name':'upd_user_interest_'+rowCount}))));
		$('#edit-interest-submit').css({'display':'inline-table'});
	});
	$.each($('.profile-msg-delete'),function(){
		$(this).css({'cursor':'pointer'});
		$(this).click(function(){
			var id = $(this).attr('id');
			var msg_id = id.substr(4);
			$.post('profile.php',{'delete-msg':msg_id},function(data){
				$('#'+id).parent().parent().remove();
			});
		});
	});
	$('#create-msg').click(function(){
		var ok = '$.post("profile.php",{"msg-to":$("#msg-user-to").val(),"msg-body":$("#msg-body").val()},function(data){})';
		dialog('Create New Message','<div id="messenger"></div>',ok);
		var $messenger = $('#messenger');
   		$messenger.glnMessenger({}); 
	});
	$('#check-msgs').click(function(){
		var msg_ids = [];
		$.each($('#user-messages-table tr td div.ui-icon'),function(i){
			var id = $(this).attr('id');
			msg_ids.push(id.substr(4));
		});
		//var msgIds = '{"msgIds":['+msg_ids.join(',')+']}';
		$.post('profile.php',{'check-msgs':JSON.stringify(msg_ids)},function(data){
			if(!data){ dialog('Messages','No New Messages',''); }
			else{
				var new_msgs = $.parseJSON(data);
				$.each(new_msgs,function(i,msg){
					$('#user-messages-table').append($('<tr/>',{'class':'solid'})
						.append($('<td/>').html(msg.date))
						.append($('<td/>').html(msg.from))
						.append($('<td/>').html('<a onclick="dialog('+msg.from+','+msg.message+')">'+msg.message.substr(0,20)+'</a>'))
						.append($('<td/>')
							.append($('<div/>',{'id':'msg-'+msg.id,'class':'ui-icon ui-icon-close profile-msg-delete'}))
						));
				});
				$.each($('.profile-msg-delete'),function(){
					$(this).css({'cursor':'pointer'});
					$(this).click(function(){
						var id = $(this).attr('id');
						var msg_id = id.substr(4);
						$.post('profile.php',{'delete-msg':msg_id},function(data){
							$('#'+id).parent().parent().remove();
						});
					});
				});
			}
		});
	});
}

function dialog(title,html,ok){
	var dialog = document.createElement('div');
	$(dialog).attr('id','dialog');
	$(dialog).attr('title',title);
	$(dialog).html(html);
	$('body').append(dialog);
	$('#dialog').dialog({ buttons: [
		    {
		        text: "Ok",
		        click: function() { 
			        eval(ok);
			        $('#dialog').remove(); 
			    }
		    },
		    {
			    text: "Cancel",
			    click: function() {$('#dialog').remove();}
		    }
		] 
	});
}

function init_browse(){
	$('#bb_country').change(function(){
		var selected = $(this).val();
		if(selected != ''){
			$.post('browse.php',{'bb-country':selected},function(data){
				$('#browse-results').empty();
				$('#browse-results').html(data);
			});
		}
	});
	$('#bb_interest').change(function(){
		var selected = $(this).val();
		if(selected != ''){
			$.post('browse.php',{'bb-interest':selected},function(data){
				//$results = $.parseJSON(data);
				$('#browse-results').empty();
				$('#browse-results').html(data);
				
			});
		}
	});
	$.each($('.add2library'),function(){
		$(this).click(function(){
			var this_id = $(this).attr('id');
			var user_id = this_id.substr(12);
			$.post('library.php',{'add-user-blog':user_id},function(data){
				if(data==false){
					$('#'+this_id).parent().empty().append('In Library');
				}
			});
		});
	});
	$.each($('.add2network'),function(){
		$(this).click(function(){
			var this_id = $(this).attr('id');
			var user_id = this_id.substr(12);
			$.post('network.php',{'add-user-2-network':user_id},function(data){
				if(data==false){
					$('#'+this_id).parent().empty().append('Pending');
				}
			});
		});
	});
}

function init_library(){
	$.each($('.library-remove'),function(){
		$(this).css({'cursor':'pointer'});
		$(this).click(function(){
			var id = $(this).attr('id');
			$.post('library.php',{'remove-from-library':id.substr(8)},function(data){
				if(!data){
					$('#'+id).parent().parent().remove();
				}
			});
		});
	});
}

function init_network(){
	$.each($('.network-remove'),function(){
		$(this).css({'cursor':'pointer'});
		$(this).click(function(){
			var id = $(this).attr('id');
			$.post('network.php',{'remove-from-network':id.substr(8)},function(data){
				if(!data){
					$('#'+id).parent().parent().remove();
				}
			});
		});
	});
	$.each($('.student-network-count'),function(){
		$(this).css({'cursor':'pointer'});
		$(this).click(function(){
			var student = $(this).parent().parent().first().find('td').first().html();
			var id = $(this).attr('id');
			$.post('network.php',{'show-student-network':id.substr(16)},function(data){
				if(data){
					var network = $.parseJSON(data);
					var html = '<table><tr class="box-header"><td>User</td><td>Blog</td></tr>';
					$.each(network,function(i,friend){
						html += '<tr class="solid"><td>'+friend.name+'</td><td><a href="library.php?blog='+friend.blog+'&buser=">'+friend.blog+'</a></td></tr>';
					});
					html += '</table>';
					dialog(student+' Network',html);
				}
			});
		});
	});
}
