var debug = 0;
/*Prototype.js*/
var Prototype = {Version:'1.5.0',BrowserFeatures:{XPath:!!document.evaluate},ScriptFragment:'(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)',emptyFunction:function() {
},K:function(x) {
	return x
}}
var Class = {create:function() {
	return function() {
		this.initialize.apply(this, arguments);
	}
}}
var Abstract = new Object();
Object.extend = function(destination, source) {
	for (property in source) {
		destination[property] = source[property];
	}
	return destination;
}
Object.inspect = function(object) {
	try {
		if (object == undefined)return'undefined';
		if (object == null)return'null';
		return object.inspect ? object.inspect() : object.toString();
	} catch(e) {
		if (e instanceof RangeError)return'...';
		throw e;
	}
}
Function.prototype.bind = function() {
	var __method = this,args = $A(arguments),object = args.shift();
	return function() {
		return __method.apply(object, args.concat($A(arguments)));
	}
}
Function.prototype.bindAsEventListener = function(object) {
	var __method = this;
	return function(event) {
		return __method.call(object, event || window.event);
	}
}
Object.extend(Number.prototype, {toColorPart:function() {
	var digits = this.toString(16);
	if (this < 16)return'0' + digits;
	return digits;
},succ:function() {
	return this + 1;
},times:function(iterator) {
	$R(0, this, true).each(iterator);
	return this;
}});
var Try = {these:function() {
	var returnValue;
	for (var i = 0; i < arguments.length; i++) {
		var lambda = arguments[i];
		try {
			returnValue = lambda();
			break;
		} catch(e) {
		}
	}
	return returnValue;
}}
var PeriodicalExecuter = Class.create();
PeriodicalExecuter.prototype = {initialize:function(callback, frequency) {
	this.callback = callback;
	this.frequency = frequency;
	this.currentlyExecuting = false;
	this.registerCallback();
},registerCallback:function() {
	setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
},onTimerEvent:function() {
	if (!this.currentlyExecuting) {
		try {
			this.currentlyExecuting = true;
			this.callback();
		} finally {
			this.currentlyExecuting = false;
		}
	}
}}
function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}
Object.extend(String.prototype, {stripTags:function() {
	return this.replace(/<\/?[^>]+>/gi, '');
},stripScripts:function() {
	return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
},extractScripts:function() {
	var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
	var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
	return(this.match(matchAll) || []).map(function(scriptTag) {
		return(scriptTag.match(matchOne) || ['',''])[1];
	});
},evalScripts:function() {
	return this.extractScripts().map(eval);
},escapeHTML:function() {
	var div = document.createElement('div');
	var text = document.createTextNode(this);
	div.appendChild(text);
	return div.innerHTML;
},unescapeHTML:function() {
	var div = document.createElement('div');
	div.innerHTML = this.stripTags();
	return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
},toQueryParams:function() {
	var pairs = this.match(/^\??(.*)$/)[1].split('&');
	return pairs.inject({}, function(params, pairString) {
		var pair = pairString.split('=');
		params[pair[0]] = pair[1];
		return params;
	});
},toArray:function() {
	return this.split('');
},camelize:function() {
	var oStringList = this.split('-');
	if (oStringList.length == 1)return oStringList[0];
	var camelizedString = this.indexOf('-') == 0 ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1) : oStringList[0];
	for (var i = 1,len = oStringList.length; i < len; i++) {
		var s = oStringList[i];
		camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
	}
	return camelizedString;
},inspect:function() {
	return"'" + this.replace('\\', '\\\\').replace("'", '\\\'') + "'";
}});
String.prototype.parseQuery = String.prototype.toQueryParams;
var $break = new Object();
var $continue = new Object();
var Enumerable = {each:function(iterator) {
	var index = 0;
	try {
		this._each(function(value) {
			try {
				iterator(value, index++);
			} catch(e) {
				if (e != $continue)throw e;
			}
		});
	} catch(e) {
		if (e != $break)throw e;
	}
},all:function(iterator) {
	var result = true;
	this.each(function(value, index) {
		result = result && !!(iterator || Prototype.K)(value, index);
		if (!result)throw $break;
	});
	return result;
},any:function(iterator) {
	var result = true;
	this.each(function(value, index) {
		if (result = !!(iterator || Prototype.K)(value, index))
			throw $break;
	});
	return result;
},collect:function(iterator) {
	var results = [];
	this.each(function(value, index) {
		results.push(iterator(value, index));
	});
	return results;
},detect:function(iterator) {
	var result;
	this.each(function(value, index) {
		if (iterator(value, index)) {
			result = value;
			throw $break;
		}
	});
	return result;
},findAll:function(iterator) {
	var results = [];
	this.each(function(value, index) {
		if (iterator(value, index))
			results.push(value);
	});
	return results;
},grep:function(pattern, iterator) {
	var results = [];
	this.each(function(value, index) {
		var stringValue = value.toString();
		if (stringValue.match(pattern))
			results.push((iterator || Prototype.K)(value, index));
	})
	return results;
},include:function(object) {
	var found = false;
	this.each(function(value) {
		if (value == object) {
			found = true;
			throw $break;
		}
	});
	return found;
},inject:function(memo, iterator) {
	this.each(function(value, index) {
		memo = iterator(memo, value, index);
	});
	return memo;
},invoke:function(method) {
	var args = $A(arguments).slice(1);
	return this.collect(function(value) {
		return value[method].apply(value, args);
	});
},max:function(iterator) {
	var result;
	this.each(function(value, index) {
		value = (iterator || Prototype.K)(value, index);
		if (value >= (result || value))
			result = value;
	});
	return result;
},min:function(iterator) {
	var result;
	this.each(function(value, index) {
		value = (iterator || Prototype.K)(value, index);
		if (value <= (result || value))
			result = value;
	});
	return result;
},partition:function(iterator) {
	var trues = [],falses = [];
	this.each(function(value, index) {
		((iterator || Prototype.K)(value, index) ? trues : falses).push(value);
	});
	return[trues,falses];
},pluck:function(property) {
	var results = [];
	this.each(function(value, index) {
		results.push(value[property]);
	});
	return results;
},reject:function(iterator) {
	var results = [];
	this.each(function(value, index) {
		if (!iterator(value, index))
			results.push(value);
	});
	return results;
},sortBy:function(iterator) {
	return this.collect(
			function(value, index) {
				return{value:value,criteria:iterator(value, index)};
			}).sort(
			function(left, right) {
				var a = left.criteria,b = right.criteria;
				return a < b ? -1 : a > b ? 1 : 0;
			}).pluck('value');
},toArray:function() {
	return this.collect(Prototype.K);
},zip:function() {
	var iterator = Prototype.K,args = $A(arguments);
	if (typeof args.last() == 'function')
		iterator = args.pop();
	var collections = [this].concat(args).map($A);
	return this.map(function(value, index) {
		iterator(value = collections.pluck(index));
		return value;
	});
},inspect:function() {
	return'#<Enumerable:' + this.toArray().inspect() + '>';
}}
Object.extend(Enumerable, {map:Enumerable.collect,find:Enumerable.detect,select:Enumerable.findAll,member:Enumerable.include,entries:Enumerable.toArray});
var $A = Array.from = function(iterable) {
	if (!iterable)return[];
	if (iterable.toArray) {
		return iterable.toArray();
	} else {
		var results = [];
		for (var i = 0; i < iterable.length; i++)
			results.push(iterable[i]);
		return results;
	}
}
Object.extend(Array.prototype, Enumerable);
Array.prototype._reverse = Array.prototype.reverse;
Object.extend(Array.prototype, {_each:function(iterator) {
	for (var i = 0; i < this.length; i++)
		iterator(this[i]);
},clear:function() {
	this.length = 0;
	return this;
},first:function() {
	return this[0];
},last:function() {
	return this[this.length - 1];
},compact:function() {
	return this.select(function(value) {
		return value != undefined || value != null;
	});
},flatten:function() {
	return this.inject([], function(array, value) {
		return array.concat(value.constructor == Array ? value.flatten() : [value]);
	});
},without:function() {
	var values = $A(arguments);
	return this.select(function(value) {
		return!values.include(value);
	});
},indexOf:function(object) {
	for (var i = 0; i < this.length; i++)
		if (this[i] == object)return i;
	return-1;
},reverse:function(inline) {
	return(inline !== false ? this : this.toArray())._reverse();
},shift:function() {
	var result = this[0];
	for (var i = 0; i < this.length - 1; i++)
		this[i] = this[i + 1];
	this.length--;
	return result;
},inspect:function() {
	return'[' + this.map(Object.inspect).join(', ') + ']';
}});
var Field = {clear:function() {
	for (var i = 0; i < arguments.length; i++)
		$(arguments[i]).value = '';
},focus:function(element) {
	$(element).focus();
},present:function() {
	for (var i = 0; i < arguments.length; i++)
		if ($(arguments[i]).value == '')return false;
	return true;
},select:function(element) {
	$(element).select();
},activate:function(element) {
	element = $(element);
	element.focus();
	if (element.select)
		element.select();
}}
var Form = {serialize:function(form) {
	var elements = Form.getElements($(form));
	var queryComponents = new Array();
	for (var i = 0; i < elements.length; i++) {
		var queryComponent = Form.Element.serialize(elements[i]);
		if (queryComponent)
			queryComponents.push(queryComponent);
	}
	return queryComponents.join('&');
},getElements:function(form) {
	form = $(form);
	var elements = new Array();
	for (tagName in Form.Element.Serializers) {
		var tagElements = form.getElementsByTagName(tagName);
		for (var j = 0; j < tagElements.length; j++)
			elements.push(tagElements[j]);
	}
	return elements;
},getInputs:function(form, typeName, name) {
	form = $(form);
	var inputs = form.getElementsByTagName('input');
	if (!typeName && !name)
		return inputs;
	var matchingInputs = new Array();
	for (var i = 0; i < inputs.length; i++) {
		var input = inputs[i];
		if ((typeName && input.type != typeName) || (name && input.name != name))
			continue;
		matchingInputs.push(input);
	}
	return matchingInputs;
},disable:function(form) {
	var elements = Form.getElements(form);
	for (var i = 0; i < elements.length; i++) {
		var element = elements[i];
		element.blur();
		element.disabled = 'true';
	}
},enable:function(form) {
	var elements = Form.getElements(form);
	for (var i = 0; i < elements.length; i++) {
		var element = elements[i];
		element.disabled = '';
	}
},findFirstElement:function(form) {
	return Form.getElements(form).find(function(element) {
		return element.type != 'hidden' && !element.disabled && ['input','select','textarea'].include(element.tagName.toLowerCase());
	});
},focusFirstElement:function(form) {
	Field.activate(Form.findFirstElement(form));
},reset:function(form) {
	$(form).reset();
}}
Form.Element = {serialize:function(element) {
	element = $(element);
	var method = element.tagName.toLowerCase();
	var parameter = Form.Element.Serializers[method](element);
	if (parameter) {
		var key = encodeURIComponent(parameter[0]);
		if (key.length == 0)return;
		if (parameter[1].constructor != Array)
			parameter[1] = [parameter[1]];
		return parameter[1].map(
				function(value) {
					return key + '=' + encodeURIComponent(value);
				}).join('&');
	}
},getValue:function(element) {
	element = $(element);
	var method = element.tagName.toLowerCase();
	var parameter = Form.Element.Serializers[method](element);
	if (parameter)
		return parameter[1];
}}
Form.Element.Serializers = {input:function(element) {
	switch (element.type.toLowerCase()) {case'submit':case'hidden':case'password':case'text':return Form.Element.Serializers.textarea(element);case'checkbox':case'radio':return Form.Element.Serializers.inputSelector(element);
	}
	return false;
},inputSelector:function(element) {
	if (element.checked)
		return[element.name,element.value];
},textarea:function(element) {
	return[element.name,element.value];
},select:function(element) {
	return Form.Element.Serializers[element.type == 'select-one' ? 'selectOne' : 'selectMany'](element);
},selectOne:function(element) {
	var value = '',opt,index = element.selectedIndex;
	if (index >= 0) {
		opt = element.options[index];
		value = opt.value;
		if (!value && !('value'in opt))
			value = opt.text;
	}
	return[element.name,value];
},selectMany:function(element) {
	var value = new Array();
	for (var i = 0; i < element.length; i++) {
		var opt = element.options[i];
		if (opt.selected) {
			var optValue = opt.value;
			if (!optValue && !('value'in opt))
				optValue = opt.text;
			value.push(optValue);
		}
	}
	return[element.name,value];
}}
var $F = Form.Element.getValue;
Abstract.TimedObserver = function() {
}
Abstract.TimedObserver.prototype = {initialize:function(element, frequency, callback) {
	this.frequency = frequency;
	this.element = $(element);
	this.callback = callback;
	this.lastValue = this.getValue();
	this.registerCallback();
},registerCallback:function() {
	setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
},onTimerEvent:function() {
	var value = this.getValue();
	if (this.lastValue != value) {
		this.callback(this.element, value);
		this.lastValue = value;
	}
}}
Form.Element.Observer = Class.create();
Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {getValue:function() {
	return Form.Element.getValue(this.element);
}});
Form.Observer = Class.create();
Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), {getValue:function() {
	return Form.serialize(this.element);
}});
Abstract.EventObserver = function() {
}
Abstract.EventObserver.prototype = {initialize:function(element, callback) {
	this.element = $(element);
	this.callback = callback;
	this.lastValue = this.getValue();
	if (this.element.tagName.toLowerCase() == 'form')
		this.registerFormCallbacks(); else
		this.registerCallback(this.element);
},onElementEvent:function() {
	var value = this.getValue();
	if (this.lastValue != value) {
		this.callback(this.element, value);
		this.lastValue = value;
	}
},registerFormCallbacks:function() {
	var elements = Form.getElements(this.element);
	for (var i = 0; i < elements.length; i++)
		this.registerCallback(elements[i]);
},registerCallback:function(element) {
	if (element.type) {
		switch (element.type.toLowerCase()) {case'checkbox':case'radio':Event.observe(element, 'click', this.onElementEvent.bind(this));break;case'password':case'text':case'textarea':case'select-one':case'select-multiple':Event.observe(element, 'change', this.onElementEvent.bind(this));break;
		}
	}
}}
Form.Element.EventObserver = Class.create();
Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {getValue:function() {
	return Form.Element.getValue(this.element);
}});
Form.EventObserver = Class.create();
Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), {getValue:function() {
	return Form.serialize(this.element);
}});
/*lib.js*/
function dropFile(btn) {
	if (document.getElementById) {
		tr = btn;
		while (tr.tagName != 'TR')tr = tr.parentNode;
		tr.parentNode.removeChild(tr);
		checkForLast();
	}
}
function addFile(btn) {
	if (document.getElementById) {
		tr = btn;
		while (tr.tagName != 'TR')tr = tr.parentNode;
		var newTr = tr.parentNode.insertBefore(tr.cloneNode(true), tr.nextSibling);
		thisChilds = newTr.getElementsByTagName('td');
		for (var i = 0; i < thisChilds.length; i++) {
			if (thisChilds[i].className == 'header')thisChilds[i].innerHTML = '';
		}
		checkForLast();
	}
}
function checkForLast() {
	btns = document.getElementsByName('drop');
	for (i = 0; i < btns.length; i++) {
		btns[i].disabled = (btns.length == 1) ? true : false;
	}
}
function MM_openBrWindow(theURL, winName, features) {
	if (typeof(win_obj) == "undefined") {
		var win_obj = window.open(theURL, winName, features);
		win_obj.focus();
	} else {
		try {
			win_obj.location.href = theURL;
			win_obj.focus();
		} catch(e) {
			delete win_obj;
			var win_obj = window.open(theURL, winName, features);
			win_obj.focus();
		}
	}
}
function panel_handle(panel_number, tab_name, panel_name) {
	var tabElm = $(tab_name + panel_number);
	var panelElm = $(panel_name + panel_number);
	var tabContainerElm = tabElm ? tabElm.parentNode : null;
	if (tabElm && tabContainerElm) {
		var nodes = tabContainerElm.childNodes;
		for (var i = 0; i < nodes.length; i++) {
			if (nodes[i].nodeName == "LI") {
				nodes[i].className = '';
				var tab_id = nodes[i].id;
				var re = eval('/' + tab_name + '/');
				var tab_number = tab_id.replace(re, "");
				var tmppanelElm = $(panel_name + tab_number);
				if (tmppanelElm)tmppanelElm.style.display = "none";
			}
		}
		tabElm.className = 'current';
		if (panelElm)panelElm.style.display = '';
	}
	return false;
}
function set_focus(obj_id) {
	$(obj_id).focus(true);
}
function add_tab(tabs_container, panels_container, tab_name, panel_name, tab_value, tab_id) {
	var tabs_container_obj = $(tabs_container);
	var panels_container_obj = $(panels_container);
	var li_number = 0;
	for (i = 0; i < tabs_container_obj.childNodes.length; i++)
		if (tabs_container_obj.childNodes[i].nodeName == 'LI')li_number += 1;
	if (li_number > 11) {
		alert("You can't open more than 10 tabs");
		return false;
	}
	if (!$(tab_name + tab_id)) {
		var li_obj = document.createElement("LI");
		var span_obj = document.createElement("SPAN");
		var a_obj = document.createElement("A");
		var a_text = document.createTextNode(tab_value);
		li_obj.id = tab_name + tab_id;
		a_obj.href = '#';
		a_obj.onmousedown = function() {
			return false;
		};
		a_obj.onclick = function() {
			panel_handle(tab_id, tab_name, panel_name);
			return false;
		};
		a_obj.appendChild(a_text);
		var a_close_obj = document.createElement("A");
		var a_close_text = document.createTextNode(' X');
		a_close_obj.href = '#';
		a_close_obj.onclick = function() {
			close_tab(tab_id, tab_name, panel_name);
			return false;
		};
		a_close_obj.appendChild(a_close_text);
		span_obj.appendChild(a_obj);
		span_obj.appendChild(a_close_obj);
		li_obj.appendChild(span_obj);
		tabs_container_obj.appendChild(li_obj);
		var panel_obj = document.createElement("DIV");
		panel_obj.id = panel_name + tab_id;
		panel_obj.style.display = 'none';
		panels_container_obj.appendChild(panel_obj);
		panel_handle(tab_id, tab_name, panel_name);
		return true;
	} else if ($(tab_name + tab_id)) {
		panel_handle(tab_id, tab_name, panel_name);
		return true;
	}
}
function close_tab(panel_number, tab_name, panel_name) {
	var tabElm = $(tab_name + panel_number);
	var panelElm = $(panel_name + panel_number);
	var tab_parent = tabElm.parentNode;
	if (tabElm && panelElm && tab_parent) {
		tab_parent.removeChild(tabElm);
		panelElm.parentNode.removeChild(panelElm);
		for (i = 0; i < tab_parent.childNodes.length; i++) {
			if (tab_parent.childNodes[i].nodeName == 'LI') {
				var first_child_id = tab_parent.childNodes[i].id;
				break;
			}
		}
		var re = eval('/' + tab_name + '/');
		var tab_number = first_child_id.replace(re, "");
		panel_handle(tab_number, tab_name, panel_name);
	}
}
var ErrorBoxTimeOut = new Object;
var mb_number = '';
var oFCKeditor = null;
var FCKeditorAPI = null;
var timeout = null;
var FCKeditorLoaded = false;
var EmailMessageLoaded = false;
var get_dbimport_func,get_reportbyfe_func,get_bulkunsubscribe_func,get_rbc_func,get_unsubscribe_func;
function showErrorBox(box, messagebox, message) {
	var box_obj = $(box);
	var messagebox_obj = $(messagebox);
	box_obj.style.display = "";
	if (message.indexOf('%2') !== false)message = decodeURIComponent(message);
	messagebox_obj.innerHTML = message;
	document.getElementsByTagName("body").item(0).scrollIntoView(true);
	if (ErrorBoxTimeOut[box])clearTimeout(ErrorBoxTimeOut[box]);
	ErrorBoxTimeOut[box] = setTimeout(function() {
		box_obj.style.display = "none";
	}, 6000);
}
function form_results_handler(obj) {
	try {
		eval("var inputObject = " + obj.responseText);
		if (inputObject && typeof(inputObject) == 'object') {
			if (inputObject['system_message'] && !inputObject['box'])showErrorBox('messages_box', 'system_message', inputObject['system_message']); else if (inputObject['system_message'] && inputObject['box'])showErrorBox(inputObject['box'], inputObject['message_box'], inputObject['system_message']);
			if (inputObject['call_function'] && inputObject['call_function'] != "") {
				var call_function = eval(inputObject['call_function']);
				setTimeout(function() {
					call_function(inputObject['function_params'])
				}, 100);
			} else if (inputObject['call_functions']) {
				for (i in inputObject['call_functions']) {
					var args = inputObject['call_functions'][i]['function_params'];
					var func = eval(inputObject['call_functions'][i]['call_function']);
					func(args);
				}
			}
			if (inputObject['reset_form'] && inputObject['reset_form'] != "") {
				var form_obj = $(inputObject['reset_form']);
				setTimeout(function() {
					form_obj.reset();
				}, 100);
				clear_hot_text(form_obj);
			}
			if (inputObject['required_fields']) {
				for (tdid in inputObject['required_fields']) {
					var tdid_obj = $(tdid);
					if (inputObject['required_fields'][tdid] === true)tdid_obj.className = 'defaultLabel'; else tdid_obj.className = 'errorLabel';
				}
			}
		}
		LoadDataEnd();
	} catch(e) {
		alert('There was an error processing: ' + obj.responseText);
	}
}
function load_interface(in_code) {
	if (in_code.htmlcode && in_code.htmlcode != '')$('body').innerHTML = in_code.htmlcode;
	if (lightbox_browser == 'Internet Explorer')global_lightbox.hideSelects('hidden');
	callRemoteFunction(current_script, {'func':'init_interface'});
}
function init_interface(jscode) {
	eval(jscode);
}
function quick_reset_form(form_name) {
	if (form_name != "") {
		var form_obj = $(form_name);
		if (form_obj) {
			form_obj.reset();
			clear_hot_text(form_obj);
		}
	}
	return true;
}
function redirect(destination) {
	if (destination != "")window.location.href = destination;
}
function LoadDataStart() {
	try {
		var obj = $('data_preloader');
		if (obj)setDivVisibility(obj, 1);
	} catch(e) {
		return false;
	}
}
function LoadDataEnd() {
	try {
		var obj = $('data_preloader');
		if (obj)setDivVisibility(obj, 0);
	} catch(e) {
		return false;
	}
}
function LightBoxActivate() {
	global_lightbox.activate();
}
function LightBoxDeactivate(hidetime) {
	if (parseInt(hidetime, 10) > 0)setTimeout(function() {
		global_lightbox.deactivate();
	}, parseInt(hidetime, 10)); else global_lightbox.deactivate();
}
function fill_form(form_data) {
	var form_obj = $(form_data['form']);
	if (form_obj) {
		k = '';
		for (i = 0; i < form_obj.elements.length; i++) {
			if (form_obj.elements[i].tagName == 'INPUT') {
				if (form_obj.elements[i].type == 'text' || form_obj.elements[i].type == 'password' || form_obj.elements[i].type == 'hidden') {
					if (form_data['content'][form_obj.elements[i].id])form_obj.elements[i].value = form_data['content'][form_obj.elements[i].id]; else if (form_obj.elements[i].type != 'hidden')form_obj.elements[i].value = '';
				} else if (form_obj.elements[i].type == 'checkbox') {
					if (typeof(form_data['content'][form_obj.elements[i].id]) == 'object' && typeof(form_data['content'][form_obj.elements[i].id].length) != 'undefined' && form_data['content'][form_obj.elements[i].id].length > 0) {
						var checkbox_values = form_data['content'][form_obj.elements[i].id];
						for (k in checkbox_values) {
							if (form_obj.elements[i].value == checkbox_values[k]) {
								form_obj.elements[i].checked = true;
								break;
							} else form_obj.elements[i].checked = false;
						}
					} else if (typeof(form_data['content'][form_obj.elements[i].id]) == 'string') {
						if (form_obj.elements[i].value == form_data['content'][form_obj.elements[i].id])form_obj.elements[i].checked = true; else form_obj.elements[i].checked = false;
					}
				} else if (form_obj.elements[i].type == 'radio') {
					if (form_obj.elements[i].value == form_data['content'][form_obj.elements[i].id])form_obj.elements[i].checked = true; else form_obj.elements[i].checked = false;
				}
			} else if (form_obj.elements[i].tagName == 'SELECT') {
				if (form_obj.elements[i].options.length > 0) {
					for (j = 0; j < form_obj.elements[i].options.length; j++) {
						if (form_obj.elements[i].multiple === false) {
							if (form_data['content'][form_obj.elements[i].id] && form_obj.elements[i].options[j].value == form_data['content'][form_obj.elements[i].id])form_obj.elements[i].options[j].selected = true; else form_obj.elements[i].options[j].selected = false;
						} else {
							if (typeof(form_data['content'][form_obj.elements[i].id]) == 'object' && typeof(form_data['content'][form_obj.elements[i].id].length) != 'undefined' && form_data['content'][form_obj.elements[i].id].length > 0) {
								var selectbox_values = form_data['content'][form_obj.elements[i].id];
								for (k in selectbox_values) {
									if (form_obj.elements[i].options[j].value == selectbox_values[k]) {
										form_obj.elements[i].options[j].selected = true;
										break;
									} else form_obj.elements[i].options[j].selected = false;
								}
							}
						}
					}
				}
			} else if (form_obj.elements[i].tagName == 'TEXTAREA') {
				if (typeof(form_data['content'][form_obj.elements[i].id]) == "string") {
					form_obj.elements[i].value = form_data['content'][form_obj.elements[i].id];
					if (typeof(FCKeditorAPI) == 'object') {
						try {
							var oEditor = FCKeditorAPI.GetInstance(form_obj.elements[i].id);
							if (typeof(oEditor) == 'object')
								if (form_data['content'][form_obj.elements[i].id] != "") {
									oEditor.SetHTML(form_data['content'][form_obj.elements[i].id]);
									var form_elm_id = form_obj.elements[i].id;
									setTimeout(function() {
										var oEditor = FCKeditorAPI.GetInstance(form_elm_id);
										oEditor.SwitchEditMode();
										oEditor.SwitchEditMode();
									}, 1500);
								}
						} catch(e) {
							continue;
						}
					}
				} else {
					form_obj.elements[i].value = '';
					if (typeof(FCKeditorAPI) == 'object') {
						try {
							var oEditor = FCKeditorAPI.GetInstance(form_obj.elements[i].id);
							if (typeof(oEditor) == 'object')oEditor.SetHTML(' ');
						} catch(e) {
							continue;
						}
					}
				}
			}
		}
	}
	return true;
}
function loadBlock(block) {
	if (block) {
		for (i in block) {
			var tmpobj = $(i);
			if (tmpobj && typeof(tmpobj) == 'object') {
				tmpobj.innerHTML = block[i];
				block_loading_flag = 0;
			}
		}
	}
}
function fillBox(id, classname, content) {
	var box = $(id);
	box.className = classname;
	if (content != "")box.innerHTML = content;
	setDivVisibility(box, 0);
}
function getNumRows(id, index) {
	if (index == "" || typeof(index) == "undefined")index = 0;
	var obj = $(id);
	var num_rows = obj.options[obj.selectedIndex].value;
	return num_rows;
}
function createWin(parent_obj, id, classname, top, left, content) {
	this.new_win = document.createElement("DIV");
	this.new_win.className = classname;
	this.new_win.id = id;
	moveDivTo(this.new_win, left, top);
	if (content != "")this.new_win.innerHTML = content;
	setDivVisibility(this.new_win, 0);
	parent_obj.appendChild(this.new_win);
}
function clear_hot_text(tmpobj) {
	var nodes = tmpobj.childNodes;
	for (var i = 0; i < nodes.length; i++) {
		if (nodes[i].nodeName == "SPAN" && nodes[i].id.indexOf('cell_') >= 0) {
			nodes[i].className = 'defaultLabel';
		}
		else clear_hot_text(nodes[i]);
	}
}
function set_cookie(params) {
	if (params['days']) {
		var date = new Date();
		date.setTime(date.getTime() + (params['days'] * 24 * 60 * 60 * 1000));
		var expires = "; expires=" + date.toGMTString();
	}
	else var expires = "";
	document.cookie = params['name'] + "=" + params['value'] + expires + "; path=/";
}
function initEditor(textarea_name) {
	if (oFCKeditor == null && FCKeditorAPI == null) {
		oFCKeditor = new FCKeditor(textarea_name);
		oFCKeditor.BasePath = "scripts/FCKeditor/";
		oFCKeditor.Height = 290;
		oFCKeditor.ReplaceTextarea();
	} else {
		if (!document.all && typeof(FCKeditorAPI) == 'object') {
			var oEditor = FCKeditorAPI.GetInstance(textarea_name);
			if (oEditor && oEditor.EditorDocument && oEditor.EditMode == FCK_EDITMODE_WYSIWYG) {
				oEditor.SwitchEditMode();
				oEditor.SwitchEditMode();
			}
		}
	}
}
function FCKeditor_OnComplete(editorInstance) {
	FCKeditorLoaded = true;
}
function EmailMessage_OnComplete() {
	EmailMessageLoaded = true;
}
function loadContentToEditor(id) {
	if (!FCKeditorLoaded) {
		setTimeout(function() {
			loadContentToEditor(id);
		}, 500);
		return;
	}
	callRemoteFunction(current_script, {'func':'get_email_message','params':{'id':id}});
	ReloadTreeOnCompleteEmailMessage();
}
function ReloadTreeOnCompleteEmailMessage() {
	if (!EmailMessageLoaded) {
		setTimeout(function() {
			ReloadTreeOnCompleteEmailMessage();
		}, 500);
		return;
	}
	reloadTree("treeloader.php");
	EmailMessageLoaded = false;
}
function changeDisplayStatus(blocks, show_status) {
	if (typeof(blocks) == 'object')
		for (i in blocks)$(blocks[i]).style.display = show_status;
}
function LogoutStart() {
	LightBoxActivate();
	callRemoteFunction('logout.php', {'func':'logout'});
}
function LogoutFinish(htmlcode) {
	oFCKeditor = null;
	FCKeditorAPI = null;
	FCKeditorLoaded = false;
	EmailMessageLoaded = false;
	$('body').innerHTML = htmlcode;
	setTimeout(function() {
		set_focus('login');
		LightBoxDeactivate();
	}, 2000);
}
function CallFunctionByTimer(params) {
	var call_function = eval(params['call_function']);
	setTimeout(function() {
		call_function(params['function_params'])
	}, parseInt(params['timeout'], 10));
}
function show_forms(status) {
	if (status == undefined) {
		if ($('forms').style.display == "none") {
			$('panel20_3').style.display = "none";
			$('panel20_3').innerHTML = "";
			$('forms').style.display = "block";
			if ($('panel20_1').style.display == "none")$('panel20_1').style.display = "block";
		}
	} else if (status == "hide") {
		$('forms').style.display = 'none';
		$('forms').innerHTML = "";
		$('panel20_3').innerHTML = "";
		$('panel20_3').style.display = 'block';
	}
}
function call_reportbyfe_page_functions(args) {
	if (get_reportbyfe_func)clearInterval(get_reportbyfe_func);
	if (args && args["refresh_status"] == 1)get_reportbyfe_func = setInterval(function() {
		callRemoteFunction('report_by_filtered_emails.php', {'func':'get_table_data','params':{'get_xml':'1'}});
	}, 15000);
}
function call_bulk_unsubscribe_page_functions(args) {
	if (get_bulkunsubscribe_func)clearInterval(get_bulkunsubscribe_func);
	if (args && args["refresh_status"] == 1)get_bulkunsubscribe_func = setInterval(function() {
		callRemoteFunction('bulk_unsubscribe.php', {'func':'get_table_data','params':{'get_xml':'1'}});
	}, 15000);
}
function show_unsubscribing_table(args) {
	if (get_unsubscribe_func)clearInterval(get_unsubscribe_func);
	if (args && args["refresh_status"] == 1) {
		panel_handle('1_2', 'pan', 'panel');
		callRemoteFunction('unsubscribe.php', {'func':'get_table_data','params':{'info_type':'1'}});
		get_unsubscribe_func = setInterval(function() {
			callRemoteFunction('unsubscribe.php', {'func':'get_table_data','params':{'info_type':'2'}});
		}, 15000);
	}
}
function getTasksParams(obj) {
	if (obj["updated_cells"]) {
		var table_obj = $('unsubscribing_table');
		for (i in obj["updated_cells"]) {
			var id = 0;
			for (j in obj["updated_cells"][i]) {
				if (j == "id")id = obj["updated_cells"][i][j];
				if (id > 0)var tmp_obj = $(j + '_' + id); else tmp_obj = null;
				if (j != "id" && tmp_obj != null)tmp_obj.innerHTML = obj["updated_cells"][i][j];
			}
		}
	}
}
function new_freecap(cap_id) {
	if (document.getElementById) {
		thesrc = document.getElementById(cap_id).src;
		thesrc = thesrc.substring(0, thesrc.lastIndexOf(".") + 4);
		document.getElementById(cap_id).src = thesrc + "?" + Math.round(Math.random() * 100000);
	} else {
		alert("Sorry, cannot autoreload Captcha image\n");
	}
}
function selectedForDropDownListData(cal) {
	var p = cal.params;
	var update = (cal.dateClicked || p.electric);
	if (update && p.inputField) {
		var total_name = p.inputField.id.split('[');
		var month_box = document.getElementById(total_name[0] + '[month]');
		var day_box = document.getElementById(total_name[0] + '[day]');
		var year_box = document.getElementById(total_name[0] + '[year]');
		var m = parseInt(cal.date.print("%m"), 10);
		var d = parseInt(cal.date.print("%d"), 10);
		var y = parseInt(cal.date.print("%Y"), 10);
		if (month_box.options.length > 0)
			for (j = 0; j < month_box.options.length; j++) {
				if (month_box.options[j].value == m)month_box.options[j].selected = true; else month_box.options[j].selected = false;
			}
		if (day_box.options.length > 0)
			for (j = 0; j < day_box.options.length; j++) {
				if (day_box.options[j].value == d)day_box.options[j].selected = true; else day_box.options[j].selected = false;
			}
		year_box.value = y;
	}
	if (update && p.singleClick && cal.dateClicked)
		cal.callCloseHandler();
}
/*JsHttpRequest.js*/
function Subsys_JsHttpRequest_Js() {
	this._construct()
}
(function() {
	var COUNT = 0;
	var PENDING = {};
	var CACHE = {};
	Subsys_JsHttpRequest_Js.dataReady = function(id, text, js) {
//console.log(text);
		var undef;
		var th = PENDING[id];
		delete PENDING[id];
		if (th) {
			delete th._xmlReq;
			if (th.caching)CACHE[th.hash] = [text,js];
			th._dataReady(text, js);
		} else if (typeof(th) != typeof(undef)) {
			alert("ScriptLoader: unknown pending id: " + id);
		}
	}
	Subsys_JsHttpRequest_Js.prototype = {onreadystatechange:null,readyState:0,responseText:null,responseXML:null,status:200,statusText:"OK",session_name:"PHPSESSID",responseJS:null,caching:false,_span:null,_id:null,_xmlReq:null,_openArg:null,_reqHeaders:null,abort:function() {
		if (this._xmlReq)return this._xmlReq.abort();
		if (this._span) {
			this.readyState = 0;
			if (this.onreadystatechange)this.onreadystatechange();
			this._cleanupScript();
		}
	},open:function(method, url, asyncFlag, username, password) {
		this._openArg = {'method':method,'url':url,'asyncFlag':asyncFlag,'username':username,'password':password};
		this._id = null;
		this._xmlReq = null;
		this._reqHeaders = [];
		return true;
	},send:function(content) {
		var id = (new Date().getTime()) + "" + COUNT++;
		var query = this._hash2query(content);
		var url = this._openArg.url;
		var sid = this._getSid();
		if (sid)url += (url.indexOf('?') >= 0 ? '&' : '?') + this.session_name + "=" + this.escape(sid) + "&send_method=ajax2";
		var hash = this.hash = url + (url.indexOf('?') >= 0 ? '&' : '?') + query;
		if (this.caching && CACHE[hash]) {
			var c = CACHE[hash];
			this._dataReady(c[0], c[1]);
			return false;
		}
		this._xmlReq = this._obtainXmlReq(id, url);
		var hasSetHeader = this._xmlReq && (window.ActiveXObject || this._xmlReq.setRequestHeader);
		var href,body;
		if (this._xmlReq && hasSetHeader && ("" + this._openArg.method).toUpperCase() == "POST") {
			this._openArg.method = "POST";
			href = url;
			body = query;
		} else {
			this._openArg.method = "GET";
			href = url + (url.indexOf('?') >= 0 ? '&' : '?') + query;
			body = null;
		}
		href = href + (href.indexOf('?') >= 0 ? '&' : '?') + id;
		PENDING[id] = this;
		if (this._xmlReq) {
			var a = this._openArg;
			this._xmlReq.open(a.method, href + "-xml", a.asyncFlag, a.username, a.password);
			if (hasSetHeader) {
				for (var i = 0; i < this._reqHeaders.length; i++)
					this._xmlReq.setRequestHeader(this._reqHeaders[i][0], this._reqHeaders[i][1]);
				this._xmlReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			}
			return this._xmlReq.send(body);
		} else {
			this._obtainScript(id, href);
			return true;
		}
	},getAllResponseHeaders:function() {
		if (this._xmlReq)return this._xmlReq.getAllResponseHeaders();
		return'';
	},getResponseHeader:function(label) {
		if (this._xmlReq)return this._xmlReq.getResponseHeader(label);
		return'';
	},setRequestHeader:function(label, value) {
		this._reqHeaders[this._reqHeaders.length] = [label,value];
	},_construct:function() {
	},_dataReady:function(text, js) {
		with (this) {
			if (text !== null || js !== null) {
				readyState = 4;
				responseText = responseXML = text;
				responseJS = js;
			} else {
				readyState = 0;
				responseText = responseXML = responseJS = null;
			}
			if (onreadystatechange)onreadystatechange();
			_cleanupScript();
		}
	},_obtainXmlReq:function(id, url) {
		if (url.match(new RegExp('^[a-z]+://', 'i')))return null;
		var req = null;
		if (window.XMLHttpRequest) {
			try {
				req = new XMLHttpRequest()
			} catch(e) {
			}
		} else if (window.ActiveXObject) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP")
			} catch(e) {
			}
			if (!req)try {
				req = new ActiveXObject("Msxml2.XMLHTTP")
			} catch(e) {
			}
		}
		if (req) {
			var th = this;
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					var responseText = req.responseText;
					try {
						eval(responseText);
					} catch(e) {
						Subsys_JsHttpRequest_Js.dataReady(id, "JavaScript code generated by backend is invalid!\n" + responseText, null);
					}
				} else {
					th.readyState = req.readyState;
					if (th.onreadystatechange)th.onreadystatechange()
				}
			};
			this._id = id;
		}
		return req;
	},_obtainScript:function(id, href) {
		with (document) {
			var span = null;
			span = body.appendChild(createElement("SPAN"));
			span.style.display = 'none';
			//span.innerHTML = 'Text for stupid IE.<s' + 'cript></' + 'script>';
			
			
			
			setTimeout(function() {
			
				var s = document.createElement('script');
				
				s.setAttribute('type','text/javascript');
				
				s.setAttribute('src',href);
			
				span.appendChild(s);
				
			
				//var s = span.getElementsByTagName("script")[0];
				//s.language = "JavaScript";
				//s.setAttribute('type','text/javascript');
				//if (s.setAttribute)s.setAttribute('src', href); else s.src = href;
			
				eval(s);
				
				//console.log(s);
				
			}, 10);
			this._id = id;
			this._span = span;
//console.log(span);
		}
	},_cleanupScript:function() {
		var span = this._span;
		if (span) {
			this._span = null;
			setTimeout(function() {
				span.parentNode.removeChild(span);
			}, 50);
		}
		return false;
	},_hash2query:function(content, prefix) {
		if (prefix == null)prefix = "";
		var query = [];
		if (content instanceof Object) {
			for (var k in content) {
				var v = content[k];
				if (v.constructor.prototype[k])continue;
				var curPrefix = prefix ? prefix + '[' + this.escape(k) + ']' : this.escape(k);
				if (v instanceof Object)
					query[query.length] = this._hash2query(v, curPrefix); else
					query[query.length] = curPrefix + "=" + this.escape(v);
			}
		} else {
			query = [content];
		}
		return query.join('&');
	},_getSid:function() {
		var m = document.location.search.match(new RegExp('[&?]' + this.session_name + '=([^&?]*)'));
		var sid = null;
		if (m) {
			sid = m[1];
		} else {
			var m = document.cookie.match(new RegExp(s = '(;|^)\\s*' + this.session_name + '=([^;]*)'));
			if (m)sid = m[2];
		}
		return sid;
	},escape:function(s) {
		return escape(s).replace(new RegExp('\\+', 'g'), '%2B');
	}}
})();
/*jsloader.js*/
var sending_data = new Object;
var submiting_form = "";
function doLoad(force) {
	var req = new Subsys_JsHttpRequest_Js();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (debug && $('debug'))$('debug').innerHTML = req.responseText; else if (debug)alert(req.responseText);
			LoadDataEnd();
			if (submiting_form != "") {
				Form.enable(submiting_form);
				submiting_form = "";
			}
			if (req.responseJS) {
				if (req.responseJS.system_message && !req.responseJS.box)showErrorBox('messages_box', 'system_message', req.responseJS.system_message); else if (req.responseJS.system_message && req.responseJS.box)showErrorBox(req.responseJS.box, req.responseJS.message_box, req.responseJS.system_message);
				if (typeof(req.responseJS.func) != "undefined") {
					var args = req.responseJS.args;
					var func = eval(req.responseJS.func);
					func(args);
				} else if (req.responseJS.funcs) {
					for (i in req.responseJS.funcs) {
						var args = req.responseJS.funcs[i].args;
						var func = eval(req.responseJS.funcs[i].func);
						func(args);
					}
				} else if (typeof(req.responseJS.call_function) != "undefined") {
					var args = req.responseJS.function_params;
					var func = eval(req.responseJS.call_function);
					func(args);
				} else if (req.responseJS.call_functions) {
					for (i in req.responseJS.call_functions) {
						var args = req.responseJS.call_functions[i].function_params;
						var func = eval(req.responseJS.call_functions[i].call_function);
						func(args);
					}
				}
				if (typeof(req.responseJS.reset_form) != "undefined") {
					var form_obj = $(req.responseJS.reset_form);
					setTimeout(function() {
						form_obj.reset();
					}, 100);
					clear_hot_text(form_obj);
				}
				if (typeof(req.responseJS.required_fields) != "undefined") {
					for (tdid in req.responseJS.required_fields) {
						var tdid_obj = $(tdid);
						try {
							if (req.responseJS.required_fields[tdid] === true)tdid_obj.className = 'defaultLabel'; else tdid_obj.className = 'errorLabel';
						} catch(e) {
							continue;
						}
					}
				}
			}
		}
	}
	req.open('POST', current_script, true);
	req.send(sending_data);
}
function callRemoteFunction(url, indata) {
	if (typeof(url) == 'object') {
		sending_data = url;
		current_script = url.url;
	} else {
		sending_data = indata;
		current_script = url;
	}
	if (timeout)clearTimeout(timeout);
	if (submiting_form != "")Form.disable(submiting_form);
	LoadDataStart();
	block_loading_flag = 1;
		
	timeout = setTimeout(doLoad, 1000);
}
/*LibCrossBrowser.js*/
LCB_version = 2.8;
_mac = navigator.userAgent.indexOf('Mac') != -1;
_ie512 = navigator.userAgent.indexOf('MSIE 5.12') != -1;
_dom = document.all ? (document.getElementById ? 2 : 1) : (document.getElementById ? 4 : (document.layers ? 3 : 0));
_createLayerNo = 0;
function initCrossBrowserLib() {
	_mac = navigator.userAgent.indexOf('Mac') != -1;
	_ie512 = navigator.userAgent.indexOf('MSIE 5.12') != -1;
	_dom = document.all ? (document.getElementById ? 2 : 1) : (document.getElementById ? 4 : (document.layers ? 3 : 0));
	_createLayerNo = 0;
}
initCrossBrowserLib();
function getWindowWidth() {
	if (_dom == 4 || _dom == 3)return window.innerWidth;
	if (_dom == 2 || _dom == 1)return document.body.clientWidth;
	return 0;
}
function getWindowHeight() {
	if (_dom == 4 || _dom == 3)return window.innerHeight;
	if (_dom == 2 || _dom == 1)return document.body.clientHeight;
	return 0;
}
function getWinXOffset() {
	if (_dom == 4)return window.scrollX;
	if (_dom == 2 || _dom == 1)return document.body.scrollLeft;
	if (_dom == 3)return window.pageXOffset;
	return 0;
}
function getWinYOffset() {
	if (_dom == 4)return window.scrollY;
	if (_dom == 2 || _dom == 1)return document.body.scrollTop;
	if (_dom == 3)return window.pageYOffset;
	return 0;
}
function getDivFromName(nm) {
	if (_dom == 4 || _dom == 2)return document.getElementById(nm);
	if (_dom == 1)return document.all(nm);
	if (_dom == 3) {
		var s = '';
		for (var i = 1; i < arguments.length; i++)s += 'document.layers.' + arguments[i] + '.';
		return eval(s + 'document.layers.' + nm);
	}
	return null;
}
function getDivName(div) {
	if (_dom == 4 || _dom == 2 || _dom == 1)return div.id;
	if (_dom == 3)return div.name;
	return'';
}
function createLayer(left, top, width, height, parentDiv) {
	var s = '';
	if (arguments.length > 5) {
		for (var i = 5; i < arguments.length; i++)s += arguments[i];
	}
	if (_dom == 4) {
		var divName = '_js_layer_' + _createLayerNo;
		_createLayerNo++;
		var pDiv = parentDiv ? parentDiv : document.body;
		var div = document.createElement('DIV');
		div.id = divName;
		div.setAttribute('style', 'position:absolute;left:' + left + ';top:' + top
				+ (width > 0 ? (';width:' + width) : '')
				+ (height > 0 ? (';height:' + height) : '')
				+ ';visibility:hidden');
		var range = document.createRange();
		range.selectNodeContents(div);
		range.collapse(true);
		var cf = range.createContextualFragment(s);
		div.appendChild(cf);
		pDiv.appendChild(div);
		return div;
	}
	if (_dom == 2 || _dom == 1) {
		var adj = (_mac && !_ie512) ? ' ' : '';
		var divName = '_js_layer_' + _createLayerNo;
		_createLayerNo++;
		var ha = (height > 0) ? (';height:' + height) : '';
		var pDiv = parentDiv ? parentDiv : document.body;
		pDiv.insertAdjacentHTML('BeforeEnd', '<div id="' + divName
				+ '" style="position:absolute;left:' + left + ';top:' + top
				+ (width > 0 ? (';width:' + width) : ';width:1')
				+ (height > 0 ? (';height:' + height) : '')
				+ ';visibility:hidden;">' + s + '<\/div>' + adj);
		return document.all(divName);
	}
	if (_dom == 3) {
		var div = parentDiv ? (new Layer(width, parentDiv)) : (new Layer(width));
		if (height > 0)div.resizeTo(width, height);
		div.moveTo(left, top);
		if (s != '') {
			div.document.open('text/html', 'replace');
			div.document.write(s);
			div.document.close();
		}
		return div;
	}
	return null;
}
function createExLayer(url, left, top, width, height, parentDiv) {
	if (_dom == 4) {
		var divName = '_js_layer_' + _createLayerNo;
		_createLayerNo++;
		var pDiv = parentDiv ? parentDiv : document.body;
		var div = document.createElement('IFRAME');
		div.id = divName;
		div.name = divName;
		div.setAttribute('style', 'position:absolute;left:' + left + ';top:' + top
				+ ';width:' + width + (height > 0 ? (';height:' + height) : '')
				+ ';visibility:hidden');
		div.setAttribute('src', url);
		div.setAttribute('frameborder', 0);
		div.setAttribute('scrolling', 'no');
		pDiv.appendChild(div);
		return div;
	}
	if (_dom == 2 || _dom == 1) {
		var adj = (_mac && _ie512) ? ' ' : '';
		var bd,divName = '_js_layer_' + _createLayerNo;
		_createLayerNo++;
		var ha = (height > 0) ? (';height:' + height) : '';
		if (arguments.length > 5 && parentDiv)
			bd = parentDiv; else bd = document.body;
		bd.insertAdjacentHTML('BeforeEnd', '<div id="' + divName
				+ '" style="position:absolute;left:' + left + ';top:' + top
				+ ';width:' + width + ha + ';visibility:hidden;">'
				+ '<iframe src="' + url + '" name="' + divName + '_if" '
				+ 'width=' + width + ' height=' + height
				+ 'marginwidth=0 marginheight=0 '
				+ 'scrolling="no" frameborder="no">'
				+ '<\/iframe>'
				+ '<\/div>' + adj);
		return document.all(divName);
	}
	if (_dom == 3) {
		var div = parentDiv ? (new Layer(width, parentDiv)) : (new Layer(width));
		if (height > 0)div.resizeTo(width, height);
		div.moveTo(left, top);
		div.load(url, width);
		return div;
	}
	return null;
}
function getDivImage(div, imgName) {
	if (_dom == 4)return document.images[imgName];
	if (_dom == 2 || _dom == 1)return document.images(imgName);
	if (_dom == 3)return div.document.images[imgName];
	return null;
}
function getDivForm(div, frmName) {
	if (_dom == 4)return document.forms[frmName];
	if (_dom == 2 || _dom == 1)return document.forms(frmName);
	if (_dom == 3)return div.document.forms[frmName];
	return null;
}
function initDivPos(div) {
	if (_dom == 4) {
		div.style.left = div.offsetLeft + 'px';
		div.style.top = div.offsetTop + 'px';
	}
	else if (_dom == 2 || _dom == 1) {
		div.style.pixelLeft = div.offsetLeft;
		div.style.pixelTop = div.offsetTop;
	}
	return div;
}
function getDivLeft(div) {
	if (_dom == 4 || _dom == 2)return div.offsetLeft;
	if (_dom == 1)return div.style.pixelLeft;
	if (_dom == 3)return div.left;
	return 0;
}
function getDivTop(div) {
	if (_dom == 4 || _dom == 2)return div.offsetTop;
	if (_dom == 1)return div.style.pixelTop;
	if (_dom == 3)return div.top;
	return 0;
}
function moveDivTo(div, left, top) {
	if (_dom == 4) {
		div.style.left = left + 'px';
		div.style.top = top + 'px';
		return;
	}
	if (_dom == 2 || _dom == 1) {
		div.style.pixelLeft = left;
		div.style.pixelTop = top;
		return;
	}
	if (_dom == 3) {
		div.moveTo(left, top);
		return;
	}
}
function moveDivBy(div, left, top) {
	if (_dom == 4) {
		div.style.left = div.offsetLeft + left;
		div.style.top = div.offsetTop + top;
		return;
	}
	if (_dom == 2) {
		div.style.pixelLeft = div.offsetLeft + left;
		div.style.pixelTop = div.offsetTop + top;
		return;
	}
	if (_dom == 1) {
		div.style.pixelLeft += left;
		div.style.pixelTop += top;
		return;
	}
	if (_dom == 3) {
		div.moveBy(left, top);
		return;
	}
}
function scrollExlHItTo(exdiv, x) {
	if (_dom == 4) {
		frames[exdiv.id].scrollTo(x, frames[exdiv.id].scrollY);
		return;
	}
	if (_dom == 2 || _dom == 1) {
		frames(exdiv.id + '_if').scrollTo(x, frames(exdiv.id + '_if').document.body.scrollTop);
		return;
	}
	if (_dom == 3) {
		var dx = x - exdiv.clip.left,ch = exdiv.clip.width;
		exdiv.left -= dx;
		exdiv.clip.left = x;
		exdiv.clip.width = ch;
		return;
	}
	return;
}
function scrollExlVItTo(exdiv, y) {
	if (_dom == 4) {
		frames[exdiv.id].scrollTo(frames[exdiv.id].scrollX, y);
		return;
	}
	if (_dom == 2 || _dom == 1) {
		frames(exdiv.id + '_if').scrollTo(frames(exdiv.id + '_if').document.body.scrollLeft, y);
		return;
	}
	if (_dom == 3) {
		var dy = y - exdiv.clip.top,ch = exdiv.clip.height;
		exdiv.top -= dy;
		exdiv.clip.top = y;
		exdiv.clip.height = ch;
		return;
	}
	return;
}
function initDivSize(div) {
	if (_dom == 4) {
		div.style.width = div.offsetWidth + 'px';
		div.style.height = div.offsetHeight + 'px';
	}
	else if (_dom == 2 || _dom == 1) {
		div.style.pixelWidth = div.offsetWidth;
		div.style.pixelHeight = div.offsetHeight;
	}
	return div;
}
function getDivWidth(div) {
	if (_dom == 4 || _dom == 2)return div.offsetWidth;
	if (_dom == 1)return div.style.pixelWidth;
	if (_dom == 3)return div.clip.width;
	return 0;
}
function getDivHeight(div) {
	if (_dom == 4 || _dom == 2)return div.offsetHeight;
	if (_dom == 1)return div.style.pixelHeight;
	if (_dom == 3)return div.clip.height;
	return 0;
}
function resizeDivTo(div, width, height) {
	if (_dom == 4) {
		div.style.width = width + 'px';
		div.style.height = height + 'px';
		return;
	}
	if (_dom == 2 || _dom == 1) {
		div.style.pixelWidth = width;
		div.style.pixelHeight = height;
		return;
	}
	if (_dom == 3) {
		div.resizeTo(width, height);
		return;
	}
}
function resizeDivBy(div, width, height) {
	if (_dom == 4) {
		div.style.width = (div.offsetWidth + width) + 'px';
		div.style.height = (div.offsetHeight + height) + 'px';
		return;
	}
	if (_dom == 2) {
		div.style.pixelWidth = div.offsetWidth + width;
		div.style.pixelHeight = div.offsetHeight + height;
		return;
	}
	if (_dom == 1) {
		div.style.pixelWidth += width;
		div.style.pixelHeight += height;
		return;
	}
	if (_dom == 3) {
		div.resizeBy(width, height);
		return;
	}
}
function getExlWidth(exdiv) {
	if (_dom == 4)
		return exdiv.contentDocument.body.offsetWidth;
	if (_dom == 2 || _dom == 1)
		return _mac ? frames(exdiv.id + '_if').document.body.offsetWidth : frames(exdiv.id + '_if').document.body.scrollWidth;
	if (_dom == 3)
		return exdiv.document.width;
	return 0;
}
function getExlHeight(exdiv) {
	if (_dom == 4)
		return exdiv.contentDocument.body.offsetHeight;
	if (_dom == 2 || _dom == 1)
		return _mac ? frames(exdiv.id + '_if').document.body.offsetHeight : frames(exdiv.id + '_if').document.body.scrollHeight;
	if (_dom == 3)
		return exdiv.document.height;
	return 0;
}
function setDivVisibility(div, visible) {
	if (_dom == 4 || _dom == 2 || _dom == 1) {
		div.style.visibility = (visible) ? 'inherit' : 'hidden';
		return;
	}
	if (_dom == 3) {
		div.visibility = (visible) ? 'inherit' : 'hide';
		return;
	}
}
function setDivVisibilities(divs, visible) {
	if (_dom == 4 || _dom == 2 || _dom == 1) {
		for (var i = 0; i < divs.length; i++)
			divs[i].style.visibility = (visible) ? 'inherit' : 'hidden';
	}
	if (_dom == 3) {
		for (var i = 0; i < divs.length; i++)
			divs[i].visibility = (visible) ? 'inherit' : 'hide';
	}
	return divs;
}
function setDivClip(div, top, right, bottom, left) {
	if (_dom == 4 || _dom == 2 || _dom == 1) {
		div.style.clip = 'rect(' + top + 'px ' + right + 'px ' + bottom + 'px ' + left + 'px)';
		return;
	}
	if (_dom == 3) {
		div.clip.top = top;
		div.clip.right = right;
		div.clip.bottom = bottom;
		div.clip.left = left;
		return;
	}
}
function writeDivHTML(div, op, cl) {
	var s = '';
	for (var i = 3; i < arguments.length; i++)s += arguments[i];
	if (_dom == 4) {
		if (op) {
			while (div.hasChildNodes())div.removeChild(div.lastChild);
		}
		var range = document.createRange();
		range.selectNodeContents(div);
		range.collapse(true);
		var cf = range.createContextualFragment(s);
		div.appendChild(cf);
		return;
	}
	if (_dom == 2 || _dom == 1) {
		if (op)div.innerHTML = '';
		if (_mac && !_ie512)div.innerHTML += s; else div.insertAdjacentHTML('BeforeEnd', s);
		return;
	}
	if (_dom == 3) {
		if (op)div.document.open('text/html', 'replace');
		div.document.write(s);
		if (cl)div.document.close();
		return;
	}
}
function setDivBackgroundColor(div, color) {
	if (color == null)color = 'transparent';
	if (_dom == 3)div.bgColor = color; else div.style.backgroundColor = color;
}
function setDivBackgroundImage(div, url) {
	if (_dom == 3)div.background.src = url ? url : null; else div.style.backgroundImage = url ? ('url(' + url + ')') : 'none';
}
function setDivZIndex(div, order) {
	if (_dom == 4 || _dom == 2 || _dom == 1) {
		div.style.zIndex = order;
		return;
	}
	if (_dom == 3) {
		div.zIndex = order;
		return;
	}
}
function setDivStyleAttribute(div, nm, value) {
	if (_dom != 0 && _dom != 3)eval('div.style.' + nm + '=value');
	return div;
}
function changeExlURL(exdiv, url) {
	if (_dom == 4) {
		exdiv.setAttribute('src', url);
		return;
	}
	if (_dom == 2 || _dom == 1) {
		frames(exdiv.id + '_if').location.replace(url);
		return;
	}
	if (_dom == 3) {
		exdiv.load(url, exdiv.clip.width);
		return;
	}
	return;
}
function getLeftFromEvent(e) {
	if (_dom == 4)return e.clientX + window.scrollX;
	if (_dom == 2 || _dom == 1)return document.body.scrollLeft + window.event.clientX;
	if (_dom == 3)return e.pageX;
	return 0;
}
function getTopFromEvent(e) {
	if (_dom == 4)return e.clientY + window.scrollY;
	if (_dom == 2 || _dom == 1)return document.body.scrollTop + window.event.clientY;
	if (_dom == 3)return e.pageY;
	return 0;
}
