function openWindow(URL, WndName, winWidth, winHeight)
{
	screenWidth = screen.width;
	screenHeight = screen.height;
	
	winXPos = (screenWidth / 2) - (winWidth / 2);
	winYPos = (screenHeight / 2) - (winHeight / 2);
	
	wnd = window.open(URL, WndName, "resizable=1,width=" + winWidth + ",height=" + winHeight + ",menubar=0,location=0,toolbar=0,scrollbars=1,status=1");
	wnd.focus();
	
	wnd.outterwidth = winWidth;
	wnd.outterheight = winHeight;
	wnd.resizeTo(winWidth, winHeight);
	
	wnd.moveTo(winXPos, winYPos);
}

function showDir(ID, DirPlus, DirMinus)
{
	elem = document.getElementById(ID);
	img = document.getElementById(ID + '_img');
	
	if (elem.style.display == 'inline')
	{
		elem.style.display = 'none';
		img.src = DirPlus.src;
	}
	else
	{
		elem.style.display = 'inline';
		img.src = DirMinus.src;
	}
}

function getOffsetTop(hElem)
{
	TopPos = 0;
	
	if (hElem.offsetParent)
	{
		while (hElem.offsetParent)
		{
			TopPos += hElem.offsetTop;
			hElem = hElem.offsetParent;
		}
	}
	
	return TopPos;
}

function getOffsetLeft(hElem)
{
	LeftPos = 0;
	
	if (hElem.offsetParent)
	{
		while (hElem.offsetParent)
		{
			LeftPos += hElem.offsetLeft;
			hElem = hElem.offsetParent;
		}
	}
	
	return LeftPos;
}

function openLink(href, targetWindow)
{
	window.open(href, targetWindow);
	//document.getElementById(targetWindow).location.href = href;
}

function MoveUp(elemID)
{
	if (elemID == null) elemID = 'SortingOrder';
	
	var elem = document.getElementById(elemID);
	var SelPos = parseInt(elem.options.selectedIndex);
	
	if (SelPos <= 0)
		return false;
	
	var NewPos = SelPos-1;
	var itemUp = elem.options[SelPos];
	var newElem = document.createElement("option");
	
	newElem.text = itemUp.text;
	newElem.value = itemUp.value;
	
	elem.remove(SelPos);
	
	if (document.selection && document.selection.createRange)
	{ // IE
		elem.add(newElem, NewPos);
	}
	else if (window.getSelection)
	{ // Firefox
		elem.add(newElem, elem.options[NewPos]);
	}
	else
		return false;
	
	elem.options[NewPos].selected = true;
}


function MoveDown(elemID)
{
	if (elemID == null) elemID = 'SortingOrder';
	
	var elem = document.getElementById(elemID);
	var SelPos = parseInt(elem.options.selectedIndex);
	
	if (SelPos == elem.length-1) return false;
	
	var NewPos = SelPos+1;
	var itemUp = elem.options[SelPos];
	var newElem = document.createElement("option");
	
	newElem.text = itemUp.text;
	newElem.value = itemUp.value;
	
	elem.remove(SelPos);
	
	if (document.selection && document.selection.createRange)
	{ // IE
		elem.add(newElem, NewPos);
	}
	else if (window.getSelection)
	{ // Firefox
		elem.add(newElem, elem.options[NewPos]);
	}
	else
		return false;
	
	elem.options[NewPos].selected = true;
}

function InsertSelectItem(fromField, elemID, bIsSelect)
{
	if (elemID == null) return false;
	if (bIsSelect == null || bIsSelect != true) bIsSelect = false;
	
	var elem = document.getElementById(elemID);
	var fromElem = document.getElementById(fromField);
	
	var NewPos = parseInt(document.getElementById(elemID).options.length);

	if (NewPos < 0)
		return false;
		
	var newElem = document.createElement("option");
	
	if (bIsSelect == false)
	{
		newElem.text = fromElem.value;
		newElem.value = fromElem.value;
	}
	else
	{
		newElem.text = fromElem.options[fromElem.options.selectedIndex].text;
		newElem.value = fromElem.options[fromElem.options.selectedIndex].value;
	}
	
	if (document.selection && document.selection.createRange)
	{ // IE
		elem.add(newElem, NewPos);
	}
	else if (window.getSelection)
	{ // Firefox
		elem.add(newElem, elem.options[NewPos]);
	}
	else
		return false;
	
	elem.options[NewPos].selected = true;
}

function RemoveSelectItem(elemID)
{
	if (elemID == null) return false;
	
	var elem = document.getElementById(elemID);
	
	elem.remove(elem.options.selectedIndex);
}


