
STREAMNET.ibackup = {};

 function isValidEmailId(email)
 {
	if (email == null)
	{
		return(false);
	}
	else if(email == '')
	{
		return(false) ;
	}
	else if ( (trim(email).indexOf('@') == -1 && trim(email).indexOf('.') == -1) ||
			  (trim(email).indexOf('@') == 0 && trim(email).indexOf('.') == 0) ||
			  (trim(email).indexOf('@') == (trim(email).length-1) ||  trim(email).indexOf('@',(trim(email).indexOf('@')+1))!=-1))
	{
		return(false);
	}
	else if (hasSpecChar(email))
	{
		return(false) ;
	}
	else
	{
		return(true) ;
	};
 }


 function hasSpecChar(Str)
 {
	var alloweduser = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_@.-";

	 for(var count = 0; count < Str.length; count++)
	 {
		if(alloweduser.indexOf(Str.substring(count, count + 1)) == -1)
		{
		  return(true);
		}

	 };
	 return(false);
 }


 STREAMNET.ibackup.getEmailResponse = function(http_request)
{

if(http_request.readyState == 4)
	{
		if(http_request.status == 200)
		{
			
			var resp = http_request.responseText;
			var username = '';

			if(resp.indexOf("invalid")!=-1)
			{				
				document.getElementById("invUser").value="invalid";
				document.feedback.EMAIL.focus();
				document.getElementById("errorInfo").innerHTML='Enter a valid email address.';
			}
			else if(resp.indexOf("too many rows")!=-1)
			{	
				username = document.getElementById("userid");
				if(username.value == '')
				{					
					document.getElementById("invUser").value="too";
					document.feedback.USERNAME.focus();
					document.getElementById("errorInfo").innerHTML='There are multiple accounts associated with this email address. Specify the Username for which you want to report your feedback.';
				}
				
			}
			else
			{
				username =  resp.substring(0,(resp.indexOf("<<")));
				document.getElementById("userid").value = username;	

				document.feedback.USERNAME.value= trim(document.feedback.USERNAME.value);
				
				document.getElementById("invUser").value="";	
			}		
		}
		else
		{
			//alert("Some problem in response");
		}
	}

}

/***********************/

function checkField(){
	if(document.feedback.userid.value!=''){
	document.getElementById("errorInfo").innerHTML="";
	document.feedback.invUser.value = '';
	}
}


function displayAlert(){
document.feedback.EMAIL.focus();
}


STREAMNET.ibackup.emailVerify = function(thisForm)
{

document.getElementById("errorInfo").innerHTML="";
var trimEmail = trim(thisForm.EMAIL.value);
	
if(!isValidEmailId(trimEmail))
	{		
    	setTimeout('displayAlert()',0);   // Calling this method as on IE6 and IE7 document.form1.email.focus(); was not working
		document.feedback.EMAIL.focus();
		document.feedback.invUser.value = 'invalid';
		document.getElementById("errorInfo").innerHTML='Enter a valid email address.';
	}
	else
	{		
		document.feedback.invUser.value = '';
		var data = "EMAIL="+trimEmail;
		STREAMNET.Ajax.makeRequest("/qmanager/jsp/validateFeedBackDetails.jsp",data,true,"POST",STREAMNET.ibackup.getEmailResponse);
	}
}

STREAMNET.ibackup.emailVerifySyn = function(thisForm)
{
	document.getElementById("invUser").value="";
	var data = "EMAIL="+trim(thisForm.EMAIL.value);
	document.getElementById("errorInfo").innerHTML="";
	STREAMNET.Ajax.makeRequest("/qmanager/jsp/validateFeedBackDetails.jsp",data,false,"POST",STREAMNET.ibackup.getEmailResponse);
}

STREAMNET.ibackup.getUsernameResponse = function(http_request)
{


//alert('getting called.....');
if(http_request.readyState == 4)
	{
		if(http_request.status == 200)
		{
			//alert('http_request.responseText....'+http_request.responseText);
			
			var resp = http_request.responseText;
			

			if(resp.indexOf("invalid")!=-1)
			{
				userRef = document.getElementById("invUser");
				userRef.value = 'true';
				document.feedback.USERNAME.focus();
				alert('Enter a valid username.');
			}
			else
			{
				userRef = document.getElementById("invUser");
				userRef.value = '';
			}	

			
		}
		else
		{
			alert("There was some problem. Try later.");
		}
	}

}

STREAMNET.ibackup.usernameVerify = function(thisForm)
{

	var data = "USERNAME="+thisForm.USERNAME.value+"&ounv=true";

	STREAMNET.Ajax.makeRequest("/qmanager/jsp/validateFeedBackDetails.jsp",data,true,"POST",STREAMNET.ibackup.getUsernameResponse);

}

