﻿/***************************************************/
/*** used in SiteCatalyst tracking               ***/
/***************************************************/
var scGlStartTime = new Date();



/* Spreads/Prices */

var SpreadsPrices = new Class({
	initialize: function () {
		this.currentPage = 1;
		this.tableRows = $$('table.hiddenPriceSpread tr');
		this.tableResult = $('wpPriceSpread').getElement('tbody');
		this.showPairs = $('wpPriceSpread').getElement('div.pairs select').value;
		this.pager = $('wpPriceSpread').getElement('ul.pager');
		this.reset = $('wpPriceSpread').getElement('.reset');

		/* showPairs events */
		$('wpPriceSpread').getElement('div.pairs select').addEvent('change', function (sender) {
			this.showPairs = sender.target ? sender.target.get('value') : sender.value;
			this.SetPage(1);
		} .bind(this));

		/* reset event */
		this.reset.addEvent('click', function (sender) {
			this.SetPage(this.currentPage, null);
		} .bind(this));

		this.SetPage(this.currentPage, null);
	},
	SetPager: function (page) {
		this.pager.getChildren().destroy();
		var pageCount = 0;
		var tmpSetPage = function (page) {
			this.SetPage(page, null);
		} .bind(this);
		while ((pageCount * this.showPairs) < this.tableRows.length) {
			pageCount = pageCount + 1;
			var liItem = new Element('li', {
				'events': {
					'click': function () {
						tmpSetPage(this.get('text'));
					}
				}
			});
			liItem.set('html', pageCount);
			if (page == pageCount) { liItem.addClass('selected') }
			liItem.inject(this.pager);
		};
		pageCount == 1 ? this.pager.setStyle('display', 'none') : this.pager.setStyle('display', 'block');
	},
	SetPage: function (page, filter) {
		this.currentPage = page;
		this.tableResult.getChildren().destroy();
		if (page > 1) {
			this.tableRows.each(function (row, index) {
				if (index >= ((page * this.showPairs) - this.showPairs) && index < (page * this.showPairs)) {
					var tr = row.clone();
					tr.getElements('td')[1].addEvent('click', function () {
						this.ShowRelated(tr.getElements('td')[1].getElement('a').get('text') + ' ' + tr.getElements('td')[0].get('text'));
					} .bind(this));
					if (Browser.Engine.name == 'trident' && Browser.Engine.version == 4) {
						tr.getElements('td')[1].addEvent('mouseover', function () {
							this.getFirst('a').getFirst('span').setStyle('visibility', 'visible');
						});
						tr.getElements('td')[1].addEvent('mouseout', function () {
							this.getFirst('a').getFirst('span').setStyle('visibility', 'hidden');
						});
					}
					tr.inject(this.tableResult);
				}
			} .bind(this));
		} else {
			this.tableRows.each(function (row, index) {
				if (filter != null) {
					var tr = row.clone();
					filter.split(' ').each(function (item) {
						if (tr.getElements('td')[1].get('text').contains(item)) {
							tr.getElements('td')[1].setProperty('title', '');
							tr.addClass('filtered');
							tr.inject($('wpPriceSpread').getElement('tbody'));
						}
					});
				} else if (index < (page * this.showPairs)) {
					var tr = row.clone();
					tr.getElements('td')[1].addEvent('click', function () {
						this.ShowRelated(tr.getElements('td')[1].getElement('a').get('text') + ' ' + tr.getElements('td')[0].get('text'));
					} .bind(this));
					if (Browser.Engine.name == 'trident' && Browser.Engine.version == 4) {
						tr.getElements('td')[1].addEvent('mouseover', function () {
							this.getFirst('a').getFirst('span').setStyle('visibility', 'visible');
						});
						tr.getElements('td')[1].addEvent('mouseout', function () {
							this.getFirst('a').getFirst('span').setStyle('visibility', 'hidden');
						});
					}
					tr.inject(this.tableResult);
				}
			} .bind(this));
		}
		if (filter != null) {
			this.pager.setStyle('display', 'none');
			this.reset.setStyle('display', 'block');
		} else {
			this.pager.setStyle('display', 'block');
			this.reset.setStyle('display', 'none');
			this.SetPager(page);
		}
	},
	ShowRelated: function (releated) {
		if (releated != '') {
			this.SetPage(1, releated);
		}
	}
});


