var rem_last = 1;
var callAjax = false;
var callAjax1 = false;
var t = 0;

function checkEmail_site() {
    var D = arguments[0];
    var E = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    var C = /^\s.*/;
    var B = /.*\s$/;
    var A = true;
    if (D.charAt(D.length - 1) == ".") {
        A = false
    }
    if (C.test(D)) {
        A = false
    }
    if (B.test(D)) {
        A = false
    }
    if (!E.test(D) || D.match(/@-/) || D.match(/-\./)) {
        A = false
    } else {
        A = true
    }
    return (A)
};
function addRecipients() 
	{
		var recipients_no = parseInt($('#no_of_recipients').val());
		if(recipients_no > rem_last)
		{
			for(var i = (parseInt(rem_last) + 1); i <= recipients_no;){
			var t='';
			t +='<li id="frn'+i+'"><div><strong id="frnm'+i+'">Friend\'s Name:</strong><input id="fname'+ i +'" type="text" size="30" name="fname'+ i +'" maxlength="67108863"/><span class="err" id="frnmerr'+i+'"></span></div>';
			t +='<div><strong id="frne'+i+'">Friend\'s E-mail Address:</strong><input id="email'+ i +'" type="text" size="30" name="email'+ i +'" maxlength="67108863" value=""/><span class="err" id="frneerr'+i+'"></span></div></li>';
			$("ul#news").append(t);
			i++;
			}
		}
		else
		{
			for(var i = parseInt(rem_last); i > recipients_no; i--){
				$('#frn' + i).remove();
				$('#fname' + i).val('');
				$('#email' + i).val('');
			}
		
		}
    rem_last = recipients_no;
}

function validate() {
    var fname, email, sname_flag, semail_flag, fname_flag, email_flag;
    var x = parseInt($('#no_of_recipients').val());
    var sname = $("#sname").val();
    var semail = $("#semail").val();
    if(sname.search(/\S/) == -1){
		$("#snamediv1").css({"color":"#CC3300"});
		$("#snamediv2").html('<br />Please enter a name.');
        sname_flag = true;
    }else{
		$("#snamediv1").css({"color":"#666666"});
		$("#snamediv2").html('&nbsp;');
        sname_flag = false;
    }
    if(!checkEmail_site(semail)){
		$("#semaildiv1").css({"color":"#CC3300"});
		$("#semaildiv2").html('<br />Please enter a valid e-mail address.');
        semail_flag = true;
    }else{
		$("#semaildiv1").css({"color":"#666666"});
		$("#semaildiv2").html('&nbsp;');
        semail_flag = false;
    }
    if(!sname_flag && !semail_flag){
		$("#snamediv2").hide();
		$("#semaildiv2").hide();
    }else{
		$("#snamediv2").show();
		$("#semaildiv2").show();
    }
    for(var i = 1; i <= x; i++){
        fname = $('#fname' + i).val();
        email = $('#email' + i).val();
		var fname_flag = '';
		var email_flag = '';
		
        if(fname.search(/\S/) == -1){
            $('#frnm' + i).css("color","#CC3300");
            $('#frnmerr' + i).html('<br />Please enter a name.');
            fname_flag = true;
        }else{
            $('#frnm' + i).css("color","#666666");
            $('#frnmerr' + i).html('&nbsp;');
            fname_flag = false;
        }
		if(!checkEmail_site(email)){
            $('#frne' + i).css("color","#CC3300");
            $('#frneerr' + i).html('<br />Please enter a valid e-mail address.');
            email_flag = true;
        }else{
            $('#frne' + i).css("color","#666666");
            $('#frneerr' + i).html('&nbsp;');
            email_flag = false;
        }
		if(!fname_flag && !email_flag){
            $('#frnmerr' + i).hide();
            $('#frneerr' + i).hide();
        }else{
            $('#frnmerr' + i).show();
            $('#frneerr' + i).show();
        }
    }
	if(!sname_flag && !semail_flag && !fname_flag && !email_flag){
        add_friends();
    } 
}

function add_friends(){
	if(!callAjax1){
		clearTimeout(t);
		var postdata = '';
		postdata = 'sname0=' + $('#sname').val() + '&semail0=' + $('#semail').val();
	    for(var i = 1; i <= parseInt($('#no_of_recipients').val()); i++){
		    postdata += '&fname' + i + '=' + $('#fname' + i).val() + '&email' + i + '=' + $('#email' + i).val();
	    }

		$.ajax({
			type: "POST",
			dataType:  "text",
			url: "/cgi-bin/newsletter/recommend_pal.pl",
			cache: false,
			data: postdata,
			beforeSend: function(){		
				callAjax1 = true;
				$("#fndmsg2_txt").text("Sending...");
				$("#fndmsg2_txt").slideDown("fast");
			},
			success: function(resp){
				callAjax1 = false;
				$("#fndmsg2_txt").text(arguments[0]);
				t = setTimeout(function(){			
					$('#fndmsg2_txt').slideUp('fast',function(){
						$('#fndmsg2_txt').html('');
					});
				},10000);
			}
		});	//End of $.ajax()	
	}
}
$(document).ready(function() {
    $("#subs").click(function() {
        do_subscribe('add');
    });
    $("#unsubs").click(function() {
        do_subscribe('remove');
    });
});
function do_subscribe() {
    var ch = arguments[0];
    var subs_email = $('#email').val();
    if (!checkEmail_site(subs_email)) {
        $("#msg_txt").show();
        $('#msg_txt').text('Please enter a valid e-mail address.');
        setTimeout(function() {
            $("#msg_txt").fadeOut("fast");
        }, 2000);
    } else {
        if (ch == 'add')
            add_subs(subs_email, '');
        else
            remove_subs(subs_email, '');
    }
}
function add_subs(subs_email, call_again) {
	$("#msg_txt").show();
	$('#msg_txt').text('Please wait...');
	Typochecking(document.getElementById('email'), call_again);
}


