var xmlHttp;
var insertDB=0;

google.load("visualization", "1", {packages:["barchart"]}); 
google.setOnLoadCallback(drawChart); 

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function update_results()
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
	  alert ("Your browser does not support AJAX. Sorry.");
	  return;
	}
	var code = document.getElementById('code').value;
	var biztype_code = document.getElementById('biztype_code').value;
	var business_type = document.getElementById('business_type').value;
	var calls_per_day = document.getElementById('calls_per_day').value;
	var business_days = document.getElementById('business_days').value;
	var monthly_special = document.getElementById('monthly_special').value;
	var discount = document.getElementById('discount').value;
	var average_revenue = document.getElementById('average_revenue').value;
	var number_of_customers = document.getElementById('number_of_customers').value;
	
	var target_sales_increase = document.getElementById('target_sales_increase').value;
	var fg_likes_factor = document.getElementById('fg_likes_factor').value;
	var currentUrl = document.getElementById('currentUrl').value;
	
	
	discount = discount/100;
	
	var url="calc_result_action.php";
	url=url+"?business_type="+business_type;
	url=url+"&code="+code;
	url=url+"&biztype_code="+biztype_code;
	url=url+"&calls_per_day="+calls_per_day;
	url=url+"&business_days="+business_days;
	url=url+"&monthly_special="+monthly_special;
	url=url+"&discount="+discount;
	url=url+"&average_revenue="+average_revenue;
	url=url+"&number_of_customers="+number_of_customers;
	
	url=url+"&target_sales_increase="+target_sales_increase;
	url=url+"&fg_likes_factor="+fg_likes_factor;
	
	if(insertDB != 1){
		var shortURL = document.getElementById('shortURL').value;
		url=url+"&shortURL="+shortURL;
	}
	if(insertDB == 1){
		url=url+"&insertDB="+'1';
		insertDB = 0;
	}
	url=url+"&currentUrl="+currentUrl;
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function update_results_and_insert_to_db(){
	insertDB = 1;
	update_results();
}
function send_offer_emails() {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
	  alert ("Your browser does not support AJAX. Sorry.");
	  return;
	}
	var first_name = document.getElementById('offer_first_name').value;
	var last_name = document.getElementById('offer_last_name').value;
	var telephone_first = document.getElementById('offer_telephone1').value;
	var telephone_two = document.getElementById('offer_telephone2').value;
	var telephone_three = document.getElementById('offer_telephone3').value;
	var code = document.getElementById('code').value;
	
	var my_email = document.getElementById('offer_email').value;
	var my_company_name = document.getElementById('offer_company').value;
	
	if(validate_email(my_email,"Please check your email address.")==0){
		return ;
	}
	if((first_name=='First Name') || (first_name=='') || (last_name=='Last Name') || (last_name=='') || (telephone_first=='') || (telephone_two=='') || (telephone_three=='')){
		alert('Please fill out all required inputs.');
		return;
	}else{
		var url="calc_send_offer.php";
		var params="first_name="+first_name;
		params=params+"&last_name="+last_name;
		params=params+"&telephone_first="+telephone_first;
		params=params+"&telephone_two="+telephone_two;
		params=params+"&telephone_three="+telephone_three;
		
		params=params+"&code="+code;
		params=params+"&my_email="+my_email;
		params=params+"&my_company_name="+my_company_name;
				
		xmlHttp.onreadystatechange=stateChanged2;
		xmlHttp.open("POST",url,true);
		//Send the proper header information along with the request
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.onreadystatechange = function() {//Call a function when the state changes.
			if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
				alert(xmlHttp.responseText);
			}
		}

		xmlHttp.send(params);
	}
	close_welcome_popup();
	

}
function send_emails()
{
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
	  alert ("Your browser does not support AJAX. Sorry.");
	  return;
	}
	var first_name = document.getElementById('first_name').value;
	var last_name = document.getElementById('last_name').value;
	var telephone_first = document.getElementById('telephone_first').value;
	var telephone_two = document.getElementById('telephone_two').value;
	var telephone_three = document.getElementById('telephone_three').value;
	var code = document.getElementById('code').value;
	var email_message = document.getElementById('email_message').value;
	
	var my_email = document.getElementById('my_email').value;
	var my_company_name = document.getElementById('my_company_name').value;
	
	if(validate_email(my_email,"Please check your email address.")==0){
		return ;
	}
	
	var friend_firstname = document.getElementById('friend_firstname').value;
	var friend_lastname = document.getElementById('friend_lastname').value;
	var friend_email = document.getElementById('friend_email').value;
	
	if((friend_email != '') && (validate_email(friend_email,"Please check your friends' email address."))==0){
		return ;
	}
	
	var friend1_firstname = document.getElementById('friend1_firstname').value;
	var friend1_lastname = document.getElementById('friend1_lastname').value;
	var friend1_email = document.getElementById('friend1_email').value;
	
	if((friend1_email != '') && (validate_email(friend1_email,"Please check your friends' email address."))==0){
		return ;
	}
	
	var friend2_firstname = document.getElementById('friend2_firstname').value;
	var friend2_lastname = document.getElementById('friend2_lastname').value;
	var friend2_email = document.getElementById('friend2_email').value;
	
	if((friend2_email != '') && (validate_email(friend2_email,"Please check your friends' email address."))==0){
		return ;
	}
	
	var friend3_firstname = document.getElementById('friend3_firstname').value;
	var friend3_lastname = document.getElementById('friend3_lastname').value;
	var friend3_email = document.getElementById('friend3_email').value;
	
	if((friend3_email != '') && (validate_email(friend3_email,"Please check your friends' email address."))==0){
		return ;
	}
	
	var friend4_firstname = document.getElementById('friend4_firstname').value;
	var friend4_lastname = document.getElementById('friend4_lastname').value;
	var friend4_email = document.getElementById('friend4_email').value;
	
	if((friend4_email != '') && (validate_email(friend4_email,"Please check your friends' email address."))==0){
		return ;
	}
	
	var friend5_firstname = document.getElementById('friend5_firstname').value;
	var friend5_lastname = document.getElementById('friend5_lastname').value;
	var friend5_email = document.getElementById('friend5_email').value;
	
	if((friend5_email != '') && (validate_email(friend5_email,"Please check your friends' email address."))==0){
		return ;
	}

	if((first_name=='First Name') || (first_name=='') || (last_name=='Last Name') || (last_name=='') || (telephone_first=='') || (telephone_two=='') || (telephone_three=='')){
		alert('Please fill out all required inputs.');
		return;
	}else{
		var url="calc_send_email.php";
		var params="first_name="+first_name;
		params=params+"&last_name="+last_name;
		params=params+"&telephone_first="+telephone_first;
		params=params+"&telephone_two="+telephone_two;
		params=params+"&telephone_three="+telephone_three;
		
		params=params+"&code="+code;
		params=params+"&my_email="+my_email;
		params=params+"&my_company_name="+my_company_name;
		params=params+"&email_message="+email_message;
		
		params=params+"&friend_firstname="+friend_firstname;
		params=params+"&friend_lastname="+friend_lastname;
		params=params+"&friend_email="+friend_email;
		
		params=params+"&friend1_firstname="+friend1_firstname;
		params=params+"&friend1_lastname="+friend1_lastname;
		params=params+"&friend1_email="+friend1_email;
		
		params=params+"&friend2_firstname="+friend2_firstname;
		params=params+"&friend2_lastname="+friend2_lastname;
		params=params+"&friend2_email="+friend2_email;
		
		params=params+"&friend3_firstname="+friend3_firstname;
		params=params+"&friend3_lastname="+friend3_lastname;
		params=params+"&friend3_email="+friend3_email;
		
		params=params+"&friend4_firstname="+friend4_firstname;
		params=params+"&friend4_lastname="+friend4_lastname;
		params=params+"&friend4_email="+friend4_email;
		
		params=params+"&friend5_firstname="+friend5_firstname;
		params=params+"&friend5_lastname="+friend5_lastname;
		params=params+"&friend5_email="+friend5_email;
				
		xmlHttp.onreadystatechange=stateChanged2;
		xmlHttp.open("POST",url,true);
		//Send the proper header information along with the request
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", params.length);
		xmlHttp.setRequestHeader("Connection", "close");

		xmlHttp.onreadystatechange = function() {//Call a function when the state changes.
			if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
				alert(xmlHttp.responseText);
			}
		}

		xmlHttp.send(params);
	}
	close_all();
}

