/*
 *  mBank Kalkulatory Rat - JavaScript file
 *  Copyright (C) 2011 Intercon e-consulting, http://www.intercon.pl
 */

var params = new Array();
var paramsLP = new Array();
var rates_array = new Array("3", "6", "10", "12", "18", "24", "36");
var re = /a|\u0105|b|c|\u0107|d|e|\u0119|f|g|h|i|j|k|l|\u0142|m|n|\u0144|o|\u00F3|p|q|r|s|\u015B|t|u|v|w|x|y|z|\u017C|\u017A|A|\u0104|B|C|\u0106|D|E|\u0118|F|G|H|I|J|K|L|\u0141|M|N|\u0143|O|\u00F2|P|Q|R|S|\u015A|T|U|V|W|X|Y|Z|\u017B|\u0179|@|#|~|`|\-|\%|\*|\^|\&|\(|\)|\+|\=|\[|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$/g;


function mbank_raty(target,kwota) {
	// Predefined
	this.ilosc_rat_arr = new Array("10", "18", "36");
	
	// Passed as arguments
	this.target = target;
	
	if (kwota == '' || kwota == 0.0) {
		this.kwota = 0.0;
	} else {
		this.kwota = round_decimals(kwota, 2);
	}

	this.calculator_1 = function Vertical() {
		if (params[target] == false) {
			return false;
		}
		var calc = "";
		calc += "<div id=\"mbr_calc1_container\" > <div class=\"calc1\"><div class=\"top\"><div class=\"lc\">&nbsp;</div><div class=\"rc\">&nbsp;</div></div><div class=\"content\"><div class=\"inner\"><div class=\"header\">&nbsp; </div><p class=\"rate\">Rata: <span id=\"mbc_rata_"+this.target+"\">0,00</span> PLN</p><p class=\"choices\">Ilo\u015B\u0107 rat:<br />";

		for (i = 0 ; i <= 2 ; i++ ) {
			calc += "<input type=\"radio\" value=\""+this.ilosc_rat_arr[i]+"\" onclick=\"przeliczRate('"+this.ilosc_rat_arr[i]+"','"+this.kwota+"','"+this.target+"','"+this.target+"');\" name=\"mbc_rb\" class=\"mb-calc-1\" style=\"vertical-align: bottom;\"";
			if(i == 2) calc += " checked=\"checked\"";
			calc += "> "+this.ilosc_rat_arr[i]+" rat <br />";
		}
		calc += "</p><p class=\"price\">Cena produktu:<br /><span id=\"mbc_cena_"+this.target+"\" class=\"big\">0,00</span> PLN</p></div></div><div class=\"bottom\"><div class=\"lc\">&nbsp;</div><div class=\"rc\">&nbsp;</div><p class=\"footer\"><a href=\"#\" title=\""+opiss+"\" class=\"tooltip tooltip-calc-1\">Symulacja<br />ma charakter orientacyjny...</a></p></div></div>\n</div>\n";

		document.getElementById(this.target).innerHTML = calc;
		document.getElementById("mbc_cena_"+this.target).innerHTML = dotTocomma(this.kwota);
		przeliczRate("36",this.kwota,this.target,this.target);
	};
	
	this.calculator_2 = function Horizontal() {
		if (params[target] == false) {
			return false;
		}
		var calc = "";
		calc += "<div id=\"mBank-calc-2\" class=\"horizontal\">\n<div class=\"top-calc-2\">\n<div class=\"tl-calc-2\">&nbsp;</div><div class=\"midt-calc-2\">&nbsp;</div><div class=\"tr-calc-2\">&nbsp;</div>\n</div>\n<div class=\"center-calc-2\">\n<div class=\"header\"> &nbsp; </div>\n<form class=\"mb-calc-2\"><div class=\"mbc_text-calc-2\"><p class=\"mbc_bold-calc-2 mbc_red-calc-2\">Rata: <nobr><span id=\"mbc_rata_"+this.target+"\" class=\"mbc_big-calc-2\">0,00</span> PLN</nobr></p> </div>\n<div class=\"mbc_text-calc-2\">\n<nobr>\n<p class=\"mbc_gray-calc-2\">Ilo\u015B\u0107 rat:</p>\n";
		for (i = 0 ; i <= 2 ; i++ ) {
			calc += "<p class=\"mbc_gray-calc-2\"><input class=\"mb-calc-2\" ";
			if(i == 2) calc += "checked=\"checked\"";
			calc += " type=\"radio\" name=\"mbc_rb\" onclick=\"przeliczRate('"+this.ilosc_rat_arr[i]+"','"+this.kwota+"','"+this.target+"','"+this.target+"');\" value=\""+this.ilosc_rat_arr[i]+"\" />"+this.ilosc_rat_arr[i]+" rat</p>\n";
		}
		calc += "</nobr>\n</div><div class=\"mbc_text-calc-2\"><p class=\"mbc_bold-calc-2 mbc_gray-calc-2\">Cena produktu: <nobr><span id=\"mbc_cena_"+this.target+"\" class=\"mbc_big-calc-2\">0,00</span> PLN</nobr></p> </div>\n<div class=\"spacer-calc-2\"></div>\n<div class=\"mbc_text-calc-2\"><p class=\"mbc_red-calc-2 l\"><a class=\"tooltip tooltip-calc-2\" href=\"#\" title=\""+opiss+"\">Symulacja ma charakter orientacyjny...</a></p></div>\n</form>\n</div>\n<div class=\"bottom-calc-2\">\n<div class=\"bl-calc-2\">&nbsp;</div>\n<div class=\"midb-calc-2\">&nbsp;</div>\n<div class=\"br-calc-2\">&nbsp;</div>\n</div>\n</div>\n";

		document.getElementById(this.target).innerHTML = calc;
		document.getElementById("mbc_cena_"+this.target).innerHTML = dotTocomma(this.kwota);
		przeliczRate("36",this.kwota,this.target,this.target);
	};
	
	this.calculator_3 = function noStyle() {
		if (params[target] == false) {
			return false;
		}
		// Taken from DB
		this.ilosc_rat = new Number(ilo);
		
		//przeliczRate(this.ilosc_rat,this.kwota,this.target);
		var in_brutto = getBrutto(this.ilosc_rat,this.kwota,this.target);
		var rata = round_decimals( ( ( in_brutto * params[this.target][this.ilosc_rat]['opr'] ) / ( 12 * ( 1 - Math.pow( ( 1 + (params[this.target][this.ilosc_rat]['opr']/12) ),( -this.ilosc_rat ) ) ) ) ),2);

		if (!isNaN(rata)) {
			document.getElementById("mbc_rata_"+this.target).innerHTML = this.ilosc_rat+" x "+dotTocomma(rata);
		}
	};
	
	this.calculator_4 = function LandingPage() {
		if (paramsLP == false) {
			return false;
		}
		if (this.kwota == 0.0) {
			this.kwota = parseFloat(2000.00);
		}
		var calc = "<div id=\"mBank-calc-4\" class=\"horizontal-calc-4\">\n<div class=\"top-calc-4\">\n<div class=\"tl-calc-4\">&nbsp;</div><div class=\"midt-calc-4\">&nbsp;</div><div class=\"tr-calc-4\">&nbsp;</div>\n</div>\n<div class=\"center-calc-4\">\n<form>\n<div class=\"field-calc-4\">\n<div class=\"input-calc-4\">  <div class=\"head1\"> &nbsp; </div>     <input onkeyup=setTimeout(\"checkNetto(\'"+this.target+"\')\",1000) type=\"text\" value=\"0,00\" id=\"mbc_netto_out\" name=\"mbc_netto_out\" /> <span class=\"currency\"> PLN </span></div>\n<div class=\"label-calc-4\"><div id=\"mbc_netto\"></div></div>\n<div class=\"extras-calc-4\"></div>\n</div>\n<div class=\"field-calc-4\">\n<div class=\"input-calc-4\"><div class=\"head2\"> &nbsp; </div><input class=\"mbc_small\"  onkeyup=\"checkIlRat(\'"+this.target+"\');\" type=\"text\" value=\"36\" id=\"mbc_ilosc_rat_out\" name=\"mbc_ilosc_rat_out\" /> <span class=\"currency\">mc-y</span></div>\n<div class=\"label-calc-4\"><div id=\"mbc_ilosc_rat\"></div></div>\n<div class=\"extras-calc-4\"></div>\n</div>\n<div class=\"field-calc-4\">\n<div class=\"input-calc-4\"><div class=\"head3\"> &nbsp; </div><input onkeyup=setTimeout(\"checkWklad(\'"+this.target+"\')\",1000) type=\"text\" value=\"0,00\" id=\"mbc_wklad_out\" name=\"mbc_wklad_out\" /> <span class=\"currency\"> PLN </span></div>\n<div class=\"label-calc-4\"><div id=\"mbc_wklad\"></div></div>\n<div class=\"extras-calc-4\"></div>\n</div>\n</form>\n<div id=\"mbc_summary\"> <span id=\"mbc_rata_"+this.target+"\" class=\"amount\"></span>  </div>\n<div class=\"mbc_text-calc-4\"><p class=\"mbc_red-calc-4\"><a title=\""+opiss+"\" href=\"#\" class=\"tooltip tooltip-calc-4\">Symulacja ma charakter orientacyjny...</a></p></div>\n</div>\n<div class=\"bottom-calc-4\">\n<div class=\"bl-calc-4\">&nbsp;</div><div class=\"midb-calc-4\">&nbsp;</div><div class=\"br-calc-4\">&nbsp;</div></div>\n</div>\n";		
		document.getElementById(this.target).innerHTML = calc;
		
		$(function(){
		    $('#mbc_netto').slider({
		        min: minLP,
		        max: maxLP,
				value: kwota,
				animate: true,
				range: 'min',
		        slide: function(event, ui){
					document.getElementById("mbc_netto_out").value = dotTocomma(round_decimals(ui.value,2));
					$( "#mbc_wklad" ).slider( "option", "max", ui.value);
					if ( $( "#mbc_wklad" ).slider( "option", "value" ) < ui.value ) {
						$( "#mbc_wklad" ).slider( "option", "value", $( "#mbc_wklad" ).slider( "option", "value" ) );
						document.getElementById("mbc_wklad_out").value = dotTocomma(round_decimals( $( "#mbc_wklad" ).slider( "option", "value" ), 2 ) );
						przeliczRateLP(target);
					}
					else {
						$( "#mbc_wklad" ).slider( "option", "value", ($("#mbc_netto").slider( "option", "value" ) - minLP) );
						document.getElementById("mbc_wklad_out").value = dotTocomma(round_decimals( ui.value - minLP, 2 ) );
						przeliczRateLP(target);
					}
		        },
		    	stop: function(event, ui){
		        	if( ui.value <= minLP ) {
		            	$( "#mbc_wklad" ).slider( "option", "value", 0.00 );
		                document.getElementById("mbc_wklad_out").value = dotTocomma("0.00");
		        	}
					przeliczRateLP(target);
		        }
		    });
		    $('#mbc_ilosc_rat').slider({
		        min: 0,
		        max: rates_array.length - 1,
				value: 6,
				animate: true,
				range: 'min',
		        slide: function(event, ui){
		    		$('#mbc_ilosc_rat').val('$' + rates_array[ui.value] + ' - $' + rates_array[rates_array.length - 1]);
					document.getElementById("mbc_ilosc_rat_out").value = rates_array[ui.value];
					przeliczRateLP(target);
		        }
		    });
		    $('#mbc_wklad').slider({
		        min: 0,
				value: 0,
				animate: true,
				range: "min",
		        slide: function(event, ui){
					$( "#mbc_wklad" ).slider( "option", "max", ($("#mbc_netto").slider( "option", "value" ) - minLP) );
					document.getElementById("mbc_wklad_out").value = dotTocomma(round_decimals(ui.value,2));
					przeliczRateLP(target);
		        },
		    	stop: function(event, ui){
		        	if( $('#mbc_netto').slider( "option", "value" ) <= minLP ) {
		            	$( "#mbc_wklad" ).slider( "option", "value", 0.00 );
		                document.getElementById("mbc_wklad_out").value = dotTocomma("0.00");
		        	}
					przeliczRateLP(target);
		        }
		    });
			$( "#mbc_wklad" ).slider( "option", "max", ($("#mbc_netto").slider( "option", "value" ) - minLP) );
			document.getElementById("mbc_netto_out").value = dotTocomma(round_decimals($("#mbc_netto").slider( "option", "value" ),2));
			document.getElementById("mbc_ilosc_rat_out").value = rates_array[$("#mbc_ilosc_rat").slider( "option", "value" )];
			document.getElementById("mbc_wklad_out").value = dotTocomma(round_decimals($("#mbc_wklad").slider( "option", "value" ),2));
			przeliczRateLP(target);
		});
	};
	
	this.calculator_5 = function LinkToLandingPage(partner) {
		var calc = "<div title=\"Oblicz ratę w mBank RATY\" class=\"tooltip LinkToLandingPageWindow\" onclick=\"LinkToLandingPageWindow('"+this.kwota+"','"+partner+"');\"></div>";
		document.getElementById(this.target).innerHTML = calc;
	};
}

