function serverTime() {
	return new Date(server_date);
}

function number_format (number, decimals, dec_point, thousands_sep) {

    var n = number, prec = decimals;

    var toFixedFix = function (n,prec) {
        var k = Math.pow(10,prec);        return (Math.round(n*k)/k).toString();
    };

    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);    var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
    var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

    var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
     var abs = toFixedFix(Math.abs(n), prec);
    var _, i;

    if (abs >= 1000) {
        _ = abs.split(/\D/);        i = _[0].length % 3 || 3;

        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
        s = _.join(dec);    } else {
        s = s.replace('.', dec);
    }

    var decPos = s.indexOf(dec);    if (prec >= 1 && decPos !== -1 && (s.length-decPos-1) < prec) {
        s += new Array(prec-(s.length-decPos-1)).join(0)+'0';
    }
    else if (prec >= 1 && decPos === -1) {
        s += dec+new Array(prec).join(0)+'0';    }
    return s;
}

function validate_email(str){
    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if(str.match(emailRegEx)){
        return true;
    }else{
        return false;
    }
}

function trim(s) {
    s = s.replace(/(^\s*)|(\s*$)/gi,"");
    s = s.replace(/[ ]{2,}/gi," ");
    s = s.replace(/\n /,"\n");
    return s;
}

function print_r(theObj){
      if(theObj.constructor == Array ||
         theObj.constructor == Object){
        document.write("<ul>");
        for(var p in theObj){
          if(theObj[p].constructor == Array||
             theObj[p].constructor == Object){
    document.write("<li>["+p+"] => " + typeof(theObj) + "</li>");
            document.write("<ul>");
            print_r(theObj[p]);
            document.write("</ul>");
          } else {
    document.write("<li>["+p+"] => "+theObj[p]+"</li>");
          }
        }
        document.write("</ul>");
      }
}

//This has to be as in CSS and just change the class name
function make_field(id, err, select, container_id, before, after){
	if(select == true){
		if(!$("#"+id).val() || $("#"+id).val() == ""){
			$("."+container_id).css("width",before);
			$("."+container_id).css("border","1px solid red");
			err++;
		}else{
			$("."+container_id).css("width",after);
			$("."+container_id).css("border","0px solid #4e4e4e");
		}
	}else{
		if(!$("#"+id).val() || $("#"+id).val() == ""){
			$("#"+id).css("border","1px solid red");
			err++;
		}else{
			$("#"+id).css("border","1px solid #4e4e4e");
		}
	}

	return err;
}

function block_all_ui(message, width, timeout){
	$.growlUI( 'Se incarca...', message )
	/*$.blockUI({
		message:"<img src='"+BASEURL+"images/zoomloader.gif' /><br />"+message,
		css: {
            border: '1px solid black',
            width:width,
            padding: '15px',
            backgroundColor: '#fff',
            '-webkit-border-radius': '10px',
            '-moz-border-radius': '10px',
            opacity: .92,
			'z-index':'9001',
            color: "#000"
        }
	});*/
	if(timeout > 0){
		setTimeout("$.unblockUI()", timeout);
	}
}

function status_bar(text){
	showStatus(text,8000,true);
}

function block_ui(element, message){
	if(!message){
		message = "Just a moment...";
	}
	$("#"+element).block({
		message:"<img src='"+BASEURL+"images/zoomloader.gif' /><br />"+message,
		css: {
            border: '1px solid white',
            width:200,
			'z-index':'9001',
            padding: '15px',
            backgroundColor: '#fff',
            '-webkit-border-radius': '10px',
            '-moz-border-radius': '10px',
            opacity: .92,
            color: '#000'
        }
	});
}

function un_block_ui(element){
	$("#"+element).unblock();
}

function parseDecimal(d, zeros, trunc) {
    d=d.replace(/[a-zA-Z\!\@\#\$\%\^\&\*\(\)\_\+\-\=\{\}\|\[\]\\\:\"\;'\<\>\?\,\/\~\`]/g,"");
    while (d.indexOf(".") != d.lastIndexOf("."))
        d=d.replace(/\./,"");
    if (typeof zeros == 'undefined' || zeros == "") {
        return parseFloat(d);
    } else {
        var mult = Math.pow(10,zeros);
        if (typeof trunc == 'undefined' || (trunc) == false)
            return parseFloat(Math.round(d*mult)/mult);
        else
            return parseFloat(Math.floor(d*mult)/mult);
    }
}

function valid_email(address){
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if (reg.test(address) == false) {
        return false;
    }
    else {
        return true;
    }
}


function make_ro_date(date){
    var date_arr = date.split("/");
    return date_arr[1] + "/" + date_arr[0] + "/" + date_arr[2];
}

function make_en_date(date){
    var date_arr = date.split("/");
    return date_arr[1] + "/" + date_arr[0] + "/" + date_arr[2];
}

function set_data(obj_name, path, value) {
    eval(obj_name + "." + path + " = value;");
}
