function selectAll(checked) {
	var elements = document.contact_form.elements['emails[]'];
	if (!elements.length) { 
		// only one contact
		elements.checked = checked;
	} else {
		// multiple contacts
		for (var i = 0; i < elements.length; i++) {
			elements[i].checked = checked;
		}	
	}	
}

function selectAllOnEp() {
    var elements = document.contact_form.elements['emails_on_ep[]'];
    var chkbox = document.getElementById('chkbox_on_ep_all');
    var checked = (chkbox.checked) ? true : false;
    
    if (!elements.length) { 
        // only one contact
        elements.checked = checked;
    } else {
        // multiple contacts
        for (var i = 0; i < elements.length; i++) {
            elements[i].checked = checked;
			hilite_contact_row(elements[i], checked);
        }    
    }    
}

function selectAllOffEp() {
    var elements = document.contact_form.elements['emails_off_ep[]'];
    var chkbox = document.getElementById('chkbox_off_ep_all');
    var checked = (chkbox.checked) ? true : false;
    
    if (!elements.length) { 
        // only one contact
        elements.checked = checked;
    } else {
        // multiple contacts
        for (var i = 0; i < elements.length; i++) {
            elements[i].checked = checked;
			hilite_contact_row(elements[i], checked);
        }    
    }    
}

// this function hilites appropriate <tr> row assuming the html within "get_contact_list_friends" is:
// <tr><td><input type=checkbox"></td></tr>
// --------------------------------------------
function hilite_contact_row(checkbox_el, checked) {
	var td_el = checkbox_el.parentNode;
	var tr_el = td_el.parentNode;
	if (checked)
		tr_el.className='import-contact-row-selected';
	else
		tr_el.className='';

}
function hilite_contact(el, i, hilite) {
	if(!$('checkbox_'+i).checked) {
		if (hilite) 
			el.className='import-contact-row-hilite';
		else 
			el.className='';
	} else {
		if (hilite) 
			el.className='import-contact-row-selected import-contact-row-hilite';
		else 
			el.className='import-contact-row-selected';
	}
}
function mark_selected_contact(el, i) {
	if($('checkbox_'+i).checked) { 
		$('checkbox_'+i).checked=false; 
		el.className='';
	} else { 
		$('checkbox_'+i).checked=true; 
		el.className='import-contact-row-selected';
	}
}


function transferSelectedEmailsAndMids(quick_invite) {
    var elements = document.contact_form.elements['emails_on_ep[]'];
    var emails = '';
    var mids = '';

	if (elements) {
		//For users already on EP, don't send them invitation emails, we only want their mid
		//to add them as a friend
		//data will look like: dolamite@gmail.com:::Dolamite Martin:::7711234, parse it!
		if (!elements.length && elements.checked) { 
			// only one contact
			//emails = elements.value.substring(0,elements.value.indexOf(':::'));
			d_index = elements.value.indexOf(':::'); //delimitter index of first occurance
			d_index2 = elements.value.indexOf(':::', d_index+3) //second occurance
			mids = elements.value.substring(d_index2 + 3);
		} else {
			// multiple contacts
			for (var i = 0; i < elements.length; i++) {
				if (elements[i].checked == true) {
					d_index = elements[i].value.indexOf(':::'); //delimitter index of first occurance
					/*email = elements[i].value.substring(0, d_index);
					if (email != "" && email != null) {
						emails += email + ',\n';
					}*/
					//mid is from the second delimitter token until the end of the string
					d_index2 = elements[i].value.indexOf(':::', d_index+3);                 
					mid = elements[i].value.substring(d_index2 + 3);
					if (mid != "" && mid != null) {
						mids += mid;
						if (i < (elements.length - 1)) mids += ',\n';
					}
				}
			}
		}
	}    
    //get emails for contacts NOT on EP
    elements = document.contact_form.elements['emails_off_ep[]']; 
    //check to make sure ,\n is at the end of emails before appending more
    /*if(emails.substr(emails.length-2) != ',\n')
        emails += ',\n';*/
    
    if (elements) {
		if (!elements.length && elements.checked) { 
			// only one contact
			emails += elements.value.substring(0,elements.value.indexOf(':::'));
			alert('only one contact, emails is now: '+emails);
		} else {
			// multiple contacts
			for (var i = 0; i < elements.length; i++) {
				if (elements[i].checked == true) {
					d_index = elements[i].value.indexOf(':::'); //delimitter index of first occurance
					email = elements[i].value.substring(0, d_index);
					if (email != "" && email != null) {
						emails += email;
						if (i < (elements.length - 1)) emails += ',\n';
					}
				}
			}
		}
	}    

    // check if last email or mid has comma after it and remove
    if (emails.substr(emails.length-2) == ',\n') {
        emails = emails.substr(0,emails.length-2);
    }
    if (mids.substr(mids.length-2) == ',\n') {
        mids = mids.substr(0,mids.length-2);
    }
    
    /*alert('complete list of emails is: '+emails);
    alert('mid is: '+mids);
    return;*/
    
    if (quick_invite) {
        opener.document.import_form.emails.value += emails;
        opener.document.import_form.mids.value += mids;
        opener.document.import_form.submit();
    } else {
        if (opener.document.invite_form.emails.value) {
            emails = ',' + emails;
        }
        opener.document.invite_form.emails.value += emails;
    }
    self.close();
}


