function getHTTPObject()
{
	try
	{
		return new XMLHttpRequest();
	}
	catch (e)
	{
	  // Internet Explorer
		try
		{
				return new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
			  		return new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
					alert("Your browser does not support AJAX!");
					return null;
			}
		}
	}
  
}

function HTTPRequest(URL, DATA) {
         httpObject = getHTTPObject();
     if (httpObject != null) {
         httpObject.open("POST", URL, true);
         httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         httpObject.setRequestHeader("Content-length", DATA.length);
         httpObject.setRequestHeader("Connection", "close");
         httpObject.onreadystatechange = DataReceived;
         httpObject.send(DATA);
         return true;
     }
}

function loadPage(Page) {
		 loading();
         HTTPRequest (Page, "ajax=true");
         return false;
}

function Login() {
		 loading();
		 var Username = document.getElementById("txtEmail").value;
		 var Password = document.getElementById("txtPassword").value;
		 HTTPRequest("login.php", "txtEmail=" + Username + "&txtPassword=" + Password + "&ajax=true");
		 return false;
}

function Logout() {
		 var confirmLogout = confirm("Are you sure you want to signout?");
		 if (confirmLogout) {
		 	 loadPage("logout.php");
		 }
		 return false;
}

function ChangePassword() {
		 loading();
		 var OldPassword = document.getElementById("txtOldPassword").value;
		 var NewPassword = document.getElementById("txtNewPassword").value;
		 var ConfirmPassword = document.getElementById("txtConfirmPassword").value;
		 HTTPRequest("changepwd.php", "txtOldPassword=" + OldPassword + "&txtNewPassword=" + NewPassword + "&txtConfirmPassword=" + ConfirmPassword + "&changepassword=true&ajax=true");
		 return false;
}

function SubmitContactForm() {
	     loading();
		 var Name = document.getElementById("txtName").value;
		 var Email = document.getElementById("txtEmail").value;
		 var Subject = document.getElementById("txtSubject").value;
		 var Message = document.getElementById("txtMessage").value;
         HTTPRequest("contact.php", "txtName=" + Name + "&txtEmail=" + Email + "&txtSubject=" + Subject + "&txtMessage=" + Message + "&send=true&ajax=true");
         return false;
}

function SubmitNewTicket() {
	     loading();
		 var Subject = document.getElementById("txtSubject").value;
		 var Department = document.getElementById("Department").value;
		 var Priority = document.getElementById("selectPriority").value;
		 var Message = document.getElementById("txtMessage").value;
         HTTPRequest("support.php", "txtSubject=" + Subject + "&Department=" + Department + "&selectPriority=" + Priority + "&txtMessage=" + Message + "&send=true&ajax=true");
         return false;
}

function ResetPassword() {
	     loading();
		 var Email = document.getElementById("txtEmail").value;
         HTTPRequest("resetpwd.php", "txtEmail=" + Email  + "&send=true&ajax=true");
         return false;
}

function DataReceived() {
   if(httpObject.readyState == 4 && httpObject.status == 200){
      var serverData = httpObject.responseText;
      if (serverData.length > 0) {
          if (serverData.substr(0, 6) != "error:") {
      	      var PageBody = document.getElementById("BodyDIV");
          	  PageBody.innerHTML = "<div id='LoadingDIV'></div><br>" + serverData;
          } else {
      	      var GetErrorMsg = serverData.substr(6, serverData.length);
      	  	      document.getElementById("ErrorDIV").innerHTML = "<div id='ErrorMsg'>" + GetErrorMsg + "</div>";
      	  	      document.getElementById("LoadingDIV").innerHTML = "";
          }
      } else {
          document.getElementById("LoadingDIV").innerHTML = "";
      }
   }
}

function loading() {
	 document.getElementById("LoadingDIV").innerHTML = "<img src='images/loading.gif'>";
}

function validateEmail(EmailAddress) {
         var EmailSignPos_1 = EmailAddress.indexOf("@");
         var EmailSignPos_2 = EmailAddress.indexOf(".");

         if (EmailSignPos_1 != -1 && EmailSignPos_2 != -1 && EmailSignPos_2 > EmailSignPos_1 && EmailAddress.length > 4) {
             if (EmailAddress.substr(0,1) != "@" || EmailAddress.substr(0,1) != ".") {
                 if (EmailAddress.indexOf("@.") == -1 && EmailAddress.indexOf(".@")) {
                     return true;
                 } else {
                     return false;
                 }
             } else {
                 return false;
             }
         } else {
             return false;
         }
}

function verifySurvey() {
		 var d = document;
		 var s1 = verifyOptGroup(surveyForm.s1);
		 var s2 = verifyOptGroup(surveyForm.s2);
		 var s3 = verifyOptGroup(surveyForm.s3);
		 var s4 = verifyOptGroup(surveyForm.s4);
		 var s5 = verifyOptGroup(surveyForm.s5);
		 var s6 = verifyOptGroup(surveyForm.s6);
		 var s7 = verifyOptGroup(surveyForm.s7);
		 var s8 = verifyOptGroup(surveyForm.s8);
		 var s9 = verifyOptGroup(surveyForm.s9);
		 var s10 = verifyOptGroup(surveyForm.s10);
		 var s11 = verifyOptGroup(surveyForm.s11);
		 var product = verifyOptGroup(surveyForm.optProduct);
		 var version = d.getElementById("txtVersion").value;
		 var email = d.getElementById("txtEmail").value;
		 if (s1 == null || s2 == null || s3 == null || s4 == null || s5 == null || s6 == null || s7 == null || s8 == null || s9 == null || s10 == null || s11 == null) {
		 	 // Table is not completed
		 	 alert("Please complete the survey.");
		 	 return false;
		 }
		 
		 if (product == null) {
		 	 // Product is not selected
		 	 alert("Please select product.");
		 	 return false;
		 }
		 
		 if (version.length < 1) {
		 	 // Missing software version
		 	 alert("Please enter your software version.");
		 	 return false;
		 }
		 
		 if (email.length < 1) {
		 	 alert("Please enter your email address.");
		 	 return false;
		 }
		 
		 if (!validateEmail(email)) {
		 	 alert("Please enter a valid email address.");
		 	 return false;
		 }
		 
		 return true;
}

function verifyOptGroup(objOpt) {
		 var cnt = -1;
		 for (var i = objOpt.length-1; i > -1; i--) {
    		  if (objOpt[i].checked) { cnt = i; i = -1; }
   		 }
   	
		if (cnt > -1) return objOpt[cnt].value;
}