/**
 * AzTFund JS Function Collection Jan 16, 2004
 * <a href="mailto:peter.bokor@hungary.com">Peter Bokor</a>, Hungary.Network Inc.
 *
 * STRING HANDLERS
 * - <String>.isEmail([boolean strict]) : boolean
 * - <String>.isNumber([boolean strict]) : boolean
 * - <String>.trim() : String
 *
 * WINDOW HANDLERS
 * - whandler.copyback(Array options, String destid[, boolean distinct]) : void
 * - whandler.feedback(String expression1[, ... String expressionN]) : void
 * - whandler.grid(String type, String owner, String grid, String action) : void
 * - whandler.reframe(String frameid[, String inputid[, String defvalue]]) : void
 * - window.popup(String url[, int width, int height]) : void
 *
 * FORM HANDLERS
 * - fhandler.enable(String form1id[, String form2id[, ... String formNid]]) : void
 * - fhandler.getValueCheck(String form1id[, String form2id[, ... String formNid]]);
 * - fhandler.info(Array infoDesc, Array infoData[, String selected[, String related]]) : void
 * - fhandler.initValueCheck(String form1id[, String form2id[, ... String formNid]]) : void
 * - fhandler.isValueExist(String inputid, RegExp pattern) : boolean
 * - fhandler.selectRow(Object rowobj, String pattern, String inputid) : void
 * - fhandler.setAccessStyle(String form1id[, String form2id[, ... String formNid]]) : void
 * - fhandler.remove(String input1id[, String input2id[, ... String inputNid]]) : void
 *
 * SELECT HANDLERS
 * - shandler.copy(Array options, String destid[, boolean distinct]) : void
 * - shandler.filter(String inputid, String selectid) : void
 * - shandler.isMoreSelected(String selectid) : boolean
 * - shandler.search(String inputid, String selectid) : void
 * - shandler.select(String select1id[, String select2id[, ... String selectNid]]) : void
 * - shandler.deselect(String select1id[, String select2id[, ... String selectNid]]) : void
 */

/**
 * Registering required objects into the DOM:
 * - whandler: Window level functions
 * - dhandler: Document level functions
 * - fhandler: Form level functions
 * - shandler: Select level functions
 */
if (!window.whandler) window.whandler = new Object();
if (!window.dhandler) window.dhandler = new Object();
if (!window.fhandler) window.fhandler = new Object();
if (!window.shandler) window.shandler = new Object();

if (!shandler.options) shandler.options = new Object();
if (!shandler.options.src) shandler.options.src = new Array();
if (!shandler.options.link) shandler.options.link = new Array();
   

// STRING HANDLERS

/**
 * <String>.isEmail([boolean strict]) : boolean
 *
 * Description: Test if this string represents a valid e-mail address.
 *              Syntax of e-mails: S[S[...]]@S[S[...]].S[S[...]] where S is a non-whitespace char.
 * Parameters:  strict - if true the empty string (trimmed variant) is invalid.
 */
function isEmailString(strict) {
	return (!strict || this.trim().length > 0) && this.replace(/^\S+@\S+\.\S+$/, "").length == 0;
} String.prototype.isEmail = isEmailString;

/**
 * <String>.isNumber([boolean strict]) : boolean
 *
 * Description: Test if this string represents a valid number.
 *              Syntax of numbers: [-]D[D[...]][.[D[...]]] where D is a digit [0..9]
 * Parameters:  strict - if true the empty string (trimmed variant) is invalid.
 */
function isNumberString(strict) {
	return (!strict || this.trim().length > 0) && this.replace(/^-?\d+(\.\d*)?$/, "").length == 0;
} String.prototype.isNumber = isNumberString;

/**
 * <String>.trim() : String
 *
 * Description: Returns a copy of the string, with leading and trailing whitespace omitted.
 * Whitespaces: '\t'(tabulator), '\n'(new line), '\r'(carriage return), '\f'(form feed) and ' '(space).
 */
function trimString() {
	return this.replace(/^\s+|\s+$/g, "");
} String.prototype.trim = trimString;

