
function handleErr(msg, url, line){

	msg = new String(msg);
	url = new String(url);
	
	var exclusions = new Array(); 
	var i=0;
	exclusions[i++] = 'HTMLObjectElement.offsetTop';
	exclusions[i++] = 'HTMLObjectElement.offsetLeft';
	exclusions[i++] = 'HTMLObjectElement.offsetParent';
	exclusions[i++] = 'HTMLObjectElement.clientWidth';
	exclusions[i++] = 'UnnamedClass.toString';
	exclusions[i++] = 'Autorizzazione negata';
	exclusions[i++] = 'uncaught exception: unknown';

	var urlExclusions = new Array();
	var j=0;
	urlExclusions[j++] = 'http://www.google-analytics.com/ga.js';
	urlExclusions[j++] = 'file://';
	urlExclusions[j++] = 'chrome://';
	urlExclusions[j++] = 'http://www.google.it/';
	urlExclusions[j++] = 'http://static.skebby.it/s/js/jquery';

	for  (var k = 0; k<i; k++){
		if (msg.indexOf(exclusions[k])!=-1){
			// do not log anything
			return true;
		}
	}

	for  (var k = 0; k<j; k++){
		if (url.indexOf(urlExclusions[k])!=-1){
			// do not log anything
			return true;
		}
	}

	// fix for nosense error 
	if (('Script error.' == msg) && (0 == line)){
		return true;
	}

	try{
		// know errors
		jQuery.post("/index/js-error/", {msg: msg, url: url, line: line});
	}
	catch(exception){
		// do nothing
	}
	return true;
}

window.onerror = handleErr;

function toggleBoxVisibility(name){
	var obj = document.getElementById(name);
	var idName = "#" + name;
	
	if (obj.style.display == 'none' || obj.style.display == ''){
		$(idName).show('slow'); 
	}
	else{
		$(idName).hide(); 
	}
	return false;
}

function toggleBoxVisibilityQuick(name){
	var obj = document.getElementById(name);
	var idName = "#" + name;
	
	if (obj.style.display == 'none' || obj.style.display == ''){
		$(idName).show(); 
	}
	else{
		$(idName).hide(); 
	}
	return false;
}

function enableTemp(idname,time){
	setTimeout('$("#'+idname+'").removeAttr("disabled");', time); 
}
function disableTemp(idname,time){
	
	/*
	 * if time=0 disabled permanently, else time in millisecond to enabling again
	 * */
	
	$('#'+idname).attr('disabled',true);
	if (time){
		enableTemp(idname,time);
	}

}

