var IMP_AGGR_ENABLE  = 0;
var IMP_CONV_ENABLE  = 1;
var IMP_CPYR_ENABLE  = 2;
var IMP_OPTIONS_SIZE = 3;
var MISC_DIGEST_ENABLE	= 0;
var MISC_DIGEST_ALL		= 1;
var MISC_DIGEST_ENCHECK	= 2;
var MISC_EDIT_ENABLE	= 3;
var MISC_DUPES			= 4;
var MISC_OPTIONS_SIZE	= 5;
function _status(expanded,modified) {
	this.expanded=expanded;
	this.modified=modified;
}
function _feed(title,descr,category,editor,elink,copyright,auth) {
	this.title = title;
	this.descr = descr;
	this.category = category;
	this.editor = editor;
	this.elink = elink;
	this.copyright = copyright;
	this.auth = auth;
}
function _feedbot(name,interval,opml,share,no_posts,size_post,order_by, order_type, time_zone, date_format, template, html, misc, feed, filter, imports, auto_clear) {
	this.name = name;
	this.interval = interval;
	this.opml = opml;
	this.share = share;
	this.no_posts = no_posts;
	this.size_post = size_post;
	this.order_by = order_by;
	this.order_type = order_type;
	this.time_zone = time_zone;
	this.date_format = date_format;
	this.template = template;
	this.html = html;
	this.misc = misc;
	this.rss = null;
	this.htmlurl = null;
	this.feed = feed;
	this.filter = filter;
	this.imports = imports;
	this.users = null;
	this.roles = null;
	this.auto_clear = auto_clear;
}
function _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date) {
	this.filter_all = filter_all;
	this.filter_phrase = filter_phrase;
	this.filter_atleast = filter_atleast;
	this.filter_without = filter_without;
	this.filter_occurrences = filter_occurrences;
	this.filter_minwords = filter_minwords;
	this.filter_date = filter_date;
}
function _import(import_name,import_title,import_type,import_url,import_class,import_options,import_posts,import_author,import_source,import_srcadd,import_language,import_categories,import_username,import_password,import_filter) {
	this.import_name = import_name;
	this.import_title = import_title;
	this.import_type = import_type;
	this.import_url = import_url;
	this.import_class = import_class;
	this.import_options = import_options;
	this.import_posts = import_posts;
	this.import_author = import_author;
	this.import_source = import_source;
	this.import_srcadd = import_srcadd;
	this.import_language = import_language;
	this.import_categories = import_categories;
	this.import_username = import_username;
	this.import_password = import_password;
	this.import_filter = import_filter;
}
function _diagnostics(message,code,codeDescription,description,errorMessage) {
	this.message = message;
	this.code = code;
	this.codeDescription = codeDescription;
	this.description = description;
	this.errorMessage = errorMessage;
}
function feedbot_number () {
	var count = 0;
	if (feedbots) for (var n = 0; n < feedbots.length; ++n) {
		if (feedbots[n])
			++count;
	}
	return count;
}
function feedbot_pos (num) {
	var count = 0;
	if (feedbots) for (var n = 0; n < feedbots.length; ++n) {
		if (feedbots[n]) {
			if (count >= num) {
				return n;
			}
			++count;
		}
	}
	return feedbots.length;
}
function feedbot_length(bot) {
	var ret = 0;
	if (bot && bot.imports) {
		for (var n = 0; n < bot.imports.length; ++n) {
			if (bot.imports[n])
				++ret;
		}
	}
	return ret;
}
function feedbot_modified(index,import_index) {
	if (feedbots_status && feedbots_status[index]) {
		feedbots_status[index].modified = true;
		if (import_index != null) {
			if (feedbots_imports_status) {
				var import_status = feedbots_imports_status [index];
				if (import_status && (import_index < import_status.length)) 
					import_status[import_index].modified = true;
			}
		}			
	}
}
function feedbot_unmodified(index) {
	if (feedbots_status && feedbots_status[index])
		feedbots_status[index].modified = false;
	if (feedbots_imports_status) {
		var import_status = feedbots_imports_status [index];
		if (import_status) for (var n = 0; n < import_status.length; ++n) 
			import_status[n].modified = false;
	}
}
function is_feedbot_modified(index,import_index) {
	if (import_index == null) {
		if (feedbots_status && feedbots_status[index])
			return feedbots_status[index].modified;
		return false;
	} else {		
		if (feedbots_imports_status) {
			var import_status = feedbots_imports_status [index];
			if (import_status && (import_index < import_status.length)) 
				return import_status[import_index].modified;
		}
		return false;
	}
}
function feedbot_removed (index) {
	if (feedbots && (feedbots.length > index)) 
		feedbots [index] = null;
	if (feedbots_status && (feedbots_status.length > index)) 
		feedbots_status [index] = null;
}
var feedbots;
var feedbots_status;
var feedbots_imports_status;
var diagnostics;
function parseSession (xmlHttp) {
	if (!xmlHttp) 
		return false;
	else if (!xmlHttp.responseXML) {
		if (xmlHttp.responseText) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		}
		return false;
	} else if (!xmlHttp.responseXML.documentElement) {
		if (ieBrowser) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		}
		return false;
	}
	return true;
}		
function parseDiagnostics (xmlHttp) {
	diagnostics = null;
	if (!xmlHttp) 
		return;
	else if (!xmlHttp.responseXML) {
		if (xmlHttp.responseText) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		}
		return;
	} else if (!xmlHttp.responseXML.documentElement) {
		if (ieBrowser) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		}
		return;
	} else
		parseXMLDiagnostics (xmlHttp.responseXML);
}
function parseXMLDiagnostics (dom) {
	diagnostics = null;
	if (!dom)
		return;
	if (!dom.documentElement)
		return;
	if (dom.documentElement.nodeName.toUpperCase() == 'DIAGNOSTICS') {
		var message;
		var code;
		var codeDescription;
		var description;
		if (!dom.documentElement) {
			diagnostics = null;
			return;
		}
		var errors = dom.documentElement.childNodes;
		for (n = 0; n < errors.length; ++n) {
			if (errors[n].nodeType == 1) {
				message = errors[n].nodeName;
				var details = errors[n].childNodes;
				for (m = 0; m < details.length; ++m) {
					if (details[m].nodeType == 1) {
						if (details[m].tagName == 'code') {
							if (details[m].textContent)
								code = details[m].textContent;
							else
								code = details[m].text;
						} else if (details[m].tagName == 'code-description') {
							if (details[m].textContent)
								codeDescription = details[m].textContent;
							else
								codeDescription = details[m].text;
						} else if (details[m].tagName == 'description') {
							if (details[m].textContent)
								description = details[m].textContent;
							else
								description = details[m].text;
						}
					}
				}
			}
		}
		if (code == 'ERROR_039')
			errorMessage = 'Error: a feedbot with the same name already exists.';
		else if (code == 'ERROR_099') {
			if (description.length > 800) {
				var index = description.substring(800).indexOf('<br>');
				if (index != -1) {
					description = description.substring(0, 800 + index) + '\r\n\n...';
				} else {
					index = description.substring(800).indexOf('&lt;br&gt;');
					if (index != -1) 
						description = description.substring(0, 800 + index) + '\r\n\n...';
					else
						description = description.substring(0, 800) + '\r\n\n...';				
				}
			} 
			description = replaceStr (description, '<br>', "\r\n\n");		
			description = replaceStr (description, '&lt;br&gt;', "\r\n\n");		
			errorMessage = 'Error: one or more feedbots with the same name already exist.\r\n\n\n'+description;
		} else if ((code == 'ERROR_098') || (code == 'ERROR_097') || (code == 'ERROR_047')) {
			description = replaceStr (description, '<br>', "\r\n\n");		
			description = replaceStr (description, '&lt;br&gt;', "\r\n\n");		
			errorMessage = 'MySyndicaat Error!\r\n\n' + description;
		} else {
			if (description && codeDescription)
				errorMessage = 'MySyndicaat Error!\r\n\n' + description + '\r\n\n' + codeDescription;
			else if (description)
				errorMessage = 'MySyndicaat Error!\r\n\n' + description;
			else
				errorMessage = 'MySyndicaat Error!\r\n\n' + codeDescription;
		}
		diagnostics = new _diagnostics(message,code,codeDescription,description,errorMessage);
	}
}
function clearFilter (filter) {
	filter.filter_all = null;
	filter.filter_phrase = null;
	filter.filter_atleast = null;
	filter.filter_without = null;
	filter.filter_occurrences = null;
	filter.filter_minwords = null;
	filter.filter_date = null;
}
function clearFeedbots () {
		feedbots = null;
		feedbots_status = null;
		feedbots_imports_status = null;
}
function parseFeedbots (xmlHttp) {
	diagnostics = null;
	if (!xmlHttp) {
		clearFeedbots();
		return false;
	} else if (!xmlHttp.responseXML) {
		if (xmlHttp.responseText) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		} 
		return false;
	} else if (!xmlHttp.responseXML.documentElement) {
		clearFeedbots();
		if (ieBrowser) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		}
		return false;
	} else if (xmlHttp.responseXML.documentElement.nodeName.toUpperCase() == 'DIAGNOSTICS') {
		parseDiagnostics(xmlHttp);
		return false;
	}
	clearFeedbots();
    var xmlFeedbots = xmlHttp.responseXML.documentElement.childNodes;
	var numFeedbots = 0;
	var feedbot_name, feedbot_interval, feedbot_opml, feedbot_share, feedbot_no_posts, feedbot_size_post, feedbot_order_by, feedbot_order_type, feedbot_time_zone, feedbot_date_format,feedbot_template, feedbot_html, feedbot_misc, feedbot_rss, feedbot_htmlurl, feedbot_auto_clear;
	var feed_title, feed_desc, feed_category, feed_editor, feed_elink, feed_copyright, feed_auth;
	var import_name, import_title, import_type, import_url, import_class, import_options, import_posts, import_author, import_source, import_srcadd, import_language, import_categories, import_username, import_password, import_filter;
	var user_name, role_name;
	var feedbot_feed;
	for (n = 0; n < xmlFeedbots.length; ++n) {
		if (xmlFeedbots[n].nodeType == 1) {
			feedbot_name = xmlFeedbots[n].getAttribute("name"); 
			feedbot_interval = xmlFeedbots[n].getAttribute("interval"); 
			feedbot_opml = xmlFeedbots[n].getAttribute("opml") == 'true' ? true : false; 
			feedbot_share = xmlFeedbots[n].getAttribute("share") == 'true' ? true : false; 
			feedbot_no_posts = xmlFeedbots[n].getAttribute("noposts"); 
			feedbot_size_post = xmlFeedbots[n].getAttribute("sizepost");
			feedbot_order_by = xmlFeedbots[n].getAttribute("orderby");
			feedbot_order_type = xmlFeedbots[n].getAttribute("ordertype");
			feedbot_time_zone = xmlFeedbots[n].getAttribute("timezone");
			feedbot_date_format = xmlFeedbots[n].getAttribute("dateformat");
			feedbot_template = xmlFeedbots[n].getAttribute("template");
			feedbot_html = xmlFeedbots[n].getAttribute("html"); 
			feedbot_misc = xmlFeedbots[n].getAttribute("misc"); 
			feedbot_rss = xmlFeedbots[n].getAttribute("extUrl"); 
			feedbot_htmlurl = xmlFeedbots[n].getAttribute("htmlUrl"); 
			feedbot_auto_clear = xmlFeedbots[n].getAttribute("autoclear"); 
			feed_title = xmlFeedbots[n].getAttribute("title"); 
			feed_descr = xmlFeedbots[n].getAttribute("descr"); 
			feed_category = xmlFeedbots[n].getAttribute("category"); 
			feed_editor = xmlFeedbots[n].getAttribute("editor"); 
			feed_elink = xmlFeedbots[n].getAttribute("link"); 
			feed_copyright = xmlFeedbots[n].getAttribute("copyright"); 
			feed_auth = xmlFeedbots[n].getAttribute("auth") == 'true' ? true : false; 
			feedbot_feed = new _feed(feed_title,feed_descr,feed_category,feed_editor,feed_elink,feed_copyright,feed_auth);
			var xmlFeedBot = xmlFeedbots[n].childNodes;
			var feedbot_filter = null;
			var feedbot_imports = null;
			var feedbot_users = null;
			var feedbot_roles = null;
			var numImports = 0;
			var imports_status = new Array();
			for (m = 0; m < xmlFeedBot.length; ++m) {
				if (xmlFeedBot[m].nodeType == 1) {
					if (xmlFeedBot[m].tagName == "filter") {	
				    	var filter_all = null, filter_phrase = null, filter_atleast = null, filter_without = null, filter_occurrences=null, filter_minwords = null, filter_date = null;
						filter_all = xmlFeedBot[m].getAttribute("all"); 
						filter_phrase = xmlFeedBot[m].getAttribute("phrase");
						filter_atleast = xmlFeedBot[m].getAttribute("atleast");
						filter_without = xmlFeedBot[m].getAttribute("without");
						filter_occurrences = xmlFeedBot[m].getAttribute("occurrences");
						filter_minwords = xmlFeedBot[m].getAttribute("minwords");
						filter_date = xmlFeedBot[m].getAttribute("date");
						if (filter_all)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_phrase) 
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_atleast)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_without)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_occurrences)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_minwords)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_date)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
					} else if (xmlFeedBot[m].tagName == "user") {
						user_name = xmlFeedBot[m].getAttribute("name"); 
						if (!feedbot_users)
							feedbot_users = new Array ();
						feedbot_users[feedbot_users.length] = user_name;
					} else if (xmlFeedBot[m].tagName == "role") {
						role_name = xmlFeedBot[m].getAttribute("name"); 
						if (!feedbot_roles)
							feedbot_roles = new Array ();
						feedbot_roles[feedbot_roles.length] = role_name;
					} else if (xmlFeedBot[m].tagName == "import") {
						import_name = xmlFeedBot[m].getAttribute("name"); 
						import_title = xmlFeedBot[m].getAttribute("title"); 
						import_type = xmlFeedBot[m].getAttribute("type").toUpperCase(); 
						import_url = xmlFeedBot[m].getAttribute("url"); 
						import_class = xmlFeedBot[m].getAttribute("class"); 
						import_options = xmlFeedBot[m].getAttribute("options"); 
						import_posts = xmlFeedBot[m].getAttribute("posts"); 
						import_author = xmlFeedBot[m].getAttribute("author"); 
						import_source= xmlFeedBot[m].getAttribute("source"); 
						import_srcadd = xmlFeedBot[m].getAttribute("srcadd"); 
						import_language = xmlFeedBot[m].getAttribute("language"); 
						import_categories = xmlFeedBot[m].getAttribute("categories"); 
						import_username = xmlFeedBot[m].getAttribute("user"); 
						import_password = xmlFeedBot[m].getAttribute("password"); 
						import_filter = null;
						var xmlImport = xmlFeedBot[m].childNodes;
						for (l = 0; l < xmlImport.length; ++l) {
							if (xmlImport[l].nodeType == 1) {
								if (xmlImport[l].tagName == "filter") {	
					    			var filter_all = null, filter_phrase = null, filter_atleast = null, filter_without = null, filter_occurrences=null, filter_minwords = null, filter_date = null;;
									filter_all = xmlImport[l].getAttribute("all"); 
									filter_phrase = xmlImport[l].getAttribute("phrase");
									filter_atleast = xmlImport[l].getAttribute("atleast");
									filter_without = xmlImport[l].getAttribute("without");
									filter_occurrences = xmlImport[l].getAttribute("occurrences");
									filter_minwords = xmlImport[l].getAttribute("minwords");
									filter_date = xmlImport[l].getAttribute("date");
									if (filter_all)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_phrase) 
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_atleast)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_without)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_occurrences)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_minwords)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_date)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
								}
							}
						}
						if (import_name || import_title || import_type || import_url || import_class || import_options || import_author || import_source || import_srcadd || import_language || import_categories || import_username || import_password || import_filter) {
							if (!feedbot_imports)
								feedbot_imports = new Array ();
							feedbot_imports[numImports] = new _import(import_name, import_title, import_type, import_url, import_class, import_options, import_posts, import_author, import_source, import_srcadd, import_language, import_categories, import_username, import_password, import_filter);
							
							imports_status [numImports] = new _status (false, false);
							++numImports;
						}
					}
				}
			}
			if (!feedbots)
				feedbots = new Array ();
			feedbots [numFeedbots] = new _feedbot (feedbot_name, feedbot_interval, feedbot_opml, feedbot_share, feedbot_no_posts, feedbot_size_post, feedbot_order_by, feedbot_order_type, feedbot_time_zone, feedbot_date_format, feedbot_template, feedbot_html, feedbot_misc, feedbot_feed, feedbot_filter, feedbot_imports, feedbot_auto_clear);
			feedbots [numFeedbots].rss = feedbot_rss;
			feedbots [numFeedbots].htmlurl = feedbot_htmlurl;
			if (feedbot_users)
				feedbots [numFeedbots].users = feedbot_users;
			if (feedbot_roles)
				feedbots [numFeedbots].roles = feedbot_roles;
			if (!feedbots_status)
				feedbots_status = new Array ();
			feedbots_status [numFeedbots] = new _status (false, false);
			if (!feedbots_imports_status) 
				feedbots_imports_status = new Array ();
			feedbots_imports_status [numFeedbots] = imports_status;

			++numFeedbots;			
		}
	}
	return true;
}
var single_feedbot;
var single_feedbot_status;
var sigle_feedbot_imports_status;
function parseSingleFeedbot (xmlHttp) {
	diagnostics = null;
	if (!xmlHttp) {
		return false;
	} else if (!xmlHttp.responseXML) {
		if (xmlHttp.responseText) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		} 
		return false;
	} else if (!xmlHttp.responseXML.documentElement) {
		if (ieBrowser) {
			alert ('MySyndicaat Error!\r\n\nSession is expired. Please login again.\n\n');
			window.open ("/mysynd/home", "_top", null, true);						
		}
		return false;
	} else if (xmlHttp.responseXML.documentElement.nodeName.toUpperCase() == 'DIAGNOSTICS') {
		parseDiagnostics(xmlHttp);
		return false;
	}
    var xmlFeedbots = xmlHttp.responseXML.documentElement.childNodes;
	var numFeedbots = 0;
	var feedbot_name, feedbot_interval, feedbot_opml, feedbot_share, feedbot_no_posts, feedbot_size_post, feedbot_order_by, feedbot_order_type, feedbot_time_zone, feedbot_date_format, feedbot_template, feedbot_html, feedbot_misc, feedbot_rss, feedbot_htmlurl, feedbot_auto_clear;
	var feed_title, feed_desc, feed_category, feed_editor, feed_elink, feed_copyright, feed_auth;
	var import_name, import_title, import_type, import_url, import_class, import_options, import_posts, import_author, import_source, import_srcadd, import_language, import_categories, import_username, import_password, import_filter;
	var user_name, role_name;
	var feedbot_feed;
	for (n = 0; n < xmlFeedbots.length; ++n) {
		if (xmlFeedbots[n].nodeType == 1) {
			feedbot_name = xmlFeedbots[n].getAttribute("name"); 
			feedbot_interval = xmlFeedbots[n].getAttribute("interval"); 
			feedbot_opml = xmlFeedbots[n].getAttribute("opml") == 'true' ? true : false; 
			feedbot_share = xmlFeedbots[n].getAttribute("share") == 'true' ? true : false; 
			feedbot_no_posts = xmlFeedbots[n].getAttribute("noposts"); 
			feedbot_size_post = xmlFeedbots[n].getAttribute("sizepost"); 
			feedbot_order_by = xmlFeedbots[n].getAttribute("orderby"); 
			feedbot_order_type = xmlFeedbots[n].getAttribute("ordertype"); 
			feedbot_time_zone = xmlFeedbots[n].getAttribute("timezone"); 
			feedbot_date_format = xmlFeedbots[n].getAttribute("dateformat"); 
			feedbot_template = xmlFeedbots[n].getAttribute("template"); 
			feedbot_html = xmlFeedbots[n].getAttribute("html"); 
			feedbot_misc = xmlFeedbots[n].getAttribute("misc"); 
			feedbot_rss = xmlFeedbots[n].getAttribute("extUrl"); 
			feedbot_htmlurl = xmlFeedbots[n].getAttribute("htmlUrl"); 
			feedbot_auto_clear = xmlFeedbots[n].getAttribute("autoclear"); 
			feed_title = xmlFeedbots[n].getAttribute("title"); 
			feed_descr = xmlFeedbots[n].getAttribute("descr"); 
			feed_category = xmlFeedbots[n].getAttribute("category"); 
			feed_editor = xmlFeedbots[n].getAttribute("editor"); 
			feed_elink = xmlFeedbots[n].getAttribute("link"); 
			feed_copyright = xmlFeedbots[n].getAttribute("copyright"); 
			feed_auth = xmlFeedbots[n].getAttribute("auth") == 'true' ? true : false; 
			feedbot_feed = new _feed(feed_title,feed_descr,feed_category,feed_editor,feed_elink,feed_copyright,feed_auth);
			
			var xmlFeedBot = xmlFeedbots[n].childNodes;
			var feedbot_filter = null;
			var feedbot_imports = null;
			var feedbot_users = null;
			var feedbot_roles = null;
			var numImports = 0;
			var imports_status = new Array();
			for (m = 0; m < xmlFeedBot.length; ++m) {
				if (xmlFeedBot[m].nodeType == 1) {
					if (xmlFeedBot[m].tagName == "filter") {	
				    	var filter_all = null, filter_phrase = null, filter_atleast = null, filter_without = null, filter_occurrences=null, filter_minwords = null, filter_date = null;
						filter_all = xmlFeedBot[m].getAttribute("all"); 
						filter_phrase = xmlFeedBot[m].getAttribute("phrase");
						filter_atleast = xmlFeedBot[m].getAttribute("atleast");
						filter_without = xmlFeedBot[m].getAttribute("without");
						filter_occurrences = xmlFeedBot[m].getAttribute("occurrences");
						filter_minwords = xmlFeedBot[m].getAttribute("minwords");
						filter_date = xmlFeedBot[m].getAttribute("date");
						if (filter_all)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_phrase) 
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_atleast)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_without)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_occurrences)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_minwords)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
						else if (filter_date)
							feedbot_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
					} else if (xmlFeedBot[m].tagName == "user") {
						user_name = xmlFeedBot[m].getAttribute("name"); 
						if (!feedbot_users)
							feedbot_users = new Array ();
						feedbot_users[feedbot_users.length] = user_name;
					} else if (xmlFeedBot[m].tagName == "role") {
						role_name = xmlFeedBot[m].getAttribute("name"); 
						if (!feedbot_roles)
							feedbot_roles = new Array ();
						feedbot_roles[feedbot_roles.length] = role_name;
					} else if (xmlFeedBot[m].tagName == "import") {
						import_name = xmlFeedBot[m].getAttribute("name"); 
						import_title = xmlFeedBot[m].getAttribute("title"); 
						import_type = xmlFeedBot[m].getAttribute("type").toUpperCase(); 
						import_url = xmlFeedBot[m].getAttribute("url"); 
						import_class = xmlFeedBot[m].getAttribute("class"); 
						import_options = xmlFeedBot[m].getAttribute("options"); 
						import_posts = xmlFeedBot[m].getAttribute("posts"); 
						import_author = xmlFeedBot[m].getAttribute("author"); 
						import_source= xmlFeedBot[m].getAttribute("source"); 
						import_srcadd = xmlFeedBot[m].getAttribute("srcadd"); 
						import_language = xmlFeedBot[m].getAttribute("language"); 
						import_categories = xmlFeedBot[m].getAttribute("categories"); 
						import_username = xmlFeedBot[m].getAttribute("user"); 
						import_password = xmlFeedBot[m].getAttribute("password"); 
						import_filter = null;
						var xmlImport = xmlFeedBot[m].childNodes;
						for (l = 0; l < xmlImport.length; ++l) {
							if (xmlImport[l].nodeType == 1) {
								if (xmlImport[l].tagName == "filter") {	
					    			var filter_all = null, filter_phrase = null, filter_atleast = null, filter_without = null, filter_occurrences=null, filter_minwords = null, filter_date = null;
									filter_all = xmlImport[l].getAttribute("all"); 
									filter_phrase = xmlImport[l].getAttribute("phrase");
									filter_atleast = xmlImport[l].getAttribute("atleast");
									filter_without = xmlImport[l].getAttribute("without");
									filter_occurrences = xmlImport[l].getAttribute("occurrences");
									filter_minwords = xmlImport[l].getAttribute("minwords");
									filter_date = xmlImport[l].getAttribute("date");
									if (filter_all)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_phrase) 
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_atleast)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_without)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_occurrences)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_minwords)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
									else if (filter_date)
										import_filter = new _filter(filter_all,filter_phrase,filter_atleast,filter_without,filter_occurrences,filter_minwords,filter_date);
								}
							}
						}
						if (import_name || import_title || import_type || import_url || import_class || import_options || import_author || import_source || import_srcadd || import_language || import_categories || import_username || import_password || import_filter) {
							if (!feedbot_imports)
								feedbot_imports = new Array ();
							feedbot_imports[numImports] = new _import(import_name, import_title, import_type, import_url, import_class, import_options, import_posts, import_author, import_source, import_srcadd, import_language, import_categories, import_username, import_password, import_filter);
							
							imports_status [numImports] = new _status (false, false);
							++numImports;
						}
					}
				}
			}
			single_feedbot = new _feedbot (feedbot_name, feedbot_interval, feedbot_opml, feedbot_share, feedbot_no_posts, feedbot_size_post, feedbot_order_by, feedbot_order_type, feedbot_time_zone, feedbot_date_format, feedbot_template, feedbot_html, feedbot_misc, feedbot_feed, feedbot_filter, feedbot_imports, feedbot_auto_clear);
			single_feedbot.rss = feedbot_rss;
			single_feedbot.htmlurl = feedbot_htmlurl;
			if (feedbot_users)
				single_feedbot.users = feedbot_users;
			if (feedbot_roles)
				single_feedbot.roles = feedbot_roles;
			if (!feedbots_status)
				feedbots_status = new Array ();
			single_feedbot_status = new _status (false, false);
			single_feedbot_imports_status = imports_status;
			break;
		}
	}
	return true;
}
function update_single_feedbot(name) {
	if (feedbots) for (var n = 0; n < feedbots.length; ++n) {
		if (feedbots[n] == null)
			continue;
		if (feedbots[n].name == single_feedbot.name) {
			feedbots[n] = null;
			feedbots[n] = single_feedbot;
			feedbots_status [n] = single_feedbot_status;
			feedbots_imports_status [n] = single_feedbot_imports_status;
			break;
		}
	}
}
function new_update_single_feedbot(name) {
	if (feedbots) for (var n = 0; n < feedbots.length; ++n) {
		if (feedbots[n] == null)
			continue;
		if (feedbots[n].name == single_feedbot.name) {
			for (var m = 0; m < feedbots[n].imports.length; ++m) {
				if (feedbots[n].imports[m] != null) {
					if (feedbots[n].imports[m].import_name == null) {
						for (var i = 0; i < single_feedbot.imports.length; ++i) {
							if (feedbots[n].imports[m].import_title == single_feedbot.imports[i].import_title)
								feedbots[n].imports[m].import_name = single_feedbot.imports[i].import_name;
						}
						break;
					}
				}
			}
			break;
		}
	}
}
function compField(field1,field2) {
	if (field1 && !field2)
		return false;
	else if (!field1 && field2)
		return false;
	else 
		return (field1 == field2);
}
function compFeed(feed1,feed2){
	if (feed1 && !feed2)
		return false;
	else if (!feed1 && feed2)
		return false;
	else {
		if (!compField(feed1.title,feed2.title))
			return false;
		if (!compField(feed1.descr,feed2.descr))
			return false;
		if (!compField(feed1.category,feed2.category))
			return false;
		if (!compField(feed1.editor,feed2.editor))
			return false;
		if (!compField(feed1.elink,feed2.elink))
			return false;
		if (!compField(feed1.copyright,feed2.copyright))
			return false;
		if (!compField(feed1.auth,feed2.auth))
			return false;
	}
	return true;
}
function upd_feedbot_feed (title,descr,category,editor,elink,copyright,auth,n) {
	if (feedbots && (feedbots[n])) {
		var feed = new _feed(title,descr,category,editor,elink,copyright,auth);
		if (!compFeed(feedbots[n].feed, feed)) {
			feedbot_modified(n);
			feedbots[n].feed = feed;
		} 
	}
}
function upd_feedbot_interval (interval,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].interval != interval)
			feedbot_modified(n);
		feedbots[n].interval = interval;
	}
}
function upd_feedbot_opml (opml,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].opml != opml)
			feedbot_modified(n);
		feedbots[n].opml = opml;
	}
}
function upd_feedbot_share (share,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].share != share)
			feedbot_modified(n);
		feedbots[n].share = share;
	}
}
function upd_feedbot_no_posts (no_posts,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].no_posts != no_posts)
			feedbot_modified(n);
		feedbots[n].no_posts = no_posts;
	}
}
function upd_feedbot_size_post (size_post,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].size_post != size_post)
			feedbot_modified(n);
		feedbots[n].size_post = size_post;
	}
}
function upd_feedbot_order_by (order_by,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].order_by != order_by)
			feedbot_modified(n);
		feedbots[n].order_by = order_by;
	}
}
function upd_feedbot_order_type (order_type,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].order_type != order_type)
			feedbot_modified(n);
		feedbots[n].order_type = order_type;
	}
}
function upd_feedbot_time_zone (time_zone,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].time_zone != time_zone)
			feedbot_modified(n);
		feedbots[n].time_zone = time_zone;
	}
}
function upd_feedbot_date_format (date_format,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].date_format != date_format)
			feedbot_modified(n);
		feedbots[n].date_format = date_format;
	}
}
function upd_feedbot_auto_clear (auto_clear,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].auto_clear != auto_clear)
			feedbot_modified(n);
		feedbots[n].auto_clear = auto_clear;
	}
}
function upd_feedbot_template (template,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].template != template)
			feedbot_modified(n);
		feedbots[n].template = template;
	}
}
function upd_feedbot_html (html,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].html != html)
			feedbot_modified(n);
		feedbots[n].html = html;
	}
}
function upd_feedbot_misc (misc,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].misc != misc)
			feedbot_modified(n);
		feedbots[n].misc = misc;
	}
}
function upd_feedbot_users (users,n) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].users.length != users.length)
			feedbot_modified(n);
		else {
			for (var i = 0; i < feedbots[n].users.length; i++) {
				if (feedbots[n].users[i] != users[i]) {
					feedbot_modified(n);
					break;
				}
			}
		}
		feedbots[n].users = users;
	}
}
function modified(oldval,newval,n) {
	if (!feedbots[n].filter) {
		if (newval && (newval.length > 0))
			feedbot_modified(n);
	} else {
		if (!oldval) {
			if (newval && (newval.length > 0))
				feedbot_modified(n);
		} else if (oldval != newval) 
			feedbot_modified(n);
	}
}
function upd_feedbot_all (filter_all,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_all : null,filter_all,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(filter_all,null,null,null,null,null,null);
		else
			feedbots[n].filter.filter_all = filter_all;
	}
}
function upd_feedbot_phrase (filter_phrase,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_phrase : null,filter_phrase,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(null,filter_phrase,null,null,null,null,null);
		else
			feedbots[n].filter.filter_phrase = filter_phrase;
	}
}
function upd_feedbot_atleast (filter_atleast,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_atleast : null,filter_atleast,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(null,null,filter_atleast,null,null,null,null);
		else
			feedbots[n].filter.filter_atleast = filter_atleast;
	}
}
function upd_feedbot_without (filter_without,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_without : null,filter_without,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(null,null,null,filter_without,null,null,null);
		else
			feedbots[n].filter.filter_without = filter_without;
	}
}
function upd_feedbot_occurrences (filter_occurrences,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_occurrences : null,filter_occurrences,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(null,null,null,null,filter_occurrences,null,null);
		else
			feedbots[n].filter.filter_occurrences = filter_occurrences;
	}
}
function upd_feedbot_minwords (filter_minwords,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_minwords : null,filter_minwords,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(null,null,null,null,null,filter_minwords,null);
		else
			feedbots[n].filter.filter_minwords = filter_minwords;
	}
}
function upd_feedbot_date (filter_date,n) {
	if (feedbots && (feedbots[n])) {
		modified(feedbots[n].filter ? feedbots[n].filter.filter_date : null,filter_date,n);
		if (!feedbots[n].filter)
			feedbots[n].filter = new _filter(null,null,null,null,null,null,filter_date);
		else
			feedbots[n].filter.filter_date = filter_date;
	}
}
function get_import_filter(n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) 
			return feedbots[n].imports[m].import_filter;
	}
	return null;
}
function upd_import_type (import_type,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_type.toLowerCase() != import_type.toLowerCase ())
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_type = import_type;
		}
	}
}
function get_upd_import_type (n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) 
			return feedbots[n].imports[m].import_type;
	}
}
function upd_import_url (import_url,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_url != import_url)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_url = import_url;
		}
	}
}
function get_upd_import_url (n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) 
			return feedbots[n].imports[m].import_url;
	}
}
function upd_import_name (import_name,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_name != import_name)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_name = import_name;
		}
	}
}
function upd_import_title (import_title,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_title != import_title)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_title = import_title;
		}
	}
}
function upd_import_class (import_class,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_class != import_class)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_class = import_class;
		}
	}
}
function upd_import_options (import_options,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_options != import_options)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_options = import_options;
		}
	}
}
function upd_import_posts (import_posts,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_posts != import_posts)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_posts = import_posts;
		}
	}
}
function upd_import_author (import_author,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_author != import_author)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_author = import_author;
		}
	}
}
function upd_import_source (import_source,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_source != import_source)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_source = import_source;
		}
	}
}
function upd_import_srcadd (import_srcadd,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_srcadd != import_srcadd)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_srcadd = import_srcadd;
		}
	}
}
function upd_import_language (import_language,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_language != import_language)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_language = import_language;
		}
	}
}
function upd_import_categories (import_categories,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_categories != import_categories)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_categories = import_categories;
		}
	}
}
function upd_import_username (import_username,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_username != import_username)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_username = import_username;
		}
	}
}
function upd_import_password (import_password,n,m) {
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (feedbots[n].imports[m].import_password != import_password)
				feedbot_modified(n,m);
			feedbots[n].imports[m].import_password = import_password;
		}
	}
}
function compFilter(oldfilter,newfilter) {
	if (oldfilter && newfilter)
		return (oldfilter == newfilter);
	else if (oldfilter)
		return oldfilter.length == 0 ? true : false;
	else
		return newfilter.length == 0 ? true : false;
}
function upd_import_all (filter_all,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_all,filter_all))
			feedbot_modified(n,m);
	} else {
		if (filter_all && (filter_all.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(filter_all,null,null,null,null,null,null);
			else
				feedbots[n].imports[m].import_filter.filter_all = filter_all;
		}
	}
}
function upd_import_phrase (filter_phrase,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_phrase,filter_phrase))
			feedbot_modified(n,m);
	} else {
		if (filter_phrase && (filter_phrase.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(null,filter_phrase,null,null,null,null,null);
			else
				feedbots[n].imports[m].import_filter.filter_phrase = filter_phrase;
		}
	}
}
function upd_import_atleast (filter_atleast,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_atleast,filter_atleast))
			feedbot_modified(n,m);
	} else {
		if (filter_atleast && (filter_atleast.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(null,null,filter_atleast,null,null,null,null);
			else
				feedbots[n].imports[m].import_filter.filter_atleast = filter_atleast;
		}
	}
}
function upd_import_without (filter_without,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_without,filter_without))
			feedbot_modified(n,m);
	} else {
		if (filter_without && (filter_without.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(null,null,null,filter_without,null,null,null);
			else
				feedbots[n].imports[m].import_filter.filter_without = filter_without;
		}
	}
}
function upd_import_occurrences (filter_occurrences,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_occurrences,filter_occurrences))
			feedbot_modified(n,m);
	} else {
		if (filter_occurrences && (filter_occurrences.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(null,null,null,null,filter_occurrences,null,null);
			else
				feedbots[n].imports[m].import_filter.filter_occurrences = filter_occurrences;
		}
	}
}
function upd_import_minwords (filter_minwords,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_minwords,filter_minwords))
			feedbot_modified(n,m);
	} else {
		if (filter_minwords && (filter_minwords.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(null,null,null,null,null,filter_minwords,null);
			else
				feedbots[n].imports[m].import_filter.filter_minwords = filter_minwords;
		}
	}
}
function upd_import_date (filter_date,n,m) {
	if (feedbots[n].imports && feedbots[n].imports[m] && feedbots[n].imports[m].import_filter) {
		if (!compFilter(feedbots[n].imports[m].import_filter.filter_date,filter_date))
			feedbot_modified(n,m);
	} else {
		if (filter_date && (filter_date.length > 0))
			feedbot_modified(n,m);
	}
	if (feedbots && feedbots[n]) {
		if (feedbots[n].imports && feedbots[n].imports[m]) {
			if (!feedbots[n].imports[m].import_filter)
				feedbots[n].imports[m].import_filter = new _filter(null,null,null,null,null,null,filter_date);
			else
				feedbots[n].imports[m].import_filter.filter_date = filter_date;
		}
	}
}
function add_feedbot_import (n) {
	if (feedbots && (feedbots[n])) {
		var import_name = null, import_title = null, import_type = "rss", import_url = null, import_class = null, import_options = null, import_posts="40", import_author = null, import_source = null, import_srcadd = null, import_language = null, import_categories = null, import_username = null, import_password = null, import_filter = null;
		var add_import = new _import (import_name, import_title, import_type, import_url, import_class, import_options, import_posts, import_author, import_source, import_srcadd, import_language, import_categories, import_username, import_password, import_filter);
		if (!feedbots[n].imports)
			feedbots[n].imports = new Array ();
		feedbots[n].imports [feedbots[n].imports.length] = add_import;
		if (!feedbots_imports_status[n]) 
			feedbots_imports_status[n] = new Array ();
		var _import_status = feedbots_imports_status [n];
		_import_status[_import_status.length] = new _status (true, true);
	}
}
function del_feedbot_import (n,m) {
	if (feedbots && (feedbots[n])) {
		if (feedbots[n].imports)
			feedbots[n].imports[m] = null;
	}
	var _import_status = feedbots_imports_status[n];
	if (_import_status) {
		_import_status[m].expanded = false;
		_import_status[m].modified = false;
	}
}
var _new_feedbot;
function _clear_new_feedbot () {
	_new_feedbot = null;
}
function _clear_new_feedbot_props () {
	if (_new_feedbot) {
		_new_feedbot.name = null;
		_new_feedbot.opml = true;
		_new_feedbot.share = false;
		_new_feedbot.interval = '1h';
		_new_feedbot.no_posts = '15';
		_new_feedbot.size_post = '2';
		_new_feedbot.order_by = '0';
		_new_feedbot.order_type = '0';
		_new_feedbot.time_zone = 'GMT';
		_new_feedbot.date_format = '0';
		_new_feedbot.template = '0';
		_new_feedbot.html = false;
		_new_feedbot.misc = '';
		_new_feedbot.auto_clear = '';
		if (_new_feedbot.feed) {
			_new_feedbot.feed.title = null;
			_new_feedbot.feed.descr = null;
			_new_feedbot.feed.category = null;
			_new_feedbot.feed.editor = null;
			_new_feedbot.feed.elink = null;
			_new_feedbot.feed.copyright = null;
			_new_feedbot.feed.auth = false;
		}
		if (_new_feedbot.filter) {
			_new_feedbot.filter.filter_all = null;
			_new_feedbot.filter.filter_phrase = null;
			_new_feedbot.filter.filter_atleast = null;
			_new_feedbot.filter.filter_without = null;
			_new_feedbot.filter.filter_occurrences = null;
			_new_feedbot.filter.filter_minwords = null;
			_new_feedbot.filter.filter_date = null;
		}
	}
}
function new_feedbot_length() {
	var ret = 0;
	if (_new_feedbot && _new_feedbot.imports) {
		for (var n = 0; n < _new_feedbot.imports.length; ++n) {
			if (_new_feedbot.imports[n])
				++ret;
		}
	}
	return ret;
}
function new_feedbot () {
	if (_new_feedbot)
		return;
	var feedbot_name = null, feedbot_descr = null, feedbot_category = null, feedbot_interval = '1h', feedbot_auth=false, feedbot_opml=true,  feedbot_share=false, feedbot_no_posts='15', feedbot_size_post='2', feedbot_time_zone='0', feedbot_date_format='0', feedbot_template='0', feedbot_html=false, feedbot_misc='', feedbot_filter = null, feedbot_imports = null, feedbot_auto_clear = '';
	var feedbot_feed = new _feed (null,null,null,null,null,null,false);
	_new_feedbot = new _feedbot (feedbot_name, feedbot_interval, feedbot_opml, feedbot_share, feedbot_no_posts, feedbot_size_post, feedbot_order_by, feedbot_order_type, feedbot_time_zone, feedbot_date_format, feedbot_template, feedbot_html, feedbot_misc, feedbot_feed, feedbot_filter, feedbot_imports, feedbot_auto_clear);
}
function new_feedbot_name (name) {
	new_feedbot ();
	_new_feedbot.name = name;
}
function new_feedbot_interval (interval) {
	new_feedbot ();
	_new_feedbot.interval = interval;
}
function new_feedbot_opml (opml) {
	new_feedbot ();
	_new_feedbot.opml = opml;
}
function new_feedbot_share (share) {
	new_feedbot ();
	_new_feedbot.share = share;
}
function new_feedbot_no_posts (no_posts) {
	new_feedbot ();
	_new_feedbot.no_posts = no_posts;
}
function new_feedbot_size_post (size_post) {
	new_feedbot ();
	_new_feedbot.size_post = size_post;
}
function new_feedbot_order_by (order_by) {
	new_feedbot ();
	_new_feedbot.order_by = order_by;
}
function new_feedbot_order_type (order_type) {
	new_feedbot ();
	_new_feedbot.order_type = order_type;
}
function new_feedbot_time_zone (time_zone) {
	new_feedbot ();
	_new_feedbot.time_zone = time_zone;
}
function new_feedbot_date_format (date_format) {
	new_feedbot ();
	_new_feedbot.date_format = date_format;
}
function new_feedbot_auto_clear (auto_clear) {
	new_feedbot ();
	_new_feedbot.auto_clear = auto_clear;
}
function new_feedbot_template (template) {
	new_feedbot ();
	_new_feedbot.template = template;
}
function new_feedbot_html (html) {
	new_feedbot ();
	_new_feedbot.html = html;
}
function new_feedbot_misc (misc) {
	new_feedbot ();
	_new_feedbot.misc = misc;
}
function new_feedbot_users (users) {
	new_feedbot ();
	_new_feedbot.users = users;
}
function new_feedbot_title (title) {
	new_feedbot ();
	_new_feedbot.feed.title = title;
}
function new_feedbot_descr (descr) {
	new_feedbot ();
	_new_feedbot.feed.descr = descr;
}
function new_feedbot_category (category) {
	new_feedbot ();
	_new_feedbot.feed.category = category;
}
function new_feedbot_editor (editor) {
	new_feedbot ();
	_new_feedbot.feed.editor = editor;
}
function new_feedbot_elink (elink) {
	new_feedbot ();
	_new_feedbot.feed.elink = elink;
}
function new_feedbot_copyright (copyright) {
	new_feedbot ();
	_new_feedbot.feed.copyright = copyright;
}
function new_feedbot_auth (auth) {
	new_feedbot ();
	_new_feedbot.feed.auth = auth;
}
function new_feedbot_all (new_filter_all) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(new_filter_all,null,null,null,null,null,null);
	else
		_new_feedbot.filter.filter_all = new_filter_all;
}
function new_feedbot_phrase (new_filter_phrase) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(null,new_filter_phrase,null,null,null,null,null);
	else
		_new_feedbot.filter.filter_phrase = new_filter_phrase;
}
function new_feedbot_atleast (new_filter_atleast) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(null,null,new_filter_atleast,null,null,null,null);
	else
		_new_feedbot.filter.filter_atleast = new_filter_atleast;
}
function new_feedbot_without (new_filter_without) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(null,null,null,new_filter_without,null,null,null);
	else
		_new_feedbot.filter.filter_without = new_filter_without;
}
function new_feedbot_occurrences (new_filter_occurrences) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(null,null,null,null,new_filter_occurrences,null,null);
	else
		_new_feedbot.filter.filter_occurrences = new_filter_occurrences;
}
function new_feedbot_minwords (new_filter_minwords) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(null,null,null,null,null,new_filter_minwords,null);
	else
		_new_feedbot.filter.filter_minwords = new_filter_minwords;
}
function new_feedbot_date (new_filter_date) {
	new_feedbot ();
	if (!_new_feedbot.filter)
		_new_feedbot.filter = new _filter(null,null,null,null,null,null,new_filter_date);
	else
		_new_feedbot.filter.filter_date = new_filter_date;
}
function new_feedbot_import () {
	new_feedbot ();
	var import_name = null, import_title = null, import_type = "rss", import_url = null, import_class = null, import_options = null, import_posts = "40", import_author = null, import_source = null, import_srcadd = null, import_language = null, import_categories = null, import_username = null, import_password = null, import_filter = null;
	var new_import = new _import (import_name, import_title, import_type, import_url, import_class, import_options, import_posts, import_author, import_source, import_srcadd, import_language, import_categories, import_username, import_password, import_filter);
	if (!_new_feedbot.imports)
		_new_feedbot.imports = new Array ();
	_new_feedbot.imports [_new_feedbot.imports.length] = new_import;
}
function _clear_new_feedbot_import (n) {
	if (_new_feedbot && _new_feedbot.imports) {
		if (_new_feedbot.imports[n]) {
			var _import = _new_feedbot.imports[n];
			_import.import_name = null;
			_import.import_title = null;
			_import.import_type = 'rss';
			_import.import_url = null;
			_import.import_class = null;
			_import.import_options = null;
			_import.import_author = null;
			_import.import_source = null;
			_import.import_srcadd = null;
			_import.import_language = null;
			_import.import_categories = null;
			_import.import_username = null;
			_import.import_password = null;
			_import.import_posts = '40';
			if (_import.import_filter) {
				_import.import_filter.filter_all = null;
				_import.import_filter.filter_phrase = null;
				_import.import_filter.filter_atleast = null;
				_import.import_filter.filter_without = null;
				_import.import_filter.filter_occurrences = null;
				_import.import_filter.filter_minwords = null;
				_import.import_filter.filter_date = null;
			}
			_import.import_filter = null;
		}
	}
}
function _delete_new_feedbot_import (n) {
	if (_new_feedbot && _new_feedbot.imports) 
		_new_feedbot.imports[n] = null;
	
	for (var m = parseInt(n) + 1; m < _new_feedbot.imports.length; ++m) {
		if (_new_feedbot.imports[m])
			return m;
	}
	if (n == 0)
		return -1;
	for (var m = parseInt(n) - 1; m >=0; --m) {
		if (_new_feedbot.imports[m])
			return m;
	}
	return -1;
}
function new_import_name (name,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_name = name;
}
function get_new_import_name (n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		return _new_feedbot.imports[n].import_name;
}
function new_import_title (title,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_title = title;
}
function new_import_url (url,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_url = url;
}
function get_new_import_url (n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		return _new_feedbot.imports[n].import_url;
}
function new_import_class (_class,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_class = _class;
}
function new_import_options (_options,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_options = _options;
}
function new_import_posts (_posts,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_posts = _posts;
}
function new_import_author (_author,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_author = _author;
}
function new_import_source (_source,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_source = _source;
}
function new_import_srcadd (_srcadd,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_srcadd = _srcadd;
}
function new_import_language (_language,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_language = _language;
}
function new_import_categories (_categories,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_categories = _categories;
}
function new_import_username (_username,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_username = _username;
}
function new_import_password (_password,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_password = _password;
}
function new_import_type (type,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		_new_feedbot.imports[n].import_type = type;
}
function get_new_import_type (n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		return _new_feedbot.imports[n].import_type;
}
function get_new_import_filter(n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) 
		return _new_feedbot.imports[n].import_filter;
}
function new_import_all (filter_all,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(filter_all,null,null,null,null,null,null);
		else
			_new_feedbot.imports[n].import_filter.filter_all = filter_all;
	}
}
function new_import_phrase (filter_phrase,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(null,filter_phrase,null,null,null,null,null);
		else
			_new_feedbot.imports[n].import_filter.filter_phrase = filter_phrase;
	}
}
function new_import_atleast (filter_atleast,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(null,null,filter_atleast,null,null,null,null);
		else
			_new_feedbot.imports[n].import_filter.filter_atleast = filter_atleast;
	}
}
function new_import_without (filter_without,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(null,null,null,filter_without,null,null,null);
		else
			_new_feedbot.imports[n].import_filter.filter_without = filter_without;
	}
}
function new_import_occurrences (filter_occurrences,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(null,null,null,null,filter_occurrences,null,null);
		else
			_new_feedbot.imports[n].import_filter.filter_occurrences = filter_occurrences;
	}
}
function new_import_minwords (filter_minwords,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(null,null,null,null,null,filter_minwords,null);
		else
			_new_feedbot.imports[n].import_filter.filter_minwords = filter_minwords;
	}
}
function new_import_date (filter_date,n) {
	if (_new_feedbot.imports && _new_feedbot.imports[n]) {
		if (!_new_feedbot.imports[n].import_filter) 
			_new_feedbot.imports[n].import_filter = new _filter(null,null,null,null,null,null,filter_date);
		else
			_new_feedbot.imports[n].import_filter.filter_date = filter_date;
	}
}
function createFeedbotDom (xmlDoc,index) {
	var _feedbot = index ? feedbots[index] : _new_feedbot;
	var objPI = xmlDoc.createProcessingInstruction('xml', 'version="1.0" encoding="utf-8"');
	xmlDoc.appendChild(objPI);
	var documentElement = xmlDoc.createElement('aggregators');
	xmlDoc.appendChild(documentElement);
	createAggrDom(xmlDoc,documentElement,_feedbot);
}
function serializeDom(xmlDoc) {
	var strXML;
	if (ieBrowser) {
	    strXML = xmlDoc.xml;
	} else {
	    var objXMLSerializer = new XMLSerializer;
	    strXML = objXMLSerializer.serializeToString(xmlDoc);
	}
	
	var searchStr = "\r|\n|\r\n";
	var re = new RegExp(searchStr, "g");
	strXML = strXML.replace(re, "");
	return strXML;
}
function createFeedbotsDom (xmlDoc) {
	var objPI = xmlDoc.createProcessingInstruction('xml', 'version="1.0" encoding="utf-8"');
	xmlDoc.appendChild(objPI);
	var documentElement = xmlDoc.createElement('aggregators');
	xmlDoc.appendChild(documentElement);
	for (var n = 0; n < feedbots.length; ++n) {
		var _feedbot = feedbots[n];
		var _feedbot_status = feedbots_status[n];
		if (_feedbot && _feedbot_status.modified) 
			createAggrDom (xmlDoc,documentElement,_feedbot);
	}	
}
function createAggrDom (xmlDoc,documentElement,_feedbot) {
	var aggregatorElement = xmlDoc.createElement('aggregator');
	documentElement.appendChild(aggregatorElement);
	aggregatorElement.setAttribute('name', _feedbot.name);
	if (_feedbot.interval)
	 	aggregatorElement.setAttribute('interval', _feedbot.interval);
	else
	 	aggregatorElement.setAttribute('interval', '1h');
	if (_feedbot.opml)
	 	aggregatorElement.setAttribute('opml', 'true');
	else
	 	aggregatorElement.setAttribute('opml', 'false');
	if (_feedbot.share)
	 	aggregatorElement.setAttribute('share', 'true');
	else
	 	aggregatorElement.setAttribute('share', 'false');
	if (_feedbot.no_posts)
	 	aggregatorElement.setAttribute('noposts', _feedbot.no_posts);
	if (_feedbot.size_post)
	 	aggregatorElement.setAttribute('sizepost', _feedbot.size_post);
	if (_feedbot.order_by)
	 	aggregatorElement.setAttribute('orderby', _feedbot.order_by);
	if (_feedbot.order_type)
	 	aggregatorElement.setAttribute('ordertype', _feedbot.order_type);
	if (_feedbot.time_zone)
	 	aggregatorElement.setAttribute('timezone', _feedbot.time_zone);
	if (_feedbot.date_format)
	 	aggregatorElement.setAttribute('dateformat', _feedbot.date_format);
	if (_feedbot.auto_clear)
	 	aggregatorElement.setAttribute('autoclear', _feedbot.auto_clear);
	else
	 	aggregatorElement.setAttribute('autoclear', '');
	if (_feedbot.template)
	 	aggregatorElement.setAttribute('template', _feedbot.template);
	if (_feedbot.html)
	 	aggregatorElement.setAttribute('html',_feedbot.html);
	if (_feedbot.misc)
	 	aggregatorElement.setAttribute('misc', _feedbot.misc);
	if (_feedbot.last)
	 	aggregatorElement.setAttribute('last', _feedbot.last);
	if (_feedbot.feed) {
		if (_feedbot.feed.title)
		 	aggregatorElement.setAttribute('title', _feedbot.feed.title);
		if (_feedbot.feed.descr)
		 	aggregatorElement.setAttribute('descr', _feedbot.feed.descr);
		if (_feedbot.feed.category)
	 		aggregatorElement.setAttribute('category', _feedbot.feed.category);
		if (_feedbot.feed.editor)
	 		aggregatorElement.setAttribute('editor', _feedbot.feed.editor);
		if (_feedbot.feed.elink)
	 		aggregatorElement.setAttribute('link', _feedbot.feed.elink);
		if (_feedbot.feed.copyright)
	 		aggregatorElement.setAttribute('copyright', _feedbot.feed.copyright);
		if (_feedbot.feed.auth)
	 		aggregatorElement.setAttribute('auth', 'true');
		else
	 		aggregatorElement.setAttribute('auth', 'false');
	}
	if (_feedbot.filter) {
		var aggregatorFilterElement = xmlDoc.createElement('filter');
		aggregatorElement.appendChild(aggregatorFilterElement);
		if (_feedbot.filter.filter_all && (_feedbot.filter.filter_all.length > 0))
			aggregatorFilterElement.setAttribute('all', _feedbot.filter.filter_all);
		if (_feedbot.filter.filter_phrase && (_feedbot.filter.filter_phrase.length > 0))
			aggregatorFilterElement.setAttribute('phrase', _feedbot.filter.filter_phrase);
		if (_feedbot.filter.filter_atleast && (_feedbot.filter.filter_atleast.length > 0))
			aggregatorFilterElement.setAttribute('atleast', _feedbot.filter.filter_atleast);
		if (_feedbot.filter.filter_without && (_feedbot.filter.filter_without.length > 0))
			aggregatorFilterElement.setAttribute('without', _feedbot.filter.filter_without);
		if (_feedbot.filter.filter_occurrences && (_feedbot.filter.filter_occurrences.length > 0))
			aggregatorFilterElement.setAttribute('occurrences', _feedbot.filter.filter_occurrences);
		if (_feedbot.filter.filter_minwords && (_feedbot.filter.filter_minwords.length > 0))
			aggregatorFilterElement.setAttribute('minwords', _feedbot.filter.filter_minwords);
		if (_feedbot.filter.filter_date && (_feedbot.filter.filter_date.length > 0))
			aggregatorFilterElement.setAttribute('date', _feedbot.filter.filter_date);
	}
	if (_feedbot.users) {
		for (var n = 0; n < _feedbot.users.length; ++n) {
			var userElement = xmlDoc.createElement('user');
			aggregatorElement.appendChild(userElement);
			if (_feedbot.users[n] && (_feedbot.users[n].length > 0))
				userElement.setAttribute('name', _feedbot.users[n]);
		}
	}
	if (_feedbot.roles) {
		for (var n = 0; n < _feedbot.roles.length; ++n) {
			var roleElement = xmlDoc.createElement('role');
			aggregatorElement.appendChild(roleElement);
			if (_feedbot.roles[n] && (_feedbot.roles[n].length > 0))
				roleElement.setAttribute('name', _feedbot.roles[n]);
		}
	}
	if (_feedbot.imports && _feedbot.imports.length > 0) {
		for (var n = 0; n < _feedbot.imports.length; ++n) {
			var _import = _feedbot.imports[n];
			if (!_import)
				continue;
			var importElement = xmlDoc.createElement('import');
			aggregatorElement.appendChild(importElement);
			if (_import.import_name)
				importElement.setAttribute('name', _import.import_name);
			if (_import.import_title)
				importElement.setAttribute('title', _import.import_title);
			importElement.setAttribute('type', _import.import_type.toUpperCase());
			if (_import.import_url)
				importElement.setAttribute('url', _import.import_url);
			if (_import.import_class && ((_import.import_type.toUpperCase() == 'CUSTOM') || (_import.import_type.toUpperCase() == 'HTML')))
				importElement.setAttribute('class', _import.import_class);
			else if (_import.import_type.search("mysynd;") != -1) {
				var mysyndType = _import.import_type.split(";");
				importElement.setAttribute('class', mysyndType[1]);
			} else if (_import.import_class)
						importElement.setAttribute('class', _import.import_class);
			if (_import.import_options)
				importElement.setAttribute('options', _import.import_options);
			if (_import.import_posts)
				importElement.setAttribute('posts', _import.import_posts);
			if (_import.import_author)
				importElement.setAttribute('author', _import.import_author);
			if (_import.import_source)
				importElement.setAttribute('source', _import.import_source);
			if (_import.import_srcadd)
				importElement.setAttribute('srcadd', _import.import_srcadd);
			if (_import.import_language)
				importElement.setAttribute('language', _import.import_language);
			if (_import.import_categories)
				importElement.setAttribute('categories', _import.import_categories);
			if (_import.import_username)
				importElement.setAttribute('user', _import.import_username);
			if (_import.import_password)
				importElement.setAttribute('password', _import.import_password);
			importElement.setAttribute('port', '');
			importElement.setAttribute('https', 'false');
			importElement.setAttribute('auth', 'false');
			if (_import.import_filter) {
				var filterElement = xmlDoc.createElement('filter');
				importElement.appendChild(filterElement);
				if (_import.import_filter.filter_all && (_import.import_filter.filter_all.length > 0))
					filterElement.setAttribute('all', _import.import_filter.filter_all);
				if (_import.import_filter.filter_phrase && (_import.import_filter.filter_phrase.length > 0))
					filterElement.setAttribute('phrase', _import.import_filter.filter_phrase);
				if (_import.import_filter.filter_atleast && (_import.import_filter.filter_atleast.length > 0))
					filterElement.setAttribute('atleast', _import.import_filter.filter_atleast);
				if (_import.import_filter.filter_without && (_import.import_filter.filter_without.length > 0))
					filterElement.setAttribute('without', _import.import_filter.filter_without);
				if (_import.import_filter.filter_occurrences && (_import.import_filter.filter_occurrences.length > 0))
					filterElement.setAttribute('occurrences', _import.import_filter.filter_occurrences);
				if (_import.import_filter.filter_minwords && (_import.import_filter.filter_minwords.length > 0))
					filterElement.setAttribute('minwords', _import.import_filter.filter_minwords);
				if (_import.import_filter.filter_date && (_import.import_filter.filter_date.length > 0))
					filterElement.setAttribute('date', _import.import_filter.filter_date);
			}
		}
	}
}
function get_feedbot_all (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_all)
		return bot.filter.filter_all;
	else
		return "";
}
function get_feedbot_phrase (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_phrase)
		return bot.filter.filter_phrase;
	else
		return "";
}
function get_feedbot_atleast (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_atleast)
		return bot.filter.filter_atleast;
	else
		return "";
}
function get_feedbot_without (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_without)
		return bot.filter.filter_without;
	else
		return "";
}
function get_feedbot_occurrences (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_occurrences)
		return bot.filter.filter_occurrences;
	else
		return "";
}
function get_feedbot_minwords (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_minwords)
		return bot.filter.filter_minwords;
	else
		return "";
}
function get_feedbot_date (bot) {
	if (!bot.filter)
		return "";
	else if (bot.filter.filter_date)
		return bot.filter.filter_date;
	else
		return "";
}
function paint_filter(filter) {
	var output = "<ul>";
	var filtered = false;
	if(filter) {
		if ((filter.filter_all) && (filter.filter_all.length > 0) ) {
			output += "<li>including posts having all the words: "+filter.filter_all+"</li>";
			filtered = true;
		}
		if ((filter.filter_phrase) && (filter.filter_phrase.length > 0) ) {
			output += "<li>including posts having the exact phrase: "+filter.filter_phrase+"</li>";
			filtered = true;
		}
		if ((filter.filter_atleast) && (filter.filter_atleast.length > 0) ) {
			output += "<li>including posts having at least one of: "+filter.filter_atleast+"</li>";
			filtered = true;
		}
		if ((filter.filter_without) && (filter.filter_without.length > 0) ) {
			output += "<li>excluding posts having the words: "+filter.filter_without+"</li>";
			filtered = true;
		}
		if ((filtered) && (filter.filter_occurrences) ) {
			output += "<li>applying filter to: "+filter.filter_occurrences+"</li>";
		}
		if ((filter.filter_date) && (filter.filter_date.length > 0) ) {
			output += "<li>including posts issued in the chosen date range: "+paint_filter_date(filter.filter_date)+"</li>";
		}
		if ((filter.filter_minwords) && (filter.filter_minwords.length > 0) ) {
			output += "<li>excluding posts having less than "+filter.filter_minwords+" words in title</li>";
		}
	}
	output += "</ul>";
	return output;
}
function paint_filter_date(date) {
	
	if (date == '-d1')
		return 'since yesterday';
	else if (date == '-d2')
		return 'past 2 days';
	else if (date == '-d3')
		return 'past 3 days';
	else if (date == '-d7')
		return 'past week';
	else if (date == '-d14')
		return 'past 2 weeks';
	else if (date == '-M1')
		return 'past month';
	else if (date == '-M2')
		return 'past 2 months';
	else if (date == '-M4')
		return 'past 4 months';
	else if (date == '-M6')
		return 'past 6 months';
	else if (date == '-y1')
		return 'past year';
	else 
		return 'anytime';
	
}

