// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

DEFAULT_CURRENCY =  '$'

function numberToCurrency(num) {
	return DEFAULT_CURRENCY + parseFloat(num).toFixed(2);
}

function updatePhone(phone_id) {
	var serverFile = "/ajax/update_phone";
	var qs = new Hash();
	qs.set('id', phone_id);
	qs.set('phone[number]', $('update_number_' + phone_id).value);
	qs.set('phone[phone_type]', $('update_type_' + phone_id).value);
	qs.set('phone[status]', $('update_status_' + phone_id).value);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 3) {
				$('edit_number_' + phone_id).innerHTML = resultArray[0];
				$('edit_type_' + phone_id).innerHTML = resultArray[1];
				$('edit_status_' + phone_id).innerHTML = resultArray[2];
				alert('Phone is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updatePhoneByCustomer(phone_id){
	var serverFile = "/ajax/update_phone_by_customer";
	var qs = new Hash();
	qs.set('id', phone_id);
	qs.set('phone[number]', $('update_number_' + phone_id).value);
	qs.set('phone[phone_type]', $('update_type_' + phone_id).value);
	qs.set('phone[status]', $('update_status_' + phone_id).value);
	qs.set('phone[customer_notes]', $('update_customer_notes_' + phone_id).value);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 4) {
				$('edit_number_' + phone_id).innerHTML = resultArray[0];
				$('edit_type_' + phone_id).innerHTML = resultArray[1];
				$('edit_status_' + phone_id).innerHTML = resultArray[2];
				$('edit_customer_notes_' + phone_id).innerHTML = resultArray[3];
				alert('Phone is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function deletePhone(phone_id) {
	
	if (!(confirm('This will delete the phone permanently! Proceed?')))
		return;
	
	var serverFile = "/ajax/delete_phone";
	var qs = new Hash();
	qs.set('id', phone_id);
		
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 3) {
				$('edit_status_' + phone_id).innerHTML = resultArray[1];
				$('condition_' + phone_id).innerHTML = resultArray[2];
				alert('Phone is deleted.');
			}
			else
				alert(transport.responseText);
    }
	 });
}

function commitPhone(phone_id) {
	if (confirm('This will commit the phone. Are you sure?') == false)
		return;
		
	var serverFile = "/ajax/commit_phone";
	var qs = new Hash();
	qs.set('id', phone_id);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			$('edit_panel_' + phone_id).innerHTML = transport.responseText;
    }
	 });
}

function updateRecharge(recharge_id) {
	var serverFile = "/ajax/update_recharge";
	var qs = new Hash();
	qs.set('id', recharge_id);
	qs.set('recharge[date]', $('recharge_date_' + recharge_id).value);
	qs.set('recharge[amount]', $('recharge_update_number_' + recharge_id).value);
	qs.set('recharge[cost]', $('recharge_update_cost_' + recharge_id).value);
	qs.set('recharge[revenue]', $('recharge_update_revenue_' + recharge_id).value);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 4) {
				$('recharge_edit_date_' + recharge_id).innerHTML = resultArray[0];
				$('recharge_edit_number_' + recharge_id).innerHTML = numberToCurrency(resultArray[1]);
				$('recharge_edit_cost_' + recharge_id).innerHTML = numberToCurrency(resultArray[2]);
				$('recharge_edit_revenue_' + recharge_id).innerHTML = numberToCurrency(resultArray[3]);
				alert('Recharge is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function commitRecharge(recharge_id) {
	if (confirm('This will charge the subscriber. Are you sure?') == false)
		return;
		
	var serverFile = "/ajax/commit_recharge";
	var qs = new Hash();
	qs.set('id', recharge_id);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			$('recharge_edit_panel_' + recharge_id).innerHTML = transport.responseText;
    }
	 });
}

function commitCustomer(customer_id) {
	if (confirm('This will post the subscriber. Are you sure?') == false)
		return;
		
	var serverFile = "/ajax/commit_customer";
	var qs = new Hash();
	qs.set('id', customer_id);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			$('condition_' + customer_id).innerHTML = transport.responseText;
			$('post_link_' + customer_id).hide();
    }
	 });
}

