$(function() {
	if ($.jStore.Availability.ie()) {
		$("body").append("<style>#midIp.midCls {behavior:url(#default#userData);}</style>"+
						 "<form id='midForm'><input type='hidden' class='midCls' id='midIp'/></form>");
	}
});

function midSetUp(midFlashUrl, machineIdIsNew) {
	$.extend($.jStore.defaults, {
		project: 'kjpolaris',
		engine: 'flash',
		flash: midFlashUrl
	});
	var today = new Date();
	var expiry = new Date(today.getTime() + 365 * 24 * 60 * 60 * 1000); 
	var urlDomain = document.domain;
	var serverNameIndex = urlDomain.indexOf('.');
	var cookieDomain = (serverNameIndex > 0 && serverNameIndex < urlDomain.length) ? urlDomain.substring(serverNameIndex, urlDomain.length) : urlDomain;

	var udataMid = null;
	var udataIp = null;
	try {
		if ($.jStore.Availability.ie()) {
			udataIp = midForm.midIp;
			udataIp.load('kjpolaris-mid');
			udataMid = udataIp.getAttribute('pmid');
		}
	}
	catch(e) {
		//ignore
	}

	function onReady(engine) {
		$.jStore.flashReady(function(){ 
			engine.ready(function() {
				try{
					if (machineIdIsNew) {
						var mid = $.base64Decode($.cookielet('t', 'm'));
						if (mid) {
							this.set('pmid', mid);
							if (udataIp) {
								udataIp.setAttribute('pmid', mid);
								udataIp.save('kjpolaris-mid');
							}
						}
					}
					else {
						var flashMid = this.get('pmid');
						mid = flashMid || udataMid;
						if (mid) {
							$.cookielet('t', 'm', $.base64Encode(mid), {path: '/', expires: expiry, domain: cookieDomain});
							if (mid != flashMid) {
								this.set('pmid', mid);
							}
							if ((udataIp)&&(mid != udataMid)) {
								udataIp.setAttribute('pmid', flashMid);
								udataIp.save('kjpolaris-mid');
							}
						}
						else {
							mid = $.base64Decode($.cookielet('t', 'm'));
							if (mid) {
								this.set('pmid', mid);
								if (udataIp) {
									udataIp.setAttribute('pmid', mid);
									udataIp.save('kjpolaris-mid');
								}
							}
						}
					}
				}
				catch(e) {
					//ignore
				}
			});
		});
	}
	
	try {
		$.jStore.ready(onReady);
		$.jStore.load();
	}
	catch(e) {
		//ignore
	}
}


