/*****************************************************************************
' Application Name    :  Kishore 
' Module Name         :  question_func.php
' Revision Number     :  1.1
' Database(s)         :  cms
' Table(s)            :  
' View(s)             :  -
' Stored Procedure(s) :  -
' Dependant Module(s) :  
' Output File(s)      :  -
' Created By    	  :  Chandrakala. S
' Created Date		  :  08-02-2008
' Modified By         :
' Modified On		  :
' Reason For Modification :
*******************************************************************************
  Description :This module has the javascript validation and functions for 
			   sending a question or advice.
******************************************************************************/
function validate()
	{
	 var Quesform = document.frm_ques;
	 if(Quesform.ques_name.value=="" || Quesform.ques_name.value=="Enter your name")
	  {
		alert("Please enter your name");
		Quesform.ques_name.focus();
		return false;
	  }
	var specchar = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|\"\'\!]/;
	var name1=new RegExp('[0-9]');
	if ((name1.test(Quesform.ques_name.value))) 
	{
		alert('Please enter a valid name');
		Quesform.ques_name.focus();
		return false;
	}
	if(Quesform.ques_name.value.search(specchar) == -1) 
	{	}
	else {
		alert("Please use valid characters");
		Quesform.ques_name.focus();
		return false;
	}
	 if(Quesform.ques_email.value=="" || Quesform.ques_email.value=="Enter your email id")
	  {
		alert("Please enter your email");
		Quesform.ques_email.focus();
		return false;
	  }
	  var part1=Quesform.ques_email.value.substr(0,Quesform.ques_email.value.indexOf('@'));
	  var part2=Quesform.ques_email.value.substr(Quesform.ques_email.value.indexOf('@')+1,Quesform.ques_email.value.length-Quesform.ques_email.value.indexOf('@'));
	  var email1=new RegExp('[^a-zA-Z0-9.\_]');
	  var email2=new RegExp('[^a-zA-Z0-9.]');
	  var emailFilter=/^.+@.+\..{2,3}$/;
	  if(part1.length<3)
	  {
		alert('Please enter a valid Email Address');
		Quesform.ques_email.focus();
		return false;
	  }
	  if(email2.test(part2))
	  {
		alert('Please enter a valid Email Address');
		Quesform.ques_email.focus();
		return false;
	  }
	  if(email1.test(part1))
	  {
		alert('Please enter a valid Email Address');
		Quesform.ques_email.focus();
		return false;
	  }
	  if (!(emailFilter.test(Quesform.ques_email.value))) 
	  {
		alert('Please enter a valid Email Address');
		Quesform.ques_email.focus();
		return false;
	  }


	if(Quesform.ques_topic.value=="select")
	  {
		alert("Please choose your topic");
		Quesform.ques_topic.focus();
		return false;
	  }
	  

	if(Quesform.ques_advice.value=="")
	  {
		alert("Please enter your Question");
		Quesform.ques_advice.focus();
		return false;
	  }
	if(Quesform.ques_advice.value!="")
	  {
		var length=Quesform.ques_advice.value.length;
		if(length>=200)
		  {
			alert("The maximum charactes allowed is 200");
			Quesform.ques_advice.focus();
			return false;
		  }
		  else
		   	Quesform.submit();
	  }

	   	  
	
	}
    function formreset()
	{
		document.frm_ques.reset();
		return false;
	}
	function questions()
	{
	   alert(document.frm_ques.ques_topic.value);
	}
	function Trim(value)
{
	value = value.replace(/^\s+/g, "");
	value = value.replace(/\s+$/g, "");
	return value;
}

