if(typeof(asyncUrl)=='undefined'){var asyncUrl='/async/';}
function is_defined(variable){return(typeof(window[variable])=="undefined")?false:true;}
function isset(variable){return(typeof(variable)=="undefined")?false:true;}
function in_array(elem,arr){for(i=0;i<arr.length;i++){if(elem==arr[i]){return true;}} return false;}
function toggleText(target_id,source_id,text_on,text_off){$("#"+target_id).toggle();$("#"+source_id).html($("#"+target_id).is(':hidden')?text_on:text_off);}
function askConfirmation(prompt_text,url){if(confirm(prompt_text)){self.location=url;}}
function askSubmit(prompt_text,form_name){if(confirm(prompt_text)){document.forms[form_name].submit();}}
var async={url:asyncUrl,async:true,_read:function(type,params,container,visible,callback){if(typeof(visible)=='undefined'){visible=true;} if(typeof(type)=='undefined'){type='GET';} else if(type!='GET'&&type!='POST'){type='GET';} $("#"+container).show().addClass('loadingContaner');if(visible){$("#"+container).before('<div id="loader" class="loader">Loading...</div>');} $.ajax({type:type,url:this.url,async:this.async,data:params,success:function(msg){$('#'+container).html(msg).removeClass('loadingContaner');$('#loader').remove();}});if(typeof(callback)!='undefined'){eval(callback);}},_request:function(type,params,notify,callbackOk,callbackError){$.ajax({type:type,url:this.url,async:this.async,data:params,success:function(msg){var responseStatus=msg.charAt(0)=="-"?'error':'success';notify=(typeof(notify)!='undefined'&&notify>0)?true:false;if(responseStatus=='success'){if(typeof(callbackOk)!='undefined'){eval(callbackOk);} if(notify){sysMessage.addMessage(msg);} msg=true;} else{if(typeof(callbackError)!='undefined'){eval(callbackError);} if(notify){sysMessage.addError(msg.substr(1,255));} msg=false;} return msg;},error:function(msg,why){sysMessage.addError('Service error '+msg+'. Reason: '+why);return false;}});return false;},load:function(params,container,visible,callback){this._read('GET',params,container,visible,callback);},once:function(force,params,container,visible,callback){if(typeof(force)=='undefined'){force=false;} if(force==true||!$('#'+container).hasClass('loaded')){async.load(params,container,visible,callback);$('#'+container).addClass('loaded');return true;} return false;},exec:function(params,notify,callbackOk,callbackError){this._request('GET',params,notify,callbackOk,callbackError);},container:function(name,callback){this.load('c=execute&a='+name,'container',true,callback)},get:{load:function(params,container,visible,callback){async.load(params,container,visible,callback);},once:function(force,params,container,visible,callback){async.once(force,params,container,visible,callback);},exec:function(params,notify,callbackOk,callbackError){async.exec(params,notify,callbackOk,callbackError)}},post:{load:function(params,container,visible,callback){async._read('POST',params,container,visible,callback);},once:function(force,params,container,visible,callback){if(typeof(force)=='undefined'){force=false;} if(force==true||!$('#'+container).hasClass('loaded')){async.post.load(params,container,visible,callback);$('#'+container).addClass('loaded');return true;} return false;},exec:function(type,params,notify,callbackOk,callbackError){async._request('POST',type,params,notify,callbackOk,callbackError);}},init:function(url,async){if(typeof(url)=='undefined'){url=asyncUrl;} if(typeof(async)=='undefined'){async=true;} this.url=url;this.async=async;}};var sync={load:function(params,container,visible,callback){var request=async;request.async=false;request.load(params,container,visible,callback);}};var Dialog={load:function(params,container,visible,callback){async.load(params,'dialogContainer .content',false,callback);$('#dialogContainer').slideDown();},close:function(){$('#dialogContainer').slideUp();}};var sysMessage={close_icon:'<img src="/public/ifc/close.png" height="14" width="14" align="right" border="0" alt="close" class="icon" />',hide_interval:2000,to:null,count:0,setInterval:function(interval){this.hide_interval=interval;this.start()},start:function(){if($(".fadeable").length>0&&this.hide_interval>0){if(this.count>1){if(this.count%2==0){$(".fadeable").eq(0).slideUp();} else{$(".fadeable").eq(0).remove();}} this.count++;this.to=setTimeout("sysMessage.start()",this.hide_interval);} else{clearTimeout(this.to);}},remove:function(obj){$(obj).parent().remove();},add:function(msg,type){if(msg!=''){var className='info'+type;if(type!='Error'){className+=" fadeable";} $('<div class="infoAsync '+className+'"><span onclick="sysMessage.remove(this);">'+this.close_icon+'</span><p>'+msg+'</p></div>').appendTo('#sysMsgContainer').slideDown('fast');clearTimeout(this.to);this.to=null;this.count=0;sysMessage.start();}},addMessage:function(msg){sysMessage.add(msg,'Message');},addError:function(msg){sysMessage.add(msg,'Error');},addWarning:function(msg){sysMessage.add(msg,'Warning');},clearAll:function(){$("#sysMsgContainer DIV").remove();clearTimeout(this.to);}};$(function(i){$("#sysMsgContainer").mouseover(function(){clearTimeout(sysMessage.to);});$("#sysMsgContainer").mousemove(function(){clearTimeout(sysMessage.to);});$("#sysMsgContainer").mouseout(function(){sysMessage.to=setTimeout("sysMessage.start()",sysMessage.hide_interval);});});$.fn.background=function(bg){return this.css('background',bg);};$.fn.color=function(clr){return this.css('color',clr);};$.fn.togglable=function(elementId){this.data('txt',this.html());this.css('cursor','pointer');if($(elementId).is(":visible")){$(this).prepend('<img class="appicosmall toggle_up" src="/public/ifc/pixel.png" alt="expand" align="absmiddle" /> ');} else{$(this).prepend('<img class="appicosmall toggle_down" src="/public/ifc/pixel.png" alt="collapse" align="absmiddle" /> ');} return $(this).click(function(){t=$(this).data('txt');$(elementId).toggle();$(this).html($(elementId).is(":visible")?'<img class="appicosmall toggle_up" src="/public/ifc/pixel.png" alt="expand" align="absmiddle" /> '+t:'<img class="appicosmall toggle_down" src="/public/ifc/pixel.png" alt="collapse" align="absmiddle" /> '+t);});};$.fn.hoverable=function(){var t=this;$(this).each(function(i){$(this).parent().hover(function(){$(t,this).eq(i).show();},function(){$(t,this).eq(i).fadeOut();});});return $(this);};$.fn.moreless=function(lenght){this.css('cursor','pointer');this.attr('title','click to view more/less text');$("P:first-child",this).append(" <span>more &raquo;</span>");$("P:last-child",this).append(" <span>&laquo; less</span>").hide();return $(this).click(function(){$("P:first-child",this).toggle();$("P:last-child",this).toggle();});};$.fn.simpleDropdown=function(menuId,bindEvent,align,callback){$(this).data("ddClass",$(menuId).attr("class"));$('A',this).addClass('hasDropdown');if(typeof(bindEvent)=='undefined'){bindEvent='click';} if(typeof(align)=='undefined'){align='left';} $(this).bind(bindEvent,function(e){var self=this;if(typeof(callback)!='undefined'){eval(callback);} $("."+$(this).data("ddClass")).not(menuId).hide();$(".hasDropdown").parent().removeClass("visibleDropdown");$(this).toggleClass("visibleDropdown");e.stopPropagation();var offset=$(this).offset();if(align=='right'){$(menuId).css("left",offset.left+$(this).width()-$(menuId).width()+"px");} else{$(menuId).css("left",offset.left+"px");} $(menuId).css("top",offset.top+$(this).height()+"px").toggle();var el=this;$(this).toggleClass("ddSelected");$(document).one("click",function(e){$("."+$(el).data("ddClass")).hide();$(el).removeClass("ddSelected");$(self).removeClass("visibleDropdown");});});return this;};$.fn.simpleSubmenu=function(menuId,bindEvent){$(this).data("ddClass",$(menuId).attr("class"));if(typeof(bindEvent)=='undefined'){bindEvent='click';} $("A",this).addClass('hasMenu');$(this).bind(bindEvent,function(e){$(".simpleDropdownMenu.submenu").hide();$("."+$(this).data("ddClass")).not(menuId).hide();$("."+$(this).attr("class")).not(this).removeClass("ddSelected");e.stopPropagation();var offset=$(this).offset();$(menuId).css("left",offset.left+$(this).width()-2+"px");$(menuId).css("top",offset.top+2+"px");$(menuId).toggle();var el=this;$(this).toggleClass("ddSelected");$(document).one("click",function(e){$("."+$(el).data("ddClass")).hide();});});return this;};$.fn.insertAtCaret=function(tagName){return this.each(function(){if(document.selection){this.focus();sel=document.selection.createRange();sel.text=tagName;this.focus();} else if(this.selectionStart||this.selectionStart=='0'){startPos=this.selectionStart;endPos=this.selectionEnd;scrollTop=this.scrollTop;this.value=this.value.substring(0,startPos)+tagName+this.value.substring(endPos,this.value.length);this.focus();this.selectionStart=startPos+tagName.length;this.selectionEnd=startPos+tagName.length;this.scrollTop=scrollTop;} else{this.value+=tagName;this.focus();}});};(function($){$.fn.inlineEdit=function(options){options=$.extend({value:'',save:false,notify:1,buttonText:'Save',cancelText:'Cancel',placeholder:'Click to edit'},options);return $.each(this,function(){$.inlineEdit(this,options);});};$.inlineEdit=function(obj,options){var self=$(obj);var placeholderHtml='<span class="inlineEdit-placeholder">'+options.placeholder+'</span>';self.value=function(newValue){if(arguments.length){self.data('value',$('newValue').hasClass('inlineEdit-placeholder')?'':newValue);} return self.data('value');};self.save=function(e,data){var ok=data.title==''?true:confirm('Change '+data.title+' to "'+data.value+'"?');if(ok){async.exec('c='+data.callback[0]+'&a=update-field&f='+data.callback[1]+'&v='+data.value,options.notify);return true;} return false;};self.callbackOK=function(hash){self.value(hash.value);self.color('#00c000').animate({color:'#000000'},5000);};self.value($.trim(self.text())||options.value);self.bind('click',function(event){var $this=$(event.target);if($this.is('button')){var hash={id:self.attr('id'),title:self.attr('title'),name:self.attr('name'),callback:self.attr('id').split('--'),value:$this.siblings('input').val()};if(options.save==false){if(self.save(event,hash)){self.callbackOK(hash);}} else if(($.isFunction(options.save)&&options.save.call(self,event,hash))!==false||!options.save){self.callbackOK(hash);}} else if($this.is(self[0].tagName)||$this.hasClass('inlineEdit-placeholder')){var v=$this.width();self.html('<input type="text" value="'+self.value()+'" maxlength="255" style="width:'+v+'px;"> <button>'+options.buttonText+'</button> <a href="javascript:;">'+options.cancelText+'</a>').find('input').bind('blur',function(){if(self.timer){window.clearTimeout(self.timer);} self.timer=window.setTimeout(function(){self.html(self.value()||placeholderHtml);},200);}).focus();}});if(!self.value()){self.html($(placeholderHtml));} else if(options.value){self.html(options.value);}};})(jQuery);(function($){$.fn.areYouSure=function(options){options=$.extend({value:'',disableDone:true,buttonText:'Yes',cancelText:'No',doneText:'Done',placeholder:'Are you sure you want to '},options);return $.each(this,function(){$.areYouSure(this,options);});};$.areYouSure=function(obj,options){var self=$(obj),placeholderHtml='<span class="areYouSure-placeholder">'+options.placeholder+'</span>';self.old=self.html();self.href=self.attr('href');self.attr('href','javascript:;');self.value=function(newValue){if(arguments.length){self.data('value',$(newValue).hasClass('areYouSure-placeholder')?'':newValue);} return self.data('value');};self.save=function(e,data){var href=self.href.split(":");if(href[0]=='javascript'){eval(href[1]);} else{window.location.href=typeof(href[1]=='undefined')?href[0]:href[1];} if(options.disableDone){self.unbind('click');self.removeClass('active').addClass('done').html(options.doneText);} else{self.removeClass('active').html(self.old);} return true;};self.cancel=function(e,data){self.removeClass('active').html(self.old);return false;};self.callbackOK=function(){self.value(self.href);if(options.disableDone){self.animate({color:'#808080'},5000);}};self.value($.trim(self.text())||options.value);self.bind('click',function(event){var $this=$(event.target);if($this.is('button')){var hash={value:self.href};if(self.save(event,hash)){self.callbackOK(hash);}} else if($this.is('em')){self.cancel();} else if($this.is(self[0].tagName)||$this.hasClass('areYouSure-placeholder')){self.addClass('active').html(options.placeholder+self.attr('title')+'? <button>'+options.buttonText+'</button> <em>'+options.cancelText+'</em>')}});if(!self.value()){self.html($(placeholderHtml));} else if(options.value){self.html(options.value);}};})(jQuery);$(document).ready(function(){$('body').addClass('hasJS');});
function timezoneClientside(){ var rightNow = new Date(); var gmt_offset = rightNow.getTimezoneOffset() * -1; return gmt_offset;}
var cdate = new Date();
var cdate = new Date(cdate.getTime() + (1 * 1000 * 60 * 60 * 24));
document.cookie="tz_offset=" + timezoneClientside() + "; expires=" + cdate.toGMTString();


