﻿/* *********************************************************************************************************************
 * Author        : David Li (david.li@daimler.com) @ DFS AAP, HQ in Singapore                                         *
 * Date          : 09 April, 2008                                                                                     *
 * Last Change   : Ayush Vij @ 11 November, 2009                                                                      *
 * Description   : Script to define browser display style                                                                 *
 **********************************************************************************************************************/

/* This script defines the style of the pop-up box in "Model Finder". */

	
/* Slider.js */

function slider (a_init, a_tpl) {

	this.f_setValue  = f_sliderSetValue;
	this.f_getPos    = f_sliderGetPos;
	
	// register in the global collection	
	if (!window.A_SLIDERS)
		window.A_SLIDERS = [];
	this.n_id = window.A_SLIDERS.length;
	window.A_SLIDERS[this.n_id] = this;

	// save config parameters in the slider object
	var s_key;
	if (a_tpl)
		for (s_key in a_tpl)
			this[s_key] = a_tpl[s_key];
	for (s_key in a_init)
		this[s_key] = a_init[s_key];

	this.n_pix2value = this.n_pathLength / (this.n_maxValue - this.n_minValue);
	if (this.n_value == null)
		this.n_value = this.n_minValue;

	// generate the control's HTML
	document.write(
		'<div style="width:' + this.n_controlWidth + 'px;height:' + this.n_controlHeight + 'px;border:0; background-image:url(' + this.s_imgControl + ')" id="sl' + this.n_id + 'base">' +
		'<img src="' + this.s_imgSlider + '" width="' + this.n_sliderWidth + '" height="' + this.n_sliderHeight + '" border="0" style="position:relative;left:' + this.n_pathLeft + 'px;top:' + this.n_pathTop + 'px;z-index:' + this.n_zIndex + ';cursor:hand;visibility:hidden;" name="sl' + this.n_id + 'slider" id="sl' + this.n_id + 'slider" onmousedown="return f_sliderMouseDown(' + this.n_id + ')"/></div>'
	);
	this.e_base   = get_element('sl' + this.n_id + 'base');
	this.e_slider = get_element('sl' + this.n_id + 'slider');
	
	// safely hook document/window events
	if (document.onmousemove != f_sliderMouseMove) {
		window.f_savedMouseMove = document.onmousemove;
		document.onmousemove = f_sliderMouseMove;
	}
	if (document.onmouseup != f_sliderMouseUp) {
		window.f_savedMouseUp = document.onmouseup;
		document.onmouseup = f_sliderMouseUp;
	}
	// preset to the value in the input box if available
	var e_input = this.s_form == null
		? get_element(this.s_name)
		: document.forms[this.s_form]
			? document.forms[this.s_form].elements[this.s_name]
			: null;
	this.f_setValue(e_input && e_input.value != '' ? e_input.value : null, 1);
	this.e_slider.style.visibility = 'visible';
}


