var contactDrawdown = false;
function contactDrawdownSet(set){
	contactDrawdown = set;
	console.log(set, 'contactDrawdown');
}
var contact = {
	'#buttonaddreferral' : function(el) {
		el.onclick = function() {
			Effect.toggle($('newcontactdiv'), 'blind');
			showSelects('newcontactdiv');
		}
	},
	
	'#buttondeletecontact' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_deleteContact(contactid);
		}
	},

	'#buttonreferraldetails' : function(el) {
		el.onclick = function() {
			if ($('buttonreferraldetails').value == 'Show Referrals') {
				$('buttonreferraldetails').value = 'Hide Referrals';
			} else {
				$('buttonreferraldetails').value = 'Show Referrals';
			}
			Effect.toggle($('referraldetailsdiv'), 'blind');
			showSelects('referraldetailsdiv');
		}
	},
	
	'#buttonnewbkg' : function(el) {
		el.onclick = function() {
			if($('buttonnewbkg').value == 'Add New C/I') {
				$('buttonnewbkg').value = 'Hide New C/I';
			} else {
				$('buttonnewbkg').value = 'Add New C/I';
			}
			Effect.toggle($('newbkgdiv'), 'blind');
			showSelects('newbkgdiv');
		}
	},
	
	'#buttonnewnote' : function(el) {
		el.onclick = function() {
			if ($('buttonnewnote').value == 'Add New Note') {
				$('buttonnewnote').value = 'Hide New Note';
			} else {
				$('buttonnewnote').value = 'Add New Note';
			}
			Effect.toggle($('newnotediv'), 'blind');
			showSelects('newnotediv');
		}
	},
	
	'#buttonnewaction' : function(el) {
		el.onclick = function() {
			if ($('buttonnewaction').value == 'Add New Action') {
				$('buttonnewaction').value = 'Hide New Action';
			} else {
				$('buttonnewaction').value = 'Add New Action';
			}
			Effect.toggle($('newactiondiv'), 'blind');
			showSelects('newactiondiv');
		}
	},
	
	'#calendarbutton' : function(el) {
		el.onclick = function() {
			if ($('calendarbutton').value == 'Expand Calendar') {
				$('calendarbutton').value = 'Collapse Calendar';
			} else {
				$('calendarbutton').value = 'Expand Calendar';
			}
			Effect.toggle($('calendar-container'), 'slide');
		}
	},
	
	'#buttonNewInteraction' : function(el) {
		el.onclick = function() {
			if ($('buttonNewInteraction').value == 'Add New Interaction') {
				$('buttonNewInteraction').value = 'Cancel';
			} else {
				$('buttonNewInteraction').value = 'Add New Interaction';
			}
			Effect.toggle($('divNewInteraction'), 'slide');
		}
	},
	
	'#questionsbutton' : function(el) {
		el.onclick = function() {
			if ($('questionsbutton').value == 'Expand Questions') {
				$('questionsbutton').value = 'Collapse Questions';
			} else {
				$('questionsbutton').value = 'Expand Questions';
			}
			Effect.toggle($('questionsdiv'), 'slide');
		}
	},
	
	'#buttonsendresume' : function(el) {
		el.onclick = function() {
			Effect.toggle($('sendresumediv'), 'blind');
			showSelects('sendresumediv');
			$('sendresumemessage').innerHTML = '';
		}
	},
	
	'#buttonsendresumenow' : function(el) {
		el.onclick = function() {
			$('sendresumemessage').innerHTML = 'Sending Resume Now';
			setTimeout("Effect.toggle($('sendresumediv'), 'blind')", 3000);
		}
	},
	
	'#buttonsendresumelater' : function(el) {
		el.onclick = function() {
			li = document.createElement('li');
			//div.className = 'lyrics';
			
			var Txt1 = document.createTextNode('Send Resume to John Awesome');
			li.appendChild(Txt1);
		
			$('actionlist').insertBefore(li, $('actionlist').getElementsByTagName("li")[0]);	
			
			Effect.toggle($('sendresumediv'), 'blind');
			showSelects('sendresumediv');
		}
	},
	
	'#buttonfollowup' : function(el) {
		el.onclick = function() {
			li = document.createElement('li');
			//div.className = 'lyrics';
			
			var Txt1 = document.createTextNode('Follow Up with John Awesome');
			li.appendChild(Txt1);
		
			$('actionlist').insertBefore(li, $('actionlist').getElementsByTagName("li")[0]);	
		}
	},
	
	'#contact_jump_level' : function(el) {
		el.onchange = function() {
			xajax_cJumpLevel(el.value);return false;
		}
	},
	
	'#contact_jump_id' : function(el) {
		el.onchange = function() {
			if (el.value > 0) {
				prefix = $('script_name').value;
				window.location.href = prefix+'/shnt/contact/'+el.value;
			}
		}
	},
	
	'#noteSave' : function(el) {
		el.onclick = function() {
			xajax_noteAdd(xajax.getFormValues( 'addnoteform' ));
			$('buttonnewnote').value = 'Add New Note';
			Effect.toggle($('newnotediv'), 'blind');
			showSelects('newnotediv');
			return false;
		}
	},
	
	'#actionSave' : function(el) {
		el.onclick = function() {
			xajax_actionAdd(xajax.getFormValues( 'addactionform' ));
			$('buttonnewaction').value = 'Add New Action';
			Effect.toggle($('newactiondiv'), 'blind');
			showSelects('newactiondiv');
			return false;
		}
	},
	
	'#connectionSave' : function(el) {
		el.onclick = function() {
			xajax_connectionAdd(xajax.getFormValues( 'addbkgform' ));
			$('buttonnewbkg').value = 'Add New C/I';
			Effect.toggle($('newbkgdiv'), 'blind');
			showSelects('newbkgdiv');
			return false;
		}
	},
	
	'#eventSave' : function(el) {
		el.onclick = function() {
			xajax_eventAdd(xajax.getFormValues( 'addeventform' ));
			$('buttonNewInteraction').value = 'Add New Interaction';
			Effect.toggle($('divNewInteraction'), 'blind');
			showSelects('divNewInteraction');
			return false;
		}
	},
	
	'#categorySave' : function(el) {
		el.onclick = function() {
			xajax_categoryAdd(xajax.getFormValues( 'addcategoryform' ));
			return false;
		}
	},
	
	'#categoryRename' : function(el) {
		el.onclick = function() {
			xajax_categoryRename(xajax.getFormValues( 'renamecategoryform' ));
			return false;
		}
	},
	
	'#contactSortOrder' : function(el) {
		el.onchange = function() {
			xajax_contactSort(el.value);
			return false;
		}
	},
	
	'#buttonvieworgnote' : function(el) {
		el.onclick = function() {
			if ($('buttonvieworgnote').value == 'View') {
				$('buttonvieworgnote').value = 'Hide';
				xajax_viewOrgDescription( $('thiscontactid').value );
			} else {
				$('buttonvieworgnote').value = 'View';
				$('orgdescription').innerHTML = '';
			}
			return false;
		}
	},
	
	'#buttoneditorgnote' : function(el) {
		el.onclick = function() {
			if ($('buttoneditorgnote').value == 'Edit') {
				$('buttoneditorgnote').value = 'Cancel';
				$('buttonvieworgnote').disabled = true;
				xajax_editOrgDescription( $('thiscontactid').value );
			} else {
				$('buttoneditorgnote').value = 'Edit';
				$('orgdescription').innerHTML = '';
				$('buttonvieworgnote').value = 'View';
				$('buttonvieworgnote').disabled = false;
			}					
			return false;
		}
	},

	'#buttonviewoppnote' : function(el) {
		el.onclick = function() {
			if ($('buttonviewoppnote').value == 'View') {
				$('buttonviewoppnote').value = 'Hide';
				xajax_viewOppDescription( $('thiscontactid').value );
			} else {
				$('buttonviewoppnote').value = 'View';
				$('oppdescription').innerHTML = '';
			}
			return false;
		}
	},
	
	'#buttoneditoppnote' : function(el) {
		el.onclick = function() {
			if ($('buttoneditoppnote').value == 'Edit') {
				$('buttoneditoppnote').value = 'Cancel';
				$('buttonviewoppnote').disabled = true;
				xajax_editOppDescription( $('thiscontactid').value );
			} else {
				$('buttoneditoppnote').value = 'Edit';
				$('oppdescription').innerHTML = '';
				$('buttonviewoppnote').value = 'View';
				$('buttonviewoppnote').disabled = false;
			}					
			return false;
		}
	},

	'#innerb' : function(el) {
		el.onscroll = function() {
			var tcount = getTableCount();
		   if(this.scrollHeight-this.scrollTop-this.offsetHeight < 50 && tcount <= $('tabletwobody').rows.length && !contactDrawdown){
				contactDrawdown = true;
				xajax_showContactTable($('sortvalue').value, -1, 40, tcount, getFilter());
			}
			return;
		}
	},
	'select.filterlist' : function(el) {
		el.onchange = function() {		
			var itbl = $('tabletwobody');
			try{
				itbl.innerHTML = "<tr></tr>";
			} catch(e) {
				
			}
			
			$('tabletwofoot').innerHTML = '0 Items &nbsp; &nbsp;';
			xajax_showContactTable($('sortvalue').value, -1, 40, 0, getFilter());
		}
	},
	'a.sorttablelink' : function(el) {
		el.onclick = function() {
			var h=el.href
			lnk = h.split('/');
			tsort = lnk.pop();
			// 'Last Contact' and 'LVL' cols start as desc sort and switch to asc
			if(tsort=='modified' || tsort=='level' || tsort.indexOf('desc')>-1) {
				arrow = '&#9660;';	
			} else {
				arrow = '&#9650;';	
			}			
			//console.log(el.innerHTML);
			eltext = el.innerHTML;
			eltext = eltext.replace(/<span.*span>/i,'');
			psort = tsort;
			tsort = tsort.replace(/[^a-z]+(desc|asc)/,'');
			atag = '<a class="sorttablelink" href="/shnt/list/contacts/' + tsort + 
					 (arrow=='&#9660;'? ' asc':' desc') +
					  '">' + eltext + '<span> ' + arrow + '</span></a>';	

			theadrow = el.parentNode.parentNode
			for(i=0; i<theadrow.cells.length; i++) {
				lnk = theadrow.cells[i].getElementsByTagName('A');
				if(lnk[0].href == el.href){
					theadrow.cells[i].innerHTML = atag;	
				} else {
					 celltext = theadrow.cells[i].innerHTML;
					 celltext = celltext.replace(/<span.*span>/i,'');
					 celltext = celltext.replace(/(\%20|\s|\+)asc"/,'"');
					 celltext = celltext.replace(/(\%20|\s|\+)desc"/,'"');
					 theadrow.cells[i].innerHTML = celltext;
				}
			}
			$('tabletwofoot').innerHTML = '0 Items &nbsp; &nbsp;';
			$('sortvalue').value = psort;
			var itbl = $('tabletwobody');
			try{
				itbl.innerHTML = "<tr></tr>";
			} catch(e) {
				
			}
			Behaviour.apply();
			xajax_showContactTable($('sortvalue').value, -1, 40, 0, getFilter());
			return false;
		}
	}
};
Behaviour.register(contact);


var myfiles = {
	'#mf_sendcontact' : function(el) {
		el.onchange = function() {
			xajax_mfSelectContact(el.value);return false;
		}
	},

	'#sendfile_subject' : function(el) {
		el.onfocus = function() {
			el.value = '';
		}
	}

};
Behaviour.register(myfiles);


var workspace = {
	'#progress_swap' : function(el) {
		el.onclick = function() {
			if ($('progress_label').innerHTML == 'CONTACTS PROGRESS') {
				$('progress_label').innerHTML = 'GOALS PROGRESS';
				el.innerHTML = 'Switch to Contacts Progress';
				$('stats_contacts').style.display = 'none';
				$('stats_tasks').style.display = 'block';
			} else {
				$('progress_label').innerHTML = 'CONTACTS PROGRESS';
				el.innerHTML = 'Switch to Action Goals Progress';
				$('stats_contacts').style.display = 'block';
				$('stats_tasks').style.display = 'none';
			}
		}
	}
};
Behaviour.register(workspace);


var progress = {
	'#statOpportunityY' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statOpportunityN').className = 'button';
			$('statOpportunityM').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statOpportunity(contactid, 'yes');
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},
	
	'#statOpportunityN' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statOpportunityY').className = 'button';
			$('statOpportunityM').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statOpportunity(contactid, 'no');
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},

	'#statOpportunityM' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statOpportunityY').className = 'button';
			$('statOpportunityN').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statOpportunity(contactid, 'maybe');
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},

	'#statInterestedY' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statInterestedN').className = 'button';
			$('statInterestedM').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statInterested(contactid, 'yes');
			return false;
		}
	},

	'#statInterestedN' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statInterestedY').className = 'button';
			$('statInterestedM').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statInterested(contactid, 'no');
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},

	'#statInterestedM' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statInterestedY').className = 'button';
			$('statInterestedN').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statInterested(contactid, 'maybe');
			return false;
		}
	},
	
	'#statStillInterestedY' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statStillInterestedN').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statInterested(contactid, 'yes');
			return false;
		}
	},

	'#statStillInterestedN' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			$('statStillInterestedY').className = 'button';
			contactid = $('thiscontactid').value;
			xajax_statInterested(contactid, 'no');
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},

	'#statResumeY' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			contactid = $('thiscontactid').value;
			xajax_statResume(contactid, 'sent');
			return false;
		}
	},

	'#statResumeNow' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			contactid = $('thiscontactid').value;
			xajax_statResume(contactid, 'sendnow');
			return false;
		}
	},

	'#statResumeLater' : function(el) {
		el.onclick = function() {
			el.className = 'button selected';
			contactid = $('thiscontactid').value;
			xajax_statResume(contactid, 'sendlater');
			return false;
		}
	},
	
	'#statFollowSet' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			days = $('statFollowupDays').value;
			weeks = $('statFollowupWeeks').value;
			xajax_statFollowUp(contactid, days, weeks);
			return false;
		}
	},
	
	'#statInterviewY' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_statInterview(contactid, 1);
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},
	
	'#statInterviewN' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_statInterview(contactid, 0);
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},
	
	'#statDecisionYO' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_statDecision(contactid, 1);
			return false;
		}
	},
	
	'#statDecisionYD' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_statDecision(contactid, 2);
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},
	
	'#statDecisionN' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_statDecision(contactid, 0);
			return false;
		}
	},
	
	'#statDecisionSet' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			date = $('statDecisionDate').value;
			xajax_statDecisionDate(contactid, date);
			return false;
		}
	},
	
	'#statPhoneInterviewSet' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			date = $('statPhoneInterviewDate').value;
			xajax_statPhoneInterviewDate(contactid, date);
			return false;
		}
	},
	
	'#statInterviewSet' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			date = $('statInterviewDate').value;
			xajax_statInterviewDate(contactid, date);
			return false;
		}
	},
	
	'#statJobTitleSet' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			title = $('statJobTitle').value;
			xajax_statJobTitle(contactid, title);
			return false;
		}
	},
	
	'#statReactivateGreen' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_changeContactLevel(contactid, 1);
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},

	'#statReactivateYellow' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_changeContactLevel(contactid, 2);
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	},

	'#statReactivateOrange' : function(el) {
		el.onclick = function() {
			contactid = $('thiscontactid').value;
			xajax_changeContactLevel(contactid, 3);
			setTimeout("location.reload(true)", 1000);
			return false;
		}
	}
};
Behaviour.register(progress);


