// recode met jquery
$(document).ready(function() {
	$("a[rel='popup']").colorbox();
	$("form#specs select").bind('change',updatePrice);

	$("a.file-remove").bind('click',removeImageFromSpecs);
	$("form#confirm #addtocart").bind('click keypress',addOrder);
	
	$("a#customFormaat").bind('click',showCustomFormaat);
	
	$("img.preview_image").load(function() {
		$(this).addClass('border');
		$(this).parent().parent().removeClass('loading');
	});
	
});

// function to select upload method
function selectMethod(i) {
	if(i==1) { // selected normal upload
		$("#delivermethod").attr('value','1');
		$("#selectMethod").hide();

		$("#UploadMethod").show();
		$("#PostMethod").hide();
		$("#Send2DeliverMethod").hide();
	} else if(i==2) { // selected per post
		$("#delivermethod").attr('value','2');
		$("#selectMethod").hide();

		$("#UploadMethod").hide();
		$("#PostMethod").show();
		$("#Send2DeliverMethod").hide();
		$("#addshopcart").removeAttr("disabled");
	} else if(i==3) { // selected send2deliver.nl
		$("#delivermethod").attr('value','3');
		$("#selectMethod").hide();

		$("#UploadMethod").hide();
		$("#PostMethod").hide();
		$("#Send2DeliverMethod").show();
		$("#addshopcart").removeAttr("disabled");
	}
		
}


/* function to add order */
var submitted=false;
function addOrder(e) {
	if(submitted==false) {
		$("form#confirm #addtocart").attr("disabled", "disabled").attr('value','Order wordt verwerkt...');
		$("#loader").html('<img src="assets/css/images/loading.gif" alt="" />');
	} else {
		alert("already submitted");
		return;
	}
	
	var success=1;
	var done=0;
	submitted=true;
	$.getJSON('ajax/addorder.php', {items:$(".json_hidden").length,price:$("#totalpricevalue").html()}, function(orderresult) {
		if(orderresult.status=='success') {
			var myorderid = orderresult.orderid;
			if(orderresult.status=='success') {
				$(".json_hidden").each(function() {
					var jsonencoded = $(this).attr('value');
					var decoded = $.evalJSON(jsonencoded);
					//$(".fileBox."+decoded.ident+" .orderid").attr('value','orderid: '+myorderid);
					var old_val = $(".fileBox."+decoded.ident+" .ordertext").attr('value');
					var new_val = old_val.replace("orderid: 0","orderid: "+myorderid);
					$(".fileBox."+decoded.ident+" .ordertext").attr('value',new_val);
					
					$.getJSON('ajax/prepimage.php', {json:jsonencoded, orderid:myorderid, ext:decoded.ext},function(data) {
						if(data.status=='success') {
						} else if(data.error) {
							success=0;
							alert(data.error);
						}
						done++;
						if(done == $(".json_hidden").length) {
							window.setTimeout('orderHandled("'+myorderid+'");',500);
						}
					});

				});
			}
		} else {
			alert("Order kon niet worden aangemaakt");	
		}
	});


	
	return false;
}


function orderHandled(orderid) {
	$("#loader").html('');
	$("form#confirm #addtocart").hide();
	$("form#confirm .backlink").hide();
	// set timeout to display manual submitter
	window.setTimeout('$("form#confirm #addtocart_submit").show(); $("#alert").html("&laquo;&laquo; Klik om verder te gaan.");',750);

	// if everything works, form will be automatically submitted
	$("form#confirm").submit();
}