function f_sliderSetValue (n_value, b_noInputCheck) {
	if (n_value == null)
		n_value = this.n_value == null ? this.n_minValue : this.n_value;
	if (isNaN(n_value))
		return false;
	// round to closest multiple if step is specified
	if (this.n_step)
		n_value = Math.round((n_value - this.n_minValue) / this.n_step) * this.n_step + this.n_minValue;
	// smooth out the result
	if (n_value % 1)
		n_value = Math.round(n_value * 1e5) / 1e5;

	if (n_value < this.n_minValue)
		n_value = this.n_minValue;
	if (n_value > this.n_maxValue)
		n_value = this.n_maxValue;

	this.n_value = n_value;

	// move the slider
	if (this.b_vertical)
		this.e_slider.style.top  = (this.n_pathTop + this.n_pathLength - Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';
	else
		this.e_slider.style.left = (this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';

	// save new value
	var e_input;
	if (this.s_form == null) {
		e_input = get_element(this.s_name);
		if (!e_input)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with ID='" + this.s_name + "'.");
	}
	else {
		var e_form = document.forms[this.s_form];
		if (!e_form)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the form with NAME='" + this.s_form + "'.");
		e_input = e_form.elements[this.s_name];
		if (!e_input)
			return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with NAME='" + this.s_name + "'.");
	}
	e_input.value = n_value;

	if (_MODE == "modelFinder" )
		{
			recalculateModelFinder();
		}
	if (_MODE == "paymentCalculator" )
		{
			if (_COUNTRY != "AU") recalculatePaymentCalculator();
		}
}

// get absolute position of the element in the document
function f_sliderGetPos (b_vertical, b_base) {
	var n_pos = 0,
		s_coord = (b_vertical ? 'Top' : 'Left');
	var o_elem = o_elem2 = b_base ? this.e_base : this.e_slider;
	
	while (o_elem) {
		n_pos += o_elem["offset" + s_coord];
		o_elem = o_elem.offsetParent;
	}
	o_elem = o_elem2;

	var n_offset;
	while (o_elem.tagName != "BODY") {
		n_offset = o_elem["scroll" + s_coord];
		if (n_offset)
			n_pos -= o_elem["scroll" + s_coord];
		o_elem = o_elem.parentNode;
	}
	return n_pos;
}

function f_sliderMouseDown (n_id) {
	window.n_activeSliderId = n_id;
	return false;
}

function f_sliderMouseUp (e_event, b_watching) {
	if (window.n_activeSliderId != null) {
		var o_slider = window.A_SLIDERS[window.n_activeSliderId];
		o_slider.f_setValue(o_slider.n_minValue + (o_slider.b_vertical
			? (o_slider.n_pathLength - parseInt(o_slider.e_slider.style.top) + o_slider.n_pathTop)
			: (parseInt(o_slider.e_slider.style.left) - o_slider.n_pathLeft)) / o_slider.n_pix2value);
		if (b_watching)	return;
		window.n_activeSliderId = null;
	}
	if (window.f_savedMouseUp)
		return window.f_savedMouseUp(e_event);
}

function f_sliderMouseMove (e_event) {
	if (!e_event && window.event) e_event = window.event;

	// save mouse coordinates
	if (e_event) {
		window.n_mouseX = e_event.clientX + f_scrollLeft();
		window.n_mouseY = e_event.clientY + f_scrollTop();
	}

	// check if in drag mode
	if (window.n_activeSliderId != null) {
		var o_slider = window.A_SLIDERS[window.n_activeSliderId];

		var n_pxOffset;
		if (o_slider.b_vertical) {
			var n_sliderTop = window.n_mouseY - o_slider.n_sliderHeight / 2 - o_slider.f_getPos(1, 1) - 3;
			// limit the slider movement
			if (n_sliderTop < o_slider.n_pathTop)
				n_sliderTop = o_slider.n_pathTop;
			var n_pxMax = o_slider.n_pathTop + o_slider.n_pathLength;
			if (n_sliderTop > n_pxMax)
				n_sliderTop = n_pxMax;
			o_slider.e_slider.style.top = n_sliderTop + 'px';
			n_pxOffset = o_slider.n_pathLength - n_sliderTop + o_slider.n_pathTop;
		}
		else {
			var n_sliderLeft = window.n_mouseX - o_slider.n_sliderWidth / 2 - o_slider.f_getPos(0, 1) - 3;
			// limit the slider movement
			if (n_sliderLeft < o_slider.n_pathLeft)
				n_sliderLeft = o_slider.n_pathLeft;
			var n_pxMax = o_slider.n_pathLeft + o_slider.n_pathLength;
			if (n_sliderLeft > n_pxMax)
				n_sliderLeft = n_pxMax;
			o_slider.e_slider.style.left = n_sliderLeft + 'px';
			n_pxOffset = n_sliderLeft - o_slider.n_pathLeft;
		}
		if (o_slider.b_watch)
			 f_sliderMouseUp(e_event, 1);

		return false;
	}
	
	if (window.f_savedMouseMove)
		return window.f_savedMouseMove(e_event);
}

// get the scroller positions of the page
function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}
function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel))) n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_sliderError (n_id, s_message) {
	alert("Slider #" + n_id + " Error:\n" + s_message);
	window.n_activeSliderId = null;
}

get_element = document.all ?
	function (s_id) { return document.all[s_id] } :
	function (s_id) { return document.getElementById(s_id) };
	
	
	
/* Footer.js */
function positionFooterInit() {

            window.onscroll = positionFooter;
            window.onresize = positionFooter;
            positionFooter();

}

function positionFooter() {
            try {

                var pageFooterE = document.getElementById('pageFooter');
                pageFooterE.style.position = "absolute";
                pageFooterE.style.display = "inline";
                pageFooterE.style.top = (document.body.clientHeight + document.body.scrollTop - pageFooterE.offsetHeight);
                pageFooterE.style.left = 0;

            } catch (e) { }

}

/* Shadow.js */

/* Define the fading effect of "Model Finder" */

nereidFadeObjects = new Object();   
nereidFadeTimers = new Object(); 
 
