

var dragapproved = false;
var curSlider;
var z,x;

var roeConst = 1;
var pbrConst = 50;
var perConst = 1;
var dyConst = 45;
var aeConst = 50;
var epsConst = 50;


function minMove() {
  
  if (event.button == 1 && dragapproved){
    now_pos = temp + event.clientX - x;
    
    if (now_pos >= curSlider.getMinPos1() && now_pos <= curSlider.getMaxPos1()) {
      z.style.pixelLeft = temp + event.clientX - x;
      curSlider.adjustPosByMin(z.style.pixelLeft);
      tmp = curSlider.getWidth1();
      if (curSlider.convertLenToVal(tmp) != curSlider.getVMin()) {
        document.getElementById(curSlider.minTextBox).value = curSlider.applyWeight(curSlider.convertLenToVal(tmp));
      } else {
        document.getElementById(curSlider.minTextBox).value = "-∞";
      }
      curSlider.setVPastMin(curSlider.convertLenToVal(tmp));
    }
    curSlider.adjustBarColor();
    
    return false;
  }
}

function maxMove() {
  
  if (event.button == 1 && dragapproved){
    now_pos = temp + event.clientX - x  + curSlider.getTotalWidth() - curSlider.getWidth2() - curSlider.getWidth4();
    
    if (now_pos >= curSlider.getMinPos2() && now_pos <= curSlider.getMaxPos2()) {
      z.style.pixelLeft = temp + event.clientX - x;
      curSlider.adjustPosByMax(z.style.pixelLeft);
      tmp = curSlider.getWidth1() + curSlider.getWidth3();
      if (curSlider.convertLenToVal(tmp) != curSlider.getVMax()) {
        document.getElementById(curSlider.maxTextBox).value = curSlider.applyWeight(curSlider.convertLenToVal(tmp));
      } else {
        document.getElementById(curSlider.maxTextBox).value = "+∞";
      }
      curSlider.setVPastMax(curSlider.convertLenToVal(tmp));
    }
    curSlider.adjustBarColor();
    
    return false;
  }
}


function drags() {

  if (!document.all) return;

  if (event.srcElement.className == "drag_roe_min") {
	curSlider = roeSlider;
	document.onmousemove = minMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_roe_max") {
	curSlider = roeSlider;
	document.onmousemove = maxMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_pbr_min") {
	curSlider = pbrSlider;
	document.onmousemove = minMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_pbr_max") {
	curSlider = pbrSlider;
	document.onmousemove = maxMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_per_min") {
	curSlider = perSlider;
	document.onmousemove = minMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_per_max") {
	curSlider = perSlider;
	document.onmousemove = maxMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_dy_min") {
	curSlider = dySlider;
	document.onmousemove = minMoveNoInfinity;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_dy_max") {
	curSlider = dySlider;
	document.onmousemove = maxMoveNoInfinity;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_ae_min") {
	curSlider = aeSlider;
	document.onmousemove = minMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_ae_max") {
	curSlider = aeSlider;
	document.onmousemove = maxMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_eps_min") {
	curSlider = epsSlider;
	document.onmousemove = minMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  } else if (event.srcElement.className == "drag_eps_max") {
	curSlider = epsSlider;
	document.onmousemove = maxMove;
	dragapproved = true; z=event.srcElement; temp = z.style.pixelLeft; x = event.clientX;
  }

}

