var submitted = false;
var error = false;
var error_message = "";

function  validateString( strValue ) {
 var objRegExp  =  /(^[a-zA-Z]+$)/; 
  return objRegExp.test(strValue);
}
function  validateNumeric( strValue ) {
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.

PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
******************************************************************************/
  var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/; 
 
  //check for numeric characters 
  return objRegExp.test(strValue);
}

function validateInteger( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid integer number.
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
******************************************************************************/
  var objRegExp  = /(^-?\d\d*$)/;
 
  //check for integer characters
  return objRegExp.test(strValue);
}

function validateNotEmpty( strValue ) {
/************************************************
DESCRIPTION: Validates that a string is not all
  blank (whitespace) characters.
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
   var strTemp = strValue;
   strTemp = trimAll(strTemp);
   if(strTemp.length > 0){
     return true;
   }  
   return false;
}

function validateEmail( strValue) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid email pattern. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
   
REMARKS: Accounts for email with country appended
  does not validate that email contains valid URL
  type (.com, .gov, etc.) and optionally,
  a valid country suffix.  Since email has many
  forms this expression only tests for near valid
  address.  Some additional validation may be
  required.
*************************************************/
var objRegExp  = /^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
  //check for valid email
  return objRegExp.test(strValue);
}

function rightTrim( strValue ) {
/************************************************
DESCRIPTION: Trims trailing whitespace chars.
    
PARAMETERS:
   strValue - String to be trimmed.  
      
RETURNS:
   Source string with right whitespaces removed.
*************************************************/
var objRegExp = /^([\w\W]*)(\b\s*)$/;
 
      if(objRegExp.test(strValue)) {
       //remove trailing a whitespace characters
       strValue = strValue.replace(objRegExp, '$1');
    }
  return strValue;
}

function leftTrim( strValue ) {
/************************************************
DESCRIPTION: Trims leading whitespace chars.
    
PARAMETERS:
   strValue - String to be trimmed
   
RETURNS:
   Source string with left whitespaces removed.
*************************************************/
var objRegExp = /^(\s*)(\b[\w\W]*)$/;
 
      if(objRegExp.test(strValue)) {
       //remove leading a whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function trimAll( strValue ) {
/************************************************
DESCRIPTION: Removes leading and trailing spaces.

PARAMETERS: Source string from which spaces will
  be removed;

RETURNS: Source string with whitespaces removed.
*************************************************/ 
 var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(strValue)) {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
    }
    
   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function validateCurrency( strValue)  {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid currency format. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp = /(^\$\d{1,3}(,\d{3})*\.\d{2}$)|(^\(\$\d{1,3}(,\d{3})*\.\d{2}\)$)/;

  return objRegExp.test( strValue );
}

function validateTime ( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid 12 hour time format. Seconds are optional.
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.

REMARKS: Returns True for time formats such as:
  HH:MM or HH:MM:SS or HH:MM:SS.mmm (where the
  .mmm is milliseconds as used in SQL Server 
  datetime datatype.  Also, the .mmm portion will 
  accept 1 to 3 digits after the period)
*************************************************/
  var objRegExp = /^([1-9]|1[0-2]):[0-5]\d(:[0-5]\d(\.\d{1,3})?)?$/;

  return objRegExp.test( strValue );

}

function validateState (strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid state abbreviation. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/

var objRegExp = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i; 
  return objRegExp.test(strValue);
}

function validateSSN( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains a 
  valid social security number. 
  
 PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
var objRegExp  = /^\d{3}\-\d{2}\-\d{4}$/;
 
  //check for valid SSN
  return objRegExp.test(strValue);

}



function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
  US phone pattern. 
  Ex. (999) 999-9999 or (999)999-9999
  
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
*************************************************/
  var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
 
  //check for valid us phone with or without space between 
  //area code
  return objRegExp.test(strValue); 
}


function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
  States zip code in 5 digit format or zip+4
  format. 99999 or 99999-9999
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.

*************************************************/
var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
 
  //check for valid US Zipcode
  return objRegExp.test(strValue);
}

/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) 
{
	for (var i = 1; i <= n; i++) 
	{
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
	} 
	return this
}

function isDate(dtStr)
{
	if(dtStr=='')
	{
		alert("Please enter date");
		return false;
	}
	else
	{
	var daysInMonth = DaysArray(12);	
	var pos1=dtStr.indexOf(dtCh);	
	var pos2=dtStr.indexOf(dtCh,pos1+1);	
	var strDay=dtStr.substring(0,pos1);
	var strMonth=dtStr.substring(pos1+1,pos2);
	var strYear=dtStr.substring(pos2+1);	
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1)
	{
		alert("The date format should be : dd/mm/yyyy");
		return false;
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
	return true
	}
}


