").addClass("splitElement vSplitBar").attr("unselectable", "on").html("|").css("padding-top",where.height()/2+"px");
var secondBox = jQuery("
").addClass("splitElement splitBox2");
var splitter= new Splitter(element,firstBox,secondBox,splitterBar);
splitter.perc=perc;
firstBox.append(first);
secondBox.append(second);
element.append(firstBox).append(secondBox).append(splitterBar);
where.append(element);
var w = where.innerWidth();
var fbw = w *perc/ 100 - splitterBar.width();
var realW=firstBox.get(0).scrollWidth;
fbw=fbw>realW?realW:fbw;
firstBox.width(fbw).css({left:0});
splitterBar.css({left:firstBox.width()});
secondBox.width(w -fbw-splitterBar.width() ).css({left:firstBox.width() + splitterBar.width()});
splitterBar.bind("mousedown.gdf", function(e) {
jQuery.splittify.splitterBar = jQuery(this);
//bind event for start resizing
//console.debug("start splitting");
var realW=firstBox.get(0).scrollWidth;
jQuery("body").unselectable().bind("mousemove.gdf", function(e) {
//manage resizing
//console.debug(e.pageX - jQuery.gridify.columInResize.offset().left)
var sb = jQuery.splittify.splitterBar;
var pos = e.pageX - sb.parent().offset().left;
var w = sb.parent().width();
var fbw=firstBox;
pos=pos>splitter.firstBoxMinWidth?pos:splitter.firstBoxMinWidth;
pos=posthis.firstBoxMinWidth?newW:this.firstBoxMinWidth;
newW=newW
function computeStart(start) {
return computeStartDate(start).getTime();
}
function computeStartDate(start) {
var d = new Date(start+3600000*12);
d.setHours(0, 0, 0, 0);
//move to next working day
while (isHoliday(d)) {
d.setDate(d.getDate() + 1);
}
d.setHours(0, 0, 0, 0);
return d;
}
function computeEnd(end) {
return computeEndDate(end).getTime()
}
function computeEndDate(end) {
var d = new Date(end-3600000*12);
d.setHours(23, 59, 59, 999);
//move to next working day
while (isHoliday(d)) {
d.setDate(d.getDate() + 1);
}
d.setHours(23, 59, 59, 999);
return d;
}
function computeEndByDuration(start, duration) {
var d = new Date(start);
//console.debug("computeEndByDuration start ",d,duration)
var q = duration - 1;
while (q > 0) {
d.setDate(d.getDate() + 1);
if (!isHoliday(d))
q--;
}
d.setHours(23, 59, 59, 999);
return d.getTime();
}
function incrementDateByWorkingDays(date, days) {
var d = new Date(date);
d.incrementDateByWorkingDays(days);
return d.getTime();
}
function recomputeDuration(start, end) {
//console.debug("recomputeDuration");
return new Date(start).distanceInWorkingDays(new Date(end));
}
//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license
if (!Array.prototype.filter){
Array.prototype.filter = function (fun) {
var len = this.length;
if (typeof fun != "function")
throw new TypeError();
var res = new Array();
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this) {
var val = this[i]; // in case fun mutates this
if (fun.call(thisp, val, i, this))
res.push(val);
}
}
return res;
};
}