///////////////////////////////
var ieFlag = (document.all)? true:false
		
var numRegExp = new RegExp('^[0-9]+$');
var dateRegExp = new RegExp('[0-9]{2}/[0-9]{2}/[0-9]{4}');
var emailRegExp = new RegExp('^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)(\.){1}([A-Za-z]{2,})$');

var isUpdateStatusShow 		= false;
var isUpdateStatusShowCas 	= false;
var isUpdateStatusShowNotCas= false;

clearSearchClick = function(){
	var searchInp = document.getElementById("search");
	if (searchInp.value == "Search phone number, name or keyword"){
		searchInp.value = "";
	}
}

clearSearchBlur = function(){
	var searchInp = document.getElementById("search");
	if (searchInp.value == ""){
		searchInp.value = "Search phone number, name or keyword";
	}
}

var unsubscribeRequest = new Request({method: 'post', url: 'dashboardController'});
unsubscribe = function(){
	var p1 = $('p1');
	var p2 = $('p2');
	var p3 = $('p3');
	params = "p1=" + p1.value + "&p2=" + p2.value + "&p3=" + p3.value;
	unsubscribeRequest.send(params);
}
buildError2 = function(val){
	htmlErrors =  '<div class="msgerror" style="min-height:30px;">';
	htmlErrors += '<ul>';
	for(var i = 0; i < val.length; i++){
		htmlErrors += '<li>' + val[i] + '</li>';
	}
	htmlErrors += '</ul></div>';
	return htmlErrors;
}
buildErrorTitle = function(val){
	htmlErrors =  '<div class="msgerror" style="min-height:30px;">';
	
	for(var i = 0; i < val.length; i++){
		htmlErrors += val[i] + '<br/>';
	}
	htmlErrors += '</div>';
	return htmlErrors;
}
buildMsg = function(val){
	htmlValues = '';
	htmlValues += '<ul>';
	for(var i = 0; i < val.length; i++){
		htmlValues += '<li>' + val[i] + '</li>';
	}
	htmlValues += '</ul>';
	return htmlValues;
}
buildError = function(val){
	return '<div class="msgerror"><p style="padding-left:10px;">'+ val +'</p></div>';
}
buildSuccess = function(val){
	return '<div class="msgsuccess"><p style="padding-left:10px;">'+ val +'</p></div>';
}
unsubscribeRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	var divIn = $('unmsg');
	if (response.res == 1){
		divIn.innerHTML = buildSuccess(response.message);	
	}
	if (response.res == 0){
		divIn.innerHTML = buildError(response.message);
	}
}

var populateInputDateRequest = new Request({method: 'post', url: 'dateController'});

populateInputDate = function(value){
	if($('date_error')){
		$('date_error').style.display = 'none';
		$('date_error').innerHTML = '';
		$('date1').style.color = '#000000';
		$('date2').style.color = '#000000';
	}
	if(value == ""){
		$('date1').value = "MM/DD/YYYY";
		$('date2').value = "MM/DD/YYYY";
	}else{
		if (value == -1){
			
		}else{
			params = "intervalType=" + value + '&random='+$random(-1000,1000);  
			populateInputDateRequest.send(params);
		}		
	}	
}
populateInputDateRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');	
	var dateFrom = $('date1');
	var dateTo = $('date2');
	if (response.res){
		dateFrom.value = response.from;
		dateTo.value = response.to;
	}
}
tabCursor = function(event, idName){
	var val = 0
	val = event.code;
	if(event.keyCode  == 0){
		val = event.which;
	}else{
		val = event.keyCode;
	}	
	if (val == 9 || (val>=33 && val<=40)){
		return;
	}
	var numP = 0;
	var obj = document.getElementById(idName);
	obj.focus();

	if(obj.selectionStart){
		numP = obj.selectionStart;
	}else { 
		if (document.selection){			
		  var sel = document.selection.createRange();		  
		  sel.moveStart ('character', -obj.value.length);
		  numP = sel.text.length;
		 }
	}
	//Dashboard
	if (idName == "p1"){		
		if ($(idName).value.length == 3 && numP == 3){
			$('p2').focus();
			return;
		}
	}
	if (idName == "p2"){
		if ($(idName).value.length == 3 && numP == 3){
			$('p3').focus();
			return;
		}
	}
	if (idName == "p3"){
		if ($(idName).value.length == 4 && numP == 4){
			$('p4').focus();
			return;			
		}
	}
	//Add member
	if (idName == "frm_addmember_mobile_area"){
		if ($(idName).value.length == 3 && numP == 3){
			$('frm_addmember_mobile_prefix').focus();
			return;			
		}
	}
	if (idName == "frm_addmember_mobile_prefix"){
		if ($(idName).value.length == 3 && numP == 3){
			$('frm_addmember_mobile_suffix').focus();
			return;			
		}
	}
	if (idName == "frm_addmember_mobile_suffix"){
		if ($(idName).value.length == 4 && numP == 4){
			$('frm_addmember_checkmobile').focus();
			return;			
		}
	}
	//Add/Edit Keyword
	//1
	if (idName == "areacodeInput"){
		if ($(idName).value.length == 3 && numP == 3){
			$('exchangeInput').focus();
			return;			
		}
	}
	if (idName == "exchangeInput"){
		if ($(idName).value.length == 3 && numP == 3){
			$('lineInput').focus();
			return;			
		}
	}
	if (idName == "lineInput"){
		if ($(idName).value.length == 4 && numP == 4){
			$('frm_keywordforwardinbox').focus();
			return;			
		}
	}
	//2
	if (idName == "frm_keywordsubforwardcellphoneAreacode"){
		if ($(idName).value.length == 3 && numP == 3){
			$('frm_keywordsubforwardcellphoneExchange').focus();
			return;			
		}
	}
	if (idName == "frm_keywordsubforwardcellphoneExchange"){
		if ($(idName).value.length == 3 && numP == 3){
			$('frm_keywordsubforwardcellphoneLine').focus();
			return;			
		}
	}
	if (idName == "frm_keywordsubforwardcellphoneLine"){
		if ($(idName).value.length == 4 && numP == 4){
			$('frm_keywordsubforwardinbox').focus();
			return;			
		}
	}
	
}
orderResult = function(divId,pageName){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	
	var params= '';
	var orderBy = $('field0');
	var sortAsc  = $('sort_asc0');
	var sortDesc = $('sort_desc0');
	
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	//alert('params='+params);
	showUpdateStatusPopup();
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
}

orderResultNC = function(divId,pageName){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	
	var params= '';
	var orderBy = $('field0nc');
	var sortAsc  = $('sort_asc0nc');
	var sortDesc = $('sort_desc0nc');
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	//alert('params='+params);	
	showUpdateStatusPopup();
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
}
orderResultCas = function(divId,pageName){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	
	var params= '';
	var orderBy = $('field0');
	var sortAsc  = $('sort_asc0');
	var sortDesc = $('sort_desc0');
	
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	//alert('params='+params);
	params += '&isResetNum=1';
	params += '&random='+$random(-1000,1000);
	showUpdateStatusPopup();
	$(divId).load(pageName +'?'+params);
}
orderResultPopup = function(divId,pageName){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	
	var params= '';
	var orderBy = $('field3');
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	//alert(orderBy.value + ' ' + sortAsc.value + ' ' + sortDesc.value);
	
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';
	}
	if(sortDesc.checked){
		params+='DESC';
	}
	//alert('params='+params);
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
}

orderResultPopupMsgDet = function(divId,pageName,shed){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	
	var params= '';
	var orderBy = $('field3');
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	//alert(orderBy.value + ' ' + sortAsc.value + ' ' + sortDesc.value);
	
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';
	}
	if(sortDesc.checked){
		params+='DESC';
	}
	//alert('params='+params);
	params += '&shed='+shed;
	params += '&random='+$random(-1000,1000);	
	$(divId).load(pageName +'?'+params);
}

orderResultSendMessageInterestsPopUp = function(divId,pageName,curPage){
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	
	var params = 'sort=';
	if(sortAsc.checked){
		params+='ASC';
	}
	if(sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
}
orderResultPopupMA = function(divId,pageName/*,phone, userId*/){
	
	var params= '';
	var orderBy = $('field3');
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');

	
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';
	}
	if(sortDesc.checked){
		params+='DESC';
	}
	//params += '&phone=' + phone;
	//params += '&userId=' + userId;
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
}
orderInterestsResult = function(divId1, pageName1, divId2, pageName2){
	var params= '';
	var orderBy = $('field0');
	var sortAsc  = $('sort_asc0');
	var sortDesc = $('sort_desc0');
	
	params+='orderBy='+ orderBy.value + '&sort=';
	if(sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&random='+$random(-1000,1000);
	$(divId1).load(pageName1 +'?'+params);
	$(divId2).load(pageName2 +'?'+params);
}

pagingResult = function(divId,pageName,curPage){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	//alert('curPage=' + curPage);
	
	var params= '';
	var orderBy  = $('field0');
	var sortAsc  = $('sort_asc0');
	var sortDesc = $('sort_desc0');
	params+='orderBy='+ orderBy.value + '&sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
	
}

pagingResultNC = function(divId,pageName,curPage){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	//alert('curPage=' + curPage);
	
	var params= '';
	var orderBy  = $('field0nc');
	var sortAsc  = $('sort_asc0nc');
	var sortDesc = $('sort_desc0nc');
	params+='orderBy='+ orderBy.value + '&sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
	
}

pagingResultNext = function(divId,pageName,curPage){
		
	var params= '';
	var orderBy  = $('field0');
	var sortAsc  = $('sort_asc0');
	var sortDesc = $('sort_desc0');
	params+='orderBy='+ orderBy.value + '&sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&goTo=next';
	params += '&random='+$random(-1000,1000);
	$(divId).load(pageName +'?'+params);
	
}

pagingResultPopup = function(divId,pageName,curPage){
	//alert('divID=' + divId);
	//alert('pageName=' + pageName);
	//alert('curPage=' + curPage);
	
	var params= '';
	var orderBy  = $('field3');
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	params+='orderBy='+ orderBy.value + '&sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&random='+$random(-1000,1000);
	
	$(divId).load(pageName +'?'+params);
	//!!!!!!!!
	//alert('');
}

pagingResultPopupMsgDet = function(divId,pageName,curPage, shed){
	
	var params= '';
	var orderBy  = $('field3');
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	params+='orderBy='+ orderBy.value + '&sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&shed='+ shed;
	params += '&random='+$random(-1000,1000);
	
	$(divId).load(pageName +'?'+params);
	
}

pagingResultSendMessageInterestsPopUp = function(divId,pageName,curPage){
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	
	var params = 'sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	params += '&random='+$random(-1000,1000);
	
	$(divId).load(pageName +'?'+params);
}
pagingResultPopupMA = function(divId,pageName,curPage/*,phone,userId*/){

	var params= '';
	var orderBy  = $('field3');
	var sortAsc  = $('sort_asc3');
	var sortDesc = $('sort_desc3');
	params+='orderBy='+ orderBy.value + '&sort=';
	
	if( sortAsc.checked){
		params+='ASC';	
	}
	if( sortDesc.checked){
		params+='DESC';
	}
	params += '&curPage='+ curPage;
	//params += '&phone='+ phone;
	//params += '&userId='+ userId;
	params += '&random='+$random(-1000,1000);
	
	$(divId).load(pageName +'?'+params);
	
}

var applyFilterRequest = new Request({method: 'post', url: 'filterController'});
var applyFilterRequestPageNum = new Request({method: 'post', url: 'filterController'});

var saveFilterRequest = new Request({method: 'post', url: 'filterController'});

var deleteFilterRequest =  new Request({method: 'post', url: 'filterController'});

applySavedFilter = function(filterId){
	var params ='';
	params+='applySavedFilter=1&filterId='+filterId;
	params += '&random='+$random(-1000,1000);	
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}

applySavedFilterCassandra = function(filterId){
	var params ='';
	params += 'applySavedFilter=1&filterId='+filterId;
	params += '&isCassandra=1';
	params += '&random='+$random(-1000,1000);	
	showUpdateStatusPopup();
	$('messagesDivTable').load('messagesTableCassandraLoading?random='+$random(-1000,1000));
	applyFilterRequest.send(params);
}

applySavedFilterReport = function(filterId){
	var params ='';
	params+='applySavedFilterReport=1&filterId='+filterId;
	params += '&random='+$random(-1000,1000);	
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}
applySavedFilterMembers = function(filterId){
	var params ='';
	params+='applySavedFilterMembers=1&filterId='+filterId;
	params += '&random='+$random(-1000,1000);
	//alert(params);
	showUpdateStatusPopup();	
	applyFilterRequest.send(params);
}
deleteFilter = function(filterId){
	Popup.show(null, {size:'short', modal:true, wtitle:'Delete Filter'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin-top:5px;padding-bottom:0"><p style="padding-left:22px">Are you sure you want to delete this filter?</p><input type="button" id="msg_ok" value="Yes" style="font-weight:bold;margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px"/> <input type="button" id="msg_cancel" value="No" style="margin-bottom:0;float:left"/></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
		deleteFilterOK(filterId); 
	});
	$('msg_cancel').addEvent('click', function(){
		Popup.hide();
	});
}

deleteFilterOK = function(filterId){	
	var params ='';
	params+='deleteFilter=1&filterId='+filterId;
	params += '&random='+$random(-1000,1000);
	//alert(params);
	deleteFilterRequest.send(params);
}

applyFilterRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();	
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		$(response.divId).load(response.pageName+'?random='+$random(-1000,1000));
	}
	if (response.res == 2){
		$(response.divId1).load(response.pageName1+'?random='+$random(-1000,1000));
		$(response.divId2).load(response.pageName2+'?random='+$random(-1000,1000));
	}	
	if (response.res != 2 && response.res != 1){
		hideUpdateStatusPopup();
	}
	if (response.res == 3){
		window.location = 'login';
	}
	if (response.res == 4){
		$(response.divId).load(response.pageName+'?random='+$random(-1000,1000)+'&isResetNum=1');
		$(response.divId2).load(response.pageName2+'?random='+$random(-1000,1000));
	}
	
}
applyFilterRequestPageNum.onSuccess = function(responseText,responseXML){
	restartProviderSession();	
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		$(response.divId).load(response.pageName+'?curPage=' + response.curPage +'&random='+$random(-1000,1000));
	}else{
		hideUpdateStatusPopup();
		if (response.res == 3){
			window.location = 'login';
		}
	}
}
saveFilterRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res){
		document.getElementById('save_filter_result').innerHTML = document.getElementById('save_filter_result').innerHTML + response.filter;
		tabarea($('filter_saved_tab'),'results_filters_saved');
	}
}


deleteFilterRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res){
		document.getElementById('save_filter_result').innerHTML = response.filters; 
	}
}
isFilterNameEmpty = function(){	
	if(document.getElementById('filterName').value==""){
		var error = [];
		error.push(' Filter name cannot be empty.');
		$('errorMsg').innerHTML = buildErrorTitle(error);
		return true
	}else{
		return false;
	}
}
saveCommunityFilter = function(pageType,numKeywords){
	if (isFilterNameEmpty()){
		return false;
	}
	Popup.hide();
	var params ='';
	var statusA = $('frmmsgstatusA');
	var statusI = $('frmmsgstatusI');
	var dateFrom = $('date1');
	var dateTo = $('date2');
	params+='saveFilter=1&pageType='+pageType;
	
	if (statusA.checked){
		params+='&status=1';
	}
	if (statusI.checked){
		params+='&status=0';	
	}
	if(dateFrom.value!=""){
		params+='&dateFrom='+dateFrom.value;
	}
	if(dateTo.value!=""){	
		params+='&dateTo='+dateTo.value;
	}
	//if (!($('allKeywords').checked)){
		num = numKeywords+0;
		for (i=0;i<num;i++){
			var chName = "keyword_"+i;
			if (document.getElementById(chName).checked){
				params+='&'+chName+'='+document.getElementById(chName).value;
			}
		}
	//}
	params += '&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	saveFilterRequest.send(params);
	
}

applyCommunityFilter = function(pageType,numKeywords){
	
	var params ='';
	var statusA = $('frmmsgstatusA');
	var statusI = $('frmmsgstatusI');
	
	var dateFrom = $('date1');
	var dateTo = $('date2');
	params+='applyFilter=1&pageType='+pageType;
	
	if (statusA.checked){
		params+='&status=1';
	}
	if (statusI.checked){
		params+='&status=0';	
	}
	if(dateFrom.value!=""){
		params+='&dateFrom='+dateFrom.value;
	}
	if(dateTo.value!=""){	
		params+='&dateTo='+dateTo.value;
	}/*
	if (!($('allKeywords').checked)){
		num = numKeywords+0;
		for (i=0;i<num;i++){
			var chName = "keyword_"+i;
			if (document.getElementById(chName).checked){
				params+='&'+chName+'='+document.getElementById(chName).value;
			}
		}
	}
	*/
	//if (!($('allKeywords').checked)){
		var inputs = document.getElementsByTagName('input');
		for (i=0;i<inputs.length;i++){
			if (inputs[i].id.indexOf("keyword_")!=-1){
				var chName = inputs[i].id;
				if (inputs[i].checked){
					params+='&'+chName+'='+inputs[i].value;
				}
			}
		}
//	}
	params += '&random='+$random(-1000,1000);
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}
	
///////Users/////////

saveUsersFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params ='';
	params+='saveFilter=1&pageType='+pageType;
	var statusA = $('statusA');
	var statusI = $('statusI');
	var userName = $('frmusername');
	var lastName = $('frmlastname');
	var firstName = $('frmfirstname');
	
	
	if (statusA.checked){
		params+='&status=1';
	}
	if (statusI.checked){
		params+='&status=0';	
	}
	if(userName.value!=""){
		params+='&username=' + escapePlus(userName.value);
	}
	if(lastName.value!=""){	
		params+='&lastname=' + escapePlus(lastName.value);
	}
	if(firstName.value!=""){	
		params+='&firstname=' + escapePlus(firstName.value);
	}
	params += '&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	
	saveFilterRequest.send(params);
}

applyUsersFilter = function(pageType,numKeywords){
	
	var params ='';
	params+='applyFilter=1&pageType='+pageType;
	
	var statusA = $('statusA');
	var statusI = $('statusI');
	var userName = $('frmusername');
	var lastName = $('frmlastname');
	var firstName = $('frmfirstname');
	
	
	if (statusA.checked){
		params+='&status=1';
	}
	if (statusI.checked){
		params+='&status=0';	
	}
	if(userName.value!=""){
		params+='&username=' + escapePlus(userName.value);
	}
	if(lastName.value!=""){	
		params+='&lastname=' + escapePlus(lastName.value);
	}
	if(firstName.value!=""){	
		params+='&firstname=' + escapePlus(firstName.value);
	}
		
	params += '&random='+$random(-1000,1000);
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}
/////////////////

saveCommunityDetailFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params = '';
	var dateSignFrom = $('date1');
	var dateSignTo = $('date2');
	
	var mob = $('mob');
	var sub = $('com');
	
	var filter_phone = $('frmphone');
	var filter_zip = $('frmzip');
	var filter_city = $('frmcity');
	var filter_state = $('frmstate');
	
	var genderM = $('genderM');
	var genderF = $('genderF');
	
	var ageFrom= $('frmage');
	var ageTo = $('frmage2');
 	
	var dateBirthFrom = $('date3');
	var dateBirthTo = $('date4');
	
	params+='saveFilter=1&pageType='+pageType;
	
	if(dateSignFrom.value!="" && dateSignTo.value!=""){
		params+='&dateSignUpFrom='+dateSignFrom.value;	
		params+='&dateSignUpTo='+dateSignTo.value;
	}
	if (!($('all').checked)){
		if (!((mob.checked) && (sub.checked))){
			if (mob.checked){
				params+='&subsc=mobile';
			}
			if (sub.checked){
				params+='&subsc=subscriber';
			}
		}
	}
	
	if (filter_phone.value!=""){
		params+='&phone='+escapePlus(filter_phone.value);
	}
	
	if (filter_zip.value!=""){
		params+='&zip='+escapePlus(filter_zip.value);
	}
	if (filter_city.value!=""){
		params+='&city='+escapePlus(filter_city.value);
	}
	if (filter_state.value!=""){
		params+='&state='+escapePlus(filter_state.value);
	}
	if (genderM.checked){
		params+='&gender=M';	
	}
	if (genderF.checked){
		params+='&gender=F';
	}
	if(ageFrom.value!=""){ 
		if (numRegExp.test(ageFrom.value)){
			params+='&ageFrom=' + ageFrom.value;
		}		
	}	
	if (ageTo.value!=""){
		if (numRegExp.test(ageTo.value)){
			params+='&ageTo=' + ageTo.value;
		}
	}
	if(dateBirthFrom.value!=""){
		params+='&dateBirthFrom=' + dateBirthFrom.value;
	}
	if (dateBirthTo.value!=""){
		params+='&dateBirthTo=' + dateBirthTo.value;
	}
		
	params+='&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	saveFilterRequest.send(params);
}
applyCommunityDetailFilter = function(pageType){
	var params = '';
	var dateSignFrom = $('date1');
	var dateSignTo = $('date2');
	
	var mob = $('mob');
	var sub = $('com');
	
	var filter_phone = $('frmphone');
	var filter_zip = $('frmzip');
	var filter_city = $('frmcity');
	var filter_state = $('frmstate');
	
	var genderM = $('genderM');
	var genderF = $('genderF');
	
	var ageFrom= $('frmage');
	var ageTo = $('frmage2');
 	
	var dateBirthFrom = $('date3');
	var dateBirthTo = $('date4');
	
	params+='applyFilter=1&pageType='+pageType;
	
	if(dateSignFrom.value!="" && dateSignTo.value!=""){
		params+='&dateSignUpFrom='+dateSignFrom.value;	
		params+='&dateSignUpTo='+dateSignTo.value;
	}
	if (!($('all').checked)){
		if (!((mob.checked) && (sub.checked))){
			if (mob.checked){
				params+='&subsc=mobile';
			}
			if (sub.checked){
				params+='&subsc=subscriber';
			}
		}
	}
	
	if (filter_phone.value!=""){
		params+='&phone='+escapePlus(filter_phone.value);
	}
	
	if (filter_zip.value!=""){
		params+='&zip='+escapePlus(filter_zip.value);
	}
	if (filter_city.value!=""){
		params+='&city='+escapePlus(filter_city.value);
	}
	if (filter_state.value!=""){
		params+='&state='+escapePlus(filter_state.value);
	}
	if (genderM.checked){
		params+='&gender=M';	
	}
	if (genderF.checked){
		params+='&gender=F';
	}
	if(ageFrom.value!=""){
		if (numRegExp.test(ageFrom.value)){
			params+='&ageFrom=' + ageFrom.value;
		}		
	}
	if (ageTo.value!=""){
		if (numRegExp.test(ageTo.value)){
			params+='&ageTo=' + ageTo.value;
		}
	}
	if(dateBirthFrom.value!=""){
		params+='&dateBirthFrom=' + dateBirthFrom.value;
	}
	if (dateBirthTo.value!=""){
		params+='&dateBirthTo=' + dateBirthTo.value;
	}
	
	params += '&random='+$random(-1000,1000);
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}

saveMembersFilter = function(pageType,communites){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params = '';
	var tableView = $('frmviewtype_table');
	var listView = $('frmviewtype_list');
	
	var dateSignFrom = $('date1');
	var dateSignTo = $('date2');
	
	var mob = $('mob');
	var subsc = $('subsc');
	
	var filter_lastN = $('frmlastname');
	var filter_firstN = $('frmfirstname');
	
	var email = $('frmemail');
	var mobileStatus = $('mobile_status');
	var mobileCarrier = $('mobile_carrier');
	
	var filter_phone = $('frmphone');
	var filter_zip = $('frmzip');
	var filter_city = $('frmcity');
	var filter_state = $('frmstate');
	
	var genderM = $('genderM');
	var genderF = $('genderF');
	var genderAll = $('genderAll');
	
	var ageFrom= $('frmage');
	var ageTo = $('frmage2');
 	
	var dateBirthFrom = $('date3');
	var dateBirthTo = $('date4');
	
	var distance = $('frm_distance');
	var distanceZip = $('frm_distancezip');
	
	params+='saveFilter=1&pageType='+pageType;
	
	if(tableView.checked){
		params+='&type=table';
	}
	if(listView.checked){
		params+='&type=list';
	}
	if($('filter_datepreset').options[0].selected == true && dateSignFrom.value=="MM/DD/YYYY" && dateSignTo.value=="MM/DD/YYYY"){
		params+='&dateNone=None';
	}else{
		if(dateSignFrom.value!="" && dateSignFrom.value!="MM/DD/YYYY"){
			params+='&dateSignUpFrom='+dateSignFrom.value;
		}
		if ( dateSignTo.value!="" && dateSignTo.value!="MM/DD/YYYY"){
			params+='&dateSignUpTo='+dateSignTo.value;
		}
	}
	
	if (mob.checked){
		params+='&mob=mobile';
	}
	if (subsc.checked){
		params+='&subsc=subscriber';
	}
	
	if (filter_lastN.value!=""){
		params+='&lastName='+escapePlus(filter_lastN.value);
	}
	if (filter_firstN.value!=""){
		params+='&firstName='+escapePlus(filter_firstN.value);
	}
	
	if (filter_phone.value!=""){
		params+='&phone='+escapePlus(filter_phone.value);
	}
	
	if (filter_zip.value!=""){
		params+='&zip='+escapePlus(filter_zip.value);
	}
	if (filter_city.value!=""){
		params+='&city='+escapePlus(filter_city.value);
	}
	if (filter_state.value!=""){
		params+='&state='+escapePlus(filter_state.value);
	}
	if (genderM.checked){
		params+='&gender=M';	
	}
	if (genderF.checked){
		params+='&gender=F';
	}/*
	if (genderAll.checked){
		params+='&gender=M';
		params+='&gender=F';
	}*/
	if(ageFrom.value!=""){
		if (numRegExp.test(ageFrom.value)){
			params+='&ageFrom=' + ageFrom.value;
		}		
	}
	if (ageTo.value!=""){
		if (numRegExp.test(ageTo.value)){
			params+='&ageTo=' + ageTo.value;
		}
	} 
	if(dateBirthFrom.value!=""){
		params+='&dateBirthFrom=' + dateBirthFrom.value;	
		
	}
	if (dateBirthTo.value!=""){
		params+='&dateBirthTo=' + dateBirthTo.value;
	}
	if(distance.value!="" && distanceZip.value!="")
	{
		params+='&distance=' + escapePlus(distance.value);
		params+='&distanceZip=' + escapePlus(distanceZip.value);
	}
	if(email.value!=""){
		params+='&email=' + email.value;	
	}
	if (mobileStatus.value != "-1"){
		params+='&mobileStatus=' + mobileStatus.value;
	}
	if (mobileCarrier.value != "-1"){
		params+='&mobileCarrierId=' + mobileCarrier.value;
		params+='&mobileCarrierName=' + escapePlus(mobileCarrier.options[mobileCarrier.selectedIndex].text);
	}
	
	var inputs = document.getElementsByTagName('input');
		
	for (i=0;i<communites.length; i++){
		params += '&keyword_' + i + '=' + communites[i].keyword;
	}
	
	for (i=0;i<inputs.length;i++){
		/*
		if (inputs[i].id.indexOf("keyword_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				params+='&'+chName+'='+inputs[i].value;
			}
		}
		*/
		if  (inputs[i].id.indexOf("interestofmember_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				params+='&'+chName+'='+inputs[i].value;
			}
		}
	}
	
	params+='&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	
	if(distance.value!="" && distanceZip.value!=""){
		checkZipRequest.send("checkZip=1&distanceZIP="+escapePlus(distanceZip.value));
	}else{
		saveFilterRequest.send(params);
	}
	
	checkZipRequest.onSuccess = function(responseText,responseXML){
		restartProviderSession();
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			//alert(params);
			saveFilterRequest.send(params);
		}
		if (response.res == 0){
			Popup.show(null, {size:'short', modal:true, wtitle:'Confirmation'});
			var sample5 = new Element('div', {
				'id':'popup_confirm',
				'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgquestion">No such Zip</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left"/></div>'
			}).injectInside('PopupContent');
			$('msg_ok').addEvent('click', function(){
				Popup.hide();   
			});
		}
	}
}

applyMembersFilter = function(pageType, communites){
	var dateErrors = [];
	setIfNone('filter_datepreset','date1', 'date2');
	setIfNone('filter_datepreset','date2', 'date1');
	dateValidation('date1', dateErrors);
	dateValidation('date2', dateErrors);

	if(dateErrors.length != 0){
		var htmlErrors = '';
		for(var i = 0; i < dateErrors.length; i++){
			htmlErrors += dateErrors[i] + '<br/>';
		}
		$('date_error').innerHTML = htmlErrors;
		$('date_error').style.display = 'block';
		return false;
	}else{
		$('date_error').innerHTML = '';
		$('date_error').style.display = 'none';
		$('date1').style.color = '#000000';
		$('date2').style.color = '#000000';
	
		var params = '';
		var	tableView = $('frmviewtype_table');
		var listView = $('frmviewtype_list');
	
		var dateSignFrom = $('date1');
		var	dateSignTo = $('date2');
	
		var mob = $('mob');
		var subsc = $('subsc');
	
		var filter_lastN = $('frmlastname');
		var filter_firstN = $('frmfirstname');
	
		var email = $('frmemail');
		var mobileStatus = $('mobile_status');
		var mobileCarrier = $('mobile_carrier');
	
		var filter_phone = $('frmphone');
		var filter_zip = $('frmzip');
		var filter_city = $('frmcity');
		var filter_state = $('frmstate');
	
		var genderM = $('genderM');
		var genderF = $('genderF');
		var genderAll = $('genderAll');
	
		var ageFrom= $('frmage');
		var ageTo = $('frmage2');
 	
		var dateBirthFrom = $('date3');
		var dateBirthTo = $('date4');
	
		var distance = $('frm_distance');
		var distanceZip = $('frm_distancezip');
	
		params+='applyFilter=1&pageType='+pageType;
	
		if(tableView.checked){
			params+='&type=table';
		}
		if(listView.checked){
			params+='&type=list';
		}
		if (!( $('filter_datepreset').options[0].selected)){
			if(dateSignFrom.value!="" && dateSignFrom.value!="MM/DD/YYYY"){
				params+='&dateSignUpFrom='+dateSignFrom.value;				
			}
			if (dateSignTo.value!="" &&  dateSignTo.value!="MM/DD/YYYY"){
				params+='&dateSignUpTo='+dateSignTo.value;
			}
		}
		if (mob.checked){
			params+='&mob=mobile';
		}
		if (subsc.checked){
			params+='&subsc=subscriber';
		}
	
		if (filter_lastN.value!=""){
			params+='&lastName='+escapePlus(filter_lastN.value);
		}
		if (filter_firstN.value!=""){
			params+='&firstName='+escapePlus(filter_firstN.value);
		}
		if (filter_phone.value!=""){
			params+='&phone='+escapePlus(filter_phone.value);
		}
		if (filter_zip.value!=""){
			params+='&zip='+escapePlus(filter_zip.value);
		}
		if (filter_city.value!=""){
			params+='&city='+escapePlus(filter_city.value);
		}
		if (filter_state.value!=""){
			params+='&state='+escapePlus(filter_state.value);
		}
		if (genderM.checked){
			params+='&gender=M';	
		}
		if (genderF.checked){
			params+='&gender=F';
		}/*
		if (genderAll.checked){
			params+='&gender=M';
			params+='&gender=F';
		}*/
		if(ageFrom.value!="" ){
			if (numRegExp.test(ageFrom.value)){
				params+='&ageFrom=' + ageFrom.value;
			}
		}	
		if (ageTo.value!=""){
			if (numRegExp.test(ageTo.value)){
				params+='&ageTo=' + ageTo.value;
			}
		}
		if(dateBirthFrom.value!="" ){
			params+='&dateBirthFrom=' + dateBirthFrom.value;
		}
		if (dateBirthTo.value!=""){
			params+='&dateBirthTo=' + dateBirthTo.value;
		}
		if(distance.value!="" && distanceZip.value!=""){
			
			params+='&distance=' + escapePlus(distance.value);
			params+='&distanceZip=' + escapePlus(distanceZip.value);
		}
		if(email.value!=""){
			params+='&email=' + email.value;	
		}
		if (mobileStatus.value != "-1"){
			params+='&mobileStatus=' + mobileStatus.value;
		}
		if (mobileCarrier.value != "-1"){
			params+='&mobileCarrierId=' + mobileCarrier.value;
			params+='&mobileCarrierName=' + escapePlus(mobileCarrier.options[mobileCarrier.selectedIndex].text);
		}	
		var inputs = document.getElementsByTagName('input');
	
		for (i=0;i<communites.length; i++){
			params += '&keyword_' + i + '=' + communites[i].keyword;
		}
	
		for (i=0;i<inputs.length;i++){
			/*
			if (inputs[i].id.indexOf("keyword_")!=-1){
				var chName = inputs[i].id;
				if (inputs[i].checked){
					params+='&'+chName+'='+inputs[i].value;
				}
			}*/
			if  (inputs[i].id.indexOf("interestofmember_")!=-1){
				var chName = inputs[i].id;
				if (inputs[i].checked){
					params+='&'+chName+'='+inputs[i].value;
				}
			}
		}
		params += '&random='+$random(-1000,1000);
		if(distance.value!="" && distanceZip.value!=""){
			checkZipRequest.send("checkZip=1&distanceZIP="+escapePlus(distanceZip.value));
		}else{
			showUpdateStatusPopup();
			applyFilterRequest.send(params);
		}
	
		checkZipRequest.onSuccess = function(responseText,responseXML){
			restartProviderSession();
			var response = eval('(' +  responseText + ')');
			if (response.res == 1){
				showUpdateStatusPopup();
				applyFilterRequest.send(params);
			}
			if (response.res == 0){
				Popup.show(null, {size:'short', modal:true, wtitle:'Confirmation'});
				var sample5 = new Element('div', {
					'id':'popup_confirm',
					'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgquestion">No such Zip</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left"/></div>'
				}).injectInside('PopupContent');
				$('msg_ok').addEvent('click', function(){
					Popup.hide();   
				});
			}
		}
	}
}

applyInboxFilter = function(pageType){
	var dateErrors = [];
	setIfNone('filter_datepreset','date1', 'date2');
	setIfNone('filter_datepreset','date2', 'date1');
	dateValidation('date1', dateErrors);
	dateValidation('date2', dateErrors);

	if(dateErrors.length != 0){
		var htmlErrors = '';
		for(var i = 0; i < dateErrors.length; i++){
			htmlErrors += dateErrors[i] + '<br/>';
		}
		$('date_error').innerHTML = htmlErrors;
		$('date_error').style.display = 'block';
		return false;
	}else{
		$('date_error').innerHTML = '';
		$('date_error').style.display = 'none';
		$('date1').style.color = '#000000';
		$('date2').style.color = '#000000';
	
		var params = '';
		params+='applyFilter=1&pageType='+pageType;
	
		var statR = $('statusR');
		var	statUn = $('statusUn');
	
		var dateFrom = $('date1');
		var dateTo = $('date2');
	
		var phone = $('frmphone'); 
		var msg = $('frmfiltermessage');
	
		if (statR.checked){
			params+='&status=1';
		}
		if (statUn.checked){
			params+='&status=0';	
		}
		if(!($('filter_datepreset').options[0].selected == true)){
			if(dateFrom.value!="" && dateFrom.value!="MM/DD/YYYY"){
				params+='&dateFrom=' + dateFrom.value;				
			}
			if (dateTo.value!=""  && dateTo.value!="MM/DD/YYYY"){
				params+='&dateTo=' + dateTo.value;
			}
		}
		var campaignId = $('filter_campaign');
		var campaignName = $('filter_campaign_name');
		var isKeyCh = false;
		//if (campaignId.value!="-1" && campaignName.value!=""){
		
		isKeyCh = isKeywordChecked();
		
		if (isKeyCh){
			var inputs = document.getElementsByTagName('input');
			for (i=0;i<inputs.length;i++){
				if (inputs[i].id.indexOf("keyword_")!=-1){
					var chName = inputs[i].id;
					if (inputs[i].checked){
						params+='&'+chName+'='+inputs[i].value;
					}
				}
			}
		}else{
			if (campaignId.value!="-1" && campaignName.value!=""){
				params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
			}
		}
	//}
		if (phone.value!=""){
			params+='&phone='+ escapePlus(phone.value);
		}
		if(msg.value!=""){
			params+='&msg='+ escapePlus(msg.value);
		}
		params += '&random='+$random(-1000,1000);
		showUpdateStatusPopup();
		applyFilterRequest.send(params);
	}
}

isKeywordChecked = function(){
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){
		if (inputs[i].id.indexOf("keyword_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				return true;
			}
		}
	}
	return false;
}

saveInboxFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params = '';
	
	params+='saveFilter=1&pageType='+pageType;
	
	var statR = $('statusR');
	var statUn = $('statusUn');
	
	var dateFrom = $('date1');
	var dateTo = $('date2');
	
	var phone = $('frmphone'); 
	var msg = $('frmfiltermessage');
	
	if (statR.checked){
		params+='&status=1';
	}
	if (statUn.checked){
		params+='&status=0';	
	}
	if($('filter_datepreset').options[0].selected == true && dateFrom.value=="MM/DD/YYYY" && dateTo.value=="MM/DD/YYYY"){
		params+='&dateNone=None';
	}else{
		if(dateFrom.value!="" && dateFrom.value!="MM/DD/YYYY"){
			params+='&dateFrom='+dateFrom.value;
		}
		if(dateTo.value!="" && dateTo.value!="MM/DD/YYYY"){	
			params+='&dateTo='+dateTo.value;
		}
	}
	
	var campaignId = $('filter_campaign');
	var campaignName = $('filter_campaign_name');
	var isKeyCh = false;
	//if (campaignId.value!="-1" && campaignName.value!=""){
		//var allK = $('allKeywords');
	//isKeyCh = isKeywordChecked();
	//if (isKeyCh){
		var inputs = document.getElementsByTagName('input');
		for (i=0;i<inputs.length;i++){
			if (inputs[i].id.indexOf("keyword_")!=-1){
				var chName = inputs[i].id;
				if (inputs[i].checked){
					params+='&'+chName+'='+inputs[i].value;
				}
			}
		}
	//}else{
		if (campaignId.value!="-1" && campaignName.value!=""){
			params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
		}
	//}
	//}
	
	if (phone.value!=""){
		params+='&phone='+ escapePlus(phone.value);
	}
	if(msg.value!=""){
		params+='&msg='+escapePlus(msg.value);
	}
	params+='&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	saveFilterRequest.send(params);
}

applyInterestsFilter = function(pageType){
	var dateErrors = [];
	setIfNone('filter_datepreset','date1', 'date2');
	setIfNone('filter_datepreset','date2', 'date1');
	dateValidation('date1', dateErrors);
	dateValidation('date2', dateErrors);

	if(dateErrors.length != 0){
		var htmlErrors = '';
		for(var i = 0; i < dateErrors.length; i++){
			htmlErrors += dateErrors[i] + '<br/>';
		}
		$('date_error').innerHTML = htmlErrors;
		$('date_error').style.display = 'block';
		return false;
	
	}else{
		$('date_error').innerHTML = '';
		$('date_error').style.display = 'none';
		$('date1').style.color = '#000000';
		$('date2').style.color = '#000000';
	
		var params = '';
		params+='applyFilter=1&pageType='+pageType;
	
		var dateFrom = $('date1');
		var dateTo = $('date2');
	
		var phone = $('frmphone'); 
		var zip = $('frmfilterzip');
	
		var fname = $('frmfilterfname');
		var lname = $('frmfilterlname');
		
		if (!( $('filter_datepreset').options[0].selected)){
			if(dateFrom.value!="" && dateFrom.value!="MM/DD/YYYY"){
				params+='&dateFrom='+dateFrom.value;
			}
			if(dateTo.value!="" && dateTo.value!="MM/DD/YYYY"){	
				params+='&dateTo='+dateTo.value;
			}
		}
		//if(dateFrom.value!="" && dateTo.value!="" && dateFrom.value!="MM/DD/YYYY" && dateTo.value!="MM/DD/YYYY"){
		//	params+='&dateFrom=' + dateFrom.value;
		//	params+='&dateTo=' + dateTo.value;
		//}
		if (phone.value!=""){
			params += '&phone=' + escapePlus(phone.value);
		}
		if (zip.value!=""){
			params += '&zip=' + escapePlus(zip.value);
		}
		if (fname.value!=""){
			params += '&fname=' + escapePlus(fname.value);
		}
		if (lname.value!=""){
			params += '&lname=' + escapePlus(lname.value);
		}
		params += '&random='+$random(-1000,1000);
		showUpdateStatusPopup();
		applyFilterRequest.send(params);
	}
}

saveInterestsFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params = '';
	params+='saveFilter=1&pageType='+pageType;
		
	var dateFrom = $('date1');
	var dateTo = $('date2');
	
	var phone = $('frmphone'); 
	var zip = $('frmfilterzip');
	
	var fname = $('frmfilterfname');
	var lname = $('frmfilterlname');
	
	if($('filter_datepreset').options[0].selected == true && dateFrom.value=="MM/DD/YYYY" && dateTo.value=="MM/DD/YYYY"){
		params+='&dateNone=None';
	}else{
		if(dateFrom.value!="" && dateFrom.value!="MM/DD/YYYY"){
			params+='&dateFrom='+dateFrom.value;
		}
		if(dateTo.value!="" && dateTo.value!="MM/DD/YYYY"){	
			params+='&dateTo='+dateTo.value;
		}
	}
	if (phone.value!=""){
		params += '&phone=' + escapePlus(phone.value);
	}
	if (zip.value!=""){
		params += '&zip=' + escapePlus(zip.value);
	}
	if (fname.value!=""){
		params += '&fname=' + escapePlus(fname.value);
	}
	if (lname.value!=""){
		params += '&lname=' + escapePlus(lname.value);
	}
	params+='&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	saveFilterRequest.send(params);
}
saveMessagesFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params ='';
	var all = $('allStat');
	var statusPen = $('statPen');
	var statusProc = $('statProc');
	var statusSent = $('statSent');
	var statusShed = $('statShed');
	
	var dateFrom = $('date1');
	var dateTo = $('date2');
	
	var msg = $('frmfiltermessage');
	var title = $('frmfiltertitle');
	params+='saveFilter=1&pageType='+pageType;
	
	if(!(all.checked)){
		if (!((statusPen.checked) && (statusProc.checked) && statusSent.checked && statusShed.checked)){
			if (statusPen.checked){
				params+='&status_1=Pen';
			}
			if (statusProc.checked){
				params+='&status_2=P';
			}
			if (statusSent.checked){
				params+='&status_3=S';
			}
			if (statusShed.checked){
				params+='&status_4=Q';
			}
		}else{
			params+='&statusAll=All';
		}
	}else{
		params+='&statusAll=All';
	}
	
	if($('filter_datepreset').options[0].selected == true && dateFrom.value=="MM/DD/YYYY" && dateTo.value=="MM/DD/YYYY"){
		params+='&dateNone=None';
	}else{
		if(dateFrom.value!="" && dateFrom.value!="MM/DD/YYYY"){
			params+='&dateFrom='+dateFrom.value;
		}
		if(dateTo.value!="" && dateTo.value!="MM/DD/YYYY"){	
			params+='&dateTo='+dateTo.value;
		}
	}
	if(msg.value!=""){
		params+='&msg='+escapePlus(msg.value);
	}
	if(title.value!=""){
		params+='&title='+escapePlus(title.value);
	}
	
	var campaignId = $('filter_campaign');
	var campaignName = $('filter_campaign_name');
	var isKeyCh = false;

	var allK = $('allKeywords');
	if (allK.checked){
		params+='&allKeywords=1';
	}
	isKeyCh = isKeywordChecked();
	
	//if (isKeyCh){
		var inputs = document.getElementsByTagName('input');
		for (i=0;i<inputs.length;i++){
			if (inputs[i].id.indexOf("keyword_")!=-1){
				var chName = inputs[i].id;
				if (inputs[i].checked){
					params+='&'+chName+'='+inputs[i].value;
				}
			}
		}
	//}else{
		if (campaignId.value!="-1" && campaignName.value!=""){
			params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
		}
	//}
	
	params += '&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	
	saveFilterRequest.send(params);
}

dateValidationOnBlur = function(obj1, obj2, selName){	
	var dateErrors = [];
	setIfNone(selName, obj1, obj2);
	setIfNone(selName, obj2, obj1);
	dateValidation(obj1, dateErrors);
	dateValidation(obj2, dateErrors);
	if(dateErrors.length != 0){
		var htmlErrors = '';
		for(var i = 0; i < dateErrors.length; i++){
			htmlErrors += dateErrors[i] + '<br/>';
		}
		$('date_error').innerHTML = htmlErrors;
		$('date_error').style.display = 'block';
	
	}else{
		$('date_error').innerHTML = '';
		$('date_error').style.display = 'none';
		$(obj1).style.color = '#000000';
		$(obj2).style.color = '#000000';
	}
}
dateValidation = function(obj1,errors){
	//var errors = [];
	var txt = '';
	if (obj1 == "date1"){
		txt = 'date from';
	}
	if (obj1 == "date2"){
		txt = 'date to';	
	}
	
	var dateVal1 = $(obj1).value; 
	
	if(dateVal1 == "MM/DD/YYYY"){
		$(obj1).style.color = '#000000';
	}else{
		if((dateVal1.indexOf("M")!=-1 || dateVal1.indexOf("D")!=-1 || dateVal1.indexOf("Y")!=-1)){
			errors.push("Invalid " + txt + ". Date must be completely defined.");
			$(obj1).style.color = '#D12429';
		}else{
			var m1 = parseInt(dateVal1.substring(0,2),10);
			var d1 = parseInt(dateVal1.substring(3,5),10);
			if (m1 <1 ||  m1>12 ||  d1<1 ||  d1>31 ){
				errors.push("Invalid " + txt + ". Month number must be from '1..12' range and day number must be from '1..31' range.");
				$(obj1).style.color = '#D12429';
			}else{
				$(obj1).style.color = '#000000';
			}
		}			
	}		
}

dateValidationContestKeyword = function(obj1, errors){
	var txt = '';
	if (obj1 == "frm_contest_startdate"){
		txt = 'start date';
	}
	if(obj1 == "frm_contest_enddate"){
		txt = 'end date';
	}
	var dateVal1 = $(obj1).value; 
	
	if((dateVal1.indexOf("M")!=-1 || dateVal1.indexOf("D")!=-1 || dateVal1.indexOf("Y")!=-1)){
		errors.push("Invalid " + txt + ". Date must be completely defined.");
		return null;
	}else{
		var m1 = parseInt(dateVal1.substring(0,2),10);
		var d1 = parseInt(dateVal1.substring(3,5),10);
		if (m1 <1 ||  m1>12 ||  d1<1 ||  d1>31 ){
			errors.push("Invalid " + txt + ". Month number must be from '1..12' range and day number must be from '1..31' range.");
			return null;
		}
	}
	
	var valueToParse = $(obj1).value;
	var dateArray = valueToParse.split('/');//mm dd yyyy
	var hour = $('startHour').value;
	var minute = $('startMinute').value;
	var meridian = $('startPeriod').value;
	
	hour = timeHourConvertor(hour, meridian);
	var date = new Date(dateArray[2], dateArray[0], dateArray[1], hour, minute, 0, 0);
	return date;
}

timeHourConvertor = function(hour, meridian){
	if (hour == '12' && meridian.toLowerCase() == 'am') {
		hour = '00';
	}
	
	if (meridian.toLowerCase() == 'pm') {
		if (hour == '01') {
			hour = '13';
		} else if (hour == '02') {
			hour = '14';
		} else if (hour == '03') {
			hour = '15';
		} else if (hour == '04') {
			hour = '16';
		} else if (hour == '05') {
			hour = '17';
		} else if (hour == '06') {
			hour = '18';
		} else if (hour == '07') {
			hour = '19';
		} else if (hour == '08') {
			hour = '20';
		} else if (hour == '09') {
			hour = '21';
		} else if (hour == '10') {
			hour = '22';
		} else if (hour == '11') {
			hour = '23';
		}
	}
	
	return hour;
}

applyMessagesFilter = function(pageType,numKeywords){

	var dateErrors = [];
	setIfNone('filter_datepreset','date1', 'date2');
	setIfNone('filter_datepreset','date2', 'date1');
	dateValidation('date1', dateErrors);
	dateValidation('date2', dateErrors);

	if(dateErrors.length != 0){
		var htmlErrors = '';
		for(var i = 0; i < dateErrors.length; i++){
			htmlErrors += dateErrors[i] + '<br/>';
		}
		$('date_error').innerHTML = htmlErrors;
		$('date_error').style.display = 'block';
		return false;
	}else{
		$('date_error').innerHTML = '';
		$('date_error').style.display = 'none';
		$('date1').style.color = '#000000';
		$('date2').style.color = '#000000';
		
		var params ='';
		var all = $('allStat');
		var statusPen = $('statPen');
		var statusProc = $('statProc');
		var statusSent = $('statSent');
		var statusShed = $('statShed');
	
		var dateFrom = $('date1');
		var dateTo = $('date2');
	
		var msg = $('frmfiltermessage');
		var title = $('frmfiltertitle');
		params+='applyFilter=1&pageType='+pageType;
	
		if(!(all.checked)){
			if (!((statusPen.checked) && (statusProc.checked) && (statusSent.checked) && statusShed.checked )){
				if (statusPen.checked){
					params+='&status_1=Pen';
				}
				if (statusProc.checked){
					params+='&status_2=P';	
				}
				if (statusSent.checked){
					params+='&status_3=S';	
				}
				if (statusShed.checked){
					params+='&status_4=Q';
				}
			}
		}
		if (!( $('filter_datepreset').options[0].selected)){
			if(dateFrom.value!="" && dateFrom.value!="MM/DD/YYYY"){
				params+='&dateFrom='+dateFrom.value;
			}
			if(dateTo.value!="" && dateTo.value!="MM/DD/YYYY"){	
				params+='&dateTo='+dateTo.value;
			}
		}
		if(msg.value!=""){
			params+='&msg='+escapePlus(msg.value);
		}
		if(title.value!=""){
			params+='&title='+escapePlus(title.value);
		}
	
		var campaignId = $('filter_campaign');
		var campaignName = $('filter_campaign_name');
		var isKeyCh = false;
		//if (campaignId.value!="-1" && campaignName.value!=""){
		
		isKeyCh = isKeywordChecked();
		if (isKeyCh){
			var inputs = document.getElementsByTagName('input');
			for (i=0;i<inputs.length;i++){
				if (inputs[i].id.indexOf("keyword_")!=-1){
					var chName = inputs[i].id;
					if (inputs[i].checked){
						params+='&'+chName+'='+inputs[i].value;
					}
				}
			}
		}else{
			if (campaignId.value!="-1" && campaignName.value!=""){
				params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
			}
		}
	//}
	
		params += '&random='+$random(-1000,1000);
		showUpdateStatusPopup();
		if (pageType == 'MES_CAS'){
			$('messagesDivTable').load('messagesTableCassandraLoading?random='+$random(-1000,1000));
		}
		applyFilterRequest.send(params);
	}
}
applyKeywordsFilter = function(pageType){
	var params ='';
	
	params += 'applyFilter=1&pageType='+pageType;
	
	
	if ($('frmfilterkeyword').value!=""){
		params += '&keyword=' + escapePlus($('frmfilterkeyword').value);
	}
	if ($('frmfiltershortcode').value!=""){
		params += '&shortcode=' + escapePlus($('frmfiltershortcode').value);
	}
	var types = document.getElementsByTagName('input');
	for (i=0;i<types.length;i++){
		if (types[i].id.indexOf("keyType_")!=-1){
			var chName = types[i].id;
			if (types[i].checked){
				params+='&'+chName+'='+types[i].value;
			}
		}
	}
	if ($('frmkeywordstatus1').checked){
		params += '&keywordStatusAll=All';
	}
	if ($('frmkeywordstatus2').checked){
		params += '&keywordStatus=1';
	}
	if ($('frmkeywordstatus3').checked){
		params += '&keywordStatus=0';
	}
	
	var campaignId = $('filter_campaign');
	var campaignName = $('filter_campaign_name');
	
	if (campaignId.value!='' && campaignName.value!=''){
		params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
	}
	
	params += '&random='+$random(-1000,1000);
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}

applyKeywordsFilterPageNum = function(pageType,pageNum){
	var params ='';
	
	params += 'applyFilter=1&pageType='+pageType;
	
	
	if ($('frmfilterkeyword').value!=""){
		params += '&keyword=' + escapePlus($('frmfilterkeyword').value);
	}
	if ($('frmfiltershortcode').value!=""){
		params += '&shortcode=' + escapePlus($('frmfiltershortcode').value);
	}
	var types = document.getElementsByTagName('input');
	for (i=0;i<types.length;i++){
		if (types[i].id.indexOf("keyType_")!=-1){
			var chName = types[i].id;
			if (types[i].checked){
				params+='&'+chName+'='+types[i].value;
			}
		}
	}
	if ($('frmkeywordstatus1').checked){
		params += '&keywordStatusAll=All';
	}
	if ($('frmkeywordstatus2').checked){
		params += '&keywordStatus=1';
	}
	if ($('frmkeywordstatus3').checked){
		params += '&keywordStatus=0';
	}
	
	var campaignId = $('filter_campaign');
	var campaignName = $('filter_campaign_name');
	
	if (campaignId.value!='' && campaignName.value!=''){
		params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
	}
	params += '&curPage=' + pageNum;
	params += '&random=' + $random(-1000,1000);
	showUpdateStatusPopup();
	applyFilterRequestPageNum.send(params);
}
saveKeywordsFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params ='';
		
	params += 'saveFilter=1&pageType='+pageType;
	
	if ($('frmfilterkeyword').value!=""){
		params += '&keyword=' + escapePlus($('frmfilterkeyword').value);
	}
	if ($('frmfiltershortcode').value!=""){
		params += '&shortcode=' + escapePlus($('frmfiltershortcode').value);
	}
	var types = document.getElementsByTagName('input');
	for (i=0;i<types.length;i++){
		if (types[i].id.indexOf("keyType_")!=-1){
			var chName = types[i].id;
			if (types[i].checked){
				params+='&'+chName+'='+types[i].value;
			}
		}
	}
	if ($('frmkeywordstatus1').checked){
		params += '&keywordStatusAll=All';
	}
	if ($('frmkeywordstatus2').checked){
		params += '&keywordStatus=1';
	}
	if ($('frmkeywordstatus3').checked){
		params += '&keywordStatus=0';
	}
	var campaignId = $('filter_campaign');
	var campaignName = $('filter_campaign_name');
	
	if (campaignId.value!='' && campaignName.value!=''){
		params+='&campaignName='+ escapePlus(campaignName.value) + '&campaignId=' + campaignId.value;
	}
	params += '&titleF='+ escapePlus(document.getElementById('filterName').value);
	params += '&random='+$random(-1000,1000);
	
	saveFilterRequest.send(params);
}
getExportDataF = function(pageType, formatType, idName){
	
	var numValue = $(idName).innerHTML;
	var posEnd = numValue.indexOf(" ");
	if (posEnd>-1){
		var num = numValue.substring(0, posEnd);
		if (num > 100000){
			alertPopupGenerator("The dataset you are requesting exceeds the maximum allowed size of 100000 records. Please narrow down your query and try again.");
			return;
		}
	}
	
	var sort;
	if( $('sort_asc0').checked){
		sort = 'ASC';	
	}
	if( $('sort_desc0').checked){
		sort = 'DESC';
	}
	window.location = 'getExportData?pageType='+pageType+'&formatType='+formatType+'&orderBy=' + $('field0').value + '&sort='+sort;
}

getExportDataCas = function(pageType, formatType){
	if ($('messagesDivTable').className == "tabcontent"){
		getExportDataFCas(pageType, formatType, 'resMessagesTotalCassandra');		
	}
	if ($('messagesDivNotCasTable').className == "tabcontent"){		
		getExportDataFNotCas(pageType, formatType,'resMessagesTotalNotCassandra');		
	}	
}

getExportDataFCas = function(pageType, formatType, idName){
	
	var numValue = $(idName).innerHTML;
	var posStart = numValue.indexOf("Sent Messages (");
	var posEnd = numValue.indexOf(")");
	if (posStart>-1 && posEnd>-1){
		var num = numValue.substring(posStart, posEnd);
		if (num > 100000){
			alertPopupGenerator("The dataset you are requesting exceeds the maximum allowed size of 100000 records. Please narrow down your query and try again.");
			return;
		}
	}
	
	var sort;
	if( $('sort_asc0').checked){
		sort = 'ASC';	
	}
	if( $('sort_desc0').checked){
		sort = 'DESC';
	}
	window.location = 'getExportData?pageType='+pageType+'&formatType='+formatType+'&orderBy=' + $('field0').value + '&sort='+sort + '&isCassandraData=1';
}

getExportDataFNotCas = function(pageType, formatType, idName){
	
	var numValue = $(idName).innerHTML;
	var posStart = numValue.indexOf("Scheduled Messages (");
	var posEnd = numValue.indexOf(")");
	if (posStart>-1 && posEnd>-1){
		var num = numValue.substring(posStart, posEnd);
		if (num > 100000){
			alertPopupGenerator("The dataset you are requesting exceeds the maximum allowed size of 100000 records. Please narrow down your query and try again.");
			return;
		}
	}
	
	var sort;
	if( $('sort_asc0nc').checked){
		sort = 'ASC';	
	}
	if( $('sort_desc0nc').checked){
		sort = 'DESC';
	}
	window.location = 'getExportData?pageType='+pageType+'&formatType='+formatType+'&orderBy=' + $('field0nc').value + '&sort='+sort + '&isNotCassandraData=1';
}


getExportDataFPopup = function(pageType,formatType){
	var sort;
	if( $('sort_asc3').checked){
		sort = 'ASC';	
	}
	if( $('sort_desc3').checked){
		sort = 'DESC';
	}
	window.location = 'getExportData?pageType='+pageType+'&formatType='+formatType+'&orderBy=' + $('field3').value + '&sort='+sort;
}
getExportDataInterestF = function(pageType,formatType){
	var sort;
	if( $('sort_asc0').checked){
		sort = 'ASC';	
	}
	if( $('sort_desc0').checked){
		sort = 'DESC';
	}
	window.location = 'getExportData?pageType='+pageType+'&formatType='+formatType+'&orderBy=' + $('field0').value + '&sort='+sort + '&from='+$('hidFrom').value + '&num='+$('hidNum').value + '&interestId='+$('hidIntId').value + '&communityId=' + $('hidComId').value;
}

var getMembersRequest = new Request({method: 'post', url: 'app/memberspagecontroller'});

applyMembersFilterRequest = function() {
	var params = 'getKeywordsForApplyFilter=do';
	getMembersRequest.send(params);
}

saveMembersFilterRequest = function() {
	var params = 'getKeywordsForSaveFilter=do';
	getMembersRequest.send(params);
}

selectKeywordMembers = function() {
	var params = 'keywordsSelect=do';
		params += '&getSortedInterests=do';
	var inputs = document.getElementsByTagName('input');
    for (i=0;i<inputs.length;i++){	
    	if (inputs[i].id == "keyword_all"){
    		inputs[i].checked = false;
    	}
    	else if (inputs[i].id.indexOf("keyword_")!=-1){
    		var chName = inputs[i].value;
    		if (inputs[i].checked == true){
    			params+='&'+chName+'=checked';
    		} else {
    			params+='&'+chName+'=unchecked';
    		}
    	}
    }
	getMembersRequest.send(params);
}

selectAllKeywordsMembers = function() {	
	var params = 'keywordsSelectAll=do';
		params += '&getSortedInterests=do';
	var selectAll = false
    var inputs = document.getElementsByTagName('input');
    for (i=0;i<inputs.length;i++){	
    	if (inputs[i].id == "keyword_all"){
    		if (inputs[i].checked == true){
    			params += '&keyword_select_all=checked';
    			selectAll = true;
    		}
    		else{
    			params += '&keyword_select_all=unchecked';
    			selectAll = false;
    		}
    	}
    	else if (inputs[i].id.indexOf("keyword_")!=-1){
    		if(selectAll == true)
    			inputs[i].checked = true;
    		else 
    			inputs[i].checked = false;
    	}
    }
    getMembersRequest.send(params);
}

deselectAllKeywordsAboveThreshold = function() {	
	var params = 'keywordsDeselectAllAboveThreshold=do';
		params += '&getSortedInterests=do';
    getMembersRequest.send(params);
}

getMembersRequest.onSuccess = function(responseText, responceXML) {
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if(response.res){
		outputSelectedKeywordsCountMembers(response.selectedCounter);
		outputPopupSelectedKeywordsMembersCount(response.keywordsCount, response.predicatedCounter);
		redrawInterestsMembers(response.interests);
	}
	else if(response.filter_save)
		saveMembersFilter(response.pageName, response.communities);
	else if(response.filter_apply)
		applyMembersFilter(response.pageName, response.communities);
}

redrawInterestsMembers = function(interestsList) {
	var interests = '<li class="first"><label class="selectall"><input type="checkbox" class="checkbox" id="allInterests"/><span>Select all</span></label></li>';
	for(var i  = 0; i < interestsList.length; i++){
		var interest = '<li><label><input type="checkbox" class="checkbox" id="interestofmember_' + i + '" name="interestofmember_' + i + '" value="' + interestsList[i].name + '" /><span>'; 
		interest += interestsList[i].name;
		interest += '</span></label></li>';
		interests += interest;
	}
	$('filter_interests').innerHTML = interests;	
	$('allInterests').addEvent('click', function(){
		selectAllInterestsMembers(this);
	});
}

resetKeywords = function() {
	var params = 'reset=do';
	getMembersRequest.send(params);
}

resetSelectKeywordsPopupMembers = function() {
	var params = 'resetPredicates=do';
	getMembersRequest.send(params);
}

getSortedInterestsMembers = function() {
	var params = 'getSortedInterests=do';
	getMembersRequest.send(params);
}

getSortedInterestsKeywordPopupMembers = function() {
	var params = 'validatePredicatedKeywords=do';
		params += '&getSortedInterests=do';
	getMembersRequest.send(params);
}

selectAllKeywordsMembersPopup = function() {
	var selectAll = false;
	var params = 'keywordsSelectAllPredicated=do';
		params += '&getSortedInterests=do';
    var inputs = document.getElementsByTagName('input');
    for (i=0;i<inputs.length;i++){	
    	if (inputs[i].id == "keyword_select_all_popup"){
    		if (inputs[i].checked == true){
    			params += '&keyword_select_all=checked';
    			selectAll = true;
    		}
    		else{
    			params += '&keyword_select_all=unchecked';
    			selectAll = false;
    		}
    	}
    	else if (inputs[i].id.indexOf("keyword_select_popup")!=-1){
    		if(selectAll == true)
    			inputs[i].checked = true;
    		else 
    			inputs[i].checked = false;
    	}
    }
    getMembersRequest.send(params);
}

selectKeywordMembersPopup = function() {
	var params = 'keywordsSelectPredicated=do';
		params += '&getSortedInterests=do';
	var inputs = document.getElementsByTagName('input');
    for (i=0;i<inputs.length;i++){	
    	if (inputs[i].id == "keyword_select_all_popup"){
    		inputs[i].checked = false;
    	}
    	else if (inputs[i].id.indexOf("keyword_select_popup")!=-1){
    		var chName = inputs[i].value;
    		if (inputs[i].checked == true){
    			params+='&'+chName+'=checked';
    		} else {
    			params+='&'+chName+'=unchecked';
    		}
    	}
    }
    getMembersRequest.send(params);
}

var selectInterestSendMessagePopupRequest = new Request({method: 'post', url: 'sendTextMessageController'});
selectInterestSendMessagePopup = function(obj) {
	$('interest_select_all_popup').checked = false;
	var params = 'actionname=setpredicatedinterest';
	params += '&interest=' + escapePlus(obj.value); 
	params += '&value=' + obj.checked;
	selectInterestSendMessagePopupRequest.send(params);
	
	selectInterestSendMessagePopupRequest.onSuccess = function(responseText, responseXML){
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			var htmlString = '<p class="results_total" id="results_total_id">' + response.count_all + ' Interests (' + response.count + ' selected)</p>';
			$('interests_count').innerHTML = htmlString;
		}
	}
    
}
selectAllInterestsSendMessagePopup = function(obj) {
	var inputs = $('intereststable').getElementsByTagName('input');
	for (i=0; i<inputs.length; i++){
		inputs[i].checked = obj.checked ? true : false;
	}
	
	var params = 'actionname=interestsSelectAllPredicated' + '&state=' + obj.checked;
	selectInterestSendMessagePopupRequest.send(params);
	
	selectInterestSendMessagePopupRequest.onSuccess = function(responseText, responseXML){
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			var htmlString = '<p class="results_total" id="results_total_id">' + response.count_all + ' Interests (' + response.count + ' selected)</p>';
			$('interests_count').innerHTML = htmlString;
		}
	}
}
var validateInterestSendMessagePopupRequest = new Request({method: 'post', url: 'sendTextMessageController'});
validatePredicatedInterests = function() {
	var params = 'actionname=validatePredicatedInterests';
	validateInterestSendMessagePopupRequest.send(params);
}
var sendUpdateSelectedInterestsRequest = new Request({method: 'post', url: 'sendTextMessageController'});
validateInterestSendMessagePopupRequest.onSuccess = function(responseText, responseXML){
    var response = eval('(' +  responseText + ')');
	if(response.res){
		var interests = response.interests;
		var selected = interests.length;
		var total = response.total;
		updateInterestsCountHtml(selected, total);
		var interestsNames = '';
		for (var i=0; i < selected; i++){
			interestsNames += ',' + interests[i].name;
		}
		sendUpdateSelectedInterestsRequest.send('actionname=updateselectedinterests&names=' + (interestsNames != '' ? interestsNames.substring(1) : '') + '&selectiontype=' + ($('frm_sendmsg_recip1').checked == true ? "all" : "modify"));
	}
}
sendUpdateSelectedInterestsRequest.onSuccess = function(responseText, responseXML){
	var response = eval('(' +  responseText + ')');
	if(response.res){
		updateRecepientsCountHtml(response.count);
	}
}
updateInterestsCountHtml = function(selected, total){
	var interestshtml = "<p class='frm_sendmsg_p'>" + selected + " Interests selected. <a href='#' id='selectinterests'>Select interests (" + total + " available)</a></p>";
	$('interests_section').innerHTML = interestshtml;
	$('selectinterests').addEvent('click', function(e){
		e.stop();//Cancel click event
		showSelectInterestsPopup();
	});
}

outputPopupSelectedKeywordsMembersCount = function(total, selected) {
	var htmlString = total + ' Keywords ('+selected+' selected)';
	if($('results_total_id'))
		$('results_total_id').innerHTML = htmlString;
}

outputSelectedKeywordsCountMembers = function(selected) {
	var htmlString = selected + ' Keyword filters selected';
	if($('_largeselect_id'))
		$('_largeselect_id').innerHTML = htmlString;
}

selectAllInterestsMembers = function(input){
	var parent = input.getParent('.selectallparent');
	var c = new Array();
	c = parent.getElementsByTagName('input');
	for(i=0; i < c.length; i++){
		if(c[i].type == 'checkbox'){
			if(input.checked){
				c[i].checked = true;
			}else{
				c[i].checked = false;
			}
		}
	}
}

var getInboxesRequest = new Request({method: 'post', url: 'app/inboxpagecontroller'});
var getMessagesRequest = new Request({method: 'post', url: 'app/inboxpagecontroller'});

getkeywordsMessageT = function(value){
	if(selectedCampaign == value){
		return;
	}else{
		selectedCampaign = value;
		getMessagesRequest.send('campaignid=' + value);
	}
	
}

getkeywords = function(value){
	if(selectedCampaign == value){
		return;
	}else{
		selectedCampaign = value;
		getInboxesRequest.send('campaignid=' + value);
	}
	
}

getInboxesRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
    var response = eval('(' +  responseText + ')');
	if(response.res){
		redrawKeywords(response.communities);
		if($$('.selectall input').length > 0){
			selectallbehavior($(document.body));
		}
	}else{
		alert('error');
	}
}

getMessagesRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
    var response = eval('(' +  responseText + ')');
	if(response.res){
		redrawKeywordsMessagesT(response.communities);
		if($$('.selectall input').length > 0){
			selectallbehavior($(document.body));
		}
	}else{
		alert('error');
	}
}

redrawKeywords = function(communities){
	var keywords = '<li class="first"><label class="selectall"><input type="checkbox" class="checkbox" id="allKeywords"/><span>Select all</span></label></li>';
	for(var i  = 0; i < communities.length; i++){
		var keyword = '<li><label><input type="checkbox" class="checkbox" id="keyword_' + i + '" name="keyword_' + i + '" value="' + communities[i].keyword + '" /><span>'; 
		keyword += communities[i].keyword;
		keyword += '</span></label></li>';
		keywords += keyword;
	}
	$('filter_keyword').innerHTML = keywords;
	$('allKeywords').addEvent('click', function(){
		selectAllKeywords(this);
	});
}

redrawKeywordsMessagesT = function(communities){
	var keywords = '<li class="first"><label class="selectall"><input type="checkbox" class="checkbox" id="allKeywords"/><span>Select all</span></label></li>';
	for(var i  = 0; i < communities.length; i++){
		var keyword = '<li><label><input type="checkbox" class="checkbox" id="keyword_' + i + '" name="keyword_' + i + '" value="' + communities[i].id + ',' + communities[i].keyword + '" /><span>'; 
		keyword += communities[i].keyword;
		keyword += '</span></label></li>';
		keywords += keyword;
	}
	$('filter_keyword').innerHTML = keywords;
	$('allKeywords').addEvent('click', function(){
		selectAllKeywords(this);
	});
}

selectAllKeywords = function(input){
	var parent = input.getParent('.selectallparent');
	var c = new Array();
	c = parent.getElementsByTagName('input');
	for(i=0; i < c.length; i++){
		if(c[i].type == 'checkbox'){
			if(input.checked){
				c[i].checked = true;
			}else{
				c[i].checked = false;
			}
		}
	}
}

var setCompanyMsgIdRequest = new Request({method: 'post', url: 'messagesController'});

setMsgId = function(msgId){
	setCompanyMsgIdRequest.send('companyMsgId='+msgId);
}

setShedCasMsgId = function(msgId){
	setCompanyMsgIdRequest.send('companyMsgId=' + msgId + '&shed=1');
}

setCompanyMsgIdRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if(response.res){
		messageDetailsPopup(response.shed);
	}
}
refreshRecentAct = function(){
	var show = $('showA');
	var params = 'recentActivities?random='+$random(-1000,1000);
	if (show.innerHTML=="Show more"){
		params+='&type=more';
	}else{
		params+='&type=less';
	}
	params += '&random=' + $random(-1000,1000);
	$('recentDiv').load(params);
}
//Account//
var changePswRequest = new Request({method: 'post', url: 'accountController'});
var changeAccountRequest = new Request({method: 'post', url: 'accountController'});

passwordValidation = function(){
	var errors = [];
	if(passwordCurrent.value.length!=0 && !(passwordCurrent.value.length >= 6 && passwordCurrent.value.length <= 12)) {errors.push("Current password  must be between 6 and 12 characters.")}
	if(passwordCurrent.value.length!=0 && !(newPassword.value.length >= 6 && newPassword.value.length <= 12)) {errors.push("New password must be between 6 and 12 characters.")}
	if(newPassword.value != newPasswordConfirm.value) {errors.push("Your new passwords do not match.")}
	return errors;
}
changePsw = function(){
	var pswErrors = passwordValidation();
	if(pswErrors.length != 0){
		pswDiv.innerHTML = buildError(pswErrors);
		return false;
	}else{
		var params = '';
		params+='type=changePsw';
		params+='&passwordCurrent=' + escapePlus(passwordCurrent.value);
		params+='&newPassword=' + escapePlus(newPassword.value);
		params+='&newPasswordConfirm=' + escapePlus(newPasswordConfirm.value);
		changePswRequest.send(params);		
	}
}
changePswRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		pswDiv.innerHTML = buildSuccess(response.msg);	
	}
	if (response.res == 0){
		pswDiv.innerHTML = buildError(response.msg);
	}
}
changeAccountRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		accountDiv.innerHTML = buildSuccess(response.msg);	
	}
	if (response.res == 0){
		accountDiv.innerHTML = buildError(response.msg);
	}
}
updateAccount = function(){
	var params = '';
	params+='type=updateAccount';
	params+='&timezone=' + escapePlus(timezone.value);
	changeAccountRequest.send(params);
}
//frm_sendmsg_multiadd frm_sendmsg_multiremove

/*!!!optgroup!!!*/
addSelectedCommunitiesOrCampaign = function(){
	var selAdd = document.getElementById('frm_report_multiadd');
	for (i=0; i< selAdd.options.length; i++){
		if ( selAdd.options[i].selected){
			var tmp = selAdd.options[i].parentNode;
			var newOpt = new Option(htmlSpecialChars(selAdd.options[i].text),selAdd.options[i].value);
			newOpt.innerHTML = htmlSpecialChars(selAdd.options[i].text);
			var elem;
			if (tmp.id=="campaignsAdd"){
				elem = document.getElementById('campaignsRemove');				
			}
			if (tmp.id=="keywordsAdd"){
				elem = document.getElementById('keywordsRemove');				
			}
			if (elem){
				elem.appendChild(newOpt);
			}
			selAdd.options[i] = null;
			i--;
		}
	}
}
removeSelectedCommunitiesOrCampaign = function(){
	var selRem = document.getElementById('frm_report_multiremove');
	for (i=0; i< selRem.options.length; i++){
		if ( selRem.options[i].selected){
			var tmp = selRem.options[i].parentNode;
			var newOpt = new Option(htmlSpecialChars(selRem.options[i].text),selRem.options[i].value);
			newOpt.innerHTML = htmlSpecialChars(selRem.options[i].text);
			var elem;
			if (tmp.id=="campaignsRemove"){
				elem = document.getElementById('campaignsAdd');				
			}
			if (tmp.id=="keywordsRemove"){
				elem = document.getElementById('keywordsAdd');				
			}
			if (elem){
				elem.appendChild(newOpt);
			}
			selRem.options[i] = null;
			i--;
		}
	}
}

///////////////////////

setFrmSendmsgMessage = function(){
	var element = $('frm_sendmsg_message'); 
	if(element.value.length>mlength){
		element.value = element.value.substring(0,mlength);
	}
	if(mlength - element.value.length == 0){
		element.getNext('.charsremain').style.color="red";
	}else{
		element.getNext('.charsremain').style.color="black";
	}
}
///////////////////////

var mlength=160;
var keywordSendMsg = "";
setNumLength = function(keyword,leng){
	var valOfFrmSendmsgMessage = $('frm_sendmsg_message').value;
	if (keyword==""){
		mlength = leng;
		keywordSendMsg = "";
	}else{
		mlength = leng - (keyword.length + 2);
		keywordSendMsg = keyword + ": ";
	}
	var newLeng = mlength - valOfFrmSendmsgMessage.length;
	if (newLeng<0){
		newLeng = 0;
		valOfFrmSendmsgMessage = valOfFrmSendmsgMessage.substring(0,mlength);
	}
	setFrmSendmsgMessage();
	$('chars').set('html', newLeng + " characters remaining");
	$$('#frm_sendmsg_preview .phone_preview_msg p')[0].set('html', keywordSendMsg + valOfFrmSendmsgMessage);
}

setNumLengthMany = function(){	
	var length = 160;	
	for (i=0; i<document.frm_sendmsg.frm_sendmsg_multiremove.length; i++){
		var msg_from_flag = document.frm_sendmsg.frm_sendmsg_multiremove.options[i].value.substring(document.frm_sendmsg.frm_sendmsg_multiremove.options[i].value.indexOf('#')+1, document.frm_sendmsg.frm_sendmsg_multiremove.options[i].value.indexOf('#')+2);
		var max_msg_len = document.frm_sendmsg.frm_sendmsg_multiremove.options[i].value.substring(document.frm_sendmsg.frm_sendmsg_multiremove.options[i].value.indexOf('#')+2);
		
		var txt = document.frm_sendmsg.frm_sendmsg_multiremove.options[i].text;
		var end = txt.lastIndexOf('-');
		var start = 0;
		var tmpKeyword = '';
		if (end>0){
			end = end-2;
			txt = txt.substring(0, end);
			start = txt.lastIndexOf('-');
			if (start>=0){
				start = start+1;
				tmpKeyword = txt.substring(start);
			}
		}		
		var tmp = max_msg_len;
		if (msg_from_flag == 1){
			tmp = max_msg_len - (tmpKeyword.length + 2);
		}
		
		if (tmp<length){
			length = tmp;
		}
	}	
	mlength = length;	
	var newLeng = mlength - $('frm_sendmsg_message').value.length;
	if (newLeng<0){
		newLeng = 0;		
	}
	setFrmSendmsgMessage();	
	$('chars').set('html', newLeng + " characters remaining");
}
setCampaignName = function(tagId,val){
	$(tagId).value = val;
}
var sendTextMessageRequest = new Request({method: 'post', url: 'sendTextMessageController'});
var countRecipientsRequest = new Request({method: 'post', url: 'sendTextMessageController'});
var updateCountInformation = new Request({method: 'post', url: 'sendTextMessageController'});
var tmpRecipientsRequest = new Request({method: 'post', url: 'sendTextMessageController'});

sendTextMessageRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	if(responseText==null || responseText==''){
		// msgalert popup
		Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
		var sample5 = new Element('div', {
			'id':'popup_confirm',
			'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgalert">Error in transmission.</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px"/></div>'
		}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			Popup.hide();
		});
	} else {
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			if(response.count > 0){
				// msginfo popup
				Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
				var sample5 = new Element('div', {
					'id':'popup_confirm',
					'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msginfo">Your Message was Sent.</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px" /></div>'
				}).injectInside('PopupContent');
				$('msg_ok').addEvent('click', function(){
					Popup.hide();
					clearForm();
					validateScheduledDate();
				});
			} else {
				// msgalert popup
				Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
				var sample5 = new Element('div', {
					'id':'popup_confirm',
					'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgalert">No Message was Sent.</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px" /></div>'
				}).injectInside('PopupContent');
				$('msg_ok').addEvent('click', function(){
					Popup.hide();
				});
			}
		}
	}
};

sendTextMsgFunc = function(){

	var params = 'actionname=sendmsg&userlist=';
	var assign = $('frm_sendmsg_multiremove');
	var recipAll  = $('frm_sendmsg_recip1');
	var campOrKey = $('frm_sendmsg_campaign');
	var titleMsg = $('frm_sendmsg_title');
	var textMsg = $('frm_sendmsg_message');
	if (recipAll.checked){
		params += 'all';
	}else{
		params += 'selected';
	}
	/*date*/
	if($('frm_sendmsg_delivery2').checked){
		params += '&date=' +  
		$('frm_sendmsg_date').value + 
		$('frm_sendmsg_time1').options[$('frm_sendmsg_time1').selectedIndex].text + 
		$('frm_sendmsg_min').options[$('frm_sendmsg_min').selectedIndex].text + 
		$('frm_sendmsg_aa').options[$('frm_sendmsg_aa').selectedIndex].text;
	}
	/*include new members*/
	if($('frm_sendmsg_new_subscribers').disabled != true && $('frm_sendmsg_new_subscribers').checked == true){
		params +='&include_new_subscribers=1';
	}
	params += '&title=' +  escapePlus(titleMsg.value);
	params += '&message=' + escapePlus(textMsg.value);
	
	sendTextMessageRequest.send(params);
}

var countMemberComunitiesRequest = new Request({method: 'post', url: 'app/memberspagecontroller'});
countMemberComunitiesRequest.onSuccess = function(responseText, responseXML){
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		if (response.c > 0){
			showSendMessagePopup(response.memberid, response.c, response.keywords, response.phone, '', '', '');
			return;
		}
	}
	// warning popup if no subscriptions for the member
	Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin:0px;padding:0px;"><p style="color:#000;line-height:18px;padding-left:22px; margin:0px;" class="msgalert">Member does not have an active mobile subscription for any active keywords. You cannot send this member a message.</p><input type="button" id="msg_ok" value="OK" style="margin:12px 5px 0px 22px; float:left;"/></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
	});
}

updateOneKeywordMembers = function(){
	
	var msg_from_flag = $('keywordValue').value.substring($('keywordValue').value.indexOf('#')+1, $('keywordValue').value.indexOf('#')+2);
	var max_msg_len = $('keywordValue').value.substring($('keywordValue').value.indexOf('#')+2);
	var temp_keyword = '';
	if(msg_from_flag=='1'){ 
		temp_keyword = $('fkeywordspan').innerHTML.substring(0, $('fkeywordspan').innerHTML.indexOf('<'));
	}
	setNumLengthMembers(temp_keyword, max_msg_len);	
}

updateSelectedKeywordMembers = function(){
	var i = $('fkeywordselect').selectedIndex;
	var msg_from_flag = $('fkeywordselect').options[i].value.substring($('fkeywordselect').options[i].value.indexOf('#')+1, $('fkeywordselect').options[i].value.indexOf('#')+2);
	var max_msg_len = $('fkeywordselect').options[i].value.substring($('fkeywordselect').options[i].value.indexOf('#')+2);
	var temp_keyword = '';
	if(msg_from_flag=='1'){ 
		temp_keyword = $('fkeywordselect').options[i].text;
	}	
	setNumLengthMembers(temp_keyword, max_msg_len);	
}

var mlengthMembers = 160;

setNumLengthMembers = function(keyword,leng){
	
	var valOfFrmSendmsgMessage = $('fmsg').value;
	if (keyword==""){
		mlengthMembers = leng;		
	}else{
		mlengthMembers = leng - (keyword.length + 2);		
	}	
	var newLeng = mlengthMembers - valOfFrmSendmsgMessage.length;
	if (newLeng<0){
		newLeng = 0;
		valOfFrmSendmsgMessage = valOfFrmSendmsgMessage.substring(0,mlengthMembers);
	}	
	setFrmSendmsgMessageMembers('fmsg');
	$('chars').innerHTML = (newLeng + " characters remaining");
}

setFrmSendmsgMessageMembers = function(elementId){
	var element = $(elementId); 
	if(element.value.length>mlengthMembers){
		element.value = element.value.substring(0,mlengthMembers);
	}
	if(mlengthMembers - element.value.length == 0){
		$('chars').style.color="red";
	}else{
		$('chars').style.color="black";
	}
}

/**
 * check member's active subscription for send message from members page
 */
checkMemberSubscriptions = function(userId){
	var params = '';
	params += 'countMemberComunities=do';
	params += '&userId=' + userId;
	countMemberComunitiesRequest.send(params);
}

/**
 * check member's active subscription for send message from members page
 */
checkMemberSubscriptionsAgain = function(userId, title, message, communityid){
	var params = '';
	params += 'countMemberComunitiesAgain=do';
	params += '&userId=' + userId;
	params += '&title=' + title;
	params += '&message=' + message;
	params += '&communityid=' + communityid;
	countMemberComunitiesAgainRequest.send(params);
}

var countMemberComunitiesAgainRequest = new Request({method: 'post', url: 'app/memberspagecontroller'});
countMemberComunitiesAgainRequest.onSuccess = function(responseText, responseXML){
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		if (response.c > 0){
			showSendMessagePopup(response.memberid, response.c, response.keywords, response.phone, escapePlus(response.title), escapePlus(response.message), response.communityid);
			return;
		}
	}
	// warning popup if no subscriptions for the member
	Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin:0px;padding:0px;"><p style="color:#000;line-height:18px;padding-left:22px; margin:0px;" class="msgalert">Member does not have an active mobile subscription for any active keywords. You cannot send this member a message.</p><input type="button" id="msg_ok" value="OK" style="margin:12px 5px 0px 22px; float:left;"/></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
	});
}

/**
 * check user's active subscription for send reply message from inbox page
 */
checkUserSubscriptions = function(inbox_msg_id){
	var inboxActionRequest = new Request({method: 'post', url: 'app/inboxactioncontroller'});
	var params = '';
	params += 'actionname=countActiveUsers';
	params += '&inboxmsgid=' + inbox_msg_id;
	inboxActionRequest.send(params);
	
	inboxActionRequest.onSuccess = function(responseText, responseXML){
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			if (response.c > 0){
				sendmsgPopup(response.c, response.recipients, inbox_msg_id, '', '');
				return;
			}
		}
		// warning popup if no subscriptions for the member
		/*Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
		var sample5 = new Element('div', {
			'id':'popup_confirm',
			'html':'<div style="margin:0px;padding:0px;"><p style="color:#000;line-height:18px;padding-left:22px; margin:0px;" class="msgalert">There are no active mobile subscriptions for the member(s). You cannot send a message.</p><input type="button" id="msg_ok" value="OK" style="margin:12px 5px 0px 22px; float:left;"/></div>'
		}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			Popup.hide(); 
		});*/
	}
}

cloneMessageCassandra = function(cmid, keyword){
	var cloneRequest = new Request({method: 'post', url: 'cloneController'});
	var params = '';
	params += 'msgId=' + cmid + '&type=cas';
	cloneRequest.send(params);
	
	cloneRequest.onSuccess = function(responseText, responseXML){
		var response = eval('(' +  responseText + ')');
		
		if (response.res == 1){
			if (response.c > 0){
				window.location="sendmessage";
				return;
			}
		}
		
		// warning popup if inactive or no keyword
		Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
		var sample5 = new Element('div', {
			'id':'popup_confirm',
			'html':'<div style="margin:0px;padding:0px;"><p style="color:#000;line-height:18px;padding-left:22px; margin:0px;" class="msgalert">Keyword \''+keyword+'\' is inactive.<br/>You cannot clone this message.</p><input type="button" id="msg_ok" value="OK" style="margin:12px 5px 0px 22px; float:left;"/></div>'
		}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			Popup.hide(); 
		});
	}
}

cloneMessage = function(cmid, keyword){
	var cloneRequest = new Request({method: 'post', url: 'cloneController'});
	var params = '';
	params += 'msgId=' + cmid;
	cloneRequest.send(params);
	
	cloneRequest.onSuccess = function(responseText, responseXML){
		var response = eval('(' +  responseText + ')');
		
		if (response.res == 1){
			if (response.c > 0){
				window.location="sendmessage";
				return;
			}
		}
		
		// warning popup if inactive or no keyword
		Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
		var sample5 = new Element('div', {
			'id':'popup_confirm',
			'html':'<div style="margin:0px;padding:0px;"><p style="color:#000;line-height:18px;padding-left:22px; margin:0px;" class="msgalert">Keyword \''+keyword+'\' is inactive.<br/>You cannot clone this message.</p><input type="button" id="msg_ok" value="OK" style="margin:12px 5px 0px 22px; float:left;"/></div>'
		}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			Popup.hide(); 
		});
	}
}

//Memebers page - manage keywords functionality
var manageMembersKeywordsRequest = new Request({method: 'post', url: 'app/managememberscontroller'});

/**
 * Manage members keywords server synchronization routines 
 */

var manageMembersKeywordsList = new Array();
var synchManageMembersKeywordsFlag = true;

synchManageMembersKeywords = function() {
	
	if (manageMembersKeywordsList.length > 0 && synchManageMembersKeywordsFlag == true) {
		synchManageMembersKeywordsFlag = false;
		manageMembersKeywordsRequest.send(manageMembersKeywordsList.shift());
	}
	
	setTimeout(function () {
		synchManageMembersKeywords();
	}, 100);
}

manageMembersKeywordsRequest.onSuccess = function(responseText, responseXML){
	synchManageMembersKeywordsFlag = true;
	restartProviderSession();
}

manageMembersKeywordsResult = function() {
	if (manageMembersKeywordsList.length == 0 && synchManageMembersKeywordsFlag == true) 
		return true;
	else
		return false;
}

/**
 * trigg when click on "Select All" checkbox -
 * select all assigned keywords
 * at "Keywords" action pop up
 * from members page
 */
selectAllAssignedKeywordsPopupMembersPage = function(obj){
	var params = 'updateCheckedAssigned=' + (obj.checked ? 'checkAll' : 'uncheckAll');
	//manageMembersKeywordsRequest.send(params);
	manageMembersKeywordsList.push(params);
}

/**
 * trigg when click on single keyword -
 * select assigned keyword
 * at "Keywords" action pop up
 * from members page
 */
selectAssignedKeywordPopupMembersPage = function(obj){
	var id = obj.attributes['community:id'].nodeValue;
	if (id != null && id != ''){
		var params = 'updateCheckedAssigned=' + (obj.checked ? 'check' : 'uncheck');
		params += '&id=' + id;
		//manageMembersKeywordsRequest.send(params);
		manageMembersKeywordsList.push(params);
	}
}

/**
 * trigg when click on "Select All" checkbox -
 * select all unassigned keywords
 * at "Keywords" action pop up
 * from members page
 */
selectAllUnassignedKeywordsPopupMembersPage = function(obj){
	var params = 'updateCheckedUnassigned=' + (obj.checked ? 'checkAll' : 'uncheckAll');
	//manageMembersKeywordsRequest.send(params);
	manageMembersKeywordsList.push(params);
}

/**
 * trigg when click on single keyword -
 * select unassigned keyword
 * at "Keywords" action pop up
 * from members page
 */
selectUnassignedKeywordPopupMembersPage = function(obj){
	var id = obj.attributes['community:id'].nodeValue;
	if (id != null && id != ''){
		var params = 'updateCheckedUnassigned=' + (obj.checked ? 'check' : 'uncheck');
		params += '&id=' + id;
		//manageMembersKeywordsRequest.send(params);
		manageMembersKeywordsList.push(params);
	}
}

var prepareSingleRecepientRequest = new Request({method: 'post', url: 'app/memberspagecontroller'});
prepareSingleRecepientRequest.onSuccess = function(responseText, responseXML){
	if(responseText!=null && responseText!=''){
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			sendMsgToSingleRecepient(response.fsubject, response.fmsg);
			return;
		}
	}
	// error popup if no recipients was found
	Popup.show(null, {size:'short', modal:true, wtitle:'Error'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgalert">No recepients were found.</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px"/></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
	});
	return;
}
prepareSingleRecepient = function(memberid, communityid, fsubject, fmsg){
	var params = '';
	params += 'prepareSingleRecepient=do';
	params += '&userId=' + memberid;
	params += '&communityid=' + communityid;
	params += '&fsubject=' + fsubject;
	params += '&fmsg=' + fmsg;
	prepareSingleRecepientRequest.send(params);
}

var prepareReplyRecepientsRequest = new Request({method: 'post', url: 'app/inboxactioncontroller'});
prepareReplyRecepientsRequest.onSuccess = function(responseText, responseXML){
	if(responseText!=null && responseText!=''){
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			sendReplyMsgs(response.fsubject, response.fmsg);
			return;
		}
	}
	// error popup if no recipients was found
	Popup.show(null, {size:'short', modal:true, wtitle:'Error'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgalert">No recipients were found.</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px"/></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
	});
	return;
}
prepareReplyRecepients = function(fsubject, fmsg, inbox_msg_id){
	var params = '';
	params += 'actionname=prepareReplyRecepients';
	params += '&fsubject=' + fsubject;
	params += '&fmsg=' + fmsg;
	params += '&inboxmsgid=' + inbox_msg_id;
	prepareReplyRecepientsRequest.send(params);
}

check_title_msg_length = function(){
	if ($('fsubject').value=='' || $('fmsg').value=='') return false;
	else return true;
};

sendMsgToSingleRecepient = function(fsubject, fmsg){
	var params = 'actionname=sendmsg&userlist=selected';
	params += '&title=' + fsubject;
	params += '&message=' + fmsg;
	sendTextMessageRequest.send(params);
}

sendReplyMsgs = function(fsubject, fmsg){
	var params = 'actionname=sendmsg&userlist=selected';
	params += '&title=' + fsubject;
	params += '&message=' + fmsg;
	sendTextMessageRequest.send(params);
}

setCommunityId = function(count, com_id){
	var communityId;
	if(count == 1){
		communityId = com_id;
	} else {
		var temp_str = $("fkeywordselect").options[$("fkeywordselect").selectedIndex].value;
		communityId = temp_str.substring(1, temp_str.indexOf('#'));
	}
	return communityId;
}

cancelModify = function(){
	
	//$('frm_sendmsg_recip1').checked = 'checked';
	//setCountSelected("all");
	tmpRecipientsRequest.send("actionname=cancelSelect");
	Popup.hide();
}

saveSelectionChanges = function(){
	setCountSelected2();//"modify"
	Popup.hide()
}

updateSelectionInformation = function(){
	updateCountInformation.send("actionname=updatecounters");
	updateCountInformation.onSuccess = function(responseText,responseXML){
		restartProviderSession();
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			$('resipients_stat').innerHTML = response.avfiltered + ' of ' + response.av + ' available members and ' + response.asfiltered + ' of ' + response.as + ' assigned members matched.&nbsp;';
			$('avialable_title').innerHTML = response.avfiltered +'  Available members';
			$('assigned_title').innerHTML = response.asfiltered + '  Assigned members';
		}
	}
}
/*
setCountSelected = function(){//selectionType
	setTimeout( function () {
		var selectionType = "all";
		if($('frm_sendmsg_recip1').checked == true)
			selectionType = "all";
		else
			selectionType = "modify";
		
		countRecipientsRequest.send("actionname=countrecip&selectiontype=" + selectionType);
		countRecipientsRequest.onSuccess = function(responseText,responseXML){
			restartProviderSession();
			var response = eval('(' +  responseText + ')');
			if (response.res == 1){
				$('frm_sendmsg_reciptotal').innerHTML = '<strong id="recipCount">' + response.count + ' recipients</strong> have been selected.';
			}
		}
	},1250);
}
*/
var recipientsCount = 0;

var countRecipientsRequest2 = new Request({method: 'post', url: 'sendTextMessageController'});
setCountSelected2 = function(){
	countRecipientsRequest2.send("actionname=countrecip2&selectiontype=" + ($('frm_sendmsg_recip1').checked == true ? "all" : "modify"));
	countRecipientsRequest2.onSuccess = function(responseText,responseXML){
		restartProviderSession();
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			updateRecepientsCountHtml(response.count);
		}
	}
}
updateRecepientsCountHtml = function(count){
	recipientsCount = count;
	$('frm_sendmsg_reciptotal').innerHTML = '<strong id="recipCount">' + count + ' recipients</strong> have been selected.';
}
createTmpUsers = function(){
	tmpRecipientsRequest.send("actionname=createTmp");
}

onClickSendTexrMessage = function(){
	window.location = 'sendmessage';
}
setCustom = function(){
	var selectInterval = $('frm_report_periodselect');
	selectInterval.options[10].selected = true;
}

var generateReportRequest = new Request({method: 'post', url: 'generateReportController'});

generateReportFunc = function(){
	deleteAllRows();
	addLoadDataRow();
	//var assign = $('frm_sendmsg_multiremove');
	var campOrKey = $('frm_report_campaign');
	var from = $('date1');
	var to = $('date2');
	var reportType = $('frm_report_reporttype');
	var params = 'type='+ reportType.value;
	
	if ($('frm_report_keywordtoggle').innerHTML=="Select multiple campaigns and keywords"){
		if(campOrKey.value.indexOf('k_')!=-1){
			//alert("k_")
			params += '&keyword_id=' + campOrKey.value.substring(2, campOrKey.value.length);
		}
		if(campOrKey.value.indexOf('c_')!=-1){
			//alert("c_")
			params += '&campaign_id='+ campOrKey.value.substring(2, campOrKey.value.length);
		}
	}
	if ($('frm_report_keywordtoggle').innerHTML=="Select individual campaigns or keywords"){
		
		var selRem = document.getElementById('frm_report_multiremove');
		for (i=0; i< selRem.options.length; i++){
			if ( selRem.options[i].value.indexOf('k_')!=-1){
				params+='&keyword_id' + i + '=' + selRem.options[i].value.substring(2, selRem.options[i].value.length);
			}
			if ( selRem.options[i].value.indexOf('c_')!=-1){
				params+='&campaign_id' + i + '=' + selRem.options[i].value.substring(2, selRem.options[i].value.length);
			}
		}
	}
	params += '&from=' + from.value;
	params += '&to=' + to.value;
	

	generateReportRequest.send(params);
}

generateReportRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		$(response.divId1).load(response.pageName1+'?random='+$random(-1000,1000));
		$(response.divId2).load(response.pageName2+'?random='+$random(-1000,1000));
	}
	if (response.res == 0){
		
	}
}
applyReportFilter = function(pageType){
	
	var params ='';
	
	params+='applyFilter=1&pageType='+pageType;
	
	var phone = $('frmphone');
	var shortcode = $('frmshortcode');
	if(phone.value!=""){
		params += '&phone=' + escapePlus(phone.value);
	}
	if(shortcode.value!=""){
		params += '&shortcode=' + escapePlus(shortcode.value);
	}
	
	if (pageType=='REP_MA'){
		var mo = $('frmfilterinbound');
		var mt = $('frmoutbound');
				
		var types = document.getElementsByTagName('input');
		for (i=0;i<types.length;i++){
			var chName = types[i].id;
			if (types[i].id.indexOf("keyType_")!=-1){
				//var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
			if (types[i].id.indexOf("msgType_")!=-1){
				//var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
			if (types[i].id.indexOf("sourceType_")!=-1){//source?
				//var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
		}
	
		if(mo.value!=""){
			params += '&mo=' + escapePlus(mo.value);
		}
		if(mt.value!=""){
			params += '&mt=' + escapePlus(mt.value);
		}
	}
	if(pageType=='REP_CON'){
		var types = document.getElementsByTagName('input');
		for (i=0;i<types.length;i++){
			if (types[i].id.indexOf("conType_")!=-1){
				var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
		}
		var conName = $('frmcontest');
		var mo = $('frmfilterinbound');
		
		if(mo.value!=""){
			params += '&mo=' + escapePlus(mo.value);
		}
		if(conName.value!=""){
			params += '&conName=' + escapePlus(conName.value);
		}
	}
	if(pageType=='REP_UN'){
		
	}
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){
		if (inputs[i].id.indexOf("data_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				params+='&'+chName+'='+inputs[i].value;
			}
		}
	}
	params += '&random='+$random(-1000,1000);
	showUpdateStatusPopup();
	applyFilterRequest.send(params);
}
saveReportFilter = function(pageType){
	if (isFilterNameEmpty()){
		return;
	}
	Popup.hide();
	var params ='';
	params+='saveFilter=1&pageType='+pageType;
	
	var phone = $('frmphone');
	var shortcode = $('frmshortcode');
	
	if(phone.value!=""){
		params += '&phone=' + escapePlus(phone.value);
	}	
	if(shortcode.value!=""){
		params += '&shortcode=' + escapePlus(shortcode.value);
	}
	if (pageType=='REP_MA'){
		var mo = $('frmfilterinbound');
		var mt = $('frmoutbound');
		
		var types = document.getElementsByTagName('input');
		for (i=0;i<types.length;i++){
			if (types[i].id.indexOf("keyType_")!=-1){
				var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
			if (types[i].id.indexOf("msgType_")!=-1){
				var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
			if (types[i].id.indexOf("sourceType_")!=-1){//source?
				var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
		}
		
		if(mo.value!=""){
			params += '&mo=' + escapePlus(mo.value);
		}
		if(mt.value!=""){
			params += '&mt=' + escapePlus(mt.value);
		}
		
	}
	if(pageType=='REP_CON'){
		var types = document.getElementsByTagName('input');
		for (i=0;i<types.length;i++){
			if (types[i].id.indexOf("conType_")!=-1){
				var chName = types[i].id;
				if (types[i].checked){
					params+='&'+chName+'='+types[i].value;
				}
			}
		}
		
		var conName = $('frmcontest');
		var mo = $('frmfilterinbound');
		
		if(mo.value!=""){
			params += '&mo=' + escapePlus(mo.value);
		}
		if(conName.value!=""){
			params += '&conName=' + escapePlus(conName.value);
		}
	}
	if(pageType=='REP_UN'){
		
	}
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){
		if (inputs[i].id.indexOf("data_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				params+='&'+chName+'='+inputs[i].value;
			}
		}
	}	
	params += '&random='+$random(-1000,1000);
	params += '&titleF='+ document.getElementById('filterName').value;
	saveFilterRequest.send(params);
}

showUpdateStatusPopup = function(){
	isUpdateStatusShow = true;
	isUpdateStatusShowCas = true;
	isUpdateStatusShowNotCas = true;
	Popup.show(null, {size:'short', modal:true, wtitle:'Information'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msginfo"> Updating ...</p></div>'
	}).injectInside('PopupContent');	
}

hideUpdateStatusPopup = function () {
	isUpdateStatusShow = false;
	if (Popup.size != 'undefined'){
		Popup.hide();
	}	
}

hideUpdateStatusPopupCas = function () {
	if (Popup.size != 'undefined' && !isUpdateStatusShowCas && !isUpdateStatusShowNotCas){
		Popup.hide();
	}	
}

reloadRecipients = function(){
	goToPageInAvialable(1);
	goToPageInAssigned(1);
}
goToPageInAvialable = function(page){
	var sortType = 'asc';
	var sort_asc = $('sort_asc3'); 
	if(sort_asc.checked){
		sortType = 'asc';
	}else{
		sortType = 'desc';
	}
	var sortBy = $('field3').value;
	$('avialableUsersTableDiv').load('avialableUsersTable?pageNumber=' + page + '&type=' + sortType + '&by=' + sortBy + '&random='+$random(-1000,1000));
}
goToPageInAssigned = function(page){
	var sortType = 'asc';
	var sort_asc = $('sort_asc3'); 
	if(sort_asc.checked){
		sortType = 'asc';
	}else{
		sortType = 'desc';
	}
	var sortBy = $('field3').value;
	$('assignedUsersTableDiv').load('assignedUsersTable?pageNumber=' + page + '&type=' + sortType + '&by=' + sortBy + '&random='+$random(-1000,1000));
}
var recipientFilterRequest = new Request({method: 'post', url: 'app/recipientfiltercontroller'});

showFilterName = function(){
	$('prepare_save_filter').disabled = 'disabled';
	$('filter_name_').style.display = 'inline';
	$('save_filter').style.display = 'inline';
	$('cancel_filter').style.display = 'inline';
}

hideFilterName = function(){
	$('errorMsg').innerHTML = '';
	$('prepare_save_filter').disabled = '';
	$('filter_name_').style.display = 'none';
	$('save_filter').style.display = 'none';
	$('cancel_filter').style.display = 'none';
}

saveRecipientFilter = function(){
	var filtername = $('filter_name_');
	if(filtername.value == ''){
		var error = [];
		error.push('Please enter correct filter name');
		$('errorMsg').innerHTML = buildError(error);
		return;
	}
	$('errorMsg').innerHTML = '';
	var ids = getSelectedCheckBoxValues($('recipient_filter_form'));
	var params = 'actionname=savefilter';
	params += '&filtername=' + escapePlus(filtername.value);
	params += '&' + $('recipient_filter_form').toQueryString();
	params += '&interests_ids=';
	if(ids){
		params += ids;
	} 
	recipientFilterRequest.send(params);
	recipientFilterRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			hideFilterName();
			document.getElementById('save_filter_result').innerHTML = document.getElementById('save_filter_result').innerHTML + response.filter;
			tabarea($('filter_saved_tab'),'results_filters_saved');
		}else{
			alert('error');
		}
	}
}

getSelectedCheckBoxValues = function(el){
	var ids=''
		var inputs = el.getElementsByTagName('input');
		for (i=0; i < inputs.length; i++){
			if (inputs[i].id.indexOf("interest_")!=-1){
				if (inputs[i].checked){
					if(ids==''){
						ids += inputs[i].value;
					}else{
						ids += ',' + inputs[i].value;
					}
				}
			}
		}
		return ids;
}
applyRecipientFilter = function(){
	var ids = getSelectedCheckBoxValues($('recipient_filter_form'));
	recipientFilterRequest.send('actionname=applayfilter&' + $('recipient_filter_form').toQueryString()+'&interests_ids='+ids);
	recipientFilterRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			goToPageInAvialable(1);
			goToPageInAssigned(1);
			updateSelectionInformation();
		}else{
			alert('error');
		}
	}
}
clearRecipientFilter = function(){
	clearRecipientFormFilter();
	recipientFilterRequest.send('actionname=clearfilter');
	recipientFilterRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			goToPageInAvialable(1);
			goToPageInAssigned(1);
			updateSelectionInformation();
		}else{
			alert('error');
		}
	}
}

clearRecipientFormFilter = function(){
	$('filter_datepreset').options[0].selected = true;
	$('date1').value = "MM/DD/YYYY";
	$('date1').style.color = '#000000';
	$('date2').value = "MM/DD/YYYY";
	$('date2').style.color = '#000000';
	$('frmzip').value = "";
	$('frmfiltername').value = "";
	$('frmphone').value = "";
	$('frmgender1').checked = true;
	$('frmage').value = "";
	$('frmage2').value = "";
	$('filter_birthpreset').options[0].selected = true;
	$('selMonthFrom').options[0].selected = true;
	$('bmonthfrom').value = "00";
	$('selDayFrom').options[0].selected = true;
	$('bdayfrom').value = "00";
	$('selMonthTo').options[0].selected = true;
	$('bmonthto').value = "00";
	$('selDayTo').options[0].selected = true;
	$('bdayto').value = "00";
	$('filter_history').options[0].selected = true;
	$('mhistory').value = "all";
	$('selrecmessage').options[0].selected = true;
	$('recmessage').value = "after";
	$('date3').value = "MM/DD/YYYY";
	$('date3').style.color = '#000000';
	$('frm_distance').value = "";
	$('frm_distancezip').value = "";
	$('filter_scheduled_date_not_set').style.display = 'none';
	$('filter_scheduled_date_wrong').style.display = 'none';
	$('filter_scheduled_date3_not_set').style.display = 'none';
	$('filter_scheduled_date3_wrong').style.display = 'none';
	
	
	deselectRecipAlls();
}
var executeFilterRequest = new Request({method: 'post', url: 'app/recipientfiltercontroller'});
var deleteRecFilterRequest = new Request({method: 'post', url: 'app/recipientfiltercontroller'});

executeFilter = function(filter_id){
	executeFilterRequest.send('actionname=applaysavedfilter&filterid=' +  filter_id);
	executeFilterRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			goToPageInAvialable(1);
			goToPageInAssigned(1);
			updateSelectionInformation();
		}else{
			alert('error');
		}
	}
}

deleteRecFilter = function(filter_id){
	//var liElement = filter_id.parentNode;
	//alert(filter_element.parentNode);
	
	Popup.show(null, {size:'short', modal:true, wtitle:'Delete Filter'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin-top:5px;padding-bottom:0"><p style="padding-left:22px">Are you sure you want to delete this filter?</p><input type="button" id="msg_ok" value="Yes" style="font-weight:bold;margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px" /> <input type="button" id="msg_cancel" value="No" style="margin-bottom:0;float:left" /></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		deleteRecFilterOK(filter_id);
	});
	$('msg_cancel').addEvent('click', function(){
		resetSelectRecipientPopup();
	});
}

deleteRecFilterOK = function(filter_id){
	deleteRecFilterRequest.send('actionname=deletefilter&filterid=' +  filter_id);
	deleteRecFilterRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
	    var response = eval('(' +  responseText + ')');
		if(response.res){
			resetSelectRecipientPopup();
		}else{
			alert('error');
		}
	}
}
var clearFilterRequest = new Request({method: 'post', url: 'filterController'});


clearFilterRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		$(response.divId).load(response.pageName+'?random='+$random(-1000,1000));
	}
	if (response.res == 2){
		$(response.divId1).load(response.pageName1+'?random='+$random(-1000,1000));
		$(response.divId2).load(response.pageName2+'?random='+$random(-1000,1000));
	}
	if (response.res == 4){
		$(response.divId).load(response.pageName+'?random='+$random(-1000,1000)+ '&isResetNum=1');
	}
}
clearInterestFilter = function(pageType){
	clearFilter(pageType);
	$('date_error').innerHTML = '';
	$('date_error').style.display = 'none';
	$('filter_datepreset').options[0].selected = true;
	$('date1').value = "MM/DD/YYYY";
	$('date2').value = "MM/DD/YYYY";
	$('date1').style.color = '#000000';
	$('date2').style.color = '#000000';
	$('frmphone').value = "";
	$('frmfilterzip').value = "";
	$('frmfilterfname').value = "";
	$('frmfilterlname').value = "";
}
clearMembersFilter = function(pageType, above_threshold){
	$('date_error').innerHTML = '';
	$('date_error').style.display = 'none';
	$('date1').style.color = '#000000';
	$('date2').style.color = '#000000';
	clearFilter(pageType);
	// reset results display type
	$('frmviewtype_table').checked = true;
	// signup date
	$('filter_datepreset').selectedIndex = 1;
	var now = new Date();
	var month = (now.getMonth()+1)<10 ? "0"+(now.getMonth()+1) : (now.getMonth()+1);
	var day = now.getDate()<10 ? "0"+now.getDate() : now.getDate();
	var year = now.getFullYear();
	var formatnow = month+"/"+day+"/"+year;
	$('date1').value = formatnow;
	$('date2').value = formatnow;
	//last name
	$('frmlastname').value = "";
	//first name
	$('frmfirstname').value = "";
	// phone
	$('frmphone').value = "";
	// zip
	$('frmzip').value = "";
	// city
	$('frmcity').value = "";
	// state
	$('frmstate').selectedIndex = 0;
	// gender
	$('genderAll').checked = true;
	// age
	$('frmage').value = "";
	$('frmage2').value = "";
	// birth date
	$('date3').value = "";
	$('date4').value = "";
	// distance
	$('frm_distance').value = "";
	$('frm_distancezip').value = "";
	//
	$('frmemail').value = "";
	$('mobile_status').options[0].selected = true;
	$('mobile_carrier').options[0].selected = true;	
	
	if($$('.filtersection .content').length){
		$$('.filtersection .content').setStyle('display','none');
		$$('.filtersection.active .content').setStyle('display','block');
	}
	hideMemeberFilter();
	// deselect other alls (including keywords under threshold)
	deselectAlls();
	// deselect All Keywords
	if(above_threshold){
		deselectAllKeywordsAboveThreshold();
	}
}

hideMemeberFilter = function(){
	var alls = document.getElements('.filtersection.active .content');
	if(alls != null){
		var alli = 0;
		while(alli < alls.length){			
			alls[alli].setStyle('display','none');
			alls[alli].getParent('.filtersection').removeClass('active');
			alli++;
		}
	}
}

clearCommunitiesFilter = function(pageType){
	clearFilter(pageType);
	// status
	$('frmmsgstatus1').checked = true;
	// date activated
	$('filter_datepreset').selectedIndex = 0;
	$('date1').value = "";
	$('date2').value = "";
	// deselect other alls
	deselectAlls();
}
clearKeywordsFilter = function(pageType){
	clearFilter(pageType);
	/* slect None in drop down  */
	var campaign_dropdown = new Object();
	campaign_dropdown = document.getElementById("select_campaign_dropdown").getElementsByTagName("li");
	/* unselect previously selected element */
	for(i=0; i<campaign_dropdown.length; i++){
		campaign_dropdown[i].className = "";
	}
	campaign_dropdown[0].className="selected";
	// keyword
	$('frmfilterkeyword').value = "";
	// shortcode
	$('frmfiltershortcode').value = "";
	// status
	$('frmkeywordstatus1').checked = true;
	// deselect other alls
	deselectAlls();
	//campaign
	$('filter_campaign').value = "-1";
	$('filter_campaign_name').value = "";
}
clearMessagesFilter = function(pageType){
	$('date_error').innerHTML = '';
	$('date_error').style.display = 'none';
	$('date1').style.color = '#000000';
	$('date2').style.color = '#000000';
	clearFilter(pageType);
	// signup date
	$('filter_datepreset').selectedIndex = 1;
	var now = new Date();
	var month = (now.getMonth()+1)<10 ? "0"+(now.getMonth()+1) : (now.getMonth()+1);
	var day = now.getDate()<10 ? "0"+now.getDate() : now.getDate();
	var year = now.getFullYear();
	var formatnow = month+"/"+day+"/"+year;
	$('date1').value = formatnow;
	$('date2').value = formatnow;
	/* slect None in drop down  */
	var campaign_dropdown = new Object();
	campaign_dropdown = document.getElementById("select_campaign_dropdown").getElementsByTagName("li");
	/* unselect previously selected element */
	for(i=0; i<campaign_dropdown.length; i++){
		campaign_dropdown[i].className = "";
	}
	campaign_dropdown[0].className="selected";
	// title
	$('frmfiltertitle').value = "";
	// message
	$('frmfiltermessage').value = "";
	// deselect other alls
	deselectAlls();
	// campaign
	$('filter_campaign').value = "-1";
	$('filter_campaign_name').value = "";
}
clearReportFilter = function(pageType){
	clearFilter(pageType);
	
	// phone
	$('frmphone').value = "";
	// shortcode
	$('frmshortcode').value = "";
	// inbound msg
	var chk1 = $('frmfilterinbound');
	if(chk1 != null) chk1.value = "";
	// outbound msg
	var chk2 = $('frmoutbound');
	if(chk2 != null) chk2.value = "";
	// contest name
	var chk3 = $('frmcontest');
	if(chk3!= null) chk3.value = "";

	// deselect other alls
	deselectAlls();
}
clearInboxFilter = function(pageType){
	$('date_error').innerHTML = '';
	$('date_error').style.display = 'none';
	$('date1').style.color = '#000000';
	$('date2').style.color = '#000000';
	
	clearFilter(pageType);
	
	// status
	$('frmmsgstatus1').checked = true;
	// date
	$('filter_datepreset').selectedIndex = 0;
	$('date1').value = "MM/DD/YYYY";
	$('date2').value = "MM/DD/YYYY";
	/* slect None in drop down  */
	var campaign_dropdown = new Object();
	campaign_dropdown = document.getElementById("select_campaign_dropdown").getElementsByTagName("li");
	/* unselect previously selected element */
	for(i=0; i<campaign_dropdown.length; i++){
		campaign_dropdown[i].className = "";
	}
	campaign_dropdown[0].className="selected";
	// phone
	$('frmphone').value = "";
	// message
	$('frmfiltermessage').value = "";

	// deselect other alls
	deselectAlls();
	//campaign
	$('filter_campaign').value = "-1";
	$('filter_campaign_name').value = "";
}
clearUsersFilter = function(pageType){
	clearFilter(pageType);
	
	// status
	$('frmmsgstatus1').checked = true;
	// username
	$('frmusername').value = "";
	// last name
	$('frmlastname').value = "";
	// first name
	$('frmfirstname').value = "";
	
	// select other alls
	deselectAlls();
}
clearFilter = function(pageType){
	var params = '';
	params+='clearFilter=1&pageType='+pageType;
	params += '&random='+$random(-1000,1000);
	clearFilterRequest.send(params);
}
selectAlls = function(){
	var alls = document.getElements('.rcol .selectall input');
	if(alls != null){
		var alli = 0;
		while(alli < alls.length){
			if(!alls[alli].checked){
				alls[alli].click();
			}
			alli++;
		}
	}
}
deselectAlls = function(){
	var alls = document.getElements('.rcol .selectall input');
	if(alls != null){
		var alli = 0;
		while(alli < alls.length){
			if(alls[alli].checked){
				alls[alli].click();
			} else {
				alls[alli].checked = true;
				alls[alli].click();
			}
			alli++;
		}
	}
}
deselectRecipAlls = function(){
	var alls = document.getElements('.selectall input');
	if(alls != null){
		var alli = 0;
		while(alli < alls.length){
			if (alls[alli].id == "selectRecipientInt"){
				if(alls[alli].checked){
					alls[alli].click();
				} else {
					alls[alli].checked = true;
					alls[alli].click();
				}				
			}
			alli++;
		}
	}
}

setStringToInterest = function(){
	if ($('numFilterAval') && $('numAllAval') && $('numFilterAssign') && $('numAllAssign')){
		$('strNumOfMem').innerHTML =  $('numFilterAval').value + " of " + $('numAllAval').value +
		" available members and " + $('numFilterAssign').value + " of " + $('numAllAssign').value + " assigned members matched. ";
	}
//986 of 1185 available members and 15 of 35 assigned members matched. 
}

var isUserExistRequest = new Request({method: 'post', url: 'manageUsersController'});
var addUserRequest = new Request({method: 'post', url: 'manageUsersController'});
var prepareUserRequest = new Request({method: 'post', url: 'manageUsersController'});
var updateUserRequest = new Request({method: 'post', url: 'manageUsersController'});
var deleteUserRequest = new Request({method: 'post', url: 'manageUsersController'});

addUserUsernameValidation = function(){
	var errors = [];
	var username = $('frm_adduser_username'); 
	if(username.value.length<6 || username.value.length>12) {
		errors.push("Username must be between 6 and 12 characters.");
	}
	var alphaNumeric = /^[a-zA-Z0-9]*$/;
	var alphabeticalRegExp = /^[a-zA-Z]*$/;
	var firstChar = username.value.substring(0,1);
	if((!alphabeticalRegExp.test(firstChar)) || ( -1 != username.value.search(' ')) || (!alphaNumeric.test(username.value))) {    	
		errors.push("Invalid username. Username must start with a letter and must contain alphanumeric characters.");    		
    }	
	return errors;
}
addUserInformationValidation = function(){
	var errors = [];
	var password1 = $('frm_adduser_password');
	var password2 = $('frm_adduser_password2');
	if(password1.value.length<6 || password1.value.length>12) {errors.push("Password must be between 6 and 12 characters.");}
	if(password2.value.length<6 || password2.value.length>12) {errors.push("Re-typed password must be between 6 and 12 characters.");}
	if(password1.value!=password2.value) {errors.push("Passwords are different.");}
	var isKeywordChecked = false;
	
	//var keywords = document.getElementsByTagName('input');
	//for (i=0;i<keywords.length;i++){
	//	if (keywords[i].id.indexOf("keyword_")!=-1){
	//		var chName = keywords[i].id;
	//		if (keywords[i].checked){
	//			//params+='&'+chName+'='+keywords[i].value;
	//			isKeywordChecked = true;
	//		}
	//	}
	//}
	//if(!isKeywordChecked){errors.push("You must select at least one keyword for this user.");}
	return errors;
}
updateUserInformationValidation = function(){
	var errors = [];
	var password1 = $('frm_adduser_password');
	var password2 = $('frm_adduser_password2');
	if (password1.value!="" || password2.value!=""){
		if(password1.value.length<6 || password1.value.length>12) {errors.push("Password must be between 6 and 12 characters.");}
		if(password2.value.length<6 || password2.value.length>12) {errors.push("Re-typed password must be between 6 and 12 characters.");}
		if(password1.value!=password2.value) {errors.push("Passwords are different.");}
	}
	return errors;
}
saveUsersInformation = function(){
	var params = 'addUser=1';
	params += '&username=' + escapePlus($('frm_adduser_username').value);
	if ($('frm_adduser_status1').checked){
		params += '&status=1';
	}
	if ($('frm_adduser_status2').checked){
		params += '&status=0';
	}
	params += '&password1=' + escapePlus($('frm_adduser_password').value);
	params += '&password2=' + escapePlus($('frm_adduser_password2').value);
	params += '&firstName=' + escapePlus($('frm_adduser_name_f').value);
	params += '&lastName=' + escapePlus($('frm_adduser_name_l').value);
	var isAdmin = false;
	if ($('admin_flag')!=undefined){
		isAdmin = $('admin_flag').checked;
		if (isAdmin){
			params+= '&role_0=1';
			if ($('role_mapi')!=undefined){			
				params+= '&role_1=17';		
			}
			if ($('role_ru')!=undefined){			
				params+= '&role_2=18';		
			}
		}
	}
	//if (isAdmin){
	//	params+= '&role_0=1';
		//if ($('role_mapi')!=undefined){
		//	if ($('role_mapi').checked){
	//			params+= '&role_1=17';
		//	}
		//}
	//}
	var inputs = document.getElementsByTagName('input');
	var isAllRoleChecked = true;	
	var isMAPIChecked = false;
	var isRUChecked = false;
	var tmpRoleParams = '';
	
	for (i=0;i<inputs.length;i++){
		if (inputs[i].id.indexOf("keyword_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				params+='&'+chName+'='+inputs[i].value;
			}
		}		
		if (!isAdmin){
			if (inputs[i].id.indexOf("role_mapi")!=-1){
				if (inputs[i].checked){
					isMAPIChecked = true;
				}
			}else{
				if (inputs[i].id.indexOf("role_ru")!=-1){
					if (inputs[i].checked){
						isRUChecked = true;
					}
				}else{
					if (inputs[i].id.indexOf("role_")!=-1){
						var chName = inputs[i].id;
						if (inputs[i].checked){
							tmpRoleParams+='&'+chName+'='+inputs[i].value;
						}else{
							isAllRoleChecked = false;
						}
					}
				}
			}
		}
	}
	if ($('admin_flag')!=undefined){
		if (!isAdmin){
			if (isAllRoleChecked){
				params += '&role_0=1';
			}else{
				params += tmpRoleParams;
			}
			if (isMAPIChecked){
				params += '&role_mapi=17';
			}
			if (isRUChecked){
				params += '&role_ru=18';
			}
		}
	}else{
		params += tmpRoleParams;
		if (isMAPIChecked){
			params += '&role_mapi=17';
		}
		if (isRUChecked){
			params += '&role_ru=18';
		}
	}
	addUserRequest.send(params);
}
prepareUsersAccount = function(){
	prepareUserRequest.send("prepareUserAccount");
}
prepareUserRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){		
		var user_keywords = '';
		user_keywords += '<label>Assign keywords:</label>';
		user_keywords += '<ul class="selectallparent">';
		user_keywords += '<li><label class="selectall"><input type="checkbox" /> Select all</label></li>';
			for(i=0;i<response.allPrCommunities.length;i++)
				user_keywords += '<li><label><input type="checkbox" id="keyword_' + i + '" value="' + response.allPrCommunities[i].id +'"/>' + response.allPrCommunities[i].name + ' - ' + response.allPrCommunities[i].keyword + '</label></li>';
		user_keywords += '</ul>';
		
		var user_roles = '';
		user_roles += '<label>Assign roles:</label>';
		user_roles += '<ul class="selectallparent">';
		for(i=0;i<response.userRoles.length;i++){
			if(response.userRoles[i].id == 'admin_flag'){
				user_roles += '<li><label class="selectall"><input type="checkbox" value="' + response.userRoles[i].value + '" id="admin_flag"/> ' + response.userRoles[i].description + '</label></li>';
			}else{
				if (response.userRoles[i].id == 'mapi'){
					user_roles += '<li><label><input type="checkbox" id="role_mapi" value="' + response.userRoles[i].value + '"/>' + response.userRoles[i].description + '</label></li>';
				}else{
					if (response.userRoles[i].id == 'ru'){
						user_roles += '<li><label><input type="checkbox" id="role_ru" value="' + response.userRoles[i].value + '"/>' + response.userRoles[i].description + '</label></li>';
					}else{
						user_roles += '<li><label><input type="checkbox" id="role_' + i + '" value="' + response.userRoles[i].value + '"/>' + response.userRoles[i].description + '</label></li>';
					}
				}
			}
		}
		user_roles += '</ul>';
		
		$('infoMsg').innerHTML = '';
		$('user_keywords').innerHTML = user_keywords;
		$('user_roles').innerHTML = user_roles;
		
		refreshUserDataTable();
	}
}
updateUsersInformation = function(){
	var params = 'updateUser=1';
	params += '&userId=' + $('userId').value;
	if ($('frm_adduser_status1').checked){
		params += '&status=1';
	}
	if ($('frm_adduser_status2').checked){
		params += '&status=0';
	}
	params += '&password1=' + escapePlus($('frm_adduser_password').value);
	params += '&password2=' + escapePlus($('frm_adduser_password2').value);
	params += '&firstName=' + escapePlus($('frm_adduser_name_f').value);
	params += '&lastName=' + escapePlus($('frm_adduser_name_l').value);
	var isAdmin = false;
	if ($('admin_flag')!=undefined){
		isAdmin = $('admin_flag').checked;
		if (isAdmin){
			if ($('role_mapi')!=undefined){
				params+= '&role_0=1';
				params+= '&role_1=17';				
			}else{
				params+= '&role_0=1';				
			}
		}
	}
	//if (isAdmin){
	//	params+= '&role_0=1';
		//if ($('role_mapi')!=undefined){
		//	if ($('role_mapi').checked){
	//			params+= '&role_1=17';
		//	}
		//}
	//}
	var inputs = document.getElementsByTagName('input');
	var isAllRoleChecked = true;		
	var isMAPIChecked = false;
	var tmpRoleParams = '';
	
	for (i=0;i<inputs.length;i++){
		if (inputs[i].id.indexOf("keyword_")!=-1){
			var chName = inputs[i].id;
			if (inputs[i].checked){
				params+='&'+chName+'='+inputs[i].value;
			}
		}
		if (inputs[i].id.indexOf("roleadmin_sd")!=-1){
			if (inputs[i].checked){
				params+='&role_sd='+inputs[i].value;
			}
		}
		if (inputs[i].id.indexOf("roleadmin_fcm")!=-1){
			if (inputs[i].checked){
				params+='&role_fcm='+inputs[i].value;
			}
		}
		if (inputs[i].id.indexOf("roleadmin_ak")!=-1){
			if (inputs[i].checked){
				params+='&role_ak='+inputs[i].value;
			}
		}	
		if (inputs[i].id.indexOf("roleadmin_ur")!=-1){
			if (inputs[i].checked){
				params+='&role_ur='+inputs[i].value;
			}
		}	
		if (!isAdmin){
			if (inputs[i].id.indexOf("role_mapi")!=-1){
				if (inputs[i].checked){
					isMAPIChecked = true;
				}
			}else{
				if (inputs[i].id.indexOf("role_")!=-1){
					var chName = inputs[i].id;
					if (inputs[i].checked){
						tmpRoleParams+='&'+chName+'='+inputs[i].value;
					}else{
						isAllRoleChecked = false;
					}
				}
			}
		}
	}
	if ($('admin_flag')!=undefined){
		if (!isAdmin){
			if (isAllRoleChecked){
				params += '&role_0=1';
			}else{
				params += tmpRoleParams;
			}
			if (isMAPIChecked){
				params += '&role_mapi=17';
			}
		}
	}else{
		params += tmpRoleParams;
		if (isMAPIChecked){
			params += '&role_mapi=17';
		}
	}
	updateUserRequest.send(params);
}
deleteUser = function(userId){
	var params = '';	
	params += 'deleteUser=1';
	params += '&userId=' + userId;
	deleteUserRequest.send(params);
}

var populateSendMsgDateRequest = new Request({method: 'post', url: 'dateController'});

populateSendMsgDate = function(value){
	params = "sendMsgInterval=1&intervalType=" + value + '&random='+$random(-1000,1000);  
	populateSendMsgDateRequest.send(params);
}

populateSendMsgDateRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');	
	var monthFrom = $('selMonthFrom');
	var dayFrom = $('selDayFrom');
	var monthTo = $('selMonthTo');
	var dayTo = $('selDayTo');
	if (response.res == 1){
		for (var i=0; i < monthFrom.options.length; i++) {
			if(monthFrom.options[i].value == response.monthFrom){
				monthFrom.options[i].selected = true;
				$('bmonthfrom').value = response.monthFrom;
			}else{
				monthFrom.options[i].selected = false;
			}
		}
		for (var i=0; i < dayFrom.options.length; i++) {
			if(dayFrom.options[i].value == response.dayFrom){
				dayFrom.options[i].selected = true;
				$('bdayfrom').value = response.dayFrom;
			}else{
				dayFrom.options[i].selected = false;
			}
		}
		for (var i=0; i < monthTo.options.length; i++) {
			if(monthTo.options[i].value == response.monthTo){
				monthTo.options[i].selected = true;
				$('bmonthto').value = response.monthTo;
			}else{
				monthTo.options[i].selected = false;
			}
		}
		for (var i=0; i < dayTo.options.length; i++) {
			if(dayTo.options[i].value == response.dayTo){
				dayTo.options[i].selected = true;
				$('bdayto').value = response.dayTo;
			}else{
				dayTo.options[i].selected = false;
			}
		}
	}
}

goTokeyAssigned = function(page, curPage){
	var sortType = 'asc';
	var sort_asc = $('sort_asc_keyassigned'); 
	if(sort_asc.checked){
		sortType = 'asc';
	}else{
		sortType = 'desc';
	}
	var sortBy = $('sortby_keyassigned').value;
	$('assigned_tab').load('keyassigned?page=' + page + '&sortby=' + sortBy + '&sorttype=' + sortType + '&random='+$random(-1000,1000) + '&curPage=' + curPage);
	updateActionMenu();
}
goTokeyUnAssigned = function(page, curPage){
	var sortType = 'asc';
	var sort_asc = $('sort_asc_keyassigned'); 
	if(sort_asc.checked){
		sortType = 'asc';
	}else{
		sortType = 'desc';
	}
	var sortBy = $('sortby_keyassigned').value;
	$('unassigned_tab').load('keyunassigned?page=' + page + '&sortby=' + sortBy + '&sorttype=' + sortType + '&random='+$random(-1000,1000) + '&curPage=' + curPage);
	updateActionMenu();
}

updateKeywordPopupLists = function(curPage){
	goTokeyUnAssigned(1,curPage);
	goTokeyAssigned(1,curPage);
}
goToInsAssigned = function(page){
	var sortType = 'asc';
	var sort_asc = $('sort_asc_insassigned'); 
	if(sort_asc.checked){
		sortType = 'asc';
	}else{
		sortType = 'desc';
	}
	var sortBy = $('sortby_insassigned').value;
	$('ins_assigned_tab').load('insassigned?page=' + page + '&sortby=' + sortBy + '&sorttype=' + sortType + '&random='+$random(-1000,1000));
	//updateActionMenu();
}
goToInsUnAssigned = function(page){
	var sortType = 'asc';
	var sort_asc = $('sort_asc_insassigned'); 
	if(sort_asc.checked){
		sortType = 'asc';
	}else{
		sortType = 'desc';
	}
	var sortBy = $('sortby_insassigned').value;
	$('ins_unassigned_tab').load('insunassigned?page=' + page + '&sortby=' + sortBy + '&sorttype=' + sortType + '&random='+$random(-1000,1000));
	//updateActionMenu();
}

updateInterestsPopupLists = function(){
	goToInsUnAssigned(1);
	goToInsAssigned(1);
}

var memberInterestsRequest = new Request({method: 'post', url: 'app/managememberscontroller'});
var memberInterestsCheckRequest = new Request({method: 'post', url: 'app/managememberscontroller'});

pagingResultPopupAssignInterestSingleKeywordFirst = function(){
	pagingResultPopup($('memInDivName').value, $('memInInputName').value,1);
}
pagingResultPopupAssignInterestSingleKeywordLast = function(){
	pagingResultPopup($('memInDivName').value, $('memInInputName').value,$('numOfPage').value);
}
pagingResultPopupAssignInterestSingleKeywordPrev = function(){
	pagingResultPopup($('memInDivName').value, $('memInInputName').value,$('curPage').value-1);
}
pagingResultPopupAssignInterestSingleKeywordNext = function(){
	pagingResultPopup($('memInDivName').value, $('memInInputName').value,$('curPage').value-0+1);
}
orderResultPopupAssignInterestSingleKeyword = function(){
	orderResultPopup($('memInDivName').value, $('memInInputName').value);
}

//Manage members interests
memberInterestListsUpdate = function(){
	memberInterestListsHandler(0,0,1,1);
}

memberAssignedInterestListUpdate = function(){
	var params = 'actionname=interests_count';
	memberInterestsCheckRequest.send(params);
	memberInterestsCheckRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			if(response.selectedassign > 0)
				memberInterestListsHandler(1,0,0,0);
			else
				alert('Empty interests list cannot be assigned or removed. Select at least one interest to proceed.');
		}
	}
}

memberUnassignedInterestListUpdate = function(){
	var params = 'actionname=interests_count';
	memberInterestsCheckRequest.send(params);
	memberInterestsCheckRequest.onSuccess = function(responseText, responseXML){
		restartProviderSession();
		var response = eval('(' +  responseText + ')');
		if (response.res == 1){
			if(response.selectedunassign > 0)
				memberInterestListsHandler(0,1,0,0);
			else
				alert('Empty interests list cannot be assigned or removed. Select at least one interest to proceed.');
		}
	}
}

memberInterestListsPaging =  function(page_assignned, page_unassigned){
	memberInterestListsHandler(0,0,page_assignned,page_unassigned);
}

//Member's interests handler  
//0,0,0,0 - sort interests without current page's numbers reset
//0,0,1,1 - sort interests and reset pages to 1,1
//1,0,0,0 - un-assign member from selected interests and reset pages to 0,0
//0,1,0,0 - assign member to selected interests and reset pages to 0,0
memberInterestListsHandler = function(check_assign, check_unassign, page_assignned, page_unassigned){
	var orderBy = 'asc';
	var oreder_asc = $('sort_asc_insassigned'); 
	if(oreder_asc.checked){
		orderBy = 'asc';
	}else{
		orderBy = 'desc';
	}
	
	var sortBy = $('sortby_insassigned').value;
	if(sortBy == 1)
		sortBy = 'interest';
	else if(sortBy == 2)
		sortBy = 'keyword';
	else if(sortBy == 3)
		sortBy = 'status';
	
	var memberId = $('member_id').value;
	var pageSize   = $('page_size').value;
	
	var assignedPageNumber = 1;
	if(page_assignned<=0)
		assignedPageNumber = $('assigned_page_num').value;
	else
		assignedPageNumber = page_assignned;
	
	var unassignedPageNumber = 1;
	if(page_unassigned<=0)
		unassignedPageNumber = $('unassigned_page_num').value;
	else
		unassignedPageNumber = page_unassigned;
	
	var params = 'actionname=update_interests_visual';
	params += '&sortby=' + sortBy;
	params += '&orderby=' + orderBy;
	params += '&memberid=' + memberId;
	params += '&pagesize=' + pageSize;
	params += '&pagenumber_assign=' + assignedPageNumber;
	params += '&pagenumber_unassign=' + unassignedPageNumber;
	
	if(check_assign == 1){
		params += '&unassign=1';
	}
	
	if(check_unassign == 1){
		params += '&assign=1';
	}
	
	memberInterestsRequest.send(params);
}

loadDefaultMemberInterestLists = function(memberId){
	memberInterestsRequest.send('actionname=set_interests_defaults&memberid=' + memberId);
}

updateMeberInterestsState = function(){
	memberInterestsRequest.send('actionname=update_interests_data_base');
}

memberInterestsRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
	synchManageMembersInterestsFlag = true;
	
	var response = eval('(' +  responseText + ')');
	
	if (response.res == 1){
		if(response.pageuna == 0)
			response.pageuna = $('unassigned_page_num').value;
		if(response.pagea == 0)
			response.pagea = $('assigned_page_num').value;
		
		if(response.sortby == 'interest')
			response.sortby = 1;
		else if(response.sortby == 'keyword')
			response.sortby = 2;
		else if(response.sortby == 'status')
			response.sortby = 3;
		
		$('ins_unassigned_tab').load('insunassigned?page=' + response.pageuna + '&sortby=' + response.sortby + '&orderby=' + response.orderby + '&random='+$random(-1000,1000));
		$('ins_assigned_tab').load('insassigned?page=' + response.pagea + '&sortby=' + response.sortby + '&orderby=' + response.orderby + '&random='+$random(-1000,1000));
		
		setTimeout( function () {
			updateMeberInterestsState();
			}, 500
		);
	}
	//updateActionMenu();
}

updateMemberInterestState = function (interestId){
	var params = 'actionname=update_interest_state';
	params += '&interestid=' + interestId;
	//memberInterestsRequest.send(params);
	manageMembersInterestsList.push(params);
}

updateMemberAllAssign = function(){
	var params = 'actionname=update_interest_state';
	params += '&allassign=1';
	//memberInterestsRequest.send(params);
	manageMembersInterestsList.push(params);
}

updateMemberAllUnassign = function(){
	var params = 'actionname=update_interest_state';
	params += '&allunassign=1';
	//memberInterestsRequest.send(params);
	manageMembersInterestsList.push(params);
}

/**
 * Manage members interests server synchronization routines 
 */

var manageMembersInterestsList = new Array();
var synchManageMembersInterestsFlag = true;

synchManageMembersInterests = function() {
	
	if (manageMembersInterestsList.length > 0 && synchManageMembersInterestsFlag == true) {
		synchManageMembersInterestsFlag = false;
		memberInterestsRequest.send(manageMembersInterestsList.shift());
	}
	
	setTimeout(function () {
		synchManageMembersInterests();
	}, 100);
}

manageMembersInteretsResult = function() {
	if (manageMembersInterestsList.length == 0 && synchManageMembersInterestsFlag == true) 
		return true;
	else
		return false;
}

////

goToInsInterestsPopup = function(page, sortType, sortBy){
	$('interestspopuptable').load('interestspopuptable?page=' + page + '&sortby=' + sortBy + '&sorttype=' + sortType + '&random='+$random(-1000,1000));
}
updateInsInterestsPopup = function(){
	$('interestspopuptable').load('interestspopuptable?page=1&random='+$random(-1000,1000));
}

var saveInterestRequest = new Request({method: 'post', url: 'app/interestspagecontroller'});

/*
editUserValidation = function(){
	var errors = [];
	
	if() {errors.push("Privacy for Profile has not been selected")}
	return errors;
	
}
*/
//$('numFilterAssign')
//$('numAllAssign')
//$('numFilterAval')
//$('numAllAval')
//}
var checkZipRequest = new Request({method: 'post', url: 'filterController'});
var checkZipSaveRequest = new Request({method: 'post', url: 'filterController'});


var checkPhoneRequest = new Request({method: 'post', url: 'app/managememberscontroller'});

var updateMemberRequest = new Request({method: 'post', url: 'app/managememberscontroller'});

setPhoneToInput = function(userId){
	var params = '';
	params += 'checkMemberPhone=1';
	params += '&userId=' + userId;
	checkPhoneRequest.send(params);
}

checkPhoneFunc = function(){
	var phoneErrors = phoneValidation();
	if(phoneErrors.length != 0){
		$('errorMsg').innerHTML = buildError2(phoneErrors); 
		return false;
	}else{
		$('errorMsg').innerHTML = ""; 
		var params = '';
		params += 'checkMemberPhone=1';
		params += '&areacode='+ escapePlus($('frm_addmember_mobile_area').value);
		params += '&exchange='+ escapePlus($('frm_addmember_mobile_prefix').value);
		params += '&line='+ escapePlus($('frm_addmember_mobile_suffix').value);
		checkPhoneRequest.send(params);
		return true;
	}
}

updateMemberData = function(userId, curPage){
	var params = '';
	params += 'changeMemberData=1';
	params += '&areacode='+ escapePlus($('frm_addmember_mobile_area').value);
	params += '&exchange='+ escapePlus($('frm_addmember_mobile_prefix').value);
	params += '&line='+ escapePlus($('frm_addmember_mobile_suffix').value);
	
	params += '&firstName=' + escapePlus($('frm_addmember_name_f').value);
	params += '&lastName=' + escapePlus($('frm_addmember_name_l').value);
	params += '&email=' + escapePlus($('frm_addmember_email').value);
	params += '&street1=' + escapePlus($('frm_addmember_add1').value);
	params += '&street2=' + escapePlus($('frm_addmember_add2').value);
	params += '&city=' + escapePlus($('frm_addmember_city').value);
	params += '&state=' + escapePlus($('frm_addmember_state').value);
	params += '&zip=' + escapePlus($('frm_addmember_zip').value);
	if($('frm_addmember_gender_m').checked){
		params += '&gender=M';
	}else{
		if($('frm_addmember_gender_f').checked){
			params += '&gender=F';
		}else{
			params += '&gender=';
		}
	}
	params += '&birthMonth=' + $('frm_addmember_dob_m').value;
	params += '&birthDay=' + $('frm_addmember_dob_d').value;
	params += '&birthYear=' + $('frm_addmember_dob_y').value;
	
	if($('frm_addmember_mobilecarrier').value!=""){
		params += '&optitMobileCarrier=' + $('frm_addmember_mobilecarrier').value;
	}
	if(userId!=0){
		params += '&editMem=1';
		params += '&userId=' + userId;
	}
	params += '&curPage=' + curPage;
	updateMemberRequest.send(params);
}
checkPhoneRequest.onSuccess = function(responseText,responseXML){
	
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	
	if($('infoMsg') != null)
		$('infoMsg').innerHTML = '';
	
	if (response.res == 2){
		$('PopupTitle').innerHTML = 'Add member';
		var err_value = 'Mobile number ('+ $('frm_addmember_mobile_area').value +') '+ $('frm_addmember_mobile_prefix').value +'-'+ $('frm_addmember_mobile_suffix').value +' is already in use by a provider and cannot be modified.';
		err_value = '<div id="errorMsg"><div class="msgerror" style="min-height: 30px;">' + err_value + '</div></div>';		
		$('errorMsg').innerHTML = buildError(err_value);
		enableinputs($('frm_addmember_step1'));
		disableinputs($('frm_addmember_step2'));
		addMemberRedraw();
		return;
	}
	if($('validMsg') == null)
		var validationmsg = new Element('div', {'class': 'msgsuccess', id:'validMsg', 'html': ''}).inject($('frm_addmember_step1'), 'after');	
	if (response.res == 1){
		$('PopupTitle').innerHTML = 'Edit member';
		var phoneNumberText = ""; 
		if (response.phone){
			$('frm_addmember_mobile_area').value = response.areacode;
			$('frm_addmember_mobile_prefix').value = response.exchange;
			$('frm_addmember_mobile_suffix').value = response.line;
			phoneNumberText = '(' + response.areacode + ') ' + response.exchange + '-' + response.line; 
		}else{
			phoneNumberText = '('+ $('frm_addmember_mobile_area').value +') '+ $('frm_addmember_mobile_prefix').value +'-'+ $('frm_addmember_mobile_suffix').value 
		}
		if ($('validMsg')){
			$('validMsg').innerHTML = 'Mobile number  '+ phoneNumberText  +' is already registered. You can edit the member information below.';
		}
		$('frm_addmember_name_f').value = response.contact.firstName.replace(/&#039;/g,'\'');
		$('frm_addmember_name_l').value = response.contact.lastName.replace(/&#039;/g,'\'');
		$('frm_addmember_email').value = response.contact.email.replace(/&#039;/g,'\'');
		$('frm_addmember_add1').value = response.contact.street1.replace(/&#039;/g,'\'');
		$('frm_addmember_add2').value = response.contact.street2.replace(/&#039;/g,'\'');
		$('frm_addmember_city').value = response.contact.city.replace(/&#039;/g,'\'');
		$('mobileStatus').innerHTML = response.contact.mobileStatus;
		
		for (i=0;i<$('frm_addmember_mobilecarrier').options.length;i++){
			if($('frm_addmember_mobilecarrier').options[i].value == response.contact.mobileCarrier){
				$('frm_addmember_mobilecarrier').options[i].selected = true;
			}
		}
		for (i=0;i<$('frm_addmember_state').options.length;i++){
			if($('frm_addmember_state').options[i].value == response.contact.state){
				$('frm_addmember_state').options[i].selected = true;
			}
		}
		
		$('frm_addmember_zip').value = response.contact.postalcode.replace(/&#039;/g,'\'');
		
		if (response.contact.gender == 'F' || response.contact.gender =='f'){
			$('frm_addmember_gender_f').checked = true; 
		}
		if ( response.contact.gender== 'M' || response.contact.gender=='m'){
			$('frm_addmember_gender_m').checked = true;
		}
		for (i=0;i<$('frm_addmember_dob_m').options.length;i++){
			if( $('frm_addmember_dob_m').options[i].value == response.contact.month){
				$('frm_addmember_dob_m').options[i].selected = true;
			}
		}
		
		for (i=0;i<$('frm_addmember_dob_d').options.length;i++){
			if($('frm_addmember_dob_d').options[i].value == response.contact.day){
				$('frm_addmember_dob_d').options[i].selected = true;
			}
		}
		for (i=0;i<$('frm_addmember_dob_y').options.length;i++){
			if($('frm_addmember_dob_y').options[i].value == response.contact.year){
				$('frm_addmember_dob_y').options[i].selected = true;
			}
		}
	}
	if (response.res == 0){
		$('PopupTitle').innerHTML = 'Add member';
		$('validMsg').innerHTML = 'Mobile number ('+ $('frm_addmember_mobile_area').value +') '+ $('frm_addmember_mobile_prefix').value +'-'+ $('frm_addmember_mobile_suffix').value +' has not been registered yet.';
		$('mobileStatus').innerHTML = 'Active';
	}
	
	enableinputs($('frm_addmember_step2'));
	disableinputs($('frm_addmember_step1'));
	$('frm_addmember_name_f').focus();
	addMemberRedraw();
	
}
updateMemberRequest.onSuccess = function(responseText,responseXML){
	restartProviderSession();
	var response = eval('(' +  responseText + ')');
	if (response.res == -1)
		return;
	if (response.res == 1){
		$(response.divId).load(response.pageName+'?curPage=' + response.curPage + '&random='+$random(-1000,1000)) ;
	}
	if (response.editMemFlag){
		Popup.show(null, {size:'short', modal:true, wtitle:'Confirmation'});
		var sample5 = new Element('div', {'id':'popup_confirm', 'html':'<div style="margin-top:15px;margin-left:70px;padding-bottom:0"><p style="line-height:20px;padding-left:22px;margin-bottom:15px" class="msgsuccess">Member edit successfully.</p><input type="button" id="msg_ok" value="Close" style="margin-bottom:0;float:left"/></div>'}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			Popup.hide(); 
		});
	} else if(response.errormessage) {
		Popup.show(null, {size:'short', modal:true, wtitle:'Alert'});
		var sample5 = new Element('div', {'id':'popup_confirm', 'html':'<div style="margin-top:15px;margin-left:15px;padding-bottom:0"><p style="line-height:20px;padding-left:22px;margin-bottom:15px" class="msgerror">'+response.errormessage+'</p><input type="button" id="msg_ok" value="Close" style="margin-bottom:0;float:left"/></div>'}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			Popup.hide(); 
		});
	} else {
		Popup.show(null, {size:'short', modal:true, wtitle:'Confirmation'});
		var sample5 = new Element('div', {'id':'popup_confirm', 'html':'<div style="margin-top:15px;margin-left:70px;padding-bottom:0"><p style="line-height:20px;padding-left:22px;margin-bottom:15px" class="msgsuccess">Member added successfully.</p> <input type="button" id="msg_ok" value="Add another member" style="margin-bottom:0;float:left;margin-right:10px"/> <input type="button" id="msg_cancel" value="Close" style="margin-bottom:0;float:left"/></div>'}).injectInside('PopupContent');
		$('msg_ok').addEvent('click', function(){
			showAddmemberPopup(); 
		});
		$('msg_cancel').addEvent('click', function(){
			Popup.hide(); 
		});
	}
}
var testtest = 0;
//var userNameRegExp = new RegExp('^[a-zA-Z0-9]+$');
var phone1RegExp = new RegExp('[0-9]{3}');
var phone2RegExp = new RegExp('[0-9]{4}');

phoneValidation = function(){
	var errors = [];
	if(!phone1RegExp.test($('frm_addmember_mobile_area').value)) {errors.push('Invalid area code. Area code must match "NNN" template, where "N" is a number.')}
	if(!phone1RegExp.test($('frm_addmember_mobile_prefix').value)) {errors.push('Invalid exchange. Exchange must match "NNN" template, where "N" is a number.')}
	if(!phone2RegExp.test($('frm_addmember_mobile_suffix').value)) {errors.push('Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.')}
	return errors;
}

var getAddMemberRequest = new Request({method: 'post', url: 'app/addmemberpopuptablescontroller'});

addMemberKeywordSelectAll = function()
{
	var params = '';
	    params += 'keywordsSelectAll=do';
	    params += addMemberGetTablesParameters();
	
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){	
		if (inputs[i].id == "keyword_select_all_add_member_id"){
			if (inputs[i].checked == true)
				params += '&keyword_select_all_add_member=checked';
			else
				params += '&keyword_select_all_add_member=unchecked';
		}
	}
	getAddMemberRequest.send(params);
}

addMemberKeywordSelect = function()
{
	var params = '';
	    params += 'keywordsSelect=do';
	    params += addMemberGetTablesParameters();
		
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){	
		if (inputs[i].id.indexOf("keyword_add_member_")!=-1){
			var chName = inputs[i].value;
			if (inputs[i].checked == true){
				params+='&'+chName+'=checked';
			} else {
				params+='&'+chName+'=unchecked';
			}
		}
	}
	getAddMemberRequest.send(params);
}

addMemberInterestSelectAll = function()
{
	var params = '';
		params += 'interestsSelectAll=do';
		params += addMemberGetTablesParameters();
	
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){	
		if (inputs[i].id == "interest_select_all_add_member_id"){
			if (inputs[i].checked == true)
				params += '&interest_select_all_add_member=checked';
			else
				params += '&interest_select_all_add_member=unchecked';
		}
	}
	getAddMemberRequest.send(params);
}

addMemberInterestSelect = function()
{
	var params = '';
		params += 'interestsSelect=do';
		params += addMemberGetTablesParameters();
	
	var inputs = document.getElementsByTagName('input');
	for (i=0;i<inputs.length;i++){	
		if (inputs[i].id.indexOf("interest_add_member_")!=-1){
			var chName = inputs[i].value;
			if (inputs[i].checked == true){
				params+='&'+chName+'=checked';
			} else {
				params+='&'+chName+'=unchecked';
			}
		}
	}
	getAddMemberRequest.send(params);
}

addMemberRedraw = function(){
    var params = 'empty';
    	params += addMemberGetTablesParameters();
    getAddMemberRequest.send(params);
}

addMemberReset = function() {
	var params = 'reset=do';
	getAddMemberRequest.send(params);
}

addMemberMakeKeywordsTable = function(hardStop, blockedFlag, ignoreHardStop, selectAll, keywordsList) {

	var htmlString = '';
	htmlString += '<table cellspacing="0" class="tableJBTable selectallparent">';
	
	if(keywordsList.length == 0){
		htmlString += '<tr>';
		htmlString += '<th class="selectall checkcol"><span>Add</span> <input type="checkbox" class="checkbox" title="Select all" id="keyword_select_all_add_member_id" name="keyword_select_all_add_member" onclick="addMemberKeywordSelectAll()"';
			if(selectAll == true) htmlString += 'checked="checked"';
		htmlString += '> </th>';
		htmlString += '<th>Keyword</th>';
		htmlString += '<th>Name</th>';
		htmlString += '<th style="text-align:center">Subscriptions</th>';
	htmlString += '</tr>';
		htmlString += '<tr class="oddJBTable nodata">';
			htmlString += '<td colspan="4">No data to display.</td>';
		htmlString += '</tr>';
	htmlString += '</table>';
	
	} else {
		
		htmlString += '<tr>';
			htmlString += '<th class="selectall checkcol"><span>Add</span> <input type="checkbox" class="checkbox" title="Select all" id="keyword_select_all_add_member_id" name="keyword_select_all_add_member" onclick="addMemberKeywordSelectAll()"';
				if(selectAll == true) htmlString += 'checked="checked"';
				htmlString += '> </th>';
				htmlString += '<th>Keyword</th>';
				htmlString += '<th>Name</th>';
				htmlString += '<th style="text-align:center">Subscriptions</th>';
		htmlString += '</tr>';

		if(blockedFlag != true && ignoreHardStop == true) {

			var htmlRecords = '';
			for(var i = 0; i < keywordsList.length; i++){
				htmlRecords += '<tr onclick="addMemberKeywordSelect()" class="' + ((i+1)%2==0?"even":"odd") + 'JBTable amoff ' + ((keywordsList[i].checked == 'true')? 'selected"':'"') + '>';
					htmlRecords += '<td class="checkcol">';
						htmlRecords += '<label>';
						htmlRecords += '<input type="checkbox" class="checkbox" id="keyword_add_member_' + i + '" name="keyword_add_member_' + i + '" value="' + keywordsList[i].keyword + '"';
						if(keywordsList[i].checked == 'true')
							htmlRecords += 'checked="checked"';
						htmlRecords += '/>';
						htmlRecords += '</label>';
					htmlRecords += '</td>';
					htmlRecords += '<td>';
						htmlRecords += keywordsList[i].keyword;
					htmlRecords += '</td>';
					htmlRecords += '<td>';
						htmlRecords += keywordsList[i].name;
					htmlRecords += '</td>';
					htmlRecords += '<td style="text-align:center">';
						if(keywordsList[i].listStatus == 'true'){
							//<!--!hide! start -->
							//htmlRecords += '<span title="Community" class="comsub">Community</span>';
							//<!--!hide! end -->
						}
						if(keywordsList[i].listTextMe == 'true'){						
							htmlRecords += '<span title="Mobile" class="mobsub">Mobile</span>';
						}
					htmlRecords += '</td>';
				htmlRecords += '</tr>';
			}
			
		} else {
			
			var htmlRecords = '';
			for(var i = 0; i < keywordsList.length; i++){
			
				if(keywordsList[i].hardStop == 'true'){
					htmlRecords += '<tr class="' + ((i+1)%2==0?"even":"odd") + 'JBTable amoff ' + ((keywordsList[i].checked == 'true')? 'selected"':'"') + '>';
					htmlRecords += '<td class="checkcol">';
						htmlRecords += '<label>';
						htmlRecords += '<input type="hidden" class="checkbox" id="keyword_add_member_' + i + '" name="keyword_add_member_' + i + '" value="' + keywordsList[i].keyword + '"';
						if(keywordsList[i].checked == 'true')
							htmlRecords += 'checked="checked"';
						htmlRecords += '/>';
						htmlRecords += '</label>';
					htmlRecords += '</td>';
				}else{
					htmlRecords += '<tr onclick="addMemberKeywordSelect()" class="' + ((i+1)%2==0?"even":"odd") + 'JBTable amoff ' + ((keywordsList[i].checked == 'true')? 'selected"':'"') + '>';
					htmlRecords += '<td class="checkcol">';
						htmlRecords += '<label>';
						htmlRecords += '<input type="checkbox" class="checkbox" id="keyword_add_member_' + i + '" name="keyword_add_member_' + i + '" value="' + keywordsList[i].keyword + '"';
						if(keywordsList[i].checked == 'true')
							htmlRecords += 'checked="checked"';
						htmlRecords += '/>';
						htmlRecords += '</label>';
					htmlRecords += '</td>';
				}
				
				htmlRecords += '<td>';
					htmlRecords += keywordsList[i].keyword;
				htmlRecords += '</td>';
				htmlRecords += '<td>';
					htmlRecords += keywordsList[i].name;
				htmlRecords += '</td>';
				
				if(keywordsList[i].hardStop == 'true'){
					htmlRecords += '<td style="text-align:center;color:red;">';
					htmlRecords += 'Unsubscribed';
				}else{
					htmlRecords += '<td style="text-align:center">';
					if(keywordsList[i].listStatus == 'true'){
						//<!--!hide! start -->
						//htmlRecords += '<span title="Community" class="comsub">Community</span>';
						//<!--!hide! end -->
					}
					if(keywordsList[i].listTextMe == 'true'){
						htmlRecords += '<span title="Mobile" class="mobsub">Mobile</span>';
					}
				}
				
				htmlRecords += '</td>';
				htmlRecords += '</tr>';
			}
		}
		htmlString += htmlRecords;
		htmlString += '</table>';
	}
	$('frm_addmember_keywords').innerHTML = htmlString;
}

addMemberMakeInterestsTable = function(selectAll, interestsList) {
	
	var htmlString = '';
	htmlString += '<table cellspacing="0" class="tableJBTable selectallparent">';
	//alert('interestsList.length:'+interestsList.length);
	if(interestsList.length == 0){
		htmlString +='<tr>';
			htmlString += '<th class="selectall checkcol"><span>Add</span><input type="checkbox" class="checkbox" title="Select all"';
				if(selectAll == true) htmlString += 'checked="checked"';
			htmlString += '> </th>';
			htmlString += '<th>Interest</th>';
			htmlString += '<th>Keyword</th>';
			htmlString += '<th>Description</th>';
		htmlString += '</tr>';
		htmlString += '<tr class="oddJBTable nodata">';
			htmlString += '<td colspan="4">No data to display.</td>';
		htmlString += '</tr>';
	htmlString += '</table>';
	
	} else {
		
		htmlString += '<tr>';
			htmlString += '<th class="selectall checkcol"><span>Add</span> <input type="checkbox" class="checkbox" title="Select all" id="interest_select_all_add_member_id" name="interest_select_all_add_member" onclick="addMemberInterestSelectAll()"';
				if(selectAll == true) htmlString += 'checked="checked"';
			htmlString += '> </th>';
			htmlString += '<th>Interest</th>';
			htmlString += '<th>Keyword</th>';
			htmlString += '<th>Description</th>';
		htmlString += '</tr>';
		
		var htmlRecords = '';
		for(var i = 0; i < interestsList.length; i++){
			htmlRecords += '<tr onclick="addMemberInterestSelect()" class="' + ((i+1)%2==0?"even":"odd") + 'JBTable amoff ' + ((interestsList[i].checked == 'true')? 'selected"':'"') + '>';
				htmlRecords += '<td class="checkcol">';
					htmlRecords += '<label>';
						htmlRecords += '<input type="checkbox" class="checkbox" id="interest_add_member_' + i + '" name="interest_add_member_' + i + '" value=' + '"id' + interestsList[i].id + '"';
						if(interestsList[i].checked == 'true')
							htmlRecords += 'checked="checked"';
						htmlRecords += '/>';
					htmlRecords += '</label>';
				htmlRecords += '</td>';
				htmlRecords += '<td>';
					htmlRecords += interestsList[i].name;
				htmlRecords += '</td>';
				htmlRecords += '<td>';
					htmlRecords += interestsList[i].keywordName;
				htmlRecords += '</td>';
				htmlRecords += '<td>';
					htmlRecords += interestsList[i].description;
				htmlRecords += '</td>';
			htmlRecords += '</tr>';
		}
		
		htmlString += htmlRecords;
		htmlString += '</table>';
	}
	
	$('frm_addmember_interests').innerHTML = htmlString;
}

addMemberMakeKeywordsControls = function(curPage, allPages, numOfKeywords, orderBy, sort) {
	
	var htmlString = '';
	if(numOfKeywords>0){
		htmlString += '<label for="field3">Order results by: </label>';
		htmlString += '<select id="field3" name="field3" onchange="addMemberKeywordsSorting()">';
		if(orderBy == 2){
			htmlString += '<option value="3" >Selected</option>';
			htmlString += '<option value="1" >Keyword</option>';
			htmlString += '<option selected="selected" value="2" >Name</option>';
		}
		else if(orderBy == 3){
			htmlString += '<option selected="selected" value="3" >Selected</option>';
			htmlString += '<option value="1" >Keyword</option>';
			htmlString += '<option value="2" >Name</option>';
		}else{
			htmlString += '<option value="3" >Selected</option>';
			htmlString += '<option selected="selected" value="1" >Keyword</option>';
			htmlString += '<option value="2" >Name</option>';
		}
	htmlString += '</select>';

	if(sort == 'ASC'){
		htmlString += '<label for="sort_asc3" class="sort_asc"><input type="radio" id="sort_asc3" name="sort3" checked="checked" onclick="addMemberKeywordsSorting()"/> Ascending</label>';
		htmlString += '<label for="sort_desc3" class="sort_desc"><input type="radio" id="sort_desc3" name="sort3" onclick="addMemberKeywordsSorting()" /> Descending</label>';
	}else{
		htmlString += '<label for="sort_asc3" class="sort_asc"><input type="radio" id="sort_asc3" name="sort3" onclick="addMemberKeywordsSorting()"/> Ascending</label>';
		htmlString += '<label for="sort_desc3" class="sort_desc"><input type="radio" id="sort_desc3" name="sort3"  checked="checked" onclick="addMemberKeywordsSorting()"/> Descending</label>';
	}

		htmlString += '<div class="paging" id="keywords_paging">';
		
			if(curPage>1){
				htmlString += '<input type="button" class="page_first" onclick="addMemberKeywordsPaging(&#039;first&#039;)" value="First"/>'; 
				htmlString += '<input type="button" class="page_back" onclick="addMemberKeywordsPaging(&#039;back&#039;)" value="Back"/>';
			}else{
				htmlString += '<span class="page_first">First</span>'; 
				htmlString += '<span class="page_back">Back</span>';
			}
		
			htmlString += '<span>' + curPage + ' of ' + allPages + '</span>';

			if(curPage==allPages){
				htmlString += '<span class="page_next">Next</span>';
				htmlString += '<span class="page_last">Last</span>';
			}else{
				htmlString += '<input type="button" class="page_next" onclick="addMemberKeywordsPaging(&#039;next&#039;)" value="Next"/>';
				htmlString += '<input type="button" class="page_last" onclick="addMemberKeywordsPaging(&#039;last&#039;)" value="Last"/>';
			}
		htmlString += '</div>';
	} else {
		htmlString += '<input type="hidden" class="order_by" id="field3" name="field3" value="1"/>';
		htmlString += '<input type="hidden" class="sort_asc" id="sort_asc3" name="sort3" checked="checked" value="ASC"/>';
		htmlString += '<input type="hidden" class="sort_desc" id="sort_desc3" name="sort3" value="DESC"/>';
	}
	htmlString += '<input type="hidden" class="keywords_page_num" id="keywords_page_num" value="'+ curPage + '"' + '/>';
	$('add_member_keywords_sort').innerHTML = htmlString;
}

addMemberMakeInteretsControls = function(curPage, allPages, numOfInterests, orderBy, sort) {
	
	var htmlString = '';
	if(numOfInterests>0){
		htmlString += '<label for="field31">Order results by: </label>';
		htmlString += '<select id="field31" name="field31" onchange="addMemberInterestsSorting()">';		
		htmlString += '<option value="6"';
			if(orderBy == 6) {htmlString += 'selected="selected"'; }
		htmlString += '>Selected</option>';		
		htmlString += '<option value="5"';
			if(orderBy == 5) {htmlString += 'selected="selected"'; }
		htmlString += '>Keyword</option>';		
		htmlString += '<option value="4"';
			if(orderBy == 4) {htmlString += 'selected="selected"'; }		
		htmlString += '>Interest</option>';
		/*
		if(orderBy == 5){
			htmlString += '<option value="6" >Selected</option>';
			htmlString += '<option value="5" >Keyword</option>';
			htmlString += '<option selected="selected" value="4" >Name</option>';
		}
		else if(orderBy == 6){
			htmlString += '<option selected="selected" value="6" >Selected</option>';
			htmlString += '<option value="5" >Keyword</option>';
			htmlString += '<option value="4" >Name</option>';
		}else{
			htmlString += '<option value="6" >Selected</option>';
			htmlString += '<option selected="selected" value="5" >Keyword</option>';
			htmlString += '<option value="4" >Name</option>';
		}
		 */
	htmlString += '</select>';
		
		htmlString += '<label for="sort_asc31" class="sort_asc"><input type="radio" id="sort_asc31" name="sort31" ';
		if(sort == 'ASC'){ htmlString += 'checked="checked"';} 
		htmlString += ' onclick="addMemberInterestsSorting()"/> Ascending</label>';
		htmlString += '<label for="sort_desc31" class="sort_desc"><input type="radio" id="sort_desc31" name="sort31" ';
		if(sort == 'DESC'){ htmlString += 'checked="checked"';}			
		htmlString += ' onclick="addMemberInterestsSorting()"/> Descending</label>';
		/*
	}else{
		htmlString += '<label for="sort_asc31" class="sort_asc"><input type="radio" id="sort_asc31" name="sort31" onclick="addMemberInterestsSorting()"/> Ascending</label>';
		htmlString += '<label for="sort_desc31" class="sort_desc"><input type="radio" id="sort_desc31" name="sort31"  checked="checked" onclick="addMemberInterestsSorting()"/> Descending</label>';
	}
		*/
		htmlString += '<div class="paging" id="interests_paging">';
			
			if(curPage>1){
				htmlString += '<input type="button" class="page_first" onclick="addMemberInterestsPaging(&#039;first&#039;)" value="First"/>'; 
				htmlString += '<input type="button" class="page_back" onclick="addMemberInterestsPaging(&#039;back&#039;)" value="Back"/>';
			}else{
				htmlString += '<span class="page_first">First</span>'; 
				htmlString += '<span class="page_back">Back</span>';
			}
		
			htmlString += '<span>' + curPage + ' of ' + allPages + '</span>';

			if(curPage==allPages){
				htmlString += '<span class="page_next">Next</span>';
				htmlString += '<span class="page_last">Last</span>';
			}else{
				htmlString += '<input type="button" class="page_next" onclick="addMemberInterestsPaging(&#039;next&#039;)" value="Next"/>';
				htmlString += '<input type="button" class="page_last" onclick="addMemberInterestsPaging(&#039;last&#039;)" value="Last"/>';
			}
		htmlString += '</div>';
	} else {
		htmlString += '<input type="hidden" class="order_by" id="field31" name="field31" value="4"/>';
		htmlString += '<input type="hidden" class="sort_asc" id="sort_asc31" name="sort31" checked="checked" value="ASC"/>';
		htmlString += '<input type="hidden" class="sort_desc" id="sort_desc31" name="sort31" value="DESC"/>';
	}
	htmlString += '<input type="hidden" class="interests_page_num" id="interests_page_num" value="'+ curPage + '"' + '/>';
	$('add_member_interests_sort').innerHTML = htmlString;
}
	
addMemberGetTablesParameters = function() {
	var params= '';
	var orderKeywordsBy = $('field3').value;
	var curKeywordsPage = $('keywords_page_num').value;
	var sortKeywords = '';
	
	var orderInterestsBy = $('field31').value;
	var curInterestsPage = $('interests_page_num').value;
	var sortInterests = '';
	
	params += '&orderKeywordsBy=' + orderKeywordsBy;
	if($('sort_asc3').checked == true)
		params += '&sortKeywords=ASC';
	else
		params += '&sortKeywords=DESC';
	params += '&curKeywordsPage=' + curKeywordsPage;
	
	params += '&orderInterestsBy=' + orderInterestsBy;
	if($('sort_asc31').checked == true)
		params += '&sortInterests=ASC';
	else
		params += '&sortInterests=DESC';
	params += '&curInterestsPage=' + curInterestsPage;
	
	return params;
}

getAddMemberRequest.onSuccess = function(responseText, responceXML) {
	restartProviderSession();
	
	var response = eval('(' +  responseText + ')');
	
	if(response.res){
		
		addMemberMakeKeywordsTable(response.hardStop, response.blockedFlag, response.ignoreHardStop,
				response.selectAllKeywords, response.communitiesCheckit);
		addMemberMakeInterestsTable(response.selectAllInterests, response.interestsCheckit);
		
		addMemberKeywordsOutput(response.numOfKeywords, response.numOfAssignKeywords);
		addMemberInterestsOutput(response.numOfInterests, response.numOfAssignInterests);
		
		addMemberMakeKeywordsControls(response.curKeywordsPage, response.numOfKeywordsPages, response.numOfKeywords,
									response.orderKeywordsBy, response.sortKeywords);
		addMemberMakeInteretsControls(response.curInterestsPage, response.numOfInterestsPages, response.numOfInterests,
									response.orderInterestsBy, response.sortInterests);
	}
	//else{
	//	alert('error: can\'t get keywords and it\'s interests');
	//}
}

addMemberKeywordsOutput = function(total, selected)
{
	var htmlString = total + ' Keywords ('+selected+' assigned)';
	$('results_total_keywords_id').innerHTML = htmlString;
}

addMemberInterestsOutput = function(total, selected)
{
	var htmlString = total + ' Interests ('+selected+' assigned)';
	$('results_total_interests_id').innerHTML = htmlString;
}

addMemberKeywordsSorting = function(){
    var params = 'empty';
    	params += addMemberGetTablesParameters();
    getAddMemberRequest.send(params);
}

addMemberInterestsSorting = function(){
    var params = 'empty';
    	params += addMemberGetTablesParameters();
    getAddMemberRequest.send(params);
}

addMemberKeywordsPaging = function(page){
	var params = 'keywordsPageState=' + page; 
		params += addMemberGetTablesParameters();
	getAddMemberRequest.send(params);
}

addMemberInterestsPaging = function(page){
	var params = 'interestsPageState=' + page;
		params += addMemberGetTablesParameters();
	getAddMemberRequest.send(params);
}

setResTotalKeywords = function(num){
	$('resKeywordsTotal').innerHTML = num + " Keywords";
}
setResTotalMessages = function(num){
	$('resMessagesTotal').innerHTML = num + " Messages";
}
setResTotalInbox = function(num){
	$('resInboxTotal').innerHTML = num + " Messages";
}

setResTotalMessagesCassandra = function(num){
	$('resMessagesTotalCassandra').innerHTML = "Sent Messages (" + num + ")";
}
setResTotalMessagesNotCassandra =  function(num){
	$('resMessagesTotalNotCassandra').innerHTML = "Scheduled Messages (" + num + ")";
}
/*
setResTotalSubKeywords = function(num){
	var htmlString = num + ' Sub-keywords';
	$('resSubKeywordsTotal').innerHTML = htmlString;
}
*/
var subKeywordsRequest = new Request({method: 'post', url: 'subKeywordsController'});


showSubkeywordsPopup2 = function(keywordId){
	var params = '';
	params += 'setKeywordId=1';
	params += '&keywordId=' + keywordId;
	subKeywordsRequest.send(params);
}
subKeywordsRequest.onSuccess = function(){
	restartProviderSession();
	showSubkeywordsPopup();
}

var saveNewKeywordDataRequest = new Request({method: 'post', url: 'keywordsController'});

var saveNewCampaingRequest = new Request({method: 'post', url: 'keywordsController'});

saveNewCampaign = function(){
	if($('campaign_createnew_name').value == ''){
		var errorTxt = 'Campaign Name is empty.';
		//subKeywordValidation("keyword");
		var length = $('errorMsg').innerHTML.length;
		if (length==0 || $('errorMsg').innerHTML.indexOf('Campaign Name is empty.')!=-1 ){
			var error = [];
			error.push(errorTxt);            
			$('errorMsg').innerHTML = buildError2(error);
		}else{
			$('errorMsg').innerHTML =  $('errorMsg').innerHTML.substring(0, length-11) + '<li>' + errorTxt + '</li>' +  $('errorMsg').innerHTML.substring(length-11);
		}
		return;
	}
	$('campaign_createnew').setStyle('display', 'none');
	$('campaign_createlink').setStyle('display', 'block');
	var params = 'newCampaign=1';
	params += '&campaignname=' + escapePlus($('campaign_createnew_name').value);
	saveNewCampaingRequest.send(params);
}

saveNewCampaingRequest.onSuccess = function(responseText, responceXML) {
    var response = eval('(' +  responseText + ')');
    if(response.res){
		$('errorMsg').innerHTML = '';
		var i = $('frm_campaign').options.length;
		$('frm_campaign').options[i] = new Option($('campaign_createnew_name').value, response.id);
		$('frm_campaign').options[i].selected = true;
	}else{
		var error = [];
		error.push(response.msg);
		$('errorMsg').innerHTML = buildError2(error);
		$('PopupContent').scrollTo(0,0);

	}
    $('campaign_createnew_name').value = '' ;
}

var isClickKeywordButton = false;

saveNewKeywordData = function(pageNum){
	isClickKeywordButton = true;
	var keywordErrors = subKeywordValidation("keyword");
	if(keywordErrors.length != 0){
		$('errorMsg').innerHTML = buildError2(keywordErrors);
		$('PopupContent').scrollTo(0,0);
		return false;
	}else{
		var params = 'newKeyword=1';
		params += '&campaignId=' + escapePlus($('frm_campaign').value);
		params += '&keyword=' + escapePlus($('frm_keyword1').value);
		params += '&status=' + escapePlus($('frm_keywordstatus').value);
		params += '&description=' + escapePlus($('frm_keywordinternalname').value);
		if ($('frm_plantypes')){
			if ($('frm_plantype1').checked){
				params += '&planType=1';
			}
			if ($('frm_plantype2').checked){
				params += '&planType=2';
			}
		}else{
			params += '&planType=1';
		}
		var type;
		if ($('frm_keywordtype1').checked){
			type = 'N';
			params += '&type=N';
		}
		if ($('frm_keywordtype2').checked){
			type = 'C';
			params += '&type=C';
		}
		if ($('frm_keywordtype3').checked){
			type = 'F';
			params += '&type=F';
		}
		if ($('frm_keywordtype4').checked){
			type = 'R';
			params += '&type=R';
		}
		if ($('frm_keywordtype5').checked){
			type = 'S';
			params += '&type=S';
		}
	
		if (type=='C'){
			params += '&contestName=' + escapePlus($('frm_contestname').value);
			params += '&contestDescription=' + escapePlus($('frm_contestdesc').value); 
		
			//params += '&date=' +  $('frm_sendmsg_date').value +$('frm_sendmsg_time1').value + $('frm_sendmsg_min').value + $('frm_sendmsg_aa').value;
			params += '&startDate=' + $('frm_contest_startdate').value + $('startHour').value + $('startMinute').value + $('startPeriod').value;
			params += '&endDate=' +$('frm_contest_enddate').value + $('endHour').value + $('endMinute').value + $('endPeriod').value;
			params += '&timezone=' + escapePlus($('frm_sendmsg_timezone').value);
			if ($('frm_addkeyword_contestunlimited').checked){
				params += '&entLimit=U';
			}
			if ($('frm_addkeyword_contestlimited').checked){
				params += '&entLimit=L';
				params += '&num_of_entries=' + $('num_of_entries').value;
				params += '&type_of_entry=' + $('type_of_entry').value;
			}
			if($('frm_addkeyword_contestmanual').checked){
				params += '&winnerSelect=M';
			}
			if($('frm_addkeyword_contestauto').checked){
				params += '&winnerSelect=A';
			
				if($('frm_addkeyword_contestwinneropts').value == '1'){
					params += '&winType=S';
					params += '&numWin=' + $('frmcontestnum1').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '2'){
					params += '&winType=F';
					params += '&numWin=' + $('frmcontestnum2').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '3'){
					params += '&winType=E';
					params += '&numWin=' + $('frmcontestnum3').value;
					params += '&maxWin=' + $('frmcontestnum4').value;
				}
			}
			params += '&pre=' + escapePlus($('frm_contestresponse_pre').value);
			params += '&post=' + escapePlus($('frm_contestresponse_post').value);
			params += '&gen=' + escapePlus($('frm_contestresponse_gen').value);
			params += '&win=' + escapePlus($('frm_contestresponse_win').value);
			params += '&already=' + escapePlus($('frm_contestresponse_already').value);
		}
		if (type=='F'){
			if ($('frm_keywordforwardemail').checked){
				params += '&forEmail=1';
				params += '&forEmailValue=' + escapePlus($('emailInput').value);
			}else{
				params += '&forEmail=0';
			}
			if ($('frm_keywordforwardcellphone').checked){
				params += '&forPhone=1';
				params += '&areacode=' + escapePlus($('areacodeInput').value);
				params += '&exchange=' + escapePlus($('exchangeInput').value);
				params += '&line=' + escapePlus($('lineInput').value);
			}else{
				params += '&forPhone=0';
			}
			if ($('frm_keywordforwardinbox').checked){
				params += '&forInbox=1';
			}else{
				params += '&forInbox=0';
			}
			if ($('frm_keywordforwardurl').checked){
				params += '&forUrl=1';
				params += '&forUrlValue=' + escapePlus($('urlInput').value);
			}else{
				params += '&forUrl=0';
			}
			if ($('frm_keywordforwardresponse1').checked){
				params += '&forResMType=C';
				params += '&forResMValue=' + escapePlus($('frm_keywordforwardresponsemsg').value);
			}
			if ($('frm_keywordforwardresponse2').checked){
				params += '&forResMType=U';
			}
			if ($('frm_keywordforwardresponse3').checked){
				params += '&forResMType=N';
			}
		}
		if (type=='R'){
			params += '&responseText=' + escapePlus($('frm_keywordresponse').value);
		}
		if (type=='S'){
			if ($('frm_keywordsubassign').checked){
				var elementSel = $('frm_keywordsubaqssigninterest').options;
				var interests = '';
				var interest = '';
				for(var i = 0; i < elementSel.length; i++){
					if(!elementSel[i].selected){
						interests = interests + ',' + elementSel[i].text;
					}else{
						interest = elementSel[i].text;
					}
				}
				if(interests != ''){
					interests = interests.substring(1);
					params += '&interests=' + interests;
					params += '&interest=' + interest;
				}else{
					if(elementSel.length > 0){
						params += '&interest=' + elementSel[0].text;
					}
				}
			}
			if ($('frm_keywordsubgen1').checked){
				params += '&welMType=S'; 
			}
			if ($('frm_keywordsubgen2').checked){
				
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Semi-custom")!=-1){
				
					params += '&welMType=SC';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				
				}
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&welMType=C';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				}
			}
		
			if ($('frm_keywordsubweb1').checked){
				params += '&confMType=S'; 
			}
			if ($('frm_keywordsubweb2').checked){
			
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Semi-custom")!=-1){
				
					params += '&confMType=SC';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&confMType=C';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
			}
		
			if ($('frm_keywordsubal1').checked){
				params += '&alrMType=S'; 
			}
				
			if ($('frm_keywordsubal2').checked){
				params += '&alrMType=C'; 
				params += '&alrMValue=' + escapePlus($('frm_keywordsubalmsg').value);
			}
			if ($('frm_keywordsubal3').checked){
				params += '&alrMType=N'; 
			}
		
			params += '&respMValue=' + escapePlus($('frm_keywordsubauto').value);
		
			if ($('frm_keywordsubforwardemail').checked){
				params += '&subEmail=1';
				params += '&subEmailValue=' + escapePlus($('frm_keywordsubforwardemailValue').value);
			}else{
				params += '&subEmail=0';
			}
		
			if ($('frm_keywordsubforwardcellphone').checked){
				params += '&subPhone=1';
				params += '&areacode=' + escapePlus($('frm_keywordsubforwardcellphoneAreacode').value); 
				params += '&exchange=' + escapePlus($('frm_keywordsubforwardcellphoneExchange').value);
				params += '&line=' + escapePlus($('frm_keywordsubforwardcellphoneLine').value);
			}else{
				params += '&subPhone=0';
			}
			if ($('frm_keywordsubforwardinbox').checked){
				params += '&subInbox=1';
			}else{
				params += '&subInbox=0';
			}
		
			if ($('frm_keywordsubforwardurl').checked){
				params += '&subUrl=1';
				params += '&subUrlValue=' + escapePlus($('frm_keywordsubforwardurlValue').value);
			}else{
				params += '&subUrl=0';
			}
		
			if ($('frm_keywordsubforwardresponse1').checked){
				params += '&subForMType=C'; 
				params += '&subForMValue=' + escapePlus($('frm_keywordsubforwardresponsemsg').value);
			}
		
			if ($('frm_keywordsubforwardresponse2').checked){
				params += '&subForMType=U';
			}
			if ($('frm_keywordsubforwardresponse3').checked){
				params += '&subForMType=N';
			}
			
			if($('frm_keywordoneresp').checked){
				params += '&responseOnce=1';
			}
		}
		params += '&pageNum=' + pageNum;
		saveNewKeywordDataRequest.send(params);
	}
}
saveNewKeywordDataRequest.onSuccess = function(responseText, responseXML){
	var response = eval('(' +  responseText + ')');
	if(response.res == '0'){
		var errors = [];
		errors.push(response.msg);
		$('errorMsg').innerHTML = buildError2(errors);
		$('PopupContent').scrollTo(0,0);
		return;
	}else{
		var pageNum = 1;
		if (response.pageNum){
			pageNum = response.pageNum;
		}
		if (pageNum > -1){
			applyKeywordsFilterPageNum('KEY', pageNum);
		}		
		//setTimeout('pagingResult("keyDivTable","keywordsTable",' + pageNum +')',100);
		Popup.hide();
	}
}

updateKeyword = function(pageNum){
	isClickKeywordButton = true;
	var keywordErrors = subKeywordValidation("keyword");
	if(keywordErrors.length != 0){
		$('errorMsg').innerHTML = buildError2(keywordErrors);
		$('PopupContent').scrollTo(0,0);
		return false;
	}else{
		$('errorMsg').innerHTML = ""; 
		var params = 'updateKeyword=1';
		/*
		if($('hidKeyword').value.toUpperCase() !=  $('frm_keyword1').value.toUpperCase() ){
			params += '&keyChanged=1';
		}
		*/
		
		for(i=0;i<$('frm_campaign').options.length;i++){
			if($('frm_campaign').options[i].selected == true){
				params += '&campaignid=' + $('frm_campaign').options[i].value;
			}
		}
		//params += '&campaignid=' + $('campaignId').value;
		params += '&communityid=' + escapePlus($('communityId').value);
		params += '&keyword=' + escapePlus($('hidKeyword').value);
		params += '&status=' + escapePlus($('frm_keywordstatus').value);
		params += '&description=' + escapePlus($('frm_keywordinternalname').value);
		
		if ($('frm_plantypes')){
			if ($('frm_plantype1').checked){
				params += '&planType=1';
			}
			if ($('frm_plantype2').checked){
				params += '&planType=2';
			}
		}
		
		var type = '';
		var wasType = $('keywordType').value;
		if ($('frm_keywordtype1').checked){
			type = 'N';
			params += '&type=N';
		}
		if ($('frm_keywordtype2').checked){
			type = 'C';
			params += '&type=C';
		}
		if ($('frm_keywordtype3').checked){
			type = 'F';
			params += '&type=F';
		}
		if ($('frm_keywordtype4').checked){
			type = 'R';
			params += '&type=R';
		}
		if ($('frm_keywordtype5').checked){
			type = 'S';
			params += '&type=S';
		}
		if (type=='N'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
		}
		if (type=='C'){
			//alert($('frm_contestname').tagName);
			if ($('frm_contestname').tagName=="INPUT"){
				params += '&deleteContest=1';
				params += '&contestName=' + escapePlus($('frm_contestname').value);
			}else{
				params += '&deleteContest=0';
				params += '&updateContest=1';
				params += '&contestId=' + $('contestId').value;
			}
			
			params += '&contestDescription=' + escapePlus($('frm_contestdesc').value); 
		
			//params += '&date=' +  $('frm_sendmsg_date').value +$('frm_sendmsg_time1').value + $('frm_sendmsg_min').value + $('frm_sendmsg_aa').value;
			params += '&startDate=' + $('frm_contest_startdate').value + $('startHour').value + $('startMinute').value + $('startPeriod').value;
			params += '&endDate=' + $('frm_contest_enddate').value + $('endHour').value + $('endMinute').value + $('endPeriod').value;
			params += '&timezone=' +  escapePlus($('frm_sendmsg_timezone').value);
			if ($('frm_addkeyword_contestunlimited').checked){
				params += '&entLimit=U';
			}
			if ($('frm_addkeyword_contestlimited').checked){
				params += '&entLimit=L';
				params += '&num_of_entries=' + $('num_of_entries').value;
				params += '&type_of_entry=' + $('type_of_entry').value;
			}
			if($('frm_addkeyword_contestmanual').checked){
				params += '&winnerSelect=M';
			}
			if($('frm_addkeyword_contestauto').checked){
				params += '&winnerSelect=A';
			
				if($('frm_addkeyword_contestwinneropts').value == '1'){
					params += '&winType=S';
					params += '&numWin=' + $('frmcontestnum1').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '2'){
					params += '&winType=F';
					params += '&numWin=' + $('frmcontestnum2').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '3'){
					params += '&winType=E';
					params += '&numWin=' + $('frmcontestnum3').value;
					params += '&maxWin=' + $('frmcontestnum4').value;
				}
			}
			params += '&pre=' + escapePlus($('frm_contestresponse_pre').value);
			params += '&post=' + escapePlus($('frm_contestresponse_post').value);
			params += '&gen=' + escapePlus($('frm_contestresponse_gen').value);
			params += '&win=' + escapePlus($('frm_contestresponse_win').value);
			params += '&already=' + escapePlus($('frm_contestresponse_already').value);
			
		}
		if (type=='F'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
			if ($('frm_keywordforwardemail').checked){
				params += '&forEmail=1';
				params += '&forEmailValue=' + escapePlus($('emailInput').value);
			}else{
				params += '&forEmail=0';
			}
			if ($('frm_keywordforwardcellphone').checked){
				params += '&forPhone=1';
				params += '&areacode=' + escapePlus($('areacodeInput').value);
				params += '&exchange=' + escapePlus($('exchangeInput').value);
				params += '&line=' + escapePlus($('lineInput').value);
			}else{
				params += '&forPhone=0';
			}
			if ($('frm_keywordforwardinbox').checked){
				params += '&forInbox=1';
			}else{
				params += '&forInbox=0';
			}
			if ($('frm_keywordforwardurl').checked){
				params += '&forUrl=1';
				params += '&forUrlValue=' + escapePlus($('urlInput').value);
			}else{
				params += '&forUrl=0';
			}
			if ($('frm_keywordforwardresponse1').checked){
				params += '&forResMType=C';
				params += '&forResMValue=' + escapePlus($('frm_keywordforwardresponsemsg').value);
			}
			if ($('frm_keywordforwardresponse2').checked){
				params += '&forResMType=U';
			}
			if ($('frm_keywordforwardresponse3').checked){
				params += '&forResMType=N';
			}
		}
		if (type=='R'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
			params += '&responseText=' + escapePlus($('frm_keywordresponse').value);
		}
		if (type=='S'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
			if ($('frm_keywordsubassign').checked){
				params += '&interestId=' + $('frm_keywordsubaqssigninterest').value; 
			}
			if ($('frm_keywordsubgen1').checked){
				params += '&welMType=S'; 
			}
			if ($('frm_keywordsubgen2').checked){
			
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Semi-custom")!=-1){
					
					params += '&welMType=SC';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				
				}
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&welMType=C';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				}
			}
		
			if ($('frm_keywordsubweb1').checked){
				params += '&confMType=S'; 
			}
			if ($('frm_keywordsubweb2').checked){
				
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Semi-custom")!=-1){
				
					params += '&confMType=SC';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&confMType=C';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
			}
		
			if ($('frm_keywordsubal1').checked){
				params += '&alrMType=S'; 
			}
				
			if ($('frm_keywordsubal2').checked){
				params += '&alrMType=C'; 
				params += '&alrMValue=' + escapePlus($('frm_keywordsubalmsg').value);
			}
			if ($('frm_keywordsubal3').checked){
				params += '&alrMType=N'; 
			}
		
			params += '&respMValue=' + escapePlus($('frm_keywordsubauto').value);
		
			if ($('frm_keywordsubforwardemail').checked){
				params += '&subEmail=1';
				params += '&subEmailValue=' + escapePlus($('frm_keywordsubforwardemailValue').value);
			}else{
				params += '&subEmail=0';
			}
		
			if ($('frm_keywordsubforwardcellphone').checked){
				params += '&subPhone=1';
				params += '&areacode=' + escapePlus($('frm_keywordsubforwardcellphoneAreacode').value); 
				params += '&exchange=' + escapePlus($('frm_keywordsubforwardcellphoneExchange').value);
				params += '&line=' + escapePlus($('frm_keywordsubforwardcellphoneLine').value);
			}else{
				params += '&subPhone=0';
			}
			if ($('frm_keywordsubforwardinbox').checked){
				params += '&subInbox=1';
			}else{
				params += '&subInbox=0';
			}
		
			if ($('frm_keywordsubforwardurl').checked){
				params += '&subUrl=1';
				params += '&subUrlValue=' + escapePlus($('frm_keywordsubforwardurlValue').value);
			}else{
				params += '&subUrl=0';
			}
		
			if ($('frm_keywordsubforwardresponse1').checked){
				params += '&subForMType=C'; 
				params += '&subForMValue=' + escapePlus($('frm_keywordsubforwardresponsemsg').value);
			}
		
			if ($('frm_keywordsubforwardresponse2').checked){
				params += '&subForMType=U';
			}
			if ($('frm_keywordsubforwardresponse3').checked){
				params += '&subForMType=N';
			}
			
			if($('frm_keywordoneresp').checked){
				params += '&responseOnce=1';
			}
		}
		params += '&pageNum=' + pageNum;
		saveNewKeywordDataRequest.send(params);
	}
}



var saveNewSubKeywordDataRequest = new Request({method: 'post', url: 'subKeywordsController'});

saveNewSubKeywordData = function(communityId){
	isClickKeywordButton = true;
	var subKeywordErrors = subKeywordValidation("sub-keyword");
	if(subKeywordErrors.length != 0){
		$('errorMsg').innerHTML = buildError2(subKeywordErrors); 
		$('PopupContent').scrollTo(0,0);
		return false;
	}else{
		$('errorMsg').innerHTML = "";
		var params = 'saveNewSubKeyword=1';
		params += '&communityId=' + communityId;
		params += '&command=' + escapePlus($('frm_keyword1').value);
		params += '&status=' + escapePlus($('frm_keywordstatus').value);
		params += '&description=' + escapePlus($('frm_keywordinternalname').value);
		var type;
		if ($('frm_keywordtype1').checked){
			type = 'N';
			params += '&type=N';
		}
		if ($('frm_keywordtype2').checked){
			type = 'C';
			params += '&type=C';
		}
		if ($('frm_keywordtype3').checked){
			type = 'F';
			params += '&type=F';
		}
		if ($('frm_keywordtype4').checked){
			type = 'R';
			params += '&type=R';
		}
		if ($('frm_keywordtype5').checked){
			type = 'S';
			params += '&type=S';
		}
	
		if (type=='C'){
			params += '&contestName=' + escapePlus($('frm_contestname').value);
			params += '&contestDescription=' + escapePlus($('frm_contestdesc').value); 
		
			//params += '&date=' +  $('frm_sendmsg_date').value +$('frm_sendmsg_time1').value + $('frm_sendmsg_min').value + $('frm_sendmsg_aa').value;
		
			params += '&startDate=' + $('frm_contest_startdate').value + $('startHour').value + $('startMinute').value + $('startPeriod').value;
			params += '&endDate=' +$('frm_contest_enddate').value + $('endHour').value + $('endMinute').value + $('endPeriod').value;
		
			params += '&timezone=' +  escapePlus($('frm_sendmsg_timezone').value);
			if ($('frm_addkeyword_contestunlimited').checked){
				params += '&entLimit=U';
			}
			if ($('frm_addkeyword_contestlimited').checked){
				params += '&entLimit=L';
				params += '&num_of_entries=' + $('num_of_entries').value;
				params += '&type_of_entry=' + $('type_of_entry').value;
			}
			if($('frm_addkeyword_contestmanual').checked){
				params += '&winnerSelect=M';
			}
			if($('frm_addkeyword_contestauto').checked){
				params += '&winnerSelect=A';
			
				if($('frm_addkeyword_contestwinneropts').value == '1'){
					params += '&winType=S';
					params += '&numWin=' + $('frmcontestnum1').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '2'){
					params += '&winType=F';
					params += '&numWin=' + $('frmcontestnum2').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '3'){
					params += '&winType=E';
					params += '&numWin=' + $('frmcontestnum3').value;
					params += '&maxWin=' + $('frmcontestnum4').value;
				}
			}
			params += '&pre=' + escapePlus($('frm_contestresponse_pre').value);
			params += '&post=' + escapePlus($('frm_contestresponse_post').value);
			params += '&gen=' + escapePlus($('frm_contestresponse_gen').value);
			params += '&win=' + escapePlus($('frm_contestresponse_win').value);
			params += '&already=' + escapePlus($('frm_contestresponse_already').value);
		}
		if (type=='F'){
			if ($('frm_keywordforwardemail').checked){
				params += '&forEmail=1';
				params += '&forEmailValue=' + escapePlus($('emailInput').value);
			}else{
				params += '&forEmail=0';
			}
			if ($('frm_keywordforwardcellphone').checked){
				params += '&forPhone=1';
				params += '&areacode=' + escapePlus($('areacodeInput').value);
				params += '&exchange=' + escapePlus($('exchangeInput').value);
				params += '&line=' + escapePlus($('lineInput').value);
			}else{
				params += '&forPhone=0';
			}
			if ($('frm_keywordforwardinbox').checked){
				params += '&forInbox=1';
			}else{
				params += '&forInbox=0';
			}
			if ($('frm_keywordforwardurl').checked){
				params += '&forUrl=1';
				params += '&forUrlValue=' + escapePlus($('urlInput').value);
			}else{
				params += '&forUrl=0';
			}
			if ($('frm_keywordforwardresponse1').checked){
				params += '&forResMType=C';
				params += '&forResMValue=' + escapePlus($('frm_keywordforwardresponsemsg').value);
			}
			if ($('frm_keywordforwardresponse2').checked){
				params += '&forResMType=U';
			}
			if ($('frm_keywordforwardresponse3').checked){
				params += '&forResMType=N';
			}
		}
		if (type=='R'){
			params += '&responseText=' + escapePlus($('frm_keywordresponse').value);
		}
		if (type=='S'){
			if ($('frm_keywordsubassign').checked){
				params += '&interestId=' + escapePlus($('frm_keywordsubaqssigninterest').value); 
			}
			if ($('frm_keywordsubgen1').checked){
				params += '&welMType=S'; 
			}
			if ($('frm_keywordsubgen2').checked){
			
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Semi-custom")!=-1){
				
					params += '&welMType=SC';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				
				}
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&welMType=C';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				}
			}
		
			if ($('frm_keywordsubweb1').checked){
				params += '&confMType=S'; 
			}
			if ($('frm_keywordsubweb2').checked){
			
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Semi-custom")!=-1){
				
					params += '&confMType=SC';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&confMType=C';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
			}
		
			if ($('frm_keywordsubal1').checked){
				params += '&alrMType=S'; 
			}
				
			if ($('frm_keywordsubal2').checked){
				params += '&alrMType=C'; 
				params += '&alrMValue=' + escapePlus($('frm_keywordsubalmsg').value);
			}
			if ($('frm_keywordsubal3').checked){
				params += '&alrMType=N'; 
			}
		
			params += '&respMValue=' + escapePlus($('frm_keywordsubauto').value);
		
			if ($('frm_keywordsubforwardemail').checked){
				params += '&subEmail=1';
				params += '&subEmailValue=' + escapePlus($('frm_keywordsubforwardemailValue').value);
			}else{
				params += '&subEmail=0';
			}
		
			if ($('frm_keywordsubforwardcellphone').checked){
				params += '&subPhone=1';
				params += '&areacode=' + escapePlus($('frm_keywordsubforwardcellphoneAreacode').value); 
				params += '&exchange=' + escapePlus($('frm_keywordsubforwardcellphoneExchange').value);
				params += '&line=' + escapePlus($('frm_keywordsubforwardcellphoneLine').value);
			}else{
				params += '&subPhone=0';
			}
			if ($('frm_keywordsubforwardinbox').checked){
				params += '&subInbox=1';
			}else{
				params += '&subInbox=0';
			}
		
			if ($('frm_keywordsubforwardurl').checked){
				params += '&subUrl=1';
				params += '&subUrlValue=' + escapePlus($('frm_keywordsubforwardurlValue').value);
			}else{
				params += '&subUrl=0';
			}
		
			if ($('frm_keywordsubforwardresponse1').checked){
				params += '&subForMType=C'; 
				params += '&subForMValue=' + escapePlus($('frm_keywordsubforwardresponsemsg').value);
			}
		
			if ($('frm_keywordsubforwardresponse2').checked){
				params += '&subForMType=U';
			}
			if ($('frm_keywordsubforwardresponse3').checked){
				params += '&subForMType=N';
			}
		}
		saveNewSubKeywordDataRequest.send(params);
	}
}
saveNewSubKeywordDataRequest.onSuccess = function(responseText, responseXML){
	var response = eval('(' +  responseText + ')');
	if(response.res == '0'){
		var errors = [];
		errors.push(response.msg);
		$('errorMsg').innerHTML = buildError2(errors);
		$('PopupContent').scrollTo(0,0);
		return;
	} else {
		restartProviderSession();
		showSubkeywordsPopup();
	}
}

subKeywordValidation = function(type){
	var typeL = type.substring(0,1).toUpperCase() + type.substring(1);
	var errors = [];
	var isEr = false;
	if ($('frm_keyword1')){
		var keyword = $('frm_keyword1');
		if (keyword.value == ""){
			errors.push(typeL + ' is required and cannot be empty.');
		}
		var alphaNumeric = /^[a-zA-Z0-9]*$/;
		if (!alphaNumeric.test(keyword.value)) {
			isEr = true;
			if (type == 'keyword'){
				errors.push('Invalid ' + type + '. '+ typeL +' must start with a letter and must contain alphanumeric characters.');
			}else{
				errors.push('Invalid ' + type + '. '+ typeL +' must contain alphanumeric characters.');
			}
		}
		if (type == 'keyword'){
			if(keyword.value.length < 4){
				errors.push('A ' + type +' must be at least 4 characters long.');
			}
			var alphabeticalRegExp = /^[a-zA-Z]*$/;
			var firstChar = keyword.value.substring(0,1);
			if (!alphabeticalRegExp.test(firstChar)) {
				if (!isEr){
					errors.push('Invalid ' + type + '. '+ typeL +' must start with a letter and must contain alphanumeric characters.');
				} 
			} 
		}
	}
	if ($('frm_keywordinternalname').value == '' ){
		errors.push(typeL + ' internal name is required and cannot be empty.');
	}
	if ($('frm_keywordtype2').checked){//C
		if ($('frm_contestname').tagName=="INPUT"){
			if ($('frm_contestname').value == ""){
				errors.push('Contest name is required and cannot be empty.');
			}
		}
		
		var startDate = dateValidationContestKeyword('frm_contest_startdate',errors);
		var endDate = dateValidationContestKeyword('frm_contest_enddate',errors);
		
		if (startDate != null && endDate != null) {
			if(startDate.getTime() > endDate.getTime()) {
				errors.push('\'End Date\' cannot be earlier then \'Start Date\'.');
			}
		}
		
		/*
		if($('frm_contest_startdate').value==""){
			errors.push('Start Date is empty');
		}else{
			if(!dateRegExp.test($('frm_contest_startdate').value)) {
				errors.push('Start Date is wrong');
			}
		}
		
		if($('frm_contest_enddate').value==""){
			errors.push('End Date is empty');
		}else{
			if(!dateRegExp.test($('frm_contest_enddate').value)) {
				errors.push('End Date is wrong');
			}
		}
		*/
		
		if ($('frm_addkeyword_contestlimited').checked && ($('num_of_entries').value=="" || !numRegExp.test($('num_of_entries').value))){
			if ($('type_of_entry').selectedIndex != 5) {
				errors.push('Number of entries per phone is required and cannot be empty.');
			}
		}
		if ($('frm_addkeyword_contestauto').checked){
			if ($('frm_addkeyword_contestwinneropts').value == '1' && ($('frmcontestnum1').value=="" || !numRegExp.test($('frmcontestnum1').value) )){
				errors.push('Winner selection entry number is required and cannot be empty.');
			}
			if ($('frm_addkeyword_contestwinneropts').value == '2' && ($('frmcontestnum2').value=="" || !numRegExp.test($('frmcontestnum2').value) )){
				errors.push('Number of winners is required and cannot be empty.');
			}
			if ($('frm_addkeyword_contestwinneropts').value == '3'){
				if ($('frmcontestnum3').value=="" || !numRegExp.test($('frmcontestnum3').value)){
					errors.push('Number of entries is required and cannot be empty.');
				}
				if ($('frmcontestnum4').value=="" || !numRegExp.test($('frmcontestnum4').value)){
					errors.push('Number of winners is required and cannot be empty.');
				}
			}
		}
		if($('frm_contestresponse_pre').value==""){
			errors.push('Pre-contest response text is required and cannot be empty.');
		}
		if($('frm_contestresponse_post').value==""){
			errors.push('Post-contest response text is required and cannot be empty.');
		}
		if($('frm_contestresponse_gen').value==""){
			errors.push('General/Losing response text is required and cannot be empty.');
		}
		if($('frm_contestresponse_win').value==""){
			errors.push('Winning response text is required and cannot be empty.');
		}
		if($('frm_contestresponse_already').value==""){
			errors.push('Already entered response text is required and cannot be empty.');
		}
	}
	if ($('frm_keywordtype3').checked){//F
		
		var forwardIsSelected = false;
		
		if ($('frm_keywordforwardemail').checked == true){
			forwardIsSelected = true;
		} else if ($('frm_keywordforwardcellphone').checked){
			forwardIsSelected = true;
		} else if ($('frm_keywordforwardinbox').checked){
			forwardIsSelected = true;
		} else if ($('frm_keywordforwardurl').checked){
			forwardIsSelected = true;
		}
		
		if (forwardIsSelected != true){
			errors.push('Please, specify at least one point of destination for the messages');
		}
		
		if ($('frm_keywordforwardemail').checked){
			if(!emailRegExp.test($('emailInput').value)){
				errors.push('Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".');
			} else if (checkEMail($('emailInput').value) != true){
				errors.push('Specified email syntax is invalid.');
			}
		}
		if ($('frm_keywordforwardcellphone').checked){
			if(!phone1RegExp.test($('areacodeInput').value)){
				errors.push('Invalid area code. Area code must match "NNN" template, where "N" is a number.');
			}
			if(!phone1RegExp.test($('exchangeInput').value)){
				errors.push('Invalid exchange. Exchange must match "NNN" template, where "N" is a number.');
			}
			if(!phone2RegExp.test($('lineInput').value)){
				errors.push('Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.');
			}
		}
		if ($('frm_keywordforwardurl').checked){
			if ($('urlInput').value == ''){
				errors.push('Forward Message To URL cannot be empty.');
			} else {
				if (checkURL($('urlInput').value) != true) {
					errors.push('Specified URL syntax is invalid.');
				}
			}
		}
		if ($('frm_keywordforwardresponse1').checked){
			if($('frm_keywordforwardresponsemsg').value == ''){
				errors.push('Response text is required and cannot be empty.');
			}
		}
	}
	if ($('frm_keywordtype4').checked){//R
		if($('frm_keywordresponse').value == ''){
			errors.push('Response text is required and cannot be empty.');
		}
	}
	if ($('frm_keywordtype5').checked){//S
		
		if ($('frm_keywordsubassign').checked &&  $('frm_keywordsubaqssigninterest').value == ""){
			errors.push('Blank value for interest cannot be assigned to subscription.');
		}
		if ($('frm_keywordsubgen2').checked){
			if ($('frm_keywordsubgenmsg').value == ''){
				errors.push('Subscription general welcome message is required and cannot be empty.');
			}
		}
		if ($('frm_keywordsubweb2').checked){
			if ($('frm_keywordsubwebmsg').value == ''){
				errors.push('Subscription general web form verification message is required and cannot be empty.');
			}
		}
		if ($('frm_keywordsubal2').checked){
			if ($('frm_keywordsubalmsg').value == ''){
				errors.push('Subscription general already subscribed message is required and cannot be empty.');
			}
		}
		/*
		if ($('frm_keywordsubauto').value == '' ){
			errors.push('Subscription auto-response text is required and cannot be empty.');
		}
		*/
		
		if ($('frm_keywordsubforwardemail').checked){
			if(!emailRegExp.test($('frm_keywordsubforwardemailValue').value)){
				errors.push('Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".');
			} else if (checkEMail($('frm_keywordsubforwardemailValue').value) != true){
				errors.push('Specified email syntax is invalid.');
			}
		}
		
		if ($('frm_keywordsubforwardcellphone').checked){
			if(!phone1RegExp.test($('frm_keywordsubforwardcellphoneAreacode').value)){
				errors.push('Invalid area code. Area code must match "NNN" template, where "N" is a number.');
			}
			if(!phone1RegExp.test($('frm_keywordsubforwardcellphoneExchange').value)){
				errors.push('Invalid exchange. Exchange must match "NNN" template, where "N" is a number.');
			}
			if(!phone1RegExp.test($('frm_keywordsubforwardcellphoneLine').value)){
				errors.push('Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.');
			}
		}
		if ($('frm_keywordsubforwardurl').checked){
			if ($('frm_keywordsubforwardurlValue').value == ''){
				errors.push('Forward Message To URL cannot be empty.');
			} else {
				if (checkURL($('frm_keywordsubforwardurlValue').value) != true) {
					errors.push('Specified URL syntax is invalid.');
				}
			}
		}
		
		if ($('frm_keywordsubforwardresponse1').checked){
			if ($('frm_keywordsubforwardresponsemsg').value == ''){
				errors.push('Subscription forward response text is required and cannot be empty.' + 
						' Please, select \'None\' type if response is not required.');
			}
		}
		
	}
	
	return errors;
}

subKeywordMainValidation = function(type){
	var typeL = type.substring(0,1).toUpperCase() + type.substring(1);
	var errors = [];
	var isEr = false;
	if ($('frm_keyword1')){
		var keyword = $('frm_keyword1');
		if (keyword.value == ""){
			errors.push(typeL + ' is required and cannot be empty.');
		}
		var alphaNumeric = /^[a-zA-Z0-9]*$/;
		if (!alphaNumeric.test(keyword.value)) {
			isEr = true;
			if (type == 'keyword'){
				errors.push('Invalid ' + type + '. '+ typeL +' must start with a letter and must contain alphanumeric characters.');
			}else{
				errors.push('Invalid ' + type + '. '+ typeL +' must contain alphanumeric characters.');
			}
		}
		if (type == 'keyword'){
			if(keyword.value.length < 4){
				errors.push('A ' + type +' must be at least 4 characters long.');
			}
			var alphabeticalRegExp = /^[a-zA-Z]*$/;
			var firstChar = keyword.value.substring(0,1);
			if (!alphabeticalRegExp.test(firstChar)) {
				if (!isEr){
					errors.push('Invalid ' + type + '. '+ typeL +' must start with a letter and must contain alphanumeric characters.');
				} 
			} 
		}
	}
	if ($('frm_keywordinternalname').value == '' ){
		errors.push(typeL + ' internal name is required and cannot be empty.');
	}
	return errors;
}
subkeywordOnChangeType = function(type){
	if (isClickKeywordButton){
		var subKeywordErrors = subKeywordMainValidation(type);
		if(subKeywordErrors.length != 0){
			$('errorMsg').innerHTML = buildError2(subKeywordErrors);
			$('PopupContent').scrollTo(0,0);
		}else{
			$('errorMsg').innerHTML ='';
		}
	}
}
subkeywordOnChangeTypeCampaign = function(type, error){
	if (isClickKeywordButton){
		var subKeywordErrors = subKeywordMainValidation(type);
		subKeywordErrors.push(error);
		if(subKeywordErrors.length != 0){
			$('errorMsg').innerHTML = buildError2(subKeywordErrors);
			$('PopupContent').scrollTo(0,0);
		}else{
			$('errorMsg').innerHTML = '';
		}
	}
}
updateSubKeyword = function(){
	isClickKeywordButton = true;
	var subKeywordErrors = subKeywordValidation("sub-keyword");
	if(subKeywordErrors.length != 0){
		$('errorMsg').innerHTML = buildError2(subKeywordErrors);
		$('PopupContent').scrollTo(0,0);
		return false;
	}else{
		$('errorMsg').innerHTML = ""; 
		var params = 'updateSubKeyword=1';
		//params += '&communityId=' + communityId;
		params += '&commandId=' + $('commandId').value;
		params += '&command=' + escapePlus($('frm_keyword1').value);
		
		if($('hidCommand').value.toUpperCase() !=  $('frm_keyword1').value.toUpperCase() ){
			params += '&keyChanged=1';
		}
		
		params += '&status=' + $('frm_keywordstatus').value;
		params += '&description=' + escapePlus($('frm_keywordinternalname').value);
		var type = '';
		var wasType = $('commandType').value;
		if ($('frm_keywordtype1').checked){
			type = 'N';
			params += '&type=N';
		}
		if ($('frm_keywordtype2').checked){
			type = 'C';
			params += '&type=C';
		}
		if ($('frm_keywordtype3').checked){
			type = 'F';
			params += '&type=F';
		}
		if ($('frm_keywordtype4').checked){
			type = 'R';
			params += '&type=R';
		}
		if ($('frm_keywordtype5').checked){
			type = 'S';
			params += '&type=S';
		}
		if (type=='N'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
		}
		if (type=='C'){
			//alert($('frm_contestname').tagName);
			if ($('frm_contestname').tagName=="INPUT"){
				params += '&deleteContest=1';
				params += '&contestName=' + escapePlus($('frm_contestname').value);
			}else{
				params += '&deleteContest=0';
				params += '&updateContest=1';
				params += '&contestId=' + $('contestId').value;
			}
			params += '&contestDescription=' + escapePlus($('frm_contestdesc').value); 
		
			//params += '&date=' +  $('frm_sendmsg_date').value +$('frm_sendmsg_time1').value + $('frm_sendmsg_min').value + $('frm_sendmsg_aa').value;
			params += '&startDate=' + $('frm_contest_startdate').value + $('startHour').value + $('startMinute').value + $('startPeriod').value;
			params += '&endDate=' + $('frm_contest_enddate').value + $('endHour').value + $('endMinute').value + $('endPeriod').value;
			params += '&timezone=' +  escapePlus($('frm_sendmsg_timezone').value);
			if ($('frm_addkeyword_contestunlimited').checked){
				params += '&entLimit=U';
			}
			if ($('frm_addkeyword_contestlimited').checked){
				params += '&entLimit=L';
				params += '&num_of_entries=' + $('num_of_entries').value;
				params += '&type_of_entry=' + $('type_of_entry').value;
			}
			if($('frm_addkeyword_contestmanual').checked){
				params += '&winnerSelect=M';
			}
			if($('frm_addkeyword_contestauto').checked){
				params += '&winnerSelect=A';
				
				if($('frm_addkeyword_contestwinneropts').value == '1'){
					params += '&winType=S';
					params += '&numWin=' + $('frmcontestnum1').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '2'){
					params += '&winType=F';
					params += '&numWin=' + $('frmcontestnum2').value; 
				}
				if($('frm_addkeyword_contestwinneropts').value == '3'){
					params += '&winType=E';
					params += '&numWin=' + $('frmcontestnum3').value;
					params += '&maxWin=' + $('frmcontestnum4').value;
				}
			}
			params += '&pre=' + escapePlus($('frm_contestresponse_pre').value);
			params += '&post=' + escapePlus($('frm_contestresponse_post').value);
			params += '&gen=' + escapePlus($('frm_contestresponse_gen').value);
			params += '&win=' + escapePlus($('frm_contestresponse_win').value);
			params += '&already=' + escapePlus($('frm_contestresponse_already').value);
		}
		if (type=='F'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
			if ($('frm_keywordforwardemail').checked){
				params += '&forEmail=1';
				params += '&forEmailValue=' + escapePlus($('emailInput').value);
			}else{
				params += '&forEmail=0';
			}
			if ($('frm_keywordforwardcellphone').checked){
				params += '&forPhone=1';
				params += '&areacode=' + escapePlus($('areacodeInput').value);
				params += '&exchange=' + escapePlus($('exchangeInput').value);
				params += '&line=' + escapePlus($('lineInput').value);
			}else{
				params += '&forPhone=0';
			}
			if ($('frm_keywordforwardinbox').checked){
				params += '&forInbox=1';
			}else{
				params += '&forInbox=0';
			}
			if ($('frm_keywordforwardurl').checked){
				params += '&forUrl=1';
				params += '&forUrlValue=' + escapePlus($('urlInput').value);
			}else{
				params += '&forUrl=0';
			}
			if ($('frm_keywordforwardresponse1').checked){
				params += '&forResMType=C';
				params += '&forResMValue=' + escapePlus($('frm_keywordforwardresponsemsg').value);
			}
			if ($('frm_keywordforwardresponse2').checked){
				params += '&forResMType=U';
			}
			if ($('frm_keywordforwardresponse3').checked){
				params += '&forResMType=N';
			}
		}
		if (type=='R'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
			params += '&responseText=' + escapePlus($('frm_keywordresponse').value);
		}
		if (type=='S'){
			if(wasType=='C'){
				params += '&deleteContest=1';
			}
			if ($('frm_keywordsubassign').checked){
				params += '&interestId=' + escapePlus($('frm_keywordsubaqssigninterest').value); 
			}
			if ($('frm_keywordsubgen1').checked){
				params += '&welMType=S'; 
			}
			if ($('frm_keywordsubgen2').checked){
			
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Semi-custom")!=-1){
					
					params += '&welMType=SC';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				
				}
				if($('lbl_frm_keywordsubgen2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&welMType=C';
					params += '&welMValue=' + escapePlus($('frm_keywordsubgenmsg').value);
				}
			}
		
			if ($('frm_keywordsubweb1').checked){
				params += '&confMType=S'; 
			}
			if ($('frm_keywordsubweb2').checked){
				
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Semi-custom")!=-1){
				
					params += '&confMType=SC';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
				if($('lbl_frm_keywordsubweb2').innerHTML.indexOf(" Custom")!=-1){
				
					params += '&confMType=C';
					params += '&confMValue=' + escapePlus($('frm_keywordsubwebmsg').value);
				}
			}
		
			if ($('frm_keywordsubal1').checked){
				params += '&alrMType=S'; 
			}
				
			if ($('frm_keywordsubal2').checked){
				params += '&alrMType=C'; 
				params += '&alrMValue=' + escapePlus($('frm_keywordsubalmsg').value);
			}
			if ($('frm_keywordsubal3').checked){
				params += '&alrMType=N'; 
			}
		
			params += '&respMValue=' + escapePlus($('frm_keywordsubauto').value);
		
			if ($('frm_keywordsubforwardemail').checked){
				params += '&subEmail=1';
				params += '&subEmailValue=' + escapePlus($('frm_keywordsubforwardemailValue').value);
			}else{
				params += '&subEmail=0';
			}
		
			if ($('frm_keywordsubforwardcellphone').checked){
				params += '&subPhone=1';
				params += '&areacode=' + escapePlus($('frm_keywordsubforwardcellphoneAreacode').value); 
				params += '&exchange=' + escapePlus($('frm_keywordsubforwardcellphoneExchange').value);
				params += '&line=' + escapePlus($('frm_keywordsubforwardcellphoneLine').value);
			}else{
				params += '&subPhone=0';
			}
			if ($('frm_keywordsubforwardinbox').checked){
				params += '&subInbox=1';
			}else{
				params += '&subInbox=0';
			}
		
			if ($('frm_keywordsubforwardurl').checked){
				params += '&subUrl=1';
				params += '&subUrlValue=' + escapePlus($('frm_keywordsubforwardurlValue').value);
			}else{
				params += '&subUrl=0';
			}
		
			if ($('frm_keywordsubforwardresponse1').checked){
				params += '&subForMType=C'; 
				params += '&subForMValue=' + escapePlus($('frm_keywordsubforwardresponsemsg').value);
			}
		
			if ($('frm_keywordsubforwardresponse2').checked){
				params += '&subForMType=U';
			}
			if ($('frm_keywordsubforwardresponse3').checked){
				params += '&subForMType=N';
			}
		}
		saveNewSubKeywordDataRequest.send(params);
	}
}
clearContestFields = function(){
	 $('frm_contestdesc').value = "";
	 $('frm_contest_startdate').value = "";
	 $('startHour').options[0].selected = true;
	 $('startMinute').options[0].selected = true;
	 $('startPeriod').options[0].selected = true;
	 $('frm_contest_enddate').value = "";
	 $('endHour').options[0].selected = true;
	 $('endMinute').options[0].selected = true;
	 $('endPeriod').options[0].selected = true;
	 $('frm_sendmsg_timezone').options[0].selected = true;
	 $('frm_addkeyword_contestunlimited').checked = true;
	 $('frm_addkeyword_contestlimited').checked = false;
	 $('num_of_entries').value = "";
	 $('type_of_entry').value = "";
	 $('frm_addkeyword_contestmanual').checked = true;
	 $('frm_addkeyword_contestauto').checked = false;
	 
	 disableinputs($$('#frm_addkeyword_contest5 div')[0]);
	 disableinputs($$('#frm_addkeyword_contest6 div')[0]);
	 
	 $('frmcontestnum1').value = "";
	 $('frmcontestnum2').value = "";
	 $('frmcontestnum3').value = "";
	 $('frmcontestnum4').value = "";
	 
	 $('frmcontestoption1').className = "";
	 $('frmcontestoption2').className = "hide";
	 $('frmcontestoption3').className = "hide";
	 
	 $('frm_contestresponse_pre').value ="";
	 $('frm_contestresponse_post').value = "";
	 $('frm_contestresponse_gen').value = "";
	 $('frm_contestresponse_win').value = "";
	 $('frm_contestresponse_already').value = "";
	 
	 $('contestChar1').innerHTML = "160 characters remaining";
	 $('contestChar2').innerHTML = "160 characters remaining";
	 $('contestChar3').innerHTML = "160 characters remaining";
	 $('contestChar4').innerHTML = "160 characters remaining";
	 $('contestChar5').innerHTML = "160 characters remaining";
}

enableEditContest = function(elem){
	clearContestFields();
	var elemTR = elem.parentNode.parentNode;
	elemTR.deleteCell(1);
	elemTR.deleteCell(0);
	
	var td1 = elemTR.insertCell(0);
	td1.innerHTML="<label for=\"frm_contestname\">Contest Name:</label>";
	var td2 = elemTR.insertCell(1);
	td2.innerHTML="<input type=\"text\" class=\"txt\" id=\"frm_contestname\" />";
	var td3 = elemTR.insertCell(2);
	td3.innerHTML = "&nbsp;" 
	var td4 = elemTR.insertCell(3);
	td4.innerHTML = "&nbsp;";
	
	//$('frm_addkeyword_contest1').innerHTML = "";
	//$('frm_addkeyword_contest1').innerHTML = "<td><label for=\"frm_contestname\">Contest Name:</label></td>"+
	//			"<td colspan=\"3\"><input type=\"text\" class=\"txt\" id=\"frm_contestname\" /></td>";
	enableinputs($('frm_addkeyword_contest2'));
	enableinputs($('frm_addkeyword_contest3'));
	enableinputs($('frm_addkeyword_contest4'));
	enableinputs($('frm_addkeyword_contest5'));
	enableinputs($('frm_addkeyword_contest6'));
	enableinputs($('frm_addkeyword_contest7'));
	enableinputs($('frm_addkeyword_contest8'));
	enableinputs($('frm_addkeyword_contest9'));
	enableinputs($('frm_addkeyword_contest10'));
	enableinputs($('frm_addkeyword_contest11'));
	disableinputs($$('#frm_addkeyword_contest5 div.disabled')[0]);
	disableinputs($$('#frm_addkeyword_contest6 div.disabled')[0]);
	$('frm_contest_startdate').value = 'MM/DD/YYYY'; 
	$('frm_contest_enddate').value = 'MM/DD/YYYY';
}

var deleteSubKeywordRequest = new Request({method: 'post', url: 'subKeywordsController'});

deleteSubKeywordPopup = function(sKeyId){
	Popup.show(null, {size:'short', modal:true, wtitle:'Confirmation'});
	var sample5 = new Element('div', {
		'id':'popup_confirm',
		'html':'<div style="margin-top:5px;padding-bottom:0"><p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgquestion">Are you sure you want to delete this sub-keyword?</p><p style="padding-left:22px"></p><input type="button" id="msg_ok" value="Yes" style="font-weight:bold;margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom:10px"/> <input type="button" id="msg_cancel" value="No" style="margin-bottom:0;float:left"/></div>'
	}).injectInside('PopupContent');
	$('msg_ok').addEvent('click', function(){
		deleteSubKeyword(sKeyId); 
	});
	$('msg_cancel').addEvent('click', function(){
		showSubkeywordsPopup();
	});
};
deleteSubKeyword = function(sKeyId){
	var params = '';
	params += 'deleteSubKeyword=1';
	params += '&sKeyId=' + sKeyId;
	deleteSubKeywordRequest.send(params);
};
deleteSubKeywordRequest.onSuccess = function(){
	restartProviderSession();
	showSubkeywordsPopup();
}

saveInterestOnSubKeyword = function(communityId){
	if (!checkInterestName(escapePlus($('frm_keywordsubassigncreate').value), $('errorMsg'))){
		return;
	}else if ($('frm_keywordsubassigncreate').value!=""){
		var params = 'actionname=createinterest';
		params += '&communityid=' + communityId ;
		params += '&interestname=' + escapePlus($('frm_keywordsubassigncreate').value);
		params += '&interesdesc=';
		params += '&status=1'; 
		saveInterestOnSubKeywordRequest.send(params);
	}
}

var saveInterestOnSubKeywordRequest = new Request({method: 'post', url: 'app/interestspagecontroller'});

saveInterestOnSubKeywordRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
    var response = eval('(' +  responseText + ')');
	if(response.res == 1){
		var elementSel = $('frm_keywordsubaqssigninterest').options;
		var pos = elementSel.length;
		elementSel[pos] = new Option( response.name, response.id);
		elementSel[pos].selected = true;
		//Incorect for Opera browser
		//elementSel.add(new Option( response.name,  response.id),true,true);
		//for (i =0;i<elementSel.length;i++){
		//	if(elementSel[i].value==response.id){
		//		elementSel[i].selected = true;
		//		break;
		//	}
		//}
	}else{
		if (response.res == 0){
			alert('Interest with the specified name already exists.');
		}else{
			alert('error');
		}
	}
}

newInterestKeyword = function(){
	if (!checkInterestName(escapePlus($('frm_keywordsubassigncreate').value), $('errorMsg'))){
		return;
	}else if ($('frm_keywordsubassigncreate').value!=""){
		var elementSel = $('frm_keywordsubaqssigninterest').options;
		for (i =0; i < elementSel.length; i++){
			if(elementSel[i].text == $('frm_keywordsubassigncreate').value){
				alert('Duplicate interest name in list!');
				return;
			}
		}
		
		var pos = elementSel.length;
		elementSel[pos] = new Option( $('frm_keywordsubassigncreate').value, $('frm_keywordsubassigncreate').value);
		elementSel[pos].selected = true;
		
		//Incorect for Opera browser
		//elementSel.add(new Option( $('frm_keywordsubassigncreate').value, $('frm_keywordsubassigncreate').value),true,true);
		//for (i =0;i<elementSel.length;i++){
		//	if(elementSel[i].text == $('frm_keywordsubassigncreate').value){
		//		elementSel[i].selected = true;
		//		break;
		//	}
		//}
	}
}

subscrIntChange = function(){
	$('frm_keywordsubassign').checked = true;
	enableinputs($('frm_addkeyword_subscription2'));
	enableinputs($('frm_addkeyword_subscription3'));
}

/*Registration - start*/
var providerRegisterControllerRequest = new Request({method: 'post', url: 'providerregcontroller'});

validatePairedFields = function(fieldname){
	var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	switch(fieldname){
	case 'password':		
		
		if (!isClickReg){
			$('password_different_error').style.display = 'none';
			if ($('password2_error').style.display == 'none'){
				$('password2').parentNode.parentNode.className = '';
			}
		}
		break;
	case 'retype_password':
		if (!isClickReg){
			$('password_different_error').style.display = 'none';
			if ($('password2_error').style.display == 'none'){
				$('password2').parentNode.parentNode.className = '';
			}
		}
		break;
	case 'email1':
		if (!isClickReg){
			$('different_emails_error').style.display = 'none';
		
			if($('email2').value==''){
				$('email2').parentNode.parentNode.className = '';
			}
			if($('email1').value==''){
				$('email1_error').style.display = 'none';
				$('email1').parentNode.parentNode.className = '';
			}else{
				if (emailPattern.test($('email1').value)){
					$('email1_error').style.display = 'none';
					$('email1').parentNode.parentNode.className = '';
				}
			}
			if ($('email2_error').style.display == 'none'){
				$('email2').parentNode.parentNode.className = '';
			}
		}
		break;
	case 'email2':
		if (!isClickReg){
			$('different_emails_error').style.display = 'none';
			if($('email2').value ==''){
				$('email2_error').style.display = 'none';
				$('email2').parentNode.parentNode.className = '';
			}else{
				if (emailPattern.test($('email2').value)){
					$('email2_error').style.display = 'none';
					$('email2').parentNode.parentNode.className = '';
				}
			}
		}
		break;
	case 'bmonth':case 'byear':
		if(!isClickReg){
			$('exp_month_error').style.display = 'none';
			$('bMonth').parentNode.parentNode.className = '';
		}
		break;	
	case 'phone':
		if (!isClickReg){
			if ($('areacode').value == ''){
				$('areacode_error').style.display = 'none';
			}
			if ($('exchange').value == ''){
				$('exchange_error').style.display = 'none';
			}
			if ($('suffix').value == ''){
				$('line_error').style.display = 'none';
			}
			if ($('areacode_error').style.display == 'none' &&
					$('exchange_error').style.display == 'none' &&
					$('line_error').style.display == 'none'
				){
				$('exchange').parentNode.parentNode.parentNode.className = '';
			}
		}		
		break;
	}
}

var namePattern = /^[a-zA-Z0-9 ]+(([\'\.\-][a-zA-Z0-9 ])?[a-zA-Z0-9 ]*)*$/;
validateFields = function(fieldname, element){
	switch(fieldname){
	case 'business_name':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('bname_error',tr);
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('bname_error').innerHTML = 'Wrong business name.';
			$('bname_error').style.display = 'block';
	    	tr.className = 'error';
	    	break;
	    }
		tr.className = '';
		$('bname_error').style.display = 'none';
		break;
	case 'address':
		var tr = element.parentNode.parentNode;
		if ($('same.tos').checked){
			$('baddress').value = element.value ;
		}
		if(element.value == ''){
			setEmptyError('address_error',tr);
			if ($('same.tos').checked){
				var tr_b = $('baddress').parentNode.parentNode;
				setEmptyError('baddress_error',trb);
			}
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('address_error').innerHTML = 'Wrong address.';
			$('address_error').style.display = 'block';
			tr.className = 'error';
			if ($('same.tos').checked){
				$('baddress_error').style.display = 'block';
				$('baddress_error').innerHTML = 'Wrong billing address.';
				$('baddress').parentNode.parentNode.className = 'error' ;
			}
	    	break;
	    }
		if ($('same.tos').checked){
			$('baddress_error').style.display = 'none';
			$('baddress').parentNode.parentNode.className = '' ;
		}
		tr.className = '';
		$('address_error').style.display = 'none';
		break;
	case 'city':
		var tr = element.parentNode.parentNode;	
		if ($('same.tos').checked){
			$('bcity').value = element.value ;
		}
		if(element.value == ''){
			setEmptyError('city_error',tr);
			if ($('same.tos').checked){
				var tr_b = $('bcity').parentNode.parentNode;
				setEmptyError('bcity_error',trb);
			}
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('city_error').innerHTML = 'Wrong city.';
			$('city_error').style.display = 'block';
			tr.className = 'error';
			if ($('same.tos').checked){
				$('bcity_error').style.display = 'block';
				$('city_error').innerHTML = 'Wrong billing city.';
				$('bcity').parentNode.parentNode.className = 'error' ;
			}
	    	break;
	    }
		if ($('same.tos').checked){
			$('bcity_error').style.display = 'none';
			$('bcity').parentNode.parentNode.className = '' ;
		}
		tr.className = '';
		$('city_error').style.display = 'none';
		break;
		
	case 'state':
		if ($('same.tos').checked){
			$('bstate').value = element.value ;
		}
		break;
	case 'postal_code':
		var tr = element.parentNode.parentNode;
		if ($('same.tos').checked){
			$('bpostalCode').value = element.value ;
		}
		if(element.value == ''){
			setEmptyError('postal_error',tr);
			if ($('same.tos').checked){
				var tr_b = $('bpostalCode').parentNode.parentNode;
				setEmptyError('bpostal_error',trb);
			}
			break;
		}
		var postalPattern = /^([0-9]{5})(-[0-9]{4})?$/i;
		if (!postalPattern.test(element.value)){
			$('postal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong postal code.';
			$('postal_error').style.display = 'block';
			tr.className = 'error';
			if ($('same.tos').checked){
				$('bpostal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong postal code.';
				$('bpostal_error').style.display = 'block';
				$('bpostalCode').parentNode.parentNode.className = 'error' ;
			}
			break;
		} 
		if ($('same.tos').checked){
			$('bpostal_error').style.display = 'none';
			$('bpostalCode').parentNode.parentNode.className = '' ;
		}
		tr.className = '';
		$('postal_error').style.display = 'none';
		break;
	case 'areacode':
		var tr = element.parentNode.parentNode.parentNode;
		if ($('suffix').value != '' || $('exchange').value != '' || $('areacode').value!= ''){
			if ($('areacode').value == '' ){				
				$('areacode_error').style.display = 'block';
				$('areacode_error').innerHTML = 'Required field for area code cannot be empty.';//'Area code is empty.';
				tr.className = 'error';				
			}			
			if ($('exchange').value == ''){				
				$('exchange_error').style.display = 'block';
				$('exchange_error').innerHTML = 'Required field for exchange cannot be empty.';//'Exchange is empty.';
				tr.className = 'error';
			}
			if ($('suffix').value == ''){				
				$('line_error').style.display = 'block';
				$('line_error').innerHTML = 'Required field for suffix cannot be empty.';//'Suffix is empty.';
				tr.className = 'error';
			}			
		}
		if(element.value == ''){
			if(isClickReg){
				$('areacode_error').style.display = 'block';
				$('areacode_error').innerHTML = 'Required field for area code cannot be empty.';
				tr.className = 'error';
			}
			break;
		}			
		
		if(element.value.length != 3){
			$('areacode_error').innerHTML = 'Invalid area code. Area code must match "NNN" template, where "N" is a number.';
			$('areacode_error').style.display = 'block';
			tr.className = 'error';
	    	break;
		}
		var numericPattern = /^[0-9]*$/;
		if (!numericPattern.test(element.value)){
			$('areacode_error').innerHTML = 'Invalid area code. Area code must match "NNN" template, where "N" is a number.';
			$('areacode_error').style.display = 'block';
				tr.className = 'error';
		    	break;
		} 
		if ($('line_error').style.display == 'block' || $('exchange_error').style.display == 'block'){
			tr.className = 'error'
		}else{
			tr.className = '';
		}
		$('areacode_error').style.display = 'none';
		break;
	case 'exchange':
		var tr = element.parentNode.parentNode.parentNode;
		if ($('suffix').value != '' || $('exchange').value != '' || $('areacode').value!= '' ){
			if ($('areacode').value == '' ){				
				$('areacode_error').style.display = 'block';
				$('areacode_error').innerHTML = 'Required field for area code cannot be empty.';//'Area code is empty.';
				tr.className = 'error';				
			}			
			if ($('exchange').value == ''){				
				$('exchange_error').style.display = 'block';
				$('exchange_error').innerHTML = 'Required field for exchange cannot be empty.';//'Exchange is empty.';
				tr.className = 'error';
			}
			if ($('suffix').value == ''){				
				$('line_error').style.display = 'block';
				$('line_error').innerHTML = 'Required field for suffix cannot be empty.';//'Suffix is empty.';
				tr.className = 'error';
			}			
		}
		if(element.value == ''){
			if(isClickReg){
				$('exchange_error').style.display = 'block';
				$('exchange_error').innerHTML = 'Required field for exchange cannot be empty.';
				tr.className = 'error';
			}
			break;
		}
		if(element.value.length != 3){
			$('exchange_error').innerHTML = 'Invalid exchange. Exchange must match "NNN" template, where "N" is a number.';
			$('exchange_error').style.display = 'block';
			tr.className = 'error';
	    	break;
		}
		var numericPattern = /^[0-9]*$/;
		if (!numericPattern.test(element.value)){
				$('exchange_error').innerHTML = 'Invalid exchange. Exchange must match "NNN" template, where "N" is a number.';
				$('exchange_error').style.display = 'block';
				tr.className = 'error';
		    	break;
		}
		if ($('line_error').style.display == 'block' || $('areacode_error').style.display == 'block'){
			tr.className = 'error'
		}else{
			tr.className = '';
		}		
		$('exchange_error').style.display = 'none';
		break;
	case 'line':
		var tr = element.parentNode.parentNode.parentNode;
		if ($('suffix').value != '' || $('exchange').value != '' || $('areacode').value!= ''){
			if ($('areacode').value == '' ){				
				$('areacode_error').style.display = 'block';
				$('areacode_error').innerHTML = 'Required field for area code cannot be empty.';//'Area code is empty.';
				tr.className = 'error';				
			}			
			if ($('exchange').value == ''){				
				$('exchange_error').style.display = 'block';
				$('exchange_error').innerHTML = 'Required field for exchange cannot be empty.';//'Exchange is empty.';
				tr.className = 'error';
			}
			if ($('suffix').value == ''){				
				$('line_error').style.display = 'block';
				$('line_error').innerHTML = 'Required field for suffix cannot be empty.';//'Suffix is empty.';
				tr.className = 'error';
			}			
		}
		if(element.value == ''){
			if(isClickReg){
				$('line_error').style.display = 'block';
				$('line_error').innerHTML = 'Required field for suffix cannot be empty.';
				tr.className = 'error';
			}
			break;
		}
		if(element.value.length != 4){
			$('line_error').innerHTML = 'Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.';
			$('line_error').style.display = 'block';
			tr.className = 'error';
	    	break;
		}
		var numericPattern = /^[0-9]*$/;
		if (!numericPattern.test(element.value)){
				$('line_error').innerHTML = 'Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.';
				$('line_error').style.display = 'block';	
				tr.className = 'error';
		    	break;
		} 
		if ($('areacode_error').style.display == 'block' || $('exchange_error').style.display == 'block'){
			tr.className = 'error'
		}else{
			tr.className = '';
		}
		$('line_error').style.display = 'none';
		break;
	case 'first_name':
		var alphabeticalRegExp = /^[a-zA-Z]+$/;
		var tr = element.parentNode.parentNode;	
		if ($('same.tos').checked){
			$('cardName').value = $('firstName').value + ' ' + $('lastName').value;
		}
		if(element.value == ''){
			setEmptyError('first_name_error',tr);
			if ($('same.tos').checked){
				if (isClickReg){
					if($('last_name_error').style.display == 'block'){
						if($('last_name_error').innerHTML == 'Required field cannot be empty.'){
							$('cardName_error').style.display = 'block';
							$('cardName').parentNode.parentNode.className = 'error';
							$('cardName_error').style.display.innerHTML = 'Required field cannot be empty.';							
						}else{
							$('cardName_error').style.display = 'block';
							$('cardName').parentNode.parentNode.className = 'error';
							$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
						}
					}
				}else{				
					if($('last_name_error').style.display == 'none'){
						$('cardName_error').style.display = 'none';
						$('cardName').parentNode.parentNode.className = '';
					}else{
						$('cardName_error').style.display = 'block';
						$('cardName').parentNode.parentNode.className = 'error';
						$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
					}
				}
			}
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		if (!alphabeticalRegExp.test(nameWithoutSpaces)){
			$('first_name_error').innerHTML = 'Invalid first name. First name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong first name.';
			$('first_name_error').style.display = 'block';
			tr.className = 'error';
			if ($('same.tos').checked){
				$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
				$('cardName_error').style.display = 'block';
				$('cardName_error').parentNode.parentNode.className = 'error';
			}
	    	break;
	    }		
		tr.className = '';
		$('first_name_error').style.display = 'none';
		if ($('same.tos').checked){
			if($('last_name_error').style.display == 'none'){
				$('cardName_error').style.display = 'none';
				$('cardName').parentNode.parentNode.className = '';
			}else{
				$('cardName_error').style.display = 'block';
				$('cardName').parentNode.parentNode.className = 'error';
				$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
			}
		}
		break;
	case 'last_name':
		var alphabeticalRegExp = /^[a-zA-Z]+$/;
		var tr = element.parentNode.parentNode;
		if ($('same.tos').checked){
			$('cardName').value = $('firstName').value + ' ' + $('lastName').value;
		}
		if(element.value == ''){
			setEmptyError('last_name_error',tr);
			if (isClickReg){
				if($('first_name_error').style.display == 'block'){
					if($('first_name_error').innerHTML == 'Required field cannot be empty.'){
						$('cardName_error').style.display = 'block';
						$('cardName').parentNode.parentNode.className = 'error';
						$('cardName_error').style.display.innerHTML = 'Required field cannot be empty.';							
					}else{
						$('cardName_error').style.display = 'block';
						$('cardName').parentNode.parentNode.className = 'error';
						$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
					}
				}
			}else{
				if ($('same.tos').checked){
					if($('first_name_error').style.display == 'none'){
						$('cardName_error').style.display = 'none';
						$('cardName').parentNode.parentNode.className = '';
					}else{
						$('cardName_error').style.display = 'block';
						$('cardName').parentNode.parentNode.className = 'error';
						$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
					}
				}
			}
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		if (!alphabeticalRegExp.test(nameWithoutSpaces)){
			$('last_name_error').innerHTML = 'Invalid last name. Last name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong last name.';
			$('last_name_error').style.display = 'block';
			tr.className = 'error';
			if ($('same.tos').checked){
				$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
				$('cardName_error').style.display = 'block';
				$('cardName_error').parentNode.parentNode.className = 'error';
			}
	    	break;
	    }
		tr.className = '';
		$('last_name_error').style.display = 'none';
		if ($('same.tos').checked){
			if($('first_name_error').style.display == 'none'){
				$('cardName_error').style.display = 'none';
				$('cardName').parentNode.parentNode.className = '';
			}else{
				$('cardName_error').style.display = 'block';
				$('cardName').parentNode.parentNode.className = 'error';
				$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
			}
		}
		break;
	case 'email':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''  && $('email2').value == ''){
			setEmptyError('email1_error',tr);
			var tr2 = $('email2').parentNode.parentNode;
			setEmptyError('email2_error',tr2);
			$('different_emails_error').style.display = 'none';				
			break;
		}
		if($('email2').value != $('email1').value){
			$('different_emails_error').innerHTML = 'Email addresses do not match.';//'Emails are different.';
			$('different_emails_error').style.display = 'block';
			$('email2').parentNode.parentNode.className = 'error'; 
	    	//break;
		}else{
			//$('email2').parentNode.parentNode.className = ''; 
	    	$('different_emails_error').style.display = 'none';
		}
		var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (element.value != ''){
			if ( !emailPattern.test(element.value)){
				$('email1_error').innerHTML = 'Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".';//'Wrong email.';
				$('email1_error').style.display = 'block';
				tr.className = 'error';
				break;
			}else{
				tr.className = '';
				$('email1_error').style.display = 'none';
				if (emailPattern.test($('email2').value) && (element.value ==$('email2').value )){
					$('email2').parentNode.parentNode.className = '';
					$('email2_error').style.display = 'none';
				}
				break;
			}
		}else{
			setEmptyError('email1_error',tr);
			break;
		}
    	tr.className = '';
    	$('email1_error').style.display = 'none';
    	break;
	case 'email_confirm':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''  && $('email1').value == ''){
			setEmptyError('email2_error',tr);
			var tr1 = $('email1').parentNode.parentNode;
			setEmptyError('email1_error',tr1);
			$('different_emails_error').style.display = 'none';
			break;
		}
		if($('email2').value != $('email1').value){
			$('different_emails_error').innerHTML = 'Email addresses do not match.';//'Emails are different.';
			$('different_emails_error').style.display = 'block';
			$('email2').parentNode.parentNode.className = 'error'; 
	    	//break;
		}else{
			//$('email2').parentNode.parentNode.className = ''; 
	    	$('different_emails_error').style.display = 'none';
	    	//break;
		}
		var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (element.value != ''){
			if (!emailPattern.test(element.value)){
				$('email2_error').innerHTML = 'Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".';//'Wrong re-type email.';
				$('email2_error').style.display = 'block';	
				tr.className = 'error';
				break;
			}else{
				tr.className = '';
				$('email2_error').style.display = 'none';
				if (emailPattern.test($('email1').value) && (element.value ==$('email1').value )){
					$('email1').parentNode.parentNode.className = '';
					$('email1_error').style.display = 'none';	
				}
				//break;
			}
		}else{
			setEmptyError('email2_error',tr);
			//break;
			//$('email2_error').style.display = 'none';
		}	
		if ($('different_emails_error').style.display == 'none'){
			tr.className = '';
			$('email2_error').style.display = 'none';
		}else{
			tr.className = 'error';
		}
    	break;
	case 'username':
		var tr = element.parentNode.parentNode;
		if(element.value == ''){
			setEmptyError('username_error',tr);
			$('username_exist').style.display = 'none'; 
			$('username_not_exist').style.display = 'none';
			break;
		}
		if(element.value.length < 6 || element.value.length > 12 ){
			tr.className = 'error';
			$('username_exist').style.display = 'none'; 
			$('username_not_exist').style.display = 'none';
			$('username_error').innerHTML = 'Username must be 6-12 characters long.';
			$('username_error').style.display = 'block';
			break;
		}
		var alphabeticalRegExp = /^[a-zA-Z]*$/;
		var alphaNumeric = /^[a-zA-Z0-9]*$/;
		var firstChar = element.value.substring(0,1);
		if(!alphabeticalRegExp.test(firstChar)) {
	    	tr.className = 'error';
	    	$('username_exist').style.display = 'none'; 
			$('username_not_exist').style.display = 'none';
			$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Username can\'t start with a number or non alphabetical character.';
			$('username_error').style.display = 'block';
	    	break;
	    } 
		if( -1 != element.value.search(' ') ){
	    	tr.className = 'error';
	    	$('username_exist').style.display = 'none'; 
			$('username_not_exist').style.display = 'none';
			$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Username can\'t contain spaces.';
			$('username_error').style.display = 'block';
		    break;
	    }
		if(!alphaNumeric.test(element.value)) {
		    tr.className = 'error';
		    $('username_exist').style.display = 'none'; 
			$('username_not_exist').style.display = 'none';
			$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Username can only contain numbers and letters.';
			$('username_error').style.display = 'block';
		    break;
		}
	    
		  var params = 'checkusername=1&username=' + element.value;  
		  providerRegisterControllerRequest.send(params);
		  providerRegisterControllerRequest.onSuccess = function(responseText, responseXML){
		  var response = eval('(' +  responseText + ')');
		  		if(response.res){
		  			$('username_exist').style.display = 'none'; 
		  			$('username_not_exist').style.display = 'block';
		  			tr.className = '';
		  		}else{
		  			$('username_exist').style.display = 'block'; 
		  			$('username_not_exist').style.display = 'none';
		  			tr.className = 'error';
		  		}
			}
		  tr.className = '';
		  $('username_error').style.display = 'none';
		 break;
	case 'password':
		var tr = element.parentNode.parentNode;
		
		if(element.value == '' && $('password2').value == ''){
			setEmptyError('password1_error',tr);
			var tr2 = $('password2').parentNode.parentNode;
			setEmptyError('password2_error',tr2);
			$('password_different_error').style.display = 'none';
			break;
		}
		
		if($('password1').value != $('password2').value){
			
			//tr.className = 'error';
			$('password2').parentNode.parentNode.className = 'error';
			$('password_different_error').innerHTML = 'Passwords do not match.';//'Passwords are different';
			$('password_different_error').style.display = 'block';
			//break;
		}else{
			
			$('password_different_error').style.display = 'none';
		//	$('password2_error').style.display = 'none';
		//	$('password2').parentNode.parentNode.className = '';
		}
	
		if($('password1').value != ''){
			if ((element.value.length < 6) || (element.value.length > 12)) {
				$('password1_error').innerHTML = 'Password must be 6-12 characters long.';
				$('password1_error').style.display = 'block';
				tr.className = 'error';
				//break;
			}else{
				tr.className = '';
		    	$('password1_error').style.display = 'none';
		    	if (($('password2').value.length >= 6) && ($('password2').value.length <= 12) && ($('password1').value == $('password2').value)){
					$('password2').parentNode.parentNode.className = '';
					$('password2_error').style.display = 'none';
				}
		    }
			if($('password1').value != $('password2').value){
				//tr.className = 'error';				
				$('password2').parentNode.parentNode.className = 'error';
				$('password_different_error').innerHTML = 'Passwords do not match.';//'Passwords are different';
				$('password_different_error').style.display = 'block';
			}else{
				$('password_different_error').style.display = 'none';				
			}
		}else{
			setEmptyError('password1_error',tr);
		}
		
		if ($('password_different_error').style.display == 'block'){
			$('password2_error').parentNode.parentNode.className = 'error';
		}else{
			//tr.className = '';
			//$('password1_error').style.display = 'none';
		}		
		break;
	case 'retype_password':
		var tr = element.parentNode.parentNode;	
		
		if(element.value == '' && $('password1').value == ''){
			setEmptyError('password2_error',tr);
			var tr1 = $('password1').parentNode.parentNode;
			setEmptyError('password1_error',tr1);
			$('password_different_error').style.display = 'none';
			break;
		}

		
		if($('password1').value != $('password2').value){
			tr.className = 'error';
			//$('password1').parentNode.parentNode.className = 'error';
			$('password2').parentNode.parentNode.className = 'error';
			$('password_different_error').innerHTML = 'Passwords do not match.';//'Passwords are different';
			$('password_different_error').style.display = 'block';
			//break;
		}else{
			$('password_different_error').style.display = 'none';
			//$('password1_error').style.display = 'none';
			//$('password1').parentNode.parentNode.className = '';				
		}
		
		if($('password2').value != ''){
			if ((element.value.length < 6) || (element.value.length > 12)) {
				$('password2_error').innerHTML = 'Password must be 6-12 characters long.';//'Re-type password must be 6-12 characters long.';
				$('password2_error').style.display = 'block';
				tr.className = 'error';
				//break;
	    	}else{
	    		if (($('password1').value.length >= 6) && ($('password1').value.length <= 12) && ($('password1').value == $('password2').value)){
					$('password1').parentNode.parentNode.className = '';
					$('password1_error').style.display = 'none';
				}
	    		tr.className = '';
	    		$('password2_error').style.display = 'none';
	    	}
			if($('password1').value != $('password2').value){
				tr.className = 'error';				
				$('password2').parentNode.parentNode.className = 'error';
				$('password_different_error').innerHTML = 'Passwords do not match.';//'Passwords are different';
				$('password_different_error').style.display = 'block';
			}else{
				$('password_different_error').style.display = 'none';				
			}
		}else{
			if(isClickReg){
				$('password2_error').style.display = 'block';
				$('password2_error').innerHTML = 'Required field cannot be empty.';
				tr.className = 'error';
			}else{
				$('password2_error').style.display = 'none';
			}
		}
		if ($('password_different_error').style.display == 'block'){
			tr.className = 'error';
		}else{
			//tr.className = '';
		}
		break;	
	case 'keyword':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('keyword_error',tr);
			$('keyword_exist').style.display = 'none'; 
			$('keyword_not_exist').style.display = 'none';
			break;
		}
		if(element.value.length < 4){
			tr.className = 'error';
			$('keyword_exist').style.display = 'none'; 
			$('keyword_not_exist').style.display = 'none';
			$('keyword_error').innerHTML = 'Keyword must be at least 4 characters long.';
			$('keyword_error').style.display = 'block';
			break;
		}
		var alphabeticalRegExp = /^[a-zA-Z]*$/;
		var alphaNumeric = /^[a-zA-Z0-9]*$/;
		var firstChar = element.value.substring(0,1);
		if (!alphabeticalRegExp.test(firstChar)) {
	    	tr.className = 'error';
	    	$('keyword_exist').style.display = 'none'; 
			$('keyword_not_exist').style.display = 'none';
			$('keyword_error').innerHTML = 'Invalid keyword. Keyword must start with a letter and must contain alphanumeric characters.';//'Keyword can\'t start with a number or non alphabetical character';
			$('keyword_error').style.display = 'block';
	    	break;
	    }
		if( -1 != element.value.search(' ') ){
	    	tr.className = 'error';
	    	$('keyword_exist').style.display = 'none'; 
			$('keyword_not_exist').style.display = 'none';
			$('keyword_error').innerHTML = 'Invalid keyword. Keyword must start with a letter and must contain alphanumeric characters.';//'Keyword can\'t contain spaces.';
			$('keyword_error').style.display = 'block';
		    break;
	    }
		if (!alphaNumeric.test(element.value)) {
		    	tr.className = 'error';
		    	$('keyword_exist').style.display = 'none'; 
				$('keyword_not_exist').style.display = 'none';
				$('keyword_error').innerHTML = 'Invalid keyword. Keyword must start with a letter and must contain alphanumeric characters.';//'Keyword can only contain numbers and letters.';
				$('keyword_error').style.display = 'block';
		    	break;
		   } 
			  var params = 'checkkeyword=1&keyword=' + element.value;  
			  providerRegisterControllerRequest.send(params);
			  providerRegisterControllerRequest.onSuccess = function(responseText, responseXML){
			  var response = eval('(' +  responseText + ')');
			  if(response.res){
			  			$('keyword_exist').style.display = 'none'; 
			  			$('keyword_not_exist').style.display = 'block';
			  			tr.className = '';
			  		}else{
			  			$('keyword_exist').style.display = 'block'; 
			  			$('keyword_not_exist').style.display = 'none';
			  			tr.className = 'error';
			  		}
				}
		  tr.className = '';
		  $('keyword_error').style.display = 'none';
		 break;
	case 'promo_code':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			tr.className = '';
			$('billing_table').style.display = 'block';
  			$('price_').innerHTML = '$50.00 for unlimited messages to 0-100 phone numbers<P class="frmdesc">This amount will be billed today and on the 25th of every month for the following month.  The second months fee with be prorated based on the date.</P>';
  			$('promo_desc').innerHTML = 'Enter a promo code or referer code.';
  			$('promo_not_exist').style.display = 'none';
  			$('promo_exist').style.display = 'none';
			break;
		}
//		var illegalChars = /\W/;
//		    if (illegalChars.test(element.value)) {
//		    	tr.className = 'error';
//		    	break;
//		    } 
			  var params = 'checkpromocode=1&promocode=' + element.value;  
			  providerRegisterControllerRequest.send(params);
			  providerRegisterControllerRequest.onSuccess = function(responseText, responseXML){
			  var response = eval('(' +  responseText + ')');
			  		if(response.res){
			  			$('promo_exist').style.display = 'none'; 
			  			$('promo_not_exist').style.display = 'block';
			  			$('promo_desc').innerHTML = response.desc;
			  			if(response.discount == 100){
			  				$('billing_table').style.display = 'none';
			  				$('price_').innerHTML = '$00.00 for unlimited messages to 0-100 phone numbers<P class="frmdesc">This amount will be billed today and on the 25th of every month for the following month.  The second months fee with be prorated based on the date.</P>';
			  				$('billing_table').style.display = 'block';
			  			}else{
			  				var price = 50 - ((response.discount * 50) / 100); 
			  				$('price_').innerHTML = '$' + price + '.00 for unlimited messages to 0-100 phone numbers<P class="frmdesc">This amount will be billed today and on the 25th of every month for the following month.  The second months fee with be prorated based on the date.</P>';
			  				$('billing_table').style.display = 'block';
			  			}
			  			tr.className = '';
			  		}else{
			  			$('promo_exist').style.display = 'block'; 
			  			$('promo_not_exist').style.display = 'none';
			  			$('billing_table').style.display = 'block';
			  			$('price_').innerHTML = '$50.00 for unlimited messages to 0-100 phone numbers<P class="frmdesc">This amount will be billed today and on the 25th of every month for the following month.  The second months fee with be prorated based on the date.</P>';
			  			$('promo_desc').innerHTML = 'Enter a promo code or referer code.';
			  			tr.className = 'error';
			  		}
				}
		  tr.className = '';
		 break;
	case 'ccnumber':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('ccNumber_error',tr);
			break;
		}
		
		var ccPattern = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/;
		if (!ccPattern.test(element.value)){
				$('ccNumber_error').innerHTML = 'Invalid credit card number.';//'Wrong CC number.';
				$('ccNumber_error').style.display = 'block';
				tr.className = 'error';
		    	break;
		    } 
		tr.className = '';
		$('ccNumber_error').style.display = 'none';
		break;
	case 'security_code':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('pin_error',tr);
			break;
		}
		if(element.value.length < 3 || element.value.length > 4){
			$('pin_error').innerHTML = 'Security code must be 3-4 characters long.';
			$('pin_error').style.display = 'block';
			tr.className = 'error';
			break;
		}
		var numericPattern = /^[0-9]*$/;
		if (!numericPattern.test($('pin').value)){
			$('pin_error').innerHTML = 'Invalid security code. Security code must match either "NNN" or "NNNN" template, where "N" is a number.';//'Exchange is wrong.';
			$('pin_error').style.display = 'block';
			tr.className = 'error';
			break;
		}
		tr.className = '';
		$('pin_error').style.display = 'none';
		break;
	case 'ccname':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('cardName_error',tr);
			break;
		}
		var alphabeticalRegExp = /^[a-zA-Z]+$/;
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		if (!alphabeticalRegExp.test(nameWithoutSpaces)){
			$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
			$('cardName_error').style.display = 'block';
			tr.className = 'error';
	    	break;
	    }
		tr.className = '';
		$('cardName_error').style.display = 'none';
		break;
	case 'billing_address':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('baddress_error',tr);
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('baddress_error').innerHTML = 'Wrong billing address.';
			$('baddress_error').style.display = 'block';
			tr.className = 'error';
	    	break;
	    }
		  tr.className = '';
		  $('baddress_error').style.display = 'none';
		 break;
	case 'bmonth':
		
		if(($('bMonth').value != 0 && $('bYear').value != 0) ||
				($('bMonth').value == 0 && $('bYear').value == 0)){
			if(isClickReg){
				if($('bMonth').value == 0 && $('bYear').value == 0){
					$('exp_month_error').innerHTML = 'Please select expiration date.';
					$('exp_month_error').style.display = 'block';
					$('bMonth').parentNode.parentNode.className = 'error';
				}else{
					$('exp_month_error').style.display = 'none';
					$('bMonth').parentNode.parentNode.className = '';
				}
			}else{
				$('exp_month_error').style.display = 'none';
				$('bMonth').parentNode.parentNode.className = '';
			}		
		}else{
			$('exp_month_error').innerHTML = 'Please select expiration date.';
			$('exp_month_error').style.display = 'block';
			$('bMonth').parentNode.parentNode.className = 'error';
			
		}
		//var tr = element.parentNode.parentNode;	
		//if(element.value != 0){
		//	$('exp_month_error').style.display = 'none';
		//	$('bMonth').parentNode.parentNode.className = '';
		//}
		break;
	case 'byear':
		if (($('bMonth').value != 0 && $('bYear').value != 0) ||
				($('bMonth').value == 0 && $('bYear').value == 0)){
			if(isClickReg){
				if($('bMonth').value == 0 && $('bYear').value == 0){
					$('exp_month_error').innerHTML = 'Please select expiration date.';
					$('exp_month_error').style.display = 'block';
					$('bMonth').parentNode.parentNode.className = 'error';
				}else{
					$('exp_month_error').style.display = 'none';
					$('bMonth').parentNode.parentNode.className = '';
				}
			}else{
				$('exp_month_error').style.display = 'none';
				$('bMonth').parentNode.parentNode.className = '';
			}
		}else{
			$('exp_month_error').innerHTML = 'Please select expiration date.';
			$('exp_month_error').style.display = 'block';
			$('bMonth').parentNode.parentNode.className = 'error';
		}
		//var tr = element.parentNode.parentNode;	
		//if(element.value != 0){
		//	$('exp_year_error').style.display = 'none';
		//	$('bYear').parentNode.parentNode.className = '';
		//}
		break;
	case 'billing_city':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('bcity_error',tr);
			break;
		}
		var nameWithoutSpaces = element.value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('bcity_error').innerHTML = 'Wrong billing city.';
			$('bcity_error').style.display = 'block';
			tr.className = 'error';
	    	break;
	    }
		  tr.className = '';
		  $('bcity_error').style.display = 'none';
		 break;
	case 'billing_postal':
		var tr = element.parentNode.parentNode;	
		if(element.value == ''){
			setEmptyError('bpostal_error',tr);
			break;
		}
		var postalPattern = /^([0-9]{5})(-[0-9]{4})?$/i;
		if (!postalPattern.test(element.value)){
			  $('bpostal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong postal code.';
			  $('bpostal_error').style.display = 'block';  
			  tr.className = 'error';
		      break;
		    } 
		tr.className = '';
		$('bpostal_error').style.display = 'none';
		break;
	default: alert(1);
	}
}

setEmptyError = function(elementName, element){
	if(isClickReg){
		$(elementName).style.display = 'block';
		$(elementName).innerHTML = 'Required field cannot be empty.';
		element.className = 'error';
	}else{
		$(elementName).style.display = 'none';
		element.className = '';
	}
}


var checkUserNameRequest = new Request({method: 'post', url: 'providerregcontroller'});
var checkKeywordRequest = new Request({method: 'post', url: 'providerregcontroller'});

buildRegistrationErrors = function(){
	var errorsHtml = '';
	var errorCount = 0;
	////////////////////
	
	if($('businessName').value == ''){
		errorCount += 1;
		$('bname_error').innerHTML = 'Required field cannot be empty.';//'Business name is empty.';
		$('bname_error').style.display = 'block';
		$('businessName').parentNode.parentNode.className = 'error'; 
	}else{
		var nameWithoutSpaces = $('businessName').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('bname_error').innerHTML = 'Wrong business name.';
			$('bname_error').style.display = 'block';
			errorCount += 1;
			$('businessName').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('businessName').parentNode.parentNode.className = '';
	    	$('bname_error').style.display = 'none';
	    }
	}
	if($('address').value == ''){
		errorCount += 1;
		$('address_error').innerHTML = 'Required field cannot be empty.';//'Address is empty.';
		$('address_error').style.display = 'block';
		$('address').parentNode.parentNode.className = 'error'; 
	}else{
		var nameWithoutSpaces = $('address').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('address_error').innerHTML = 'Wrong address.';
			$('address_error').style.display = 'block';
			errorCount += 1;
			$('address').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('address').parentNode.parentNode.className = '';
	    	$('address_error').style.display = 'none';
	    }
	}
	if($('city').value == ''){
		errorCount += 1;
		$('city_error').innerHTML = 'Required field cannot be empty.';//'City is empty.';
		$('city_error').style.display = 'block';
		$('city').parentNode.parentNode.className = 'error'; 
	}else{
		var nameWithoutSpaces = $('city').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('city_error').innerHTML = 'Wrong city.';
			$('city_error').style.display = 'block';
			errorCount += 1;
			$('city').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('city').parentNode.parentNode.className = '';
	    	$('city_error').style.display = 'none';
	    }
	}
	if($('postalCode').value == ''){
		errorCount += 1;
		$('postal_error').innerHTML = 'Required field cannot be empty.';//'Postal code is empty.';
		$('postal_error').style.display = 'block';
		$('postalCode').parentNode.parentNode.className = 'error'; 
	}else{
		var postalPattern = /^([0-9]{5})(-[0-9]{4})?$/i;
		if (!postalPattern.test($('postalCode').value)){
		    	errorCount += 1;
				$('postal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong postal code.';
				$('postal_error').style.display = 'block';
				$('postalCode').parentNode.parentNode.className = 'error'; 
		    }else{
		    	$('postalCode').parentNode.parentNode.className = '';
		    	$('postal_error').style.display = 'none';
		    }		
	}
	if($('areacode').value == ''){
		errorCount += 1;
		$('areacode_error').innerHTML = 'Required field for area code cannot be empty.';//'Area code is empty.';
		$('areacode_error').style.display = 'block';
		$('areacode').parentNode.parentNode.parentNode.className = 'error'; 
	}else{
		var areaPattern = /^[0-9]*$/;
		if (!areaPattern.test($('areacode').value)){
	    	errorCount += 1;
			$('areacode_error').innerHTML = 'Invalid area code. Area code must match "NNN" template, where "N" is a number.';//'Area code is wrong.';
			$('areacode_error').style.display = 'block';
			$('areacode').parentNode.parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('areacode').parentNode.parentNode.parentNode.className = '';
	    	$('areacode_error').style.display = 'none';
		 }		
	}
	if($('exchange').value == ''){
		errorCount += 1;
		$('exchange_error').innerHTML = 'Required field for exchange cannot be empty.';//'Exchange is empty.';
		$('exchange_error').style.display = 'block';
		$('exchange').parentNode.parentNode.parentNode.className = 'error'; 
	}else{
		var areaPattern = /^[0-9]*$/;
		if ($('exchange').value.length != 3 || !areaPattern.test($('exchange').value)){
	    	errorCount += 1;
			$('exchange_error').innerHTML = 'Invalid exchange. Exchange must match "NNN" template, where "N" is a number.';//'Exchange is wrong.';
			$('exchange_error').style.display = 'block';
			$('exchange').parentNode.parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('exchange').parentNode.parentNode.parentNode.className = '';
			$('exchange_error').style.display = 'none';
		 }		
	}
	if($('suffix').value == ''){
		errorCount += 1;
		$('line_error').innerHTML = 'Required field for suffix cannot be empty.';//'Suffix is empty.';
		$('line_error').style.display = 'block';
		$('suffix').parentNode.parentNode.parentNode.className = 'error'; 
	}else{
		var areaPattern = /^[0-9]*$/;
		if (!areaPattern.test($('suffix').value)){
	    	errorCount += 1;
			$('line_error').innerHTML = 'Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.';//'Suffix is wrong.';
			$('line_error').style.display = 'block';
			$('suffix').parentNode.parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('suffix').parentNode.parentNode.parentNode.className = '';
	    	$('line_error').style.display = 'none';
		 }		
	}
	if($('firstName').value == ''){
		errorCount += 1;
		$('first_name_error').innerHTML = 'Required field cannot be empty.';//'First name is empty.';
		$('first_name_error').style.display = 'block';
		$('firstName').parentNode.parentNode.className = 'error'; 
	}else{
		var alphabeticalRegExp = /^[a-zA-Z]+$/;
		var nameWithoutSpaces = $('firstName').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (!alphabeticalRegExp.test(nameWithoutSpaces)){
			$('first_name_error').innerHTML = 'Invalid first name. First name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong first name.';
			$('first_name_error').style.display = 'block';
			errorCount += 1;
			$('firstName').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('firstName').parentNode.parentNode.className = '';
	    	$('first_name_error').style.display = 'none';
	    }
	}
	
	if($('lastName').value == ''){
		errorCount += 1;
		$('last_name_error').innerHTML = 'Required field cannot be empty.';//'Last name is empty.';
		$('last_name_error').style.display = 'block';
		$('lastName').parentNode.parentNode.className = 'error'; 
	}else{
		var alphabeticalRegExp = /^[a-zA-Z]+$/;
		var nameWithoutSpaces = $('lastName').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (!alphabeticalRegExp.test(nameWithoutSpaces)){
			$('last_name_error').innerHTML = 'Invalid last name. Last name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong last name.';
			$('last_name_error').style.display = 'block';
			errorCount += 1;
			$('lastName').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('lastName').parentNode.parentNode.className = '';
	    	$('last_name_error').style.display = 'none';
	    }
	}
	if($('email1').value == ''){
		errorCount += 1;
		$('email1_error').innerHTML = 'Required field cannot be empty.';//'Email is empty.';
		$('email1_error').style.display = 'block';
		$('email1').parentNode.parentNode.className = 'error'; 
	}else{
		var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (!emailPattern.test($('email1').value)){
			$('email1_error').innerHTML = 'Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".';//'Wrong email.';
			$('email1_error').style.display = 'block';
			errorCount += 1;
			$('email1').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('email1').parentNode.parentNode.className = '';
	    	$('email1_error').style.display = 'none';
	    }		
	}
	if($('email2').value == ''){
		errorCount += 1;
		$('email2_error').innerHTML = 'Required field cannot be empty.';//'Re-type email is empty.';
		$('email2_error').style.display = 'block';
		$('email2').parentNode.parentNode.className = 'error'; 
	}else{
		var emailPattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if (!emailPattern.test($('email2').value)){
			$('email2_error').innerHTML = 'Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".';//'Wrong re-type email.';
			$('email2_error').style.display = 'block';
			errorCount += 1;
			$('email2').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('email2').parentNode.parentNode.className = ''; 
	    	$('email2_error').style.display = 'none';
	    }		
	}
	if($('email2').value != $('email1').value /*&& $('email1').value != '' && $('email2').value != ''*/){
    	errorCount += 1;
    	$('email2').parentNode.parentNode.className = 'error'; 
    	//$('email1').parentNode.parentNode.className = 'error'; 
		$('different_emails_error').innerHTML = 'Email addresses do not match.';//'Emails are different.';
		$('different_emails_error').style.display = 'block';
	}else{
		$('different_emails_error').style.display = 'none';
	}
	
	if($('user_name').value == ''){
		errorCount += 1;
		$('username_error').innerHTML = 'Required field cannot be empty.';//'Username is empty.';
		$('username_error').style.display = 'block';
		$('user_name').parentNode.parentNode.className = 'error'; 
	}else if($('user_name').value.length < 6 || $('user_name').value.length > 12 ){
		errorCount += 1;
		$('username_error').innerHTML = 'Username must be 6-12 characters long.';
		$('username_error').style.display = 'block';
		$('user_name').parentNode.parentNode.className = 'error'; 
	}else{
		var alphabeticalRegExp = /^[a-zA-Z]*$/;
		var alphaNumeric = /^[a-zA-Z0-9]*$/;
		var firstChar = $('user_name').value.substring(0,1);
		if(!alphabeticalRegExp.test(firstChar)) {
			errorCount += 1;
			$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Username can\'t start with a number or non alphabeticalcharacter.';
			$('username_error').style.display = 'block';
			$('user_name').parentNode.parentNode.className = 'error'; 
		}else if( -1 != $('user_name').value.search(' ') ){
			errorCount += 1;
			$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Username can\'t contain spaces.';
			$('username_error').style.display = 'block';
			$('user_name').parentNode.parentNode.className = 'error';
		}else if(!alphaNumeric.test($('user_name').value)) {
			errorCount += 1;
			$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Username can\'t contain non alphanumberic characters.';
			$('username_error').style.display = 'block';
			$('user_name').parentNode.parentNode.className = 'error';	    
	    }else{
	    	  var params = 'checkusername=1&username=' + $('user_name').value;  
		  	  checkUserNameRequest.send(params);
		  	  checkUserNameRequest.onSuccess = function(responseText, responseXML){
			  var response = eval('(' +  responseText + ')');
			  		if(response.res){
			  			$('username_exist').style.display = 'none';
			  			$('user_name').parentNode.parentNode.className = '';
			  		}else{
			  			errorCount += 1;
			  			//$('username_error').innerHTML = 'This username is already exist.';
			  			$('username_exist').style.display = 'block';
				    	$('user_name').parentNode.parentNode.className = 'error';
			  		}
				}
		    }		
	}

	if($('password1').value == ''){
		errorCount += 1;
		$('password1_error').innerHTML = 'Required field cannot be empty.';//'Password is empty.';
		$('password1_error').style.display = 'block';
		$('password1').parentNode.parentNode.className = 'error'; 
	}else if($('password1').value.length < 6 || $('password1').value.length > 12){
    	errorCount += 1;
		$('password1_error').innerHTML = 'Password must be 6-12 characters long.';
		$('password1_error').style.display = 'block';
		$('password1').parentNode.parentNode.className = 'error'; 
	}else{
		$('password1').parentNode.parentNode.className = '';
		$('password1_error').style.display = 'none';
	}

	if($('password2').value == ''){
		errorCount += 1;
		$('password2_error').innerHTML = 'Required field cannot be empty.';//'Re-type password is empty.';
		$('password2_error').style.display = 'block';
		$('password2').parentNode.parentNode.className = 'error'; 
	}else if($('password2').value.length < 6 || $('password1').value.length > 12){
    	errorCount += 1;
		$('password2_error').innerHTML = 'Password must be 6-12 characters long.';//'Re-type password must be 6-12 characters long.';
		$('password2_error').style.display = 'block';
		$('password2').parentNode.parentNode.className = 'error'; 
	}else{
		$('password2').parentNode.parentNode.className = '';
		$('password2_error').style.display = 'none';
	}

	if($('password1').value != $('password2').value){
    	errorCount += 1;
		$('password_different_error').innerHTML = 'Passwords do not match.';//'Passwords are different.';
		$('password_different_error').style.display = 'block';
		$('password2').parentNode.parentNode.className = 'error'; 
		//$('password1').parentNode.parentNode.className = 'error';
	}else{
		$('password_different_error').style.display = 'none';
	}

	if($('keyword').value == ''){
		errorCount += 1;
		$('keyword_error').innerHTML = 'Required field cannot be empty.';//'Keyword is empty.';
		$('keyword_error').style.display = 'block';
		$('keyword').parentNode.parentNode.className = 'error'; 
	}else if($('keyword').value.length < 4){
		errorCount += 1;
		$('keyword_error').innerHTML = 'Keyword must be at least 4 characters long.';
		$('keyword_error').style.display = 'block';
		$('keyword').parentNode.parentNode.className = 'error'; 
	}else{
		var alphabeticalRegExp = /^[a-zA-Z]*$/;
		var alphaNumeric = /^[a-zA-Z0-9]*$/;
		var firstChar = $('keyword').value.substring(0,1);
		if (!alphabeticalRegExp.test(firstChar)) {
			errorCount += 1;
			$('keyword_error').innerHTML = 'Invalid keyword. Keyword must start with a letter and must contain alphanumeric characters.';//'Keyword can\'t start with a number .';
			$('keyword_error').style.display = 'block';
			$('keyword').parentNode.parentNode.className = 'error'; 
		}else if( -1 != $('keyword').value.search(' ') ){
			errorCount += 1;
			$('keyword_error').innerHTML = 'Invalid keyword. Keyword must start with a letter and must contain alphanumeric characters.';//'Keyword can\'t contain spaces.';
			$('keyword_error').style.display = 'block';
			$('keyword').parentNode.parentNode.className = 'error';
		}else if(!alphaNumeric.test($('keyword').value)) {
			errorCount += 1;
			$('keyword_error').innerHTML = 'Invalid keyword. Keyword must start with a letter and must contain alphanumeric characters.';//'Keyword can only contain numbers and letters.';
			$('keyword_error').style.display = 'block';
			$('keyword').parentNode.parentNode.className = 'error'; 
	    }else{
		    	var params = 'checkkeyword=1&keyword=' + $('keyword').value;  
		    	checkKeywordRequest.send(params);
		    	checkKeywordRequest.onSuccess = function(responseText, responseXML){
			  var response = eval('(' +  responseText + ')');
			  		if(response.res){
			  			$('keyword').parentNode.parentNode.className = '';
			  			$('keyword_exist').style.display = 'none';
			  		}else{
				    	errorCount += 1;
				    	//$('keyword_error').innerHTML = 'This keyword is already exist.';
				    	$('keyword_exist').style.display = 'block';
				    	$('keyword').parentNode.parentNode.className = 'error';
			  		}
				}
		    }		
	}
//	if($('promo').value == ''){
//		errorCount += 1;
//		errorsHtml += '<li>Promo code is empty.</li>';
//	}

	
if($('billing_table').style.display != 'none'){
	
	if($('ccNumber').value == ''){
		errorCount += 1;
		$('ccNumber_error').innerHTML = 'Required field cannot be empty.';//'CC Number is empty.';
		$('ccNumber_error').style.display = 'block';
		$('ccNumber').parentNode.parentNode.className = 'error'; 
	}else{
		var ccNumberPattern = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/;
		if (!ccNumberPattern.test($('ccNumber').value)){
		    	errorCount += 1;
				$('ccNumber_error').innerHTML = 'Invalid credit card number.';//'Wrong CC number.';
				$('ccNumber_error').style.display = 'block';
				$('ccNumber').parentNode.parentNode.className = 'error'; 
		    }else{
				$('ccNumber_error').style.display = 'none';
				$('ccNumber').parentNode.parentNode.className = ''; 
		    }		
	}
	if($('pin').value == ''){
		errorCount += 1;
		$('pin_error').innerHTML = 'Required field cannot be empty.';//'Security code is empty.';
		$('pin_error').style.display = 'block';
		$('pin').parentNode.parentNode.className = 'error'; 
	}else if($('pin').value.length < 3 || $('pin').value.length > 4){
		errorCount += 1;
		$('pin_error').innerHTML = 'Security code must be 3-4 characters long.';
		$('pin_error').style.display = 'block';
		$('pin').parentNode.parentNode.className = 'error'; 
	}else{
		var numericPattern = /^[0-9]*$/;
		if (!numericPattern.test($('pin').value)){
	    	errorCount += 1;
			$('pin_error').innerHTML = 'Invalid security code. Security code must match either "NNN" or "NNNN" template, where "N" is a number.';//Exchange is wrong.';
			$('pin_error').style.display = 'block';
			$('pin').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('pin').parentNode.parentNode.className = '';
			$('pin_error').style.display = 'none';
		 }		

	}
	
	if($('cardName').value == ''){
		errorCount += 1;
		$('cardName_error').innerHTML = 'Required field cannot be empty.';//'Card name is empty.';
		$('cardName_error').style.display = 'block';
		$('cardName').parentNode.parentNode.className = 'error'; 
	}else{
		var alphabeticalRegExp = /^[a-zA-Z]+$/;
		var nameWithoutSpaces = $('cardName').value.replace(/ /g, '');
		if (!alphabeticalRegExp.test(nameWithoutSpaces)){
			$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong card name.';
			$('cardName_error').style.display = 'block';
			errorCount += 1;
			$('cardName').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('cardName').parentNode.parentNode.className = '';
	    	$('cardName_error').style.display = 'none';
	    }
	}

	if($('baddress').value == ''){
		errorCount += 1;
		$('baddress_error').innerHTML = 'Required field cannot be empty.';//'Billing address is empty';
		$('baddress_error').style.display = 'block';
		$('baddress').parentNode.parentNode.className = 'error'; 
	}else{
		var nameWithoutSpaces = $('baddress').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('baddress_error').innerHTML = 'Wrong billing address.';
			$('baddress_error').style.display = 'block';
			errorCount += 1;
			$('baddress').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('baddress').parentNode.parentNode.className = '';
	    	$('baddress_error').style.display = 'none';
	    }
	}

	if($('bcity').value == ''){
		errorCount += 1;
		$('bcity_error').innerHTML = 'Required field cannot be empty.';//'Billing city is empty';
		$('bcity_error').style.display = 'block';
		$('bcity').parentNode.parentNode.className = 'error'; 
	}else{
		var nameWithoutSpaces = $('bcity').value.replace(/ /g, '');
		//if (!namePattern.test(nameWithoutSpaces)){
		if (nameWithoutSpaces.length == 0){
			$('bcity_error').innerHTML = 'Wrong billing city.';
			$('bcity_error').style.display = 'block';
			errorCount += 1;
			$('bcity').parentNode.parentNode.className = 'error'; 
	    }else{
	    	$('bcity').parentNode.parentNode.className = '';
	    	$('bcity_error').style.display = 'none';
	    }
	}
	
	if($('bpostalCode').value == ''){
		errorCount += 1;
		$('bpostal_error').innerHTML = 'Required field cannot be empty.';//'Billing postal code is empty.';
		$('bpostal_error').style.display = 'block';
		$('bpostalCode').parentNode.parentNode.className = 'error'; 
	}else{
		var postalPattern = /^([0-9]{5})(-[0-9]{4})?$/i;
		if (!postalPattern.test($('bpostalCode').value)){
		    	errorCount += 1;
				$('bpostal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong postal code.';
				$('bpostal_error').style.display = 'block';
				$('bpostalCode').parentNode.parentNode.className = 'error'; 
		    }else{
		    	$('bpostalCode').parentNode.parentNode.className = '';
		    	$('bpostal_error').style.display = 'none';
		    }		
	}

	if($('bMonth').value == 0 || $('bYear').value == 0){
		errorCount+=2;
		$('exp_month_error').innerHTML = 'Please select expiration date.';
		$('exp_month_error').style.display = 'block';
		$('bMonth').parentNode.parentNode.className = 'error';
	}else{
		$('exp_month_error').style.display = 'none';
	}
	/*if($('bMonth').value == 0){
		errorCount += 1;
		$('exp_month_error').innerHTML = 'Please select expiration month.';
		$('exp_month_error').style.display = 'block';
		$('bMonth').parentNode.parentNode.className = 'error';
	}else{
		$('exp_month_error').style.display = 'none';
	}
	if($('bYear').value == 0){
    	errorCount += 1;
		$('exp_year_error').innerHTML = 'Please select expiration year.';
		$('exp_year_error').style.display = 'block';
		$('bYear').parentNode.parentNode.className = 'error';
	}else{
		$('exp_year_error').style.display = 'none';
	}*/
}
	
	if(!$('s.tos').checked){
    	errorCount += 1;
		$('tos_error').innerHTML = 'Please agree Terms and Conditions.';
		$('tos_error').style.display = 'block';
	}else{
		$('tos_error').style.display = 'none';
	}
	return errorCount;

}

checkProviderRegForm = function(){
	isClickReg = true;
	var errorCount = buildRegistrationErrors();
	if(errorCount > 0){
		var errors = '<p>There was an error creating your account. Please correct the red highlighted fields below.</p><ul>';
		$('regerrors').innerHTML = errors;
		$('regerrors').style.display = 'block';
		scroll(0,0);
		return;	
	}else{
		$('regerrors').style.display = 'none';
		$('regerrors').innerHTML = '';
	}
	var providerForm = $('providerregform');
	var params = 'register=1&' + providerForm.toQueryString();
		
		if($('cardName').disabled){
			 params += '&cardName=' + $('cardName').value;
		}
		if($('baddress').disabled){
			params += '&baddress=' + $('baddress').value;
		}
		if($('bcity').disabled){
			params += '&bcity=' + $('bcity').value;
		}
		if($('bstate').disabled){
			params += '&bstate=' + $('bstate').value;
		}
		if($('bpostalCode').disabled){
			params += '&bpostalCode=' + $('bpostalCode').value;
		}		 
		
		providerRegisterControllerRequest.send(params);
		providerRegisterControllerRequest.onSuccess = function(responseText, responseXML){
		 var response = eval('(' +  responseText + ')');
		  		if(response.res){
		  			window.location = 'provider_registration_success';
		  		}else{
		  			if(response.bname_error){
		  				$('bname_error').innerHTML = 'Wrong business name.';
		  				$('bname_error').style.display = 'block';
		  				$('businessName').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.city_error){
		  				$('city_error').innerHTML = 'Wrong city.';
		  				$('city_error').style.display = 'block';
		  				$('city').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.email1_error){
		  				$('email1_error').innerHTML = 'Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".';//'Wrong email.';
		  				$('email1_error').style.display = 'block';
		  				$('email1').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.email2_error){
		  				$('email2_error').innerHTML = 'Invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".';//'Wrong re-type email.';
		  				$('email2_error').style.display = 'block';
		  				$('email2').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.exchange_error){
		  				$('exchange_error').innerHTML = 'Invalid exchange. Exchange must match "NNN" template, where "N" is a number.';//'Wrong exchange.';
		  				$('exchange_error').style.display = 'block';
		  				$('exchange').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.line_error){
		  				$('line_error').innerHTML = 'Invalid suffix. Suffix must match "NNNN" template, where "N" is a number.';//'Wrong suffix.';
		  				$('line_error').style.display = 'block';
		  				$('suffix').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.areacode_error){
		  				$('areacode_error').innerHTML = 'Invalid area code. Area code must match "NNN" template, where "N" is a number.';//'Wrong areacode.';
		  				$('areacode_error').style.display = 'block';
		  				$('areacode').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.first_name_error){
		  				$('first_name_error').innerHTML = 'Invalid first name. First name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong first name.';
		  				$('first_name_error').style.display = 'block';
		  				$('firstName').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.last_name_error){
		  				$('last_name_error').innerHTML = 'Invalid last name. Last name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong last name.';
		  				$('last_name_error').style.display = 'block';
		  				$('lastName').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.password1_error){
		  				$('password1_error').innerHTML = 'Wrong password.';
		  				$('password1_error').style.display = 'block';
		  				$('password1').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.password2_error){
		  				$('password2_error').innerHTML = 'Wrong re-type password.';
		  				$('password2_error').style.display = 'block';
		  				$('password2').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.postal_error){
		  				$('postal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong postal.';
		  				$('postal_error').style.display = 'block';
		  				$('postal').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.keyword_exist){
		  				$('keyword_exist').innerHTML = 'Keyword exists.';
		  				$('keyword_exist').style.display = 'block';
		  				$('keyword').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.promo_exist){
		  				$('promo_not_exist').innerHTML = 'Promo not exist.';
		  				$('promo_not_exist').style.display = 'block';
		  				$('promo').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.username_error){
		  				$('username_error').innerHTML = 'Invalid username. Username must start with a letter and must contain alphanumeric characters.';//'Wrong username.';
		  				$('username_error').style.display = 'block';
		  				$('promo').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.username_exist){
		  				$('username_exist').style.display = 'block';
		  				$('user_name').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.ccNumber_error){
		  				$('ccNumber_error').innerHTML = 'Invalid credit card number.';//'Wrong CC number.';
		  				$('ccNumber_error').style.display = 'block';
		  				$('ccNumber').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.cardName_error){
		  				$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong CC name.';
		  				$('cardName_error').style.display = 'block';
		  				$('cardName').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.exp_month_error){
		  				$('exp_month_error').innerHTML = 'Please select exp month.';
		  				$('exp_month_error').style.display = 'block';
		  				$('exp_month').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.exp_year_error){
		  				$('exp_year_error').innerHTML = 'Please select exp year.';
		  				$('exp_year_error').style.display = 'block';
		  				$('exp_year').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.bcity_error){
		  				$('bcity_error').innerHTML = 'Wrong billing city.';
		  				$('bcity_error').style.display = 'block';
		  				$('bcity').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.bpostal_error){
		  				$('bpostal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong billing postal.';
		  				$('bpostal_error').style.display = 'block';
		  				$('bpostalCode').parentNode.parentNode.className = 'error';
		  			}
		  			if(response.pin_error){
		  				$('pin_error').innerHTML = 'Invalid security code. Security code must match either "NNN" or "NNNN" template, where "N" is a number.';//'Wrong security code.';
		  				$('pin_error').style.display = 'block';
		  				$('pin').parentNode.parentNode.className = 'error';
		  			}
		  		}
			}
}

setBillAsBuissness = function(chckbox){
	if(chckbox.checked){
		$('baddress').disabled = "disabled";
		$('baddress').value = $('address').value;
		
		if ($('address').parentNode.parentNode.className == 'error' ){
			if($('baddress').value == ''){
				$('baddress_error').innerHTML = 'Required field cannot be empty.';//'Billing address is empty.';
			}else{
				$('baddress_error').innerHTML = 'Wrong billing address.';
			}
			$('baddress_error').style.display = 'block';
			$('baddress').parentNode.parentNode.className = 'error'; 
		}else{
			$('baddress').parentNode.parentNode.className = '';
	    	$('baddress_error').style.display = 'none';
		}
		$('bcity').disabled = "disabled";
		$('bcity').value = $('city').value;
		
		if ($('city').parentNode.parentNode.className == 'error' ){
			if($('bcity').value == ''){
				$('bcity_error').innerHTML = 'Required field cannot be empty.';//'Billing city is empty.';
			}else{
				$('bcity_error').innerHTML = 'Wrong billing city.';
			}		
			$('bcity_error').style.display = 'block';
			$('bcity').parentNode.parentNode.className = 'error'; 
		}else{
			$('bcity').parentNode.parentNode.className = '';
	    	$('bcity_error').style.display = 'none';
		}
		$('bstate').disabled = "disabled";
		$('bstate').value = $('state').value;
		
		$('bpostalCode').disabled = "disabled";
		$('bpostalCode').value = $('postalCode').value;
		
		if ($('postalCode').parentNode.parentNode.className == 'error' ){
			if($('bpostalCode').value ==''){
				$('bpostal_error').innerHTML = 'Required field cannot be empty.';//'Billing postal code is empty.';
			}else{
				$('bpostal_error').innerHTML = 'Invalid postal code. Postal code must match either "NNNNN" or "NNNNN-NNNN" template, where "N" is a number.';//'Wrong billing postal code.';
			}		
			$('bpostal_error').style.display = 'block';
			$('bpostalCode').parentNode.parentNode.className = 'error'; 
		}else{
			$('bpostalCode').parentNode.parentNode.className = '';
	    	$('bpostal_error').style.display = 'none';
		}
		$('cardName').disabled = "disabled";
		$('cardName').value = $('firstName').value + ' ' + $('lastName').value;
		
		if ($('firstName').parentNode.parentNode.className == 'error' ||
				$('lastName').parentNode.parentNode.className == 'error'){
			if($('firstName').value =='' && $('lastName').value ==''){
				$('cardName_error').innerHTML = 'Required field cannot be empty.';//'Card name is empty.';
			}else{
				$('cardName_error').innerHTML = 'Invalid name on the card. The name must start with a letter, contain alphabetic characters and can contain spaces.';//'Wrong Card name.';
			}		
			$('cardName_error').style.display = 'block';
			$('cardName').parentNode.parentNode.className = 'error'; 
		}else{
			$('cardName').parentNode.parentNode.className = '';
	    	$('cardName_error').style.display = 'none';
		}
	}else{
		$('baddress').disabled = "";
		$('bcity').disabled = "";
		$('bstate').disabled = "";
		$('bpostalCode').disabled = "";
		$('cardName').disabled = "";
	}
}

/*Registration - end*/

var checkboxCountRecipientsRequest = new Request({method: 'post', url: 'sendTextMessageController'});

countCheckboxAssignRec = function(element){
	var params = '';
	var parent = element.parentNode.parentNode.parentNode;
	var check = parent.getElementsByTagName('input')[0];
	if(parent.attributes['user:id'] && check){
		if (check.checked){
			params += 'updateCheckedAssign=check';  
			params += '&id='+parent.attributes['user:id'].nodeValue;
		}else{
			params += 'updateCheckedAssign=uncheck';  
			params += '&id='+parent.attributes['user:id'].nodeValue;
		}
	}
	
	checkboxCountRecipientsRequest.send(params);
}

countAllAssignRec = function (element){
	var params = '';
	if (element.checked){
		params += 'updateCheckedAssign=checkAll';  
	}else{
		params += 'updateCheckedAssign=uncheckAll';  
	}
	checkboxCountRecipientsRequest.send(params);
}

countCheckboxAvailableRec = function(element){
	var params = '';
	var parent = element.parentNode.parentNode.parentNode;
	var check = parent.getElementsByTagName('input')[0];
	if(parent.attributes['user:id'] && check){
		if (check.checked){
			params += 'updateCheckedAvailable=check';  
			params += '&id='+parent.attributes['user:id'].nodeValue;
		}else{
			params += 'updateCheckedAvailable=uncheck';  
			params += '&id='+parent.attributes['user:id'].nodeValue;
		}
	}
	
	checkboxCountRecipientsRequest.send(params);
}

countAllAvailableRec = function (element){
	var params = '';
	if (element.checked){
		params += 'updateCheckedAvailable=checkAll';  
	}else{
		params += 'updateCheckedAvailable=uncheckAll';  
	}
	checkboxCountRecipientsRequest.send(params);
}

/**
* Manage interest - members server synchronization routines 
*/

var manageInterestsMembersRequest = new Request({method: 'post', url: 'app/interestspagecontroller'});
var manageInterestsMembersList = new Array();
var synchManageInterestsMembersFlag = true;

synchManageInterestsMembers = function() {
	
	if (manageInterestsMembersList.length > 0 && synchManageInterestsMembersFlag == true) {
		synchManageInterestsMembersFlag = false;
		manageInterestsMembersRequest.send(manageInterestsMembersList.shift());
	}
	
	setTimeout(function () {
		synchManageInterestsMembers();
	}, 100);
}

manageInterestsMebersResult = function() {
	if (manageInterestsMembersList.length == 0 && synchManageInterestsMembersFlag == true) 
		return true;
	else
		return false;
}

manageInterestsMembersRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
	synchManageInterestsMembersFlag = true;
}

/**
 * Manage members - members server synchronization routines 
 */

var checkedMembersList = new Array();
var synchMembersFlag = true;

synchCheckedMembers = function() {
	
	if (checkedMembersList.length > 0 && synchMembersFlag == true) {
		synchMembersFlag = false;
		checkboxCountRequest.send(checkedMembersList.shift());
	}
	
	setTimeout(function () {
		synchCheckedMembers();
	}, 250);
}

countCheckbox = function(element){
	var params = '';
	var parent = element.parentNode.parentNode.parentNode;
	var check = parent.getElementsByTagName('input')[0];
	if(parent.attributes['member:id'] && check){
		if (check.checked){
			params += 'updateChecked=check';  
			params += '&id='+parent.attributes['member:id'].nodeValue;
		}else{
			params += 'updateChecked=uncheck';  
			params += '&id='+parent.attributes['member:id'].nodeValue;
		}
	}
	
	//checkboxCountRequest.send(params);
	checkedMembersList.push(params);
}

countAll = function (element, allAvailableMembers){
	var params = '';
	if (element.checked){
		params += 'updateChecked=checkAll';  
	}else{
		params += 'updateChecked=uncheckAll';  
	}
	
	if (allAvailableMembers > 0)
		$('results_total').innerHTML = allAvailableMembers + ' Members (num of selected members is in processing...)';
	
	//checkboxCountRequest.send(params);
	checkedMembersList.push(params);
}

//---

unSubscribeMembersConfirm = function(){
	var params = 'actionname=unsubscribe';
	var popup_confirm = new Element('div', 
		{'id':'popupconfirm',
		 'html':'<div style="margin-top:15px">' +
					'<p style="line-height:20px;padding-left:22px;color:#000000;" class="msgquestion">Unsubscribe selected users?</p>' +
					'<input type="submit" id="msg_ok" value="Yes" style="float:left;margin-right:10px;margin-left:22px;"/>' + 
					'<input type="button" id="msg_cancel" value="No" style="float:left"/>' + 
				'</div>'});
	Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Confirmation'});
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
		unSubscribeRequest.send(params);   
	});
	$('msg_cancel').addEvent('click', function(){
		Popup.hide();
	});
}
deleteMembersConfirm = function(){
 	var params = 'actionname=delete';
 	var popup_confirm = new Element('div', 
			{'id':'popupconfirm',
			 'html':'<div style="margin-top:15px">' +
						'<p style="line-height:20px;padding-left:22px;color:#000000;" class="msgquestion">Are you sure you want to delete the selected members?</p>' +
						'<input type="submit" id="msg_ok" value="Yes" style="float:left;margin-right:10px;margin-left:22px;"/>' + 
						'<input type="button" id="msg_cancel" value="No" style="float:left"/>' + 
					'</div>'});
	Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Confirmation'});
	$('msg_ok').addEvent('click', function(){
		deleteRequest.send(params);
		Popup.hide();
	});
	$('msg_cancel').addEvent('click', function(){
		Popup.hide();
	});
}
deleteMemberConfirm = function(memberId){
	var params = 'actionname=deleteOne&ids=' + memberId;
	var popup_confirm = new Element('div', 
		{'id':'popupconfirm',
		 'html':'<div style="margin-top:15px">' +
					'<p style="line-height:20px;padding-left:22px;color:#000000;" class="msgquestion">Are you sure you want to delete the selected member?</p>' +
					'<input type="submit" id="msg_ok" value="Yes" style="float:left;margin-right:10px;margin-left:22px;"/>' + 
					'<input type="button" id="msg_cancel" value="No" style="float:left"/>' + 
				'</div>'});
	Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Confirmation'});
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
		deleteRequest.send(params);   
	});
	$('msg_cancel').addEvent('click', function(){
		Popup.hide();
	});
}
alertPopupMembers = function(){
	var popup_confirm = new Element('div',
			{'id':'popupalert',
			 'html':'<div class="msgerror" style="margin:0 0 0px;">' +
						'<p style="line-height:20px;margin:0 0 0 0px;paging-left:0;color:#000000; width:330px;">Empty members list cannot be used for a selected member action. Select at least one member to proceed.</p>' + 
						'<input type="button" id="msg_ok" value="OK" style="float:left;margin-left:15px"/>' + 
					'</div>'});
		Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Information'});
		$('msg_ok').addEvent('click', function(){
			Popup.hide();
		});
}
alertPopupMembersInterests = function(){
	var popup_confirm = new Element('div',
			{'id':'popupalert',
			 'html':'<div style="margin-top:5px" class="msgerror">' +
						'<p style="line-height:20px;margin:0 0 0 0px;paging-left:0;color:#000000;width:330px;">Members list should be filtered by a single keyword before assigning interests to multiple members.</p>' + 
						'<input type="button" id="msg_ok" value="OK" style="float:left;margin-left:15px"/>' + 
					'</div>'});
		Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Information'});
		$('msg_ok').addEvent('click', function(){
			Popup.hide();
		});
}

doActionMembers = function(){
	getCountOfCheckedRequest.send('actionname=getCount');
	getCountOfCheckedRequest.onSuccess = function (responseText, responseXML){
		restartProviderSession();
		var response = eval('(' +  responseText + ')');
		if(response.res){
			if (response.count == 0){
				alertPopupMembers();
				return;
			}
			if(msgactions_cb.selectedIndex == 2){
				unSubscribeMembersConfirm();
			}
			if(msgactions_cb.selectedIndex == 1){
				deleteMembersConfirm();
			}
			if(msgactions_cb.selectedIndex == 0){
				membersInterestsRequest.send('members_interests_count=do');
				membersInterestsRequest.onSuccess = function  (responseText, responseXML){
					restartProviderSession();
					var response = eval('(' +  responseText + ')');
					if(response.res){
						if(response.keywordsSelected == 1)
							ManageInterests();
						else{
							alertPopupMembersInterests();
						}
					}
				}
			}
		}
	}
}

var checkboxCountIntRequest = new Request({method: 'post', url: 'membersinterestpopupcontroller'});
var checkboxActionPopupRequest = new Request({method: 'post', url: 'membersinterestpopupcontroller'});

assignInterestToUsersPopup = function(){
	checkboxActionPopupRequest.send('action=do&assignInterests=do');
}
removeInterestToUsersPopup = function(){
	checkboxActionPopupRequest.send('action=do&removeInterests=do');
}

countCheckboxInt = function(element){
	var params = '';
	var parent = element.parentNode.parentNode.parentNode;
	var check = parent.getElementsByTagName('input')[0];
	if(parent.attributes['interest:id'] && check){
		if (check.checked){
			params += 'updateChecked=check';  
			params += '&id='+parent.attributes['interest:id'].nodeValue;
			element.getParent('tr').addClass('selected');
		}else{
			params += 'updateChecked=uncheck';  
			params += '&id='+parent.attributes['interest:id'].nodeValue;
			element.getParent('tr').removeClass('selected');
		}
	}
	
	checkboxCountIntRequest.send(params);
}

countAllInt = function (element){
	var params = '';
	if (element.checked){
		params += 'updateChecked=checkAll'; 
		$$('#mngmembersinterests tr').each(function(item){
			item.addClass('selected');
		});
	}else{
		params += 'updateChecked=uncheckAll'; 
		$$('#mngmembersinterests tr').each(function(item){
			item.removeClass('selected');
		});
	}
	checkboxCountIntRequest.send(params);
}
var remindPasswordRequest = new Request({method: 'post', url: 'remindpasswordcontroller'});

remindPassword = function(){
	var username = $('providerName');
	var params = 'actionname=send&username='+ escapePlus(username.value) +'&random='+$random(-1000,1000);
	remindPasswordRequest.send(params);
}

remindPasswordRequest.onSuccess = function(responseText, responseXML){
	var errors = $('regerrors');
	var success = $('regsuccess');
	var response = eval('(' +  responseText + ')');
	if(response.res == 1){
		errors.style.display = 'none';
		success.style.display = 'block';
		success.innerHTML = 'Email has been sent.';
	}
	if(response.res == 2){
		errors.style.display = 'block';
		success.style.display = 'none';
		errors.innerHTML = 'User is not found.'
	}
	if(response.res == 3){
		errors.style.display = 'block';
		success.style.display = 'none';
		errors.innerHTML = 'This username does not have a valid email associated with it.  Please contact your company Opt It administrator to reset your password.'	
	}
	if(response.res == 4){
		errors.style.display = 'block';
		success.style.display = 'none';
		errors.innerHTML = 'Sorry. We can\'t send message. Try later.';
	}
	if(response.res == 5){
		errors.style.display = 'none';
		success.style.display = 'block';
		success.innerHTML = 'You need to verify your account first. We sent new verification message on your email.';
	}
	if(response.res == 6){
		errors.style.display = 'block';
		success.style.display = 'none';
		errors.innerHTML = 'User is deactivated or deleted.';
	}
}

var changeProviderPswRequest = new Request({method: 'post', url: 'remindpasswordcontroller'});

changeProviderPswRequest.onSuccess = function(responseText, responseXML){
	var response = eval('(' +  responseText + ')');
	if(response.res == 1){
		errors.style.display  = 'none';
		success.style.display = 'block';
		success.innerHTML = 'Your password has been changed. You can <a href="/">login</a>, using new password';
	}
	if(response.res == 2){
		errors.style.display = 'block';
		success.style.display = 'none';
		success.innerHTML = 'Password is not changed';
	}
}

passwordProviderValidation = function(){
	var errors = [];
	if(password1.value.length< 6 || password1.value.length > 12) {
		errors.push("Password  must be between 6 and 12 characters.");
	}
	if(password2.value.length <6 || password2.value.length > 12) {
		errors.push("Confirm password must be between 6 and 12 characters.");
	}
	if(password1.value != password2.value) {
		errors.push("Your passwords do not match.");
	}
	return errors;
}
/*!!!Generator!!! start*/

var getInterestsGeneratorRequest = new Request({method: 'post', url: 'app/interestspagecontroller'});

getInterestsGenerator = function(value,uuid){
	//var selectedKeyword = $('generator_keyword').value;
	if($('selectedKeywordId').value == value){
		return;
	}else{
		gr();
		$('selectedKeywordId').value = value;
		$('500keyword').value = uuid;
		$('160keyword').value = uuid;
		getInterestsGeneratorRequest.send('actionname=getinterestswidget&communityid=' + value);
	}
}
getInterestsGeneratorRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
    var response = eval('(' +  responseText + ')');
	if(response.res){
		redrawInterestsGenerator(response.interests);
	}else{
		alert('error');
	}
}

redrawInterestsGenerator = function(interests){
	$('divGenInterests').innerHTML = '';
	var result = '';
	
	for(var i  = 0; i < interests.length; i++){
		var interest = '<label class="generator_check"><input type="checkbox" name="i_" value="'+ interests[i].uuid +'" onclick="intToggle(this)" /><span>'
		var intName = '';
		var tmp = interests[i].name;
		var end = 0;
		if (tmp.length <17){
			intName = tmp;
		}else{		
			while (tmp.length > 0){
				var tmpEnd = 0;
				var start = 0;
				if (tmp.indexOf(" ")!=-1){
					if (tmp.indexOf(" ")<17){
						while (start!=-1 || start<17){
							tmpEnd = start;
							start = tmp.indexOf(" ", start);					
						}
						end = tmpEnd;
					}else{
						end = tmp.indexOf(" ");
					}					
				}else{
					if (tmp.length>17){
						end = 17;
					}else{
						end = tmp.length;
					}
				}
				intName += tmp.substring(0, end) + '<br/>';
				tmp = tmp.substring(end);
			}
		}
		/*
		if (interests[i].name.indexOf(" ")==-1 && interests[i].name.length> 17){
			var tmp = interests[i].name;
			while(tmp.length > 17){
				intName += tmp.substring(0, 17) + '<br/>';
				tmp = tmp.substring(17);
			}
		}else{
			intName = interests[i].name;
		}		
		*/
		interest += intName;
		interest += '</span></label>';
		result += interest; 
	}
	$('divGenInterests').innerHTML = result;
}

var addInterestGeneratorRequest = new Request({method: 'post', url: 'app/interestspagecontroller'});
addInterestGenerator = function(){
	
	var params = 'actionname=createinterestwidget';
	
	if ($('selectedKeywordId').value == "" || $('selectedKeywordId').value == "-1"){
		alertPopupGenerator("New interest cannot be added if keyword is not specified.");
		return;
	}
	
	if ($('interestname').value == ""){
		alertPopupGenerator("New interest name cannot be blank.");
		return;
	}else if ($('interestname').value.length > 255) {
		alertPopupGenerator("Specified interest name is too long. The length of interest is limited by 255 characters.");
		return;
	}
	
	params += '&communityid=' + $('selectedKeywordId').value; 
	params += '&interestname=' + encodeURIComponent($('interestname').value);
	params += '&interesdesc=';
	params += '&status=1';
	params += getCheckdInterestValues();
	
	addInterestGeneratorRequest.send(params);
}

getCheckdInterestValues = function(){
	var res = "";
	 var arrayOfInterests = document.getElementsByName("i_");
	 for (i = 0;i<arrayOfInterests.length;i++){
		 if (arrayOfInterests[i].checked){
			 res += "&i_" + i+ "=" + arrayOfInterests[i].value;
		 }
	 }	 
	 return res;
}
setCheckdInterestValues = function(array){
	var res = "";
	var arrayOfInterests = document.getElementsByName("i_");
	
	for (i = 0;i<array.length;i++){
		for (j=0;j<arrayOfInterests.length;j++ ){ 
			if (arrayOfInterests[j].value == array[i]){
				arrayOfInterests[j].checked = true;
			}
		}
	}
}

addInterestGeneratorRequest.onSuccess = function(responseText, responseXML){
	restartProviderSession();
    var response = eval('(' +  responseText + ')');
	if(response.res == 1){
		var result = '';
		var result = '<label class="generator_check"><input name="i_" type="checkbox" value="'+ response.uuid +'" onclick="intToggle(this)" /><span>'
		result += response.name;
		result += '</span></label>';
		$('divGenInterests').innerHTML = $('divGenInterests').innerHTML + result;
		setCheckdInterestValues(response.arrayInterests);
	}else{
		if(response.res == 0){
			alertPopupGenerator("Interest with the specified name already exists.");			
		}
	}
	 $('interestname').value = "";
}
togPreview = function(){
	if ($("generator_layout").value =="500"){
		bni(["500Form"],"B");
		bni(["160Form"],"N");
	}else if ($("generator_layout").value=="160"){
		bni(["160Form"],"B");
		bni(["500Form"],"N");
	}
	clearGen();
}

togTitle = function(){
	$('500title').innerHTML = htmlSpecialChars($('headingTitle').value);
	$('160title').innerHTML = htmlSpecialChars($('headingTitle').value);
	clearGen();
}
togInstruct = function(){
	$('500instruct').innerHTML = htmlSpecialChars($('headingInstructions').value);
	$('160instruct').innerHTML = htmlSpecialChars ($('headingInstructions').value);
	clearGen();
}
htmlSpecialChars = function(s){
	var result = s;
	result = result.replace(/&/g, "&amp;");	
	result = result.replace(/</g, "&lt;");
	result = result.replace(/>/g, "&gt;");
	return result;
}

togFS = function(){
	var s = $('gFontSize').value;
	var lh = [["160Form",2],["500Form",2],["160fn",2],["500fn",2],["160ln",2],["500ln",2],["160e",2],["500e",2],["160z",2],["500z",2],["160m",2],["500m",2],["160d",2],["500d",2],["160y",2],["500y",2]];
	var fs = [["160Form",0],["500Form",0],["160title",3],["500title",3],["160fn",0],["500fn",0],["160ln",0],["500ln",0],["160e",0],["500e",0],["160z",0],["500z",0],["160m",0],["500m",0],["160d",0],["500d",0],["160y",0],["500y",0]];
	for(i=0;i<lh.length;i++){
		$(lh[i][0]).style.lineHeight = (s*1+lh[i][1]*1)+"px";
	}
	for(i=0;i<fs.length;i++){
		$(fs[i][0]).style.fontSize = (s*1+fs[i][1]*1)+"px";
	}
	clearGen();
}
togFSt = function(){
	var s = $('gFontStyle').value;
	var fs = ["160Form","500Form","160fn","500fn","160ln","500ln","160e","500e","160z","500z","160m","500m","160d","500d","160y","500y","160signup","500signup"];
	for(i=0;i<fs.length;i++){
		$(fs[i]).style.fontFamily = s;
	}
	clearGen();
}
togFCl = function(){
	var s = $('clr_font').value;
	if (s == ""){
		s="#FFFFFF";
		$('clr_font').value = s;
	}
	$('160Form').style.color =s;
	$('500Form').style.color =s;
	$('160link').style.color =s;
	$('500link').style.color =s;
	clearGen();
}
togBCl = function(){
	var s = $("clr_border").value;
	
	if (s == ""){
		s="#DDDDDD";
		$('clr_border').value = s;
	}
	var fs = ["160Form","500Form","160hr1","160hr2","160hr3","160hr4","500hr1","500hr2","500hr3","500hr4"];
	for(i=0;i<fs.length;i++){
		$(fs[i]).style.borderColor = s;
	}
	clearGen();
}
togBgCl = function(){
	var s = $("clr_bg").value;
	if (s == ""){
		s="#BC0000 url(http://www.optit.com/images/redglass.jpg) repeat-y 0 0";
		$('clr_bg').value = s;		
		//http://optit.typerhext.com/extranet/images/redglass.jpg
	}
	s.replace("\"", "").replace("&quot;","");
	$("160Form").style.background =s;
	$("500Form").style.background =s;
	clearGen();
}

gen = function(){
	if ($('selectedKeywordId').value == "" || $('selectedKeywordId').value == "-1"){
		alertPopupGenerator("Embedding code for widget cannot be generated if keyword is not specified.");
		return;
	}
	var code,outer;
	if ($("generator_layout").value=="500"){
		code = $("500Form").innerHTML;
		
		if ($("500Input").style.display=="none"){
			rmv("500Input");
		}else{
			rmvCon("500");
		}
		outer = $("500Form").outerHTML;
		
		$("500Form").innerHTML = code;
	}else if ($("generator_layout").value=="160"){
		code = $("160Form").innerHTML;
		
		if ($("160Input").style.display=="none"){
			rmv("160Input");
		}else{
			rmvCon("160");
		} 
		outer = $("160Form").outerHTML;
		$("160Form").innerHTML = code;
	}
	//outer.replace("url(&quot;http://www.optit.com/images/redglass.jpg&quot;)","url(http://www.optit.com/images/redglass.jpg)");
	$("generator_code").value = outer;	
	bni(["generator_embed"],"B");
	
}

gr = function(){
	bni(["generator_embed"],"N");
	$("generator_layout").value = "160";
	$("headingTitle").value = "Default Title";//"Mobile Sign Up";
	$("headingInstructions").value = "Default form instructions.";//"Enter your information below to be added to our mobile VIP club.";
	$("gFontSize").value = "12";
	$("clr_font").value = "#FFFFFF";
	$("gFontStyle").value = "Arial, Helvetica, sans-serif";
	$("clr_border").value = "#DDDDDD";
	$("clr_bg").value = "#BC0000 url(http://www.optit.com/images/redglass.jpg) repeat-y 0 0";
	//http://optit.typerhext.com/extranet/images/redglass.jpg
	bni(["160Input","500Input"],"N");
	var fs = ["160int","500int","160fname","160lname","500fname","500lname","160email","500email","160zipcode","500zipcode","160gender","500gender","160dob","500dob","generator_embed","160hr3","500hr3","160hr2","500hr2","160req_h_fname", "160req_h_lname", "500req_h_fname", "500req_h_lname","160_h_names","500_h_names"];
	bni(fs,"N");
	var f = ["names","email","zipcode","gender","dob"];
	for(i=0;i<f.length;i++){
		$(f[i]).checked=false;
		generatoropt($(f[i]));
	}
	var namesOfReq = ["_h_email","_h_zipcode","_h_gender","_h_dob"];
	$("_h_names").checked=false;		
	for(i=0;i<namesOfReq.length;i++){
		$(namesOfReq[i]).checked=false;		
	}
	var fh = [];
	for(j=0;j<namesOfReq.length;j++){
		fh.push("160"+namesOfReq[j]);
		fh.push("500"+namesOfReq[j]);
		fh.push("160req"+namesOfReq[j]);
		fh.push("500req"+namesOfReq[j]);		
	}
	bni(fh,"N");
	rInt();
	togPreview();togTitle();togInstruct();togFS();togFSt();togFCl();togBCl();togBgCl();	
}

grRes = function(){
	gr();
	getInterestsGenerator(-1,-1);
	setNoneGenerator();
	$('generator_keyword').value = '-1';
	$('selectedKeywordId').value = '-1';
}
setNoneGenerator = function(){
	var allLI = document.getElements('.selectdropdown li');
	if(allLI != null){
		var alli = 0;
		allLI[alli].className = "selected";
		alli++;
		while(alli < allLI.length){
			allLI[alli].className = "";
			alli++;
		}
	}
}
fieldToggle = function(con){
	var field,v;
	if(con.checked){v="B";}else{v="N";}
	if (con.id=="names"){
		field=["160fname", "160lname", "500fname", "500lname"];
	}else{
		field=["160"+con.id,"500"+con.id];
	}
	bni(["160Input","500Input","160hr2","500hr2"],"B");
	bni(field,v);
	clearGen();
	if ($("160fname").style.display == "none" && $("160lname").style.display == "none" && $("160fname").style.display == "none" && $("160email").style.display == "none" &&  $("160zipcode").style.display == "none" &&  $("160gender").style.display == "none" &&  $("160dob").style.display == "none"){
		$("160hr2").style.display = "none";
		$("500hr2").style.display = "none";
	}
}
requireToggle = function(con){
	var field,v;
	if(con.checked){v="I";}else{v="N";}
	if (con.id=="_h_names"){
		field=["160req_h_fname", "160req_h_lname", "500req_h_fname", "500req_h_lname","160"+con.id,"500"+con.id];
	}else{
		field=["160"+con.id,"500"+con.id,"160req"+con.id,"500req"+con.id];
	}
	bni(["160Input","500Input","160hr2","500hr2"],"B");
	bni(field,v);
	clearGen();
}
bni = function(field,v){
	
	var value = "";
	if(v=="B"){
		value = "block";
	}
	if (v=="N"){
		value = "none";
	}
	if (v=="I"){
		value = "inline";
	}
	for(i=0;i<field.length;i++){
		//alert(field[i]);
		var elem = $(field[i]);
		elem.style.display = value;
	}
}
clearGen = function(){
	$("generator_code").value = "";	
	bni(["generator_embed"],"N");
}

rInt = function(){
	$("160int").innerHTML = "";
	$("500int").innerHTML = "";
}

intToggle = function(con){
	
	if ($("160int").style.display == "none"){
		$("160int").innerHTML = '<div style="margin:0 0 15px 0;">Interests:</div>';
		$("500int").innerHTML = '<div style="margin:0 0 15px 0;">Interests:</div>';
	}
	bni(["160hr3","500hr3","160int","500int","160hr4","500hr4"],"B");
	var parent = con.parentNode;
	
	var spanElem = parent.childNodes[1];
	var val = spanElem.innerHTML.replace(/<br>/g,"")
	if(con.checked){
		$("500int").innerHTML = $("500int").innerHTML + '<div style="float:left;margin:0 11px 5px 0;" id="id500-'+con.value+'"><input type="checkbox" id="500-'+con.value+'" name="i" value="'+con.value+'" style="margin:0 5px 5px 0;float:left" /><label for="500-'+con.value+'">'+val+'</label></div>';
		$("160int").innerHTML = $("160int").innerHTML + '<div style="float:left;margin:0 11px 5px 0;" id="id160-'+con.value+'"><input type="checkbox" id="160-'+con.value+'" name="i" value="'+con.value+'" style="margin:0 5px 5px 0;float:left" /><label for="160-'+con.value+'">'+val+'</label></div>';
		intNameVis.push(val);
	}else{
		var name160 = "id160-"+con.value
		rmv(name160);
		var name500 = "id500-"+con.value
		rmv(name500);
		for (i=0;i<intNameVis.length;i++){
			if (intNameVis[i]==val){
				intNameVis.splice(i,1);
				break;
			}
		}
		
		if ($("160int").innerHTML == '<div style="margin: 0pt 0pt 15px;">Interests:</div>'){									  
			$("160int").style.display = "none";
			$("500int").style.display = "none";
			$("160hr4").style.display = "none";
			$("500hr4").style.display = "none";
		}
	}
	clearGen();	
}

rmv = function(nameId){		
	var deletedElement = document.getElementById(nameId);
	if (deletedElement.parentNode){
		deletedElement.parentNode.removeChild( deletedElement );
	}
}
function rmvCon(n){
	var ar = [n+"fname",n+"lname",n+"gender",n+"email",n+"zipcode",n+"dob",n+"hr1",n+"hr2",n+"hr3",n+"hr4",n+"_h_names",n+"_h_email",n+"_h_gender",n+"_h_dob",n+"_h_zipcode"]
	for (i=0;i<ar.length;i++){		
		if ($(ar[i]) && $(ar[i]).style.display=="none"){
			rmv(ar[i])
		}
	}
}
alertPopupGenerator = function(text){
	var popup_confirm = new Element('div',
			{'id':'popup_confirm',
			 'html':'<div style="margin-top:15px">' +
						'<p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgalert">' + text +'</p>' + 
						'<p style="padding-left:22px"></p>' +
						'<input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom"/>' + 
					'</div>'});
		Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Information'});
		$('msg_ok').addEvent('click', function(){
			Popup.hide();
		});
}

alertPopupGeneratorLargeText = function(text){
	var popup_confirm = new Element('div',
			{'id':'popup_confirm',
			 'html':'<div style="margin-top:0px">' +
						'<p style="color:#000;line-height:14px;padding-left:22px;margin-bottom:0" class="msgalert">' + text +'</p>' + 
						'<p style="padding-left:12px"></p>' +
						'<input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom"/>' + 
					'</div>'});
		Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Information'});
		$('msg_ok').addEvent('click', function(){
			Popup.hide();
		});
}

var webFormEmailRequest = new Request({method: 'post', url: 'webformemailcontroller'});

function emailCode(){
	if ($("emailAddress").value == ""  || !emailRegExp.test($("emailAddress").value)){
		alertPopupGeneratorLargeText('Embedding code for widget cannot be emailed due to invalid email address. Email address must match "username@domain" template, e.g. "jblack@mail.com".');
		return;
	}
	//$("emailButton").value = "sending..";
	
	var vf = getVisibleFields();
	var params = 'emailAddress=' + $("emailAddress").value;
	params += '&code=' + encodeURIComponent($("generator_code").value);
	params += '&keywordId=' + $("generator_keyword").value;
	params += '&title=' + encodeURIComponent($("headingTitle").value);
	params += '&instructions=' + encodeURIComponent($("headingInstructions").value);
	params += '&optFields=' + encodeURIComponent(vf.join(", "));
	params += '&interests=' + encodeURIComponent(intNameVis.join(", "));
	params += '&layout=' + got("generator_layout");
	params += '&font=' + $("gFontStyle").value;
	params += '&fontSize=' + got("gFontSize");
	params += '&fontColor=' + $("clr_font").value;
	params += '&background=' + $("clr_bg").value;
	params += '&borderColor=' + $("clr_border").value;
	//alert(params);
	webFormEmailRequest.send(params);
}
webFormEmailRequest.onSuccess = function (){
	//$("emailButton").value = "Sent";
	var popup_confirm = new Element('div',
	{'id':'popup_confirm',
		 'html':'<div style="margin-top:15px">' +
					'<p style="color:#000;line-height:18px;padding-left:22px;margin-bottom:0" class="msgalert">The letter was sent successfully.</p>' + 
					'<p style="padding-left:22px"></p>' +
					'<input type="button" id="msg_ok" value="OK" style="margin-bottom:0;float:left;margin-right:5px;margin-left:22px;margin-bottom"/>' + 
				'</div>'});
	Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Information'});
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
	});
}
function getVisibleFields(){
	var txt=[];
	if ($("160fname").style.display=="block")txt.push("Name");
	if ($("160email").style.display=="block")txt.push("Email");
	if ($("160zipcode").style.display=="block")txt.push("Zipcode");
	if ($("160gender").style.display=="block")txt.push("Gender");
	if ($("160dob").style.display=="block")txt.push("Date of birth");
	return txt;
}

var intNameVis = [];

function got(name){
	var opts = $(name).options;
	var val;
	for(i = 0;i<opts.length ;i++){
		if(opts[i].selected){
			val = opts[i].text;
			break;
		}
	}
	return val;
}

/*!!!Generator!!! end*/
setAlphaNumeric = function(event,objName){
	var val = 0; 
	if(event.keyCode  == 0){
		val = event.which
	}else{
		val = event.keyCode;
	}
	var numP = 0;
	var obj = document.getElementById(objName);
	obj.focus();
	if(obj.selectionStart){
		numP = obj.selectionStart;
	}else { 
		if (document.selection){
			var sel = document.selection.createRange();
			sel.moveStart ('character', -obj.value.length);
			numP = sel.text.length;
		}
	}
	if(!(val==37 || val==39 || val ==35 || val==36 || val==8 || val==46 || val==9)){
		var obj = document.getElementById(objName);
		var lbefore = obj.value.length; 
		obj.value = obj.value.replace(/[^\w ]/g, "");
		
		if(lbefore>obj.value.length){
			var num = lbefore - obj.value.length;
			setSelectionN(objName,numP-num,numP-num);
		}else{
			setSelectionN(objName,numP,numP);
		}
	}
	
}
setOnlyDigitsBlur = function (objName){
	var obj = document.getElementById(objName);
	obj.value = obj.value.replace(/[^\d]/g, "");
}
setOnlyDigits = function(event,objName){
	var val = 0; 
	if(event.keyCode  == 0){
		val = event.which
	}else{
		val = event.keyCode;
	}
	var numP = 0;
	var obj = document.getElementById(objName);
	obj.focus();
	if(obj.selectionStart){
		numP = obj.selectionStart;
	}else { 
		if (document.selection){
			var sel = document.selection.createRange();
			sel.moveStart ('character', -obj.value.length);
			numP = sel.text.length;
		}
	}
	if(!(val==37 || val==39 || val ==35 || val==36 || val==8 || val==46 || val==9)){
		
		var obj = document.getElementById(objName);		
		var lbefore = obj.value.length;
		obj.value = obj.value.replace(/[^\d]/g, "");
		if(lbefore>obj.value.length){
			var num = lbefore - obj.value.length;
			setSelectionN(objName,numP-num,numP-num);
		}else{
			setSelectionN(objName,numP,numP);
		}		
	}
}

setOnlyDigitsInZip = function(event, objName){
	var val = 0;
	val = event.code;
	//if(event.keyCode == 0){
	//	val = event.which;
	//}else{
	//	val = event.keyCode;
	//}
	var numP = 0;
	if(!((val>47 && val<58) || (val >95 && val < 106) || (val==37 || val==39 || val ==35 || val==36 || val==8 || val==46 || val==9))){
		event.preventDefault? event.preventDefault() : event.returnValue = false;
		return false;
	}
	if((val>47 && val<58) || (val >95 && val < 106) || val == 8 || val ==46){
		event.preventDefault? event.preventDefault() : event.returnValue = false;
	}
	var obj = document.getElementById(objName);
	obj.focus();
	if(obj.selectionStart){
		numP = obj.selectionStart;
	}else { 
		if (document.selection){
			var sel = document.selection.createRange();
			sel.moveStart ('character', -obj.value.length);
			numP = sel.text.length;
		}
	}	
	switch(val){
		case 37:
			if (numP == 6){
				setSelectionN (objName,numP-2,numP-1);
			}
			break;
		case 39:
			if (numP == 4){
				setSelectionN (objName,numP,numP+1);
			}
			break;
		case 8:			
			deleteValueZip(objName,numP-1,numP ) ;
			break;
		case 46:			
			deleteValueZip(objName,numP,numP+1);
			break;	
		case 35:case 36:
			break;
		default:
			if ( numP == 5){
				numP++;
			}
		setValueZip(objName,numP,numP + 1,val);
		break;
	}
}

deleteValueZip = function(objName,start,end){	
	var obj = document.getElementById(objName);
	obj.focus();
	obj.value = obj.value.substr(0,start) + obj.value.substr(end);
	obj.value = obj.value.replace('-','');	
	if (obj.value.length >= 5){ 
		var txt = obj.value.substr(0,5) + '-' + obj.value.substr(5);		
		obj.value = txt;
	}
	if (obj.value.length == 6){		
		obj.value = obj.value.substr(0,5);
	}
	if (document.selection){
		var r = obj.createTextRange();
		r.collapse(true);
		r.moveStart("character",start);		
		r.select(); 
	}else{
		obj.setSelectionRange(start,end);
	}
}

setValueZip = function(objName, start, end, val){
	if (val >95 && val < 106){
		val = val - 48;
	}
	var newText = String.fromCharCode(val)
	var obj = document.getElementById(objName);
	obj.focus();
	
	obj.value = obj.value.replace('-','');
	var txtTmp = '';
	if (start> 5){
		txtTmp = obj.value.substr(0,start-1) + newText + obj.value.substr(end-1);
	}else{
		txtTmp = obj.value.substr(0,start) + newText + obj.value.substr(end);
	}

		
	if (txtTmp.length>4){
		txtTmp = txtTmp.substr(0,5) + '-' + txtTmp.substr(5);
	}		
	if (txtTmp.length == 6){
		txtTmp = txtTmp.substr(0,5)
	}
	if (txtTmp.length>10){
		txtTmp = txtTmp.substr(0,10);
	}
	obj.value = txtTmp;
	if (document.selection)	{		
		var r = obj.createTextRange();
		r.collapse(true);
		r.moveStart("character",end);		
		r.select();
		
	}else{		
		obj.setSelectionRange(end,end);
	}
}
preventNotDigits = function(event,objName){	
	var val = 0;
	
	if (event.code != null) {
		val = event.code
	} else {
		if (event.keyCode != null && event.keyCode != 0) {
			val = event.keyCode;
		} else if (event.which != null){
			val = event.which;
		}
	}
	
	if(!((val>47 && val<58) || (val >95 && val < 106) || (val==37 || val==39 || val ==35 || val==36 || val==8 || val==46 || val==9))){
		event.preventDefault? event.preventDefault() : event.returnValue = false;
		/*
		if(window.event){
			window.event.returnValue = false;
		}else{
			e.preventDefault();
		}
		*/
		return false;
	}
	if (val==9){
		return;
	}
	if((val>47 && val<58) || (val >95 && val < 106)){
		event.preventDefault? event.preventDefault() : event.returnValue = false;
	}
	
	var numP = 0;
	var obj = document.getElementById(objName);
	obj.focus();

	if(obj.selectionStart){
		numP = obj.selectionStart;
	}else { 
		if (document.selection){
			
		  var sel = document.selection.createRange();
		  //var clone = sel.duplicate();
		  //sel.collapse(true);
		  //clone.moveToElementText(obj);
		  //clone.setEndPoint('EndToEnd', sel);
		  sel.moveStart ('character', -obj.value.length);
		  numP = sel.text.length;
		 }
	}
	
	switch(val){
		case 37:
			if (numP == 3 || numP == 6){
				setSelectionN (objName,numP-2,numP - 1);
			}
			break;
		case 39:
			if (numP == 1 || numP == 4){
				setSelectionN (objName,numP,numP+1);
			}
			break;
		case 8:			
			switch (numP){			
			case 1: case 2:
				deleteValueN(objName,numP-1,numP, "M");
				break;
			case 3: case 6:
				deleteValueN(objName,numP-1,numP, "/");
				break;
			case 4:case 5:
				deleteValueN(objName,numP-1,numP, "D");
				break;
			case 7:case 8:case 9:case 10:
				deleteValueN(objName,numP-1,numP, "Y");
				break;
			default: break;
			}			
			break;
		case 46:
			switch (numP){			
			case 0: case 1:
				deleteValueN1(objName,numP,numP+1, "M");
				break;
			case 2: case 5:
				deleteValueN1(objName,numP,numP+1, "/");
				break;
			case 3:case 4:
				deleteValueN1(objName,numP,numP+1, "D");
				break;
			case 6:case 7:case 8:case 9:
				deleteValueN1(objName,numP,numP+1, "Y");
			break;
			default: break;
			}		
			break;
		case 35:case 36:
			break;
		default:
		if(numP == 2 || numP == 5){
			numP++;
		}
		setValue(objName,numP,numP + 1,val);
		break;
	}
	if (val == 8 || val ==46){		
		event.preventDefault? event.preventDefault() : event.returnValue = false;
	}
}

setSelection  = function (objName){
	if($(objName).value.length == 0){
		$(objName).value = "MM/DD/YYYY";
	}
	setSelectionN (objName,0,0);
}
setIfNone = function(selName, objName1, objName2){
	var element = document.getElementById(selName);
	if($(objName1).value != "" && $(objName1).value != "MM/DD/YYYY" && element.value == ""){
		element.options[element.options.length - 1].selected = true;
	}	
	if( $(objName1).value == "MM/DD/YYYY" &&  $(objName2).value == "MM/DD/YYYY"){
		element.options[0].selected = true;
	}
}
setIfNoneForOne =  function(selName, objName1){
	var element = document.getElementById(selName);
	if($(objName1).value != "" && $(objName1).value != "MM/DD/YYYY" && element.value == ""){
		element.options[element.options.length - 1].selected = true;
	}
}

setSelectionN  = function (objName,start,end){
	var obj = document.getElementById(objName);
	obj.focus();
	if (document.selection)	{
		var r = obj.createTextRange();
		r.collapse(true);
		r.moveStart("character",end);
		//r.moveEnd("character",end);
		r.select();
	}else{		
		obj.setSelectionRange(start,end);
	}
}
setSelectionNObj  = function (obj,start,end){	
	obj.focus();
	if (document.selection)	{
		var r = obj.createTextRange();
		r.collapse(true);
		r.moveStart("character",end);
		//r.moveEnd("character",end);
		r.select();
	}else{		
		obj.setSelectionRange(start,end);
	}
}
setValue = function(objName,start,end,val){
	if (val >95 && val < 106){
		val = val - 48;
	}
	var newText = String.fromCharCode(val);
	//alert(val);
	var obj = document.getElementById(objName);
	obj.focus();
	var txt = obj.value;
	var txtTmp = obj.value.substr(0,start) + newText + obj.value.substr(end);
	if(txtTmp.length == 10 ){
		txt = txtTmp;
	}
	obj.value = txt;
	if (document.selection)	{		
		var r = obj.createTextRange();
		r.collapse(true);
		r.moveStart("character",end);
		//r.moveEnd("character",end);
		r.select();
	}else{		
		obj.setSelectionRange(start+1,start+1);
	}
}

deleteValueN  = function (objName,start,end, newText){
	var obj = document.getElementById(objName);
	obj.focus();
	var txt = obj.value.substr(0,start) + newText + obj.value.substr(end);
	obj.value = txt;
	if (document.selection){
		var r = obj.createTextRange();
		r.collapse(true);
		r.moveStart("character",start);
		//r.moveEnd("character",end);
		r.select(); 
	}else{		
		//obj.value = txt;	
		obj.setSelectionRange(start,end);
	}
}

deleteValueN1  = function (objName,start,end, newText){
	var obj = document.getElementById(objName);
	obj.focus();
	var txt = obj.value.substr(0,start) + newText + obj.value.substr(end);
	obj.value = txt;
	
	if (document.selection){
		var r = obj.createTextRange();
		r.collapse(true);
		//r.moveStart("character",start);
		//r.moveEnd("character",end); x
		//r.text = newText;
		r.moveStart("character",start+1);
		//r.moveEnd("character",end+1); 
		r.select(); 
	}else{	
		//var txt = obj.value.substr(0,start) + newText + obj.value.substr(end);
		//obj.value = txt;	
		obj.setSelectionRange(start+1,end+1);
	}
}
setCustomD = function (objName){
	var selectInterval = $(objName);//$('filter_datepreset');	
	if( $('date1').value == "MM/DD/YYYY" &&  $('date2').value == "MM/DD/YYYY"){
		selectInterval.options[0].selected = true;
	}else{
		selectInterval.options[selectInterval.options.length - 1].selected = true;
	}
}

var userDateRequest = new Request({method: 'post', url: 'dateController'});
var userTime = new Object();

getProviderTime = function(){
	userDateRequest.send("getProviderTime");
	userDateRequest.onSuccess = function(responseText,responseXML){
		var response = eval('(' +  responseText + ')');
		if (response.res == 1) {
			userTime.year = response.year;
			userTime.month = response.month;
			userTime.day = response.day;
			userTime.hour = response.hour;
			userTime.minute = response.minute;
			userTime.second = response.second;
			userTime.useLocal = false;
		}
		if (response.res == 0)
			userTime.useLocal = true;
	}
	updateProviderTime();
}

updateProviderTime = function(){
	setTimeout( function () {
		getProviderTime();
		}, 30000);
}

validateScheduledDate = function(action){
	
	var date = new Date();
	if(userTime != null && userTime.useLocal != true){
		date.setFullYear(userTime.year, userTime.month, userTime.day);
		date.setHours(userTime.hour, userTime.minute, userTime.second, 0);
	}
	
	switch(action){
	case 'sendmsg_date_template':
		if($('frm_sendmsg_date').value == 'MM/DD/YYYY'){
			$('scheduled_date_error').style.display = 'none';
			$('scheduled_date_not_set').style.display = 'none';
			$('scheduled_date_wrong').style.display = 'none';
			$('frm_sendmsg_date').style.color = '#000000';
			break;
		}
		validateScheduledDate('sendmsg_date');
		break;
	case 'sendmsg_date':
		if($('frm_sendmsg_date').value == ''){
			this.date_general_validated = false;
			this.date_general_current = false;
			this.date_meridian_checked = false;
			this.date_hour_current = false;
			this.date_hour_validated = false;
			$('scheduled_date_error').style.display = 'none';
			$('scheduled_date_not_set').style.display = 'block';
			$('scheduled_date_wrong').style.display = 'none';
			$('frm_sendmsg_date').style.color = '#D12429';
			break;
		}else{
			this.date_general_validated = false;
			this.date_general_current = false;
			var numeric = /^[0-9]*$/;
			var user_date = $('frm_sendmsg_date').value;
			var system_day = date.getDate();
			var system_month = date.getMonth() + 1;
			var system_year = date.getFullYear();
			
			var delimiter = user_date.search('/');
			var user_month = user_date.substring(0, delimiter);
			if(!numeric.test(user_month)){
				$('scheduled_date_not_set').style.display = 'block';
				$('scheduled_date_error').style.display = 'none';
				$('scheduled_date_wrong').style.display = 'none';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}else{
				$('scheduled_date_not_set').style.display = 'none';
				user_month = parseInt(user_month, 10);
			}
			user_date = user_date.slice(delimiter + 1);
			
			delimiter = user_date.search('/');
			var user_day = user_date.substring(0, delimiter);
			if(!numeric.test(user_day)){
				$('scheduled_date_not_set').style.display = 'block';
				$('scheduled_date_error').style.display = 'none';
				$('scheduled_date_wrong').style.display = 'none';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}else{
				$('scheduled_date_not_set').style.display = 'none';
				user_day = parseInt(user_day, 10);
			}
			user_date = user_date.slice(delimiter + 1);
			
			var user_year = user_date;
			if(!numeric.test(user_year)){
				$('scheduled_date_not_set').style.display = 'block';
				$('scheduled_date_error').style.display = 'none';
				$('scheduled_date_wrong').style.display = 'none';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}else{
				$('scheduled_date_not_set').style.display = 'none';
				user_year = parseInt(user_year, 10);
			}
			
			if((user_month < 1 || user_month > 12) || (user_day < 1 || user_day > 31)){
				$('scheduled_date_not_set').style.display = 'none';
				$('scheduled_date_error').style.display = 'none';
				$('scheduled_date_wrong').style.display = 'block';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}else{
				$('scheduled_date_wrong').style.display = 'none';
			}
			
			if(user_year < system_year){
				$('scheduled_date_error').style.display = 'block';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}
			if(user_month < system_month && user_year <= system_year){
				$('scheduled_date_error').style.display = 'block';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}
			if(user_day < system_day && user_month <= system_month && user_year <= system_year){
				$('scheduled_date_error').style.display = 'block';
				$('frm_sendmsg_date').style.color = '#D12429';
				break;
			}
			
			$('scheduled_date_error').style.display = 'none';
			$('frm_sendmsg_date').style.color = '#000000';
			this.date_general_validated = true;
			
			if(user_day == system_day && user_month == system_month && user_year == system_year)
				this.date_general_current = true;
			
			if(this.date_meridian_checked == true){
				validateScheduledDate('sendmsg_hour');
				validateScheduledDate('sendmsg_minute');
			}
		}
		break;
	case 'sendmsg_hour':
		if(this.date_general_validated == true){
			if(this.date_meridian_checked == true){
				if($('frm_sendmsg_date').value == 'MM/DD/YYYY'){
					validateScheduledDate('reset');
					return;
				}
				
				var user_meridian = $('frm_sendmsg_aa').options[$('frm_sendmsg_aa').selectedIndex].text;
				var user_hour = $('frm_sendmsg_time1').options[$('frm_sendmsg_time1').selectedIndex].text;
				user_hour = parseInt(user_hour, 10);
				var system_hour = date.getHours();
				if(user_meridian == 'PM' && user_hour != 12){
					user_hour += 12;
				}else if(user_meridian == 'AM' && user_hour == 12){
					user_hour -= 12;
				}
				if(user_hour < system_hour && this.date_general_current == true){
					$('scheduled_date_error').style.display = 'block';
					this.date_hour_current = false;
					this.date_hour_validated = false;
					$('frm_sendmsg_time1').style.color = '#D12429';
					$('frm_sendmsg_min').style.color = '#D12429';
					$('frm_sendmsg_aa').style.color = '#D12429';
					break;
				}
				
				$('scheduled_date_error').style.display = 'none';
				$('frm_sendmsg_time1').style.color = '#000000';
				$('frm_sendmsg_min').style.color = '#000000';
				$('frm_sendmsg_aa').style.color = '#000000';
				this.date_hour_validated = true;
				if(user_hour == system_hour)
					this.date_hour_current = true;
				else 
					this.date_hour_current = false;
				
				validateScheduledDate('sendmsg_minute');
			}
		}
		break;
	case 'sendmsg_minute':
		if(this.date_general_validated == true){
			if(this.date_meridian_checked == true){
				if(this.date_hour_validated == true){
					if($('frm_sendmsg_date').value == 'MM/DD/YYYY'){
						validateScheduledDate('reset');
						return;
					}
					
					var user_minute = $('frm_sendmsg_min').options[$('frm_sendmsg_min').selectedIndex].text;
					user_minute = parseInt(user_minute, 10);
					var system_minute = date.getMinutes();
					
					if(user_minute < system_minute && this.date_general_current == true && this.date_hour_current == true){
						$('scheduled_date_error').style.display = 'block';
						$('frm_sendmsg_time1').style.color = '#D12429';
						$('frm_sendmsg_min').style.color = '#D12429';
						$('frm_sendmsg_aa').style.color = '#D12429';
						break;
					}
					
					$('scheduled_date_error').style.display = 'none';
					$('frm_sendmsg_time1').style.color = '#000000';
					$('frm_sendmsg_min').style.color = '#000000';
					$('frm_sendmsg_aa').style.color = '#000000';
				}
			}
		}
		break;
	case 'sendmsg_meridian':
		if(this.date_general_validated == true){
			this.date_meridian_checked = true;
			if($('frm_sendmsg_date').value == 'MM/DD/YYYY'){
				validateScheduledDate('reset');
				return;
			}
			
			validateScheduledDate('sendmsg_hour');
			validateScheduledDate('sendmsg_minute');
		}
		break;
	case 'schedule_enabled':
			if(this.schedule_date_style == 'rgb(221, 221, 221)')
				this.schedule_date_style = '#000000';
			if(this.schedule_hour_style == 'rgb(221, 221, 221)')
				this.schedule_hour_style = '#000000';
			if(this.schedule_minute_style == 'rgb(221, 221, 221)')
				this.schedule_minute_style = '#000000';
			if(this.schedule_meridian_style == 'rgb(221, 221, 221)')
				this.schedule_meridian_style = '#000000';
			
			$('scheduled_date_error').style.display = this.scheduled_date_error;
			$('scheduled_date_not_set').style.display = this.scheduled_date_not_set;
			$('scheduled_date_wrong').style.display = this.scheduled_date_wrong;
			$('frm_sendmsg_date').style.color = this.schedule_date_style;
			$('frm_sendmsg_time1').style.color = this.schedule_hour_style;
			$('frm_sendmsg_min').style.color = this.schedule_minute_style;
			$('frm_sendmsg_aa').style.color = this.schedule_meridian_style;
				
			if($('frm_sendmsg_date').value == 'MM/DD/YYYY'){
				var cur_month = 0;
				var cur_day = 0;
				var cur_year = 0;
				
				cur_month = date.getMonth() + 1;
				cur_day = date.getDate();
				cur_year = date.getFullYear();
				
				var cur_hour = date.getHours();
				var cur_minute = date.getMinutes();
				var cur_meridian = 'AM'; 
				
				if(date.getHours() == 0){
					cur_hour = 12;
					cur_meridian = 'AM';
				}else if(date.getHours() == 12){
					cur_hour = 12;
					cur_meridian = 'PM';
				}else if(date.getHours() > 12){
					cur_hour -= 12;
					cur_meridian = 'PM';
				}
				
				if(cur_minute <= 0)
					cur_minute = 5;
				else if(cur_minute <= 5)
					cur_minute = 10;
				else if(cur_minute <= 10)
					cur_minute = 15;
				else if(cur_minute <= 15)
					cur_minute = 20;
				else if(cur_minute <= 20)
					cur_minute = 25;
				else if(cur_minute <= 25)
					cur_minute = 30;
				else if(cur_minute <= 30)
					cur_minute = 35;
				else if(cur_minute <= 35)
					cur_minute = 40;
				else if(cur_minute <= 40)
					cur_minute = 45;
				else if(cur_minute <= 45)
					cur_minute = 50;
				else if(cur_minute <= 50)
					cur_minute = 55;
				else if(cur_minute <= 60){
					if(cur_minute <= 55)
						cur_minute = 0;
					else
						cur_minute = 5;
					
					cur_hour += 1;
					if(cur_hour == 11 && cur_meridian == 'PM'){
						cur_meridian = 'AM';
						cur_hour = 12;
						cur_day += 1;
						
						var check_date = new Date();
						check_date.setDate(cur_day);
						check_date.setHours(cur_hour, check_date.getMinutes(), check_date.getSeconds(), check_date.getMilliseconds());
						
						cur_month = check_date.getMonth() + 1;
						cur_day = check_date.getDate();
						cur_year = check_date.getFullYear();
					}else if(cur_hour == 12 && cur_meridian == 'AM'){
						cur_meridian = 'PM';
					}else if(cur_hour > 12){
						cur_hour -= 12;
						
					}
				}
				
				var cur_date = new String('');
				
				if(cur_month < 10)
					cur_date += '0'
				cur_date = cur_date.concat(cur_month);
				cur_date += '/';
				
				if(cur_day < 10)
					cur_date += '0'
				cur_date = cur_date.concat(cur_day);
				cur_date += '/';
				
				if(cur_year < 10)
					cur_date += '000';
				else if(cur_year < 100)
					cur_date += '00';
				else if(cur_year < 1000)
					cur_date += '0';
				cur_date = cur_date.concat(cur_year);
				
				for(i=0;i<$('frm_sendmsg_time1').options.length;i++){
					if(parseInt($('frm_sendmsg_time1').options[i].text, 10) == cur_hour){
						$('frm_sendmsg_time1').options[i].selected = true;
						break;
					}
				}
				for(i=0;i<$('frm_sendmsg_min').options.length;i++){
					if(parseInt($('frm_sendmsg_min').options[i].text, 10) == cur_minute){
						$('frm_sendmsg_min').options[i].selected = true;
						break;
					}
				}
				for(i=0;i<$('frm_sendmsg_aa').options.length;i++){
					if($('frm_sendmsg_aa').options[i].text == cur_meridian){
						$('frm_sendmsg_aa').options[i].selected = true;
						break;
					}
				}
				
				$('frm_sendmsg_date').value = cur_date;
			}else{
				validateScheduledDate('check_all');
			}
		break;
	case 'schedule_disabled':
			this.scheduled_date_error = $('scheduled_date_error').style.display;
			this.scheduled_date_not_set = $('scheduled_date_not_set').style.display;
			this.scheduled_date_wrong = $('scheduled_date_wrong').style.display;
			this.schedule_date_style = $('frm_sendmsg_date').style.color;
			this.schedule_hour_style = $('frm_sendmsg_time1').style.color;
			this.schedule_minute_style = $('frm_sendmsg_min').style.color;
			this.schedule_meridian_style = $('frm_sendmsg_aa').style.color;
			$('scheduled_date_error').style.display = 'none';
			$('scheduled_date_not_set').style.display = 'none';
			$('scheduled_date_wrong').style.display = 'none';
			$('frm_sendmsg_date').style.color = '#DDDDDD';
			$('frm_sendmsg_time1').style.color = '#DDDDDD';
			$('frm_sendmsg_min').style.color = '#DDDDDD';
			$('frm_sendmsg_aa').style.color = '#DDDDDD';
		break;
	case 'check_all':
		validateScheduledDate('sendmsg_date');
		validateScheduledDate('sendmsg_meridian');
		break;
	case 'check_all_cases_after_reset':
			this.date_general_validated = true;
			this.date_general_current = true;
			this.date_meridian_checked = true;
			this.date_hour_current = true;
			this.date_hour_validated = true;
		break;
	default:
			this.scheduled_date_error = 'none';
			this.scheduled_date_not_set = 'none';
			this.scheduled_date_wrong = 'none';
			validateScheduledDate('check_all_cases_after_reset');
		break;
	}
}

populateScheduledDate = function(){
	$('frm_sendmsg_date').value = "MM/DD/YYYY";	
}

checkDateFormat = function(control){
	if(control.value == 'MM/DD/YYYY')
		return;
	
	var numeric = /^[0-9]*$/;
	var user_date = control.value;
	var verified_date = '';
	
	if(user_date.length > 10){
		control.value = 'MM/DD/YYYY';
		return;
	}
	
	if(user_date.length < 10){
		while(user_date.length < 10)
			user_date += 'Y';
	}
	
	var user_month = user_date.substring(0,2);
	if(!numeric.test(user_month.charAt(0)) && user_month.charAt(0) != 'M')
		verified_date += 'M';
	else
		verified_date += user_month.charAt(0);
	if(!numeric.test(user_month.charAt(1)) && user_month.charAt(1) != 'M')
		verified_date += 'M';
	else
		verified_date += user_month.charAt(1);
	
	verified_date += '/';
	
	var user_day = user_date.substring(3,5);
	if(!numeric.test(user_day.charAt(0)) && user_day.charAt(0) != 'D')
		verified_date += 'D';
	else 
		verified_date += user_day.charAt(0);
	if(!numeric.test(user_day.charAt(1)) && user_day.charAt(1) != 'D')
		verified_date += 'D';
	else
		verified_date += user_day.charAt(1);
	
	verified_date += '/';
	
	var user_year = user_date.substring(6,10);
	if(!numeric.test(user_year.charAt(0)) && user_year.charAt(0) != 'Y')
		verified_date += 'Y';
	else
		verified_date += user_year.charAt(0);
	if(!numeric.test(user_year.charAt(1)) && user_year.charAt(1) != 'Y')
		verified_date += 'Y';
	else
		verified_date += user_year.charAt(1);
	if(!numeric.test(user_year.charAt(2)) && user_year.charAt(2) != 'Y')
		verified_date += 'Y';
	else
		verified_date += user_year.charAt(2);
	if(!numeric.test(user_year.charAt(3)) && user_year.charAt(3) != 'Y')
		verified_date += 'Y';
	else
		verified_date += user_year.charAt(3);
	
	control.value = verified_date;
}

checkZipFormat = function(control){
	
	var numeric = /^[0-9]*$/;
	var userZip = control.value;
		
	if(userZip.length > 10){
		userZip = userZip.substring(0,10);
	}
	
	var userZip2 = userZip.substring(6);
	
	if(!numeric.test(userZip2)){
		userZip = userZip.substring(0,6);
	}
	var userZipDelim = userZip.substring(5,6);
	if (userZipDelim!="-"){
		userZip = userZip.substring(0,5);
	}else{
		if (userZip.length==6){
			userZip = userZip.substring(0,5);
		}
	}
	var tmp = userZip.substring(0,5) + userZip.substring(6); 
	if(!numeric.test(tmp)){
		userZip = "";
	}	
	control.value = userZip;
}

validateFilterScheduledDate12 = function(control, action){
		
	var check_date_not_set = true;
	var check_date_wrong = true;
	
	switch(action){
	case 'sendmsg_date':
		if(control.value == ''){
			$('filter_scheduled_date_not_set').style.display = 'block';
			control.style.color = '#D12429';
			break;	
		}else if(control.value == 'MM/DD/YYYY'){
			check_date_wrong = false;
			check_date_not_set = false;
		}else{
			var numeric = /^[0-9]*$/;
			var user_date = control.value;
			
			var delimiter = user_date.search('/');
			var user_month = user_date.substring(0, delimiter);
			
			if(!numeric.test(user_month)){
				$('filter_scheduled_date_not_set').style.display = 'block';
				control.style.color = '#D12429';
				check_date_not_set = true;
			}else{
				check_date_not_set = false;
				user_month = parseInt(user_month, 10);
			}
			user_date = user_date.slice(delimiter + 1);
			
			delimiter = user_date.search('/');
			var user_day = user_date.substring(0, delimiter);
			if(!numeric.test(user_day)){
				$('filter_scheduled_date_not_set').style.display = 'block';
				control.style.color = '#D12429';
				check_date_not_set = true;
			}else{
				if(check_date_not_set != true)
					check_date_not_set = false;
				user_day = parseInt(user_day, 10);
			}
			user_date = user_date.slice(delimiter + 1);
			
			var user_year = user_date;
			if(!numeric.test(user_year) && check_date_not_set != true){
				$('filter_scheduled_date_not_set').style.display = 'block';
				control.style.color = '#D12429';
				check_date_not_set = true;
			}else{
				if(check_date_not_set != true)
					check_date_not_set = false;
				user_year = parseInt(user_year, 10);
			}
			
			if(((user_month < 1 || user_month > 12) || (user_day < 1 || user_day > 31)) && check_date_not_set != true){
				$('filter_scheduled_date_wrong').style.display = 'block';
				control.style.color = '#D12429';
			}else{
				check_date_wrong = false;
			}
		}
		break;
	default:
			this.date1_wrong = false;
			this.date1_not_set = false;
			this.date2_wrong = false;
			this.date2_not_set = false;
			return;
		break;
	}
	
	if(control.name == 'date1'){
		this.date1_wrong = check_date_wrong;
		this.date1_not_set = check_date_not_set;
	}else{ 
		this.date2_wrong = check_date_wrong;
		this.date2_not_set = check_date_not_set;
	}
	
	if(this.date1_not_set == false && this.date2_not_set == false)
		$('filter_scheduled_date_not_set').style.display = 'none';
	else
		$('filter_scheduled_date_not_set').style.display = 'block';
	
	if(this.date1_wrong == false && this.date2_wrong == false)
		$('filter_scheduled_date_wrong').style.display = 'none';
	else
		$('filter_scheduled_date_wrong').style.display = 'block';
		
	if(check_date_not_set == true || check_date_wrong == true)
		return;
	
	control.style.color = '#000000';
}

validateFilterScheduledDate3 = function(control, action){
		
	switch(action){
	case 'sendmsg_date':
		if(control.value == ''){
			$('filter_scheduled_date3_not_set').style.display = 'block';
			$('filter_scheduled_date3_wrong').style.display = 'none';
			control.style.color = '#D12429';
			break;	
		}else if(control.value == 'MM/DD/YYYY'){
			$('filter_scheduled_date3_not_set').style.display = 'none';
			$('filter_scheduled_date3_wrong').style.display = 'none';
			control.style.color = '#000000';
		}else{
			var numeric = /^[0-9]*$/;
			var user_date = control.value;
			
			var delimiter = user_date.search('/');
			var user_month = user_date.substring(0, delimiter);
			if(!numeric.test(user_month)){
				$('filter_scheduled_date3_not_set').style.display = 'block';
				$('filter_scheduled_date3_wrong').style.display = 'none';
				control.style.color = '#D12429';
				break;
			}else{
				$('filter_scheduled_date3_not_set').style.display = 'none';
				user_month = parseInt(user_month, 10);
			}
			user_date = user_date.slice(delimiter + 1);
			
			delimiter = user_date.search('/');
			var user_day = user_date.substring(0, delimiter);
			if(!numeric.test(user_day)){
				$('filter_scheduled_date3_not_set').style.display = 'block';
				$('filter_scheduled_date3_wrong').style.display = 'none';
				control.style.color = '#D12429';
				break;
			}else{
				$('filter_scheduled_date3_not_set').style.display = 'none';
				user_day = parseInt(user_day, 10);
			}
			user_date = user_date.slice(delimiter + 1);
			
			var user_year = user_date;
			if(!numeric.test(user_year)){
				$('filter_scheduled_date3_not_set').style.display = 'block';
				$('filter_scheduled_date3_wrong').style.display = 'none';
				control.style.color = '#D12429';
				break;
			}else{
				$('filter_scheduled_date3_not_set').style.display = 'none';
				user_year = parseInt(user_year, 10);
			}
			
			if((user_month < 1 || user_month > 12) || (user_day < 1 || user_day > 31)){
				$('filter_scheduled_date3_not_set').style.display = 'none';
				$('filter_scheduled_date3_wrong').style.display = 'block';
				control.style.color = '#D12429';
				break;
			}else{
				$('filter_scheduled_date3_wrong').style.display = 'none';
			}
			
			control.style.color = '#000000';
		}
		break;
	default:
		break;
	}
}

deleteAllRows = function(){
	var table = document.getElementsByTagName("table")[0];
	var rows = table.getElementsByTagName("tr");
	for ( var i = rows.length - 1 ; i > 0; i--){
		table.deleteRow(i);
	}
}
addLoadDataRow = function(){
	var table = document.getElementsByTagName("table")[0];
	var numCells = table.getElementsByTagName("th").length;
	var numRows = table.getElementsByTagName("tr").length;	
	var newRow = table.insertRow(numRows);
	newRow.className = "oddJBTable nodata";
	var newCell = newRow.insertCell(0); 
	newCell.setAttribute('colSpan',numCells);
	var addText = document.createTextNode("Load data...");
	newCell.appendChild(addText);
}

getPosition = function (objName){
	var numP = 0;	
	var obj = document.getElementById(objName);
	obj.focus();	
	 
	if(obj.selectionStart) {
		return obj.selectionStart;
	}else{
		if (document.selection) {
			var sel = document.selection.createRange();
			var clone = sel.duplicate();
			sel.collapse(true);
			clone.moveToElementText(obj);
			clone.setEndPoint('EndToEnd', sel);			
			var tmp = clone.text.replace(/[\r]/g,'');			
			return tmp.length;
		}
	}
	return numP;
}

getPositionObj = function (obj){
	var numP = 0;	
	obj.focus();	
	 
	if(obj.selectionStart) {
		return obj.selectionStart;
	}else{
		if (document.selection) {
			var sel = document.selection.createRange();
			var clone = sel.duplicate();
			sel.collapse(true);
			clone.moveToElementText(obj);
			clone.setEndPoint('EndToEnd', sel);
			var tmp = clone.text.replace(/[\r]/g,'');			
			return tmp.length;
		}
	}
	return numP;
}

var whiteChars = /[^\w@\$ !"#%&'\(\)\*\+,-\./:;<=>\?\r\n]/;

isSupportedMsgCharacters = function (value){
	return(!whiteChars.test(value)); 
}
           
getSupportedMsgCharacters = function (value){
	return value.replace(/[^\w@\$ !"#%&'\(\)\*\+,-\./:;<=>\?\r\n]/g,'');
}
escapePlus = function(value){
	return encodeURIComponent(value).replace('\'','%27');
}

////////////

setup_keywordpopup_dashboard = function(){
	$$('#frm_addkeyword textarea[maxlen]').each(function(item){
		item.addEvent('keyup', function(){
			//check length of text, stop at maxlength
			//NOTE: THIS FUNCTION HAS CHANGED!
			//We're using the "maxlen" attribute of the textareas to more easily set
			//the corresponding character count and JS functions on a variable individual
			//textarea basis. Also note that XHTML spec does not natively support the
			//maxlen attribute, and JS are doing all of the work. Lastly, note that this
			//function is applied to *any* and *only* textareas with the maxlen attribute.
			var mlength=this.getProperty('maxlen');						
			//this.value = this.value.replace(/[^\w@\$ !"#%&'\(\)\*\+,-\./:;<=>\?]/g,'');
			var num = getPositionObj(item);
			if (!isSupportedMsgCharacters(this.value)){																	
				this.value = getSupportedMsgCharacters(this.value);
				setSelectionNObj(item, num-1, num-1);
			}
			if(this.value.length>mlength){this.value=this.value.substring(0,mlength);}
			this.getNext('.charsremain').set('html', mlength - this.value.length + " characters remaining");
			if(mlength - this.value.length == 0){
				this.getNext('.charsremain').style.color="red";
			}else{
				this.getNext('.charsremain').style.color="black";
			}
		});
	});
	
	var keywordtype = $$('input[name=frm_keywordtype]');
	var forwardrows = [$('frm_addkeyword_forward1'), $('frm_addkeyword_forward2')];
	var responserows = [$('frm_addkeyword_response')];
	var subscriptionrows = [$('frm_addkeyword_subscription1'), $('frm_addkeyword_subscription2'), $('frm_addkeyword_subscription3'), $('frm_addkeyword_subscription4'), $('frm_addkeyword_subscription5'), $('frm_addkeyword_subscription6'), $('frm_addkeyword_subscription7'), $('frm_addkeyword_subscription8'), $('frm_addkeyword_subscription9'), $('frm_addkeyword_subscription10'), $('frm_addkeyword_subscription11'), $('frm_addkeyword_subscription12'), $('frm_addkeyword_subscription13')];
	var contestrows = [$('frm_addkeyword_contest1'), $('frm_addkeyword_contest2'), $('frm_addkeyword_contest3'), $('frm_addkeyword_contest4'), $('frm_addkeyword_contest5'), $('frm_addkeyword_contest6'), $('frm_addkeyword_contest7'), $('frm_addkeyword_contest8'), $('frm_addkeyword_contest9'), $('frm_addkeyword_contest10'), $('frm_addkeyword_contest11')];
	var keywordtypechange = function(){
		$$(forwardrows, responserows, subscriptionrows, contestrows).each(function(item){
			item.style.display="none";
		});
		var rowtoggle = (Browser.Engine.trident) ? "block" : "table-row";
		var ktv = keywordtype.filter( function(item, index) {return item.checked} )[0].get('value');
		if(ktv=="forward"){
			for(i=0;i<forwardrows.length;i++){
				forwardrows[i].style.display=rowtoggle;
			}
		}else if(ktv=="response"){
			for(i=0;i<responserows.length;i++){
				responserows[i].style.display=rowtoggle;
			}
		}else if(ktv=="subscription"){
			for(i=0;i<subscriptionrows.length;i++){
				if (subscriptionrows[i]){
					subscriptionrows[i].style.display=rowtoggle;
				}
			}
		}else if(ktv=="contest"){
			for(i=0;i<contestrows.length;i++){
				contestrows[i].style.display=rowtoggle;
			}
		}
	}
	var plantypetextchange = function(){
		var plantype = $$('input[name=frm_plantype]');
		var ptv = plantype.filter( function(item, index) {return item.checked} )[0].get('value');
		if(ptv=="per-message"){
			$('per-messagetext').style.display = 'block';
			$('unlimitedtext').style.display = 'none';
		}else{
			if(ptv=="unlimited"){
				$('per-messagetext').style.display = 'none';
				$('unlimitedtext').style.display = 'block';
			}
		}
		
	} 
	$$('#frm_keywordtypes input').addEvents({
		'change': function(){
			subkeywordOnChangeType('keyword');
			keywordtypechange();
		},
	    'click': function(){
			subkeywordOnChangeType('keyword');
			keywordtypechange();
		}
	});
	
	if ($('frm_plantypes')){
		$$('#frm_plantypes input').addEvents({
			'change': function(){
				plantypetextchange();
			},
	    	'click': function(){
				plantypetextchange();
			}
		});
	}
	
	$$('#frm_sub_keywordtypes input').addEvents({
		'change': function(){
			subkeywordOnChangeType('sub-keyword');
			keywordtypechange();
		},
	    'click': function(){
			subkeywordOnChangeType('sub-keyword');
			keywordtypechange();
		}
	});
	$$('#PopupContent input.selectdate').each(function(item, index){
		var xoff = item.getParent('.rcol') ? -172 : -94;
		eval("selectday" + index + " = new Calendar({ " + item.get('id') + " : 'm/d/Y' }, { editable: true, classes: ['popcal'], navigation: 2, tweak: { x: xoff, y: 20 }})");
	});
	var contestentrieschange = function(){
		var ceopts = $$('input[name=frm_addkeyword_contestentries]');
		var cev = ceopts.filter( function(item, index) {return item.checked} )[0].get('value');
		if(cev=="unlimited"){
			disableinputs($$('#frm_addkeyword_contest5 div')[0]);
		}else if(cev=="limited"){
			enableinputs($$('#frm_addkeyword_contest5 div')[0]);
			if($('type_of_entry').selectedIndex == 5){
				$('num_of_entries').disabled='disabled';
			}
		}
	}
	var contestwinnerschange = function(){
		var cwopts = $$('input[name=frm_addkeyword_contestwinners]');
		var cwv = cwopts.filter( function(item, index) {return item.checked} )[0].get('value');
		if(cwv=="manual"){
			disableinputs($$('#frm_addkeyword_contest6 div')[0]);
		}else if(cwv=="automated"){
			enableinputs($$('#frm_addkeyword_contest6 div')[0]);
		}
	}
	var winneroptschange = function(){
		var winnertype = $('frm_addkeyword_contestwinneropts');
		$$('#frmcontestoption1', '#frmcontestoption2', '#frmcontestoption3').each(function(item){
			item.set('class', 'hide');
		});
		$('frmcontestoption'+ winnertype.value).removeClass('hide');
	}
	$('frm_addkeyword_contestwinneropts').addEvents({
		'change': function(){
			winneroptschange();
		},
	    'keyup': function(){
			winneroptschange();
		}
	});
	$$('#frm_addkeyword_contest5 .option input').addEvents({
		'change': function(){
			contestentrieschange();
		},
	    'click': function(){
			contestentrieschange();
		}
	});
	$$('#frm_addkeyword_contest6 .option input').addEvents({
		'change': function(){
			contestwinnerschange();
		},
	    'click': function(){
			contestwinnerschange();
		}
	});

	disableinputs($('frm_addkeyword_subscription2'));
	disableinputs($('frm_addkeyword_subscription3'));
	disableinputs($$('#frm_addkeyword_contest5 div.disabled')[0]);
	disableinputs($$('#frm_addkeyword_contest6 div.disabled')[0]);
	$('frm_keywordsubassign').addEvent('click', function(){
		if(this.checked){
			enableinputs($('frm_addkeyword_subscription2'));
			enableinputs($('frm_addkeyword_subscription3'));
		}else{
			disableinputs($('frm_addkeyword_subscription2'));
			disableinputs($('frm_addkeyword_subscription3'));
		}
	});
	$$('input[name=frm_keywordforwardresponse]', 'input[name=frmkeywordsubgen]', 'input[name=frmkeywordsubweb]', 'input[name=frmkeywordsubal]', 'input[name=frm_keywordsubforwardresponse]').addEvent('change', function(){
		this.getParent('td').getChildren('.custom')[0].style.display="none";
		if(this.getParent('td').getChildren('.standard')[0]){this.getParent('td').getChildren('.standard')[0].style.display="none";}
		if(this.value=="custom"){
			this.getParent('td').getChildren('.custom')[0].style.display="block";
			this.getParent('td').getChildren('.custom')[0].getElementsByTagName('textarea')[0].focus();
		}else if(this.value=="standard"){
			this.getParent('td').getChildren('.standard')[0].style.display="block";
		}
	});
	$$('input[name=frm_keywordforwardresponse]', 'input[name=frmkeywordsubgen]', 'input[name=frmkeywordsubweb]', 'input[name=frmkeywordsubal]', 'input[name=frm_keywordsubforwardresponse]').addEvent('click', function(){
		this.getParent('td').getChildren('.custom')[0].style.display="none";
		if(this.getParent('td').getChildren('.standard')[0]){this.getParent('td').getChildren('.standard')[0].style.display="none";}
		if(this.value=="custom"){
			this.getParent('td').getChildren('.custom')[0].style.display="block";
			this.getParent('td').getChildren('.custom')[0].getElementsByTagName('textarea')[0].focus();
		}else if(this.value=="standard"){
			this.getParent('td').getChildren('.standard')[0].style.display="block";
		}
	});
	$$('#frm_addkeyword label.option').each(function(item){
		var t = $(item.getParent('div').getChildren('span.disabled')[0]);
		disableinputs(t);
	});
	$$('#frm_addkeyword label.option input[type=checkbox]').addEvent('click', function(){
		if(this.checked){
			enableinputs(this.getParent('div').getChildren('span')[0]);
		}else{
			disableinputs(this.getParent('div').getChildren('span')[0]);
		}
	});
	$$('.frm_addkeyword_cancel').addEvent('click', function(e){ 
		Popup.hide();		
	});
	if($('campaign_createnew')){
		$('campaign_createnew').setStyle('display', 'none');
	
		$('campaign_createlink').addEvent('click', function(e){
			e.stop();
			$('campaign_createlink').setStyle('display', 'none');
			$('campaign_createnew').setStyle('display', 'block');
		});
		
		$$('#campaign_createnew_cancel').addEvent('click', function(e){
			e.stop();
			$('campaign_createnew').setStyle('display', 'none');
			$('campaign_createlink').setStyle('display', 'block');
			$('campaign_createnew_name').value = '' ;
			//$('errorMsg').innerHTML = '';
			if(isClickKeywordButton){
				var keywordErrors = subKeywordValidation("keyword");
				if(keywordErrors.length != 0){
					$('errorMsg').innerHTML = buildError2(keywordErrors);
					$('PopupContent').scrollTo(0,0);
				}else{
					$('errorMsg').innerHTML = '';
				}
			}else{
				$('errorMsg').innerHTML = '';
				$('PopupContent').scrollTo(0,0);
			}			
		});
		
		$('type_of_entry').addEvent('change', function(e){
			e.stop();
			if($('type_of_entry').selectedIndex == 5){
				$('num_of_entries').value = '';
				$('num_of_entries').disabled='disabled';
			}else{
				$('num_of_entries').disabled='';
			}
		});
	}
	return;
}

editKeywordPopupDash = function(community_id, pageNum){
	var editKeywordHTML = new Request.HTML({
		data: 'keywordid=' + community_id + '&pageNum=' + pageNum,
		url:'editkeyword_popup', 
		onSuccess: function(restree, resel, reshtml){
			//Inject the new DOM elements into a div and spawn popup
			editkeyword_popup = new Element('div', {'html':reshtml});
			Popup.show(editkeyword_popup, {modal:true, size:'large', wtitle:'Edit keyword'});
			setup_keywordpopup_dashboard();
			keywordtypechangeByValueDashboard($('keywordType').value);
			checkSubscriptionInterests();
			$('frm_edit_keyword').addEvent('click', function(){
				 updateKeyword(pageNum);
			});
			$('frm_edit_keyword_cancel').addEvent('click', function(){
				Popup.hide();
			});
			$('campaign_createnew_submit').addEvent('click', function(e){
				e.stop();
				saveNewCampaign();
			});
			$('frm_keywordsubassigncreatebut').addEvent('click', function(e){
				e.stop();
				saveInterestOnSubKeyword(community_id);
			});
		},
		onFailure: function(){			
		}
	});
	editKeywordHTML.send();
};

var keywordtypechangeByValueDashboard = function (ktv){
	var forwardrows = [$('frm_addkeyword_forward1'), $('frm_addkeyword_forward2')];
	var responserows = [$('frm_addkeyword_response')];
	var subscriptionrows = [$('frm_addkeyword_subscription1'), $('frm_addkeyword_subscription2'), $('frm_addkeyword_subscription3'), $('frm_addkeyword_subscription4'), $('frm_addkeyword_subscription5'), $('frm_addkeyword_subscription6'), $('frm_addkeyword_subscription7'), $('frm_addkeyword_subscription8'), $('frm_addkeyword_subscription9'), $('frm_addkeyword_subscription10'), $('frm_addkeyword_subscription11'), $('frm_addkeyword_subscription12'), $('frm_addkeyword_subscription13')];
	var contestrows = [$('frm_addkeyword_contest1'), $('frm_addkeyword_contest2'), $('frm_addkeyword_contest3'), $('frm_addkeyword_contest4'), $('frm_addkeyword_contest5'), $('frm_addkeyword_contest6'), $('frm_addkeyword_contest7'), $('frm_addkeyword_contest8'), $('frm_addkeyword_contest9'), $('frm_addkeyword_contest10'), $('frm_addkeyword_contest11')];
	$$(forwardrows, responserows, subscriptionrows, contestrows).each(function(item){
		item.style.display="none";
	});
	var rowtoggle = (Browser.Engine.trident) ? "block" : "table-row";
	if(ktv=="F"){
		for(i=0;i<forwardrows.length;i++){
			forwardrows[i].style.display = rowtoggle;
		}
	}else if(ktv=="R"){
		for(i=0;i<responserows.length;i++){
			responserows[i].style.display = rowtoggle;
		}
	}else if(ktv=="S"){
		for(i=0;i<subscriptionrows.length;i++){
			if (subscriptionrows[i]){
				subscriptionrows[i].style.display = rowtoggle;
			}
		}
	}else if(ktv=="C"){
		for(i=0;i<contestrows.length;i++){
			contestrows[i].style.display = rowtoggle;
		}		
	}
}


var deleteKeywordRequest = new Request({method: 'post', url: 'keywordsController'});

deleteKeywordConfirm = function(communityId){
	var params = 'deleteKeyword=1&communityid=' + communityId;
	var popup_confirm = new Element('div', 
		{'id':'popupconfirm',
		 'html':'<div style="margin-top:15px">' +
					'<p style="line-height:20px;padding-left:22px;color:#000000;" class="msgquestion">Are you sure you want to DELETE this keyword?  This action cannot be undone.</p>' +
					'<input type="submit" id="msg_ok" value="Delete" style="float:left;margin-right:10px;margin-left:22px;"/>' + 
					'<input type="button" id="msg_cancel" value="Cancel" style="float:left"/>' + 
				'</div>'});
	Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Confirmation'});
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
		deleteKeywordRequest.send(params);   
	});
	$('msg_cancel').addEvent('click', function(){
		Popup.hide();
	});
}

deleteKeywordRequest.onSuccess = function(responseText,responseXML){
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){
		$(response.divId).load(response.pageName+'?curPage=' + response.curPage +'&random='+$random(-1000,1000));
	}
}

var cancelAccountRequest = new Request({method: 'post', url: 'accountController'});

cancelAccountRequest.onSuccess = function(responseText,responseXML){
	var response = eval('(' +  responseText + ')');
	if (response.res == 0){
		$('cancelAccountRes').innerHTML = buildError(response.msg);
	}
	if (response.res == 2){					
		window.location = 'login';
	}
}

cancelAccountConfirm = function(){
	var params = 'type=cancelAccount';
	params += '&password=' +  $('frm_cancel_password').value + '&reason=' +  escapePlus($('frm_cancel_reason').value);
		
	var popup_confirm = new Element('div', 
		{'id':'popupconfirm',
		 'html':'<div style="margin-top:15px">' +
					'<p style="line-height:20px;padding-left:22px;color:#000000;" class="msgquestion">Are you sure you want to CANCEL your account?  This action cannot be undone.</p>' +
					'<input type="submit" id="msg_ok" value="Cancel Account" style="float:left;margin-right:10px;margin-left:22px;"/>' + 
					'<input type="button" id="msg_cancel" value="Don\'t Canel Account" style="float:left"/>' + 
				'</div>'});
	Popup.show(popup_confirm, {size:'short', modal:true, wtitle:'Confirmation'});
	$('msg_ok').addEvent('click', function(){
		Popup.hide();
		cancelAccountRequest.send(params);   
	});
	$('msg_cancel').addEvent('click', function(){
		Popup.hide();
	});
}

var goToInboxRequest = new Request({method: 'post', url: 'app/inboxpagecontroller'});

goToInboxDash = function (keyword){
	var params = 'showInboxByKeyword=1&keyword=' + keyword + '&random='+$random(-1000,1000);	
	goToInboxRequest.send(params);
}
goToInboxRequest.onSuccess = function(responseText,responseXML){
	var response = eval('(' +  responseText + ')');
	if (response.res == 1){					
		window.location = 'inbox';
	}
}
showInactiveAlert = function(value){
	if (value == 0){
		$('inactiveAlert').style.display = 'block';
	}
	if (value == 1){
		$('inactiveAlert').style.display = 'none';
	}
}

checkURL = function (s) {
 	var regexp = /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/;
 	return regexp.test(s);
}

checkEMail = function (s) {
	var regexp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,6})+$/;
	return regexp.test(s);
}

checkZIP = function(s) {
	var valid = "0123456789-";
	var hyphencount = 0;

	if (s.length!=5 && s.length!=10) {
	return false;
	}
	
	for (var i=0; i < s.length; i++) {
		temp = "" + s.substring(i, i+1);
		if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1") {
				return false;
			}
			
			if ((hyphencount > 1) || ((s.length==10) && ""+s.charAt(5)!="-")) {
				return false;
			}
	}
	return true;
}

newToggleClass = function(obj){
	obj.parentNode.parentNode.parentNode.parentNode.toggleClass("hide");	
}

newToggleClassLi = function(obj){
	obj.parentNode.parentNode.parentNode.toggleClass("hide");	
}

memberInfoValidation = function() {
	
	var errors = [];
	
	if ($('frm_addmember_name_f').value.length > 100)
		errors.push('Specified first name is very long. The length of first name is limited by 100 characters.');
	
	if ($('frm_addmember_name_l').value.length > 100)
		errors.push('Specified last name is very long. The length of last name is limited by 100 characters.');
	
	if ($('frm_addmember_email').value.length != 0 && !checkEMail($('frm_addmember_email').value))
		errors.push('Specified email syntax is invalid.');
	
	if ($('frm_addmember_zip').value.length != 0 && !checkZIP($('frm_addmember_zip').value))
		errors.push('Specified zip syntax is invalid.');
	
	if(errors.length != 0){
		$('errorMsg2').innerHTML = buildError2(errors);
		$('PopupContent').scrollTo(0,0);
		return false;
	}else{
		$('errorMsg2').innerHTML = "";
		return true;
	}

}

checkDigits = function (s) {
	//alert(s);
	var regexp = /[^\d]/g;
 	return !regexp.test(s);
}

checkDigitsField = function (element) {
	 element.value = element.value.replace (/[^\d]/g, '');
	 setTimeout( function () {
		 checkDigitsFieldExtra(element);
		}, 250);
}

checkDigitsFieldExtra = function (element) {
	element.value = element.value.replace (/[^\d]/g, '');
}

checkInterestName = function (name, resultViewElement) {
	var errors = [];
	var validFlag = true;
	
	if (name.length > 255) {
		errors.push('Specified interest name is too long. The length of interest is limited by 255 characters.');
		validFlag = false;
	} else if (name.length == 0) {
		errors.push('Please, specify interest name.');
		validFlag = false;
	}
	
	if (validFlag == true) 
		resultViewElement.innerHTML = '';
	else
		resultViewElement.innerHTML = buildError2(errors);
	
	return validFlag;
}
