function archive(css) {
    day = new Date();
    id = day.getTime();
    eval("page" + id + " = window.open('archive.php', '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=800,height=550');");
}

function smilie(txt) {

    ln = document.getElementById("msg");
    cd = document;

    if (ln.value == "message") ln.value = "";
    ln.focus();

    if (cd.selection) {
        sel = cd.selection.createRange();
        c = "\001";
        if (sel.text != null) sel.text = c;
        end = start = ln.value.indexOf(c);
        if (end == -1) end = start = ln.value.length;
        sel.moveStart('character', -1);
        sel.text = "";
    }
    else if (ln.selectionStart != "null") {
        start = ln.selectionStart;
        end = ln.selectionEnd;
    }

    spce = (ln.value.charAt(end) == " ") ? true: false;
    txt = ((start == 0 || ln.value.charAt(start - 1) == " ") ? "": " ") + txt;
    txt = txt + ((spce) ? "": " ");

    ln.value = ln.value.substring(0, start) + txt + ln.value.substring(end);

    caret = start + txt.length + ((spce) ? 1 : 0);

    if (cd.selection) {
        sel.moveEnd('character', -ln.value.length);
        sel.moveEnd('character', caret);
        sel.moveStart('character', caret);
        sel.select();
    }
    else if (ln.selectionStart != "null") {
        ln.selectionStart = caret;
        ln.selectionEnd = caret;
    }

    // if (onkey) this.focus();
    // else this.close();
}

function frmfocus(x, y) { (x.value == y) ? x.value = "": void(0);
}
function frmblur(x, y) { (x.value == "") ? x.value = y: void(0);
}

function termsofuse(){

	if ($("#rules").css("display") != "none")  $("#rules").slideUp();
	else $("#rules").slideDown();
	
}

function scrolldown() {

    $("#messages").animate({
        scrollTop: $("#messages").attr("scrollHeight")
    },
    2000);

}


var trefresh;

function receive(){
clearTimeout(trefresh);

show_dates_as_local_time();
    var rec = "dir=rec&lastid=" + $("#lastid").val();
        
    ajax(rec,
        null,
        null,
        null,
        function(d) {  
            if ($('#lastid').val() < d.lastid) $('#messages').append(d.mess);   
            $('#lastid').val(d.lastid);
            show_dates_as_local_time();
            scrolldown();
        

      })
       
    trefresh = setTimeout("receive()", 60000);
    
}

function send(){

   clearTimeout(trefresh);
    var semail = $("#eml").val();
    if (semail=="e-mail") semail="";
    
    var text=$("#msg").val();    
    text=text.replace(/\n/g,"[br] ");
    
    var sen = "dir=sen&lastid=" + $("#lastid").val() + "&name=" + encodeURIComponent($("#name").val()) + "&eml=" + encodeURIComponent(semail) + "&msg=" + encodeURIComponent(text);

    ajax(sen,
        function() { $('#sendb').css({'display': "none"});},
        function() {$('#sendb').css({'display': "block"});},
        function() {  $('#status').html('an error occured on sending')},
        function(d) {
        
            if ($('#lastid').val() < d.lastid) $('#messages').append(d.mess);   
        
            $('#lastid').val(d.lastid);

        
            $('#status').html(d.status);
            
            $("input#name").css({
                'border': '1px solid #999'
            });
            $("input#eml").css({
                'border': '1px solid #999'
            });
            $("textarea#msg").css({
                'border': '1px solid #999'
            });

            $("textarea#msg").val("message");
            
            show_dates_as_local_time();
        
            scrolldown();

       })
       
   trefresh = setTimeout("receive()", 5000);
}

function ajax(adata,abeforesend,acomplete,aerror,asuccess) {

        $.ajax({
      type: "POST",
      url: "ajax.php",
      data: adata,
      cache: false,
      dataType: 'json',
      beforeSend: abeforesend,
      complete: acomplete,
      error: aerror,
      success: asuccess
      });

}


