/**
 * EPC client javascript, version 0.5
 */

epc = {

	url    : 'http://mobilni-telefony.mojse.cz/response.php',
	setup  : {},
	domain : false,

	addEvent : function(obj, evType, fun) {
		if(window.opera) {
			if(obj == window) {
				obj = document;
			}
		}

		if(obj.addEventListener) {
			obj.addEventListener(evType, fun, false);
			return true;
		} else if(obj.attachEvent) {
			return obj.attachEvent('on' + evType, fun);
		} else {
			return false;
		}
	},


	getParam : function(param) {
		var param = param + "=";

		var query = new String(location);

		if(query.length > 0) {
			var begin = query.indexOf(param);

			if(begin != -1) {
				begin += param.length;
				var end = query.indexOf('&' , begin);

				if(end == -1) {
					end = query.length
				}

				return unescape(query.substring(begin, end));
			}

			return false;
		}

		return false;
	},

	getCookie : function(name) {
		if(document.cookie.length > 0) {
			var begin = document.cookie.indexOf(name + '=');
			if (begin != -1) {
				begin += name.length + 1;
				var end = document.cookie.indexOf(";", begin);

				if(end == -1) {
					end = document.cookie.length;
				}

				return unescape(document.cookie.substring(begin, end));
			}
		}

		return false;
	},


	setCookie : function(name, value) {
		var expireDays = 7;
		var ExpireDate = new Date();
		ExpireDate.setTime(ExpireDate.getTime() + (expireDays * 24 * 3600 * 1000));

		var cookie = name + '=' + escape(value)
			+ ((expireDays == null) ? "" : "; expires=" + ExpireDate.toGMTString());

		if(epc.domain) {
			cookie += '; domain=' + epc.domain;
		}

		document.cookie = cookie;
	},

	saveCookies : function() {
		if(epc.getParam('eh')) {
			epc.setCookie('epc_h', epc.getParam('eh'));
		}
	},

	callHome : function() {
		var url = epc.url
			+ '?r=' + escape(epc.setup.response)
			+ '&c=' + escape(epc.setup.client_id)
			+ '&n=' + escape(epc.setup.name)
			+ '&m=' + escape(epc.setup.email);

		var elm = document.getElementById('f_epc');

		if(elm) {
			elm.src = url;
		}
	},

	setup : function (settings) {
		epc.setup = settings;

		epc.addEvent(window, 'load', epc.callHome);
	}
}