/* functions to preview image */
function previewImage(numqueue,effect) {
	var jsonencoded = $("#fileBox"+numqueue+" .json_hidden").attr('value');
	var decoded = $.evalJSON(jsonencoded);

	if(effect==2) {
		$("#preview"+numqueue).addClass('loading');
		$("#preview"+numqueue+" a").attr('href','sepiamedium_'+decoded.ident+'.'+decoded.ext);
		$("#preview"+numqueue+" a").html('<img class="preview_new" src="sepiathumb_'+decoded.ident+'.'+decoded.ext+'" alt="" />');
	} else if(effect==3) {
		$("#preview"+numqueue).addClass('loading');
		$("#preview"+numqueue+" a").attr('href','greymedium_'+decoded.ident+'.'+decoded.ext);
		$("#preview"+numqueue+" a").html('<img class="preview_new" src="greythumb_'+decoded.ident+'.'+decoded.ext+'" alt="" />');
	} else {
		$("#preview"+numqueue).addClass('loading');
		$("#preview"+numqueue+" a").attr('href','medium_'+decoded.ident+'.'+decoded.ext);
		$("#preview"+numqueue+" a").html('<img class="preview_new" src="thumb_'+decoded.ident+'.'+decoded.ext+'" alt="" />');
	}

	$("img.preview_new").unbind('load').load(function() {
		$(this).addClass('border');
		$(this).parent().parent().removeClass('loading');
	});

}
/* functions to update price */
function updatePrice(foo) {
	var numqueue = $(this).attr('class');
	
	if($(this).parent().hasClass('effect')) {
		previewImage(numqueue,$(this).val());
	}
	
	if($("#product"+numqueue+"_breedte").length==1&&$("#product"+numqueue+"_hoogte").length==1) {
		// custom size chosen	
		var breedte = $("#product"+numqueue+"_breedte").val();
		var hoogte = $("#product"+numqueue+"_hoogte").val();
	} else {
		// default size chosen
		var sizes = $("#product"+numqueue+"_formaat").val().split("x");
		var breedte = sizes[0];
		var hoogte = sizes[1];
	}
	
	$("span#pcont"+numqueue+"_price").html('<img src="assets/css/images/loading.gif" alt="" />');
	
	$.getJSON("ajax/calcjson.php", {
				 aantal: $("#product"+numqueue+"_qty").val(), 
				 breedte:  breedte, 
				 hoogte:  hoogte, 
				 omlijsting:  $("#product"+numqueue+"_omlijsting").val(), 
				 effect:  $("#product"+numqueue+"_effect").val()
			}, function(result) {
		// result returned
		if(result.price&&result.unitprice) {
			var unitprice = parseFloat(result.unitprice).toFixed(2);
			var price = parseFloat(result.price).toFixed(2);
			$("span#pcont"+numqueue+"_price").html('EUR '+price);
			$("input#price"+numqueue).attr('value',unitprice);
		} else {
			// no valid data returned	
			$("span#pcont"+numqueue+"_price").html('Op aanvraag');
			$("input#price"+numqueue).attr('value','0');
			//alert("Something went wrong.");
		}
	});
}

/* remove image from specifications queue */
function removeImageFromSpecs(foo) {
	var ident = $(this).attr('rel');

	var jsonencoded = $(".fileBox."+ident+" .json_hidden").attr('value');
	var decoded = $.evalJSON(jsonencoded);

	if($(".fileBox."+ident+" .image").length > 0) {
		$(".fileBox."+ident+" .image").addClass('loading');
		$(".fileBox."+ident+" .image img").remove();
	}
	
	$.getJSON('tools/uploadify/uploadify.php', {name:ident, extension: decoded.ext},function(data) {
		if(data.status == 'deleted') {
			// hide all buttons, because this was last item
			if($(".fileBox").length == 1) {
				$("table.navigate").remove();
			}

			$(".fileBox."+ident).fadeOut(500,function() {
				$(this).remove(); 
				if($(".fileBox").length == 0) {
					// now redirect
					window.location = 'index.php';
				}
			});
		}
	});
}

