var imageid;
var ids = new Array();
var editkey;
var zSid = 5;
var zPid = 0;
var pdf_id = new Array();
var pdf_zid = new Array();
var contrast = new Array();
var bright = new Array();
var red = new Array();
var green = new Array();
var blue = new Array();

$(function ()
{
	//item[3]がGETパラメータのアイテム名になる
	var pathname = location.pathname;
	var item = pathname.split('-');
	var pdf_tmp = $('a.tmp_change').attr('id');
	
	//切り替え
	$('#tmpchange_tool').click(function()
	{
		if($('#tmpchange_block').css('display') == 'none')
		{
			$('#tmpchange_block').css({display:'block'});
		}
		else
		{
			$('#tmpchange_block').css({display:'none'});
		}
		return false;
	});
	$('#upload_tool').click(function()
	{
		if($('#upload_block').css('display') == 'none')
		{
			$('#upload_block').css({display:'block'});
		}
		else
		{
			$('#upload_block').css({display:'none'});
		}
		return false;
	});
	
	//編集メニュー
	$('a.edit').click(function()
	{
		if(imageid == '')
		{
			alert('画像が選択されていません');
		}
		else
		{
			editkey = $(this).attr('id');

			$.ajax({
				type:	"POST",
				url:	"x/photo_edit.php",
				data:	{"image" : imageid, "edit": editkey },
				dataType: "json",
				async:	false,
				success:function(data)
						{
							if(data.error == 1)
							{
								var imageSid = '#' + imageid;
								var imagePid = '#' + imageid + 'p';
								$(imagePid).attr({src:'tmp/' + data.usr + '/' + data.filename });
								
								switch (editkey)
								{
									case 'lightens':
										++bright[imageSid];
										$('#bright_value').text(bright[imageSid]);
										break;
									case 'darkens':
										--bright[imageSid];
										$('#bright_value').text(bright[imageSid]);
										break;
									case 'contrast_up':
										++contrast[imageSid];
										$('#contrast_value').text(contrast[imageSid]);
										break;
									case 'contrast_down':
										--contrast[imageSid];
										$('#contrast_value').text(contrast[imageSid]);
										break;
									case 'red_up':
										++red[imageSid];
										$('#red_value').text(red[imageSid]);
										break;
									case 'red_down':
										--red[imageSid];
										$('#red_value').text(red[imageSid]);
										break;
									case 'green_up':
										++green[imageSid];
										$('#green_value').text(green[imageSid]);
										break;
									case 'green_down':
										--green[imageSid];
										$('#green_value').text(green[imageSid]);
										break;
									case 'blue_up':
										++blue[imageSid];
										$('#blue_value').text(blue[imageSid]);
										break;
									case 'blue_down':
										--blue[imageSid];
										$('#blue_value').text(blue[imageSid]);
										break;
									case 'rotation':
										var height = $(imagePid).css('width');
										var width = $(imagePid).css('height');
										$(imageSid).css({ width: width, height: height });
										$(imagePid).css({ width: width, height: height });
										break;
								}
							}
						}
			});
			
		/*	$.post("x/photo_edit.php", {"image" : imageid, "edit": editkey }, 
			function(data)
			{
				var imageSid = '#' + imageid;
				var imagePid = '#' + imageid + 'p';
				$(imagePid).attr({src:'tmp/' + data });
				if(editkey == 'rotation')
				{
					var height = $(imagePid).css('width');
					var width = $(imagePid).css('height');
					$(imageSid).css({ width: width, height: height });
					$(imagePid).css({ width: width, height: height });
				}
			});*/
		}
		return false;
	});
	
	//テンプレート変更
	$('a.tmp_change').click(function()
	{
		pdf_tmp = $(this).attr('id');
		$('#tmpimg').attr({ src:'pic/item/print/' + item[2] + '/' + item[3] + '/' + pdf_tmp });
		return false;
	});
	
	//配置変更
	$('#up').click(function()
	{
		var imageSid = '#' + imageid;
		var imagePid = '#' + imageid + 'p';
		if(imageid == '')
		{
			alert('画像が選択されていません');
		}
		else
		{
			var self = parseInt($(imageSid).css("z-index"));
			var selfP = parseInt($(imagePid).css("z-index"));
			for(i=0; i<ids.length; ++i)
			{
				if(self+1 == $(ids[i]).css("z-index"))
				{
					var idP = ids[i] + 'p';
					$(ids[i]).css("z-index", self);
					$(idP).css("z-index", selfP);
					pdf_zid[ids[i]] = self;
					$(imageSid).css("z-index", self+1);
					$(imagePid).css("z-index", selfP+1);
					pdf_zid[imageSid] = self+1;
				}
				if(self+2 == $(ids[i]).css("z-index"))
				{
					var idP = ids[i] + 'p';
					$(ids[i]).css("z-index", self+2);
					$(idP).css("z-index", selfP+2);
					pdf_zid[ids[i]] = self+2;
				}
			}
		}
		return false;
	});
	
	$('#down').click(function()
	{
		var imageSid = '#' + imageid;
		var imagePid = '#' + imageid + 'p';
		if(imageid == '')
		{
			alert('画像が選択されていません');
		}
		else
		{
			var self = parseInt($(imageSid).css("z-index"));
			var selfP = parseInt($(imagePid).css("z-index"));
			for(i=0; i<ids.length; ++i)
			{
				if(self-1 == $(ids[i]).css("z-index"))
				{
					var idP = ids[i] + 'p';
					$(ids[i]).css("z-index", self);
					$(idP).css("z-index", selfP);
					pdf_zid[ids[i]] = self;
					$(imageSid).css("z-index", self-1);
					$(imagePid).css("z-index", selfP-1);
					pdf_zid[imageSid] = self-1;
				}
			}
		}
		return false;
	});
	
	//画像削除
	$('#del').click(function()
	{
		if(imageid == '')
		{
			alert('画像が選択されていません');
		}
		else
		{
			$.ajax({
				type:	"POST",
				url:	"x/ajaxfileupload/delimage.php",
				data:	{"image" : imageid },
				async:	false,
				success:function(data)
						{
							var imageSid = '#' + imageid;
							var imagePid = '#' + imageid + 'p';
							//画像IDを検索し、PDF化する際の配列から削除
							for(i=0; i<pdf_id.length; ++i)
							{
								if(pdf_id[i][0].indexOf(imageSid) != -1)
								{
									pdf_id.splice(i,1);
								}
							}
							var self = parseInt($(imageSid).css("z-index"));
							$(imageSid).remove();
							$(imagePid).remove();
							$('#bright_value').text("");
							$('#contrast_value').text("");
							$('#red_value').text("");
							$('#blue_value').text("");
							$('#green_value').text("");
							//画像の配置順を整理（削除するものより前面のzindexをすべて-1する）
							for(i=0; i<ids.length; ++i)
							{
								if(self == $(ids[i]).css("z-index"))
								{
									pdf_zid.splice(i,1);
									ids.splice(i,1);
								}
								else if(self < $(ids[i]).css("z-index"))
								{
									var idP = ids[i] + 'p';
									$(ids[i]).css("z-index", parseInt($(ids[i]).css("z-index"))-1);
									$(idP).css("z-index", parseInt($(idP).css("z-index"))-1);
									pdf_zid[ids[i]] = parseInt($(ids[i]).css("z-index"))-1;
								}
							}
						}
    		});
		}
		return false;
	});
	//Delキーによる削除
	$('#contents').keydown(function (key)
	{
		if(key.which == 46)
		{
			$.ajax({
				type:	"POST",
				url:	"x/ajaxfileupload/delimage.php",
				data:	{"image" : imageid },
				async:	false,
				success:function(data)
						{
							var imageSid = '#' + imageid;
							var imagePid = '#' + imageid + 'p';
							//画像IDを検索し、PDF化する際の配列から削除
							for(i=0; i<pdf_id.length; ++i)
							{
								if(pdf_id[i][0].indexOf(imageSid) != -1)
								{
									pdf_id.splice(i,1);
								}
							}
							var self = parseInt($(imageSid).css("z-index"));
							$(imageSid).remove();
							$(imagePid).remove();
							$('#bright_value').text("");
							$('#contrast_value').text("");
							$('#red_value').text("");
							$('#blue_value').text("");
							$('#green_value').text("");
							//画像の配置順を整理（削除するものより前面のzindexをすべて-1する）
							for(i=0; i<ids.length; ++i)
							{
								if(self == $(ids[i]).css("z-index"))
								{
									pdf_zid.splice(i,1);
									ids.splice(i,1);
								}
								else if(self < $(ids[i]).css("z-index"))
								{
									var idP = ids[i] + 'p';
									$(ids[i]).css("z-index", parseInt($(ids[i]).css("z-index"))-1);
									$(idP).css("z-index", parseInt($(idP).css("z-index"))-1);
									pdf_zid[ids[i]] = parseInt($(ids[i]).css("z-index"))-1;
								}
							}
						}
    		});
			return false;
		}
	});
	
	//あいさつ文やコメント欄のオンオフ
	$('input.option').click(function()
	{
		var tmp_filename = pdf_tmp.split('.');
		var moto_filename = tmp_filename[0].split('_');
		var tmp_com = moto_filename[0] + '_' + moto_filename[1] + '_' + moto_filename[2];
		if($(this).attr("value") == 'nasi')
		{
			var tmp_com = tmp_com + '.gif';
		}
		else
		{
			var tmp_com = tmp_com + '_' + $(this).attr("value") + '.gif';
		}
		$('#tmpimg').attr({ src:'pic/item/print/' + item[2] + '/' + item[3] + '/' + tmp_com });
		pdf_tmp = tmp_com;
	});
	
	//PDF作成
	$('#pdf').click(function()
	{
		//alert(pdf_id.length);
		$('#create').empty();
		$('#create').append('<input type="hidden" name="id" value="'+ pdf_id + '" />');
		$('#create').append('<input type="hidden" name="tmp" value="'+ pdf_tmp + '" />');
		$('#create').append('<input type="hidden" name="type" value="'+ item[2] + '" />');
		$('#create').append('<input type="hidden" name="item" value="'+ item[3] + '" />');
		for(i=0; i<pdf_id.length; ++i)
		{
			$('#create').append('<input type="hidden" name="' + pdf_id[i][0] + '" value="' + pdf_zid[pdf_id[i][0]] + '" />');
		}
		document.create.submit();
		return false;
	});
	
	//ファイルを選択した時点でアップロードを開始
	$('#fileToUpload').change(function(){$('#upload_form').trigger('submit');});

	//画像アップロード
	//function ajaxFileUpload()
	//{
	$('#upload_form').submit(function(){
		if($('div.selection').size() > 2)
		{
			alert('一度に挿入できる画像は3枚までです。');
		}
		else
		{
	/*	$("#loading")
		.ajaxStart(function(){
			$(this).show();
		})
		.ajaxComplete(function(){
			$(this).hide();
		});*/
	
		$.ajaxFileUpload
		(
			{
				url:'x/ajaxfileupload/doajaxfileupload.php',
				secureuri:false,
				fileElementId:'fileToUpload',
				dataType: 'json',
				success: function (data, status)
				{
					if(typeof(data.error) != 'undefined')
					{
						if(data.error != '')
						{
							alert(data.error);
						}else
						{
							//配列の[0]:画像のID,[1]:トップの位置,[2]:レフトの位置,[3]:リサイズ後の幅,[4]:リサイズ後の高さ
							var s_id = new Array('#' + data.filename);
							var p_id = new Array('#' + data.filename + 'p');
							s_id[3] = data.w;
							s_id[4] = data.h;
							if($('div.selection').size() == 0)
							{
								zSid = 8;
								zPid = 1;
							}
							else if($('div.selection').size() == 1)
							{
								zSid = 9;
								zPid = 2;
							}
							else
							{
								zSid = 10;
								zPid = 3;
							}
							
							ids.push(s_id[0]);
							//PDF作成時用の画像IDとzindex
							pdf_id.push(s_id);
							pdf_zid[s_id[0]] = zSid;
							
							//レタッチの初期化
							bright[s_id[0]] = 0;
							contrast[s_id[0]] = 0;
							red[s_id[0]] = 0;
							green[s_id[0]] = 0;
							blue[s_id[0]] = 0;
							
							$('#tmpimg').after('<div id="'+ data.filename + '" class="box selection"></div>');
							$(s_id[0]).css({width: data.w + 'px', height: data.h + 'px', zIndex: zSid });
							$('#tmpimg').after('<img id="'+ data.filename + 'p" src="tmp/'+ data.usr + '/' + data.filename + '/' + 	data.filename + data.ext + '" class="box photo" />');
							$(p_id[0]).css({width: data.w + 'px', height: data.h + 'px', zIndex: zPid });
							
							//カレント画像の枠線表示
							$(s_id[0]).mouseover(function()
							{
								$(s_id[0]).css ({ border: "1px #666666 dashed" });
							});
							
							$(s_id[0]).mouseout(function()
							{
								if(imageid != $(this).attr('id'))
								{
									$(s_id[0]).css ({ border: "0px" });
								}
							});
							
							//画像選択と選択解除
							$(s_id[0]).click(function()
							{
								$('.selection').css({ border: '0px' });
								$(s_id[0]).css ({ border: "1px #666666 dashed" });
								imageid = $(this).attr('id');
								$('#bright_value').text(bright[s_id[0]]);
								$('#contrast_value').text(contrast[s_id[0]]);
								$('#red_value').text(red[s_id[0]]);
								$('#blue_value').text(blue[s_id[0]]);
								$('#green_value').text(green[s_id[0]]);
							});
							
							$('#tmpimg').click(function()
							{
								$(s_id[0]).css ({ border: "0px" });
								imageid = '';
								$('#bright_value').text("");
								$('#contrast_value').text("");
								$('#red_value').text("");
								$('#blue_value').text("");
								$('#green_value').text("");
							});
							
							//ドラッグ出来るように
							$(s_id[0]).draggable
							({
								cursor: 'move',
								drag: function(e, ui)
								{
		    						var boxTop = ui.position.top;
		    						var boxLeft = ui.position.left;
		    						$(p_id[0]).css('top', boxTop);
		    						$(p_id[0]).css('left', boxLeft);
		    					},
		    					stop: function(e, ui)
		    					{
		    						s_id[1] = ui.position.left;
		    						s_id[2] = ui.position.top;
		    					}
							});
							
							//リサイズ出来るように
							$(s_id[0]).resizable
							({
								autoHide: true,
								aspectRatio: true,
								handles: 'all',
	    						alsoResize: p_id[0],
	    						stop: function(e, ui)
	    						{
	    							s_id[3] = ui.size.width;
	    							s_id[4] = ui.size.height;
	    						}
							});
						}
					}
					//changeイベントオブジェクトのIDが書き換わるため、再バインド
					$(":file").bind('change', function(){$('#upload_form').trigger('submit');});
				},
				error: function (data, status, e)
				{
					alert(e);
				}
			}
		)
		}
		return false;
	});

	//ページ遷移時のメッセージ
	window.onbeforeunload = function(event)
	{
		event = event || window.event;
		event.returnValue = "移動すると現在の編集内容はすべて破棄されますのでご注意下さい。";
	}

	$(window).unload(function()
	{
			$.ajax({
			type:	"POST",
			url:	"x/ajaxfileupload/delimage.php",
			data:	{"edit": "exit_edit" },
			//dataType: "json",
			async:	false
			});
	});
});

