var idUploader = "uploader";
var idUploadButton = "idUploadButton";
var idLayerProgress = "layerUploadProgress";
var idLayerProgressBar = "layerUploadProgressBar";
var idLayerError = "layerUploadError";
var idLayerSelector = "myimageSelector";
var idSizeSelector = "myimageSize";
var idMediumSelector = "myimageMedium";
var idMediumPrice = "myimagePrice";
var idFieldSize = "myimageFieldSize";
var idFieldMedium = "myimageFieldMedium";

function convertDPI( vl )
{
	return vl;
}
function convertDPIReverse( vl )
{
	return vl;
}

function myimageSelectSize()
{
	var o = document.getElementById(idSizeSelector);
	var size = o.value;
	myimageFillMediumList(myimageGetMediumList(size));
	myimageSetPrice();
}

function myimageFillMediumList(list)
{
	var o = document.getElementById(idMediumSelector);
	o.length = 0;
	
	var mlist = list.split(" ");
	for (var i=0; i < mlist.length; i++)
	{
		var row = mlist[i].split(":");
		var mediumId = row[0];
		var mediumName = myimageGetMediumName(mediumId);
		o.options[i] = new Option(mediumName, mediumId, false, false);
	}
}

function myimageSetPrice()
{
	var size = document.getElementById(idSizeSelector).value;
	var mediumId = document.getElementById(idMediumSelector).value;
	var list = myimageGetMediumList(size);

	var price = "n/a";
	var mlist = list.split(" ");
	for (var i=0; i < mlist.length; i++)
	{
		var row = mlist[i].split(":");
		if (mediumId == row[0])
		{
			price = "$" + row[1];
			break;
		}
	}
	document.getElementById(idMediumPrice).innerHTML = price;
	document.getElementById(idFieldSize).value = size;
	document.getElementById(idFieldMedium).value = mediumId;
}

function myimageGetMediumList(size)
{
	for (i = 0; i < myimageSizeList.length; i++)
	{
		if (myimageSizeList[i][0] == size)
		{
			return myimageSizeList[i][1];
		}
	}
	return "";
}

function myimageGetMediumName(mediumId)
{
	for (var i = 0; i < myimageMediumList.length; i++)
	{
		if (myimageMediumList[i][0] == mediumId)
		{
			return myimageMediumList[i][1];
		}
	}
}


