// JavaScript Document

$(document).ready(function(){
	$('#btnShowSubsCriber').attr('disabled','disabled');
	$('#btnSendNotification').attr('disabled','disabled');
	$('#btnDisplayStats').attr('disabled','disabled');
	
	$('#btnSendEmail').click(function(){ 
		
		var senderName = $('#Name').val();
		var senderEmail = $('#Email').val();
		var friendEmail = $('#Email1').val();
		var friendMessage = $('#Message').val();
		var actionUrl = document.getElementById("frmEmailFriend").action; 	
		
		if(senderName == ""){
		alert("Please enter your name");
		document.getElementById("Name").focus();
		return;
		}
		
		if(senderEmail == ""){
		alert("Please enter your email");
		document.getElementById("Email").focus();
		return;
		}
		
		if(friendEmail == ""){
		alert("Please enter friend's email");
		document.getElementById("Email1").focus();
		return;
		}
		
		
		if (IsValidEmail(senderEmail)==false){
			return;
		}
		
		if (IsValidEmail(friendEmail)==false){
			return;
		}									  
		$('#emailmessage').html("<div style='font-size:12px; color:#dd2e2e;' align='center'><strong>Sending email...</strong></div>");
		$.ajax({
				type : 'POST',
				url : actionUrl,
				dataType : 'json',
				async: false,
				cache: false,				
				beforeSend : function(){
					
				},
				data: 
					{
					Name : $('#Name').val(),
					Email : $('#Email').val(),
					Email1 : $('#Email1').val(),
					Message : $('#Message').val(),
					rpage : $('#rpage').val()
					},
				success: function(data,textStatus, jqXHR){
							$('#emailmessage').html("<div style='font-size:12px; color:#dd2e2e;' align='center'><strong>Email sent!</strong></div>");
							$('#Name').val("");	
							$('#Email').val("");	
							$('#Email1').val("");	
							$('#Message').val("");						
						},
				error: function(XMLHttpRequest, textStatus, errorThrown){
							alert(errorThrown);
							$('#emailmessage').html("<div style='font-size:12px; color:#dd2e2e;' align='center'><strong>Error while sending email!</strong></div>");
						}
				});
		return false;
	});
	
	$('input[name=rdoEventType]').click(function(){ 	
												 
		$('#btnSendNotification').attr('disabled','disabled');
		$('#btnDisplayStats').attr('disabled','disabled');												 
		var actionUrl = document.getElementById("frmMngNotification").action; 
		var varEventType = $(this).val();		
		var SelectCaption = "";
		var HeadingColumn = "";
		var IDColumn = "";
		
		$('#ExcludedEmails').val('');
		$('#TempExcludedEmails').val('');
		
		actionUrl = actionUrl + "cms/getnewsbytype";
		
		if(varEventType == "1"){
			SelectCaption = " -- Select Newsletter -- ";
			HeadingColumn = "Title";
			IDColumn = "ID";	
			$('#lblSelect').html('Select Newsletter :');
		}
		else if(varEventType == "2"){
			SelectCaption = " -- Select Calendar Event -- ";			
			HeadingColumn = "Heading";		
			IDColumn = "NewsID";			
			$('#lblSelect').html('Select Calendar Event :');			
		}
		
		$('#msgRecipients').val('');
		
		var jqxhr = $.post(actionUrl,{
			EventType : varEventType
			},
			function(data) {
					//alert('First Success method');
   			},
			"json")
			.success(function(data){
				//alert("second success"); 		
				var dropdown = $('#NewsID');
				var Subscriber = $('#spnSubscriber');
				var tblSubscriber = $("#tblSubscriber");
				dropdown.children().remove();
				tblSubscriber.find("tr:gt(0)").remove();
				dropdown.append($('<option></option>').val('0').html(SelectCaption))
				if(data.Rows != "1"){					
					for(var i=0; i<data.Rows.length; i++){
						dropdown.append($('<option></option>').val(data.Rows[i][IDColumn]).html(data.Rows[i][HeadingColumn]));	
						Subscriber.html(data.Rows[i]['TotalSubscriber']);
					}					
				}
				
				if(data.SubRows != "1"){
					$('#btnShowSubsCriber').attr('disabled','');
					for(var i=0; i<data.SubRows.length; i++){
						tblSubscriber.find('tbody')
							.append($('<tr>')
								.append($('<td>').html(i+1))									  
								.append($('<td>').html(data.SubRows[i]['Email']))									  
								.append($('<td>').html('<input type="checkbox" name="chkExclude[]" id="cb'+data.SubRows[i]['ID']+'" value="'+data.SubRows[i]['Email']+'" />'))																	  																	   
							);
						if($('#msgRecipients').val()!=""){
							$('#msgRecipients').val($('#msgRecipients').val()+data.SubRows[i]['Email']+'\n');	
						}else{
							$('#msgRecipients').val(data.SubRows[i]['Email']+'\n');	
						}
						
					}
				}					
			})
			.error(function(XMLHttpRequest, textStatus, errorThrown){ 
				if(errorThrown!=""){
				alert("error:"+errorThrown); 
				}
			})
			.complete(function(){
					//alert("complete"); 
			});
		
		
		/*
		$.ajax({
				type : 'POST',
				url : actionUrl,
				async: false,
				cache: false,	
				jsonp: null,
				jsonpCallback: null,
				dataType : 'json',
				beforeSend : function(){
					
				},
				data:{
					EventType : varEventType
					},
				success: function(data){
							var myData = JSON.parse(data);
							alert(myData.Error + 'Status:'+ textStatus);						
					},
				error: function(XMLHttpRequest, textStatus, errorThrown){
							alert(errorThrown);							
					}
		});	
		*/
	});
	
	$("#btnShowSubsCriber").click(function(){
		$('<div id="overlay"></div>').appendTo('body');
		$("#overlay").css({"display":"block", 
		"height":$(document).height()
		});
		$("div.popup").css("top", $(window).height()/2 - $('div.popup').height()/2);
		$("div.popup").css("left", $(window).width()/2 - $('div.popup').width()/2);
		$("div.popup").fadeIn("slow");
		

	});
	
	$(".popup .close").click(function(){
		$("#overlay").remove();
		$("div.popup").fadeOut();
	});	
	
	$('#btnExcluded').click(function(){
		var selectedItems = new Array();
		$("input[@name='chkExclude[]']:checked").each(function(){
			if($(this).val().length>4){
				selectedItems.push($(this).val());
			}
		});
		if (selectedItems .length > 0){
			$('#msgRecipients').text(selectedItems.join(','));
		}
		$("#overlay").remove();
		$("div.popup").fadeOut();		
	});
	
	$('#NewsID').change(function(){
		if($(this).val()!="0"){
			$('#btnSendNotification').attr('disabled','');
			$('#btnDisplayStats').attr('disabled','');						  
		}else{
			$('#btnSendNotification').attr('disabled','disabled');
			$('#btnDisplayStats').attr('disabled','disabled');						  			
		}
	});
	
	$('#btnDisplayStats').click(function(){
		var actionUrl = document.getElementById("frmMngNotification").action+'cms/getStatistics';
		var varEventType = $('input:radio[name=rdoEventType]:checked').val();
		var tblStatistics = $("#tblStatistics");
		tblStatistics.find("tr:gt(0)").remove();
		var jqxhr = $.post(actionUrl,{
			EventType : varEventType,
			SourceID : $('#NewsID').val()
			},
			function(data) {
					//alert('First Success method');
   			},
			"json")
			.success(function(data){
				//alert("second success"); 		
				if(data.Rows != "1"){									
					for(var i=0; i<data.Rows.length; i++){
						var Sr = i+1;
						var Email = data.Rows[i]['Email'];
						var Delivered = data.Rows[i]['FormattedDelivered'];
						var EntryDate = data.Rows[i]['EntryDate'];
						var Description = data.Rows[i]['Description'];
						var Viewed = data.Rows[i]['FormattedViewed'];
						var Clicked = data.Rows[i]['FormattedClicked'];
						
						tblStatistics.find('tbody')
							.append($('<tr>')
								.append($('<td>'+Sr+'</td>'))
								.append($('<td>'+Email+'</td>'))
								.append($('<td>'+Delivered+'</td>'))
								.append($('<td>'+EntryDate+'</td>'))								
								.append($('<td>'+Viewed+'</td>'))								
								.append($('<td>'+Description+'</td>'))								
						);							
					}					
				}else{
					tblStatistics.find('tbody')
						.append($('<tr>')
							.append($('<td colspan="5"> Not record found.</td>'))
					);						
				}
			})
			.error(function(XMLHttpRequest, textStatus, errorThrown){ 
				if(errorThrown!=""){
				alert("error:"+errorThrown); 
					tblStatistics.find('tbody')
						.append($('<tr>')
							.append($('<td colspan="5"> Error occur while fetching data.</td>'))
					);				
				}
			})
			.complete(function(){
					//alert("complete"); 
			});										 	
	});	
	$('#chkAllReceipients').click(function(){
		var Flag = $(this).attr('checked');								   
		$('#tblSubscriber').find('input:checkbox').each(function(){													 
			$(this).attr('checked',Flag);													 
		});				 						 
	});
	
	$('#btnSendNotification').click(function(){
		var actionUrl = document.getElementById("frmMngNotification").action+'cms/sendNotification';
		var varEventType = $('input:radio[name=rdoEventType]:checked').val();
		var dropdown = $('#NewsID');
		var limit = $('#PerSession');
		var msgSubject = $('#msgSubject');
		var msgBody = $('#msgBody');		
		var excluded = $('#msgRecipients');
		var jqxhr = $.post(actionUrl,{
			EventType : varEventType,
			NewsID : dropdown.val(),
			PerSession : limit.val(),
			msgSubject : msgSubject.val(),
			msgBody : msgBody.val(),
			msgRecipients : excluded.val()
			},
			function(data) {
					//alert('First Success method');
   			},
			"json")
			.success(function(data){
					//alert('Second Success method');				  
					alert('('+data.Count + ') Email Notification has been sent');
			})
			.error(function(XMLHttpRequest, textStatus, errorThrown){ 
				if(errorThrown!=""){
				alert("error:"+errorThrown); 
					tblStatistics.find('tbody')
						.append($('<tr>')
							.append($('<td colspan="5"> Error occur while fetching data.</td>'))
					);				
				}
			})
			.complete(function(){
					//alert("complete"); 
			});					
	});
		
	$('#lnksendpassword').click(function(){
		var actionUrl = $('#base_url').html()+'cms/forgetpassword';										 
		if($('#UserName').val() == ""){
			alert('Please provide your Username');
			return;
		}
		var jqxhr = $.post(actionUrl,{
			UserName : $('#UserName').val()
			},
			function(data) {
					//alert('First Success method');
   			},
			"json")
			.success(function(data){
					//alert('Second Success method');
					alert(data.Msg);
					if(data.Error=="0")
						$('#td_forgotpassword').html('Password has been sent to your email address.');
			})
			.error(function(XMLHttpRequest, textStatus, errorThrown){ 
				if(errorThrown!=""){
				alert("error:"+errorThrown); 	
				}
			})
			.complete(function(){
					//alert("complete"); 
			});		
	});
	
});

