function compileParamString (str, strParamName, value)
{
	if (str != "") str += ",";
	return str + strParamName + "=" + value;
}
//---------------------------------------------------------------------------
function showPopup (moduleID, title, left, top, width, height)//left=-1, right=-1, width=-1, height=-1)
{
	var str = "";
	if (left != -1) str = compileParamString (str, "left", left);
	if (top != -1) str = compileParamString (str, "top", top);
	if (width != -1) str = compileParamString (str, "width", width);
	if (height != -1) str = compileParamString (str, "height", height);
	if (str != "") str += ",";
	str += "hotkeys=0,scrollbars=1,menubar=0,resizable=1";
	var msgWindow = window.open("index.php?sid=" + moduleID, title, str);
	if (msgWindow != null) {
	    msgWindow.offscreenBuffering = true;
	    msgWindow.focus ();
	    msgWindow.scrollBy (0, 0);
	}
}
//---------------------------------------------------------------------------
function showConfirm (text)
{
	return confirm (text + getSignString ());
}
//---------------------------------------------------------------------------
function showAlert (text)
{
	alert (text + getSignString ());
}
//---------------------------------------------------------------------------
function getSignString ()
{
	return "";
}
//---------------------------------------------------------------------------
function applyRecords (strTemplate, arr, index)
{
	var i = 0;
	var str = strTemplate;
	for (i = 0; i < arr [0].length; i++) {
		str = replaceVar (str, arr [0][i], arr [index][i]);
	}
	return str;
}
//---------------------------------------------------------------------------
function getRecordsValue (arr, index, varName)
{
	var toRet = "";
	var i = 0;
	for (i = 0; i < arr [0].length; i++) {
		if (arr [0][i] == varName) {
			toRet = arr [index][i];
			break;
		}
	}
	return toRet;
}
//---------------------------------------------------------------------------
function replaceVar (str, varName, varValue)
{
	var old = str;
	while ((str = str.replace ("{" + varName + "}", varValue)) != old) {
		old = str;
	}
	return str;
}
//---------------------------------------------------------------------------
function indexOf (arr, str)
{
	var toRet = -1;
	var i = 0;
	for (i = 0; i < arr.length; i++)
		if (arr [i] == str) {
			toRet = i;
			break;
		}
	return toRet;
}
//---------------------------------------------------------------------------
function makeSorting (arr, indecies, str, bAscending)
{
	var columnIndex = indexOf (players [0], str);
	var i = 0;
	for (i = 0; i < arr.length - 1; i++)
		indecies [i] = i + 1;
	if (columnIndex != -1) {
		for (j = 0; j < indecies.length; j++) {
			var bChanged = false;
			for (i = 0; i < indecies.length - 1; i++) {
				var val1 = arr [indecies [i]][columnIndex];
				var val2 = arr [indecies [i + 1]][columnIndex];
				if ((bAscending && val2 < val1) || (!bAscending && val2 > val1)) {
					bChanged = true;
					var oldIndex = indecies [i];
					indecies [i] = indecies [i + 1];
					indecies [i + 1] = oldIndex;
				}
			}
			if (!bChanged) break;
		}
	}
}
//---------------------------------------------------------------------------
function onTextFocus (theControl)
{
	theControl.select ();
}
//---------------------------------------------------------------------------
function onSequencedTabClicked (theControl, theTraversal)
{
	if (event.keyCode==9) {
		theTraversal.focus ();
      	event.returnValue = false;
   	}
}
//---------------------------------------------------------------------------
function onCheckUploads (theControl)
{
    if (theControl.value != "") {
        var str = theControl.value;
        re = /(.jpg$)|(.jpeg$)|(.png$)|(.gif$)/i;
        if (str.search (re) == -1) {
            theControl.value = "";
            alert ("Only Jpg/Png/Gif files are allowed! ");
        }
    }
}
//---------------------------------------------------------------------------
function showSubDiv(divID, icon) {
	var div = document.getElementById(divID)
	var display = div.style.display
	div.style.display = display ? '' : 'none';
	icon.setAttribute("src", display ? icon.src.replace(/plus/, 'minus') : icon.src.replace(/minus/, 'plus'))
}
//---------------------------------------------------------------------------
function showDiv(divID) {
	var div = document.getElementById(divID)
	div.style.display = div.style.display == 'block' ? 'none' : 'block';
	return false;
}
//---------------------------------------------------------------------------
function checkBoxes(formName, elemPrefix) {
	form = document.forms[formName]
	for (var i=0; i<form.elements.length;i++)
		if (form.elements[i].getAttribute('type')=='checkbox' && form.elements[i].getAttribute('name').indexOf(elemPrefix)==0 && !form.elements[i].disabled)
			form.elements[i].checked = form.elements[i].checked ? '' : 'checked';
}
//---------------------------------------------------------------------------
function multiSelectCheck(name1,name2)
{
	el = document.getElementById(name1);
	bool = document.getElementById(name2).checked;
	for ( i=0; i<el.options.length; i++){
		el.options[i].selected = bool;
	}
}
