function moveObjRight(obj, flag)
{
	if(typeof(obj.style.left) == 'string')
	{
		var indx = obj.style.left.indexOf('p');
		var pos = obj.style.left.substr(0,indx);
	}
	else if (obj.style.pixelLeft)
	{
		pos=obj.style.pixelLeft;
	}
	else
	{
		pos=0;
	}
	if(flag == "month")
	{
		pos=Number(pos)+.76;
		if(pos >= 228)
			return false;
		document.getElementById("months_display").value=Number(document.getElementById("months_display").value)+1;
	}
	if(flag == "interest")
	{
		var val=document.getElementById("interest_display").value;
		pos=Number(pos)+4;
		if(pos >= 228)
			return false;
		document.getElementById("interest_display").value=Number(val)+.25;
	}
	if(flag == "salary")
	{
		var val=document.getElementById("income_display").value;
		pos=Number(pos)+1.194;
		if(pos >= 228)
			return false;
		document.getElementById("income_display").value=Number(val)+1000;
	}
	if(typeof(obj.style.left) == 'string')
	{
		obj.style.left=pos+'px';
	}
	else if (obj.style.pixelLeft)
	{
		obj.style.pixelLeft=pos;
	}
	else
	{
		pos=0;
	}
	cal_eligibility();
}
function moveObjLeft(obj, flag)
{
	if(typeof(obj.style.left) == 'string')
	{
		var indx = obj.style.left.indexOf('p');
		var pos = obj.style.left.substr(0,indx);
	}
	else if (obj.style.pixelLeft)
	{
		pos=obj.style.pixelLeft;
	}
	else
	{
		pos=0;
	}
	if(flag == "month")
	{
		pos=Number(pos)-.76;
		if(pos < 0)
			return false;
		document.getElementById("months_display").value=Number(document.getElementById("months_display").value)-1;
	}
	if(flag == "interest")
	{
		var val=document.getElementById("interest_display").value;
		pos=Number(pos)-4;
		if(pos < 0)
			return false;
		document.getElementById("interest_display").value=Number(val)-.25;
	}
	if(flag == "salary")
	{
		var val=document.getElementById("income_display").value;
		pos=Number(pos)-1.194;
		if(pos < 0)
			return false;
		document.getElementById("income_display").value=Number(val)-1000;
	}
	if(typeof(obj.style.left) == 'string')
	{
		obj.style.left=pos+'px';
	}
	else if (obj.style.pixelLeft)
	{
		obj.style.pixelLeft=pos;
	}
	else
	{
		pos=0;
	}
	cal_eligibility();
} 
function cal_eligibility(value, box)
{
	var LAMT=100000;
	var LPeriod = document.getElementById("months_display").value/12;
	var Ra = (document.getElementById("interest_display").value)/100;
	var sal = document.getElementById("income_display").value;
	repay_max=50;
	repay_min=35;
	var repayment_max=(sal*repay_max)/100;
	var repayment_min=(sal*repay_min)/100;
	var CalRa=Math.pow((1+(Ra/12)),(12*LPeriod));
	var EMIm=(parseFloat(LAMT)/((1-(1/(CalRa)))/(Ra/12)));
	var eligible_max=Math.round((repayment_max/EMIm));
	var eligible_min=Math.round((repayment_min/EMIm));
	var max_unit=" Lacs";
	var min_unit=" Lacs";
	if(eligible_max >= 100)
	{
		max_unit=" Cr";
		eligible_max/=100;
		eligible_max = Math.round(eligible_max*100)/100
	}
	if(eligible_min >= 100)
	{
		min_unit=" Cr";
		eligible_min/=100;
		eligible_min = Math.round(eligible_min*100)/100
	}
	document.getElementById("result_eligible").innerHTML =" "+eligible_min+min_unit+" - "+eligible_max+max_unit;
}
function reset_eligibility(default_min)
{
	var default_salary = 60000;
	var default_months = 180;
	var default_interest = 8.75;
	if(default_min)
	{
		var eligible_min = new Array();
		var eligible_min = default_min.split(" ",2);
		eligible_min[0]=(Number(eligible_min[0])*80)/100;

		if(eligible_min[1] == "Cr")
			eligible_min[0]*=100;
		var repay_min = eligible_min[0] * 999 //999: EMI for 1Lakh, 150 months, 8.75%
			//check the range of repay_min
			var repay_per = 35;
		default_salary = (repay_min * 100)/repay_per;
		default_salary = Math.round(default_salary/1000)*1000;
	}
	if(default_salary>200000)
		default_salary = 200000;
	if(default_salary<10000)
		default_salary = 10000;
	document.getElementById("months_display").value=default_months;
	document.getElementById("interest_display").value=default_interest;
	document.getElementById("income_display").value=default_salary;
	cal_eligibility();
	//position of salary slider
	pos=((default_salary/1000)-10)*1.194;
	obj = document.getElementById('salaryid');
	if(typeof(obj.style.left) == 'string')
	{
		obj.style.left=pos+'px';
	}
	else if (obj.style.pixelLeft)
	{
		obj.style.pixelLeft=pos;
	}
	else
	{
		pos=0;
	}
}
// draggerGetElementByID: Cross-browser version of "document.getElementById()"
function draggerGetElementById(element)
{
	if (document.getElementById) element = document.getElementById(element);
	else if (document.all) element = document.all[element];
	else element = null;
	return element;
}
// draggerLeft: Cross-browser version of "element.style.left"
function draggerLeft(elmnt, pos)
{
	if (!(elmnt = draggerGetElementById(elmnt))) return 0;
	if (elmnt.style && (typeof(elmnt.style.left) == 'string')) {
		if (typeof(pos) == 'number') elmnt.style.left = pos + 'px';
		else {
			pos = parseInt(elmnt.style.left);
			if (isNaN(pos)) pos = 0;
		}
	}
	else if (elmnt.style && elmnt.style.pixelLeft) {
		if (typeof(pos) == 'number') elmnt.style.pixelLeft = pos;
		else pos = elmnt.style.pixelLeft;
	}
	return pos;
}
// draggerTop: Cross-browser version of "element.style.top"
function draggerTop(elmnt, pos)
{
	if (!(elmnt = draggerGetElementById(elmnt))) return 0;
	if (elmnt.style && (typeof(elmnt.style.top) == 'string')) {
		if (typeof(pos) == 'number') elmnt.style.top = pos + 'px';
		else {
			pos = parseInt(elmnt.style.top);
			if (isNaN(pos)) pos = 0;
		}
	}
	else if (elmnt.style && elmnt.style.pixelTop) {
		if (typeof(pos) == 'number') elmnt.style.pixelTop = pos;
		else pos = elmnt.style.pixelTop;
	}
	return pos;
}
// moveSlider: Handles slider and display while dragging
function moveSlider(evnt)
{
	var evnt = (!evnt) ? window.event : evnt; // The mousemove event
	if (mouseover) { // Only if slider is dragged
		x = pxLeft + evnt.screenX - xCoord // Horizontal mouse position relative to allowed slider positions
			y = pxTop + evnt.screenY - yCoord // Horizontal mouse position relative to allowed slider positions
			if (x > xMax) x = xMax // Limit horizontal movement
				if (x < 0) x = 0 // Limit horizontal movement
					if (y > yMax) y = yMax // Limit vertical movement
						if (y < 0) y = 0 // Limit vertical movement
							draggerLeft(sliderObj.id, x)  // move slider to new horizontal position
								draggerTop(sliderObj.id, y) // move slider to new vertical position
								sliderVal = x + y // pixel value of slider regardless of orientation
								sliderPos = (sliderObj.pxLen / sliderObj.valCount) * Math.round(sliderObj.valCount * sliderVal / sliderObj.pxLen)
								v = Math.round((sliderPos * sliderObj.scale + sliderObj.fromVal) * // calculate display value
										Math.pow(10, displayObj.dec)) / Math.pow(10, displayObj.dec)
								displayObj.value = v // put the new value in the slider display element
								cal_eligibility(v,displayObj.id);
		return false
	}
	return
}
// moveSlider: Handles the start of a slider move.
function slide(evnt, orientation, length, from, to, count, decimals, display)
{
	if (!evnt) evnt = window.event;
	sliderObj = (evnt.target) ? evnt.target : evnt.srcElement; // Get the activated slider element.
	sliderObj.pxLen = length // The allowed slider movement in pixels.
		sliderObj.valCount = count ? count - 1 : length // Allowed number of values in the interval.
		displayObj = draggerGetElementById(display) // Get the associated display element.
		displayObj.dec = decimals // Number of decimals to be displayed.
		sliderObj.scale = (to - from) / length // Slider-display scale [value-change per pixel of movement].
		if (orientation == 'horizontal') { // Set limits for horizontal sliders.
			sliderObj.fromVal = from
				xMax = length
				yMax = 0
		}
	if (orientation == 'vertical') { // Set limits and scale for vertical sliders.
		sliderObj.fromVal = to
			xMax = 0
			yMax = length
			sliderObj.scale = -sliderObj.scale // Invert scale for vertical sliders. "Higher is more."
	}
	pxLeft = draggerLeft(sliderObj.id) // Sliders horizontal postion at start of slide.
		pxTop  = draggerTop(sliderObj.id) // Sliders vertical position at start of slide.
		xCoord = evnt.screenX // Horizontal mouse position at start of slide.
		yCoord = evnt.screenY // Vertical mouse position at start of slide.
		mouseover = true
		document.onmousemove = moveSlider // Start the action if the mouse is dragged.
		document.onmouseup = sliderMouseUp // Stop sliding.
		return false;
}
// sliderMouseup: Handles the mouseup event after moving a slider.
// Snaps the slider position to allowed/displayed value. 
function sliderMouseUp()
{
	mouseover = false // Stop the sliding.
		v = (displayObj.value) ? displayObj.value : 0 // Find last display value.
		pos = (v - sliderObj.fromVal)/(sliderObj.scale) // Calculate slider position (regardless of orientation).
		if (yMax == 0) draggerLeft(sliderObj.id, pos) // Snap horizontal slider to corresponding display position.
			if (xMax == 0) draggerTop(sliderObj.id, pos) // Snap vertical slider to corresponding display position.
				if (document.removeEventListener) { // Remove event listeners from 'document' (Moz&co).
					document.removeEventListener('mousemove', moveSlider,false)
						document.removeEventListener('mouseup', sliderMouseUp,false)
				}
				else if (document.detachEvent) { // Remove event listeners from 'document' (IE&co).
					document.detachEvent('onmousemove', moveSlider)
						document.detachEvent('onmouseup', sliderMouseUp)
				}
}