function delete_feedbot_import (bot,n) {
	if (bot && bot.imports) 
		bot.imports[n] = null;		
	for (var m = parseInt(n) + 1; m < bot.imports.length; ++m) {
		if (bot.imports[m])
			return m;
	}
	if (n == 0)
		return -1;
	for (var m = parseInt(n) - 1; m >=0; --m) {
		if (bot.imports[m])
			return m;
	}
	return -1;
}
var _copy_feedbot;
function copy_feedbot (suffix) {
	var bot;
	if (suffix == "new") {
		if (_new_feedbot) 
			bot = _new_feedbot;
	} else {
		if (feedbots && (feedbots[suffix])) 
			bot = feedbots[suffix];
	}
	_copy_feedbot = null;
	if (!bot) 
		return;
	_copy_feedbot = new _feedbot (bot.name, bot.interval, bot.opml, bot.share, bot.no_posts, bot.size_post, bot.order_by, bot.order_type, bot.time_zone, bot.date_format, bot.template, bot.html, bot.misc, null, null, null, bot.auto_clear);
	_copy_feedbot.rss = bot.rss;
	_copy_feedbot.htmlurl = bot.htmlurl;
	if (bot.feed)
		_copy_feedbot.feed = new _feed(bot.feed.title,bot.feed.descr,bot.feed.category,bot.feed.editor,bot.feed.elink,bot.feed.copyright,bot.feed.auth);
	if (bot.filter) 
		_copy_feedbot.filter = new _filter(bot.filter.filter_all,bot.filter.filter_phrase,bot.filter.filter_atleast,bot.filter.filter_without,bot.filter.filter_occurrences,bot.filter.filter_minwords,bot.filter.filter_date);
	if (bot.imports) {
		_copy_feedbot.imports = new Array ();
		for (var n=0; n < bot.imports.length; ++n) {
			var old_import = bot.imports [n];
			if (old_import) {
				var new_filter = null;
				if (old_import.import_filter) 
					new_filter = new _filter(old_import.import_filter.filter_all,old_import.import_filter.filter_phrase,old_import.import_filter.filter_atleast,old_import.import_filter.filter_without,old_import.import_filter.filter_occurrences,old_import.import_filter.filter_minwords,old_import.import_filter.filter_date);
				var new_import = new _import(old_import.import_name, old_import.import_title, old_import.import_type, old_import.import_url, old_import.import_class, old_import.import_options, old_import.import_posts, old_import.import_author, old_import.import_source, old_import.import_srcadd, old_import.import_language, old_import.import_categories, old_import.import_username, old_import.import_password, new_filter);
				_copy_feedbot.imports[_copy_feedbot.imports.length] = new_import;
			}
		}
	}
	if (bot.users) {
		_copy_feedbot.users = new Array ();
		for (var n=0; n < bot.users.length; ++n) 
			_copy_feedbot.users[_copy_feedbot.users.length] = bot.users[n];
	}
	if (bot.roles) {
		_copy_feedbot.roles = new Array ();
		for (var n=0; n < bot.roles.length; ++n) 
			_copy_feedbot.roles[_copy_feedbot.roles.length] = bot.roles[n];
	}	
}