// This is a helper function
function getFilter(){
	var formfilter = xajax.getFormValues( 'filterform' );
	var filter = {};
	for(filterkey in formfilter['filter']){
		if(typeof formfilter['filter'][filterkey] == 'function') continue;
		fkv = formfilter['filter'][filterkey][0];
		if(fkv.substr(0,4)!='All ' && fkv!=""){
			if(!filter[filterkey]) filter[filterkey] = [[]];
			for(i=0;i<formfilter['filter'][filterkey].length; i++)
				filter[filterkey][0][i] = (formfilter['filter'][filterkey][i]!='{blank}')?formfilter['filter'][filterkey][i]:'';
		}
	}
	//console.debug(filter);
	return filter;
}
function getTableCount() {
			otbl = $('tabletwofoot').innerHTML;
			if(otbl.indexOf('More than') == -1) return $('tabletwobody').rows.length+1;
			otbl = otbl.substr(otbl.lastIndexOf('Item')-5);
			var tcount = Math.round(otbl.replace(/[^0-9-]/g,'')) ;
			return tcount;
}
function showSelects(el) {
			var visb = $(el).style.visibility;
			var sels = $(el).getElementsByTagName('SELECT');
			for(i=0; i<sels.length; i++){
				$(sels[i]).style.visibility=visb;
			}	
}