// WINDOW HANDLERS

/**
 * fhandler.feedback(String expression1[, ... String expressionN]) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function feedbackWindow() {

	var args = new Array(2);
	var targetids, targetobj;

	for (var i = 0; i < arguments.length; i++) {

		// Request data and target ids from arguments
		if (arguments[i].indexOf("=") > 0) {
			args[0] = arguments[i].substring(0, arguments[i].indexOf("="));
			args[1] = arguments[i].substring(arguments[i].indexOf("=") + 1);
		} else continue;

		//Parse target ids
		targetids = args[0].match(/[\w\.]+/g);
		for (var k = 0; k < targetids.length; k++) {

			// Get object from target id and set property of target object
			if (targetids[k].indexOf(".") < 0) targetobj = opener.document.getElementById(targetids[k]);
			else targetobj = opener.document.getElementById(targetids[k].substring(0, targetids[k].indexOf(".")));
			if (!targetobj) continue;

			if (targetobj.options) {
				targetobj.length++;
				targetobj = targetobj.options[targetobj.length - 1];
				if (!targetobj) targetobj = targetobj.options[targetobj.length - 1] = new Option();
				targetobj.value = args[1]; targetobj.text = args[1];
			} else {
				eval("targetobj" + targetids[k].substring(targetids[k].indexOf(".")) + "=args[1]");
				if (targetobj.disabled || targetobj.readOnly) targetobj.title=args[1];
			}

		}

	}

	if (opener.fhandler) opener.fhandler.isModified = true;

	close();

} whandler.feedback = feedbackWindow;

/**
 *
 */
function copybackWindow(options, destid, distinct) {

	var destobj = opener.document.getElementById(destid);

	if (destobj && destobj.options) copySelectOptions(options, destobj, distinct);
	if (opener.fhandler) opener.fhandler.isModified = true;

} whandler.copyback = copybackWindow;

/**
 *
 */
function copybackWindowII(options, destid, distinct) {

	var destobj = opener.document.getElementById(destid);

	if (destobj && destobj.options) copySelectOptionsII(options, destobj, distinct);
	if (opener.fhandler) opener.fhandler.isModified = true;

} whandler.copybackII = copybackWindowII;


function copySelectOptionsII(options, destobj, distinct) {

	for (var i = 0; i < options.length; i++) {
		
		var arr = options[i][1].split( '-' ) ;
		var optionRegExp = '[0-9,\,\.]+' ;
		// skip the first(0.) element
		for ( j = 1 ; j < arr.length ; j++ )
			optionRegExp += '-' + arr[j] ;
		
		if (distinct && isValueExistForm(destobj, new RegExp("^" + optionRegExp + "$"))) continue;
		destobj.length++;
		destobj.options[destobj.length - 1].value = options[i][1];
		destobj.options[destobj.length - 1].text = options[i][0];
	}

}







/**
 * whandler.grid(String type, String owner, String grid, String action) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function gridWindow(type, prename, action, height) {

	// Determine DOM document of Internal Frame
	var iframeobj;
	for (var i = 0; i < window.frames.length && !iframeobj; i++)
		if (window.frames[i].name == prename + "Grid") iframeobj = window.frames[i].document;

	// Generate URL and pop up a window
	var popupurl = "popup" + type + prename + ".html" +
		"?ownerType=" + iframeobj.getElementById("ownerType").value +
		"&ownerId=" + iframeobj.getElementById("ownerId").value +
		"&mod=" + action;
	if (action == "edit") popupurl += "&id=" + iframeobj.getElementById("id").value;

	popupWindow(popupurl, 500, height ? height : 500);

} whandler.grid = gridWindow;

/**
 * whandler.reframe(String frameid[, String inputid[, String defvalue]]) : void
 *
 * Description: ...
 * Parameters:  ...
*/

function reframeWindow(frameid) {

	var frameobj;

	for (var i = 0; i < window.opener.frames.length && !frameobj; i++)
		if (window.opener.frames[i].name == frameid) frameobj = window.opener.frames[i];
	if (!frameobj) return;

	frameobj.location.href =
		buildUrl(frameobj.location.href.replace(new RegExp("[?&]defId=[^&]+", "gi"), ""), "defId=id");

	window.close();

} whandler.reframe = reframeWindow;