function nereidFade(object, destOp, rate, delta){
	if (!document.all) 
		return;
	if (object != "[object]") { //do this so I can take a string too
		setTimeout("nereidFade(" + object + "," + destOp + "," + rate + "," + delta + ")", 0);
		return;
	}
	try {
		//For Internet Explorer 
		clearTimeout(nereidFadeTimers[object.sourceIndex]);
		diff = destOp - object.filters.alpha.opacity;
		direction = 1;
		
		if (object.filters.alpha.opacity > destOp) {
			direction = -1;
		}
		delta = Math.min(direction * diff, delta);
		
		object.filters.alpha.opacity += direction * delta;
		
		if (object.filters.alpha.opacity != destOp) {
			nereidFadeObjects[object.sourceIndex] = object;
			nereidFadeTimers[object.sourceIndex] = setTimeout("nereidFade(nereidFadeObjects[" + object.sourceIndex + "]," + destOp + "," + rate + "," + delta + ")", rate);
		}
	} 
	
	catch (e) {
		//For Mozilla Firefox, Google Chrome, Etc
		
		if (dest0p > 1) {
			dest0p /= 100;
		}
		if (delta > 1) {
			delta /= 100;
		}
		var currOpacity = parseFloat(object.style.MozOpacity);
		clearTimeout(nereidFadeTimers[object.sourceIndex]);
		diff = destOp - currOpacity;
		direction = 1;
		if (currOpacity > destOp) {
			direction = -1;
		}
		delta = Math.min(direction * diff, delta);
		
		object.style.MozOpacity = currOpacity + direction * delta;
		if (object.style.MozOpacity != destOp) {
			nereidFadeObjects[object.sourceIndex] = object;
			nereidFadeTimers[object.sourceIndex] = setTimeout("nereidFade(nereidFadeObjects[" + object.sourceIndex + "]," + destOp + "," + rate + "," + delta + ")", rate);
		}
	}
}	

function appear (object) {
	try {
		object.filters.alpha.opacity = 100;
	}
	catch (e) {
		object.style.MozOpacity = 100;
	}
	}
	
function appearHalf (object) {
	try {
	object.filters.alpha.opacity = 50;
	}
	catch (e) {
		object.style.MozOpacity = 50;
	}
}
	
	
/* Window.js */

var ua = navigator.userAgent
var ps = navigator.productSub 
var dom = (document.getElementById)? 1:0
var ie4 = (document.all&&!dom)? 1:0
var ie5 = (document.all&&dom)? 1:0
var nn4 =(navigator.appName.toLowerCase() == "netscape" && parseInt(navigator.appVersion) == 4)
var nn6 = (dom&&!ie5)? 1:0
var sNav = (nn4||nn6||ie4||ie5)? 1:0
var cssFilters = ((ua.indexOf("MSIE 5.5")>=0||ua.indexOf("MSIE 6")>=0)&&ua.indexOf("Opera")<0)? 1:0
var Text=[],Count=0,sbw=0,move=0,hs="",mx,my,scl,sct,ww,wh,obj,sl,st,ih,iw,vl,hl,sv,evlh,evlw,tbody
var HideTip = "eval(obj+sv+hl+';'+obj+sl+'=0;'+obj+st+'=-800')"
var doc_root = ((ie5&&ua.indexOf("Opera")<0||ie4)&&document.compatMode=="CSS1Compat")? "document.documentElement":"document.body"
var PX = (nn6)? "px" :""

if(sNav) {
	window.onresize = ReloadTip
	document.onmousemove = MoveTip
	if(nn4) document.captureEvents(Event.MOUSEMOVE)
}	
	
if(nn4||nn6) {
	mx = "e.pageX"
	my = "e.pageY"
	scl = "window.pageXOffset"
	sct = "window.pageYOffset"	
	if(nn4) {
		obj = "document.TipLayer."
		sl = "left"
		st = "top"
		ih = "clip.height"
		iw = "clip.width"
		vl = "'show'"
		hl = "'hide'"
		sv = "visibility="
	}
	else obj = "document.getElementById('TipLayer')."
} 
if(ie4||ie5) {
	obj = "TipLayer."
	mx = "event.x"
	my = "event.y"
	scl = "eval(doc_root).scrollLeft"
	sct = "eval(doc_root).scrollTop"
	if(ie5) {
		mx = mx+"+"+scl 
		my = my+"+"+sct
	}
}
if(ie4||dom){
	sl = "style.left"
	st = "style.top"
	ih = "offsetHeight"
	iw = "offsetWidth"
	vl = "'visible'"
	hl = "'hidden'"
	sv = "style.visibility="
}
if(ie4||ie5||ps>=20020823) {
	ww = "eval(doc_root).clientWidth"
	wh = "eval(doc_root).clientHeight"
}	 
else { 
	ww = "window.innerWidth"
	wh = "window.innerHeight"
	evlh = eval(wh)
	evlw = eval(ww)
	sbw=15
}	

