//file directory
var lib_location = "http://new.volvocars.com/financeCalculator/";

//setup link
window.onload = function() {
	var pageModel = window.location.toString().split("models/");
	if(pageModel.length > 1) {
		pageModel = pageModel[1].split("/")[0];
		
		var modelRegex = /^[a-zA-Z0-9]{2,5}$/;
		pageModel = modelRegex.test(pageModel) ? pageModel : "";
		
	} else {
		pageModel = "";
	}

	if(window.location.toString().toLowerCase().search('estimatepayments') == -1 || window.location.toString().toLowerCase().search('paymentestimator') == -1) {
		_setupCalcOnModelMain(pageModel);
	} else {
		_setupCalcOnModelPayments(pageModel);
	}
}

function _setupCalcOnModelMain(pageModel) {
	var links = document.getElementById('content').getElementsByTagName('a');
		
	for(i in links) {
		if(links[i].innerHTML.toLowerCase().search("estimate payments") != -1) {
			links[i].href = "javascript: showCalc('" + pageModel + "');";
			break;
		}
	}	
}

function _setupCalcOnModelPayments(pageModel) {
	var iframe = document.getElementById('ctl00_PlaceHolderMain_iframe');
	
	var data = window.location.toString().split("?");
	data = (data.length > 1) ? data = "?" + data[1] : data = "?variant=" + pageModel.toUpperCase();
	data = (data != "?variant=") ? data : "?";
	data = (data != "") ? data : "?";
	
	iframe.style.width = "885px";
	iframe.style.height = "610px";
	iframe.style.overflow = "hidden";
	iframe.src = "http://new.volvocars.com/financeCalculator/finance_overlay.html" + data;
}

function showCalc(calcModel) {
	scrollTo(0,0);
	document.body.appendChild(_getTransparentOverlay());
	document.body.appendChild(_getCalcHTML(calcModel));
}

function _getCalcHTML(calcModel) {
	if(calcModel) {
		calcModel = "?variant=" + calcModel.toUpperCase();
	} else {
		calcModel = "?";
	}
	
	var html =  '<div class="fcalc-overlay-container" style="margin:0 auto; position:relative;text-align:left;width:900px;"><div id="fcalc-overlay" style="height:757px; left: 7px; position:absolute; top:20px;width:885px;">'
	html += '	<img src="' + lib_location + 'images/fcalc_ol_top.png" width="885" height="12" alt="" class="pngfix" /><div id="fcalc-overlay-top" style="background:url(' + lib_location + 'images/bg_header.jpg) repeat-x top left; height:21px;"><a href="javascript: hideCalc();"><img src="' + lib_location + 'images/fcalc_ol_close.png" width="21" height="21" alt="X" title="X" id="fcalc-overlay-close" style="float:right;margin-right:7px;" /></a></div>';
	html += '	<iframe src="' + lib_location + 'finance_overlay.html' + calcModel + '" frameborder="0" width="885" height="605" scrolling="no"></iframe>';
	html += '	<img src="' + lib_location + 'images/fcalc_ol_btm.png" width="885" height="12" alt="" class="pngfix" />';
	html += '</div></div>';

	
	
	var calcOverlay = document.createElement('div');
	calcOverlay.id = "fcalc-overlay-base";
	calcOverlay.innerHTML = html;
	calcOverlay.style.position = "absolute";
	calcOverlay.style.top = "0px";
	calcOverlay.style.left = "0px";
	calcOverlay.style.width = "100%";
	calcOverlay.style.textAlign = "center";
	calcOverlay.style.zIndex = "100";
	
	return calcOverlay;
}

function _getTransparentOverlay() {
	var transparentOverlay = document.createElement('div');
	
	var viewportwidth;
	var viewportheight;
 
	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	if (typeof window.innerWidth != 'undefined') {
	  viewportwidth = window.innerWidth,
	  viewportheight = window.innerHeight
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	   viewportwidth = document.documentElement.clientWidth,
	   viewportheight = document.documentElement.clientHeight
	} else { // older versions of IE
	   viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
	   viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	
	if(viewportheight < 900) { viewportheight = 900; }
	
	//set style
	transparentOverlay.style.height = viewportheight + "px";
	transparentOverlay.style.width = viewportwidth + "px";
	
	transparentOverlay.style.opacity = "0.8";
	transparentOverlay.style.zIndex = "90";
	transparentOverlay.style.backgroundColor = "#000";
	transparentOverlay.style.position = "absolute";
	transparentOverlay.style.top = "0px";
	transparentOverlay.style.left = "0px";
	
	transparentOverlay.id = "fcalc-transparent-overlay";
	
	return transparentOverlay;
}

function hideCalc() {
	var base = document.getElementById('fcalc-overlay-base');
	base.parentNode.removeChild(base);
	
	base = document.getElementById('fcalc-transparent-overlay');
	base.parentNode.removeChild(base);
	
}