function ValidateForm(datevalue){
	
	var dt=datevalue;
	if (isDate(dt.value)==false){
		dt.focus()
		return false
	}
    return true
 }

/*********paramasivan script starts************/

/*function validateUrl(strValue) 
	{ 
	var objRegExp=/^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.|http:\/\/|https:\/\/){1}([\w]+)(.[\w]+){1,2}$/;
	return objRegExp.test(strValue);
	} */

/*********paramasivan script ends************/


function validateUrl(strValue) {
    var v = new RegExp();
    v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
    if (!v.test(strValue)) {
        return false;
    }
	else return true;
}

function replace(argvalue, x, y) {

  if ((x == y) || (parseInt(y.indexOf(x)) > -1)) {
    errmessage = "replace function error: \n";
    errmessage += "Second argument and third argument could be the same ";
    errmessage += "or third argument contains second argument.\n";
    errmessage += "This will create an infinite loop as it's replaced globally.";
    //alert(errmessage);
    return false;
  }
    
  while (argvalue.indexOf(x) != -1) {
    var leading = argvalue.substring(0, argvalue.indexOf(x));
    var trailing = argvalue.substring(argvalue.indexOf(x) + x.length, 
	argvalue.length);
    argvalue = leading + y + trailing;
  }

  return argvalue;

}
function validateUSDate( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only 
    valid dates with 2 digit month, 2 digit day, 
    4 digit year. Date separator can be ., -, or /.
    Uses combination of regular expressions and 
    string parsing to validate date.
    Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy
    
PARAMETERS:
   strValue - String to be tested for validity
   
RETURNS:
   True if valid, otherwise false.
   
REMARKS:
   Avoids some of the limitations of the Date.parse()
   method such as the date separator character.
*************************************************/
  var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
 
  //check to see if in correct format
  if(!objRegExp.test(strValue))
    return false; //doesn't match pattern, bad date
  else{
    var arrayDate = strValue.split(RegExp.$1); //split date into month, day, year
	var intDay = parseInt(arrayDate[1],10); 
	var intYear = parseInt(arrayDate[2],10);
    var intMonth = parseInt(arrayDate[0],10);
	
	//check for valid month
	if(intMonth > 12 || intMonth < 1) {
		return false;
	}
	
    //create a lookup for months not equal to Feb.
    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
                        '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
  
    //check if month value and day value agree
    if(arrayLookup[arrayDate[0]] != null) {
      if(intDay <= arrayLookup[arrayDate[0]] && intDay != 0)
        return true; //found in lookup table, good date
    }
		
    //check for February
	var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
    if( ((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <=28)) && intDay !=0)
      return true; //Feb. had valid number of days
  }
  return false; //any other values, bad date
}

function validateValue( strValue, strMatchPattern ) {
/************************************************
DESCRIPTION: Validates that a string a matches
  a valid regular expression value.
    
PARAMETERS:
   strValue - String to be tested for validity
   strMatchPattern - String containing a valid
      regular expression match pattern.
      
RETURNS:
   True if valid, otherwise false.
*************************************************/
var objRegExp = new RegExp( strMatchPattern);
 
 //check if string matches pattern
 return objRegExp.test(strValue);
}


function removeCurrency( strValue ) {
/************************************************
DESCRIPTION: Removes currency formatting from 
  source string.
  
PARAMETERS: 
  strValue - Source string from which currency formatting
     will be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /\(/;
  var strMinus = '';
 
  //check if negative
  if(objRegExp.test(strValue)){
    strMinus = '-';
  }
  
  objRegExp = /\)|\(|[,]/g;
  strValue = strValue.replace(objRegExp,'');
  if(strValue.indexOf('$') >= 0){
    strValue = strValue.substring(1, strValue.length);
  }
  return strMinus + strValue;
}

function addCurrency( strValue ) {
/************************************************
DESCRIPTION: Formats a number as currency.

PARAMETERS: 
  strValue - Source string to be formatted

REMARKS: Assumes number passed is a valid 
  numeric value in the rounded to 2 decimal 
  places.  If not, returns original value.
*************************************************/
  var objRegExp = /-?[0-9]+\.[0-9]{2}$/;
   
    if( objRegExp.test(strValue)) {
      objRegExp.compile('^-');
      strValue = addCommas(strValue);
      if (objRegExp.test(strValue)){
        strValue = '($' + strValue.replace(objRegExp,'') + ')';
      }
      else {
        strValue = '$' + strValue;
      }
      return  strValue;
    }
    else
      return strValue;
}