function remove_subs(subs_email, call_again) {
    if (!callAjax) {
		clearTimeout(t);
        callAjax = true;
        $("#msg_txt").show();
        if (call_again != '') {
            var param = 'type=unsubscribe&status=' + call_again + '&email=' + subs_email;
        } else {
            var param = 'type=unsubscribe&email=' + subs_email;
        }

		$.ajax({
			type: "POST",
			dataType:  "text",
			url: "/cgi-bin/newsletter/newsminus.pl",
			cache: false,
			data: param,
			beforeSend: function(){		
				$('#msg_txt').text('Please wait...');
				$("#msg_txt").show("fast");
			},
			success: function(resp){
				callAjax = false;
				var txt = arguments[0];				
				clearTimeout(t);
				$("#msg_txt").show();
				$("#msg_txt").show();
				$('#msg_txt').text(txt);
				t = setTimeout(function() {
					$("#msg_txt").fadeOut("slow");
					$('#email').val('');
				}, 2000);
			}
		});	//End of $.ajax()	
	}
}


function clearData() {
    $('#sname').val();
    $('#semail').val();
    $('#snamediv1').css({"color":"#666666"});
    $('#snamediv2').html('&nbsp;');
    $('#snamediv2').hide();
    $('#semaildiv1').css({"color":"#666666"});
    $('#semaildiv2').html('&nbsp;');
    $('#semaildiv2').hide();

    for (var i = 1; i <= 15; i++) {
        $('#fname' + i).value = '';
        $('#email' + i).value = '';
        $('#tr' + i + '_namediv1').css({"color":"#666666"});
        $('#tr' + i + '_namediv2').html('&nbsp;');
        $('#tr' + i + '_namediv2').hide();
        $('#tr' + i + '_emaildiv1').css({"color":"#666666"});
        $('#tr' + i + '_emaildiv2').html('&nbsp;');
        $('tr' + i + '_emaildiv2').hide();
        if (i > 1)
            $('#tr' + i).hide();
    }
    document.getElementById('no_of_recipients').options[0].selected = true;
}


function Typochecking(obj, call_again){
	if(!callAjax){
		$("#msg_txt").show("fast");
		var x = $("#emailtypo");					
				
		$.ajax({
			type: "GET",
			dataType:  "json",
			url: "/cgi-bin/newsletter/validate.pl",
			cache: false,
			data: 'email='+$(obj).val(),
			beforeSend: function(){	
				callAjax = true;
			},
			success: function(resp){
				if(!parseInt(resp.result)){
					var opt = resp.optional;
					var em = resp.email;
					if(opt == 'Y')
						var msg = 'Email typo: Did you mean '+em+'<br>Change it? <input type="button" name="typo_y" class="add-button" value="Yes" onclick=\'setTypo("Y","'+resp.email+'",this);\'">&nbsp;<input type="button" name="typo_n" class="add-button" value="No" onclick=\'setTypo("N","",this);\'>';
								
					if(opt == 'N')
						var msg = 'Email invalid: Did you mean '+em+'<br>Change it? <input type="button" name="typo_y" class="add-button" value="Yes" onclick=\'setTypo("Y","'+resp.email+'",this);\'> or else, kindly edit.';
						
					if(typeof resp.email == 'undefined'){
						var msg = "<span class=\"wrong\">&nbsp;</span>"+resp.message;
					}
					callAjax = false;						
					$("#msg_txt").html(msg);
				
				}else{
					callAjax = false;					
					

					if (call_again != '') {
						var param = 'ref=nl&opt=' + call_again + '&email=' + $('#email').val();
					} else {
						var param = 'ref=nl&email=' + $('#email').val();
					}

					$.ajax({
						type: "GET",
						dataType:  "text",
						url: "/cgi-bin/newsletter/newsadd.pl",
						cache: false,
						data: param,
						beforeSend: function(){	
							callAjax = true;
						},
						success: function(resp){

							var txt = arguments[0];
							callAjax = false;
							clearTimeout(t);
							$("#msg_txt").show();
							$("#msg_txt").show();
							document.getElementById('msg_txt').innerHTML = txt;
							t = setTimeout(function() {
								$("#msg_txt").fadeOut("slow");
								document.getElementById('email').value = '';
							}, 10000);
						}
					});
				}
			}
		});
	}		
}
function setTypo(){
	var ch = arguments[0];
	var e = arguments[1];
	var obj = arguments[2];

	if(ch == 'Y'){
		$("#email").val(e);	
		$("#msg_txt").hide();
		subcribe = true; 
	}else{
		$("#msg_txt").hide();
		subcribe = true;			
	}
	callAjax = false;		
}