// pop3:item
function pop3_n(){
};
pop3_n.prototype.init = function( id ){
	pop3.init( id );
}
// pop3:main
function pop3(){
	this.id = 0;
	this.hold = "pop3_unread_mail";
	this.logout = function(){
		var out = '';
		out += '<strong>GetMail account - logged</strong>';
		out += '<button type="submit">Logout</button>';
		out += '<span class="clear"></span>';
		out += '</form>';
		return out;
	};
	this.login = function(){
		var out = '';
		out += '<strong>GetMail account - not logged</strong>';
		out += '<label><strong>Login name</strong></label>';
		out += '<input type="text" name="username" />';
		out += '<label><strong>Password</strong></label>';
		out += '<input type="password" name="password" />';
		out += '<label><strong>Mail server</strong></label>';
		out += '<input type="text" name="server" />';
		out += '<button type="submit">Login</button>';
		out += '<span class="clear"></span>';
		out += '</form>';
		return out;
	};
	this.show = function( id ){
		$("#"+pop3.hold + id ).html("<p>Loading...</p>");
		var success = function( data ){
			data = $.secureEvalJSON( data );
			pop3.processJson( id, data );
		}
		$.ajax({
				type: "POST",
				url: conf.base_url,
				data: {m:id, a:'show'},
				success: success,
				async: conf.async,
				global: false
		});
	};
	this.processJson = function( id, data ){
		var out, str;
		if(data!= null && data != 'undefined' && data.items != null && data.items != 'undefined'){
			var out = this.logout();
			var str = this.result_Pop3(id, data);
		} else {
			var out = this.login();
			var str = PLEASE_CLICK; 
		}
		$("#login_"+id ).html(out);
		$("#" + this.hold + id).html( str ); 
	};
	this.result_Pop3 = function(id, data){
		var html = '';
		html += '<div class="unread_mail">';
		html += '<p>You have '+ data.fullcount+' unreaded mails</p>';
		html += '</div>';
		html += '<div class="last_mail">';
		for( var i in o = data.items ) {
			html += '<blockquote class="media_item_3">';
			html += '<h3><a>'+ o[i].title +'</a></h3>';
			html += '<p class="description">'+ o[i].summary +'</p>';
			html += '</blockquote>';
		}
		html += '</div>';
		if( data.count > 0){
			var pg_div = 'pop3_pager_'+ id;
			html += '<div id="' + pg_div + '" class="pager">';
			html += __pager(id, data);
			html += '</div>';
		}
		return html;
	};
	this.init = function( id ){
		//settings
		$("#settings_" + id ).submit( function(){
			var div = "#settings_" + id;  
			var label = $(div+" :input").fieldValue()[0];
			var rows =  $(div+" :input").fieldValue()[1];
			$.post( conf.base_url, { m: id, a:'settings',l: label, r: rows }, function(data){
				core.setTitle( id, label );
				$(div).parents("li.first").parent("ul").hide();
			});
			pop3.show( id );
			return false;  
		});
		//login
		$("#login_" + id).submit(function(){
			var div = "#login_" + id;
			var username = $(div+" :input").fieldValue()[0];
			var password = $(div+" :input").fieldValue()[1];
			var server = $(div+" :input").fieldValue()[2];
			if( username == 'undefined' || username == undefined ) username = '';
			if( password == 'undefined' || password == undefined ) password = '';
			if( server == 'undefined' || server == undefined ) server = '';
			var obj = {m: id, a:'account',u_name: username, u_pass: password, u_server: server };
			$.post( conf.base_url, obj, function(data){
				$(div).parents("li.first").parent("ul").hide();
				jsondata = $.parseJSON(data);
				pop3.show( id );
			});
			return false;
		});
		
		pop3.show( id );
	}
}
pop3 = new pop3();
// rendering
function new_pop3_pager(id, page, target){
	$("#" + target + id ).html("<p>Loading...</p>");
	var success = function( data ){
		data = $.secureEvalJSON( data );
		pop3.processJson( id, data );
	}
	$.ajax({
			type: "POST",
			url: conf.base_url,
			data: {m:id, p:page, a:'show'},
			success: success,
			async: conf.async,
			global: false
	});
}