/**
 * window.popup(String url[, int width, int height]) : void
 *
 * Desc:   Opens a new web browser window and the URL in it. The window will show in the middle
 *         of the screen. If you omit width and height the function generates these from the
 *         screen resolution (for example: 1024x768 -> 624x568). Note: the only enabled feautes
 *         in the new window are the horizontal and vertical scroll bars.
 * Params: url    - a string specifying the URL to open in the new window
 *         width  - width of the new window in pixels (the minimum value is 100)
 *         height - height of the new window in pixels (the minimum value is 100)
 */
function popupWindow(url, width, height) {

	var left, top;

	if (!width) width = screen ? screen.width - 400 : 500;
	if (!height) height = screen ? screen.height - 200 : 500;
	left = screen ? (screen.width - width) / 2 : 150;
	top = screen ? (screen.height - height) / 4 : 50;

	window.open(url,"_blank","left="+left+",top="+top+",width="+width+",height="+height+",resizable=1,scrollbars=1");

} window.popup = popupWindow;

// FORM HANDLERS

/**
 * fhandler.check(Object input, String checkid) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function checkForm(inputobj, checkid) {
      if(inputobj.name == "investmentGeography"){
        for(i=0;i<inputobj.options.length;i++){
          if(inputobj.options[i].selected && inputobj.options[i].value == 1){
             for(j=0;j<inputobj.options.length;j++){
               if(inputobj.options[j].value == 2 || inputobj.options[j].value == 3 || inputobj.options[j].value == 4 || inputobj.options[j].value == 5)  inputobj.options[j].selected = true;
             }
          }

          if(inputobj.options[i].selected && inputobj.options[i].value == 6){
             for(j=0;j<inputobj.options.length;j++){
               if(inputobj.options[j].value == 7 || inputobj.options[j].value == 8 || inputobj.options[j].value == 9 || inputobj.options[j].value == 10)  inputobj.options[j].selected = true;
             }
          }

          if(inputobj.options[i].selected && inputobj.options[i].value == 14){
             for(j=0;j<inputobj.options.length;j++){
               if(inputobj.options[j].value == 15 || inputobj.options[j].value == 17)  inputobj.options[j].selected = true;
             }
          }

          if(inputobj.options[i].selected && inputobj.options[i].value == 18){
             for(j=0;j<inputobj.options.length;j++){
               inputobj.options[j].selected = true;
             }
          }

        }
      }
	var inputid = inputobj.id ? inputobj.id : inputobj.name;
	var checkobj = document.getElementById(checkid ? checkid :
		("ck" + inputid.charAt(0).toUpperCase() + inputid.substring(1)));
	if (checkobj) checkobj.checked = inputobj.value && inputobj.value.length > 0;

} fhandler.check = checkForm;

// Set 'isModified' variable true.

function valueCheckForm(formevent) {

	fhandler.isModified = true;

} fhandler.valueCheck = valueCheckForm;

/**
 * - fhandler.initValueCheck(String form1id[, String form2id[, ... String formNid]]);
 */
function initValueCheckForm() {

	var element, formobj;

	for (var i = 0; i < arguments.length; i++) {
		formobj = document.getElementById(arguments[i]);
		if (!formobj || !formobj.elements) continue;
		for (var j = 0; j < formobj.elements.length; j++) {
			element = formobj.elements[j];
			if (element.type.search(/checkbox|file|password|radio|select|text|textarea/i) == 0 &&
				!element.disabled && !element.readonly) {
				if (typeof(element.onchange) == "undefined" || element.onchange == null)
					element.onchange = valueCheckForm;
				else
					element.onchange = new Function(element.onchange.toString().substring(
						element.onchange.toString().indexOf("{") + 1, element.onchange.toString()
						.lastIndexOf("}")) + "valueCheckForm();");
			}
		}
	}

} fhandler.initValueCheck = initValueCheckForm;

