// JavaScript Document

var newImg = new Image();
var productid;


//dimScreen() from http://docs.jquery.com/Plugins/dimScreen#Example
//by Brandon Goldman
jQuery.extend({
    //dims the screen
    dimScreen: function(speed, opacity, callback) {
        if(jQuery('#__dimScreen').size() > 0) return;
        
        if(typeof speed == 'function') {
            callback = speed;
            speed = null;
        }

        if(typeof opacity == 'function') {
            callback = opacity;
            opacity = null;
        }

        if(speed < 1) {
            var placeholder = opacity;
            opacity = speed;
            speed = placeholder;
        }
        
        if(opacity >= 1) {
            var placeholder = speed;
            speed = opacity;
            opacity = placeholder;
        }

        speed = (speed > 0) ? speed : 500;
        opacity = (opacity > 0) ? opacity : 0.5;
        return jQuery('<div></div>').attr({
                id: '__dimScreen'
                ,fade_opacity: opacity
                ,speed: speed
            }).css({
            background: '#000'
            ,height: '100%'
            ,left: '0px'
            ,opacity: 0
            ,position: 'absolute'
            ,top: getScrollTop() + 'px'
            ,width: '100%'
            ,zIndex: 999
        }).appendTo(document.body).fadeTo(speed, opacity, callback);
    },
    
    //stops current dimming of the screen
    dimScreenStop: function(callback) {
        var x = jQuery('#__dimScreen');
        var opacity = x.attr('fade_opacity');
        var speed = x.attr('speed');
        x.fadeOut(speed, function() {
            x.remove();
            if(typeof callback == 'function') callback();
        });
    }
});


$("document").ready(function(){
	
	$("td.human").load("modules/human/human.php?a=getoptions");
	
	$(".btn_close").click(function(event){
		event.preventDefault();
		$.dimScreenStop();
		$(this).parent("div").fadeOut(500);
	});
	
	$(".btn_submit").click(function(event){
		$(this).parents("form").submit();
		event.preventDefault();
	});
		
	$(".cartbox .btn_confirm").click(function(event){
		event.preventDefault();
		if ($("#product_id").val() != "") {
		$.post('modules/cart.php?a=addproduct', { 
			   	price: $("#product_price").val(), 
				size: $("#size").val(),
				colour: $("#colour").val(), 
				product :  $("#product_id").val() }, function(data) {
				if (data == "1") {
					$(".shopping_cart").load("modules/cart.php?a=cartsummary");
					$(".cartbox").fadeOut(500);
				}
				else {
					$(".cartbox .btn_confirm").hide();
					$(".cartbox .btn_close").html("Close");
					$(".shopping_cart").load("modules/cart.php?a=cartsummary");
					$(".product_details").html("<span>Product could not be added to your shopping cart!</span>");
					$(".product_options").html("");
					$("#price").html("");
				}
				$.dimScreenStop();
			});
		}
		else {
			
		}
	});
	
	$(".btn_addtocart").click(function(event){
		event.preventDefault();
		 $.dimScreen(800, 0.9, function() { });
		$(".cartbox .btn_close").html("Cancel");
		$(".cartbox .btn_confirm").show();
		var id = $(this).attr("id");
		productid = $(this).attr("id");
		var imgboxtopinitial = getScrollTop()  + getWindowHeight() -220;
		
		$(".cartbox").css({
		top: imgboxtopinitial+"px"
		});
		
		$(".product_details").load("modules/cart.php?a=getproductdetails&id=" + id, function() {
			$(".product_options").load("modules/cart.php?a=getoptions&id=" + id, function() {								   
				$(".cartbox").fadeIn(500);
				if ($("#size").val() != null) {
					var size = $("#size").val();
				} 
				else {
					var size = 0;	
				}
				if ($("#colour").val() != null) {
					var colour = $("#colour").val();
				}
				else {
					var colour = 0;	
				}
				$(".product_options #price").load("modules/cart.php?a=getprice&s=" + size + "&c=" + colour + "&p=" + id); 
			});						 
		});
		
	});
	
	$(".product_options select").change(function(){
		if ($("#size").val() != null) {
			var size = $("#size").val();
		} 
		else {
			var size = 0;	
		}
		if ($("#colour").val() != null) {
			var colour = $("#colour").val();
		}
		else {
			var colour = 0;	
		}
		$(".product_options #price").load("modules/cart.php?a=getprice&s=" + size + "&c=" + colour + "&p=" + productid);
	});
	
	$(".btn_enlarge").click(function(event){
		event.preventDefault();

		 $.dimScreen(800, 0.9, function() { });
		var imgsrc = $(this).attr("id");
		newImg.src = imgsrc;
		
		var imgboxtopinitial = getScrollTop() + getWindowHeight();
		$(".imgbox img").hide();
		$(".imgbox img").attr("src", imgsrc);
		$(".imgbox").css({
			top: imgboxtopinitial+"px",
			width: '200px',
			height: '50px',
			marginLeft: "-100px"
		});
		
		$(".imgbox").fadeIn(500);
		
		setTimeout("expand_img()", 2000);
	});

	$(".cart_img").click(function(event){
		event.preventDefault();

		 $.dimScreen(800, 0.9, function() { });
		var imgsrc = $(this).attr("id");
		newImg.src = imgsrc;
		
		var imgboxtopinitial = getScrollTop() + getWindowHeight();
		$(".imgbox img").hide();
		$(".imgbox img").attr("src", imgsrc);
		$(".imgbox").css({
			top: imgboxtopinitial+"px",
			width: '200px',
			height: '50px',
			marginLeft: "-100px"
		});
		
		$(".imgbox").fadeIn(500);
		
		setTimeout("expand_img()", 2000);
	});
	
	

});



function expand_img() {
	var h = newImg.height+120;
	var w = newImg.width+120;
	var imgsrc = newImg.src;
	var imgboxtop = getScrollTop()-(h/2) + getWindowHeight(); //-(h/2);
	var imgboxleft = 0-(w/2);
	
	//alert(getWindowHeight());
	
		//alert(imgboxtop);

		$(".imgbox").animate({
			height: h+"px",
			top: imgboxtop+"px",
			width: w+"px",
			marginLeft: imgboxleft+"px"
		}, 500, function() {	
			$(".imgbox img").fadeIn(500);
		});					 

}

function getScrollTop() {

var ScrollTop = document.body.scrollTop;

if (ScrollTop == 0)
{

    if (window.pageYOffset) {
        ScrollTop = window.pageYOffset;
	}
    else
	{
        ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}

}
else
{
	
}

return ScrollTop;
}

function getWindowHeight() {
 
      var x = 0;

        if (self.innerHeight)
        {
                x = self.innerWidth;
        }
        else if (document.documentElement && document.documentElement.clientHeight)
        {
                x = document.documentElement.clientWidth;
        }
        else if (document.body)
        {
                x = document.body.clientWidth;
        }
        return x/4;
}