function editContactEmail(id, contactid) {
	hs.htmlExpand(null, { contentId: 'highslide_popup', headingText: 'Edit Email Address', width: 400, height: 300, preserveContent: false } );
	xajax_editContactEmailForm( id, contactid );
}
function saveContactEmail() {
	xajax_saveContactEmail( xajax.getFormValues( 'editemailform' ) );
}
function newContactEmail(contactid) {
	hs.htmlExpand(null, { contentId: 'highslide_popup', headingText: 'Create New Email', width: 400, height: 300, preserveContent: false } );
	xajax_newEmailForm(contactid);
}
function cancelNewContactEmail(id, contactid) {
	xajax_deleteEmailAddressConfirmed(id, contactid);
	hs.close();
}

function editContactPhone(id, contactid) {
	hs.htmlExpand(null, { contentId: 'highslide_popup', headingText: 'Edit Phone Number', width: 400, height: 300, preserveContent: false } );
	xajax_editContactPhoneForm( id, contactid );
}
function saveContactPhone() {
	xajax_saveContactPhone( xajax.getFormValues( 'editphoneform' ) );
}
function newContactPhone(contactid) {
	hs.htmlExpand(null, { contentId: 'highslide_popup', headingText: 'Create New Phone Number', width: 400, height: 300, preserveContent: false } );
	xajax_newPhoneForm(contactid);
}
function cancelNewContactPhone(id, contactid) {
	xajax_deletePhoneNumberConfirmed(id, contactid);
	hs.close();
}