function updateRate(rate_id) {
	var serverFile = "/ajax/update_rate";
	var qs = new Hash();
	qs.set('id', rate_id);
	qs.set('rate[country_id]', $('update_country_' + rate_id).value);
	qs.set('rate[name]', $('update_name_' + rate_id).value);
	qs.set('rate[rate]', $('update_rate_' + rate_id).value);
	qs.set('rate[product_id]', $('update_product_' + rate_id).value);
	qs.set('rate[status]', $('update_status_' + rate_id).value);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 5) {
				$('edit_country_' + rate_id).innerHTML = resultArray[0];
				$('edit_name_' + rate_id).innerHTML = resultArray[1];
				$('edit_rate_' + rate_id).innerHTML = resultArray[2];
				$('edit_product_' + rate_id).innerHTML = resultArray[3];
				$('edit_status_' + rate_id).innerHTML = resultArray[4];
				alert('Rate is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateAccessNumber(access_id) {
	var serverFile = "/ajax/update_access_number";
	var qs = new Hash();
	qs.set('id', access_id);
	qs.set('access_number[location]', $('update_location_' + access_id).value);
	qs.set('access_number[area_code]', $('update_area_code_' + access_id).value);
	qs.set('access_number[number]', $('update_number_' + access_id).value);
	qs.set('access_number[supplier]', $('update_supplier_' + access_id).value);
	qs.set('access_number[status]', $('update_status_' + access_id).value);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 5) {
				$('edit_location_' + access_id).innerHTML = resultArray[0];
				$('edit_area_code_' + access_id).innerHTML = resultArray[1];
				$('edit_number_' + access_id).innerHTML = resultArray[2];
				$('edit_supplier_' + access_id).innerHTML = resultArray[3];
				$('edit_status_' + access_id).innerHTML = resultArray[4];
				alert('Access Number is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateDeposit(id) {
	var serverFile = "/ajax/update_deposit";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('deposit[date]', $('deposit_date_' + id).value);
	qs.set('deposit[amount]', $('deposit_update_amount_' + id).value);
	qs.set('deposit[payment_type]', $('deposit_update_type_' + id).value);
	qs.set('deposit[bank]', $('deposit_update_bank_' + id).value);
	
	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 4) {
				$('deposit_edit_date_' + id).innerHTML = resultArray[0];
				$('deposit_edit_amount_' + id).innerHTML = numberToCurrency(resultArray[1]);
				$('deposit_edit_type_' + id).innerHTML = resultArray[2];
				$('deposit_edit_bank_' + id).innerHTML = resultArray[3];
				alert('Deposit is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateProduct(id) {
	var serverFile = "/ajax/update_product";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('product[name]', $('update_name_' + id).value);
	qs.set('product[supplier]', $('update_supplier_' + id).value);
	qs.set('product[remote_id]', $('update_remote_id_' + id).value);

	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 3) {
				$('edit_name_' + id).innerHTML = resultArray[0];
				$('edit_supplier_' + id).innerHTML = resultArray[1];
				$('edit_remote_id_' + id).innerHTML = resultArray[2];
				alert('Product is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateLandingPageTemplate(id) {
	var serverFile = "/ajax/update_landing_page_template";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('landing_page_template[name]', $('update_name_' + id).value);
	qs.set('landing_page_template[notes]', $('update_notes_' + id).value);
	qs.set('landing_page_template[folder_name]', $('update_folder_' + id).value);

	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 3) {
				$('edit_name_' + id).innerHTML = resultArray[0];
				$('edit_notes_' + id).innerHTML = resultArray[1];
				$('edit_folder_' + id).innerHTML = resultArray[2];
				alert('Landing page template is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateLandingPageKey(id) {
	var serverFile = "/ajax/update_landing_page_key";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('landing_page_key[name]', $('update_name_' + id).value);
	qs.set('landing_page_key[value_type]', $('update_value_type_' + id).value);

	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 2) {
				$('edit_name_' + id).innerHTML = resultArray[0];
				$('edit_value_type_' + id).innerHTML = resultArray[1];
				alert('Landing page key is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateLandingPage(id) {
	var serverFile = "/ajax/update_landing_page";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('landing_page[name]', $('update_name_' + id).value);
	qs.set('landing_page[landing_page_template_id]', $('update_template_' + id).value);
	qs.set('landing_page[campaign_id]', $('update_campaign_' + id).value);

	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 3) {
				$('edit_name_' + id).innerHTML = resultArray[0];
				$('edit_template_' + id).innerHTML = resultArray[1];
				$('edit_campaign_' + id).innerHTML = resultArray[2];
				alert('Landing page is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateCampaign(id) {
	var serverFile = "/ajax/update_campaign";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('campaign[name]', $('update_name_' + id).value);

	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 1) {
				$('edit_name_' + id).innerHTML = resultArray[0];
				alert('Campaign is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function updateRemoteId(id) {
	var serverFile = "/ajax/update_remote_id";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('remote_id[supplier]', $('remote_id_update_supplier_' + id).value);
	qs.set('remote_id[remote_id]', $('remote_id_update_remote_id_' + id).value);

	new Ajax.Request(serverFile, {
  	method: 'post',
		parameters: qs,
    onSuccess: function(transport) {
			resultArray = transport.responseText.split("::");
			if (resultArray.length == 2) {
				$('remote_id_edit_supplier_' + id).innerHTML = resultArray[0];
				$('remote_id_edit_remote_id_' + id).innerHTML = resultArray[1];
				alert('Remote ID is updated.');
			}
			else
	      alert(transport.responseText);
    }
	 });
}

function send_customer_email(id, emailType) {
	var serverFile = "/ajax/send_customer_email";
	var qs = new Hash();
	qs.set('id', id);
	qs.set('email_type', emailType);
	new Ajax.Updater(emailType + "_delivery_content", serverFile, {
  	method: 'post',
		parameters: qs
 	});
}