var checkMsg;
var checkMsg1 = "정수를 입력해 주세요.";
var checkMsg2 = "정수나 유리수만 입력해 주세요.";
function adjustSliderByText(a, obj) {
  
	var check1 = /^-[0-9]{1,}$/; 
	var check2 = /^[0-9]{1,}$/;
	var check3 = /^-[0-9]+(.[0-9]{1,2})?$/;
	var check4 = /^[0-9]+(.[0-9]{1,2})?$/;
	v = event.srcElement.value;
	
	if (a == "drag_roe_min" && checkInt(v)) { roeSlider.adjustMinPosByText(v); }
	else if (a == "drag_roe_max" && checkInt(v)) { roeSlider.adjustMaxPosByText(v); }
	else if (a == "drag_pbr_min" && checkFloat(v)) { pbrSlider.adjustMinPosByText(v); }
	else if (a == "drag_pbr_max" && checkFloat(v)) { pbrSlider.adjustMaxPosByText(v); }
	else if (a == "drag_per_min" && checkInt(v)) { perSlider.adjustMinPosByText(v); }
	else if (a == "drag_per_max" && checkInt(v)) { perSlider.adjustMaxPosByText(v); }
	else if (a == "drag_dy_min" && checkFloat(v)) { dySlider.adjustMinPosByText(v); }
	else if (a == "drag_dy_max" && checkFloat(v)) { dySlider.adjustMaxPosByText(v); }
	else if (a == "drag_ae_min" && checkFloat(v)) { aeSlider.adjustMinPosByText(v); }
	else if (a == "drag_ae_max" && checkFloat(v)) { aeSlider.adjustMaxPosByText(v); }
	else if (a == "drag_eps_min" && checkInt(v)) { epsSlider.adjustMinPosByText(v); }
	else if (a == "drag_eps_max" && checkInt(v)) { epsSlider.adjustMaxPosByText(v); }
	else { alert(checkMsg); obj.value = ""; obj.focus(); }
  
}

function checkInt(v) {

	var check1 = /^-[0-9]{1,}$/; 
	var check2 = /^[0-9]{1,}$/;
	
	if (check1.test(v) || check2.test(v)) { return true; }
	else { checkMsg = checkMsg1; false; }
}

function checkFloat(v) {
	
	var check1 = /^-[0-9]{1,}$/; 
	var check2 = /^[0-9]{1,}$/;
	var check3 = /^-[0-9]+(.[0-9]{1,2})?$/;
	var check4 = /^[0-9]+(.[0-9]{1,2})?$/;
	
	if (check1.test(v) || check2.test(v) || check3.test(v) || check4.test(v)) { return true; }
	else { checkMsg = checkMsg1; false; }
}


function checkInfinity(a) {
  
  var z = event.srcElement;
  var temp = z.style.pixelLeft;
  var x = event.clientX;
  if (a == "drag_roe_min") { roeSlider.checkMinusInfinity(temp, x); }
  if (a == "drag_roe_max") { roeSlider.checkFlusInfinity(temp, x); }
  if (a == "drag_pbr_min") { pbrSlider.checkMinusInfinity(temp, x); }
  if (a == "drag_pbr_max") { pbrSlider.checkFlusInfinity(temp, x); }
  if (a == "drag_per_min") { perSlider.checkMinusInfinity(temp, x); }
  if (a == "drag_per_max") { perSlider.checkFlusInfinity(temp, x); }
  if (a == "drag_dy_min") { dySlider.checkMinusInfinity(temp, x); }
  if (a == "drag_dy_max") { dySlider.checkFlusInfinity(temp, x); }
  if (a == "drag_ae_min") { aeSlider.checkMinusInfinity(temp, x); }
  if (a == "drag_ae_max") { aeSlider.checkFlusInfinity(temp, x); }
  if (a == "drag_eps_min") { epsSlider.checkMinusInfinity(temp, x); }
  if (a == "drag_eps_max") { epsSlider.checkFlusInfinity(temp, x); }
}


document.onmousedown = drags;
document.onmouseup = new Function("dragapproved = false");








function conditionType(roeMin, roeMax, pbrMin, pbrMax, perMin, perMax, dyMin, dyMax, aeMin, aeMax, epsMin, epsMax) {
	this.roeMin = roeMin;
	this.roeMax = roeMax;
	this.pbrMin = pbrMin;
	this.pbrMax = pbrMax;
	this.perMin = perMin;
	this.perMax = perMax;
	this.dyMin = dyMin;
	this.dyMax = dyMax;
	this.aeMin = aeMin;
	this.aeMax = aeMax;
	this.epsMin = epsMin;
	this.epsMax = epsMax;
}
			
