var vfuncs = {
'Text' : validate_text,
'Textarea' : validate_text,
'Country' : validate_select,
//'State' : validate_state,
'Radio' : validate_text,
'Combo' : validate_combo,
'SetOfCheckboxes' : validate_check_array,
'Select' : validate_select,
'Radio' : validate_radio,
'Checkbox' : validate_checkbox,
'Phone' : validate_phone
};
function validate_text (id) {
  return (trim (document.feedback['f'+id].value) != '');
}
function validate_select (id) {
  return (trim (document.feedback['f'+id].options[document.feedback['f'+id].selectedIndex].value) != '');
}
//function validate_state (sid) {
//	var cid = 'countryCode';
//	var countrySelect = document.feedback['f'+cid];
//	var countrySelectedIndex = document.feedback['f'+cid].selectedIndex;
//	var countrySelectedValue = countrySelect.options[countrySelectedIndex].value;
//
//	if (countrySelectedValue == 'US' || countrySelectedValue == 'CA') {
//		return validate_select(sid);
//	}
//}
function validate_combo (id) {
  if (!validate_select(id)) return false;
  if (!window['combo_req_'+id][document.feedback['f'+id].options[document.feedback['f'+id].selectedIndex].value]) return true;
  return (trim (document.feedback['f'+id+'_txt'].value) != '');
}
function validate_check_array (id) {
  var charr = 'charr_fields_'+id;
  var txt_filled = document.feedback['f'+id+'_txt'] && (trim (document.feedback['f'+id+'_txt'].value) != '');
  for (var i=0; i<window[charr].length;i++) {
    if (document.feedback.elements['f'+window[charr][i]].checked) {
      if (window['charr_req_'+id][window[charr][i]]) {
        if (txt_filled) return true;
        else return false;
      }
      return true;
    }
  }
  if (txt_filled) return true;
  return false;
}
function validate_radio (id){
    var r = document.feedback['f'+id];
    if (!r) return false;
    for (var i=0; i<r.length; i++) {
        if (r[i].checked) return true;
    }
    return false;
}
function setComboTextDiasbled (id) {
  var txtid = 'f'+id+'_txt';
  var sel = document.feedback['f'+id];
  document.feedback.elements[txtid].disabled = !window['combo_req_'+id][sel.options[sel.selectedIndex].value];
}
function validate_phone (id) {
//    if (/\D/.test(document.feedback['f'+id+'_area'].value) || !trim (document.feedback['f'+id+'_phone'].value))
    if (trim (document.feedback['f'+id+'_phone'].value))
        return true;

    return false;
}
function validate_checkbox (id) {
  return document.feedback['f'+id].checked;
}
