
/*  custom jQuery send and error messages for Ajax form below */

function sendMessage() {

 $(function() {               

   $('#box').corner("dog2 25px").html("<div id='message_form'></div>");
        $('#message_form').html("<h3>Your Message has been Submitted..</h3>")        
        .append("<p>Please check your email for an auto-response</p>")
        .append("<p>message from American Grand Jury.  Thank You!</p>")
        .append("<a style='font:verdana; font-weight:bold; color:red; font-size:14pt;' href='javascript:window.close()'>Close Window - Return to AGJ</a>") 
        //.append("<a href='http://topsax.us'><img style='padding-left:10px; border:0;' src='images/home.png' /></a>")
        .hide()
        .fadeIn(2000, function() {
          $('#message_form')  });
          
  }); 
	
}

function errorMessage() {

 $(function() {

        $('#box').html("<div id='message_form'></div>");
        $('#message_form').html("<h3>Oops!  There was an error..</h3>")        
        .append("<p>Are you using the ADJ Email form?<br>Outside spam scripts are discarded..</p>")
        .hide()
        .fadeIn(2000, function() {
          $('#message_form')  });
          
  }); 
	
}
            


/// simple Ajax form using POST
// with a return message.. works great!

function ajaxForm() {

var xmlhttp; 
    try { 
        xmlhttp = new XMLHttpRequest(); 
    }
     
    catch (e) { 
        try { 
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        
          catch (e) { 
            try { 
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
            } 
            
            catch (e) { 
                alert("Your browser does not support AJAX!"); 
                return false;                
            } 
        } 
    }
    
    var txtname = document.getElementById("name");
    var txtemail = document.getElementById("email");
    var txtmessage = document.getElementById("message");
    // build the data string
    var datastring = "name="+txtname.value+"&email="+txtemail.value+"&message="+txtmessage.value; 
    
    xmlhttp.onreadystatechange = function() { 
        if(xmlhttp.readyState == 4) {
            // returns server response to 
            //document.getElementById("box").innerHTML = xmlhttp.responseText;
            var reply;
            reply = xmlhttp.responseText;
            if (reply == "okay") {
            sendMessage();	
            } else {
              errorMessage();	
            }
            
                                    
          } 
    }
     
    xmlhttp.open("POST","ajax_form.php",true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send(datastring);
    
       
}



/* a little jQuery to spice up the form, validate email, etc. */
 
$(function() {

 /* change focus on text input */
  $('input.text-input').css({backgroundColor:"#FFFFFF"});
  $('input.text-input').focus(function(){
    $(this).css({backgroundColor:"#F1F1E2"});
  });
  $('input.text-input').blur(function(){
    $(this).css({backgroundColor:"#FFFFFF"});
  });
  
  /* change focus on textarea */
  $('textarea.text-input').css({backgroundColor:"#FFFFFF"});
  $('textarea.text-input').focus(function(){
    $(this).css({backgroundColor:"#F1F1E2"});
  });
  $('textarea.text-input').blur(function(){
    $(this).css({backgroundColor:"#FFFFFF"});
  });
  
  $("#email").blur(function() {
		// validate and process form
		// first hide any error messages
     
              // get the email address input
		var email = $("input#email").val();
		
   // validate the email address -- nice little code here		
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   var address = $("input#email").val();
   if(reg.test(address) == false) {
      alert('Invalid Email Address');
      return false;      
   }
  
     });
  
}); 

/*@author Dave Methvin (dave.methvin@gmail.com)
 * @author Mike Alsup (malsup@gmail.com)*/
 
jQuery.fn.corner = function(o) {
    function hex2(s) {
        var s = parseInt(s).toString(16);
        return ( s.length < 2 ) ? '0'+s : s;
    };
    function gpc(node) {
        for ( ; node && node.nodeName.toLowerCase() != 'html'; node = node.parentNode  ) {
            var v = jQuery.css(node,'backgroundColor');
            if ( v.indexOf('rgb') >= 0 ) { 
                rgb = v.match(/\d+/g); 
                return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
            }
            if ( v && v != 'transparent' )
                return v;
        }
        return '#ffffff';
    };
    function getW(i) {
        switch(fx) {
        case 'round':  return Math.round(width*(1-Math.cos(Math.asin(i/width))));
        case 'cool':   return Math.round(width*(1+Math.cos(Math.asin(i/width))));
        case 'sharp':  return Math.round(width*(1-Math.cos(Math.acos(i/width))));
        case 'bite':   return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
        case 'slide':  return Math.round(width*(Math.atan2(i,width/i)));
        case 'jut':    return Math.round(width*(Math.atan2(width,(width-i-1))));
        case 'curl':   return Math.round(width*(Math.atan(i)));
        case 'tear':   return Math.round(width*(Math.cos(i)));
        case 'wicked': return Math.round(width*(Math.tan(i)));
        case 'long':   return Math.round(width*(Math.sqrt(i)));
        case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
        case 'dog':    return (i&1) ? (i+1) : width;
        case 'dog2':   return (i&2) ? (i+1) : width;
        case 'dog3':   return (i&3) ? (i+1) : width;
        case 'fray':   return (i%2)*width;
        case 'notch':  return width; 
        case 'bevel':  return i+1;
        }
    };
    o = (o||"").toLowerCase();
    var keep = /keep/.test(o);                       // keep borders?
    var cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]);  // corner color
    var sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]);  // strip color
    var width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10; // corner width
    var re = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;
    var fx = ((o.match(re)||['round'])[0]);
    var edges = { T:0, B:1 };
    var opts = {
        TL:  /top|tl/.test(o),       TR:  /top|tr/.test(o),
        BL:  /bottom|bl/.test(o),    BR:  /bottom|br/.test(o)
    };
    if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
        opts = { TL:1, TR:1, BL:1, BR:1 };
    var strip = document.createElement('div');
    strip.style.overflow = 'hidden';
    strip.style.height = '1px';
    strip.style.backgroundColor = sc || 'transparent';
    strip.style.borderStyle = 'solid';
    return this.each(function(index){
        var pad = {
            T: parseInt(jQuery.css(this,'paddingTop'))||0,     R: parseInt(jQuery.css(this,'paddingRight'))||0,
            B: parseInt(jQuery.css(this,'paddingBottom'))||0,  L: parseInt(jQuery.css(this,'paddingLeft'))||0
        };

        if (jQuery.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE
        if (!keep) this.style.border = 'none';
        strip.style.borderColor = cc || gpc(this.parentNode);
        var cssHeight = jQuery.curCSS(this, 'height');

        for (var j in edges) {
            var bot = edges[j];
            strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
            var d = document.createElement('div');
            var ds = d.style;

            bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);

            if (bot && cssHeight != 'auto') {
                if (jQuery.css(this,'position') == 'static')
                    this.style.position = 'relative';
                ds.position = 'absolute';
                ds.bottom = ds.left = ds.padding = ds.margin = '0';
                if (jQuery.browser.msie)
                    ds.setExpression('width', 'this.parentNode.offsetWidth');
                else
                    ds.width = '100%';
            }
            else {
                ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' : 
                                    (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';                
            }

            for (var i=0; i < width; i++) {
                var w = Math.max(0,getW(i));
                var e = strip.cloneNode(false);
                e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
                bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
            }
        }
    });
};