STREAMNET.ibackup.usernameVerifySyn = function(thisForm)
{

	var data = "USERNAME="+thisForm.USERNAME.value+"&ounv=true";

	STREAMNET.Ajax.makeRequest("/qmanager/jsp/validateFeedBackDetails.jsp",data,false,"POST",STREAMNET.ibackup.getUsernameResponse);

}


function validate_email(form){
var input_str=document.forms[0].EMAIL.value;
var input_len3=input_str.length;
return true;
}


function isBlank(Str)
{
while(''+Str.charAt(0)==' ')
Str=Str.substring(1,Str.length);
while(''+Str.charAt(Str.length-1)==' ')
Str=Str.substring(0,Str.length-1);
if (Str == '')
{ return(true);
}
else
{ return(false);
};
}

function trim(Str)
{
if (!(isBlank(Str)))
{
while(''+Str.charAt(0)==' ')
Str=Str.substring(1,Str.length);
while(''+Str.charAt(Str.length-1)==' ')
Str=Str.substring(0,Str.length-1);
return(Str);
}
else
{ return ('');
};
}

function invalidName(Str)
{
var alloweduser = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ";

for(var count = 0; count < Str.length; count++)
{
if(alloweduser.indexOf(Str.substring(count, count + 1)) == -1)
{

return(true);
}
};

}

function checkAndReplace(str)
{

var ch ='';
var j;

if(str=='')
{
return '';
}
else
{

for(var i=0;i<str.length;i++)
{

j = 0;
if(str.charAt(i)=='\'')
{
j++;
}

if(str.charAt(i)=='<')
{
j++;
}

if(str.charAt(i)=='>')
{
j++;

}

if(str.charAt(i)=='\(')
{
j++;

}

if(str.charAt(i)=='\)')
{
j++;

}

if(j == 0)
{
ch = ch + str.charAt(i);
}
j = 0;

}
}

return ch;
}

function invalidPhoneNumber(Str)
{
var alloweduser = "0123456789- xX+";
var totcount = 0;
for(var count = 0; count < Str.length; count++)
{
if(alloweduser.indexOf(Str.substring(count, count + 1)) == -1)
{
totcount++;
}
};
if(totcount!=0)
{
return(true);
}
return(false);
}

function invalidUserName(Str)
{
var alloweduser = "abcdefghijklmnopqrstuvwxyz0123456789_";

for(var count = 0; count < Str.length; count++)
{
if(alloweduser.indexOf(Str.substring(count, count + 1)) == -1)
{
return(true);
}
};

}

function submit2(form)
{

if (invalidName(form.FIRSTNAME.value))
{
form.FIRSTNAME.focus();
alert('First name can only contain characters A-Z, a-z and blank space.');
return (false);
}
if (invalidName(form.LASTNAME.value))
{
form.LASTNAME.focus();
alert('Last name can only contain characters A-Z, a-z and blank space.');
return (false);
}
else if(!isValidEmailId(trim(form.EMAIL.value)))
{
form.invEmail.value=="";
form.EMAIL.focus();
alert('Enter a valid email address.');
return(false);
}

if(form.USERNAME.value!= '' && invalidUserName(trim(form.USERNAME.value)))
{
form.USERNAME.focus();
alert('Enter a valid username.');
return(false);
}
if( form.select1.value=='' )
{
form.invUser.value = '';
form.select1.focus();
alert('Select the operating system.');
return(false);
}
else if( form.select.value=='' )
{
form.select.focus();
alert('Select the browser.');
return(false);
}
else if( form.select2.value=='' )
{
form.select2.focus();
alert('Select the connection type.');
return(false);
}

else if( form.select3.value=='')
{
form.select3.focus();
alert('Select the IBackup program.');
return(false);
}
else if( (form.PHONE.value!='') && (invalidPhoneNumber(form.PHONE.value)))
{
form.PHONE.focus();
alert('Phone number can only contain characters 0-9 x X - +.');
return(false);
}
else if( form.select3.value=='Other' && form.textarea.value=='')
{
form.textarea.focus();
alert('Enter your problem/query/comments.');
return(false);
}
else{	  
		STREAMNET.ibackup.emailVerifySyn(form);
		if(form.invUser.value==""){
		return true;
		}else{
		return false ;
		}	  
}  

form.FIRSTNAME.value = checkAndReplace(form.FIRSTNAME.value);
form.LASTNAME.value = checkAndReplace(form.LASTNAME.value);
form.USERNAME.value = checkAndReplace(form.USERNAME.value);
form.EMAIL.value = checkAndReplace(form.EMAIL.value);
form.select1.value = checkAndReplace(form.select1.value);
form.select2.value = checkAndReplace(form.select2.value);
form.select3.value = checkAndReplace(form.select3.value);
form.PHONE.value = checkAndReplace(form.PHONE.value);
form.textarea.value = checkAndReplace(form.textarea.value);



form.action="/qmanager/servlet/FeedbackServlet"
form.method="post"
return(true);

}

