var f = new Array(
  new Array("education",4000,"c1","Education"),
  new Array("exp",7000,"c2","Work Experience"),
  new Array("perfomance",5000,"c3","Performances"),
  new Array("dop",5000,"c4","Additional information")
);

var re1 = /^dopplay|play|teach|dopteach\d+/;
var re2 = /^dopplay|play\d+/;
var re3 = /^teach|dopteach\d+/;
var re4 = /^(inst\d+)|other/;
var re5 = /^(genre\d+)/;
var re6 = /^(area\d+)/;

//=================================================
function validate(form) {

  if (form.name.value.length == 0 || form.birth.value.length == 0 ||
	form.bcountry.value.length == 0 || form.citizenship.value.length == 0 ||
	form.rcountry.value.length == 0 || form.city.value.length == 0 ||
	form.email1.value.length == 0 || form.email2.value.length == 0 ||
	form.native.value.length == 0) {
    alert("Please fill in all fields marked by asterisks.");
    return false;
  }

  if (form.email1.value != form.email2.value) {
    alert("You entered two different e-mail addresses.");
    return false;
  }

  result = false;
  for (i=0; i<9; i++) {
    if (form["profession"+i].checked) {
	result = true;
	break;
    }
  }
  if (! result) {
    alert("State your specialty.");
    return false;
  }

  result = false;
  for (i=0; i<15; i++) {
    if (form["genre"+i].checked) {
	result = true;
	break;
    }
  }
  if (! result) {
    alert("State the genre in which you work.");
    return false;
  }

  if (form.profession7.checked) {
    result = false;
    for (i=0; i<form.elements.length; i++) {
      if (re2.test(form.elements[i].name)) {
        if (form.elements[i].checked) {
	  result = true;
	  break;
        }
      }
    }
    if (! result) {
      alert("Specify at least one musical instrument, which you can play.");
      return false;
    }
  }

  if (form.profession8.checked) {
    result = false;
    for (i=0; i<form.elements.length; i++) {
      if (re3.test(form.elements[i].name)) {
        if (form.elements[i].checked) {
	  result = true;
	  break;
        }
      }
    }
    if (! result) {
      alert("Specify at least one musical instrument, which you teach.");
      return false;
    }
  }

  for (i=0; i<f.length; i++) {
    if (form[f[i][0]].value.length > f[i][1]) {
      alert("The contents of the field \""+f[i][3]+"\" have exceeded the maximum\ possible size.\nPlease delete excess characters.");
      return false;
    }
  }

  return true;
}

//=================================================
function CheckLen(i, event) {
  var m = f[i-1][1] - window.document.send[f[i-1][0]].value.length;
  window.document.send[f[i-1][2]].value = m;
  if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46)
    return true;
  else
    return (m > 0);
}

//=================================================
function CheckLen2(i, event) {
  var m = 2000 - window.document.sound["cmnt"+i].value.length;
  window.document.sound["cnt"+i].value = m;
  if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46)
    return true;
  else
    return (m > 0);
}

//=================================================
function CheckLen3(event) {
  var m = 4000 - window.document.ads["text"].value.length;
  window.document.ads["count"].value = m;
  if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46)
    return true;
  else
    return (m > 0);
}

//=================================================
function CheckLen4(n, event) {
  var m = 4000 - window.document["adv"+n].text.value.length;
  window.document["adv"+n].cnt.value = m;
  if (event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 46)
    return true;
  else
    return (m > 0);
}

//=================================================
function changeInst(j) {

  if (j==7) {
    for (i=0; i<window.document.send.elements.length; i++) {
      if (re2.test(window.document.send.elements[i].name)) {
        window.document.send.elements[i].disabled = ! window.document.send['profession'+j].checked
      }
    }
  }

  if (j==8) {
    for (i=0; i<window.document.send.elements.length; i++) {
      if (re3.test(window.document.send.elements[i].name)) {
        window.document.send.elements[i].disabled = ! window.document.send['profession'+j].checked
      }
    }
  }
}

//=================================================
function validateAds(form) {
  if (form.text.value.length == 0 || form.name.value.length == 0) {
    alert("Please fill in all fields.");
    return false;
  }
  return true;
}

//=================================================
function validateSearch(form) {

  s="";
  b_profession = false;
  for (i=0; i<form.profession.length; i++) {
    if (form.profession[i].checked) {
      b_profession = true;
      break;
    }
  }

  b_inst = true;
  if (form.profession[7].checked || form.profession[8].checked) {
    b_inst = false;
    for (i=0; i<form.elements.length; i++) {
      if (re4.test(form.elements[i].name)) {
        if (form.elements[i].checked) {
          b_inst = true;
          break;
        }
      }
    }
  }

  b_age = false;
  if (form.age[0].checked)
    b_age = true;
  else if (form.age[1].checked) {
    if (!isNaN(parseInt(form.from.value))  || !isNaN(parseInt(form.to.value)))
      b_age = true;
  }

  b_genre = false;
  for (i=0; i<form.elements.length; i++) {
    if (re5.test(form.elements[i].name)) {
      if (form.elements[i].checked) {
        b_genre = true;
        break;
      }
    }
  }

  b_area = false;
  for (i=0; i<form.elements.length; i++) {
    if (re6.test(form.elements[i].name)) {
      if (form.elements[i].checked) {
        b_area = true;
        break;
      }
    }
  }

  if (!b_profession || !b_inst || !b_age || !b_genre || !b_area) {
    alert("The search cannot be completed. You have missed out one or more parameters or incorrectly indicated age of musician. Close the window showing this message and change the search parameters.");
    return false;
  }
}

//=================================================
function changeInst2(j) 
{
  if (j==7 || j==8)
    b_active = false;
  else
    b_active = true;

  for (i=0; i<window.document.search.elements.length; i++) {
    if (re4.test(window.document.search.elements[i].name)) {
      window.document.search.elements[i].disabled = b_active;
    }
  }
}

//=================================================
function changeAge(j) 
{
  if (j==0)  {
    window.document.search.from.disabled = true;
    window.document.search.to.disabled = true;
  } else {
    window.document.search.from.disabled = false;
    window.document.search.to.disabled = false;
  }
}