/**
 * - fhandler.getValueCheck(String funcSign);
 */
function getValueCheckForm(funcSign) {

	if (!fhandler.isModified || confirm("WARNING!\n\nIf you leave this form " +
		"unsaved changed values will be lost.\nAre you sure?")) eval(funcSign);

} fhandler.getValueCheck = getValueCheckForm;

/**
 * fhandler.enable(String form1id[, String form2id[, ... String formNid]]) : void
 *
 * Description: Sets the status of the objects of the specified form(s) to enabled. If an element
 *              has not 'disabled' property or already enabled the status will not change.
 * Parameters:  form1id, form2id, ... - the IDs of the first, second, etc. FORM elements.
 */
function enableForm() {

	var element, formobj;

	for (var i = 0; i < arguments.length; i++) {
		formobj = document.getElementById(arguments[i]);
		if (!formobj || !formobj.elements) continue;
		for (var j = 0; j < formobj.elements.length; j++) {
			element = formobj.elements[j];
			if (element.disabled) element.disabled = false;
		}
	}

} fhandler.enable = enableForm;

/**
 * fhandler.info(Array infoDesc, Array infoData[, String selected[, String related]]) : void
 *
 * Desc:   ...
 * Params: ...
 */

function infoForm(infoDesc, infoData, selected, related) {

	var target, sources;

	if (selected) for (var i = 0; i < infoData.length && !sources; i++)
		if ((!related && infoData[i][0] == selected) ||
			(related && infoData[i][0] == related + "-" + selected))
			sources = infoData[i].slice(1, infoData[i].length);

	for (var j = 0; j < infoDesc.length; j++) {
		target = document.getElementById(infoDesc[j]);
		target.value = (sources && j < sources.length) ? sources[j] : "";
	}

} fhandler.info = infoForm;

/*
 * fhandler.isValueExist(String inputid, RegExp pattern) : boolean
 */
function isValueExistForm(input, pattern) {

	var option;

	if (!input && !pattern) return false;

	if (input.options) {
		for (var i = 0; i < input.length; i++)
			if (input.options[i].value.search(pattern) >= 0) return true;
		return false;
	} else return input.value.search(pattern) >= 0;

} fhandler.isValueExist = isValueExistForm;

/**
 * fhandler.setAccessStyle(String form1id[, String form2id[, ... String formNid]]) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function setAccessStyleForm() {

	var element, formobj;

	for (var i = 0; i < arguments.length; i++) {
		formobj = document.getElementById(arguments[i]);
		if (!formobj || !formobj.elements) continue;
		for (var j = 0; j < formobj.elements.length; j++) {
			element = formobj.elements[j];
			if ((element.disabled || element.readOnly) && element.style.backgroundColor != "white")
				element.style.backgroundColor = "white";
			if (!element.disabled && !element.readOnly && element.style.backgroundColor != "#E5F2F8")
				element.style.backgroundColor = "#E5F2F8";
		}
	}

} fhandler.setAccessStyle = setAccessStyleForm;

/**
 * fhandler.setFocus(String formid[, String inputid]) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function setFocusForm() {

	var element, formobj;

	formobj = document.getElementById(arguments[0]);
	if (!formobj || !formobj.elements) return;
	if (arguments[1]) element = document.getElementById(arguments[1]);
	else element = formobj.elements[0];
	if (element) element.focus();

} fhandler.setFocus = setFocusForm;

/**
 * fhandler.remove(String input1id[, String input2id[, ... String inputNid]]) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function removeForm() {

	var element, options;

	for (var i = 0; i < arguments.length; i++) {
		element = document.getElementById(arguments[i]);
		if (!element) continue;
		if (element.options) {
			options = new Array();
			for (var j = 0; j < element.length; j++)
				if (!element.options[j].selected) {
					options[options.length] =
						new Option(element.options[j].text, element.options[j].value);
					fhandler.isModified = true;
				}
			element.length = options.length;
			for (var k = 0; k < options.length; k++) element.options[k] = options[k];
		} else {
			if (element.value && element.value.length > 0) fhandler.isModified = true;
			element.value = "";
		}
	}

} fhandler.remove = removeForm;

// Append the source object to the end of the options (options must be an array).

function addSelectOption(options, source) {
	options[options.length] = source;
}

// ...

function copySelectOptions(options, destobj, distinct) {

	for (var i = 0; i < options.length; i++) {
		if (distinct && isValueExistForm(destobj, new RegExp("^" + options[i][1] + "$"))) continue;
		destobj.length++;
		destobj.options[destobj.length - 1].value = options[i][1];
		destobj.options[destobj.length - 1].text = options[i][0];
	}

}

// ...

function getByParentSelect(options, parent) {

	var element;
	if (options[1] == parent) element = document.getElementById(options[0]);
	if (element) return element;

}

// ...

function fillLinkSelect(element, options) {

	element.options.length = 0;
	if (options) for (var i = 0; i < options.length; i++)
		element.options[element.options.length] = options[i];
	element.disabled = !(options && options.length > 0);

}

/**
 * 
 */