var conditions = new Array();
conditions[0] = new conditionType(13, 30, 0.8, 2, 0, 40, 1, 5, 1, 20 , 0, 100);
	
function initializeCondition(i) {
	document.getElementById(roeSlider.minTextBox).value = conditions[i].roeMin;
	roeSlider.adjustMinPosByText(conditions[i].roeMin, 'bach');
	document.getElementById(roeSlider.maxTextBox).value = conditions[i].roeMax;
	roeSlider.adjustMaxPosByText(conditions[i].roeMax, 'bach'); 
	document.getElementById(pbrSlider.minTextBox).value = conditions[i].pbrMin;
	pbrSlider.adjustMinPosByText(conditions[i].pbrMin, 'bach'); 
	document.getElementById(pbrSlider.maxTextBox).value = conditions[i].pbrMax;
	pbrSlider.adjustMaxPosByText(conditions[i].pbrMax, 'bach'); 
	document.getElementById(perSlider.minTextBox).value = conditions[i].perMin;
	perSlider.adjustMinPosByText(conditions[i].perMin, 'bach'); 
	document.getElementById(perSlider.maxTextBox).value = conditions[i].perMax;
	perSlider.adjustMaxPosByText(conditions[i].perMax, 'bach'); 
	document.getElementById(dySlider.minTextBox).value = conditions[i].dyMin;
	dySlider.adjustMinPosByText(conditions[i].dyMin, 'bach'); 
	document.getElementById(dySlider.maxTextBox).value = conditions[i].dyMax;
	dySlider.adjustMaxPosByText(conditions[i].dyMax, 'bach'); 
	document.getElementById(aeSlider.minTextBox).value = conditions[i].aeMin;
	aeSlider.adjustMinPosByText(conditions[i].aeMin, 'bach'); 
	document.getElementById(aeSlider.maxTextBox).value = conditions[i].aeMax;
	aeSlider.adjustMaxPosByText(conditions[i].aeMax, 'bach'); 
	document.getElementById(epsSlider.minTextBox).value = conditions[i].epsMin;
	epsSlider.adjustMinPosByText(conditions[i].epsMin, 'bach');
	document.getElementById(epsSlider.maxTextBox).value = conditions[i].epsMax;
	epsSlider.adjustMaxPosByText(conditions[i].epsMax, 'bach');
	
	document.getElementById("tblRoe").style.display = "none";
	document.getElementById("tblPbr").style.display = "none";
	document.getElementById("tblPer").style.display = "";
	document.getElementById("tblDy").style.display = "";
	document.getElementById("tblAe").style.display = "";
	document.getElementById("tblEps").style.display = "none";
}


function pbrApplyWeight(v) {
	if (v > 5 * pbrConst && v <= 6 * pbrConst) {
		v = (v - 5 * pbrConst) * 20 + 5 * pbrConst;
		return Math.round(v / pbrConst * 100) / 100;
	} else if (v > 6 * pbrConst) {
		return "+∞";
	} else if (v < 0 * pbrConst) {
		return "-∞";
	} else {
		return Math.round(v / pbrConst * 100) / 100;
	}
}

function pbrReverseApplyWeight(v) {
			
	if (v > 5 && v <= 25) {
		v = v * pbrConst;
		v = (v - 5 * pbrConst) / 20 + 5 * pbrConst;
		return v;
	} else {
		return v * pbrConst;
	}
}


function dyApplyWeight(v) {
	if (v > 5 * dyConst && v <= 6 * dyConst) {
		v = (v - 5 * dyConst) * 95 + 5 * dyConst;
		return Math.round(v / dyConst * 100) / 100;
	} else {
		return Math.round(v / dyConst * 100) / 100;
	}
}

function dyCheckMinusInfinity(temp, x) {
	//무한대값에 대한 액션 없음
}

function dyCheckFlusInfinity(temp, x) {
	//무한대값에 대한 액션 없음
}

