function WG_getFormValue( oObj ) {
	if ( oObj.type == 'checkbox' ) {
		if ( oObj.checked == true ) return( oObj.value );
		else return( false );
	}
	else if ( oObj.type == 'radio' ) {
		for (var i in oObj ) {
			if ( oObj[i].checked == true ) return( oObj[i].value );
		}
		return( false );
	}
	else if ( oObj.type == 'select-one' ) {
		for (i=0;i<oObj.options.length;++i ) {
			if ( oObj.options[i].selected == true ) return( oObj.options[i].value );
		}
		return( false );
	}
	else if ( oObj.type == 'select-multiple' ) {
		resultArr = new Array();
		for (i=0;i<oObj.options.length;++i ) {
			if ( oObj.options[i].selected == true ) resultArr.push( oObj.options[i].value );
		}
		if ( resultArr.length == 0 ) return( false );
		else if ( resultArr.length == 1 ) return( resultArr[0] );
		return( resultArr );
	}
	else if ( ( oObj.type == 'password' ) 
	 || ( oObj.type == 'text' ) || ( oObj.type == 'textarea' ) 
	 || ( oObj.type == 'button' ) || ( oObj.type == 'hidden' ) 
	 || ( oObj.type == 'file' ) )  {
	 	return( oObj.value );
	}
}
function WG_setFormValue( oObj, vVal ) {
	if ( oObj.type == 'checkbox' ) {
		if ( vVal == oObj.value ) oObj.checked = true;
		else oObj.checked = false;
	}
	else if ( oObj.type == 'radio' ) {
		for (var i in oObj ) {
			if ( oObj[i].value == vVal ) oObj[i].checked = true;
			else oObj[i].checked = false;
		}
	}
	else if ( oObj.type == 'select-one' ) {
		for (i=0;i<oObj.options.length;++i ) {
			if ( oObj.options[i].value == vVal ) oObj.options[i].selected = true;
			else oObj.options[i].selected = false;
		}
	}
	else if ( oObj.type == 'select-multiple' ) {
		for (i=0;i<oObj.options.length;++i ) {
			if ( WG_inArray( oObj.options[i].value, vVal ) ) oObj.options[i].selected = true;
			else oObj.options[i].selected = false;
		}
	}
	else if ( ( oObj.type == 'password' ) 
	 || ( oObj.type == 'text' ) || ( oObj.type == 'textarea' ) 
	 || ( oObj.type == 'button' ) || ( oObj.type == 'hidden' ) 
	 || ( oObj.type == 'file' ) )  {
	 	oObj.value = vVal;
	}
}
function WG_getFormElemType( oForm, oName ) {
	for( i=0;i<oForm.elements.length;++i )
		if ( oForm.elements[i].name == oName )
			return( oForm.elements[i].type );
	return( false );
}
function WG_getFormValueNew( oForm, oName ) {
	tType = WG_getFormElemType( oForm, oName );
	if ( tType == false ) return( false );
	else if ( tType == 'radio' ) {
		for( i=0;i<oForm.elements.length;++i )
			if ( ( oForm.elements[i].type == 'radio' ) && ( oForm.elements[i].name == oName ) && ( oForm.elements[i].checked == true ) )
				return( oForm.elements[i].value );
		return( false );
	}
	else {
		oObj = oForm.elements[oName];
		if ( tType == 'checkbox' )
			if ( oObj.checked == true ) return( oObj.value );
			else return( false );
		else if ( tType == 'radio' ) {
			for (var i in oObj )
				if ( oObj[i].checked == true ) return( oObj[i].value );
			return( false );
		}
		else if ( tType == 'select-one' ) {
			for (i=0;i<oObj.options.length;++i )
				if ( oObj.options[i].selected == true ) return( oObj.options[i].value );
			return( false );
		}
		else if ( tType == 'select-multiple' ) {
			resultArr = new Array();
			for (i=0;i<oObj.options.length;++i )
				if ( oObj.options[i].selected == true ) resultArr.push( oObj.options[i].value );
			if ( resultArr.length == 0 ) return( false );
			else if ( resultArr.length == 1 ) return( resultArr[0] );
			return( resultArr );
		}
		else if ( ( tType == 'password' ) || ( tType == 'text' ) || ( tType == 'textarea' ) 
			 || ( tType == 'button' ) || ( tType == 'hidden' ) || ( tType == 'file' ) )
		 	return( oObj.value );
	}
	return( false );
}
function WG_setFormValueNew( oForm, oName, vVal ) {
	tType = WG_getFormElemType( oForm, oName );
	if ( tType == false ) return( false );
	else if ( tType == 'radio' ) {
		for( i=0;i<oForm.elements.length;++i )
			if ( oForm.elements[i].name == oName )
				if ( oForm.elements[i].value == vVal ) oForm.elements[i].checked = true;
				else oForm.elements[i].checked = false;
	}
	else {
		oObj = oForm.elements[oName];
		if ( tType == 'checkbox' )
			if ( vVal == oObj.value ) oObj.checked = true;
			else oObj.checked = false;
		else if ( tType == 'select-one' )
			for (i=0;i<oObj.options.length;++i )
				if ( oObj.options[i].value == vVal ) oObj.options[i].selected = true;
				else oObj.options[i].selected = false;
		else if ( tType == 'select-multiple' )
			for (i=0;i<oObj.options.length;++i )
				if ( WG_inArray( oObj.options[i].value, vVal ) ) oObj.options[i].selected = true;
				else oObj.options[i].selected = false;
		else if ( ( tType == 'password' ) || ( tType == 'text' ) || ( tType == 'textarea' ) 
			 || ( tType == 'button' ) || ( tType == 'hidden' ) || ( tType == 'file' ) )
		 	oObj.value = vVal;
	}
}
function WG_inArray( pElem, pArray ) {
 for( i=0;i<pElem.length;++i ) if ( pArray[i] == pElem ) return( true );
 return( false );
}