function LinkToLandingPageWindow(kwota,partner) {
	window.open('http://www.mbank.pl/mbank_raty/index.html?sprzedawca='+partner+'&kwota='+kwota+'','title','width=775,height=690,directories=0,location=1,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0');
}

function przeliczRate(ilosc_rat,kwota,target,target) {
	var ilosc_rat = new Number(ilosc_rat);
	var in_brutto = getBrutto(ilosc_rat,kwota,target);
	var rata = round_decimals( ( ( in_brutto * params[target][ilosc_rat]['opr'] ) / ( 12 * ( 1 - Math.pow( ( 1 + (params[target][ilosc_rat]['opr']/12) ),( -ilosc_rat ) ) ) ) ),2);

	if (!isNaN(rata)) {
		document.getElementById("mbc_rata_"+target).innerHTML = dotTocomma(rata);
	}
}

function getBrutto(ilosc_rat,kwota,target) {
	var ilosc_rat = new Number(ilosc_rat);
	var in_kwota = kwota;
	var out_brutto = round_decimals( ( in_kwota * ( 1 + params[target][ilosc_rat]['pro'] ) ) / ( 1 - ( ilosc_rat * params[target][ilosc_rat]['ube'] ) - ( ilosc_rat * ( params[target][ilosc_rat]['ube'] * params[target][ilosc_rat]['pro'] ) ) ),2);
	return out_brutto;
}

