function keyPressHandler(e){
	
	var kC = (window.event) ? event.keyCode : e.keyCode;
	var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE;
	
	//if(kC == Esc) closePopUp();
	if(kC == Esc) parent.closePopUp();
	
}

function replicate_country(source, target) {
	
	var original_value =  document.getElementById(source).value;
	var idx = original_value.indexOf(',');
	if(idx == -1){
		var new_value = original_value;
	} else {
		var new_value = original_value.substring(0,idx);
	}
	document.getElementById(target).innerHTML = new_value;
	
}

function replicate_number(source, target) {
	document.getElementById(target).innerHTML = document.getElementById(source).value;
}

function copyBilling() {
	if(document.orderform.copybilling.checked){
		document.orderform.b_firstname.value = document.orderform.p_firstname.value;
		document.orderform.b_lastname.value = document.orderform.p_lastname.value;
		document.orderform.b_address1.value = document.orderform.p_address1.value;
		document.orderform.b_address2.value = document.orderform.p_address2.value;
		document.orderform.b_city.value = document.orderform.p_city.value;
		document.orderform.b_state.value = document.orderform.p_state.value;
		document.orderform.b_zip.value = document.orderform.p_zip.value;
		document.orderform.b_country.value = document.orderform.p_country.value;
		document.orderform.b_phone.value = document.orderform.p_phone.value;
	}
}

// ***************************************************************************************** //

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function makeRequest(requesttype, url, parameters, doafter) {
	
	http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	
	} else if (window.ActiveXObject) { // IE
	
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
	
	http_request.onreadystatechange = function() {eval(doafter)};
	
	if(requesttype == 'GET'){
		totalurl = url + '?' + parameters;
		http_request.open('GET', totalurl, true);
		http_request.send('');
	} else {
		http_request.open('POST', url, true);
		http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http_request.setRequestHeader("Content-length", parameters.length);
		http_request.setRequestHeader("Connection", "close");
		http_request.send(parameters);
	}
	
}

function reload_page(hr){
	if (hr.readyState == 4) {
		if (hr.status == 200) {
			window.location.reload(true);
		}
	}
}

// ***************************************************************************************** //

function fax_delete(id, type){	
	var message = "Are you sure you would like to delete this fax?\nYou will not be able to undo this.";
	if(confirm(message)){
		var params = "id="+id+"&type="+type;
		makeRequest('POST','/com/controller/fax_delete.cfm', params, 'reload_page(http_request)');
	}
}

function fax_delete_selected(){
	document.getElementById('faxform').target = 'faxframe';
	document.getElementById('faxform').submit();
}

function folder_delete(id){
	var message = "Are you sure you would like to delete this folder?\nALL FAXES INSIDE THIS FOLDER WILL BE DELETED\nYou will not be able to undo this.";
	if(confirm(message)){
		var params = "id="+id;
		makeRequest('POST','/com/controller/folder_delete.cfm', params, 'reload_page(http_request)');
	}
}

function contact_delete(id){
	var message = "Are you sure you would like to delete this contact?\nYou will not be able to undo this.";
	if(confirm(message)){
		var params = "id="+id;
		makeRequest('POST','/com/controller/contact_delete.cfm', params, 'reload_page(http_request)');
	}
}

function contact_sort(){
	makeRequest('POST','/com/controller/contact_sort.cfm', '', 'reload_page(http_request)');
}

function group_delete(id){
	var message = "Are you sure you would like to delete this broadcast group?\nYou will not be able to undo this.";
	if(confirm(message)){
		var params = "id="+id;
		makeRequest('POST','/com/controller/group_delete.cfm', params, 'reload_page(http_request)');
	}
}

function groupcontact_delete(id,g){
	var message = "Are you sure you would like to delete this member from the broadcast group?\nYou will not be able to undo this.";
	if(confirm(message)){
		var params = "id="+id+"&g="+g;
		makeRequest('POST','/com/controller/groupcontact_delete.cfm', params, 'reload_page(http_request)');
	}
}


function compose_fax(){
	createPopUp(387,125,true,false,'screen_center',this,'compose_status','/account/_popup/compose_loading.cfm');
	if(document.getElementById('recipient_textfield').style.display == 'none'){
		document.getElementById('transmit_type').value = 'broadcast';
	} else {
		document.getElementById('transmit_type').value = 'single';
	}
	WYSIWYG.updateTextArea('coversheet');
	document.getElementById('compose').target = 'compose_status';
	document.getElementById('compose').submit();
}

