var tempX, tempY;
var action = "move";

function $(id) {
	return document.getElementById(id);
}

function validateForm(formName,fields,show) {
	for (var i = 0 ; i < fields.length ; i++) {
		if (formName[fields[i]].value == "") {
			$(show[i]).style.visibility = "visible";
			return false;
		} else {
			$(show[i]).style.visibility = "hidden";
		}
	}
}

function carga() {
  posicion=0;
  // IE
  if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0;
  // Otros
  else navegador=1;
}
function evitaEventos(event)
{
// Funcion que evita que se ejecuten eventos adicionales
  if(navegador==0)
  {
	  window.event.cancelBubble=true;
	  window.event.returnValue=false;
  }
  if(navegador==1) event.preventDefault();
}

function comienzoMovimiento(event, id)
{
  elMovimiento=document.getElementById(id);
   // Obtengo la posicion del cursor
  if(navegador==0)
   {
	  cursorComienzoX=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
	  cursorComienzoY=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
	  document.attachEvent("onmousemove", enMovimiento);
	  document.attachEvent("onmouseup", finMovimiento);
  }
  if(navegador==1)
  {   
	  cursorComienzoX=event.clientX+window.scrollX;
	  cursorComienzoY=event.clientY+window.scrollY;
	  document.addEventListener("mousemove", enMovimiento, true);
	  document.addEventListener("mouseup", finMovimiento, true);
  }
  elComienzoX=elMovimiento.style.left ? parseInt(elComienzoX=elMovimiento.style.left) : "";
  elComienzoY=elMovimiento.style.top ? parseInt(elMovimiento.style.top) : "";
  // Actualizo el posicion del elemento
  elMovimiento.style.zIndex=++posicion;
  evitaEventos(event);
	if (action == "resize" && !elComienzoX) {
		dragOffsetX = elComienzoX;
	}
}
function enMovimiento(event)
{ 
  var xActual, yActual;
  if(navegador==0)
  {   
	  xActual=window.event.clientX+document.documentElement.scrollLeft+document.body.scrollLeft;
	  yActual=window.event.clientY+document.documentElement.scrollTop+document.body.scrollTop;
  } 
  if(navegador==1)
  {
	  xActual=event.clientX+window.scrollX;
	  yActual=event.clientY+window.scrollY;
  }
	tempX = (elComienzoX+xActual-cursorComienzoX);
	tempY = (elComienzoY+yActual-cursorComienzoY);
	if (action == "move") {
		if (tempX+$('imageImg').width >= 300 && tempX <= 0) elMovimiento.style.left=tempX+"px";
		else tempX = parseInt(elMovimiento.style.left);
		if (tempY+$('imageImg').height >= 424 && tempY <= 0) elMovimiento.style.top=tempY+"px";
		else tempY = parseInt(elMovimiento.style.top);
	} else {
		if (tempX-dragOffsetX <= 0) {
			elMovimiento.style.left="0px";
		} else if (tempX-dragOffsetX >= 300-20) {
			elMovimiento.style.left="280px";
		} else {
			elMovimiento.style.left=tempX+"px";
		}
		if (picFullW/picFullH > 300/424) {
			maxWidth = picFullW-picSW;
			percentW = (tempX-dragOffsetX)/3;
			newW = picSW+(maxWidth*(percentW > 100 ? 100 : (percentW < 0 ? 0 : percentW))/100);
			newW = newW < picSW ? picSW : newW;
			if (parseInt($('image').style.left)+parseInt($('imageImg').width) < picSW) $('image').style.left="0px";
			if (parseInt($('image').style.top)+parseInt($('imageImg').height) < picSW) $('image').style.top="0px";
			$('imageImg').style.width = newW+"px";
			$('imageImg').style.height = (picFullH*newW/picFullW)+"px";
			$('debugDiv').innerHTML = elComienzoX;
		} else {
			maxWidth = picFullW-300;
			percentW = (tempX-dragOffsetX)/3;
			newW = 300+(maxWidth*(percentW > 100 ? 100 : (percentW < 0 ? 0 : percentW))/100);
			newW = newW < 300 ? 300 : newW;
			if (parseInt($('image').style.left)+parseInt($('imageImg').width) < 300) $('image').style.left="0px";
			if (parseInt($('image').style.top)+parseInt($('imageImg').height) < 300) $('image').style.top="0px";
			$('imageImg').style.width = newW+"px";
			$('imageImg').style.height = (picFullH*newW/picFullW)+"px";
			$('debugDiv').innerHTML = elComienzoX;
		}
	}
	evitaEventos(event);
}
function finMovimiento(event) {
	if (action == "move") {
		$("posX").value = elMovimiento.style.left;
		$("posY").value = elMovimiento.style.top;
	} else {
		$("picW").value = $('imageImg').width;
		$("picH").value = $('imageImg').height;
	}
	if(navegador==0) {   
		document.detachEvent("onmousemove", enMovimiento);
		document.detachEvent("onmouseup", finMovimiento);
	}
	if(navegador==1) {
		document.removeEventListener("mousemove", enMovimiento, true);
		document.removeEventListener("mouseup", finMovimiento, true);
	}
	tempZ = $('image').style.zIndex;
	$('overlap').style.zIndex = tempZ+1;
	$('loading').style.zIndex = tempZ+2;
}
function setAction(val) {
	action = val;
}

function resizeImage(img,val) {
	if ($(img)) {
		var rImg = $(img);
		amount = 6000/rImg.width;
		rImg.style.width = parseInt(rImg.width)+(val*(parseInt(rImg.width)*amount/100))+"px";
		rImg.style.height = parseInt(rImg.height)+(val*(parseInt(rImg.height)*amount/100))+"px";
		$("picW").value = $('imageImg').width;
		$("picH").value = $('imageImg').height;
	} else {
		alert("error");
		return false;
	}
}
window.onload=carga;