/***************************************************/
/*** CustomAccordion                             ***/
/*** Written by Martin Lundgren, July 2008       ***/
/***************************************************/
var CustomAccordion = new Class({

	/* ===== INTERFACES ===== */
	Implements: Options,

	/* ===== FIELDS ===== */
	id: null,
	togglers: null,
	elements: null,
	options: {
		alwaysHide: false,
		storeState: false
	},

	/* ===== METHODS ===== */
	// Constructor
	initialize: function () { // Void

		// Store arguments into a params object
		var params = Array.link(arguments, { 'id': String.type, 'togglers': Array.type, 'elements': Array.type, 'options': Object.type });

		// Assign members
		this.id = params.id;
		this.togglers = params.togglers;
		this.elements = params.elements;
		this.setOptions(params.options);

		// Add on click event action
		var accordion = this;
		$each(this.togglers, function (item, index) {
			item.addEvent('click', function (event) {
				event.preventDefault();
				accordion.display(index);
			});
		});

		// Store state
		if (this.options.storeState) {
			var key = '.ACCORDION' + accordion.id;
			// Get cookie
			var cookieData = Cookie.read(key);
			// If cookie exist
			if ($chk(cookieData)) {
				// Set accordion state
				accordion.setAccordionState(cookieData.split(','));
				// Dispose cookie
				var oldCookie = Cookie.dispose(key);
			}
			// Before form submit
			$('aspnetForm').addEvent('submit', function () {
				// Get current accordion state
				var val = accordion.getAccordionState().join(',');
				// Write cookie
				var cookie = Cookie.write(key, val, { 'duration': '1' });
			});
		}
	},

	// Gets the sate of each toggler item in this accordion and returns it as an Array
	getAccordionState: function () { // Array
		var data = [];
		$each(this.togglers, function (item, index) {
			data[data.length] = (item.className.match(/\bopen\b/g)) ? 1 : 0;
		});
		return data;
	},

	// Sets the accordion state according to the data param
	setAccordionState: function (data) { // Void
		var accordion = this;
		$each(this.togglers, function (item, index) {
			if (data[index] == 1) {
				accordion.open([item, accordion.elements[index]]);
			}
			else {
				accordion.close([item, accordion.elements[index]]);
			}
		});
		return data;
	},

	// Opens an accordion item or items
	open: function (obj) { // Void
		var elements = ($type(obj) == 'array') ? obj : new Array(obj);
		elements.each(function (item, index) {
			if ($chk(item)) { item.className = item.className.replace(/\bclosed\b/g, 'open'); }
		});
	},

	// Closes an accordion item or items
	close: function (obj) { // Void
		var elements = ($type(obj) == 'array') ? obj : new Array(obj);
		elements.each(function (item, index) {
			if ($chk(item)) { item.className = item.className.replace(/\bopen\b/g, 'closed'); }
		});
	},

	// Handles the show/hide functionallity
	display: function (index) { // Void
		var accordion = this;
		var toggler = accordion.togglers[index];
		var element = accordion.elements[index];
		// If the clicked item was was a opened item, close it.
		if (toggler.className.match(/\bopen\b/g)) {
			accordion.close([toggler, element]);
		}
		// If the clicked item was was a closed item;
		else {
			// and the accordion is in single mode (auto hide), close all items.
			if (accordion.options.alwaysHide) { accordion.closeAll(); }
			// and it's not a navigation link, open it.
			if (!toggler.className.match(/\bislink\b/g)) { accordion.open([toggler, element]); }
		}
	},

	// Closes all items in this accordion
	closeAll: function () { // Void
		var accordion = this;
		// Iterate through all togglers in this accordion,
		$each(this.togglers, function (item, index) {
			// close it and the element-item that belongs to it.
			accordion.close([item, accordion.elements[index]]);
		});
	}
});


