// Document for UCF by Ilya Titov 2008—2009
function check_login(){
	var userid = document.getElementById('login_name').value;
	var password = document.getElementById('login_pass').value;	
	if (is_valid_email(userid)==1 && password.length >= 6){
		return true;
	}else {alert("Invalid email or password"); return false;}

}
function new_user (){
	var userid = document.getElementById('username').value;
	var password = document.getElementById('password').value;
	var name = document.getElementById('fullname').value;
	//alert("user:"+userid+" password:"+password);
	if (password.length < 6){alert("Your password must be at least 6 digits long. \n\rFor better protection use a mix of numbers and letters."); return;}
	if (name.length < 3){alert("Your name must be at least 3 digits long."); return;}
	if (is_valid_email(userid)==1){
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
		  {
		  alert ("Your browser does not support AJAX!");
		  return;
		  } 
		var url="/scripts/action.php";
		var params="new_user="+userid+"&&user_password="+password+"&&name="+name;
		xmlHttp.onreadystatechange=return_user_registration;
		xmlHttp.open("POST",url,true);
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(params);	
	}else {alert("Please make sure that you have entered a valid email and your password is at least 6 digits long");}
}
function return_user_registration(){
	if (xmlHttp.readyState==4){ 
	alert(xmlHttp.responseText);   //view return
	document.getElementById('registration').style.visibility = 'hidden';
	}
}
function check_user(userid){
	if (is_valid_email(document.getElementById('username').value)==1){
		document.getElementById('username').style.border = "2px solid #cceecc";	
		document.getElementById('password').disabled = false;
		document.getElementById('create_user').disabled = false;
		document.getElementById('create_user').value = "Create user";
	}
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url="/scripts/action.php";
	var params="user_exists="+userid;
	xmlHttp.onreadystatechange=return_user_availability;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
}
function return_user_availability(){ 
	if (xmlHttp.readyState==4){ 
//	alert(xmlHttp.responseText);   //view return
		if (xmlHttp.responseText == 0 && is_valid_email(document.getElementById('username').value)==1){
			document.getElementById('username').style.border = "2px solid #cceecc";	
			document.getElementById('password').disabled = false;
			document.getElementById('create_user').disabled = false;
			document.getElementById('create_user').value = "Create user";
		}else {
			document.getElementById('username').style.border = "2px solid #ffcccc";	
			document.getElementById('password').disabled = "disabled";
			if (xmlHttp.responseText != 0){document.getElementById('create_user').value = "User exists";}else {document.getElementById('create_user').value = "Invalid email";}
			document.getElementById('create_user').disabled = "disabled";
		}
	}
}
function show_registration(){
	document.getElementById('registration').style.visibility = "visible";
	document.getElementById('fullname').focus();
}
function GetXmlHttpObject(){
	var xmlHttp=null;
	try  {
	  // Firefox, Opera 8.0+, Safari
	  xmlHttp=new XMLHttpRequest();
	}
	catch (e){
	  // Internet Explorer
	  try {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	  catch (e){
		xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	}
	return xmlHttp;
}
function is_valid_email(str) {
	if (str.indexOf("..") >= 0){return false;}
	return (str.indexOf(".") > 0) && (str.lastIndexOf(".") > str.indexOf("@")) && (str.indexOf("@") >= 1) && (str.indexOf("@") < str.length -3) && (str.lastIndexOf(".") < str.length -2);
}
function show_counters(action, class_id){

	if (document.styleSheets[0].cssRules){
		if (action == 1){document.styleSheets[0].cssRules[1].style.visibility = 'visible';}else {document.styleSheets[0].cssRules[1].style.visibility = 'hidden';}
	}else {
		if (action == 1){document.styleSheets[0].rules[1].style.visibility = 'visible';}else {document.styleSheets[0].rules[1].style.visibility = 'hidden';}
	}
}
function entry_title_trim(value){
return value.substring(0,32);	
}
function rate_entry(value, id){
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		  alert ("Your browser does not support AJAX!");
		  return;
	} 
	var url="/scripts/action.php";
	var params="rate_entry="+id+"&&plus="+value;
	xmlHttp.onreadystatechange=return_rated;
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length", params.length);
	xmlHttp.setRequestHeader("Connection", "close");
	xmlHttp.send(params);
}

function return_rated(){
	if (xmlHttp.readyState==4){ 
	//alert(xmlHttp.responseText);   //view return
	}
}
function check_entry(){
	var flag = 1;	
	if (document.getElementById('new_entry_title').value.length < 3){
		document.getElementById('new_entry_title').style.border = '2px solid red';
		flag=0;
	}
	if (document.getElementById('new_entry_tags').value.length < 3){
		document.getElementById('new_entry_tags').style.border = '2px solid red';
		flag=0;
	}
	tmp = document.new_entry_form.summary;
	if (tmp.innerHTML.length < 10){
		//alert(tmp.innerHTML.length);
		tmp.style.border = '2px solid red';
		flag=0;
	}

	if (flag == 1){return true;}else {alert("Please complete all fields"); return false;}
}