function applyCssFilter(){
	if(cssFilters&&FiltersEnabled) { 
		var dx = " progid:DXImageTransform.Microsoft."
		TipLayer.style.filter = "revealTrans()"+dx+"Fade(Overlap=1.00 enabled=0)"+dx+"Inset(enabled=0)"+dx+"Iris(irisstyle=PLUS,motion=in enabled=0)"+dx+"Iris(irisstyle=PLUS,motion=out enabled=0)"+dx+"Iris(irisstyle=DIAMOND,motion=in enabled=0)"+dx+"Iris(irisstyle=DIAMOND,motion=out enabled=0)"+dx+"Iris(irisstyle=CROSS,motion=in enabled=0)"+dx+"Iris(irisstyle=CROSS,motion=out enabled=0)"+dx+"Iris(irisstyle=STAR,motion=in enabled=0)"+dx+"Iris(irisstyle=STAR,motion=out enabled=0)"+dx+"RadialWipe(wipestyle=CLOCK enabled=0)"+dx+"RadialWipe(wipestyle=WEDGE enabled=0)"+dx+"RadialWipe(wipestyle=RADIAL enabled=0)"+dx+"Pixelate(MaxSquare=35,enabled=0)"+dx+"Slide(slidestyle=HIDE,Bands=25 enabled=0)"+dx+"Slide(slidestyle=PUSH,Bands=25 enabled=0)"+dx+"Slide(slidestyle=SWAP,Bands=25 enabled=0)"+dx+"Spiral(GridSizeX=16,GridSizeY=16 enabled=0)"+dx+"Stretch(stretchstyle=HIDE enabled=0)"+dx+"Stretch(stretchstyle=PUSH enabled=0)"+dx+"Stretch(stretchstyle=SPIN enabled=0)"+dx+"Wheel(spokes=16 enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=forward enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=0,motion=reverse enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=forward enabled=0)"+dx+"GradientWipe(GradientSize=1.00,wipestyle=1,motion=reverse enabled=0)"+dx+"Zigzag(GridSizeX=8,GridSizeY=8 enabled=0)"+dx+"Alpha(enabled=0)"+dx+"Dropshadow(OffX=3,OffY=3,Positive=true,enabled=0)"+dx+"Shadow(strength=3,direction=135,enabled=0)"
	}
}

function stm(t,s) {
  if(sNav) {
		var ab = "" ;var ap = ""
		var titCol = (s[0])? "COLOR='"+s[0]+"'" : ""
		var txtCol = (s[1])? "COLOR='"+s[1]+"'" : ""
		var titBgCol = (s[2])? "BGCOLOR='"+s[2]+"'" : ""
		var txtBgCol = (s[3])? "BGCOLOR='"+s[3]+"'" : ""
		var titBgImg = (s[4])? "BACKGROUND='"+s[4]+"'" : ""	
		var txtBgImg = (s[5])? "BACKGROUND='"+s[5]+"'" : ""
		var titTxtAli = (s[6] && s[6].toLowerCase()!="left")? "ALIGN='"+s[6]+"'" : ""
		var txtTxtAli = (s[7] && s[7].toLowerCase()!="left")? "ALIGN='"+s[7]+"'" : ""   
		var add_height = (s[15])? "HEIGHT='"+s[15]+"'" : ""
		if(!s[8])  s[8] = "Verdana,Arial,Helvetica"
		if(!s[9])  s[9] = "Verdana,Arial,Helvetica"					
		if(!s[12]) s[12] = 1
		if(!s[13]) s[13] = 1
		if(!s[14]) s[14] = 200
		if(!s[16]) s[16] = 0
		if(!s[17]) s[17] = 0
		if(!s[18]) s[18] = 10
		if(!s[19]) s[19] = 10
		hs = s[11].toLowerCase() 
		if(ps==20001108){
		if(s[2]) ab="STYLE='border:"+s[16]+"px solid"+" "+s[2]+"'"
		ap="STYLE='padding:"+s[17]+"px "+s[17]+"px "+s[17]+"px "+s[17]+"px'"}
		var closeLink=(hs=="sticky")? "<TD ALIGN='right'><FONT SIZE='"+s[12]+"' FACE='"+s[8]+"'><A HREF='javascript:void(0)' ONCLICK='stickyhide()' STYLE='text-decoration:none;color:"+s[0]+"'><B>Close</B></A></FONT></TD>":""
		var title=(t[0]||hs=="sticky")? "<TABLE WIDTH='100%' BORDER='0' CELLPADDING='0' CELLSPACING='0'><TR><TD "+titTxtAli+"><FONT SIZE='"+s[12]+"' FACE='"+s[8]+"' "+titCol+"><B>"+t[0]+"</B></FONT></TD>"+closeLink+"</TR></TABLE>" : ""
		var txt="<TABLE "+titBgImg+" "+ab+" WIDTH='"+s[14]+"' BORDER='0' CELLPADDING='"+s[16]+"' CELLSPACING='0' "+titBgCol+" ><TR><TD>"+title+"<TABLE WIDTH='100%' "+add_height+" BORDER='0' CELLPADDING='"+s[17]+"' CELLSPACING='0' "+txtBgCol+" "+txtBgImg+"><TR><TD "+txtTxtAli+" "+ap+" VALIGN='top'><FONT SIZE='"+s[13]+"' FACE='"+s[9]+"' "+txtCol +">"+t[1]+"</FONT></TD></TR></TABLE></TD></TR></TABLE>"
		if(nn4) {
			with(eval(obj+"document")) {
				open()
				write(txt)
				close()
			}
		}
		else eval(obj+"innerHTML=txt")
			tbody = {
			Pos:s[10].toLowerCase(), 
			Xpos:s[18],
			Ypos:s[19], 
			Transition:s[20],
			Duration:s[21], 
			Alpha:s[22],
			ShadowType:s[23].toLowerCase(),
			ShadowColor:s[24],
			Width:parseInt(eval(obj+iw)+3+sbw)
		}
		if(ie4) { 
			TipLayer.style.width = s[14]
	 		tbody.Width = s[14]
		}
		Count=0	
		move=1
  }
}