/****************************************************/
/*** Enable the automatic hide of a default value ***/
/*** in a text box.                               ***/
/****************************************************/
function showHideDefaultValue(elements) {
	elements.each(function (item) {
		if ($type(item) == 'element' && (item.type == 'text' || item.type == 'textarea')) {
			item.addEvent('focus', function () {
				if (this.retrieve('initValue') == null) { this.store('initValue', this.value); }
				if (this.retrieve('initValue') == this.value) { this.value = ''; }
			});
			item.addEvent('blur', function () {
				if (this.value == '') { this.value = this.retrieve('initValue'); }
			});
		}
		if ($type(item) == 'element' && item.type == 'password') {
			item.addEvent('focus', function () {
				if (this.retrieve('initValue') == null) { this.value = ''; this.store('initValue', ''); }
			});
		}
	});
}


/********************************/
/*** Generic Accordion Script ***/
/*** Written by XDSC 2009     ***/
/********************************/
function GenericAccordion(elm) {
	$(elm).getParent().getElements('[class*=head]').each(function (item) {
		if (item != elm || (elm == item && item.className.contains('Open'))) {
			item.className = item.className.replace('Open', 'Closed');
			item.getNext().removeClass('open').addClass('closed');
		} else {
			item.className = item.className.replace('Closed', 'Open');
			item.getNext().removeClass('closed').addClass('open');
		}
	});
}

/****************************/
/***       FX Tools       ***/
/*** Written by XDSC 2009 ***/
/****************************/
var FXTools = new Class({
	initialize: function () {
		if ($('fxTools')) {
			$('fxTools').getElements('li').each(function (item, index) {
				if (index == 0) {
					$('fxPreview').getElement('img').setProperty('src', item.getElement('span').get('text'));
					$('fxPreview').setProperty('href', item.getElement('a').getProperty('href'));
				}
				item.addEvent('mouseover', function () {
					$('fxPreview').getElement('img').setProperty('src', item.getElement('span').get('text'));
					$('fxPreview').setProperty('href', item.getElement('a').getProperty('href'));
				});
			});
			new Asset.images($('fxTools').getElements('a').get('text'));
		}
	}
});


/****************************/
/***   Login Navigation   ***/
/*** Written by XDSC 2009 ***/
/****************************/
var loginNav = function () {
	var lButton = $(document.body).getElement('div.login');
	var lLinks = lButton.getElement('ul.items');

	lButton.addEvent('mouseover', function () {
		lLinks.setStyle('display', 'block');
	});
	lButton.addEvent('mouseout', function () {
		lLinks.setStyle('display', 'none');
	});
}


/****************************/
/***    Top Navigation    ***/
/*** Written by XDSC 2009 ***/
/****************************/
var topNav = function () {
	$$('div.topNavigation')[0].getElements('ul li').each(function (item) {
		item.addEvents({
			'mouseenter': function () {
				if (this.getFirst('ul')) this.getFirst('ul').setStyle('display', 'block');
			},
			'mouseleave': function () {
				if (this.getFirst('ul')) this.getFirst('ul').setStyle('display', 'none');
			}
		});
	})
}


/****************************/
/***   Education Video    ***/
/*** Written by XDSC 2009 ***/
/****************************/
var educationVideo = function (targetId, moviePath) {

	var swf = new Swiff(moviePath, {
		id: 'educationMovie',
		width: 585,
		height: 278,
		params: {
			wmode: 'window',
			bgcolor: '#ffffff'
		}
	});

	if ($(targetId).getElement('div')) {
		$(targetId).getElement('div').destroy();
	}

	var videoHolder = new Element('div');
	videoHolder.grab(swf);

	$(targetId).grab(videoHolder);
}