function setLinkSelect(element, options) {

	var child;

	// Set initial value if exist then remove it
	if (options) for (var i = 0; i < options[3].length && options.length > 4; i++)
		if (options[3][i].value == options[4]) {
			element.selectedIndex = i;
			options.length = 4;
		}

	for (var i = 0; i < shandler.options.link.length; i++) {
		child = getByParentSelect(shandler.options.link[i], element.id);
		if (!child) continue;
		if (element.value && element.value.length > 0) {
			if (shandler.options.link[i][2] == element.value)
				fillLinkSelect(child, shandler.options.link[i][3]);
		} else fillLinkSelect(child);
		setLinkSelect(child, shandler.options.link[i]);
	}

} shandler.setLink = setLinkSelect;

/**
 * 
 */
function initLinkSelect() {

	var element;

	for (var i = 0; i < shandler.options.link.length; i++) {
		element = getByParentSelect(shandler.options.link[i], null);
		if (!element) continue;
		fillLinkSelect(element, shandler.options.link[i][3]);
		setLinkSelect(element, shandler.options.link[i]);
	}

} shandler.initLink = initLinkSelect;

/**
 * shandler.filter(String inputid, String selectid) : void
 *
 * Desc:   Replaces (reduces or expands) the OPTION list depend on the specified pattern.
 *         First of all it creates a backup of OPTION list to provide expansions.
 * Params: inputid  - The ID of input element which contains the pattern (as a value).
 *         selectid - The ID of the target SELECT element (function has effect on it).
 */
function filterSelect(inputid, selectid) {

	var size = 0;
	var inputobj = document.getElementById(inputid);
	var pattern = inputobj.value.toLowerCase();
	var source, options = document.getElementById(selectid).options;

	// Look up a saved version of the OPTION list.
	if (shandler.options.src)
		for (var i = 0; i < shandler.options.src.length && !source; i++)
			if (shandler.options.src[i][0] == selectid)
				source = shandler.options.src[i][1];

	// Create a copy from the OPTION list.
	if (!source) {
		source = new Array(options.length);
		for (var j = 0; j < source.length; j++)
			source[j] = new Array(options[j].text, options[j].value, options[j].text.toLowerCase());
		shandler.options.src[shandler.options.src.length] = new Array(selectid, source);
	}

	// Refresh OPTION list depend on the value of TEXT element.
	options.length = source.length;
	document.getElementById(selectid).selectedIndex = -1;
	for (var k = 0; k < source.length; k++)
		if (source[k][2].indexOf(pattern) != -1) {
			options[size].text = source[k][0];
			options[size].value = source[k][1];
			size++;
		}

	// Recursive calling to re-filter after delete the last invalid char.
	if (size == 0 && inputobj.value > 0) {
		inputobj.value = inputobj.value.substring(0, inputobj.value.length - 1);
		filterSelect(inputid, selectid);
	} else options.length = size;

} shandler.filter = filterSelect;

/*
 * shandler.isMoreSelected(String selectid) : boolean
 */
