
	$(document).ready(function(){




			$("[name^='download-']").hide('fast');


			function emailValidCheck(emailStr) {

				if ((emailStr != "")) {

					var emailPat		= /^(.+)@(.+)$/
					var specialChars	= "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
					var validChars		= "\[^\\s" + specialChars + "\]"
					var quotedUser		= "(\"[^\"]*\")"
					var ipDomainPat		= /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
					var atom			= validChars + '+'
					var word			= "(" + atom + "|" + quotedUser + ")"
					var userPat 		= new RegExp("^" + word + "(\\." + word + ")*$")
					var domainPat		= new RegExp("^" + atom + "(\\." + atom +")*$")

					var matchArray=emailStr.match(emailPat)
					if (matchArray==null) {
						return false;
					}

					var user 	= matchArray[1]
					var domain 	= matchArray[2]
					if (user.match(userPat)==null) {
						// user is not valid
						return false;
					}

					var IPArray = domain.match(ipDomainPat)
					if (IPArray!=null) {
						// this is an IP address
						 for (var i=1;i<=4;i++) {
							if (IPArray[i]>255) {
							return false;
							}
						}
					}

					var domainArray = domain.match(domainPat)
					if (domainArray==null) {
						return false;
					}

					var atomPat = new RegExp(atom,"g")
					var domArr 	= domain.match(atomPat)
					var len		= domArr.length
					if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
					   // the address must end in a two letter or three letter word.
					   return false;
					}

					if (len<2) {
					   return false;
					}

					return true;
				} else {
					return false;
				}
			}




			$("[name^='downloadBTN']").hover(
				function () {
					$(this).css("cursor","hand");
				},
				function () {
					$(this).css("cursor","pointer");
			});
			$("[name^='closeBTN']").hover(
				function () {
					$(this).css("cursor","hand");
				},
				function () {
					$(this).css("cursor","pointer");
			});


			$("[name^='closeBTN']").live('click', function () {
				var targetDiv = $(this).attr("rel");
				var downloadID = $(this).attr("did");

				$(this).fadeOut('slow', function(){
					$("[name=downloadBTN-" + downloadID + "]").fadeIn('slow');
				});
				$("#" + targetDiv).slideUp('slow');
			});




			$("[name^='downloadBTN']").live('click',  function () {

				var targetDiv = $(this).attr("rel");
				var downloadID = $(this).attr("did");

				$(this).fadeOut('slow', function(){
					$("[name=closeBTN-" + downloadID + "]").fadeIn('slow');
				});
				
				var newFile = 'download_verify.php?download_id=' + downloadID + "&targetDiv=" + targetDiv;

				$.get(newFile,function(data) {
					$("#" + targetDiv).slideUp('slow',function(){
						$("#" + targetDiv).html(data).slideDown('fast');
					});
				});


			});


			$("input").live('keyup', function() {
				$("#download-email").keyup( function () {
					var emailVal = $(this).val();
					var fCheck = emailValidCheck(emailVal);

					if ( fCheck ) {
						$("#download-button").show();
						$("#download-email-check").attr('src', '/_images/success.png');
					} else {
						$("#download-button").hide();
						$("#download-email-check").attr('src', '/_images/error.png');
					}

				});
			});


			$("button").live('click', function() {

				var targetDiv = $(this).attr("rel");
				var downloadID = $(this).attr("did");
				var downloadEmail = $("[rel=" + targetDiv + "-email]").val();
				var newFile = 'download_info.php?download_id=' + downloadID + "&downloadEmail=" + downloadEmail;

				$.get(newFile,function(data) {
					$("#" + targetDiv).fadeOut('fast',function(){
						$("#" + targetDiv).html(data).fadeIn('fast');
					});
				});
			});



	 });