/***************************************************/
/*** Stanley                                     ***/
/*** Written by Martin Lundgren, June 2008       ***/
/***************************************************/
/*
<!-- Stanley HTML Template -->
<div id="stanley" class="template">
<div class="innerTemplate">
<div class="tl"></div>
<div class="tm"></div>
<div class="tr"></div>
<div class="ml"></div>
<div class="mm">
<div class="closeButton"></div>
<div class="contentPlaceHolder"></div>
</div>
<div class="mr"></div>
<div class="bl"></div>
<div class="bm"></div>
<div class="br"></div>
</div>
</div>
<!-- / Stanley HTML Template -->
*/
var showStanley = function (contentId /*string*/, settings /*object*/) { // void
	var template = $('stanley');
	var innerTemplate = template.getElement('div.innerTemplate');

	var tl = template.getElement('div.tl');
	var tm = template.getElement('div.tm');
	var tr = template.getElement('div.tr');

	var ml = template.getElement('div.ml');
	var mm = template.getElement('div.mm');
	var mr = template.getElement('div.mr');

	var bl = template.getElement('div.bl');
	var bm = template.getElement('div.bm');
	var br = template.getElement('div.br');

	var height = settings.height + tl.getStyle('height').toInt() + tr.getStyle('height').toInt();
	var width = settings.width + tl.getStyle('width').toInt() + bl.getStyle('width').toInt();

	var popupContent = $(contentId);
	var contentPlaceHolder = template.getElement('div.contentPlaceHolder');

	// Add content
	var switchContent = function () {
		var originalCPHContent = contentPlaceHolder.get('html');
		contentPlaceHolder.set('html', popupContent.get('html'));
		popupContent.set('html', originalCPHContent);
	}

	switchContent();

	// Set Template height
	template.setStyle('height', Window.getScrollSize().y);
	// Set Stanley size and position
	innerTemplate.setStyle('height', height);
	innerTemplate.setStyle('width', width);
	// Set Height
	mm.setStyle('height', settings.height);
	ml.setStyle('height', settings.height);
	mr.setStyle('height', settings.height);
	// Set Width
	mm.setStyle('width', settings.width);
	tm.setStyle('width', settings.width);
	bm.setStyle('width', settings.width);

	// Get button
	var button = template.getElement('div.closeButton');

	var reposition = function () {
		var topPosition = Window.getScroll().y + ((Window.getSize().y - height) / 2);
		var leftPosition = (Window.getSize().x - width) / 2;
		innerTemplate.setStyle('top', topPosition);
		innerTemplate.setStyle('left', leftPosition);
	};

	var hideStanley = function () {
		template.style.display = 'none';
		button.removeEvent('click', button_click);
		window.removeEvent('resize', window_resize);
		//contentPlaceHolder.set('html', '');
		switchContent();
	};

	// Add window onReSize event to re-position the popup
	var window_resize = function () {
		reposition();
	};

	// Button click event
	var button_click = function () {
		hideStanley();
	};

	// Add events
	window.addEvent('resize', window_resize);
	button.addEvent('click', button_click);

	// Show Stanley
	reposition();
	template.style.display = 'block';
};

/***************/
/*  QuickPoll  */
/***************/

var GetPoll = function (listItemID, displayWidth, title, targetUrl) {
	var xmlDoc;
	var outputElement = $('pollContainer');
	new Request.HTML({
		method: 'get',
		url: '/_LAYOUTS/IITWeb.ForexTrading.SharePoint.Branding/Services/PollData.aspx',
		update: outputElement,
		noCache: true,
		onRequest: function () {
			outputElement.set('html', '<h2>Loading poll...</h2>');
		},
		onFailure: function (xhr) {
			outputElement.set('html', '<h2>Error loading poll.</h2>');
		}
	}).send('listItemID=' + listItemID + '&displayWidth=' + displayWidth + '&title=' + title + '&targetUrl=' + targetUrl + '&action=GetPoll');
}

var UpdatePoll = function (listItemID, displayWidth, title, targetUrl) {
    var answerID = $$('input[name=quickPoll]:checked').map(function (e) { return e.value; });
    if (answerID == '') return;
	var outputElement = $('pollContainer');
	var xmlDoc;
	new Request.HTML({
		method: 'get',
		url: '/_LAYOUTS/IITWeb.ForexTrading.SharePoint.Branding/Services/PollData.aspx',
		update: outputElement,
		noCache: true,
		onRequest: function () {
			outputElement.set('html', '<h2>Loading poll...</h2>');
		},
		onFailure: function (xhr) {
			outputElement.set('html', '<h2>Error loading poll.</h2>');
		}
	}).send('listItemID=' + listItemID + '&displayWidth=' + displayWidth + '&title=' + title + '&targetUrl=' + targetUrl + '&answerID=' + answerID + '&action=UpdatePoll');
}