function MoveTip(e) {
	if(move) {
		var X,Y,MouseX = eval(mx),MouseY = eval(my); tbody.Height = parseInt(eval(obj+ih)+3)
		tbody.wiw = parseInt(eval(ww+"+"+scl)); tbody.wih = parseInt(eval(wh+"+"+sct))
		switch(tbody.Pos) {
			case "left" : X=MouseX-tbody.Width-tbody.Xpos; Y=MouseY+tbody.Ypos; break
			case "center": X=MouseX-(tbody.Width/2); Y=MouseY+tbody.Ypos; break
			case "float": X=tbody.Xpos+eval(scl); Y=tbody.Ypos+eval(sct); break	
			case "fixed": X=tbody.Xpos; Y=tbody.Ypos; break		
			default: X=MouseX+tbody.Xpos; Y=MouseY+tbody.Ypos
		}

		if(tbody.wiw<tbody.Width+X) X = tbody.wiw-tbody.Width
		if(tbody.wih<tbody.Height+Y+sbw) {
			if(tbody.Pos=="float"||tbody.Pos=="fixed") Y = tbody.wih-tbody.Height-sbw
			else Y = MouseY-tbody.Height
		}
		if(X<0) X=0 
		eval(obj+sl+"=X+PX;"+obj+st+"=Y+PX")
		ViewTip()
	}
}

function ViewTip() {
  	Count++
	if(Count == 1) {
		if(cssFilters&&FiltersEnabled) {	
			for(Index=28; Index<31; Index++) { TipLayer.filters[Index].enabled = 0 }
			for(s=0; s<28; s++) { if(TipLayer.filters[s].status == 2) TipLayer.filters[s].stop() }
			if(tbody.Transition == 51) tbody.Transition = parseInt(Math.random()*50)
			var applyTrans = (tbody.Transition>-1&&tbody.Transition<24&&tbody.Duration>0)? 1:0
			var advFilters = (tbody.Transition>23&&tbody.Transition<51&&tbody.Duration>0)? 1:0
			var which = (applyTrans)?0:(advFilters)? tbody.Transition-23:0 
			if(tbody.Alpha>0&&tbody.Alpha<100) {
	  			TipLayer.filters[28].enabled = 1
	  			TipLayer.filters[28].opacity = tbody.Alpha
			}
			if(tbody.ShadowColor&&tbody.ShadowType == "simple") {
	  			TipLayer.filters[29].enabled = 1
	  			TipLayer.filters[29].color = tbody.ShadowColor
			}
			else if(tbody.ShadowColor&&tbody.ShadowType == "complex") {
	  			TipLayer.filters[30].enabled = 1
	  			TipLayer.filters[30].color = tbody.ShadowColor
			}
			if(applyTrans||advFilters) {
				eval(obj+sv+hl)
	  			if(applyTrans) TipLayer.filters[0].transition = tbody.Transition
	  			TipLayer.filters[which].duration = tbody.Duration 
	  			TipLayer.filters[which].apply()
			}
		}
 		eval(obj+sv+vl)
		if(cssFilters&&FiltersEnabled&&(applyTrans||advFilters)) TipLayer.filters[which].play()
		if(hs == "sticky") move=0
  	}
}

function stickyhide() { eval(HideTip) }

