
function radioGetCheckedItemIndex(element) {
    if ( element.length == 0 )
        return -1;
    for (var i = 0; i < element.length; i++ )
        if (element[i].checked)
            return i;
    return -1;
}

function selectGetSelectedItemIndex(element) {
    if ( element.options.length == 0 )
        return -1;
    for (var i = 0; i < element.options.length; i++ )
        if (element.options[i].selected)
            return i;
    return -1;
}

function selectContains(element, value) {
    for (var i = 0; i < element.options.length; i++ )
        if (element.options[i].value == value)
            return true;
    return false;
}

function selectContains_byText(element, text) {
    for (var i = 0; i < element.options.length; i++ )
        if (element.options[i].text == text)
            return true;
    return false;
}

function selectFind_byText(element, text) {
    for (var i = 0; i < element.options.length; i++ )
        if (element.options[i].text == text)
	    return element.options[i];
    return null;
}

function selectFind(element, value) {
    for (var i = 0; i < element.options.length; i++ )
        if (element.options[i].value == value)
	    return element.options[i];
    return null;
}

function getFormElm_byName(name, form) {
    if ( form== null )
	return null;
    for ( var i = 0; i < form.elements.length; i++ ) {
	if ( form.elements[i].name == name ) {
	    return form.elements[i];
	} 
    }
    return null; 
}


function valid_ip (value) {

    if (value == '' || value == "0.0.0.0" || value == "255.255.255.255") {
	return false;
    }

    var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
    var ipArray = value.match(ipPattern);

    if (ipArray == null) {
	return false;
    } else {
	for (i = 1; i < 5; i++) {
	    if (ipArray[i] > 255) {
		return false;
	    }
	}
    }

    return true;
}

function valid_netmask (value) {

    if ( value == '' )
	return true;

    if (value == "0.0.0.0" || value == "255.255.255.255") {
	return false;
    }
    return valid_ip(value);
}