/* -- Landing Page Start -- */
function getNettoLP() {
	var in_netto = parseFloat( valSplitter( document.getElementById("mbc_netto_out").value ) );
	var in_wklad = parseFloat( valSplitter( document.getElementById("mbc_wklad_out").value ) );
	
	var out_netto = in_netto - in_wklad;

	return out_netto;
}

function getBruttoLP(ilosc_rat) {
	var il_rat = new Number(ilosc_rat);
	var in_netto = new Number(getNettoLP());
	
	var out_brutto = round_decimals( ( in_netto * ( 1 + paramsLP[ilosc_rat]['pro'] ) ) / ( 1 - ( il_rat * paramsLP[ilosc_rat]['ube'] ) - ( il_rat * ( paramsLP[ilosc_rat]['ube'] * paramsLP[ilosc_rat]['pro'] ) ) ),2);

	return out_brutto;
}

function przeliczRateLP(target) {
	var il_rat = parseInt(document.getElementById("mbc_ilosc_rat_out").value);
	var in_brutto = parseFloat(getBruttoLP(il_rat));
	var rata = round_decimals( ( ( in_brutto * paramsLP[il_rat]['opr'] ) / ( 12 * ( 1 - Math.pow( ( 1 + (paramsLP[il_rat]['opr']/12) ),( -il_rat ) ) ) ) ),2);

	if (!isNaN(rata)) {
		document.getElementById("mbc_rata_"+target).innerHTML = dotTocomma(rata);
	}
}