function MkAlias(Src,Trgt)
{
	$('#'+Trgt).val($('#'+Src).val().toLowerCase().replace(' ','-'));
}
function ResetRoleForm()
{
	var btnSave = $('#btnSaveRole');
	var hdnRoleID	= $('#hdnRoleID');
	var txtRoleName = $('#RoleName');
	var btnReset = $('#btnResetRole');
	btnSave.val('Add New Role');
	btnReset.val('Reset');
	hdnRoleID.val('');
	txtRoleName.val('');		
}
function EditRole(RoleID)
{
	var btnSave = $('#btnSaveRole');
	var hdnRoleID	= $('#hdnRoleID');
	var txtRoleName = $('#RoleName');
	var btnReset = $('#btnResetRole');	
	var tdRoleName = $('#td_rolename_'+RoleID);
	btnSave.val('Edit Role ');
	hdnRoleID.val(RoleID);
	txtRoleName.val(tdRoleName.html());	
	btnReset.val('Cancel');
}
function SaveRole()
{
	var btnSave = $('#btnSaveRole');
	var hdnRoleID	= $('#hdnRoleID');
	var txtRoleName = $('#RoleName');
	var btnReset = $('#btnResetRole');
	var tblRolesData = $('#tblRolesData');
	var ActionUrl = $('#base_url').html()+'cms/save_roles';
	var varRoleID = hdnRoleID.val();
	if(varRoleID==""){
		varRoleID=0;
	}
	var jqxhr = $.post(ActionUrl,{
		RoleID : varRoleID,
		RoleName : txtRoleName.val()
		},
		function(data) {
				//alert('First Success method');
		},
		"json")
		.success(function(data){				
				//alert('Second Success method');
				if(data.Error == "1"){
					alert("Error:"+data.Msg);	
				}else{
					if(varRoleID==0)
					{
						var rownumer = tblRolesData.find('tr').length;						
						tblRolesData.find('tbody')
							.append($('<tr>')
								.append($('<td>'+rownumer+'</td>'))
								.append($('<td>'+txtRoleName.val()+'</td>'))
								.append($('<td>0</td>'))
								.append($('<td><a class="BtnEdit" href="javascript:EditRole('+data.RoleID+');">Edit</a></td>'))
								.append($('<td><a class="BtnEdit" href="javascript:EditRolePermission('+data.RoleID+');">Edit</a></td>'))									
						);						
					}
					else
					{
						var tdRoleName = $('#td_rolename_'+varRoleID);
						tdRoleName.html(txtRoleName.val());						
					}
				}
				ResetRoleForm();				
		})
		.error(function(XMLHttpRequest, textStatus, errorThrown){ 
			if(errorThrown!=""){
			alert("error:"+errorThrown); 				
			}
		})
		.complete(function(){
				//alert("complete"); 
		});		
	
}
function EditRolePermission(RoleID){
	$('fieldset.CMAfieldset').each(function(){
		//alert($(this).attr('id')+" === "+'fieldset_rolePermission_'+RoleID);
		if($(this).attr('id') == 'fieldset_rolePermission_'+RoleID){
			$(this).show('slow',function(){});
		}else{
			$(this).hide('fast',function(){});
		}
	});
}

