// JavaScript Document
var gCropImage = null;

// setup the callback function
function onEndCrop( coords, dimensions ) {
	$( 'x1' ).value = coords.x1;
	$( 'y1' ).value = coords.y1;
	$( 'x2' ).value = coords.x2;
	$( 'y2' ).value = coords.y2;
	$( 'imgWidth' ).value = dimensions.width;
	$( 'imgHeight' ).value = dimensions.height;
}

// basic example
function cropImage(oEvent) {
	triggelButton(true);

	var width = $('image_edit').offsetWidth;
	var height = $('image_edit').offsetHeight;
	gCropImage = new Cropper.Img( 
		'image_edit',
		{
			onEndCrop: onEndCrop,
			displayOnInit: true,
			onloadCoords: { x1: Math.ceil(width/4), y1: Math.ceil(height/4), x2: Math.ceil(width/4*3), y2: Math.ceil(height/4*3) }
		}
	)
}

function checkSize(width,height,dwidth,dheight)
{
	var scale = 1;
	do{
		if(width>dwidth || height>dheight){
			if((width/height) > (dwidth/dheight)){
				scale = (width/dwidth);
				dwidth = dwidth;
				dheight = height/scale;
			}else if((width/height) < (dwidth/dheight)){	
				scale = (height/dheight);
				dheight = dheight;
				dwidth = width/scale;
			}else if((width/height)==(dwidth/dheight)){	
		
				sheight = dheight;
				swidth = dwidth;
			}
			break;
		}
		if(width<dwidth || height<dheight){
			if((width/height)>(dwidth/dheight)){
				scale = (dwidth/width);
				dwidth = dwidth;
				dheight = height*scale;
			}
			else if((width/height)<(dwidth/dheight)){	
				scale = (dheight/height);
				dheight = dheight;
				dwidth = width*scale;
			}else if((width/height)==(dwidth/dheight)){	
				
				sheight =dheight;
				swidth =dwidth;
			}

			break;
		}
		if(width==dwidth && height==dheight){
			dheight = height;
			dwidth = width;
			break;
		}
	}while(false);
	return {width:dwidth, height:dheight};
}


function setScaleCrop(width, height, _width, _height)
{

	if(gCropImage != null){
		gCropImage.remove();
	}

	gCropImage = new Cropper.Img( 
		'image_edit',
		{
			minWidth: width, 
			minHeight: height,
			ratioDim: { x: _width, y: _height },
			onloadCoords: { x1: 0, y1: 2, x2: _width, y2: _height},
			displayOnInit: true, 
			onEndCrop: onEndCrop,
			previewWrap: 'previewArea'
		}
	)
}
function setScaleCrop_edit(width, height, _width, _height ,x1 , y1 , x2 , y2)
{
	if(gCropImage != null){
		gCropImage.remove();
	}

	gCropImage = new Cropper.Img( 
		'image_edit',
		{
			minWidth: width, 
			minHeight: height,
			ratioDim: { x: _width, y: _height },
			onloadCoords: { x1: x1, y1: y1, x2: x2, y2: y2},
			displayOnInit: true, 
			onEndCrop: onEndCrop,
			previewWrap: 'previewArea'
		}
	)
}