function replaceAll (streng, soeg, erstat)
{ var st = streng;
  if (soeg.length == 0)
     return st;
  var idx = st.indexOf(soeg);
  while (idx >= 0)        
  {  st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length);
     idx = st.indexOf(soeg);
  }
  return st;
}

	function cropperMediumChange()
	{
		if( !( cropperSelectedMediumid < 0 ) )
		{
			var medium = cropperMediumElement.getValue();			
			//myimagesframebutton
			var paperSize = cropperPaperSizeElement.getValue();
			var l = new HTMLLayer( 'cropper_paper_size');
			var c = '<select name="size" onchange="cropperPaperSizeChange();" id="cropper_paper_size_select">';
			for( var i in cropperMediumOptions[medium]['options'] )
			{
				if( typeof(i)=='string' )
				{			
					c+="<option value='"+cropperMediumOptions[medium]['options'][i]['size']+"'"+(paperSize==i?" selected='selected'":"")+">"+cropperMediumOptions[medium]['options'][i]['label']+'</option>';
				}
			}
			c+="</select>";
			l.write(c);
			cropperPaperSizeElement =	new HTMLLayer('cropper_paper_size_select');
			cropperPaperSizeChange();
		}
	}
	function cropperDrawMediumSelectElement()
	{
		if( !( cropperSelectedMediumid < 0 ) )
		{
			var l = new HTMLLayer( 'cropper_medium');
			var c = '<select name="medium" onchange="cropperMediumChange();" id="cropper_medium_select">';
			for( var i in cropperMediumOptions )
			{
				if( typeof(i)=='string' )
				{
					c+="<option value='"+i+"'"+(cropperSelectedMediumid==i?" selected='selected'":"")+">"+replaceAll(cropperMediumOptions[i]['name'],'<','&gt;')+"</option>";
				}
			}
			c+="</select>";
			l.write(c);
			cropperMediumElement = new HTMLLayer( 'cropper_medium_select');
		}
	}
	function cropperPaperSizeChange()
	{
		if( cropperSelectedMediumid < 0  )
		{
			theCropper.resetSelected();
		}
		else
		{
			var medium = cropperMediumElement.getValue();
			var paperSize = cropperPaperSizeElement.getValue();
			theCropper.setWrapEdge( cropperMediumOptions[medium]['sizechange'] );
			var option=cropperMediumOptions[medium]['options'][paperSize];
			currentPaperSize=Array(option['w'],option['h']);
			theCropper.setForceRatio(option['w'],option['h']);
			theCropper.resetSelected();
			theCropper.updateShaded();
			var l = new HTMLLayer( 'myimagesframebutton');
			l.style.display=option['canframe']?'':'none';
			var l = new HTMLLayer( 'myimagesaddtocartbutton');
			l.style.display=option['mustframe']?'none':'';
			var l = new HTMLLayer( 'myimagesadditionaloptions_0' );
			l.style.display = option['has_extras']?'none':'';
			var l = new HTMLLayer( 'myimagesadditionaloptions_1' );
			l.style.display = option['has_extras']?'':'none';
			if( myimageshowprice )
			{
				var l=new HTMLLayer('picture_price');
				l.write( option['displayprice'] );
			}
		}
		updateMyImagesPreview();
	}
	
	function setDPI( dpi )
	{
		theCropper.setDpi( dpi );
	}
	function myImagesOnSizeChange( cropper )
	{
		if( !( cropperSelectedMediumid < 0  ) )
		{
			var l=new HTMLLayer("picture_ppi");
			l.write(Math.round(100*cropper.getDPI())/100);
		}
	}
	function myImagesOnUpdateSelected( cropper )
	{
		ele_pictureX1.value=cropper.x1;
		ele_pictureX2.value=cropper.x2;
		ele_pictureY1.value=cropper.y1;
		ele_pictureY2.value=cropper.y2;
	}
	function myImagesOnMouseUp( cropper )
	{
		updateMyImagesPreview();
	}
	
	
	function updateMyImagesPreview()
	{
		if( myimagespreview )
		{
			var x1=theCropper.x1;
			var y1=theCropper.y1;
			var x2=theCropper.x2;
			var y2=theCropper.y2;			
			var c='<img src="'+getMyImagePreviewURL2( 200,100) +'" />';
			myimagespreview.write( c );
		}
	}
	function myImageLargePreview()
	{
		tb_show( 'Preview', getMyImagePreviewURL( 800,600 ) );
	}
	function getMyImagePreviewURL( maxw,maxh)
	{
		var x1=theCropper.x1;
		var y1=theCropper.y1;
		var x2=theCropper.x2;
		var y2=theCropper.y2;
		return myimagebaseurl+'/plugins/myimages/fimage/load.jpg?p=-127&c=0&x1='+x1+'&y1='+y1+'&x2='+x2+'&y2='+y2+'&sz=0&myimage='+myimagecode+'_'+(cropperMediumElement.getValue())+'_'+currentPaperSize[0]+'x'+currentPaperSize[1]+'&maxh='+maxh+'&maxw='+maxw;	
	}
  function getMyImagePreviewURL2( maxw,maxh)
	{
		var x1=theCropper.x1;
		var y1=theCropper.y1;
		var x2=theCropper.x2;
		var y2=theCropper.y2;
		return myimagebaseurl+'/frame-fullimage.php?p=-127&c=0&x1='+x1+'&y1='+y1+'&x2='+x2+'&y2='+y2+'&sz=0&myimage='+myimagecode+'_'+(cropperMediumElement.getValue())+'_'+currentPaperSize[0]+'x'+currentPaperSize[1]+'&maxh='+maxh+'&maxw='+maxw;	
	}
function onUploadComplete()
{
	if( typeof( myImagesOnCompleteUrl ) != 'undefined' )
	{
		document.location.href=myImagesOnCompleteUrl;
	}
	else
	{
		document.location.href='my_images.html?go=y';
	}
}
