// JavaScript Document
  function js_Validate_AlphNum_Field(MyControl)
   {
   var valid = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚñÑ.#/";
   error = 0;
   if (MyControl.value == "")
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
     error = 1;
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_Conditions_Field(MyControl)
   {
   if (!MyControl.checked)
    error = 1;
   if (error)
    {
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
    {
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_CURP_Field(MyControl, Min, Name, LastName, SecondLastName, Day, Month, Year, State, Sex)
   {
   var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
   var vowels = "AEIOU";
   var consonants = "BCDFGHJKLMNPQRSTVWXYZ";
   var numbers = "1234567890";
   error = 0;
   if (MyControl.value == "" || MyControl.value.length < Min)
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
     error = 1;
   if (LastName.substr(0, 1) != MyControl.value.substr(0, 1).toUpperCase())
    erorr = 1;
   for (var i = 1; i < LastName.length; i++)
	if (vowels.indexOf(LastName.charAt(i), 0) > -1)
	 if (LastName.substr(i, 1) != MyControl.value.substr(1, 1).toUpperCase())
	  {
	  error = 1;
	  break;
	  }
	 else
	  break;
   if (SecondLastName.substr(0, 1) != MyControl.value.substr(2, 1).toUpperCase())
    error = 1;
   if (Name.substr(0, 1) != MyControl.value.substr(3, 1).toUpperCase())
	error = 1;
   if (Year.substr(2, 2) != MyControl.value.substr(4, 2))
    error = 1;
   if (Month != MyControl.value.substr(6, 2))
    error = 1;
   if (Day != MyControl.value.substr(8, 2))
    error = 1;
   if (Sex != MyControl.value.substr(10, 1).toUpperCase())
    error = 1;
/*   if (State != MyControl.value.substr(11, 2))
    error = 1;*/
   for (var i = 1; i < LastName.length; i++)
	if (consonants.indexOf(LastName.charAt(i), 0) > -1)
	 if (LastName.substr(i, 1) != MyControl.value.substr(13, 1).toUpperCase())
	  {
	  error = 1;
	  break;
	  }
	 else
	  break;
   for (var i = 1; i < SecondLastName.length; i++)
	if (consonants.indexOf(SecondLastName.charAt(i), 0) > -1)
	 if (SecondLastName.substr(i, 1) != MyControl.value.substr(14, 1).toUpperCase())
	  {
	  error = 1;
	  break;
	  }
	 else
	  break;
   for (var i = 1; i < Name.length; i++)
	if (consonants.indexOf(Name.charAt(i), 0) > -1)
	 if (Name.substr(i, 1) != MyControl.value.substr(15, 1).toUpperCase())
	  {
	  error = 1;
	  break;
	  }
	 else
	  break;
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_RFC_Field(MyControl, Min, MyForm, Name, LastName, SecondLastName, Day, Month, Year)
   {
   var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
   var vowels = "AEIOU";
   var numbers = "1234567890";
   error = 0;
   if (MyControl.value == "" || MyControl.value.length < Min)

    error = 1;
   if (Day == "" || Month == "" || Year == "")
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
	 error = 1;
   if (LastName.substr(0, 1).toUpperCase() != MyControl.value.substr(0, 1).toUpperCase())
    error = 1;
   for (var i = 1; i < LastName.length; i++)
	if (vowels.indexOf(LastName.charAt(i), 0) > -1)
	 if (LastName.substr(i, 1).toUpperCase() != MyControl.value.substr(1, 1).toUpperCase())
	  {
	  error = 1;
	  break;
	  }
	 else
	  break;
   if (SecondLastName.substr(0, 1).toUpperCase() != MyControl.value.substr(2, 1).toUpperCase())
    error = 1;
   if (Name.substr(0, 1).toUpperCase() != MyControl.value.substr(3, 1).toUpperCase())
    error = 1;
   var j = 0;
   for (j; j < MyControl.value.length; j++)
    if (numbers.indexOf(MyControl.value.charAt(j), 0) > -1)
	 break;
   if (MyControl.value.substr(j, 2) != Year.substr(2, 2))
    error = 1;
   if (MyControl.value.substr(j + 2, 2) != Month)
    error = 1;
   if (MyControl.value.substr(j + 4, 2) != Day)
    error = 1;
   if (error)
    {
	Return = false;
	xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
    {
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
	xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function daysInFebruary (year)
   {
   return (((year % 4 == 0) && ((!(year % 100 == 0)) || (year % 400 == 0)))? 29: 28 );
   }
  
  function DaysArray(n)
   {
   for (var i = 1; i <= n; i++)
    {
	this[i] = 31;
	if (i == 4 || i == 6 || i == 9 || i == 11) {this[i] = 30;}
	if (i == 2) {this[i] = 29;}
    } 
   return this
   }
  
  function js_Validate_Date_Field(Day, Month, Year)
   {
   var daysInMonth = DaysArray(12);
   error = 0;
   Day = parseInt(Day.options[Day.selectedIndex].value);
   Month = parseInt(Month.options[Month.selectedIndex].value);
   strYear = Year.value;
   Year = parseInt(Year.options[Year.selectedIndex].value);
   if ((Month == 2 && Day > daysInFebruary(Year)) || Day > daysInMonth[Month])
    error = 1;
   if (strYear.length != 4)
    error = 1;
   if (error)
    {
	Return = false;
    xGetElementById("BornDateError").style.position = "relative";
	xGetElementById("BornDateError").style.visibility = "visible";
	}
   else
    {
	xGetElementById("BornDateError").style.visibility = "hidden";
    xGetElementById("BornDateError").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_Email_Field(MyControl)
   {
   var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.@";
   error = 0;
   if (MyControl.value == "")
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
	 error = 1;
   if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(MyControl.value)))
    error = 1;
   makeRequest('ajax.php?pro_ajax=true&ajax_request=email&mail=' + MyControl.value + '&name=' + MyControl.name);
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_Number_Length_Field(MyControl, Min)
   {
   var valid = "0123456789";
   error = 0;
   if (MyControl.value == "" || MyControl.value.length < Min)
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
     error = 1;
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_Number_Field(MyControl)
   {
   var valid = "0123456789-";
   error = 0;
   if (MyControl.value == "")
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
	 error = 1;
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_Password_Field(MyControl)
   {
   var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ºª!·$%&/()=?¿¡|@#¬`´ç,.-;:_¨Ç^*[]{}<>";
   error = 0;
   if (MyControl.value == "" || MyControl.value.length < 6)
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
    if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
	 error = 1;
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }
  
  function js_Validate_Text_Field(MyControl)
   {
   var valid = " abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóúÁÉÍÓÚ";
   error = 0;
   if (MyControl.value == "")
    error = 1;
   for (var i = 0; i < MyControl.value.length; i++)
	if (valid.indexOf(MyControl.value.charAt(i), 0) == -1)
     error = 1;
   if (error)
	{
	Return = false;
    xGetElementById(MyControl.name + "Error").style.position = "relative";
	xGetElementById(MyControl.name + "Error").style.visibility = "visible";
	}
   else
	{
	xGetElementById(MyControl.name + "Error").style.visibility = "hidden";
    xGetElementById(MyControl.name + "Error").style.position = "absolute";
	}
   parent.resizeIframe('body');
   }