function removeCommas( strValue ) {
/************************************************
DESCRIPTION: Removes commas from source string.

PARAMETERS: 
  strValue - Source string from which commas will 
    be removed;

RETURNS: Source string with commas removed.
*************************************************/
  var objRegExp = /,/g; //search for commas globally
 
  //replace all matches with empty strings
  return strValue.replace(objRegExp,'');
}

function addCommas( strValue ) {
/************************************************
DESCRIPTION: Inserts commas into numeric string.

PARAMETERS: 
  strValue - source string containing commas.
  
RETURNS: String modified with comma grouping if
  source was all numeric, otherwise source is 
  returned.
  
REMARKS: Used with integers or numbers with
  2 or less decimal places.
*************************************************/
  var objRegExp  = new RegExp('(-?[0-9]+)([0-9]{3})'); 

    //check for match to search criteria
    while(objRegExp.test(strValue)) {
       //replace original string with first group match, 
       //a comma, then second group match
       strValue = strValue.replace(objRegExp, '$1,$2');
    }
  return strValue;
}

function removeCharacters( strValue, strMatchPattern ) {
/************************************************
DESCRIPTION: Removes characters from a source string
  based upon matches of the supplied pattern.

PARAMETERS: 
  strValue - source string containing number.
  
RETURNS: String modified with characters
  matching search pattern removed
  
USAGE:  strNoSpaces = removeCharacters( ' sfdf  dfd', 
                                '\s*')
*************************************************/
 var objRegExp =  new RegExp( strMatchPattern, 'gi' );
 
 //replace passed pattern matches with blanks
  return strValue.replace(objRegExp,'');
}


//for validate input text box
function check_input(formname,field_name, field_numeric, message)
{
	with(document.forms[formname])
	{
		 var field_value = elements[field_name].value;
		 if(trimAll(field_value)=="")
		 {
			 //elements[field_name].focus();
			 error_message = error_message + "* " + message + "\n";
			 error = true;
		 }
		 if(field_numeric && (!validateNumeric(field_value)))
		 {
			 error_message = error_message + "* " + field_name + " is not Numeric. Please enter numeric value!" + "\n";
			 error = true;
		 }
	}
}


function check_url(formname,field_name, field_numeric, message)
{
	with(document.forms[formname])
	{
		 var field_value = elements[field_name].value;
		if((!validateUrl(field_value)))
		 {
			 //elements[field_name].focus();
			 error_message = error_message + "* " + message + "\n";
			 error = true;
		 }
		 
	}
}


//for validate input text box
function check_input_length(formname,field_name, field_length, message)
{
	with(document.forms[formname])
	{
		 var field_value = elements[field_name].value;
		 if(parseInt(field_value) > parseInt(field_length))
		 {
			 error_message = error_message + "* " + message + "\n";
			 error = true;
		 }
	}
}

//for validate dropdown list

function check_select(formname,field_name, field_default, message) 
{
	with(document.forms[formname])
	{
		var field_value = elements[field_name].value;
		if (field_value == field_default) 
		{
		  error_message = error_message + "* " + message + "\n";
		  error = true;
		}
	  
	}
}





function check_radio(formname,field_name, message) {
  var isChecked = false;

  //if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) {
    with(document.forms[formname])
	{
		var radio = elements[field_name];

		for (var i=0; i<radio.length; i++) {
		  if (radio[i].checked == true) {
			isChecked = true;
			break;
		  }
		}
  }
	if (isChecked == false) {
	  error_message = error_message + "* " + message + "\n";
	  error = true;
	}
}



function check_checkbox(field_name,field_default,message)
{
	if (form.elements[field_name] && (form.elements[field_name].type != "hidden")) { 
		if (form.elements[field_name].checked==false)
		{
			error_message = error_message + "* " + message + "\n";
			 error = true;
		}
	}
}



function check_password(field_name_1, field_name_2, field_size, message_1, message_2) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password = form.elements[field_name_1].value;
    var confirmation = form.elements[field_name_2].value;

    if (password == '' || password.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password != confirmation) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    }
  }
}

function check_password_new(field_name_1, field_name_2, field_name_3, field_size, message_1, message_2, message_3) {
  if (form.elements[field_name_1] && (form.elements[field_name_1].type != "hidden")) {
    var password_current = form.elements[field_name_1].value;
    var password_new = form.elements[field_name_2].value;
    var password_confirmation = form.elements[field_name_3].value;

    if (password_current == '' || password_current.length < field_size) {
      error_message = error_message + "* " + message_1 + "\n";
      error = true;
    } else if (password_new == '' || password_new.length < field_size) {
      error_message = error_message + "* " + message_2 + "\n";
      error = true;
    } else if (password_new != password_confirmation) {
      error_message = error_message + "* " + message_3 + "\n";
      error = true;
    }
  }
}