function isMoreSelectedSelect(selectid) {

	var more = false;
	var element = document.getElementById(selectid);
	if (element.selectedIndex < 0) return false;

	var first = element.selectedIndex + 1;
	var last = element.length - 1;

	while (first <= last && !more) {
		more = element.options[first].selected || element.options[last].selected;
		first++; last--;
	}

	return more;

} shandler.isMoreSelected = isMoreSelectedSelect;

/**
 * shandler.search(String inputid, String selectid) : void
 *
 * Description: Selects the first partial matched (word prefix) OPTION element (case insensitive).
 * Parameters:  inputid  - The ID of input element which contains the pattern (as a value).
 *              selectid - The ID of the target SELECT element (function has effect on it).
 */
function searchSelect(inputid, selectid) {

	var matched = false;
	var inputobj = document.getElementById(inputid);
	var pattern = inputobj.value.toLowerCase();
	var options = document.getElementById(selectid).options;

	document.getElementById(selectid).selectedIndex = -1;

	// Select the first occurence which begins with the pattern.
	for (var i = 0; i < options.length && !matched; i++)
		if (options[i].text.toLowerCase().indexOf(pattern) == 0)
			matched = options[i].selected = true;

	// Recursive calling to re-search after delete the last invalid char.
	if (!matched && inputobj.value.length > 0) {
		inputobj.value = inputobj.value.substring(0, inputobj.value.length - 1);
		searchSelect(inputid, selectid);
	}

} shandler.search = searchSelect;

/**
 * shandler.select(String select1id[, String select2id[, ... String selectNid]]) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function selectSelect() {

	var element;

	for (var i = 0; i < arguments.length; i++) {
		element = document.getElementById(arguments[i]);
		if (element && element.options && element.multiple)
			for (var j = 0; j < element.length; j++)
				element.options[j].selected = true;
	}

} shandler.select = selectSelect;

/**
 * shandler.deselect(String select1id[, String select2id[, ... String selectNid]]) : void
 *
 * Description: ...
 * Parameters:  ...
 */
function deselectSelect() {

	var element;

	for (var i = 0; i < arguments.length; i++) {
		element = document.getElementById(arguments[i]);
		if (element && element.options) {
			if (element.multiple)
				for (var j = 0; j < element.length; j++)
					element.options[j].selected = false;
			else element.selectedIndex = -1;
		}
	}

} shandler.deselect = deselectSelect;

/*
 * Compare functions
 */
function compareByDateSelect() {

	var leftdate = arguments[0].text.substring(arguments[0].text.lastIndexOf(' ') + 1);
	var rightdate = arguments[1].text.substring(arguments[1].text.lastIndexOf(' ') + 1);

	if (leftdate > rightdate) return -1;
	else if (leftdate < rightdate) return 1;
	else return 0;

} shandler.compareByDate = compareByDateSelect;

function compareByTextSelect() {

	var lefttext = arguments[0].text.toLowerCase();
	var righttext = arguments[1].text.toLowerCase();

	if (lefttext < righttext) return -1;
	else if (lefttext > righttext) return 1;
	else return 0;

} shandler.compareByText = compareByTextSelect;

/*
 * Sort options of given select element
 */
function sortSelect(selectid, compareFunction) {

	var selectobj = document.getElementById(selectid);
	var arr = new Array(selectobj.length);

	for (var i = 0; i < arr.length; i++)
		arr[i] = new Option(selectobj.options[i].text, selectobj.options[i].value);

	arr = (compareFunction ? arr.sort(compareFunction) : arr.sort());

	for (var j = 0; j < arr.length; j++) {
		selectobj.options[j].text = arr[j].text;
		selectobj.options[j].value = arr[j].value;
	}

} shandler.sort = sortSelect;

function sortbackSelect(selectid, compareFunction) {

	var selectobj = opener.document.getElementById(selectid);
	var arr = new Array(selectobj.length);

	for (var i = 0; i < arr.length; i++)
		arr[i] = new Option(selectobj.options[i].text, selectobj.options[i].value);

	arr = (compareFunction ? arr.sort(compareFunction) : arr.sort());

	for (var j = 0; j < arr.length; j++) {
		selectobj.options[j].text = arr[j].text;
		selectobj.options[j].value = arr[j].value;
	}

} shandler.sortback = sortbackSelect;

