// JavaScript Document
var addressListHolder = null;
var blnAddresslistLoaded = false;
var strAddressToRemove = "";

function fFillAddressList() {
	var data = xhrData;
	if (data.status == "ok" && typeof data.addressList != 'undefined') {
		addressListHolder = document.createElement("div");
		var addressSpacer = document.createElement("div");
		addressSpacer.setAttribute("style","clear:both; height:1px; line-height:1px;");
		addressSpacer.innerHTML = "<img src=\"/img/spacer.gif\" /></div>";
		for(i=0;i<=data.addressList.length-1;i++) {
			var addressEntry = document.createElement("div");
			addressEntry.setAttribute("class","addressEntry");
			sHTML = "<div class=\"c_1\"><a href=\"javascript:removeAdressbookItem('"+data.addressList[i].email+"')\" title=\"Verwijder '"+data.addressList[i].email+"' uit mijn adresboek\" onmouseover=\"fStrike(true,"+(i+1)+"); return true;\" onmouseout=\"fStrike(false,"+(i+1)+");return true;\" onfocus=\"this.blur();\"><img src=\"/img/delete.gif\" height=\"16\" align=\"absmiddle\" /></a></div>";
			sHTML += "<div class=\"c_2\"><input class=\"checkbox\" id=\"adr_"+(i+1)+"\" type=\"checkbox\" value=\""+data.addressList[i].email+"\" name=\"contact\" onClick=\"addEmail('"+data.addressList[i].email+"', this.checked);\" onfocus=\"this.blur();\" /></div>";
			sHTML += "<div class=\"c_3\"><label id=\"lbl_"+(i+1)+"\" for=\"adr_"+(i+1)+"\" title=\""+data.addressList[i].email+"\" onfocus=\"this.blur();\">"+data.addressList[i].email+"</label></div>";
			addressEntry.innerHTML = sHTML;
			addressListHolder.appendChild(addressEntry);
			addressListHolder.appendChild(addressSpacer);
		}
		setTimeout('showAddressList()',250);
		setTimeout('$(\'addressbookHeader\').innerHTML = "adresboek ('+data.addressList.length+')"',250);
	}
	blnAddresslistLoaded = true;
}
function showAddressList() {
	$('addressList').innerHTML = "";
	$('addressList').appendChild(addressListHolder);
	$('addressSelector').style.display = "block";
}
function fReloadAddressList() {
	blnAddresslistLoaded = false;
	$('addressList').innerHTML = "<img src=\"/img/loading.gif\" />";
	fLoadAddressList();
}
function fLoadAddressList() { 
	if (!blnAddresslistLoaded) {		
		if (xhrSent) {
			alert(xhrSentAlertMessage);
		} else {
			disableCloseButton(true); 
			dojo.xhrGet({
				url: '/ajax/addressbook/load.asp',
				handleAs: "json",
				load: fXhrCallBack,
				error: fXhrError,
				timeout: 5000
			});
			xhrSent = true;
		}		
	}
}
function addEmail(strEmail, checked) {  
  objEmail = $('email');
  var arrEmail = $('email').value;
  //checkbox is checked; add recipient to string
  if (checked==1) {
    if (trim(arrEmail).length == 0) {
		//first emailadres	  
    	objEmail.value =  strEmail;    
    }	 
	else {
	  objEmail.value = arrEmail + ", " + strEmail;    	
	}
  }
  //checkbox is unchecked; remove recipient from string
  else {
  	var pattern = new RegExp(strEmail);	
	//remove from list   
	while (arrEmail.search(pattern)!=-1){
		objEmail.value  = arrEmail.replace(strEmail, '');
		arrEmail = trim(objEmail.value);	  
	}
  	var pattern = new RegExp(", , ");	
	//double comma from list   
	while (arrEmail.search(pattern)!=-1){
		objEmail.value  = arrEmail.replace(", , ", ", ");
		arrEmail = trim(objEmail.value);	  
	}
	
	//check if there is left comma	
	if (arrEmail.indexOf(", ")==0 ) {
		//komma in the beginning
		objEmail.value = trim(arrEmail.substring(1,arrEmail.length));
	}
	if (arrEmail.lastIndexOf(",")==arrEmail.length-1) {
		//komma in the end
		objEmail.value = trim(arrEmail.substring(0,arrEmail.length-1));
	}
  }	
}  
function addAll() {	
	var objEmail = document.getElementsByName("contact") ;		
	var arrEmail = $('email').value;
		
	for(i=0;i<=objEmail.length-1;i++) {			
		var pattern = new RegExp(objEmail.item(i).value);	
		//add to list if it does not exist
		if (arrEmail.search(pattern)==-1){
			if (trim(arrEmail).length == 0) {			
				arrEmail = arrEmail + objEmail.item(i).value;
			} else {
				arrEmail = arrEmail + ', ' + objEmail.item(i).value;
			}
			objEmail.item(i).checked=true;
		}							
	}	
	$('email').value=arrEmail;
}	
function removeAll() {	
	var objEmailR = document.getElementsByName("contact") ;		
	var arrEmailR = $('email').value;
		
	for(i=0;i<=objEmailR.length-1;i++) {	
		addEmail(objEmailR.item(i).value, false);
		objEmailR.item(i).checked = false;
	}	
}
function removeAdressbookItem(strEmail) {   	
  	if (confirm("Weet je zeker dat je '"+strEmail+"' uit je adresboek wilt verwijderen?")) {	
		strAddressToRemove = strEmail
		getDialog('waitDialog', 'callstackAfter=submitRemoveAdressbookItem|250');
	}
}
function submitRemoveAdressbookItem() {
	if (xhrSent) {
		alert(xhrSentAlertMessage);
	} else {
		disableCloseButton(true);
		addEmail(strAddressToRemove, false);
		dojo.xhrGet({
			url: "/ajax/addressbook/remove.asp?Email="+strAddressToRemove+"&callstackAfter=fReloadAddressList",
			handleAs: "json",
			load: fXhrCallBack,
			error: fXhrError,
			timeout: 5000
		});
		xhrSent = true;
	}		
}
function fStrike(bStrike,iID) {
	if ($("lbl_"+iID)!=null){
		if (bStrike) {
			$("lbl_"+iID).style.textDecoration = "line-through";
		} else {
			$("lbl_"+iID).style.textDecoration = "none";
		}
	}
}