function checkNetto(target) {
	var val = valSplitter( document.getElementById("mbc_netto_out").value.replace(re, "") );
	if ( val.length != 0 ) {
		if ( val.length > 2 ) {
			if ( val.length == parseInt(0) ) {
				document.getElementById("mbc_netto_out").value = dotTocomma(round_decimals(minLP,2));
				$( "#mbc_netto" ).slider( "option", "value", minLP );
				document.getElementById("mbc_wklad_out").value = dotTocomma("0.00");
				$( "#mbc_wklad" ).slider( "option", "value", "0.00" );
				$( "#mbc_wklad" ).slider( "option", "max", round_decimals(val2, 2) );
			} else if ( parseFloat(val) > parseFloat( $("#mbc_netto").slider( "option", "max" ) ) ) {
				document.getElementById("mbc_netto_out").value = dotTocomma(round_decimals(maxLP,2));
				$( "#mbc_netto" ).slider( "option", "value", maxLP );
			} else if ( ( parseFloat(val) < parseFloat(0.00) ) || ( parseFloat(val) < minLP ) ) {
				document.getElementById("mbc_netto_out").value = dotTocomma(round_decimals(minLP,2));
				$( "#mbc_netto" ).slider( "option", "value", minLP );
			} else {
				$( "#mbc_netto" ).slider( "option", "value", val );
				document.getElementById("mbc_netto_out").value = dotTocomma( round_decimals(val, 2) );
				if ( (val-minLP) <= parseFloat(0.00) ) {
					$( "#mbc_wklad" ).slider( "option", "value", parseFloat(0.00) );
					document.getElementById("mbc_wklad_out").value = dotTocomma("0.00");
				} else if ( round_decimals(document.getElementById("mbc_wklad_out").value, 2) > val-minLP ) {
					$( "#mbc_wklad" ).slider( "option", "max", val-minLP );
					$( "#mbc_wklad" ).slider( "option", "value", val-minLP );
					document.getElementById("mbc_wklad_out").value = dotTocomma( round_decimals(val-minLP, 2) );
				} else {
					$( "#mbc_wklad" ).slider( "option", "max", round_decimals(val-minLP, 2) );
					$( "#mbc_wklad" ).slider( "option", "value", $( "#mbc_wklad" ).slider( "option", "value" ) );
					document.getElementById("mbc_wklad_out").value = dotTocomma( round_decimals($( "#mbc_wklad" ).slider( "option", "value" ), 2) );
				}
			}
			przeliczRateLP(target);
		}
	} else {
		document.getElementById("mbc_netto_out").value = dotTocomma(round_decimals(minLP,2));
		$( "#mbc_netto" ).slider( "option", "value", minLP );
	}
}