/*************************************************************/
/*** MooTools domReady                                    ***/
/*** Scripts to run on every page when the DOM is loaded. ***/
/************************************************************/
window.addEvent('domready', function () {
    if (window.event !== undefined) {
        CoreInvoke('MMU_Open', this, null, event, false, null, 0);
    }
    if (typeof loadAccountsFromXML == 'function') {
        loadAccountsFromXML();
        accChange();
        ChangeFXSpreadControls("First");
    }
    // Enable the automatic hide of a default value in a text box
    showHideDefaultValue($$('.showHideDefaultValue'));
	new topNav;
	new loginNav;
	new FXTools;
});
/*************************************************************/
/*** Scripts FOX fx SPREAD v2 ***/
/************************************************************/
function clearControls() {
    document.getElementById("txtAccountSetID").value = "";
    document.getElementById("txtAccountSetName").value = "";
    document.getElementById("txtColumnNumber").value = "";
    document.getElementById("txtAccountSize").value = "";
    document.getElementById("txtTradeVolume").value = "";
    document.getElementById("txtAccountGuid").value = "";
    document.getElementById(document.getElementById("ddlAccountType").value).selectedIndex = 0;
    document.getElementById(document.getElementById("ddlSpreadType").value).selectedIndex = 0;
    document.getElementById("txtMessage").innerHTML = "";
}
function ChangeFXSpreadControls(status) {
    if (document.getElementById("ddlAccountType") == null)
        return;
    if (status == "First" || status == "Save" || status == "Delete") {
        document.getElementById(document.getElementById("ddlAccountType").value).disabled = "disabled";
        document.getElementById(document.getElementById("ddlSpreadType").value).disabled = "disabled";
        document.getElementById("txtAccountSetID").disabled = "disabled";
        document.getElementById("txtAccountSetName").disabled = "disabled";
        document.getElementById("txtColumnNumber").disabled = "disabled";
        document.getElementById("txtAccountSize").disabled = "disabled";
        document.getElementById("txtTradeVolume").disabled = "disabled";
        document.getElementById("txtAccountGuid").disabled = "disabled";
        document.getElementById("btnDelete").disabled = "disabled";
        document.getElementById("btnSave").disabled = "disabled";
        document.getElementById("btnAdd").disabled = "";
    }
    if (status == "Change") {
        document.getElementById(document.getElementById("ddlAccountType").value).disabled = "";
        document.getElementById(document.getElementById("ddlSpreadType").value).disabled = "";
        document.getElementById("txtAccountSetID").disabled = "";
        document.getElementById("txtAccountSetName").disabled = "";
        document.getElementById("txtColumnNumber").disabled = "";
        document.getElementById("txtAccountSize").disabled = "";
        document.getElementById("txtTradeVolume").disabled = "";
        document.getElementById("txtAccountGuid").disabled = "";
        document.getElementById("btnDelete").disabled = "";
        document.getElementById("btnSave").disabled = "";
        document.getElementById("btnAdd").disabled = "";
    }
    if (status == "Add") {
        document.getElementById(document.getElementById("ddlAccountType").value).disabled = "";
        document.getElementById(document.getElementById("ddlSpreadType").value).disabled = "";
        document.getElementById("txtAccountSetID").disabled = "";
        document.getElementById("txtAccountSetName").disabled = "";
        document.getElementById("txtColumnNumber").disabled = "";
        document.getElementById("txtAccountSize").disabled = "";
        document.getElementById("txtTradeVolume").disabled = "";
        document.getElementById("txtAccountGuid").disabled = "";
        document.getElementById("btnDelete").disabled = "disabled";
        document.getElementById("btnSave").disabled = "";
        document.getElementById("btnAdd").disabled = "disabled";
    }
}

