var sSettingsURL = '/feed_settings.aspx';
var bSettingsLoading = true;

var xmlSettingsHTTP = null;
var xmlSettings = null;
var oSettings = null;

function settings_open() {
	xmlSettings = null;
	oSettings = null;
	
	bSettingsLoading = true;

	xmlSettingsHTTP = CreateXMLHTTP();
	
	xmlSettingsHTTP.open('GET', sSettingsURL, false);
	xmlSettingsHTTP.send(null);
	
	if (xmlSettingsHTTP.readyState != 4) {
		alert('load settings failed');
		return;
	}
	
	if (xmlSettingsHTTP.responseXML && xmlSettingsHTTP.responseXML.documentElement) {
		xmlSettings = xmlSettingsHTTP.responseXML.documentElement;
		oSettings = xmlSettings.getElementsByTagName('setting');
	} else {
		alert('settings not found');
	}
	
	bSettingsLoading = false;
}

function setting_get(sKey, sDefault) {
	if (!oSettings) { return sDefault; }

	var i = 0;
	for (i = 0; i < oSettings.length; i++) {
		if (oSettings[i].getAttribute('key') == sKey) {
			return oSettings[i].getAttribute('value');
		}
	}
	return sDefault;
}

function setting_set(sKey, sValue, bBlocking) {
	if (!bAuth) { return; }
	
	var i = 0;
	var bFound = false;
	var oSetting = null;
	if (!!oSettings) {
		for (i = 0; i < oSettings.length; i++) {
			if (oSettings[i].getAttribute('key') == sKey) {
				oSettings[i].setAttribute('value', sValue);
				bFound = true;
			}
		}
		if (!bFound) {
			if (is_ie) {
				oSetting = xmlSettings.ownerDocument.createElement('setting');
			} else {
				oSetting = document.createElement('setting');
			}
			oSetting.setAttribute('key', sKey);
			oSetting.setAttribute('value', sValue);
			xmlSettings.appendChild(oSetting.cloneNode(true));
			oSetting = null
		}
	}
	setting_save(sKey, sValue, bBlocking);
}

function setting_save(sKey, sValue, bBlocking) {
	if (!bAuth) { return; }

	var xmlAction = null;
	xmlAction = CreateXMLHTTP();
	xmlAction.open('GET', '/xml_action.aspx?action=user_setting&key=' + sKey + '&value=' + sValue, !bBlocking);
	xmlAction.send('');
}