function ReloadTip() {
	 if(nn4&&(evlw!=eval(ww)||evlh!=eval(wh))) location.reload()
	 else if(hs == "sticky") eval(HideTip)
}

function htm() {
	if(sNav) {
		if(hs!="keep") {
			move=0; 
			if(hs!="sticky") eval(HideTip)
		}	
	} 
}

/* This is to write the pop-up box in "Model Finder" */
function popupText(vehicleSeries) {
	var table = "";
	var price = entryModel(_TABMODEL, vehicleSeries).price;

	if (("CN" == _COUNTRY)||("TW" == _COUNTRY)) {
		var monthlyPayLoan24 = monthlyPayment(price, price * 0.2, getRate(24) / 100, 12, 0, 24, 0);
		var monthlyPayLoan36 = monthlyPayment(price, price * 0.2, getRate(36) / 100, 12, 0, 36, 0);
		var monthlyPayLoan48 = monthlyPayment(price, price * 0.2, getRate(48) / 100, 12, 0, 48, 0);
	}
	else if (_COUNTRY == "CH") {
		if (_FINPRODUCT == "F"){
			var monthlyPayLoan24 = monthlyPayment(price, price * 0.1, getRateByAmount(price * 0.9) / 100, 12, 0, 24, 0);
			var monthlyPayLoan36 = monthlyPayment(price, price * 0.1, getRateByAmount(price * 0.9) / 100, 12, 0, 36, 0);
			var monthlyPayLoan48 = monthlyPayment(price, price * 0.1, getRateByAmount(price * 0.9) / 100, 12, 0, 48, 0);
			var monthlyPayLoan60 = monthlyPayment(price, price * 0.1, getRateByAmount(price * 0.9) / 100, 12, 0, 60, 0);
		}
		if (_FINPRODUCT == "L"){
			var Lpa = 10000;
			var GP = entryModel(_TABMODEL, vehicleSeries).GP;
			var IV = entryModel(_TABMODEL, vehicleSeries).IV;
			var Fm = entryModel(_TABMODEL, vehicleSeries).Fm;
			var FI = entryModel(_TABMODEL, vehicleSeries).FI;
			var pricewoVAT = price/(1 + _VAT);			

			var month = 24;			
			var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
			var RV = RVp * price/(1 + _VAT);
			var temp = monthlyPayment(pricewoVAT, price * 0.1, getRateByAmount(price) / 100, 12, RV, 24, 1);
			var temp2 = temp * _VAT;
			temp = Math.round(temp);
			temp2 = Math.round(temp2);
			var monthlyPayLoan24 = temp + temp2;
			
			var month = 36;			
			var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
			var RV = RVp * price/(1 + _VAT);
			var temp = monthlyPayment(pricewoVAT, price * 0.1, getRateByAmount(price) / 100, 12, RV, 36, 1);
			var temp2 = temp * _VAT;
			temp = Math.round(temp);
			temp2 = Math.round(temp2);
			var monthlyPayLoan36 = temp + temp2;

			var month = 48;			
			var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
			var RV = RVp * price/(1 + _VAT);
			var temp = monthlyPayment(pricewoVAT, price * 0.1, getRateByAmount(price) / 100, 12, RV, 48, 1);
			var temp2 = temp * _VAT;
			temp = Math.round(temp);
			temp2 = Math.round(temp2);
			var monthlyPayLoan48 = temp + temp2;
			
			var month = 60;			
			var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
			var RV = RVp * price/(1 + _VAT);
			var temp = monthlyPayment(pricewoVAT, price * 0.1, getRateByAmount(price) / 100, 12, RV, 60, 1);
			var temp2 = temp * _VAT;
			temp = Math.round(temp);
			temp2 = Math.round(temp2);
			var monthlyPayLoan60 = temp + temp2;

		}
	} //CH end
	else if ("KO" == _COUNTRY) {
		setRate();
		if ((_FINPRODUCT == "F") || (_FINPRODUCT == "L")) {
			var monthlyPayLoan24 = monthlyPayment(price, price * 0.3, getRate(24) / 100, 12, 0, 24, 0);
			var monthlyPayLoan36 = monthlyPayment(price, price * 0.3, getRate(36) / 100, 12, 0, 36, 0);
			var monthlyPayLoan48 = monthlyPayment(price, price * 0.3, getRate(48) / 100, 12, 0, 48, 0);
			
		}
		else if (_FINPRODUCT == "OL") {
				var Lpa = 20000;
				var GP = entryModel(_TABMODEL, vehicleSeries).GP;
				var IV = entryModel(_TABMODEL, vehicleSeries).IV;
				var Fm = entryModel(_TABMODEL, vehicleSeries).Fm;
				var FI = entryModel(_TABMODEL, vehicleSeries).FI;
	
				var month = 24;			
				var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
				var RV = RVp * price;
				var temp = getMultiRate("prepayment",24,3);
				
				var temp = monthlyPayment(price, price * 0.3, getMultiRate("prepayment",24,3) / 100, 12, RV, 24, 0);
				var monthlyPayLoan24 = temp;
				
				var month = 36;			
				var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
				var RV = RVp * price;
				var temp = monthlyPayment(price, price * 0.3, getMultiRate("prepayment",36,3) / 100, 12, RV, 36, 0);
				var monthlyPayLoan36 = temp;
	
				var month = 44;			
				var RVp = RVpercent(month, Lpa, GP, IV, Fm, FI);
				var RV = RVp * price;
				var temp = monthlyPayment(price, price * 0.3, getMultiRate("prepayment",44,3) / 100, 12, RV, 44, 0);
				var monthlyPayLoan44 = temp;
			}
	}//KO end
	else {
		var monthlyPayLoan24 = monthlyPayment(price, price * 0.1, getRate(24) / 100, 12, 0, 24, 0);
		var monthlyPayLoan36 = monthlyPayment(price, price * 0.1, getRate(36) / 100, 12, 0, 36, 0);
		var monthlyPayLoan48 = monthlyPayment(price, price * 0.1, getRate(48) / 100, 12, 0, 48, 0);
		var monthlyPayLoan60 = monthlyPayment(price, price * 0.1, getRate(60) / 100, 12, 0, 60, 0);
		}
	
	var currencyString = "";
	
	if ("TR" == _COUNTRY) {
		var modelName = entryModel(_TABMODEL, vehicleSeries);
		if (modelName.currency == "EUR") {
			table = "<b>" + _STR.originalPrice + "</b>" + ": " 
					+ "<br>" + addComma(price) + " " + _STR.eur + "</br>"
					+ "<b>" + _STR.convertedPrice + "</b>" + ": " 
					+ "<br>" + addComma(Math.round(price * _EURtoTRY)) + " " + _STR.ytl + "</br>";
		}
		if (modelName.currency == "TL") {
			table = "<b>" + _STR.originalPrice + "</b>" + ": " 
					+ "<br>" + Math.round(price * _EURtoTRY) + " " + _STR.ytl + "</br>"
					+ "<b>" + _STR.convertedPrice + "</b>" + ": " 
					+ "<br>" + addComma(price) + " " + _STR.eur + "</br>";
		}
		if ("tl" == _CURRENCY) {
			monthlyPayLoan36 *= _EURtoTRY;
			monthlyPayLoan48 *= _EURtoTRY;
			monthlyPayLoan60 *= _EURtoTRY;
		}
	}
	else table = "<b>" + _STR.retailPrice + currencyString + "</b>" + ": " 
				+ "<br>" + addComma(price) + " " + _STR.currency + "</br>";
	
	if ("CN" == _COUNTRY) {
		table = table
				+ "<b>" + _STR.with20downpayment + "</b>"
 				+ "<table>"
				+ "<tr><td><span class=\"smalltext\">24 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan24)) + " " + _STR.currency + "</span></td></tr>" 
				+ "<tr><td><span class=\"smalltext\">36 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>"
				+ "<tr><td><span class=\"smalltext\">48 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan48)) + " " + _STR.currency + "</span></td></tr></table>";
	}
	
    if ("TW" == _COUNTRY) {
		table = table
				+ "<b>" + _STR.with20downpayment + "</b>"
 				+ "<table>"
				+ "<tr><td><span class=\"smalltext\">24 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan24)) + " " + _STR.currency + "</span></td></tr>" 
				+ "<tr><td><span class=\"smalltext\">36 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>"
				+ "<tr><td><span class=\"smalltext\">48 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan48)) + " " + _STR.currency + "</span></td></tr></table>";
	} 
	
	if (("SG" == _COUNTRY) || ("TR" == _COUNTRY)) {
		table = table
				+ "<b>" + _STR.with10downpayment + "</b>"
 				+ "<table>"
				+ "<tr><td><span class=\"smalltext\">36 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>" 
				+ "<tr><td><span class=\"smalltext\">48 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan48)) + " " + _STR.currency + "</span></td></tr>"
				+ "<tr><td><span class=\"smalltext\">60 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan60)) + " " + _STR.currency + "</span></td></tr></table>";
	
	}	
	
	if (("CH" == _COUNTRY) && (_FINPRODUCT == "F")) {
		table = table
				+ "<b>" + _STR.with10downpayment + "</b>"
 				+ "<table>"
				+ "<tr><td><span class=\"smalltext\">36 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>" 
				+ "<tr><td><span class=\"smalltext\">48 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan48)) + " " + _STR.currency + "</span></td></tr></table>";

	}	
	if (("CH" == _COUNTRY) && (_FINPRODUCT == "L")) {
		table = table
				+ "<b>" + _STR.with10increasedinstallment + "</b>"
 				+ "<table>"
				+ "<tr><td><span class=\"smalltext\">36 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>" 
				+ "<tr><td><span class=\"smalltext\">48 " + _STR.month + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan48)) + " " + _STR.currency + "</span></td></tr></table>"
				+ "<b>" + _STR.MileagePOPUP + "</b>"
				+ "<table>"
				+ "<tr><td><span class=\"smalltext\"> 10000 " + _STR.mileagemeasurement + "</span></td></tr></table>";

	}
	if ("KO" == _COUNTRY) {
		if (_FINPRODUCT == "OL") {
				table = table
						+ "<b>" + _STR.with30downpayment + "</b>"
		 				+ "<table>"
						+ "<tr><td><span class=\"smalltext\">24 " + _STR.monthPOPUP + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan24)) + " " + _STR.currency + "</span></td></tr>" 
						+ "<tr><td><span class=\"smalltext\">36 " + _STR.monthPOPUP + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>" 
						+ "<tr><td><span class=\"smalltext\">44 " + _STR.monthPOPUP + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan44)) + " " + _STR.currency + "</span></td></tr></table>";
						+ "<b>" + _STR.MileagePOPUP + "</b>"
						+ "<table>"
						+ "<tr><td><span class=\"smalltext\"> 20000 " + _STR.mileagemeasurement + "</span></td></tr></table>"
				}
		else {
				table = table
					+ "<b>" + _STR.with30downpayment + "</b>"
	 				+ "<table>"
					+ "<tr><td><span class=\"smalltext\">24 " + _STR.monthPOPUP + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan24)) + " " + _STR.currency + "</span></td></tr>" 
					+ "<tr><td><span class=\"smalltext\">36 " + _STR.monthPOPUP + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan36)) + " " + _STR.currency + "</span></td></tr>" 
					+ "<tr><td><span class=\"smalltext\">48 " + _STR.monthPOPUP + ": " + "</span></td><td><span class=\"smalltext\">" + addComma(Math.round(monthlyPayLoan48)) + " " + _STR.currency + "</span></td></tr></table>";
				}
	}//endKO
		
	var string = [_VEHICLE[_TABMODEL][vehicleSeries].name, table];
	
	return string;	

}
function writeTip(){

	Style[0] = ["white", "black", "#BBBBBB", "#EEEEEE", "", "", "", "", "", "", "", "", "", "", 180, "", 2, 2, 0, 0, 51, 0, 90, "", ""]
	Style[1] = ["#193725", "#193725", "#E4E2D5", "#F2F1EC", "", "", "", "", "", "", "", "", "", "", 180, "", 2, 2, 10, 10, 51, 0, 90, "", ""]
	Style[2] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "left", "", "", "", 200, "", 2, 2, 10, 10, "", "", "", "", ""]
	Style[3] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "float", "", "", "", 200, "", 2, 2, 10, 10, "", "", "", "", ""]
	Style[4] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "fixed", "", "", "", 200, "", 2, 2, 1, 1, "", "", "", "", ""]
	Style[5] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "sticky", "", "", 200, "", 2, 2, 10, 10, "", "", "", "", ""]
	Style[6] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "keep", "", "", 200, "", 2, 2, 10, 10, "", "", "", "", ""]
	Style[7] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "", "", "", 200, "", 2, 2, 40, 10, "", "", "", "", ""]
	Style[8] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "", "", "", 200, "", 2, 2, 10, 50, "", "", "", "", ""]
	Style[9] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "", "", "", 200, "", 2, 2, 10, 10, 51, 0.5, 75, "simple", "gray"]
	Style[10] = ["white", "black", "black", "white", "", "", "right", "", "Impact", "cursive", "center", "", 3, 5, 200, 150, 5, 20, 10, 0, 50, 1, 80, "complex", "gray"]
	Style[11] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "", "", "", 200, "", 2, 2, 10, 10, 51, 0.5, 45, "simple", "gray"]
	Style[12] = ["white", "black", "#000099", "#E8E8FF", "", "", "", "", "", "", "", "", "", "", 200, "", 2, 2, 10, 10, "", "", "", "", ""]
	applyCssFilter();
}
/* *****************************************************************************
   Change Log:
   > Integrated slider.js
   > Integrated footer.js
   > Integrated shadow.js
   > Integrated window.js
* ****************************************************************************/

/* *****************************************************************************
   Pending tasks:
  	* Figure out whats happening here
  	* Remove last country info parts
* ****************************************************************************/