function showCustomFormaat(id) {
	var init=$("#product"+id+"_formaat").val();
	$("#loader").html('<img src="assets/css/images/loading.gif" alt="" />');
	$("#formaat"+id).html('');
	$("form#specs select").unbind('change',updatePrice);
	$.get('ajax/other_format.php', {num:id, initformat:init}, function(data) {
		$("#formaat"+id).html(data + '&nbsp; <a class="style2" href="javascript:showActieFormaat(\''+id+'\');">Standaard formaat kiezen</a>');
		$("#loader").html('&nbsp;');
		$("form#specs select").bind('change',updatePrice);
	});
}

function showActieFormaat(id) {
	var init= $("#product"+id+"_breedte").val() +"x"+$("#product"+id+"_hoogte").val();
	$("#loader").html('<img src="assets/css/images/loading.gif" alt="" />');
	$("#formaat"+id).html('');
	$("form#specs select").unbind('change',updatePrice);
	$.get('ajax/actie_format.php', {num:id, initformat:init}, function(data) {
		$("#formaat"+id).html(data + '&nbsp; <a class="style2" href="javascript:showCustomFormaat(\''+id+'\');">Aangepast formaat kiezen</a>');
		$("#loader").html('&nbsp;');
		$("form#specs select").bind('change',updatePrice);
	});
}


/* remove image from upload queue */
function removeImageFromQueue(nr) {

	var jsonencoded = $("#hidden_"+nr+" .uploadify_hidden").attr('value');
	var decoded = $.evalJSON(jsonencoded);

	$("#uploadify"+decoded.q+" .cancel img.progressImage").attr('src','assets/css/images/loading.gif');
	$.getJSON('tools/uploadify/uploadify.php', {name:decoded.ident, extension: decoded.ext},function(data) {
		if(data.status == 'deleted') {
			$("div#hidden_"+nr).remove();
			$("div#uploadify"+decoded.q).fadeOut(500,function() { $(this).remove(); });
			if($("#hidden .images").length == 0) {
				$("#addshopcart").attr("disabled", "disabled");
			}
		}
	});
}

/* custom handling functies voor uploadify */ 
function onBusy(e,q,f) {
	$(".uploadifyQueueItem .cancel a.remove").hide();
	$("#addshopcart").attr("disabled", "disabled");
	$("#uploadify"+q+" .cancel").prepend('<img class="progressImage" src="assets/css/images/loading.gif" width="16" height="16" alt="" /> ');
}
function allComplete(e,d) {
	if($("#hidden .images").length > 0) {
		$("#addshopcart").removeAttr("disabled");
		$(".uploadifyQueueItem .cancel a.remove").show();
	}
	return false;
}

/* num needs to be defined */ 
function completer(e,q,f,response,d) {
	num++;
	var result = $.evalJSON(response);
	if(result.tempName) {
		$("#uploadify"+q+" .percentage").html('');
		$("#uploadify"+q+" .cancel img.progressImage").attr('src','assets/successv.png');
		$("#uploadify"+q+" .cancel a").addClass('remove').hide().attr('href','javascript:removeImageFromQueue(\''+num+'\');').html('<img src="assets/trash.png" width="16" height="16" border="0" alt="" /></a>');
		
		var img_json = $.toJSON({q: q, ident: result.tempName, name:result.fileName, ext:result.extension});
		$("div#hidden").append(
							'<div id="hidden_'+num+'" class="images">'
							+"<input type='hidden' class='uploadify_hidden' name='upload[]' value='"+img_json+"' />"
							/*+'<input type="hidden" class="uploadify_hidden_uid" name="upload['+num+'][uid]" value="'+q+'" />'
							+'<input type="hidden" class="uploadify_hidden_ident" name="upload['+num+'][ident]" value="'+result.tempName+'" />'
							+'<input type="hidden" class="uploadify_hidden_name" name="upload['+num+'][name]" value="'+result.fileName+'" />'
							+'<input type="hidden" class="uploadify_hidden_ext" name="upload['+num+'][ext]" value="'+result.extension+'" />'*/
							+'</div>'
		);

	} 
	return false;
}


