function ie6Fix() {
	//IE6, z-index fix
	if (ie6) {
		$("#working,#box,#boxholder").bgiframe();
		$("table.DynarchCalendar-topCont").bgiframe();
	}
}

function parseCzechFloat(elm) {
	var f = elm.val();
	if ( (f.indexOf(',') > 0) || (f.indexOf('.') > 0)) {f = f + "0";}
	return f.replace(',','.');
}

function getFormatHeight() {
	return parseCzechFloat($("#format-height"));
}

function getFormatWidth() {
	return parseCzechFloat($("#format-width"));
}

function tooLargeFormat(fwidth,fheight,wMax,hMax) {
	//alert(fwidth + ':' + wMax + ',' + fheight +':'+hMax);
	return ((fwidth > wMax ) || ( fheight > hMax ));
}

function oc(a)
{
  var o = {};
  for(var i=0;i<a.length;i++)
  {
	o[a[i]]='';
  }
  return o;
}

function transformAndMultFloat(a,b,mult) {
	var x = parseFloat(a)+parseFloat(b);
	x *= mult;
	x = x.toFixed(2);
	x = new String(x);
	x = addThsndSpace(x);
	return x.replace('.',',');
}

function addThsndSpace(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ' ' + '$2');
	}
	return x1 + x2;
}
/*
function getHashParams() {

	var hashParams = {};
	var e,
		a = /\+/g,  // Regex for replacing addition symbol with a space
		r = /([^&;=]+)=?([^&;]*)/g,
		d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
		q = window.location.hash.substring(1);

	while (e = r.exec(q))
		hashParams[d(e[1])] = d(e[2]);

	return hashParams;
}*/

function associativeArrayLength(array) {
	var length = 0;
	for (var object in array) {
		length++;
	}
	return length;
}

function inArray(needle, haystack) {
    var length = haystack.length;
    for(var i = 0; i < length; i++) {
        if(haystack[i] == needle) return true;
    }
    return false;
}

function dumpHashParams() {
	
	var hashParams = URIHash.dump();
	var paramsCount = associativeArrayLength(hashParams);
	for (i = 0; i < paramsCount; i++) {
		if (calcParams[i] === undefined) alert('applyHashParams error: bad parameter '+i);
		else {
			//if (calcParams[i] == 'bgc')  alert('pgm:'+hashParams[calcParams[i]]);
			if (inArray(calcParamsAlias[i],calcParamsRadios))
				$("input[name='"+calcParamsAlias[i]+"'][value="+hashParams[calcParams[i]]+"]").attr({ checked : 'checked' });
			else
				$("#"+calcParamsAlias[i]).val(hashParams[calcParams[i]]);
		}
	}
}

function displayCalcURI() {
	$("#calc-uri").val(document.location);
	$(".buttons").attr({ "href" : document.location});
}


function loadHashParams() {
	var hp = new Array();
	var paramsCount = calcParams.length;
	for (i = 0; i < paramsCount; i++) {
		if (calcParams[i] === undefined) alert('applyHashParams error: bad parameter '+i);
		else {
			if (inArray(calcParamsAlias[i],calcParamsRadios))
				hp[calcParams[i]] = $("input[name='"+calcParamsAlias[i]+"']:checked").val();
			else
				hp[calcParams[i]] = $("#"+calcParamsAlias[i]).val();
		//	alert(calcParams[i]);
		}
	}
	URIHash.load(hp);
	
	displayCalcURI();

}