function compose_resend(p){
	p.document.getElementById('recipient').value='';
	p.document.getElementById('attention').value='';
	p.document.getElementById('recipient_textfield').style.display='';
	p.document.getElementById('recipient_dropdown').style.display='none';
	//p.document.getElementById('note').style.display='none';
	p.closePopUp();
	p.document.getElementById('recipient').focus();
}

function compose_new(){
	makeRequest('POST','/com/controller/compose_flush.cfm', '', '');
	parent.window.location = '/account/compose';
}

function compose_return(p){
	makeRequest('POST','/com/controller/compose_flush.cfm', '', '');
	parent.window.location = '/account/inbox';
}

function import_contacts(){
	document.getElementById('form_row').style.display='none';
	document.getElementById('load_ready').style.display='none';
	document.getElementById('loading').style.display='';
	document.getElementById('frame_processor').innerHTML = "<iframe name=\"frame_processor\" id=\"frame_processor\" src=\"\" style=\"display:none;width:100%;height:400;\" scrolling=\"auto\" frameborder=\"1\"></iframe>";
	document.getElementById('import').target = 'frame_processor';	
	document.getElementById('import').submit();
}

function import_error(msg){
	parent.document.getElementById('loading').style.display='none';
	parent.document.getElementById('load_complete').style.display='';
	var message='Error';
	if (msg == 'nofile') message = "You must upload a comma-separated file.";
	if (msg == 'badfile') message = "You must upload a comma-separated file.";
	if (msg == 'largefile') message = "You can only upload 1,000 contacts at a time.";
	if (msg == 'invalidgroup') message = "Invalid Broadcast Group.";
	parent.createPopUp(387,125,true,false,'screen_center',this,'compose_status','/account/_popup/import_error.cfm?message='+message);
}

function import_setup(){
	parent.document.getElementById('tables').style.display='';
}

function import_reload(){
	parent.window.location.reload(true);
}

function import_complete(){
	parent.document.getElementById('loading').style.display='none';
	parent.document.getElementById('load_complete').style.display='';
	if(parent.document.getElementById('count_added').innerHTML != '0'){
		parent.document.getElementById('view_added').style.display='';
	}
	if(parent.document.getElementById('count_existing').innerHTML != '0'){
		parent.document.getElementById('view_existing').style.display='';
	}
	if(parent.document.getElementById('count_problematic').innerHTML != '0'){
		parent.document.getElementById('view_problematic').style.display='';
	}
}

function add_line(){
	createPopUp(387,125,true,false,'screen_center',this,'addline_status','/account/_popup/addline_loading.cfm');
	document.getElementById('addline').target = 'addline_status';
	document.getElementById('addline').submit();
}

function show_line(lineid){
	var params = "id="+lineid;
	makeRequest('POST','/com/controller/settings_showline.cfm', params, 'reload_line(http_request)');
}

function reload_line(hr){
	if (hr.readyState == 4) {
		if (hr.status == 200) {
			var jsondata = eval('(' + trim(hr.responseText) + ')');
			document.getElementById('al_childid').value = jsondata.results[0].al_childid;
			document.getElementById('al_did').innerHTML = 'hello';
			document.getElementById('al_did').innerHTML = jsondata.results[0].al_did;
			document.getElementById('al_didarea').innerHTML = jsondata.results[0].al_didarea;
			document.getElementById('al_emailaddress').innerHTML = jsondata.results[0].al_emailaddress;
			if(document.getElementById('al_planname') != null){
				document.getElementById('al_planname').innerHTML = jsondata.results[0].al_planname;
				document.getElementById('al_planfee').innerHTML = jsondata.results[0].al_planfee;
				document.getElementById('al_planinout').innerHTML = jsondata.results[0].al_planinout;
				document.getElementById('al_planaddons').innerHTML = jsondata.results[0].al_planaddons;
			}
		}
	}
}

function get_coversheet(){
	var params = "template_id="+document.getElementById('coversheet').value;
	makeRequest('GET','/com/controller/coversheet_preview.cfm', params, 'preview_coversheet(http_request)');
}

function preview_coversheet(hr){
	if (hr.readyState == 4) {
		if (hr.status == 200) {
			var img = trim(hr.responseText);
			document.getElementById('preview').innerHTML = '<img src="' + img + '" style="border:#E7E7E7 1px solid;" /><br />';
		}
	}
}