function post_to_twitter(){
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
	  alert ("Your browser does not support AJAX. Sorry.");
	  return;
	}
	/*var twitter_id = document.getElementById('twitter_id').value;
	var twitter_password = document.getElementById('twitter_password').value;*/
	var twitter_msg = document.getElementById('twitter_msg_textarea').value;
	var code = document.getElementById('code').value;
	
	var url="insertTwitterMsg.php";
	/*url=url+"?twitter_id="+twitter_id;
	url=url+"&twitter_password="+twitter_password;*/
	url=url+"?twitter_msg="+twitter_msg;
	url=url+"&code="+code;
	
	xmlHttp.onreadystatechange=stateChanged4;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function stateChanged4(){
	if (xmlHttp.readyState==4){
		var response = xmlHttp.responseText;

		var pos = response.indexOf("The message");
		if(pos < 0){
			alert(response);
		}else{
			var closeit= confirm("The message is successfully posted on Twitter. Do you want to check it on twitter?"); 
			if (closeit == true) {window.open("http://www.twitter.com");}
		}
	}
}
function stateChanged(){
	if (xmlHttp.readyState==4){
		document.getElementById("show_results").innerHTML=xmlHttp.responseText;
		document.getElementById("o10value").innerHTML = document.getElementById("o10value_2").innerHTML;
		if (document.getElementById("congrat_save") != null) 
			document.getElementById("congrat_save").innerHTML = document.getElementById("o10value_2").innerHTML;
		if (document.getElementById("greeting_msg") != null)
			document.getElementById("greeting_msg").innerHTML = document.getElementById("greeting2_msg").value;
		document.getElementById("facebook_link").innerHTML = document.getElementById("facebook").innerHTML;
		document.getElementById("buzz_link").innerHTML = document.getElementById("buzz").innerHTML;
		
		document.getElementById("chart_extra_revenue_per_month").innerHTML = document.getElementById('o9_comma').value;
		document.getElementById("chart_calls_per_day").innerHTML = document.getElementById('calls_per_day_a').value;
		document.getElementById("chart_number_of_customers").innerHTML = document.getElementById('number_of_customers_a').value;
		document.getElementById("chart_monthly_sales").innerHTML = document.getElementById('o2_comma').value;
		document.getElementById("chart_monthly_sales_increased").innerHTML = document.getElementById('monthly_sales_increased_comma').value;
		
		document.getElementById("assumption1").innerHTML = document.getElementById('o9_mod1').value;
		document.getElementById("assumption1_1").innerHTML = document.getElementById('average_revenue_mod1').value;
		document.getElementById("assumption1_2").innerHTML = document.getElementById('calls_per_day_mod1').value;
		document.getElementById("assumption1_3").innerHTML = document.getElementById('number_of_customers_mod1').value;
		document.getElementById("assumption1_4").innerHTML = document.getElementById('monthly_sales_increased_mod1_comma').value;

		document.getElementById("assumption2").innerHTML = document.getElementById('o9_mod2').value;
		document.getElementById("assumption2_1").innerHTML = document.getElementById('average_revenue_mod2').value;
		document.getElementById("assumption2_2").innerHTML = document.getElementById('calls_per_day_mod2').value;
		document.getElementById("assumption2_3").innerHTML = document.getElementById('number_of_customers_mod2').value;
		document.getElementById("assumption2_4").innerHTML = document.getElementById('monthly_sales_increased_mod2_comma').value;
		
		document.getElementById("assumption3").innerHTML = document.getElementById('o9_mod3').value;
		document.getElementById("assumption3_1").innerHTML = document.getElementById('o8_mod3').value;
		document.getElementById("assumption3_2").innerHTML = document.getElementById('o7_mod3').value;

		document.getElementById("assumption4_1").innerHTML = document.getElementById('average_revenue_mod3').value;
		document.getElementById("assumption4_2").innerHTML = document.getElementById('calls_per_day_mod3').value;
		document.getElementById("assumption4_3").innerHTML = document.getElementById('number_of_customers_mod3').value;
		document.getElementById("assumption4_4").innerHTML = document.getElementById('monthly_sales_increased_mod3_comma').value;

		var o8 = document.getElementById('o8').value;
		o8 = parseFloat(o8);
		o8 = Math.round(o8 * 100) / 100;
		document.getElementById("chart_o8").innerHTML = o8;
		document.getElementById("chart_o7").innerHTML = document.getElementById('o7_with_comma').value;
		
		o8 = document.getElementById('o8').value;
		var o7 = document.getElementById('o7').value;
		var o4 = document.getElementById('o4').value;
		var o2_mod1 = document.getElementById('o2_mod1').value;
		var monthly_sales_increased_mod1 = document.getElementById('monthly_sales_increased_mod1').value;
		var monthly_sales_increased_mod2 = document.getElementById('monthly_sales_increased_mod2').value;
		var monthly_sales_increased_mod3 = document.getElementById('monthly_sales_increased_mod3').value;
		
		var o2 = document.getElementById('o2').value;
		var o2_mod2 = document.getElementById('o2_mod2').value;
		var monthly_sales_increased = document.getElementById('monthly_sales_increased').value;
		o2 = o2.trim();
		monthly_sales_increased = monthly_sales_increased.trim();
		
		var o2_mod3 = document.getElementById('o2_mod3').value;
		var o7_mod3 = document.getElementById('o7_mod3').value;
		var o4_mod3 = document.getElementById('o4_mod3').value;
		var o8_mod3 = document.getElementById('o8_mod3').value;
		if(is_int(o2) && is_int(monthly_sales_increased) && !isNaN(o2) && !isNaN(monthly_sales_increased)){
			drawChart(o2, monthly_sales_increased);
		}
		if(!isNaN(o2_mod1) && !isNaN(monthly_sales_increased_mod1)){
			drawChart2(o2_mod1, monthly_sales_increased_mod1);
		}
		if(!isNaN(o2_mod1) && !isNaN(monthly_sales_increased_mod2)){
			drawChart3(o2_mod2, monthly_sales_increased_mod2);
		}
		if(!isNaN(o2_mod3) && !isNaN(monthly_sales_increased_mod3)){
			drawChart4(o2_mod3, monthly_sales_increased_mod3);
		}
		drawVisualization(o8, o7, o4);
		drawVisualization2(o7_mod3, o4_mod3, o8_mod3);
	}
}

