$(document).ready(function() {

    $( "#commentform #form-submit-button").click( function() {
        $("#commentform #mode").val("ajax");
        dataString = "dummy=1";

        $("#commentform input").each( function() { dataString += "&" + $(this).attr('name') + "=" + $(this).val() });
        $("#commentform textarea").each( function() { dataString += "&" + $(this).attr('name') + "=" + encodeURIComponent($(this).val()) });

        $.ajax({ type:"POST",
            data:dataString,
            url: $("#commentform").attr("action"),
            success: function( res ) {
                $("#commentList").append( res )
            }
        });
        $("#commentform input").not(":button, :submit, :reset, :hidden").val('');
        $("#commentform textarea").val('');

        return false;
    });

    $("a.processingjs").click( function() {
       var u = $(this).attr('href');
	
       $.get( u, function( page ){
	   var width=300;
           var height=300;
	   var ofs1 = page.indexOf("application/processing");
	   ofs1 = page.indexOf( ">", ofs1 );
	   var ofs2 = page.indexOf( "</script>", ofs1 );
           var scripttext =  page.slice( ofs1+1, ofs2 );		

var divs = "<div id='lightbox_bg'></div><div id='box' style='margin-left:-"+(width/2)+"px;width:"+width+"px;height:"+(35 +parseInt(height))+"px;'><div style='margin-left:"+(parseInt(width)-55)+"px' id='close'>close</div><div id='bc'><canvas id='processingcanvas' width='300' height='300'/><a href='#' id='src'>Source</a></div>";

            divs += "</div>";
            $("body").append(divs);
	    var pjs;
            $("#box,#lightbox_bg").fadeIn( 300, function() { 
		$("#box").css("display","block"); 
		var canvas = document.getElementById('processingcanvas');
		if ( pjs == undefined ) {
			pjs = new Processing(canvas, scripttext );
		}	
	    });
            $('#box #close').click( function() {
	            $("#close,#box,#lightbox_bg").fadeOut(300, function() { 
			$(this).remove(); $("body").css("overflow","visible");
			pjs.exit();
		     });
            });
	    $('#box #src').click( function() {
		$('#box #bc').html("<pre>"+scripttext+"</pre>");
	    });

       });
       return false;
    });


    $("a.processing").click( function() {
       var u = $(this).attr('href');

       var index = u+"/index.html";
       var width = 200;
       var height = 200;
       var archive = '';
       var code = '';

      if(deployJava.getJREs().length >= 1 ) {
           $.get( index, function( page ) {

               var ofs1 = page.indexOf( "<object" );
               var ofs2 = page.indexOf(  "</object", ofs1 );

               var obj = page.slice( ofs1, ofs2 );
               var ofs = obj.indexOf( "width=\"" );
               width = obj.slice( ofs + 7, obj.indexOf("\"", ofs + 8 ));
               ofs = obj.indexOf( "height=\"" );
               height = obj.slice( ofs + 8, obj.indexOf("\"", ofs + 9 ));
               ofs = obj.indexOf( "archive=\"" );
               archive = obj.slice( ofs + 9, obj.indexOf("\"", ofs + 10 ));

               ofs = obj.indexOf( "value=\"", obj.indexOf( "name=\"code\""));
               code = obj.slice( ofs + 7, obj.indexOf( "\"", ofs + 8 ));

               var links = new Array();
               $(page).find('a').each(function() { if( $(this).attr('href').indexOf(".pde") >0) { links.push($(this).attr('href')); }});

               var attributes = {
                    codebase: u,
                    code: code,
                    archive: archive,
                    width: width,
                    height: height
                };
                var parameters = {
                    image: 'loading.gif',
                    centerimage: 'true'
                };
                var applet = "<applet ";
                for( var att in attributes ) { applet += att + "='" + attributes[att] + "'"; }
                applet += ">";
                for( var p in parameters ) { applet += "<param name='"+p + "'>" + parameters[p] + "</param>"; }
                applet += "<div>Sorry no Java detected</div>";
                applet += "</applet>";
                $("body").css("overflow","hidden");
var divs = "<div id='lightbox_bg'></div><div id='box' style='margin-left:-"+(width/2)+"px;width:"+width+"px;height:"+(35 +parseInt(height))+"px;'><div style='margin-left:"+(parseInt(width)-55)+"px' id='close'>close</div><div>"+applet+"</div>";
                divs+="<div id='src'>Source: ";
                for( var i =0; i<links.length;i++) {
                    divs += "<a href="+u+"/"+links[i]+">"+(links[i].substring(links[i].lastIndexOf("/")+1))+"</a>";
                }
                divs += "</div></div>";
                $("body").append(divs);
                $("#box,#lightbox_bg").fadeIn( 300, function() { $("#box").css("display","block"); });
                $('#box #close').click( function() {
                    $("#close,#box,#lightbox_bg").fadeOut(300, function() { $(this).remove(); $("body").css("overflow","visible"); });
                });
           });
        return false;
        }
    });

    $(".gallery a").click( function() {
       var u = $(this).attr('href');
       $("body").css("overflow","hidden");
       var img_width =0;
       $('<img/>').attr( "src", u ).load( function() {
           img_width = this.width
           var divs = "<div id='lightbox_bg'></div><div id='box' style='margin-left:-"+(img_width/2)+"px'><div id='close'>close</div><img id='lighbox_img' src='"+u+"'/></div>";
           $("body").append(divs);

           $("#box,#lightbox_bg").fadeIn( 300 );
           $('#box #close').click( function() {
               $("#close,#box,#lightbox_bg").fadeOut(300, function() { $(this).remove(); $("body").css("overflow","visible"); });
               });
           });
       return false;
    });


});


