var xmlHttp;
var UAxmlHttp;

function check_inputq()
{
	var error="";
	if(!isEmpty('question'))
		error=error+" Please enter a question.\n";
	if(!isEmpty('username'))
		error=error+" Please enter a username.";
	if (error=="")
		return true;
	else
	{
		alert(error);
		return false;
	}
}
function check_contact()
{
	var error="";
	
	if(!isEmpty('email')){
		error=error+" Please enter your email address.\n";
	}
	else
	{
		if(!emailValidator('email'))
			error=error+" Please enter a valid email.\n";
	}
	if(!isEmpty('subject'))
		error=error+" Please enter a subject.";
	if(!isEmpty('message'))
		error=error+" Please enter an message.";
	if (error=="")
		return true;
	else
	{
		alert(error);
		return false;
	}
}
function check_login()
{
	var error="";
	
	if(!isEmpty('username'))
		error=error+" Please enter a username.\n";
	if(!isEmpty('password'))
		error=error+" Please enter a password.";
	if (error=="")
		return true;
	else
	{
		alert(error);
		return false;
	}
}
function check_register()
{
	var error="";

	if(!isEmpty('username'))
		error=error+" Please enter a username.\n";
	if(!isEmpty('fname'))
		error=error+" Please enter your first name.\n";
	if(!isEmpty('lname'))
		error=error+" Please enter your last name.\n";
	if(!isEmpty('email')){
		error=error+" Please enter your email.\n";
	}
	else
	{
		if(!emailValidator('email'))
			error=error+" Please enter a valid email.\n";
	}
	if(!isEmpty('password'))
		error=error+" Please enter a password.\n";
	if(!isEmpty('passwordb'))
		error=error+" Please enter both matching passwords.\n";
//	if(!pwcomare('password', 'passwordb'))
//		error=error+" Passwords don't match.";
	if (error=="")
		return true;
	else
	{
		alert(error);
		return false;
	}
}
function isEmpty(id){
	if(document.getElementById(id).value.length == 0)
		return false;
	else
		return true;
}
function emailValidator(id)
{
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(document.getElementById(id).value.match(emailExp))
		return true;
	else
		return false;
}
function pwcompare(idpwa, idpwb)
{
	var pwa=document.getElementById(idpwa).value;
	var pwb=document.getElementById(idpwb).value;
	if(pwa==pwb)
		return true;
	else
		return false;
}
function loadQnA(category, user, UA)
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url="getQnAs.php";
	url=url+"?category="+category;
	url=url+"&user="+user;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	if(UA)
	{
		//loadUAQnA();
	}
} 
function saveQnA(op)
{
	var id = document.getElementById("id").value;
	var question = document.getElementById("question").value;
	question = question.replace("&", "%26");
	//question = question.replace(/'/, \');
	//question = question.replace(/"/, \");
	var answer = document.getElementById("answer").value;
	answer = answer.replace("&", "%26");
	//answer = answer.replace(/'/, \');
	//answer = answer.replace(/"/, \");
	var username = document.getElementById("username").value;
	var category = document.getElementById("category").value;
	if (document.getElementById("email").checked)
	{
		var email = 1;
	}
	else
	{
		var email = 0;
	}
	xmlHttp=GetXmlHttpObject();
		
	var url="question.php";
	url=url+"?op=" + op;
	url=url+"&id=" + id;
	url=url+"&question=" + question;
	url=url+"&answer=" + answer;
	url=url+"&username=" + username;
	url=url+"&category=" + category;
	url=url+"&email=" + email;
	url=url+"&sid="+Math.random();
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
		
	closeDetailDiv('Answer');
	//getEventInfo(eventID,memberID);
}

function loadUAQnA()
{
	UAxmlHttp=GetUAXmlHttpObject();
	if (UAxmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url="getQnAs.php";
	url=url+"?kind=unanswered";
	url=url+"&sid="+Math.random();
	UAxmlHttp.onreadystatechange=UAstateChanged;
	UAxmlHttp.open("GET",url,true);
	UAxmlHttp.send(null);
} 
function askQuestion(form)
{
	var question = form.question.value;
	var user = "";
	//var dateasked = "2007-04-13";
	var category = "";
	
	if (question.length==0)
	{ 
		return;
	}
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	} 
	var url="addQuestion.php";
	url=url+"?q="+question;
	url=url+"&u="+user;
	//url=url+"&da="+dateasked;
	url=url+"&c="+category;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
} 

function editQnA(elm)
{
	xmlHttp=GetXmlHttpObject();
	
	var url="question.php";
	url=url+"?op=edit";
	url=url+"&id=" + elm.id;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=updateQnAForm;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
	
	Popup.show('Answer');
	//Show("Answer");
	//var x = getOffset(document.getElementById(elm.id)).top;
	//var y = getOffset(document.getElementById(elm.id)).left;
	//document.getElementById("Answer").style.top = x;
	//document.getElementById("Answer").style.left = y;
}
function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.parentNode;
    }
    return { top: _y, left: _x };
}

function Show(it)
{
	document.getElementById(it).style.display = "block";
}
function closeDetailDiv(name)
{
	document.getElementById("form" + name).reset();
	document.getElementById(name).style.display = "none";
}

function updateQnAForm() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
	document.getElementById("spanQnAForm").innerHTML=xmlHttp.responseText;
	} 
}
function stateChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("txtQuestions")
		.innerHTML=xmlHttp.responseText;
	} 
}
function UAstateChanged() 
{ 
	if (UAxmlHttp.readyState==4 || UAxmlHttp.readyState=="complete")
	{ 
		document.getElementById("txtUAQuestions")
		.innerHTML=UAxmlHttp.responseText;
	} 
}
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 GetUAXmlHttpObject()
{
	var UAxmlHttp=null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		UAxmlHttp=new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			UAxmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			UAxmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return UAxmlHttp;
}