function stateChanged2(){
	if (xmlHttp.readyState==4){
		alert('The email has been sent. Thank you.');
	}
}

function drawChart(o2, monthly_sales_increased) {
	  var data = new google.visualization.DataTable(); 
	  data.addColumn('string', 'Sales'); 
	  data.addColumn('number', 'Current Sales'); 
	  data.addColumn('number', 'Estimated with FonGenie'); 
	  data.addRows(1); 
	  
	  o2 = parseInt(o2);
	  monthly_sales_increased = parseInt(monthly_sales_increased);
	  
	  if(is_int(o2) && is_int(monthly_sales_increased)){
		  data.setValue(0, 0, ''); 
		  data.setValue(0, 1, o2); 
		  data.setValue(0, 2, monthly_sales_increased);
		  var chart = new google.visualization.BarChart(document.getElementById('chart_div')); 
		  chart.draw(data, {width: 580, height: 150, is3D: true, axisFontSize: 10, tooltipFontSize: 15, backgroundColor:'#ededed', legend: 'none', showCategories: true, titleY: 'Revenue comparison', colors:[{color:'#1f5a9e', darker:'#144379'}, {color:'#21aad8',  darker:'#1096c3'}]}); 	
	  }
}
function drawChart2(I2, I7) {
	  var data = new google.visualization.DataTable(); 
	  data.addColumn('string', 'Sales'); 
	  data.addColumn('number', 'Current Sales'); 
	  data.addColumn('number', 'Estimated with FonGenie'); 
	  data.addRows(1); 
	  
	  I2 = parseInt(I2);
	  I7 = parseInt(I7);
	  
	  if(is_int(I2) && is_int(I7)){
		  data.setValue(0, 0, '');
		  data.setValue(0, 1, I2);
		  data.setValue(0, 2, I7);
		  var chart = new google.visualization.BarChart(document.getElementById('chart_div2')); 
		  chart.draw(data, {width: 390, height: 150, is3D: true, axisFontSize: 10, tooltipFontSize: 15, backgroundColor:'#ededed', legend: 'none', showCategories: true, titleY: 'Revenue comparison', colors:[{color:'#1f5a9e', darker:'#144379'}, {color:'#21aad8',  darker:'#1096c3'}]}); 	
	  }
}
function drawChart3(I2, I7) {
	  var data = new google.visualization.DataTable(); 
	  data.addColumn('string', 'Sales'); 
	  data.addColumn('number', 'Current Sales'); 
	  data.addColumn('number', 'Estimated with FonGenie'); 
	  data.addRows(1); 
	  
	  I2 = parseInt(I2);
	  I7 = parseInt(I7);
	  
	  if(is_int(I2) && is_int(I7)){
		  data.setValue(0, 0, '');
		  data.setValue(0, 1, I2);
		  data.setValue(0, 2, I7);
		  var chart = new google.visualization.BarChart(document.getElementById('chart_div3')); 
		  chart.draw(data, {width: 410, height: 150, is3D: true, axisFontSize: 10, tooltipFontSize: 15, backgroundColor:'#ededed', legend: 'none', showCategories: true, titleY: 'Revenue comparison', colors:[{color:'#1f5a9e', darker:'#144379'}, {color:'#21aad8',  darker:'#1096c3'}]}); 	
	  }
}
function drawChart4(o3, o10) {
	  var data = new google.visualization.DataTable(); 
	  data.addColumn('string', 'Sales'); 
	  data.addColumn('number', 'Current Sales'); 
	  data.addColumn('number', 'Estimated with FonGenie'); 
	  data.addRows(1); 
	  
	  o3 = parseInt(o3);
	  o10 = parseInt(o10);
	  
	  if(is_int(o3) && is_int(o3)){
		  data.setValue(0, 0, ''); 
		  data.setValue(0, 1, o3); 
		  data.setValue(0, 2, o10);
		  var chart = new google.visualization.BarChart(document.getElementById('chart_div4')); 
		  chart.draw(data, {width: 580, height: 150, is3D: true, axisFontSize: 10, tooltipFontSize: 15, backgroundColor:'#ededed', legend: 'none', showCategories: true, titleY: 'Revenue comparison', colors:[{color:'#1f5a9e', darker:'#144379'}, {color:'#21aad8',  darker:'#1096c3'}]}); 	
	  }
}