function checkIlRat(target) {
	var val = document.getElementById("mbc_ilosc_rat_out").value.replace(re, "");
	if ( val.length > 0) {
		if ( parseInt(val) < 3 ) {
			document.getElementById("mbc_ilosc_rat_out").value = "3";
			$( "#mbc_ilosc_rat" ).slider( "option", "value", 0 );
		} else if ( parseInt(val) > parseInt( $("#mbc_ilosc_rat").slider( "option", "max" ) ) ) {
			document.getElementById("mbc_ilosc_rat_out").value = "36";
			$( "#mbc_ilosc_rat" ).slider( "option", "value", 6 );
		} else {
			if( parseInt(val) < 6 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 0 );
	            document.getElementById("mbc_ilosc_rat_out").value = "3";
	    	} else if( parseInt(val) < 10 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 1 );
	            document.getElementById("mbc_ilosc_rat_out").value = "6";
	    	} else if( parseInt(val) < 12 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 2 );
	            document.getElementById("mbc_ilosc_rat_out").value = "10";
	    	} else if( parseInt(val) <= 15 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 3 );
	            document.getElementById("mbc_ilosc_rat_out").value = "12";
	    	} else if( parseInt(val) > 15 || parseInt(val) <= 21 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 4 );
	            document.getElementById("mbc_ilosc_rat_out").value = "18";
	    	} else if( parseInt(val) > 21 || parseInt(val) <= 30 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 5 );
	            document.getElementById("mbc_ilosc_rat_out").value = "24";
	    	} else if( parseInt(val) > 30 ) {
	        	$( "#mbc_ilosc_rat" ).slider( "option", "value", 6 );
	            document.getElementById("mbc_ilosc_rat_out").value = "36";
	    	}
		}
		przeliczRateLP(target);
	}
}

function checkWklad(target) {
	var val = valSplitter( document.getElementById("mbc_wklad_out").value.replace(re, "") );
	var val2 = valSplitter( document.getElementById("mbc_netto_out").value.replace(re, "") );
	if ( val.length > parseInt(0) ) {
		if ( val.length > parseInt(2) ) {
			if ( val.length == parseInt(0) || parseFloat(val2) <= minLP) {
				document.getElementById("mbc_wklad_out").value = dotTocomma("0.00");
				$( "#mbc_wklad" ).slider( "option", "value", "0.00" );
				$( "#mbc_wklad" ).slider( "option", "max", round_decimals(val2, 2) );
			} else if ( parseFloat(val) > parseFloat(val2-minLP) ) {
				document.getElementById("mbc_wklad_out").value = dotTocomma( round_decimals(val2-minLP, 2) );
				$( "#mbc_wklad" ).slider( "option", "max", val2-minLP );
				$( "#mbc_wklad" ).slider( "option", "value", val2-minLP );
			} else if ( parseFloat(val) < parseFloat(0.00) ) {
				document.getElementById("mbc_wklad_out").value = dotTocomma( round_decimals(val2-minLP, 2) );
				$( "#mbc_wklad" ).slider( "option", "max", val2-minLP );
				$( "#mbc_wklad" ).slider( "option", "value", val2-minLP );
			} else {
				$( "#mbc_wklad" ).slider( "option", "max", val2-minLP );
				$( "#mbc_wklad" ).slider( "option", "value", val );
				document.getElementById("mbc_wklad_out").value = dotTocomma( round_decimals(val, 2) );
			}
			przeliczRateLP(target);
		}
	} else {
		document.getElementById("mbc_wklad_out").value = dotTocomma( round_decimals(0.00, 2) );
		$( "#mbc_wklad" ).slider( "option", "max", parseFloat(0.00) );
		$( "#mbc_wklad" ).slider( "option", "value", parseFloat(0.00) );
	}
}
/* -- Landing Page End -- */

function valSplitter(old_val) {
	var temp = "";
	var first_split = old_val.split(" ");
	var second_split;
	if (first_split[1] != null)	{ for(i = 0; i < first_split.length; i++) { temp = temp + first_split[i]; } }
	else { temp = first_split[0]; }
	second_split = temp.split(",");
	if (second_split[1] != null) { var new_val = second_split[0] + "." + second_split[1]; }
	else { var new_val = second_split[0]; }
	return new_val;
}

function dotTocomma(old_val) {
	var temp = old_val.split(".");
	var new_val = temp[0] + "," + temp[1];
	return new_val;
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals);
    var result2 = Math.round(result1);
    var result3 = result2 / Math.pow(10, decimals);
    return pad_with_zeros(result3, decimals);
}

function pad_with_zeros(rounded_value, decimal_places) {
    var value_string = rounded_value.toString();
    var decimal_location = value_string.indexOf(".");
    if (decimal_location == -1) {
        decimal_part_length = 0;
        value_string += decimal_places > 0 ? "." : "";
    }
    else {
        decimal_part_length = value_string.length - decimal_location - 1;
    }
    var pad_total = decimal_places - decimal_part_length;
    if (pad_total > 0) {
        for (var counter = 1; counter <= pad_total; counter++) value_string += "0";
    }
    return value_string;
}

function getElementsByClassName(oElm, strTagName, strClassName) {
	var arrElements = (strTagName == "*" && oElm.all) ? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = [];
	strClassName = strClassName.replace(/-/g, "\-");
	var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)");
	var oElement;
	for ( var i = 0; i < arrElements.length; i++) {
		oElement = arrElements[i];
		if (oRegExp.test(oElement.className)) {
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements.length > 0 ? arrReturnElements : false);
}

function getId(eid) {
	var el = false;try {el = document.getElementById(eid);} catch(e) {}
	return el;
}

function addEvent(obj, fnc, act) {
	if(obj.addEventListener)obj.addEventListener(act, fnc, false);else if(obj.attachEvent)obj.attachEvent('on' + act, fnc);
	return false;
}

this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$(".tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$(".tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};



// starting the script on page load
$(document).ready(function(){
	tooltip();
});



