function getxmlhttp(){
var xmlHttp = false;
if (window.XMLHttpRequest){
	// If IE7, Mozilla, Safari, etc: Use native object
	var xmlHttp = new XMLHttpRequest();
	}	else{
		if (window.ActiveXObject){
		// ...otherwise, use the ActiveX control for IE5.x and IE6
		var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
return xmlHttp;
}


function isAvailable( elem ) {
xmlhttp = getxmlhttp();

xmlhttp.open("GET","/checkAvailable.php?name="+elem.name+"&value="+elem.value);
xmlhttp.onreadystatechange = function(){
	if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
		//alert(xmlhttp.responseText);
		if( xmlhttp.responseText == "1" ){
			showMessage( elem, "exists" );}
		else {
			showMessage( elem, "ok" );}
	}
}

xmlhttp.send(null);
}

function showMessage(elem,message){
	if(message == "exists" ) {
		elem.nextSibling.setAttribute("class","hidden");
		elem.nextSibling.nextSibling.setAttribute("class","hidden");
		elem.nextSibling.nextSibling.nextSibling.setAttribute("class","hidden");
		//elem.nextSibling.nextSibling.nextSibling.nextSibling.setAttribute("class",message=="loading"?"show":"hidden");
		elem.nextSibling.nextSibling.nextSibling.nextSibling.setAttribute("class","show");
	}
	
	
	if(message=="help" && (elem.value.length==0 || elem.value=='unlimited')){
				elem.nextSibling.setAttribute("class","show");
				elem.nextSibling.nextSibling.setAttribute("class","hidden");
				elem.nextSibling.nextSibling.nextSibling.setAttribute("class","hidden");
				if(elem.nextSibling.nextSibling.nextSibling.nextSibling)
					elem.nextSibling.nextSibling.nextSibling.nextSibling.setAttribute("class","hidden");

	}
	if(message=="ok"){
				elem.nextSibling.setAttribute("class","hidden");
				elem.nextSibling.nextSibling.setAttribute("class","show ok");
				elem.nextSibling.nextSibling.nextSibling.setAttribute("class","hidden");
				if(elem.nextSibling.nextSibling.nextSibling.nextSibling)
				elem.nextSibling.nextSibling.nextSibling.nextSibling.setAttribute("class","hidden");
	}
	if(message=="error"){
				//alert(elem.nextSibling + "  2. " + elem.nextSibling.nextSibling + "  3. " + elem.nextSibling.nextSibling.nextSibling);
				elem.nextSibling.setAttribute("class","hidden");
				elem.nextSibling.nextSibling.setAttribute("class","hidden");
				elem.nextSibling.nextSibling.nextSibling.setAttribute("class","show error");
				if(elem.nextSibling.nextSibling.nextSibling.nextSibling)
				elem.nextSibling.nextSibling.nextSibling.nextSibling.setAttribute("class","hidden");
	}
	
}
	


 function checkElement(elem){
		var value=elem.value;
		var len=value.length;
		var name=elem.name;
		var error=false;
		if( (name=="name" || name=="logo" || name=="category[]" || name=="message") && len==0) {
			error=true;
		} 
		else{
			
			if(name=="url"){
				var filter=/^([a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?)+$/;
				if (filter.test(value));
				else error=true;
			}
			
			if(name=="price"){
				 var numericExpression = /^[-]?\d*\.?\d*$/;
				 if(!value.match(numericExpression) || value=="")error=true;
			}
			
			if (name=="disk" || name=="band"){
					var numericExpression = /^unlimited$|^[-]?\d*\.?\d*$/;
					if(!value.match(numericExpression) || value=="") error=true;
			}
			
			if(name=="email"){
				var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
				if (filter.test(value)); else error = true;
			}
			
		}
		
		
		showMessage(elem, error?"error":"ok");
		return error;
 }

function validateForm(form){
		var error = false;
		var elem=form.elements;
		for(i=0;i<elem.length-1;i++){
			
			if(elem[i].name!="domain") { 	
			if( checkElement(elem[i])) {error = true;}
			}
		}
		
		return !error; //if error==true then return false to stop the form from submitting
}