function Validate_Abusemsg(frm_id)
{
	//alert(frm_id);
	frm="document.frm_contents"+frm_id;
	frm = eval(frm);
	//alert(frm);
var specchar = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|\"\']/;
	var firstpart=frm.email.value.substr(0,frm.email.value.indexOf('@'));
	var secondpart=frm.email.value.substr(frm.email.value.indexOf('@')+1, frm.email.value.length-frm.email.value.indexOf('@'));
	var email1=new RegExp('[^a-zA-Z0-9.\_]');
	var email2=new RegExp('[^a-zA-Z0-9.]');
    var emailFilter=/^.+@.+\..{2,3}$/;
	var name1=new RegExp('[0-9]');
	if ((name1.test(frm.name.value))) 
	{
		alert('Please enter a valid name');
		frm.name.focus();
		return false;
	}
	if(frm.name.value.search(specchar) == -1) 
	{	}
	else {
		alert("Please use valid characters");
		frm.name.focus();
		return false;
	}
	if (Trim(frm.name.value) == "")
	{
		alert ("Enter your Name");
		frm.name.focus();
		return false;
	}
	if (Trim(frm.email.value) == "")
	{
		alert ("Enter your Email Id");
		frm.email.focus();
		return false;
	}
     if(firstpart.length<3)
	{
		alert('Please enter valid email id');
		frm.email.focus();
		return false;
	}
	if((email2.test(secondpart)))
	{
		 alert('Please enter a valid email address');
		 frm.email.focus();
		 return false;
	}
	if((email1.test(firstpart)))
	{
		 alert('Please enter a valid email address');
		 frm.email.focus();
		 return false;
	}
	if ((!(emailFilter.test(frm.email.value))))
	{
		 alert('Please enter a valid email address');
		 frm.email.focus();
		 return false;
	}
	if (Trim(frm.reason.value)== "")
	{
		alert ("Please enter reason for abuse");
		frm.reason.focus();
		return false;
	}
	if(!inString(frm.reason.value))
	{
		alert("Please enter valid reason for abuse."); 
		frm.reason.focus(); 
		return false;
	}
	if (frm.reason.value.length >2000)
	{
		alert(" Maximum characters allowed - 2000 ");
		frm.reason.focus();
		frm.reason.select();
		return false;
	}
	querystr = "ques_id="+Trim(frm.ques_id.value)+"&name="+Trim(frm.name.value)+"&email="+Trim(frm.email.value)+"&reason="+Trim(frm.reason.value);
	getResponse ("td_"+frm.ques_id.value, "report_submit.php", querystr);
}


function Validate_Sendmail(frm_id)
{
	/* From validations */
	//alert (frm_id);
	var frm = "document.frm_contents"+frm_id;
	frm = eval(frm);
	//alert (frm);
	if(Trim(frm.mailfrom.value) == "")
	{
		alert ("Please enter your e-mail address");
		frm.mailfrom.focus();
		return false;
	}
	if (! validateEmail(frm.mailfrom.value))
	{
		alert("Invalid Email Id.");
		frm.mailfrom.focus();
		return false;
	}
	if (Trim(frm.mailfrom.value) == '' )
	{
		alert("Email Address should not be a whitespace.");
		frm.mailfrom.value = "";
		frm.mailfrom.focus();
		return false;
	}
	/* To validations */
	if(frm.mailto.value == "")
	{
		alert ("Please enter the e-mail address of your friend.");
		frm.mailto.focus();
		return false;
	}
	var temp=0;
	var pattern = /,/; 
	var mailList = new Array();
    mailList = frm.mailto.value.split(pattern);
    for (var i=0; i<mailList.length; i++){
        if (! validateEmail(mailList[i]))
		    temp=1;
	}    
	if (temp==1)
	{
		alert("Invalid Email Id.");
		frm.mailto.focus();
	 	return false;
 	}
	if (Trim(frm.mailto.value) == '' )
	{
		alert("Email Address should not have whitespaces.");
		frm.mailto.value = "";
		frm.mailto.focus();
		return false;
	}
	/* Cc validations 
	if (frm.mailcc.value != "" )
	{
		if (! validateEmail(frm.mailcc.value))
		{
			alert("Invalid Email Id.");
			frm.mailcc.focus();
			return false;
		}
		if (Trim(frm.mailcc.value) == '' )
		{
			alert("Email Address should not have whitespaces.");
			frm.mailcc.value = "";
			frm.mailcc.focus();
			return false;
		}
	}*/
	/* Comments validations*/
	if (frm.comments.value == "" )
	{
		alert("Please enter your comments .");
		frm.comments.focus();
		return false;
	}	
	if (frm.comments.value.length >2000)
	{
		alert(" Maximum characters allowed - 2000 ");
		frm.comments.focus();
		frm.comments.select();
		return false;
	}
    frm.linkto.value = parent.location;
	querystr ="linkto="+window.location+"&ques_id="+Trim(frm.ques_id.value)+"&mailfrom="+Trim(frm.mailfrom.value)+"&mailto="+Trim(frm.mailto.value)+"&mailcc="+Trim(frm.mailcc.value)+"&comments="+Trim(frm.comments.value);
	//alert(querystr);
	getResponse("td_"+frm.ques_id.value, "sendmail_submit.php", querystr);
//    return true;
}
function inString(str)
{
	var pattern=/[A-Za-z0-9]/;
	if(str.match(pattern)!=null) { return true; } else { return false; }
}
function checksize(obj)
{  
  obj = eval(obj);
  if (obj)
  {
	  var str = obj.value;
  	  if (str.length >= 2000)
	  {
		obj.value = str.substr(0, 2000);
		return false;
	  }
	  else
	  {
		return true;
	  }
  }
}
function validateEmail(email)
{ 
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) 
	{
		return false;
	}
    if (splitted[1] != null)
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null)
      {
		return false;
	  }
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null)
      {
		var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
		if(splitted[2].match(regexp_ip) == null)
		{
			return false;
		}
      }
      return true;
    } 
	return false;
}