function editQuickAddress(id, contactid) {
	hs.htmlExpand(null, { contentId: 'highslide_popup', headingText: 'Edit Address', width: 400, height: 300, preserveContent: false } );
	xajax_editAddressForm( id, contactid );
}
function saveAddress() {
	xajax_saveAddress( xajax.getFormValues( 'editaddressform' ) );
}
function newAddress(contactid) {
	hs.htmlExpand(null, { contentId: 'highslide_popup', headingText: 'Create New Address', width: 400, height: 300, preserveContent: false } );
	xajax_newAddressForm(contactid);
}
function cancelNewAddress(id, contactid) {
	xajax_deleteAddressConfirmed(id, contactid);
	hs.close();
}

function appendOptionLast( selectID, value, text )
{
  var elOptNew = document.createElement('option');
  elOptNew.text = text;
  elOptNew.value = value;
  var elSel = document.getElementById(selectID);

  try {
	elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
	elSel.add(elOptNew); // IE only
  }
}

/* We need these three functions for adding new contact but no longer used by QuickEdit to edit contacts */
/* Leave these until we update how we add new contacts */
function addPhone(divName) {
	var newdiv = document.createElement('div');
	newdiv.innerHTML = "Phone Type: <select name='phonetype[]'><option value='1'>Office</option><option value='2'>Home</option><option value='3'>Mobile</option><option value='4'>Fax</option><option value='5'>Other</option></select> <br />Number: <input type='text' name='phonenumber[]' maxlength='20' /><br />";
	$(divName).appendChild(newdiv);
}
function addEmail(divName) {
	var newdiv = document.createElement('div')
	newdiv.innerHTML = "Email Type: <select name='emailtype[]'><option value='1'>Office</option><option value='2'>Mobile</option><option value='3'>Home</option><option value='4'>Other</option></select> <br />Address: <input type='text' name='emailaddress[]' maxlength='100' /><br />";
	$(divName).appendChild(newdiv);
}
function addAddress(divName) {
	var newdiv = document.createElement('div');
	newdiv.innerHTML = "Address Type: <select name='addresstype[]'><option value='1'>Office</option><option value='2'>Home</option><option value='3'>Other</option></select><br />Street: <input type='text' name='line1[]' maxlength='100' size='35' /><br />Line 2: <input type='text' name='line2[]' maxlength='100' size='35' /><br />City, State Zip: <br /><input type='text' name='city[]' maxlength='100' />, <input type='text' name='state[]' maxlength='50' size='3' /> <input type='text' name='zip[]' maxlength='10' size='10' /><br />Country: <input type='text' name='country[]' maxlength='50' />";
	$(divName).appendChild(newdiv);
}
/* End */