function minMoveNoInfinity() {
		  
	if (event.button == 1 && dragapproved){
		now_pos = temp + event.clientX - x;
			
		if (now_pos >= curSlider.getMinPos1() && now_pos <= curSlider.getMaxPos1()) {
			z.style.pixelLeft = temp + event.clientX - x;
			curSlider.adjustPosByMin(z.style.pixelLeft);
			tmp = curSlider.getWidth1();
			document.getElementById(curSlider.minTextBox).style.backgroundImage = "";
			document.getElementById(curSlider.minTextBox).value = curSlider.applyWeight(curSlider.convertLenToVal(tmp));
			curSlider.setVPastMin(curSlider.convertLenToVal(tmp));
		}
		curSlider.adjustBarColor();
				
		return false;
	}
}

function maxMoveNoInfinity() {
		  
	if (event.button == 1 && dragapproved){
		now_pos = temp + event.clientX - x  + curSlider.getTotalWidth() - curSlider.getWidth2() - curSlider.getWidth4();
			
		if (now_pos >= curSlider.getMinPos2() && now_pos <= curSlider.getMaxPos2()) {
			z.style.pixelLeft = temp + event.clientX - x;
			curSlider.adjustPosByMax(z.style.pixelLeft);
			tmp = curSlider.getWidth1() + curSlider.getWidth3();
			document.getElementById(curSlider.maxTextBox).style.backgroundImage = "";
			document.getElementById(curSlider.maxTextBox).value = curSlider.applyWeight(curSlider.convertLenToVal(tmp));
			curSlider.setVPastMax(curSlider.convertLenToVal(tmp));
		}
		curSlider.adjustBarColor();
			
		return false;
	}
}

function dyReverseApplyWeight(v) {
			
	if (v > 5 && v <= 100) {
		v = v * dyConst;
		v = (v - 5 * dyConst) / 95 + 5 * dyConst;
		return v;
	} else {
		return v * dyConst;
	}
}
		
		
function aeApplyWeight(v) {
	if (v > 4 * aeConst && v <= 5 * aeConst) {
		v = (v - 4 * aeConst) * 16 + 4 * aeConst;
		return Math.round(v / aeConst * 100) / 100;
	} else if (v > 5 * aeConst) {
		return "+∞";
	} else if (v < 1 * aeConst) {
		return "-∞";
	} else {
		return Math.round(v / aeConst * 100) / 100;
	}
}

function aeReverseApplyWeight(v) {
			
	if (v > 4 && v <= 20) {
		v = v * aeConst;
		v = (v - 4 * aeConst) / 16 + 4 * aeConst;
		return v;
	} else {
		return v * aeConst;
	}
}
		
		
function epsApplyWeight(v) {
	if (v >= 0 && v <= 2 * epsConst) {
		v = v * 25;
		return Math.round(v) / epsConst;
	} else if (v > 2 * epsConst && v <= 3 * epsConst) {
		v = (v - 2 * epsConst) * 50 + 50 * epsConst;
		return Math.round(v) / epsConst;
	} else if (v > 3 * epsConst && v <= 5 * epsConst) {
		v = (v - 3 * epsConst) * 100 + 100 * epsConst;
		return Math.round(v) / epsConst;
	} else if (v > 5 * epsConst) {
		return "+∞";
	} else if (v < 0 * epsConst) {
		return "-∞";
	}
}

function epsReverseApplyWeight(v) {
			
	if (v >= 0 && v <= 50) {
		v = v * epsConst;
		v = v / 25;
		return v;
	} else if (v > 50 && v <= 100) {
		v = v * epsConst;
		v = (v - 50 * epsConst) / 50 + 2 * epsConst;
		return v;
	} else if (v > 100 && v <= 300) {
		v = v * epsConst;
		v = (v - 100 * epsConst) / 100 + 3 * epsConst;
		return v;
	}
}

function removeCover() {
	document.getElementById("tblRoe").style.display = "none";
	document.getElementById("tblPbr").style.display = "none";
	document.getElementById("tblPer").style.display = "none";
	document.getElementById("tblDy").style.display = "none";
	document.getElementById("tblAe").style.display = "none";
	document.getElementById("tblEps").style.display = "none";
}
		

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