function drawVisualization(o8, o7, o4) {
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Customers');
  data.addColumn('number', 'Dollas spent');
  
  o8 = parseFloat(o8);
  opposite_o8 = 100 - o8;
  
  o8 = parseFloat(o8);
  o8 = Math.round(o8 * 100) / 100;
  opposite_o8 = parseFloat(opposite_o8);
  opposite_o8 = Math.round(opposite_o8 * 100) / 100;
  
  o7 = parseFloat(o7);
  o4 = parseFloat(o4);
  
  o7 = parseFloat(o7);
  o7 = Math.round(o7 * 100) / 100;
  o4 = parseFloat(o4);
  o4 = Math.round(o4 * 100) / 100;
  
  str1 = '$'+o7+' per visit/purchase';
  str2 = '$'+o4+' per visit/purchase';
  
  data.addRows(2);
  data.setValue(0, 0, str1);
  data.setValue(0, 1, o8);
  data.setValue(1, 0, str2);
  data.setValue(1, 1, opposite_o8);
  
  new google.visualization.PieChart(document.getElementById('visualization')).
  draw(data, {width: 190, backgroundColor:'#ededed', height: 150, is3D:true, colors:[{color:'#21aad8',  darker:'#144379'}, {color:'#1f5a9e', darker:'#144379'}], tooltipFontSize: 20, legend: 'none',});
  
}
function drawVisualization2(o7_mod3, o4_mod3, o8_mod3) {
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Customers');
  data.addColumn('number', 'Dollas spent');
  
  o7_mod3 = parseFloat(o7_mod3);
  o4_mod3 = parseFloat(o4_mod3);
  o8_mod3 = parseFloat(o8_mod3);
  
  o8_mod3_opposite = 100 - o8_mod3;
  
  str1 = '$'+ o7_mod3 +' per visit/purchase';
  str2 = '$'+ o4_mod3 +' per visit/purchase';
  
  data.addRows(2);
  data.setValue(0, 0, str2);
  data.setValue(0, 1, o8_mod3_opposite);
  data.setValue(1, 0, str1);
  data.setValue(1, 1, o8_mod3);
  
  new google.visualization.PieChart(document.getElementById('visualization2')).
  draw(data, {width: 200, backgroundColor:'#ededed', height: 150, is3D:true, colors:[{color:'#1f5a9e', darker:'#144379'}, {color:'#21aad8',  darker:'#144379'}], tooltipFontSize: 20, legend: 'none',});
}
function is_int(value){
	if(isNaN(value))
		return false;
   for (i = 0 ; i < value.length ; i++) { 
      if ((value.charAt(i) < '0') || (value.charAt(i) > '9')) return false 
   } 
   return true; 
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