function createrow(tbl_id,contents,colspara,row_no)
{
	var tbl = document.getElementById(tbl_id);//to identify the table in which the row will get insert
	try 
	{
		var newRow = tbl.insertRow(1);//creation of new row
		newRow.setAttribute("id","row_"+row_no);
		var newCell = newRow.insertCell(0);//first  cell in the row
		newCell.setAttribute("colSpan",colspara);
		newCell.innerHTML = contents;//insertion of the 'text' variable in first cell		
		//row_no++;
	}
	catch (ex) {
	alert(ex); //if exception occurs
	}
}
//fun used to convert the flot values into integer value ie)round
function roundNumber(form_name,field_name) 
{
	with(document.forms[form_name])
	{
	
		var numberField = elements[field_name]; // Field where the number appears
		var rnum = numberField.value;
		var rlength = 0; // The number of decimal places to round to
		if (rnum > 8191 && rnum < 10485) {
			rnum = rnum-5000;
			var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
			newnumber = newnumber+5000;
		} else {
			var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
		}
		numberField.value = newnumber;
	}
}


function fun_changedropdown(selval,formname,hiddnval)
{
	var selval=selval;
	var formname=formname;
	document.getElementById(hiddnval).value=selval;
	document.getElementById(formname).submit();
}

function fun_replace_str(str)
{
	
	var str =str.replace('&',"***");
	return str;
	//alert('hai');
}

function fun_validate_cancel(fname)
{
	if(confirm("Are you sure want to quit this page"))
	{
		document.location=fname;
	}
	else
		return false;
	
}
function enter_key_for_validate_consulation(e,formname,formaction)
{
	if(e.keyCode==13)
	{
	 if (navigator.appName=="Netscape")
	 {
	  e.preventDefault();
	 }
	else
	  e.keyCode=0;
	  fun_validate_consulation(formname,formaction);
	}
}

function combineFirstLastName (formname,field_name, firstname, lastname)
{
	with(document.forms[formname])
	{
		 var fname = elements['firstName'].value;
		 var lname = elements['lastName'].value;
		 
		 elements[field_name].value = fname + " " + lname;
		 
	}
	
	
}
	