var WG_checkGroups = new Array();

// exnonex: par1 - min. nonex options selected
// checked: par1 - min. selected

function WG_addCheckGroup( formName, groupName, groupType, par1, par2 ) {
 WG_checkGroups[groupName] = new Array();
 WG_checkGroups[groupName]['type'] = groupType;
 WG_checkGroups[groupName]['form'] = formName;
 if ( groupType == 'exnonex' ) {
  WG_checkGroups[groupName]['nonex'] = new Array();
  WG_checkGroups[groupName]['ex'] = new Array();
  WG_checkGroups[groupName]['minNonex'] = par1;
  WG_checkGroups[groupName]['openOption'] = par2;
 }
 else if ( groupType == 'checked' ) {
  WG_checkGroups[groupName]['members'] = new Array();
  WG_checkGroups[groupName]['minSelect'] = par1;
 }
 else if ( groupType == 'ordering' ) {
  WG_checkGroups[groupName]['members'] = new Array();
  WG_checkGroups[groupName]['neutral'] = par1;
 }
}
function WG_addCheckElement( elName, groupName, par1 ) {
 if ( WG_checkGroups[groupName]['type'] == 'exnonex' ) {
  WG_checkGroups[groupName][par1].push( elName );
 }
 else if ( WG_checkGroups[groupName]['type'] == 'checked' ) {
  WG_checkGroups[groupName]['members'].push( elName );
 }
 else if ( WG_checkGroups[groupName]['type'] == 'ordering' ) {
  WG_checkGroups[groupName]['members'].push( elName );
 }
}