function transferSelectedEmails(quick_invite) {
	var elements = document.contact_form.elements['emails[]'];
	var emails = '';
	if (!elements.length && elements.checked) { 
		// only one contact
		emails = elements.value.substring(0,elements.value.indexOf(':::'));
	} else {
		// multiple contacts
		for (var i = 0; i < elements.length; i++) {
			if (elements[i].checked == true) {
				email = elements[i].value.substring(0,elements[i].value.indexOf(':::'));
				if (email != "" && email != null) {
					emails += email;
					if (i < (elements.length - 1)) emails += ',\n';
				}
			}
		}
		// check if last email has comma after it and remove
		if (emails.substr(emails.length-2) == ',\n') {
			emails = emails.substr(0,emails.length-2);
		}
	}
	if (quick_invite) {
		opener.document.import_form.emails.value += emails;
		opener.document.import_form.submit();
	} else {
		if (opener.document.invite_form.emails.value) {
			emails = ',' + emails;
		}
		opener.document.invite_form.emails.value += emails;
	}
	self.close();
}

function checkData()
{
	if (!$('username').value) {
		alert('Please enter your email username');
		return false;
	}
	if (!$('password').value) {
		alert('Please enter your email password. Don\'t worry, we do not store your login info.');
		return false;
	}
	return true;
}
function getPreviewName(){
    var elt = document.getElementById('from_name');
    var name = false;
    if(elt){
        name = elt.value;
    }
    return name;
}
function openImporterWindow(query_string)
{
	if (query_string.indexOf('ext') >= 0) { // called by external import form, need to validate form data first
		if (!checkData()) return;
	}
    //try to get a preview name
    var p_name = getPreviewName();
    if(p_name) query_string = query_string + '&p_name=' + escape(p_name);
    
	var url = '/modules/emailimporter/index.php?' + query_string;
    window.open(url, 'popup', 'height=800,width=700,location=yes,menubar=no,status=no,toolbar=yes,scrollbars=yes');
	//window.open(url, 'popup', 'height=500,width=620,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes');
}
function hiliteInviteService(inviteService) {
	var i;
	var tabs = $('invite-tabs');
	var tabsli = tabs.getElementsByTagName('li');

	for (i=0; i<tabsli.length; i++) 
		tabsli[i].className = '';
	$(inviteService).className = 'service-selected';
}
var t_fbconnect;
var invite_ref;
function switchInviteService(domain) {
	var i;
	if (t_fbconnect)
		window.location.href='/invitation.php?sup=t&new_reg=1&jref='+invite_ref;
	else {
		var selectBox = document.getElementById('domains');
		if(selectBox){
			var myOptions = selectBox.options;
			for(i=0; i<selectBox.options.length; i++) {
				if (selectBox.options[i].value == domain) {
					selectBox.selectedIndex = i;
					break;
				}
				else if (selectBox.options[i].text == domain) {
					selectBox.selectedIndex = i;
					break;
				}
			}
		}
		var tmp = domain.split('.');
		var domain_str = tmp[0];
		if (domain_str == 'hotmail' || domain_str == 'yahoo' || domain_str == 'msn' || domain_str == 'aol' || domain_str == 'gmail')
			hiliteInviteService(domain_str);
		if (domain_str == '------------------------')
			hiliteInviteService('other');
	}
}