function captcha() {
    
    var data="recaptcha_challenge_field="+$("input#recaptcha_challenge_field").val()+"&recaptcha_response_field="+$("input#recaptcha_response_field").val();
    
    $.post('captcha.php',data, function(d){
        if (d.valid != "1") { alert('Wrong code. Try again!'); Recaptcha.reload()}
        else {
            $("input#name").removeAttr("disabled"); 
            $("input#eml").removeAttr("disabled");
            $("textarea#msg").removeAttr("disabled");
            $("input#sendb").removeAttr("disabled");
            $("#rules").slideUp();
        
        }
        },"json");
}


function refresh() {

$('#messages').load('write.php');
setTimeout("show_dates_as_local_time()",2000);
}

$(function() {

    show_dates_as_local_time();
    scrolldown();
    receive();
  

    var emailp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    $("#sendb").click(function() {
        // validate and process form here
        var formerr = 0;

        var name = $("input#name").val();
        if (name == "" || name == "name") {
            $("input#name").css({
                'border': '1px solid red'
            });
            formerr += 1;

            // return false;
        }
        var email = $("input#eml").val();
        //if (email !== "" && email !== "e-mail" && !email.match(emailp)) {
        if (email !== "" && email !== "e-mail" && !emailCheck(email) ){
            $("input#eml").css({
                'border': '1px solid red'
            });
            formerr += 2;
            //return false;
        }
        var message = $("textarea#msg").val();
        if (message == "" || message == "message") {
            $("textarea#msg").css({
                'border': '1px solid red'
            });
            formerr += 4;

        }
        
        switch(formerr)
        {
        case 1: $('#status').html('<span class="error">Name is a required field. Please enter your name.</span>');
        return false;
        break
        case 2: $('#status').html('<span class="error">The e-mail address you entered is invalid. Please enter a valid e-mail address or leave it empty.</span>');
        return false;
        break        
        case 3: $('#status').html('<span class="error">Name is a required field. Please enter your name and a valid e-mail address or leave it empty.</span>');
        return false;
        break        
        case 4: $('#status').html('<span class="error">Message is a required field. Please enter your message.</span>');
        return false;
        break        
        case 5: $('#status').html('<span class="error">Name & message are required fields. Please enter your name and message.</span>');
        return false;
        break        
        case 6: $('#status').html('<span class="error">Message is a required field. Please enter your message and a valid e-mail address or leave it empty.</span>');
        return false;
        break        
        case 7: $('#status').html('<span class="error">Please enter your name and message (required) and a valid e-mail address or leave it empty.</span>');
        return false;
        break        
        }
        
    });

    $("#name").blur(function() {
        var name = $("input#name").val();
        if (name !== "" && name !== "name") {
            $("input#name").css({
                'border': '1px solid #999'
            });

        }
        else $("input#name").css({
            'border': '1px solid red'
        });
    });

    $("#eml").blur(function() {

        var eml = $("input#eml").val();
        if (eml !== "" && eml !== "e-mail" && eml.match(emailp)) {
            $("input#eml").css({
                'border': '1px solid #999'
            });

        }
        if (eml !== "" && eml !== "e-mail" && !eml.match(emailp)) {
            $("input#eml").css({
                'border': '1px solid red'
            });

        }
        if (eml == "" || eml == "e-mail") {
            $("input#eml").css({
                'border': '1px solid #999'
            });

        }
    });

    $("#msg").blur(function() {
        var msg = $("#msg").val();
        if (msg !== "" && msg !== "message") {
            $("#msg").css({
                'border': '1px solid #999'
            });

        }
        else $("#msg").css({
            'border': '1px solid red'
        });
    });


//*************captcha

$("#agree").click(function() {
    var c= $("input#recaptcha_response_field").val();
    if ( c== "") {
        alert("Please type the two words!");
        return false;}
    });

$("#nobutt").click(function nothanks() {
            var d = new Date();
            document.cookie = "agree=1;expires=" + d.toGMTString() + ";" + ";";


            $("input#name").attr("disabled", true); 
            $("input#eml").attr("disabled", true); 
            $("textarea#msg").attr("disabled", true); 
            $("input#sendb").attr("disabled", true); 
            $("#rules").slideUp();

});

});