function twonamefields_validate_consulation(formname,formaction)
{
	with(document.forms[formname])
	{
		var formname	=formname;
		var formaction  =formaction
		var loadingID ="loadingID";
		

		var source1 ="source";
		var medium1 ="medium";
		var term1 ="term";
		var content1 ="content";
		var campaign1 ="campaign";
		var segment1 ="segment";

		//var submitted;

		if (submitted == true) 
		{
			alert("This form has already been submitted. Please press Ok and wait for this process to be completed.");
			return false;
		}
		error = false;
		form = formname;
		error_message = "Errors have occurred during the process of your form.\n\nPlease make the following corrections:\n\n";

		check_input(formname,"firstName", false, "First Name Can't be left blank");
		check_input(formname,"lastName", false, "Last Name Can't be left blank");
		
		//add the first and last name to hidden field for use with ajax_consultation_action.php
		combineFirstLastName(formname,"customer_name");
		
		
		check_input(formname,"customer_name", false, "Name Can't be left blank");
		check_input(formname,"customer_email_address", false, "Email Address Can't be left blank");
		if(!validateEmail(customer_email_address.value))
		{
			error_message = error_message + "* You must enter valid email address\n";
		}
		check_input(formname,"customer_phone_number", false, "Phone Number Can't be left blank");
		check_input(formname,"customer_zipcode", false, "State  Can't be left blank");
		
		

		if(error==true)
		{
			alert(error_message);
			return false;
		}
		else
		{
			
			//document.getElementById(formname).style.display="none";
			document.getElementById("loadingID").style.display="";
			//document.getElementById("loadingID").innerHTML="<IMG SRC='../images/icon-loading-animated.gif' WIDTH='170' HEIGHT='48' BORDER='0' ALT=''>";
			
			
			poststr="mode=submit&customer_name="+encodeURI(fun_replace_str(customer_name.value))+"&customer_email_address="+encodeURI(customer_email_address.value)+"&customer_phone_number="+encodeURI(customer_phone_number.value)+"&statename="+encodeURI(customer_zipcode.value)+"&source="+encodeURI(source.value)+"&medium="+encodeURI(medium.value)+"&term="+encodeURI(term.value)+"&content="+encodeURI(content.value)+"&campaign="+encodeURI(campaign.value)+"&segment="+encodeURI(segment.value)+"&amountofpayday="+encodeURI(Amount.value)+"&customer_id=&submit_page="+encodeURI(submit_from.value);
			
			
				//alert(poststr);
			ajaxpack.postAjaxRequest("ajax/ajax_consulation_action.php", poststr, processreturn, "txt");			
		}

	}
}




	
function fun_validate_consulation(formname,formaction)
{
	with(document.forms[formname])
	{
		var formname	=formname;
		var formaction  =formaction
		var loadingID ="loadingID";
		
		var source1 ="source";
		var medium1 ="medium";
		var term1 ="term";
		var content1 ="content";
		var campaign1 ="campaign";
		var segment1 ="segment";

		//var submitted;

		if (submitted == true) 
		{
			alert("This form has already been submitted. Please press Ok and wait for this process to be completed.");
			return false;
		}
		error = false;
		form = formname;
		error_message = "Errors have occurred during the process of your form.\n\nPlease make the following corrections:\n\n";

		
		check_input(formname,"customer_name", false, "Name Can't be left blank");
		check_input(formname,"customer_email_address", false, "Email Address Can't be left blank");
		if(!validateEmail(customer_email_address.value))
		{
			error_message = error_message + "* You must enter valid email address\n";
		}
		check_input(formname,"customer_phone_number", false, "Phone Number Can't be left blank");
		check_input(formname,"customer_zipcode", false, "State  Can't be left blank");
		
		

		if(error==true)
		{
			alert(error_message);
			return false;
		}
		else
		{
			
			//document.getElementById(formname).style.display="none";
			document.getElementById("loadingID").style.display="";
			//document.getElementById("loadingID").innerHTML="<IMG SRC='../images/icon-loading-animated.gif' WIDTH='170' HEIGHT='48' BORDER='0' ALT=''>";
			
			
			poststr="mode=submit&customer_name="+encodeURI(fun_replace_str(customer_name.value))+"&customer_email_address="+encodeURI(customer_email_address.value)+"&customer_phone_number="+encodeURI(customer_phone_number.value)+"&statename="+encodeURI(customer_zipcode.value)+"&source="+encodeURI(source.value)+"&medium="+encodeURI(medium.value)+"&term="+encodeURI(term.value)+"&content="+encodeURI(content.value)+"&campaign="+encodeURI(campaign.value)+"&segment="+encodeURI(segment.value)+"&customer_id=&submit_page="+encodeURI(submit_from.value);
			
			
				//alert(poststr);
			ajaxpack.postAjaxRequest("ajax/ajax_consulation_action.php", poststr, processreturn, "txt");			
		}

	}
}


function processreturn()
{
	var myajax=ajaxpack.ajaxobj
	var myfiletype=ajaxpack.filetype
	
	if (myajax.readyState == 4){ //if request of file completed
	if (myajax.status==200 || window.location.href.indexOf("http")==-1)
	{ //if request was successful or running script locally
		
		if (myfiletype=="txt")
		{	
			
			var postbackresponse=trimAll(myajax.responseText);
			//alert(postbackresponse)
			postbackresponse=GetReuiredIdFromString("<reqid>","</reqid>",postbackresponse);
			//var FormAction=document.getElementById("FormAction").value;//alert(FormAction);
			if(postbackresponse=="1")
			{	
				//alert("Insertion completed successfully.");
				document.location="success.html";
			}
			else if(postbackresponse=="2")
			{	
				//alert("Insertion completed successfully.");
				//document.getElementById('success_msg').style.visibility='';
				//document.getElementById('add_information').style.visibility='hidden';
				document.location="gather_info_success.html";
			}
			else if(postbackresponse=="-1")
			{
				
				alert("Entered email address already exist.\nPlease try with another one.");
				document.getElementById("customer_email_address").style.background="red";	
			}
			else if(postbackresponse=="0")
			{
				
				alert("FAILURE: Incorrect Data processing");
			}
			else if(postbackresponse=="4")
			{
				
				//alert("Single insert success");
			}
			else if(postbackresponse=="5")
			{
				
				//alert("Single update success");
			}
			else if(postbackresponse=="3")
			{
				
				alert("FAILURE: Incorrect Data processing");
			}
			else
			{
				alert('Unexpected Error Occured');
			}
			document.getElementById("loadingID").style.display="none";
		}
		else
		myajax.responseXML;
	}
  }
}
