	var Country = new Array("","United States","Afghanistan","Albania","Ageria","American Samoa",
		"Andorra","Angola","Anguilla","Antarctica","Antigua and Barbuda","Argentina","Armenia","Aruba",
		"Ascension Island", "Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh",
		"Barbados","Belarus","Belgium", "Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia",
		"Botswana","Bouvet Island","Brazil", "Brunei","Bulgaria",
		"Burkina Faso","Burundi","Cambodia","Cameroon","Canada", "Cape Verde","Cayman Islands",
		"Chad","Chile","China","Christmas Island",
		 "Colombia","Comoros","Congo","Congo (DRC)","Cook Islands","Costa Rica","Côte d'Ivoire",
		"Croatia","Cuba","Cyprus", "Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic",
		"Ecuador","Egypt","El Salvador","Equatorial Guinea", "Eritrea","Estonia","Ethiopia",
		"Faroe Islands","Fiji Islands","Finland", "France",
		"French Guiana","French Polynesia","Gabon","Gambia",
		"Georgia", "Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guadeloupe",
		"Guam","Guatemala","Guernsey","Guinea","Guinea-Bissau","Guyana","Haiti",
		"Honduras","Hong Kong SAR","Hungary","Iceland",
		 "India","Indonesia","Iran","Iraq","Ireland","Islas Malvinas","Isle of Man","Israel","Italy","Jamaica",
		"Japan","Jersey","Jordan","Kazakhstan", "Kenya","Kiribati","Korea","Kuwait","Kyrgyzstan",
		"Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg",
		"Macao SAR","Macedonia","Madagascar","Malawi","Malaysia","Maldives",
		 "Mali","Malta","Marshall Islands","Martinique","Mauritania","Mauritius","Mayotte","Mexico",
		"Micronesia","Moldova","Monaco", "Mongolia","Montserrat","Morocco","Mozambique","Myanmar",
		"Namibia","Nauru","Nepal","Netherlands","Netherlands Antilles" , "New Caledonia","New Zealand",
		"Nicaragua","Niger","Nigeria","Niue","Norfolk Island","North Korea",
		 "Norway","Oman","Pakistan","Palau","Palestinian Authority","Panama","Papua New Guinea",
		"Paraguay","Peru","Philippines", "Pitcairn Islands","Poland","Portugal","Puerto Rico","Qatar",
		"Reunion","Romania","Russia","Rwanda","Samoa","San Marino", "Saudi Arabia",
		"Senegal","Serbia, Montenegro","Seychelles","Sierra Leone","Singapore","Slovakia", "Slovenia",
		"Solomon Islands","Somalia","South Africa","Spain",
		"Sri Lanka", "St. Helena","St. Lucia",
		"Sudan", "Suriname","Swaziland",
		"Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand", "Timor-Leste",
		"Togo","Tokelau","Tonga","Trinidad and Tobago","Tristan da Cunha","Tunisia","Turkey",
		"Turkmenistan", "Tuvalu","Uganda","Ukraine","United Arab Emirates",
		"United Kingdom","United States","Uruguay", "Uzbekistan",
		"Vanuatu","Vatican City","Venezuela","Vietnam","Virgin Islands","Virgin Islands, British",
		"Wallis and Futuna","Yemen", "Zambia","Zimbabwe");


	
	function trim(str, chars) {
		return ltrim(rtrim(str, chars), chars);
	}
 
	function ltrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
	}
 
	function rtrim(str, chars) {
		chars = chars || "\\s";
		return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
	}


	function validate_email(puntero) {
	    var dmail= new String;
	
   		dmail=puntero.value;
		if (dmail.indexOf("@") < 1 || dmail.indexOf(".") < 1 || dmail.length < 6)
		{
			alert("Dirección de email inválida");
			document.forms[0].e_mail.focus();
			return (false);
		} else {
			return (true);
		}
	}


	function CheckCountry(op) {		
		if (op == "country") {
			alert ("Please, select Country");
			document.forms[0].country.focus();
			return (false);
		} else
			return (true);	
	}

	
	function ValidarCaracter(caracter, ConfValor)
	{
		var test = "" + caracter;
		
		if (test >= "0" && test <= "9")
			return (true);
		else {
			if ((test >= "a" && test <= "z" ) || (test >= "A" && test <= "Z"))
				return (true);
			else {
				if (test == "." || test == "," || test == " " || test == "á" || test == "é" || test == "í" || test == "ó" || test == "ú" || test == "õ" || test == "ç" || test == "ã" || test == "ê" || test == "à" || test == "â")
					return (true);
				else {
					if (test == "@" && ConfValor == "3")
						return (true);
					else { 
						if (test == "+" || test == "-" || test == "-" || test == "(" || test == ")" && ConfValor == "4")
							return (true);
						else
							return (false);						
					}
				}
			}
		}
		return (true);
	}


	function ValidarEntrada(Str_input, valor)
	{
		
		for (var i = 0; i < Str_input.value.length; i++)
		{
			if (ValidarCaracter(Str_input.value.charAt(i), valor) == false) {
				alert("Invalid Character. Enter only digits or numbers.");
				if (valor == "1") {
					document.forms[0].first_name.focus();
				}
				if (valor == "2") {
					document.forms[0].last_name.focus();
				}
				if (valor == "3") {
					document.forms[0].e_mail.focus();
				}
				if (valor == "4") {
					document.forms[0].telephone.focus();
				}
				if (valor == "5") {
					document.forms[0].company_name.focus();
				}
				if (valor == "6") {
					document.forms[0].job_title.focus();
				}
				if (valor == "7") {
					document.forms[0].city.focus();
				}
				if (valor == "8") {
					document.forms[0].hear.focus();
				}
				if (valor == "9") {
					document.forms[0].requirements.focus();
				}
				return (false);
			}
		}
		return (true);
	}


	function TextAreaLimit(limit) {		
		if (limit.value.length > 249) {
			alert("Requirements field - 249 characters max.");
			document.forms[0].requirements.focus();
			return (false);
		} else {
			return (true);
		}
	}


	function checkRequiredFields(input)
	{   
	    var TempCountry = input.country;
	    var value_country = TempCountry.options[TempCountry.selectedIndex].value;
  	           		  
	    var requiredFields = new Array("first_name","last_name", "e_mail", "telephone", "company_name", "job_title", "city", "hear", "requirements");
    	    var fieldNames = new Array("First Name", "Last Name", "Email", "Telephone", "Company Name", "Job Title", "City", "How did you hear about us", "Requirements");

	    var fieldCheck   = true;
	    var fieldsNeeded = "\nPlease complete the following fields:\n\n\t";
	    

	    for(var fieldNum=0; fieldNum < requiredFields.length; fieldNum++) {
	        if ((input.elements[requiredFields[fieldNum]].value == "") || (input.elements[requiredFields[fieldNum]].value == " ")) {
	            fieldsNeeded += fieldNames[fieldNum] + "\n\t";
	            fieldCheck = false;
        	  }
	    }
	    

	    if (fieldCheck == true) {	
	       if (validate_email(input.e_mail)==true) {
	          if (CheckCountry(value_country)==true) {
		     if (TextAreaLimit(input.requirements) == true) {
		        if (ValidarEntrada(input.first_name, '1') == true) {
			   if (ValidarEntrada(input.last_name, '2') == true) {
			      if (ValidarEntrada(input.e_mail, '3') == true) {
			         if (ValidarEntrada(input.telephone, '4') == true) {   
				    if (ValidarEntrada(input.company_name, '5') == true) {   
				       if (ValidarEntrada(input.job_title, '6') == true) {
					  if (ValidarEntrada(input.city, '7') == true) {   
				             if (ValidarEntrada(input.hear, '8') == true) {					       
						if (ValidarEntrada(trim(input.requirements), '9') == true) {   
						   input.submit();
					        }	
					     }
				          }
				       }
				    }
				 }
			      }
			   }
			}
		     }
		  }
               }
	    } else {
		alert(fieldsNeeded);
		document.forms[0].first_name.focus();
	        return (false);
	    }
	}	


	function init_focus() {
		document.forms[0].requirements.value = "";
		document.forms[0].first_name.focus();		
	}