function readXML() {
    var xml = "";
    if (document.getElementById("txtXML") == null)
        return;
    var txtXML = document.getElementById("txtXML").value;
    if (txtXML != "")
        xml = unescape(document.getElementById(txtXML).value);
    if (xml == "")
        xml = "<TradingConditionResponse></TradingConditionResponse>";
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async = "false";
    xmlDoc.loadXML(xml);
    return xmlDoc;
}
function loadAccountsFromXML() {
    var xmlDoc = readXML();
    if (xmlDoc == null)
        return;
    var AccountSets = xmlDoc.getElementsByTagName("AccountSet");
    var accountList = document.getElementById("AccountList");
    if (AccountSets.length == 0) {
        accountList.innerHTML = "";
        return;
    }
    accountList.options.length = 0;
    for (var i = 0; i < AccountSets.length; i++) {
        var Id = AccountSets[i].attributes.getNamedItem("Id").nodeValue;
        var Name = AccountSets[i].attributes.getNamedItem("Name").nodeValue;
        var AccountType = AccountSets[i].attributes.getNamedItem("AccountTypeName").nodeValue;
        var SpreadType = AccountSets[i].attributes.getNamedItem("SpreadTypeName").nodeValue;
        accountList.options[accountList.length] = new Option(Name + "-" + AccountType + "-" + SpreadType, Id);
    }
}
function jsDelete() {
    var id = document.getElementById("AccountList").value;
    if (id == "") {
        document.getElementById("txtMessage").innerHTML = "Select an account to delete from list.";
    }
    else {
        var xmlDoc = readXML();
        var AccountSets = xmlDoc.getElementsByTagName("AccountSet");
        for (var i = 0; i < AccountSets.length; i++) {
            if (AccountSets[i].attributes.getNamedItem("Id").nodeValue == id)
                AccountSets[i].parentNode.removeChild(AccountSets[i]);
        }
        var doc = xmlDoc.documentElement;
        if (doc !== null) {
            var txtXML = document.getElementById("txtXML").value;
            document.getElementById(txtXML).value = escape(doc.xml);
        }
    }
    clearControls();
    loadAccountsFromXML();
    ChangeFXSpreadControls("Delete");
}
function jsAdd() {
    var maxId = 0;
    var accList = document.getElementById("AccountList");
    for (var i = 0; i < accList.length; i++) {
        if (parseInt(accList.options[i].value) > parseInt(maxId)) {
            maxId = accList.options[i].value;
        }
    }
    clearControls();
    document.getElementById("txtAccountSetID").value = parseInt(maxId) + 1;
    ChangeFXSpreadControls("Add");
}
function jsSave() {
    var xmlDoc = readXML();
    var Id = document.getElementById("txtAccountSetID").value;
    if (Id == "") {
        document.getElementById("txtMessage").innerHTML = "Add new before save.";
        return;
    }
    if (document.getElementById("txtAccountSetName").value == "" || document.getElementById("txtAccountGuid").value == "") {
        document.getElementById("txtMessage").innerHTML = "Name or Id is required.";
        return;
    }
    var oXMLNode = xmlDoc.selectSingleNode("//TradingConditionResponse/AccountSet[@Id='" + Id + "']");
    var ddlAccountType = document.getElementById("ddlAccountType").value;
    var ddlSpreadType = document.getElementById("ddlSpreadType").value;
    if (oXMLNode == null) {
        var acc = xmlDoc.getElementsByTagName("TradingConditionResponse");
        var accSet = xmlDoc.createElement("AccountSet");
        accSet.setAttribute("Id", document.getElementById("txtAccountSetID").value);
        accSet.setAttribute("Name", document.getElementById("txtAccountSetName").value);
        accSet.setAttribute("AccountSize", document.getElementById("txtAccountSize").value);
        accSet.setAttribute("TradedVolume", document.getElementById("txtTradeVolume").value);
        accSet.setAttribute("ColumnNumber", document.getElementById("txtColumnNumber").value);
        accSet.setAttribute("AccountGuid", document.getElementById("txtAccountGuid").value);
        accSet.setAttribute("AccountType", document.getElementById(ddlAccountType).options[document.getElementById(ddlAccountType).selectedIndex].value);
        accSet.setAttribute("AccountTypeName", document.getElementById(ddlAccountType).options[document.getElementById(ddlAccountType).selectedIndex].text);
        accSet.setAttribute("SpreadType", document.getElementById(ddlSpreadType).options[document.getElementById(ddlSpreadType).selectedIndex].value);
        accSet.setAttribute("SpreadTypeName", document.getElementById(ddlSpreadType).options[document.getElementById(ddlSpreadType).selectedIndex].text);
        acc[0].appendChild(accSet);
    }
    else {
        oXMLNode.setAttribute("Name", document.getElementById("txtAccountSetName").value);
        oXMLNode.setAttribute("AccountSize", document.getElementById("txtAccountSize").value);
        oXMLNode.setAttribute("TradedVolume", document.getElementById("txtTradeVolume").value);
        oXMLNode.setAttribute("ColumnNumber", document.getElementById("txtColumnNumber").value);
        oXMLNode.setAttribute("AccountGuid", document.getElementById("txtAccountGuid").value);
        oXMLNode.setAttribute("AccountType", document.getElementById(ddlAccountType).options[document.getElementById(ddlAccountType).selectedIndex].value);
        oXMLNode.setAttribute("AccountTypeName", document.getElementById(ddlAccountType).options[document.getElementById(ddlAccountType).selectedIndex].text);
        oXMLNode.setAttribute("SpreadType", document.getElementById(ddlSpreadType).options[document.getElementById(ddlSpreadType).selectedIndex].value);
        oXMLNode.setAttribute("SpreadTypeName", document.getElementById(ddlSpreadType).options[document.getElementById(ddlSpreadType).selectedIndex].text);
    }
    var doc = xmlDoc.documentElement;
    if (doc !== null) {
        var txtXML = document.getElementById("txtXML").value;
        document.getElementById(txtXML).value = escape(doc.xml);
    }
    loadAccountsFromXML();
    clearControls();
    ChangeFXSpreadControls("Save");
}
function accChange() {
    if (document.getElementById("AccountList") == null)
        return;
    var id = document.getElementById("AccountList").value;
    var index = document.getElementById("AccountList").selectedIndex;
    if (id != null) {
        var ddlAccountType = document.getElementById("ddlAccountType").value;
        var ddlSpreadType = document.getElementById("ddlSpreadType").value;
        var xmlDoc = readXML();
        var AccountSets = xmlDoc.getElementsByTagName("AccountSet");
        for (var i = 0; i < AccountSets.length; i++) {
            if (AccountSets[i].attributes.getNamedItem("Id").nodeValue == id) {
                document.getElementById("txtAccountSetID").value = AccountSets[i].attributes.getNamedItem("Id").nodeValue;
                document.getElementById("txtAccountSetName").value = AccountSets[i].attributes.getNamedItem("Name").nodeValue;
                document.getElementById("txtAccountSize").value = AccountSets[i].attributes.getNamedItem("AccountSize").nodeValue;
                document.getElementById("txtAccountGuid").value = AccountSets[i].attributes.getNamedItem("AccountGuid").nodeValue;
                document.getElementById("txtTradeVolume").value = AccountSets[i].attributes.getNamedItem("TradedVolume").nodeValue;
                document.getElementById("txtColumnNumber").value = AccountSets[i].attributes.getNamedItem("ColumnNumber").nodeValue;
                SelectComboValue(document.getElementById(ddlAccountType), AccountSets[i].attributes.getNamedItem("AccountType").nodeValue);
                SelectComboValue(document.getElementById(ddlSpreadType), AccountSets[i].attributes.getNamedItem("SpreadType").nodeValue);
            }
        }
        var doc = xmlDoc.documentElement;
        if (doc != null) {
            var txtXML = document.getElementById("txtXML").value;
            document.getElementById(txtXML).value = escape(doc.xml);
        }
    }
    loadAccountsFromXML();
    document.getElementById("AccountList").selectedIndex = index;
    ChangeFXSpreadControls("Change");
}
function SelectComboValue(ddlSource, selectedVal) {
    for (var i = 0; i < ddlSource.options.length; i++) {
        if (ddlSource.options[i].value == selectedVal) {
            ddlSource.selectedIndex = i;
            break;
        }
    }
}

