function createBPImageBorder(raph, x, y, url, w, h, id, b){
	
	var imageX = x;
	var imageY = y;
	var imageWidth = w;
	var imageHeight = h;
	if(b && b > 0){
	var borderThickness = b;
	} else { // default border thickness is 8px
	var borderThickness = 8;
	}
	
	/* create shadow */
	//if( navigator.userAgent.indexOf("MSIE") <= 0 ){ createShadow(raph, imageX, imageY, imageWidth, imageHeight, borderThickness, id); }
	
	/* place image */
	placeImage(raph, imageX, imageY, imageWidth, imageHeight, url, borderThickness, id);

}

function placeImage(raph, imageX, imageY, imageWidth, imageHeight, url, borderThickness, id){
	
	var paper = raph;
	
	/* create image border */
	if( navigator.userAgent.indexOf("MSIE") >= 0 ){
		var boxGradient = {type: "linear", dots: [{color: "#70a83f", opacity: .69}, {color: "#426325", opacity: .89}], vector: [0, 1, 1, 0]};
	} else {
		var boxGradient = {type: "linear", dots: [{color: "#70a83f", opacity: .69}, {color: "#426325", opacity: .89}], vector: [0, 0, 1, 1]};
	}
	paper.rect(imageX, imageY, imageWidth + (2 * borderThickness), imageHeight + (2 * borderThickness), 6).attr({gradient: boxGradient, "stroke-width": 0, "stroke-opacity": 0});
	
	/* place image in border */
	paper.image(url, imageX + borderThickness, imageY + borderThickness, imageWidth, imageHeight);
	
	/* protect image downloads with a blank image overlay */
	paper.image("/images/blank.gif", imageX + borderThickness, imageY + borderThickness, imageWidth, imageHeight);
	
}

function createShadow(raph, imageX, imageY, imageWidth, imageHeight, borderThickness, id){
	
	var paper = raph;
	
	/* shadow positioning */
	var shadowImageX = imageX + 23;
	var shadowImageY = imageY + 23;
	var shadowImageWidth = imageWidth - 33 - 8 + (2 * borderThickness);
	var shadowImageHeight = imageHeight - 33 - 8 + (2 * borderThickness);
	
	var fixFF = 0;
	navigator.userAgent.indexOf("Firefox") ? fixFF = 1 : fixFF = 0;
	
	/* create shadow corner gradients */
	var shadow_corner_gradient = {type: "radial", dots: [{color: "#000", opacity: .40}, {color:"#000", opacity: 0.00}]};
	var shadow_corner_pattern = {x: 0-fixFF, y: 0-fixFF, width: 33, height: 33, contents: [{type: "circle", x: 33, y: 33, r: 33, fill: shadow_corner_gradient}]};
	
    /* create shadow corners */
    var shadow_TL = paper.rect(shadowImageX - 33 + fixFF, shadowImageY - 33 + fixFF, 33, 33, 0).attr({pattern: shadow_corner_pattern, "stroke-width": 0, "stroke-opacity": 0});
	var shadow_TR = paper.rect(shadowImageX + shadowImageWidth - fixFF, shadowImageY - 33 + fixFF, 33, 33, 0).attr({pattern: shadow_corner_pattern, "stroke-width": 0, "stroke-opacity": 0}).rotate(90);
	var shadow_BR = paper.rect(shadowImageX + shadowImageWidth - fixFF, shadowImageY + shadowImageHeight - fixFF, 33, 33, 0).attr({pattern: shadow_corner_pattern, "stroke-width": 0, "stroke-opacity": 0}).rotate(180);
	var shadow_BL = paper.rect(shadowImageX - 33 + fixFF, shadowImageY + shadowImageHeight - fixFF, 33, 33, 0).attr({pattern: shadow_corner_pattern, "stroke-width": 0, "stroke-opacity": 0}).rotate(270);
	
	/* create shadow side gradients */
    var shadow_gradient_left = {type: "linear", dots: [{color: "#000", opacity: 0}, {color: "#000", opacity: .4}], vector: [0, 0, 1, 0]};
    var shadow_gradient_top = {type: "linear", dots: [{color: "#000", opacity: 0}, {color: "#000", opacity: .4}], vector: [0, 0, 0, 1]};
    var shadow_gradient_right = {type: "linear", dots: [{color: "#000", opacity: 0}, {color: "#000", opacity: .4}], vector: [1, 0, 0, 0]};
    var shadow_gradient_bottom = {type: "linear", dots: [{color: "#000", opacity: 0}, {color: "#000", opacity: .4}], vector: [0, 1, 0, 0]};
    
    /* create shadow sides */
    var shadow_left = paper.rect(shadowImageX-33, shadowImageY, 33, shadowImageHeight, 0).attr({gradient: shadow_gradient_left, "stroke-width": 0, "stroke-opacity": 0});
    var shadow_top = paper.rect(shadowImageX, shadowImageY - 33, shadowImageWidth, 33, 0).attr({gradient: shadow_gradient_top, "stroke-width": 0, "stroke-opacity": 0});
    var shadow_right = paper.rect(shadowImageX + shadowImageWidth, shadowImageY, 33, shadowImageHeight, 0).attr({gradient: shadow_gradient_right, "stroke-width": 0, "stroke-opacity": 0});
    var shadow_bottom = paper.rect(shadowImageX, shadowImageY + shadowImageHeight, shadowImageWidth, 33, 0).attr({gradient: shadow_gradient_bottom, "stroke-width": 0, "stroke-opacity": 0});
	
    /* create shadow center */
	var shadow_center = paper.rect(shadowImageX, shadowImageY, shadowImageWidth, shadowImageHeight).attr({fill: "#000", opacity: .4, "stroke-width": 0, "stroke-opacity": 0});
}
