var RequestF = {
	timeout: null,
	selectInterest: function(el){
		if(el){
			var val = el.value;
			var textarea = document.getElementById("other_field");
			if(textarea){
				if(val.length == 0){
					textarea.style.display = "";
				}else{
					textarea.style.display = "none";
				}
			}
		}
	},
	selectContact: function(el){
		if(el){
			var val = el.value;
			var contact_field = document.getElementById("contact_field");
			if(contact_field){
				if(val.length > 0){
					contact_field.style.display = "";
				}else{
					contact_field.style.display = "none";
				}
			}
		}
	},
	getElementsByClassName: function(className, tag, elm){
		var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	},
	_submit: function(f){
		if(RequestF.timeout){
			clearTimeout(RequestF.timeout);
			RequestF.timeout = null;
		}
		RequestF.clearErrors();
		var name_field 		= document.getElementById("name_field");
		var country_field 	= document.getElementById("country_field");
		var contact_field = document.getElementById("contact_field");

		var errors = {};
		var is_error = false;
		if(name_field && name_field.value.length == 0){
			errors["name"] = 'Your name must be entered.';
			is_error = true;
		}
		if(country_field && country_field.value.length == 0){
			errors["country"]  = 'Your country must be entered.';
			is_error = true;
		}
		if(contact_field && contact_field.value.length == 0){
			errors["contact"]  = 'Contact must be entered.';
			is_error = true;
		}
		if(is_error){
			for(var i in errors){
				var field = document.getElementById(i+"_field");
				if(field && field.parentNode){
					var div = document.createElement('div');
					div.className = "error";
					div.innerHTML = errors[i];
					field.parentNode.appendChild(div);
				}
			}
			RequestF.timeout = setTimeout(RequestF.clearErrors, 3000);
		}else{
			f.submit();
		}
	},
	clearErrors: function(){
		var errors = RequestF.getElementsByClassName("error", "div");
		for(var i in errors){
			var _parent = errors[i].parentNode;
			_parent.removeChild(errors[i]);
		}
	},
	scrollToElement: function(theElement){

	  var selectedPosX = 0;
	  var selectedPosY = 0;

	  while(theElement != null){
	    selectedPosX += theElement.offsetLeft;
	    selectedPosY += theElement.offsetTop;
	    theElement = theElement.offsetParent;
	  }

	 window.scrollTo(selectedPosX,selectedPosY);

	},
	showAccess: function(el_name){
		var el = document.getElementById(el_name);
		if(el){
			el.style.display = "";
			RequestF.scrollToElement(el);
		}
	}
}