function setInputValue(elm,value){
	var elm = DOM.getElement(elm);
	elm.value = value;
}

function getInputValue(elm){
	var elm = DOM.getElement(elm);
	return elm.value;
}

function setRadioValue(elm,value){
	var elm = document.getElementsByName(elm);
	
	if (value==null) for (var i=0;i<elm.length;i++) elm[i].checked = false;
	else{
		for (var i=0;i<elm.length;i++){
			if (elm[i].value==value) {
				elm[i].checked = true;
				break;
			}
		}
	}				
}

function getRadioValue(elm){
	var elm = document.getElementsByName(elm);
	
	var value = null;
	
	for (var i=0;i<elm.length;i++){
		if (elm[i].checked) {
			value = elm[i].value;
			break;
		}
	}	
	
	return value;
}

function setCheckboxValue(elm,value){
	var elm = DOM.getElement(elm);
	elm.checked = value;
}

function getCheckboxValue(elm){
	var elm = DOM.getElement(elm);
	return elm.checked;	
}

function setSelectValue(elm,value){
	var elm = DOM.getElement(elm);
	var index = getSelectIndexByValue(elm,value);
	elm[index].selected = true;
}

function getSelectValue(elm){
	var elm = DOM.getElement(elm);
	return elm[elm.selectedIndex].value;
}

function setSelectIndex(elm,index){
	var elm = DOM.getElement(elm);
	elm.selectedIndex = index;
}

function getSelectIndex(elm,index){
	var elm = DOM.getElement(elm);
	return elm.selectedIndex;
}

function getSelectIndexByValue(sel,value){
	var index = 0;

	for (var i=sel.length;i--;){
		if (sel[i].value==value){
			index = i;
			break;
		}
	}

	return index;
}

function validateInputText(elm){
    
	var elm = DOM.getElement(elm);
	
	return (elm.value.length>0);
}

function validateInputMail(elm){
	var filled = validateInputText(elm);
	if (!filled) return false;
	
	var email = getInputValue(elm);

	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(email);
}

function validateInputPhone(elm){
	//Si no ha rellenado el campo, lo damos como válido
	var filled = validateInputText(elm);
	if (!filled) return true;
	
	var phone = getInputValue(elm);
	return (/9\d{8}/.test(phone) || /8\d{8}/.test(phone));
}

function validateInputMobile(elm){
	//Si no ha rellenado el campo, lo damos como válido
	var filled = validateInputText(elm);
	if (!filled) return true;
	
	var phone = getInputValue(elm);

	return (/6\d{8}/.test(phone));
}

function validateInputCP(cpElm,provElm){
	var elm = DOM.getElement(cpElm);
	var value = elm.value;
	var valido = (/\d{5}/.test(value));

	if (!valido) return false;
	
	valido = false;
	var code = value.substring(0,2);

	var provElm = DOM.getElement(provElm);
	var index = provElm.selectedIndex;
	var arr = _getProvincias();

	return (code==arr[index][2])

}

function validateNumericInputText(elm){
	var filled = validateInputText(elm);
	if (!filled) return false;	
    
    var val = DOM.getElement(elm).value;
    
    var regexp = new RegExp(/^\d+$/);
    	
	return regexp.test(val);
}

function validateRadio(elm){
	var checked = getRadioValue(elm);
	return (checked!=null);
}

function validateSelect(elm){
	var elm = DOM.getElement(elm);
	return elm.selectedIndex>0;	
}