function WG_clickCheckGroup( groupName, elName ) {
 eval( 'furm = document.'+WG_checkGroups[groupName]['form']+';' );
 grop = WG_checkGroups[groupName];
 if ( grop['type'] == 'exnonex' ) {
  if ( WG_inArray( elName, grop['nonex'] ) ) {
   for( i=0;i<grop['ex'].length;++i ) furm[grop['ex'][i]].checked = false;
  }
  else if ( WG_inArray( elName, grop['ex'] ) ) {
   for( i=0;i<grop['ex'].length;++i ) {
    if ( grop['ex'][i] != elName ) furm[grop['ex'][i]].checked = false;
   }
   for( i=0;i<grop['nonex'].length;++i ) furm[grop['nonex'][i]].checked = false;
  }
 }
 else if ( grop['type'] == 'ordering' ) {
  curSel = WG_getFormValue( furm[elName] );
  if ( curSel != grop['neutral'] ) {
   for( i=0;i<grop['members'].length;++i ) {
    if ( ( grop['members'][i] != elName ) && ( WG_getFormValue( furm[grop['members'][i]] ) == curSel ) ) {
     WG_setFormValue( furm[grop['members'][i]], grop['neutral'] );
    }
   }
  }
 }
}

function WG_checkCheckGroup( groupName ) {
 eval( 'furm = document.'+WG_checkGroups[groupName]['form']+';' );
 grop = WG_checkGroups[groupName];
 if ( grop['type'] == 'exnonex' ) {
  cheqNonex = 0;
  for( i=0;i<grop['nonex'].length;++i ) {
   if ( furm[grop['nonex'][i]].checked == true ) {
    ++cheqNonex;
    if ( ( grop['nonex'][i] == grop['openOption'] ) && ( furm[grop['openOption']+'open'].value == '' ) ) {
     alert( "Ha ''egyéb''-et választott, kérjük határozza meg, mit ért ez alatt!" );
     return( false );
    }
   }
  }
  if ( cheqNonex > 0 ) {
   if ( cheqNonex < grop['minNonex'] ) {
    alert( "Legalább "+grop['minNonex']+" lehetőséget be kell jelölnie!" );
    return( false );
   }
   return( true );
  }
  for( i=0;i<grop['ex'].length;++i ) {
   if ( furm[grop['ex'][i]].checked == true ) {
    if ( ( grop['ex'][i] == grop['openOption'] ) && ( furm[grop['openOption']+'open'].value == '' ) ) {
     alert( "Ha ''egyéb''-et választott, kérjük határozza meg, mit ért ez alatt!" );
     return( false );
    }
    return( true );
   }
  }
  alert( "Legalább egy lehetőséget be kell jelölnie!" );
  return( false );
 }
 else if ( grop['type'] == 'checked' ) {
  cheqNonex = 0;
  for( i=0;i<grop['members'].length;++i ) {
   if ( furm[grop['members'][i]].checked == true ) ++cheqNonex;
  }
  if ( cheqNonex < grop['minSelect'] ) {
   alert( "Legalább "+grop['minSelect']+" lehetőséget be kell jelölnie!" );
   return( false );
  }
  return( true );
 }
 else if ( grop['type'] == 'ordering' ) {
  for( i=0;i<grop['members'].length;++i ) {
   if ( WG_getFormValue( furm[grop['members'][i]] ) == grop['neutral'] ) {
    alert( "Mindegyik elemet rendezze sorba!" );
    return( false );
   }
  }
  return( true );
 }
 return( true );
}

function WG_checkOneSelect( oFrom ) {
 osel = 0;
 for (var i = 0; i < oFrom.length; i++) {
  if (oFrom[i].checked) osel = 1;
 }
 if ( osel == 1 ) return( true );
 alert( "Legalább egyet válasszon ki!" );
 return( false );
}

function WG_SwitchToggles( tForm, tLike ) {
 mtForm = document.forms[tForm];
 for( i=0; i<mtForm.elements.length; ++i ) {
  mtFE = mtForm.elements[i];
  if ( ( mtFE.name.substr( 0, tLike.length ) == tLike ) && ( mtFE.type = 'checkbox' ) ) mtFE.click();
 }
}

function WG_elemCount( oObj ) {
 oCnt = oObj.options.length;
 return( oCnt );
}