function CollectValuesFromSelect(fromElemID, toElemID, strSeparator)
{
	if (fromElemID == null || toElemID == null) return false;
	if (strSeparator == null) strSeparator = ',';
	
	elemFrom = document.getElementById(fromElemID);
	elemTo = document.getElementById(toElemID);
	
	var strValues = "";
	
	for (i = 0; i < elemFrom.options.length; i++)
	{
		strValues += elemFrom.options[i].value;
		
		if (i < elemFrom.options.length-1) strValues += strSeparator;
	}
	
	elemTo.value = strValues;
}

function CollectShopItemAmount(elemIDs){
	if (elemIDs == null) elemIDs = "amount";
	Amount = document.getElementsByName(elemIDs)[0].value;
	if ( IsNumeric(Amount)  ){
		return Amount;
	}else{
		return "1";
	}
}
function CollectShopItemSubProperties(elemIDs){
	if (elemIDs == null) elemIDs = "select";
	SubProperties = document.getElementsByName(elemIDs)[0].value;
	if ( SubProperties ){
		return SubProperties;
	}else{
		return "";
	}
}
function CollectShopItemProperties(elemIDs)
{
	if (elemIDs == null) elemIDs = "ECMShopProperty[]";
	
	aElems = document.getElementsByName(elemIDs);
	
	var retval = new String("");

	for (i = 0; i < aElems.length; i++){
		if (aElems[i].type == 'checkbox' && aElems[i].checked){
			var strTmp = new String(aElems[i].value);
			var aTmp = strTmp.split("|");
			if ( aTmp[1] ){
				retval += aTmp[0] + ':' + aTmp[1] + ';';
			}else{
				retval += aTmp[0] + ';';
			}
		}else if (aElems[i].type == 'select-one'){
			var strTmp = new String(aElems[i].options[aElems[i].selectedIndex].value);
			var aTmp = strTmp.split("|");
			if ( aTmp[1] ){
				retval += aTmp[0] + ':' + aTmp[1] + ';';
			}else{
				retval += aTmp[0] + ';';
			}
		}else if (aElems[i].type == 'radio' && aElems[i].checked){
			var strTmp = new String(aElems[i].value);
			var aTmp = strTmp.split("|");
			if ( aTmp[1] ){
				retval += aTmp[0] + ':' + aTmp[1] + ';';
			}else{
				retval += aTmp[0] + ';';
			}
		}else if (aElems[i].type == 'hidden'){
			var strTmp = new String(aElems[i].value);
			var aTmp = strTmp.split("|");
			if ( aTmp[1] ){
				retval += aTmp[0] + ':' + aTmp[1] + ';';
			}else{
				retval += aTmp[0] + ';';
			}
		}
	}
	//alert(retval);
	return retval;
}

function CheckPassword(elemIdFirst, elemIdSecond, iMinLen)
{
	if (elemIdFirst == null || elemIdSecond == null)
	{
		return false;
	}
	
	if (iMinLen == null)
		iMinLen = 5;
	
	elemFirst = document.getElementById(elemIdFirst);
	elemSecond = document.getElementById(elemIdSecond);
	
	if (elemFirst.value == '')
	{
		elemFirst.style.disabled = true;
		elemSecond.style.disabled = true;
		return true;
	}
	
	if (elemFirst.value.length < iMinLen)
		return false;
	
	if (elemFirst.value != elemSecond.value)
		return false;
	else
		return true;
}

/* 
	show hide div block
*/
function showBlock(div, check){
	if ( check == true && document.getElementById(div).style.display == 'block' ){
		status = 'block';
	}else{
		status = (document.getElementById(div).style.display == 'block')?'none':'block';
	}
	document.getElementById(div).style.display = status;
}
/* 
	for sorting
*/
function SaveOrder(from, to){
	var strIDs = new String();
	var elem = document.getElementById(from);
	
	for (var i = 0; i < elem.length; i++){
		strIDs += elem.options[i].value + ",";
	}
	document.getElementById( to ).value = strIDs;
}

function SubmitForm(){
	SaveOrder('SortingOrder', 'aID');
	SaveOrder('SortingOrderGroups', 'gaID');
}
/* 
	show or hide subTabs
*/
function showTab(divID, count){
	for ( i=1; i<=count; i++ ){
		if ( document.getElementById('showTab'+ i) && document.getElementById('subTab'+ i) ){
			if ( divID == i ){
				document.getElementById('showTab'+ i).className = 'subTabButtonActive';
				document.getElementById('subTab'+ i).style.display = 'block';
				document.getElementById('subTab'+ i).blur();
			}else{
				document.getElementById('showTab'+ i).className = 'subTabButton';
				document.getElementById('subTab'+ i).style.display = 'none';
			}
		}
	}
	currentActiveTab = divID;
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }