var dynLoaded = false;
// function to load jQuery...
load = function() {
	load.getScript("http://www.slevomat.cz/banners/dynamic/jquery.js");
	load.tryReady(0); // This function waits until jQuery loads before using it.
}
// dynamically load a javascript file.
load.getScript = function(filename) {
	var script = document.createElement('script')
	script.setAttribute("type","text/javascript")
	script.setAttribute("src", filename)
	if (typeof script!="undefined")
	document.getElementsByTagName("head")[0].appendChild(script)
}
load.tryReady = function(time_elapsed) {
	// Continually polls to see if jQuery is loaded.
	if (typeof jQuery == "undefined") { // if jQuery isn't loaded yet...
		if (time_elapsed <= 10000) { // and we havn't given up trying...
			setTimeout("load.tryReady(" + (time_elapsed + 200) + ")", 200); // set a timer to check again in 200 ms.
		} else {
			// alert("Timed out while loading jQuery.")
		}
	} else {
		// Any code to run after jQuery loads goes here!
		// for example:
		dynLoaded = true;
		slevomat_init();
	}
}

if (typeof(jQuery) == 'undefined') {
	// jQuery isn't loaded, so we need to load it...
	load();
} else {
	slevomat_init();
}

var DateDiff = function(d1, d2) {
	var t2 = d2.getTime();
	var t1 = d1.getTime();
	var wholeDays = 0;
	var wholeHours = 0;
	var wholeMinutes = 0;
	var wholeSeconds = 0;

	var totalSeconds = parseInt((t2-t1) / 1000);
	// 86400 seconds in 1 day
	(totalSeconds > 86400) ? wholeDays = Math.abs(parseInt(totalSeconds / (86400))) : wholeDays = 0;
	var leftAfterDays = totalSeconds - (wholeDays * 86400);
	// 3600 seconds in 1 hour
	var wholeHours = Math.abs(parseInt(leftAfterDays / 3600));
	var leftAfterHours = leftAfterDays - (wholeHours * 3600);
	// 60 seconds in 1 minute
	var wholeMinutes = Math.abs(parseInt(leftAfterHours / 60));
	var leftAfterMinutes = leftAfterHours - (wholeMinutes * 60);

	var breakDown = new Object();
	breakDown['days'] = wholeDays;
	if (wholeDays > 0) {
		wholeHours = wholeHours + (24*wholeDays);
	}
	breakDown['hours'] = wholeHours;
	breakDown['minutes'] = wholeMinutes;
	breakDown['seconds'] = leftAfterMinutes;

	return breakDown;
}

var niceDateDiff = '';


String.prototype.capitalize = function(){
   return this.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
};


function geolocate(timezone, cityPrecision) {
	var key = 'c1a8b9389186b7715dfea02bd290d97c9619c228e2b4be1f4e8cada9fc221c26';
	var api = (cityPrecision) ? "ip_query.php" : "ip_query_country.php";
	var domain = 'api.ipinfodb.com';
	var version = 'v2';
	var url = "http://" + domain + "/" + version + "/" + api + "?key=" + key + "&output=json" + ((timezone) ? "&timezone=true" : "&timezone=false" ) + "&callback=?";
	var geodata;
	var JSON = JSON || {};

	// implement JSON.stringify serialization
	JSON.stringify = JSON.stringify || function (obj) {
		var t = typeof (obj);
		if (t != "object" || obj === null) {
		// simple data type
		if (t == "string") obj = '"'+obj+'"';
			return String(obj);
		} else {
			// recurse array or object
			var n, v, json = [], arr = (obj && obj.constructor == Array);
			for (n in obj) {
				v = obj[n]; t = typeof(v);
				if (t == "string") v = '"'+v+'"';
				else if (t == "object" && v !== null) v = JSON.stringify(v);
				json.push((arr ? "" : '"' + n + '":') + String(v));
			}
			return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
		}
	};

	// implement JSON.parse de-serialization
	JSON.parse = JSON.parse || function (str) {
		if (str === "") str = '""';
		eval("var p=" + str + ";");
		return p;
	};

	//Check if cookie already exist. If not, query IPInfoDB
	this.checkcookie = function(callback) {
		geolocationCookie = getCookie('geolocation');
		if (!geolocationCookie) {
			getGeolocation(callback);
		} else {
			geodata = JSON.parse(geolocationCookie);
			callback();
		}
	}

	//Return a geolocation field
	this.getField = function(field) {
		try {
			return geodata[field];
		} catch(err) {}
	}

	//Request to IPInfoDB
	function getGeolocation(callback) {
		try {
		$.getJSON(
			url,
			function(data){
				if (data['Status'] == 'OK') {
					geodata = data;
					JSONString = JSON.stringify(geodata);
					setCookie('geolocation', JSONString, 365);
					callback();
				}
			}
		);
		} catch(err) {}
	}

	//Set the cookie
	function setCookie(c_name, value, expire) {
		var exdate=new Date();
		exdate.setDate(exdate.getDate()+expire);
		document.cookie = c_name+ "=" +escape(value) + ((expire==null) ? "" : ";expires="+exdate.toGMTString());
	}

	//Get the cookie content
	function getCookie(c_name) {
		if (document.cookie.length > 0 ) {
			c_start=document.cookie.indexOf(c_name + "=");
			if (c_start != -1){
				c_start=c_start + c_name.length+1;
				c_end=document.cookie.indexOf(";",c_start);
				if (c_end == -1) {
					c_end=document.cookie.length;
				}
				return unescape(document.cookie.substring(c_start,c_end));
			}
		}
		return '';
	}
}



function displaySlevomatAd(APIKEY, size, color1, showpreloader, pid, aid, title, city) {
	/*
	if(city == "auto"){
		var visitorGeolocation = new geolocate(false, true);

		var callback = function(){
				city = visitorGeolocation.getField('City');

				if(city == "Prague"){
					city = "praha";
				} else if(city == "Brno"){
					city = "brno";
				} else if(city == "Plzen"){
					city = "plzen";
				} else if(city == "Ostrava"){
					city = "ostrava";
				} else if(city == "Olomouc"){
					city = "olomouc";
				} else{
					city = "praha";
				}
		 };

		visitorGeolocation.checkcookie(callback);
	}
	*/

	if(city == "auto"){
		city = "praha";
	}

	APIURL = 'http://www.slevomat.cz/cs/api/city2/' + city;
	jQuery('<div id="slevomatAdContainer"></div>').insertAfter('#slevomatAd');
	sizeSplit = size.split('.');
	if (showpreloader) {
		//jQuery('#slevomatAdContainer').html('');
	}
	jQuery.getJSON(APIURL, function(data) {


		bigcity = city.capitalize();
		jQuery('#slevomatAdContainer').html('');
		//adding code to not loop through to side-deal if there isnt one
		if(data.result[1]==undefined){var lE=1;}else{var lE=2;}
		//and if the color doesnt have hashtag, we'll add one

		var cjprepend='http://www.jdoqocy.com/click-'+pid+'-'+aid+'?url=';
		switch (size) {
			case '300.250':
				var slevomatAd = '<div style="width:300px;height:250px;cursor:pointer" onclick="window.location = \'' + cjprepend + data.result[0].shareUrl + '\'"> <div style="position:relative;width:100%;height:100%;font:15px sans-serif;background:url(\'http://www.slevomat.cz/banners/dynamic/300x250bg.gif\') no-repeat;overflow:hidden"><div style="position:absolute;right:10px;top:17px;color:#FFF">'+ bigcity +'</div><div style="position:absolute;top:52px"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><img src="http://www.slevomat.cz/images/products/' + data.result[0].image + '" style="border:0px none;width:300px;" ></a></div><div style="position:absolute;top:185px;left:10px;right:10px;font-weight:bold;line-height:18px;color:#000;"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><span style="text-decoration:underline;color:#000000;">' + data.result[0].name_sidedeal + '</span></a> <span style="font-size:11px;color:#999999;font-weight:normal"> Již <strong>' + data.result[0].totalsold + '</strong> zákazníků.</span> </div><div style="position:absolute;right:10px;top:149px;background:#cc0000;color:#FFF;padding:5px;">' + data.result[0].discount + ' % </div></div></div>';
				jQuery('#slevomatAdContainer').append(slevomatAd);
				break;
			case '250.250':
				var slevomatAd = '<div style="width:250px;height:250px;cursor:pointer" onclick="window.location = \'' + cjprepend + data.result[0].shareUrl + '\'"> <div style="position:relative;width:100%;height:100%;font:15px sans-serif;background:url(\'http://www.slevomat.cz/banners/dynamic/250x250bg.gif\') no-repeat;overflow:hidden"><div style="position:absolute;right:10px;top:17px;color:#FFF">'+ bigcity +'</div><div style="position:absolute;top:52px"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><img src="http://www.slevomat.cz/images/products/' + data.result[0].image + '" style="border:0px none;width:250px;" ></a></div><div style="position:absolute;top:165px;left:10px;right:10px;font-weight:bold;line-height:18px;color:#000;"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><span style="text-decoration:underline;color:#000000;">' + data.result[0].name_sidedeal + '</span></a><span style="font-size:11px;color:#999999;font-weight:normal"> Již <strong>' + data.result[0].totalsold + '</strong> zákazníků.</span> </div><div style="position:absolute;right:10px;top:128px;background:#cc0000;color:#FFF;padding:5px;">' + data.result[0].discount + ' % </div></div></div>';
				jQuery('#slevomatAdContainer').append(slevomatAd);
				break;
			case '300.300':
				var slevomatAd = '<div style="position:relative;width:300px;height:300px;font:17px sans-serif;background:url(\'http://www.slevomat.cz/banners/dynamic/300x300bg.gif\') #FFF no-repeat;overflow:hidden; cursor:pointer" onclick="window.location = \'' + cjprepend + data.result[0].shareUrl + '\'"><div style="position:absolute;right:10px;top:17px;color:#FFF">' + bigcity + '</div><div style="position:absolute;top:52px"><a href="' + cjprepend + data.result[0].shareUrl + '"><img src="http://www.slevomat.cz/images/products/' + data.result[0].image + '" style="border:0px none; width:300px;"></div></a><div style="position:absolute;top:190px;left:10px;right:10px;font-weight:bold;line-height:23px;color:#000;"><a href="' + cjprepend + data.result[0].shareUrl + '" style="text-decoration:underline;color:#000">' + data.result[0].name_sidedeal + '</a><br /><span style="font-size:11px;color:#999999;font-weight:normal"> Již <strong>' + data.result[0].totalsold + '</strong> zákazníků.</span></div><div style="position:absolute;right:10px;top:146px;background:#cc0000;color:#FFF;padding:5px;">' + data.result[0].discount + ' %</div></div>';
				jQuery('#slevomatAdContainer').append(slevomatAd);
				break;
			case '468.60':
				var slevomatAd = '<div style="width:468px;height:60px;cursor:pointer" onclick="window.location = \'' + cjprepend + data.result[0].shareUrl + '\'"> <div style="position:relative;width:100%;height:100%;font:15px sans-serif;background:url(\'http://www.slevomat.cz/banners/dynamic/468x60bg.gif\') no-repeat;overflow:hidden"><div style="position:absolute;left:3px;top:3px"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"> <img src="http://www.slevomat.cz/images/seznam/' + data.result[0].image_side + '" style="border:0px none;height:54px;"></a></div><div style="position:absolute;left:90px;top:8px;width:320px;font-weight:bold;line-height:21px;color:#000;"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"> <span style="text-decoration:underline;color:#000000;">' + data.result[0].name_sidedeal + '</span><span style="color:#999;font-weight:normal;margin-left:5px">'+ bigcity +'</span></a></div></div></div>';
				jQuery('#slevomatAdContainer').append(slevomatAd);
				break;
			case '728.90':
				var slevomatAd = '<div style="width:728px;height:90px;cursor:pointer" onclick="window.location = \'' + cjprepend + data.result[0].shareUrl + '\'"><div style="position:relative;width:100%;height:100%;font:19px sans-serif;background:url(\'http://www.slevomat.cz/banners/dynamic/728x90bg.gif\') #FFF no-repeat;overflow:hidden"><div style="position:absolute;left:3px;top:3px"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><img src="http://www.slevomat.cz/images/products/' + data.result[0].image + '" style="border:0px none;height:84px;"></a></div><div style="position:absolute;left:220px;top:12px;width:430px;font-weight:bold;line-height:23px;color:#000;"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><span style="text-decoration:underline;color:#000;">' + data.result[0].name_sidedeal + '</span></a><br /><span style="font-size:13px;color:#999;font-weight:normal">Město:  <strong>'+ bigcity +'</strong> • Již <strong>' + data.result[0].totalsold + '</strong> zákazníků</span></div><div style="position:absolute;left:0px;top:10px;background:#cc0000;color:#FFF;padding:5px;">' + data.result[0].discount + ' %</div></div></div>';
				jQuery('#slevomatAdContainer').append(slevomatAd);
				break;
			case '120.600':
				var slevomatAd = '<div style="width:120px;height:600px;cursor:pointer" onclick="window.location = \'' + cjprepend + data.result[0].shareUrl + '\'"><div style="position:relative;width:100%;height:100%;font:15px sans-serif;background:url(\'http://www.slevomat.cz/banners/dynamic/120x600bg.gif\') #FFF no-repeat;overflow:hidden"><div style="position:absolute;top:0px;font-size:15px;background:#cc0000;color:#FFF;padding:5px;width:100%;height:50px;overflow:hidden">DNEŠNÍ SLEVA<div style="font-size:21px;text-align:center">' + data.result[0].discount + ' %</div></div><div style="position:absolute;top:50px"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><img src="http://www.slevomat.cz/images/products/' + data.result[0].image + '" style="border:0px none;width:250px;"></a></div><div style="position:absolute;top:165px;left:6px;right:6px;font-weight:bold;line-height:21px;color:#000;"><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><span style="text-decoration:underline;color:#000000;">' + data.result[0].name_sidedeal + '</span></a><br /><br /><a href="' + cjprepend + data.result[0].shareUrl + '" style="border 0px none;text-decoration:none;"><span style="color:#999999;font-weight:normal">'+ bigcity +'</span></a><div style="margin-top:50px;line-height:17px"><span style="font-size:11px;color:#999999;font-weight:normal"> Již <strong>' + data.result[0].totalsold + '</strong> zakazniků</span><br /><br /></div></div></div></a></div>';
				jQuery('#slevomatAdContainer').append(slevomatAd);
				break;
		}
	});
}


function slevomat_init() {
	// initialize with options...
	if ((typeof(_slvparam) != 'undefined') && (typeof(_slvparam['size']) != 'undefined')) {
		displaySlevomatAd(_slvparam['APIKEY'] ,_slvparam['size'], _slvparam['bgcolor'], true, _slvparam['PID'], _slvparam['AID'], _slvparam['title'], _slvparam['city'] );
	}
}