function AddPermission2Role(varRoleID){
		var ActionUrl = $('#base_url').html()+'cms/addRolePermission';
		var ActionID = $('#ActionID_'+varRoleID);
		var tblPermission = $('#tblPermission_'+varRoleID);
		var jqxhr = $.post(ActionUrl,{
			ActionID : ActionID.val(),
			RoleID : varRoleID
			},
			function(data) {
					//alert('First Success method');
   			},
			"json")
			.success(function(data){				
					//alert('Second Success method');				  
					if(data.Error == "1"){
						alert("Error:"+data.Msg);	
					}else{
						var rownumer = tblPermission.find('tr').length;
						tblPermission.find('tbody')
							.append($('<tr id="tr_roleaction_'+data.RoleActionID+'">')
								.append($('<td>'+rownumer+'</td>'))
								.append($('<td style="display:none;">'+data.Record.ActionName+'</td>'))
								.append($('<td>'+data.Record.ActDesc+'</td>'))
								.append($('<td><a class="BtnDel" href="javascript:RemovePermissionFromRole('+data.RoleActionID+')">Delete</a></td>'))									
						);					
					}
			})
			.error(function(XMLHttpRequest, textStatus, errorThrown){ 
				if(errorThrown!=""){
				alert("error:"+errorThrown); 				
				}
			})
			.complete(function(){
					//alert("complete"); 
			});							
}

function RemovePermissionFromRole(varRoleActionID)
{
	var ActionUrl = $('#base_url').html()+'cms/removeRolePermission';
	var RoleActionRow = $('#tr_roleaction_'+varRoleActionID);	
	var jqxhr = $.post(ActionUrl,{
		RoleActionID :varRoleActionID
		},
		function(data) {
				//alert('First Success method');
		},
		"json")
		.success(function(data){				
				//alert('Second Success method');				  
				if(data.Error == "1"){
					alert("Error:"+data.Msg);	
				}else{
					RoleActionRow.remove();
				}
		})
		.error(function(XMLHttpRequest, textStatus, errorThrown){ 
			if(errorThrown!=""){
			alert("error:"+errorThrown); 				
			}
		})
		.complete(function(){
				//alert("complete"); 
		});	
}
