var slider1;
var slider2;
var slider3;
var ppc_res_mnt;
var ppc_res_fee;
var ppc_res_teg;
var ppc_res_tot;
var ppc_res_dur;
var ppc_res_cst;
var ppc_res_type_lbl;
var ppc_res_type_img;
var ppc_res_type_img_off; 
var okForAllDurations = true;

var sim = mediatisSimulator.div;
var simType = "div";
function onSliderMouseUpCallback(id)
{
}

var isInitState=true;
function onMoveSliderCallback(elemnt, value)
{
	if(isInitState)
	{
		isInitState=false;
		urchinTracker('/simulateur/sem_ppc/');
	}
	switch(elemnt.id) 
	{
		case 'slider1':
			sim.setAmountIndexFromValue(value);
			initSlider(slider2,slider2.parentNode.offsetWidth-slider2.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
			initSlider(slider3,slider3.parentNode.offsetWidth-slider3.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
			setSliderPosFromValue(slider2, sim.getDuration());
			setSliderPosFromValue(slider3, sim.getDurationInverse());
			break;
		case 'slider2':
			sim.setDurationIndex(indexFromSlider);
			initSlider(slider3,slider3.parentNode.offsetWidth-slider3.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
			setSliderPosFromValue(slider3, sim.getDurationInverse());
			break;
		case 'slider3':
			sim.setDurationIndex(inverseIndex(indexFromSlider,sim.getDurationList().length));
			initSlider(slider2,slider2.parentNode.offsetWidth-slider2.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
			setSliderPosFromValue(slider2, sim.getDuration());
			break;
	}

	setResult();
}


function onSetType(src)
{
	//alert(src.value+' click');
	setSim(src.value);
	initSliders();
	setSliderPos();
	setResult();
}
function setSim(type)
{
	switch (type)
	{
		case "VN":
			sim = mediatisSimulator.vn;
			simType = "vn";
			break;
		case "VO":
			sim = mediatisSimulator.vo;
			simType = "vo";
			break;
		case "TWX":
			sim = mediatisSimulator.tvx;
			simType = "twx";
			break;
		case "DIV":
			sim = mediatisSimulator.div;
			simType = "div";
			break;
	}
	sim.setDurationIndex(1);	
}
function initSliders()
{
	sim.setAmountIndex(6);
	carpeGetElementById('slider1_max').innerHTML="<span class='amount'>"+utils_floatToStr(sim.getAmountMax(),0)+"&nbsp;€</span>";
	carpeGetElementById('slider1_min').innerHTML="<span class='amount'>"+utils_floatToStr(sim.getAmountMin(),0)+"&nbsp;€</span>";

	slider1 = carpeGetElementById('slider1');
	initSlider(slider1,slider1.parentNode.offsetWidth-slider1.offsetWidth,sim.getAmountCount(),sim.getAmountMin(),sim.getAmountMax());

	slider2 = carpeGetElementById('slider2');
	initSlider(slider2,slider2.parentNode.offsetWidth-slider2.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());

	slider3 = carpeGetElementById('slider3');
	initSlider(slider3,slider3.parentNode.offsetWidth-slider3.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());

	ppc_res_mnt=carpeGetElementById('ppc_res_mnt');
	ppc_res_fee=carpeGetElementById('ppc_res_fee');
	ppc_res_dur=carpeGetElementById('ppc_res_dur');
	ppc_res_teg=carpeGetElementById('ppc_res_teg');
	ppc_res_tot=carpeGetElementById('ppc_res_tot');
	ppc_res_cst=carpeGetElementById('ppc_res_cst');
}

function setSliderPos()
{
	setSliderPosFromValue(slider1, sim.getAmount());
	setSliderPosFromValue(slider2, sim.getDuration());
	setSliderPosFromValue(slider3, sim.getDurationInverse());
}

function setResult()
{
	var amount = utils_floatToStr(sim.getAmount(),0);
	var fee = utils_floatToStr(sim.getMonthlyPayment(),0);
	var dur = sim.getDuration()+"&nbsp;mois"; 
	
	slider1.innerHTML="<hr/>"+amount+"&nbsp;€";
	slider2.innerHTML="<hr/>"+dur;
	slider3.innerHTML="<hr/><nobr>"+fee+"€/mois</nobr>";
	amount+="&nbsp;<span class='euro'>€</span>";
	fee+="<span class='euro'>€</span>/mois";
	if(ppc_res_mnt!=null)ppc_res_mnt.innerHTML=amount;
	if(ppc_res_fee!=null)ppc_res_fee.innerHTML=fee;
	if(ppc_res_dur!=null)ppc_res_dur.innerHTML=dur;
	if(ppc_res_teg!=null)ppc_res_teg.innerHTML=utils_floatToStr((sim.getTeg()), 2)+"&nbsp;%";
	if(ppc_res_tot!=null)ppc_res_tot.innerHTML=utils_floatToStr(sim.getTotalCost(), 2) +"<span class='euro'>&nbsp;€</span>";
	if(ppc_res_cst!=null)ppc_res_cst.innerHTML=sim.getExpense()+"<span class='euro'>&nbsp;€</span>";
}

function onLoadPage()
{
	//urlVar_setBtnUrl();
	urlVar_setSimPpcLinks();
	initSliders();
	setSliderPos();
	setResult();

}

function onMinusClick(event)
{
	switch (utils_crsbrwfix_getEventTarget(event).id)
	{
	case 'slider1_less':
		sim.lessAmount();
		initSlider(slider2,slider2.parentNode.offsetWidth-slider2.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
		initSlider(slider3,slider3.parentNode.offsetWidth-slider3.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
		setSliderPosFromValue(slider1, sim.getAmount());
		setSliderPosFromValue(slider2, sim.getDuration());
		setSliderPosFromValue(slider3, sim.getDurationInverse());
		break;
	case 'slider2_less':
		sim.lessDuration();
		setSliderPosFromValue(slider2, sim.getDuration());
		setSliderPosFromValue(slider3, sim.getDurationInverse());
		break;
	case 'slider3_less':
		sim.moreDuration();
		setSliderPosFromValue(slider2, sim.getDuration());
		setSliderPosFromValue(slider3, sim.getDurationInverse());
		break;
	}		
	//setSliderPos();
	setResult();
}

function onPlusClick(event)
{
	switch (utils_crsbrwfix_getEventTarget(event).id)
	{
	case 'slider1_more':
		sim.moreAmount();
		initSlider(slider2,slider2.parentNode.offsetWidth-slider2.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
		initSlider(slider3,slider3.parentNode.offsetWidth-slider3.offsetWidth,sim.getDurationList().length,sim.getDurationMin(),sim.getDurationMax());
		setSliderPosFromValue(slider1, sim.getAmount());
		setSliderPosFromValue(slider2, sim.getDuration());
		setSliderPosFromValue(slider3, sim.getDurationInverse());
		break;
	case 'slider2_more':
		sim.moreDuration();
		setSliderPosFromValue(slider2, sim.getDuration());
		setSliderPosFromValue(slider3, sim.getDurationInverse());
		break;
	case 'slider3_more':
		sim.lessDuration();
		setSliderPosFromValue(slider2, sim.getDuration());
		setSliderPosFromValue(slider3, sim.getDurationInverse());
		break;
	}
	//setSliderPos();			
	setResult();
}

function ppcAppendParam()
{
	var target=document.getElementById("ppc_print").href;
	utils_openPrintPage(target,"tot="+utils_floatToStr(sim.getTotalCost(),2)+"&mnt="+utils_floatToStr(sim.getAmount(),0)+"&typ="+simType+"&mns="+utils_floatToStr(sim.getMonthlyPayment(),2)+"&teg="+utils_floatToStr(sim.getTeg(),2)+"&cst="+utils_floatToStr(sim.getExpense(),0)+"&dur="+sim.getDuration());
	return false;
}

function ppcUrlVar()
{
	var type="";
	switch(simType)
	{
	case'vn':
		type='PPCAMCVN';
		break;
	case'vo':
		type='PPCAMCVO';
		break;
	case'twx':
		type='PPCTRV';
		break;
	case'div':
		type='PPCDIV';
		break;
	}
	//return "&produit="+type+"&mtProjet="+sim.getAmount()+"&MONTANT_MENSUALITE_MAX="+sim.getMonthlyPayment();
	return "&typeProjet="+type+"&mtProjet="+sim.getAmount()+"&drProjet="+sim.getDuration();
}

function setBtn2Href(link)
{
	urlVar_appendToHrefUtmLinker(link,ppcUrlVar());
}

function inverseIndex(index,listSize){
	var inverseIndexList = new Array();
	var j = listSize-1;
	for(var i=0;i<listSize;i++){
		inverseIndexList[i] = j;
		j--;
	}
	if(index<0)
		return inverseIndexList[0];
	else if(index>=listSize)
		return inverseIndexList[listSize-1]
	else
		return inverseIndexList[index];
}