/**
 * location.getParameter(String name) : String
 *
 * Returns the value of an URL parameter, or an empty string if the parameter does not exist
 * or not specified. Parameters are contained in the query string part of URL.
 * Parameters: name - a string specifying the name of the parameter
 * Returns: a string representing the single value of the parameter
 */
function getParameterLocation(name) {

	var url = location.href;
	var pattern = new RegExp("[?&]" + name + "=[^&]+");

	if (url.search(pattern) < 0) return "";
	else return url.match(pattern)[0].substring(url.match(pattern)[0].indexOf("=") + 1);

} location.getParameter = getParameterLocation;

function buildUrl (base) {

	var url = base ;
	if (base.indexOf('?') == -1) url += "?" ;

	for (var i = 1; i < arguments.length; i++) {

		var pName = arguments[i].substring(0, arguments[i].indexOf("="));
		var pObj = document.getElementById(arguments[i].substring(arguments[i].indexOf("=") + 1, arguments[i].length));
		var pVal = '';

		if (pObj.type.search('select') == 0) {
			if (pObj.selectedIndex > -1)
			pVal = pObj.options[pObj.selectedIndex].value;
		} else pVal = pObj.value ;	

		url += "&" + pName + "=" + pVal;

	}

	return url ;

}

/**
 * Math.convertDouble(String source) : String
 *
 * Convert the given number to a formatted double which will trimmed and contain
 * one decimal separator and zero or more grouping separators (for thousands).
 * Parameters: source - a string represents an unformatted number
 * Returns: a string represents a formatted double
 */
function convertDoubleMath(source) {

	// Remove whitespaces and add a decimal separator (if needed)
	var formatted = source.replace(/\s+/g, "");
	if (formatted.indexOf(".") < 0) formatted += ".";

	// Remove worthless zero characters
	formatted = formatted.replace(/^0+|0+$/g, "").replace(/^\./, "0.").replace(/\.$/, ".0");

	// Add grouping separators
	var gs = formatted.indexOf(".");
	while ((gs -= 3) > 0) formatted = formatted.substring(0, gs) + "," + formatted.substring(gs);

	return formatted;

} Math.convertDouble = convertDoubleMath;



/**
 * Enable only number input.
 * Usage: onkeyup="numOnly(this)"
 */
function numOnly(inputobj) {
    var inputval = inputobj.value;
    if (inputval != null && inputval.length>0 && 
								inputval.replace(/^\d+$/, "").length > 0) {
    	inputobj.value = inputval.substring(0, inputval.length - 1);
    }
};




top.updateContainer = function(admin) {
        var DEFAULT_HEIGHT = 500;
        var iframe, ibody, iheight;
        var iframeids=["forumFrame","forumLoginFrame"];

        for (i=0; i<iframeids.length; i++){
                if (document.getElementById) { //begin resizing iframe procedure
                        iframe = document.getElementById(iframeids[i]);
                        if (iframe) {

                                // DOM, Mozilla
                                if (typeof iframe.contentDocument != 'undefined') {
                                        ibody = iframe.contentDocument.body;
                                        iheight = ibody.offsetHeight + 20;
                                }
                                // Internet Explorer
                                else if (typeof iframe.contentWindow != 'undefined') {
                                        ibody = iframe.contentWindow.document.body;
                                        iheight = ibody.scrollHeight;
                                }
                                else
                                        iheight = DEFAULT_HEIGHT;

                                if (admin == 1)
                                        iheight=1400;
                                iframe.style.height = iheight + 'px';
                        }
                }
        }

}

try {
	setTimeout(rajta,2000);
}
catch(err){
	
}

function rajta() {
	try {
		document.getElementById('SP_ann').options[0].text="Liszt Ferenc";
		document.getElementById('SP_ann').options[0].value="D999_anniversary_201478";
	}
	catch(err){
		
	}
}

window.onload=rajta;

