/*
 * validate.js
 * Client side validation for all forms
 * Copyright (C) Fluent Technolgies, Bangalore.
 * Please contact Badari Mandyam
 * bmandyam@fluentsoft.com
 */
function echeck(str) {
       var msg='';
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   msg += 'Invalid E-mail ID\n';
		   return msg
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   msg += 'Invalid E-mail ID\n';
		   return msg
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    msg += 'Invalid E-mail ID';
		    return msg
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		   msg += 'Invalid E-mail ID\n';
		    return msg
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    msg += 'Invalid E-mail ID\n';
		    return msg
		 }

		 if (str.indexOf(dot,(lat+2)) == -1){
		    msg += 'Invalid E-mail ID\n';
		    return msg
		 }

		 if (str.indexOf(" ") != -1){
		    msg += 'Invalid E-mail ID\n';
		    return msg
		 }

 		 return msg
	}


// 310309 : function to check if given string contains non numerical characters 
// only numbers, whitespace and hyphen are allowed
function numcheck(str)
{
 
   var msg='';
   str = str.replace(/\s+/g,'');
   str = str.replace(/-+/g,'');

   if ( str == '' || str.replace(/^\d+$/,'') != '')
   {
      msg = 'Contact number should contain only numbers\n';
   }
   return msg;
}



function validate_register()
{
   var msg='';
   if((document.getElementById('fname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your First Name\n';
   }
   if((document.getElementById('lname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Last Name\n';
   }
   if((document.getElementById('company').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Company name\n';
   }
   if((document.getElementById('email').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Email Id\n';
   }

   if(document.getElementById('email').value != '')
   {
     emailid = document.getElementById('email').value;
     msg += echeck(emailid);
     
   }
   
   // 310309 - If contact number is entered, it should be numeric only
   var phone = document.getElementById('phone').value;
   if (phone != '')
   {
      msg += numcheck(phone);
   }
   
   if( msg != '')
   {
    //alert('hi');
    alert(msg);
    return false;
   }
   return true;
}

function validate_suggestions()
{
   var msg='';

   if((document.getElementById('fname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter First Name\n';
   }

   if((document.getElementById('lname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Last Name\n';
   }

   if((document.getElementById('email').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Email Id\n';
   }
   
   // 310309 - company is a mandatory field
   if((document.getElementById('company').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Company name\n';
   }
   
   if(document.getElementById('email').value != '')
   {
     emailid = document.getElementById('email').value;
     msg += echeck(emailid);
     
   }
   
   // 310309 - If contact number is entered, it should be numeric only
   var phoneno = document.getElementById('phoneno').value;
   if (phoneno != '')
   {
      msg += numcheck(phoneno);
   }
   
    if((document.getElementById('suggest1').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Suggestion for Speakers\n';
   }
   
    if((document.getElementById('suggest2').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Suggestion for themes and topics\n';
   }
   
   if( msg != '')
   {
    alert(msg);
    return false;
   }
   return true;
}

function validate_feedback()
{
   var msg='';

   if((document.getElementById('fname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your First Name\n';
   }
   if((document.getElementById('lname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Last Name\n';
   }
   if((document.getElementById('company').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Company name\n';
   }
   if((document.getElementById('email').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter your Email Id\n';
   }
   // Check for correct format of email address
   else
   {
     emailid = document.getElementById('email').value;
     msg += echeck(emailid);
   }

   /* 310309 - Event name and date are not mandatory fields - hence commented out
   if((document.getElementById('op_name').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Name of Event attended\n';
   }
   if((document.getElementById('op_date').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Date of Event attended\n';
   }
   
   if((document.getElementById('speaker').value).replace(/^\s*|\s*$/, '') == '' &&
	   (document.getElementById('topic_addressed').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter feedback on Speaker or Topic of the forum you attended\n';
   }
   */
   
   // 310309 - If contact number is entered, it should be numeric only
   var phoneno = document.getElementById('phoneno').value;
   if (phoneno != '')
   {
      msg += numcheck(phoneno);
   }
   
   if( msg != '')
   {
    alert(msg);
    return false;
   }
   return true;

}

function validate_prospects()
{
  var msg='';

  if((document.getElementById('fname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter First Name\n';
   }


   if((document.getElementById('lname').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Last Name\n';
   }
   if((document.getElementById('desg').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Designation\n';
   }
   if((document.getElementById('org').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Organization\n';
   }

   if((document.getElementById('email').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Email Id\n';
   }
   if(document.getElementById('email').value != '')
   {
     emailid = document.getElementById('email').value;
     msg += echeck(emailid);
     
   }
   if( msg != '')
   {
    alert(msg);
    return false;
   }
   return true;

}

function validate_admin()
{
   var msg ='';

   if((document.getElementById('userid').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter User Id\n';
   }

   if((document.getElementById('password').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Password\n';
   }

   if((document.getElementById('email_id').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter the Email Id\n';
   }
   if(document.getElementById('email').value != '')
   {
     emailid = document.getElementById('email').value;
     msg += echeck(emailid);
     
   }

   if( msg != '')
   {
    alert(msg);
    return false;
   }
   return true;
}

function validate_login()
{
   var msg='';
   if((document.getElementById('userid').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter you User Id\n';
   }

   if((document.getElementById('password').value).replace(/^\s*|\s*$/, '') == '')
   {
     msg += 'Please enter Password\n';
   }


   if( msg != '')
   {
    //alert('hi');
    alert(msg);
    return false;
   }
   else
    return true;

}


function ValidateForm(){
//alert('hi1');
     var msg='';

	var emailID=document.getElementById('email');
alert("hi");
	if ((emailID.value==null) || (emailID.value==""))
        {
        //alert('hi2');
		alert("Please Enter your Email ID")
		emailID.focus()
		return false
	}
	if (echeck(emailID.value)==false)
        {
        //alert('hi3');
    	   emailID.value=""
           emailID.focus()
	   return false
	}
     return true;
 }
 
function getevent()
{
    var event = document.getElementById('events').innerHTML;
    document.getElementById('forum').value = event;
    //alert(document.getElementById('forum').value);
    return true;
}
