
var _REGEXP_JSON=/\{.*\}/;function doAjaxQuery(elemId,url,processingHandler,method)
{if($('#'+elemId).length===0){return false;}
if(!processingHandler){processingHandler=function(data){fadeOut(elemId,'slow',function(){$('#'+elemId).html(data).fadeIn('slow',function(){parseContentAndBuildWidgets('#'+elemId);});});};}
$('#'+elemId).css('cursor','wait');var ha=function(d){processingHandler(d);$('#'+elemId).css('cursor','auto');};if(method=='get'||method=='GET'){$.get(url,ha);}else{$.post(url,ha);}}
var send=doAjaxQuery;var sendWipe=doAjaxQuery;var sendFade=doAjaxQuery;var sendFadeIn=doAjaxQuery;var sendWipeIn=doAjaxQuery;function buildPopupMessage(elid,msg,opts)
{var el=$('#'+elid);if(!el.length){console.error('buildPopupMessage() brak elementu');}
var msgBxId=elid+"_popupMsg";$('#'+msgBxId).remove();var p=el.position();p.top-=100;p.top=p.top<0?0:p.top;var msgBx=$("<div id='"+msgBxId+"' style='position:absolute;top:"+p.top+";left:"+p.left+";display:none' class='popupMsg'>"+msg+"</div>");if(opts.width){msgBx.css('width',opts.width);}
if(p.left+msgBx.width()>$(window).width()){msgBx.css({left:($(window).width()-msgBx.width()-150)});}
el.after(msgBx);if(opts.closeBtn){var closeTag=$("<span class='close' onclick=\"$('#"+msgBxId+"').fadeOut();\">zamknij</span>");closeTag.css('textDecoration','underline').css('display','block').css('cursor','pointer').css('marginTop',5);msgBx.append(closeTag);}
return msgBx;}
function ajaxResponseToString(msg,status){return"<div class='msg "+status+"'>"+msg+"</div>";}
function displayAjaxResponse(msg,status,layerId,opt,popup)
{var responseLayer=$('#'+layerId);if(!responseLayer.length){return false;}
if(opt&&opt.cssClass){msg="<div class='"+opt.cssClass+"'>"+msg+"</div>";}else{msg=ajaxResponseToString(msg,status);}
if(layerId.indexOf('_response')>0){$('#'+layerId).html('');}
if(popup!==undefined){responseLayer=buildPopupMessage(layerId,msg,{closeBtn:true});}
responseLayer.hide('fast',function(){var closeBtn=responseLayer.find('.close').clone();responseLayer.html($(msg).append(closeBtn));responseLayer.css('display','inline');responseLayer.show('slow',function(){if(!opt||!opt.dontHide){setTimeout(function(){responseLayer.fadeOut('slow',function(){responseLayer.html('');});},(opt&&opt.duration)?opt.duration:10000);}});});return true;}
function displayResponseInDialogWindow(jR){if(jR.msg!==undefined&&jR.status!==undefined){displayDialogMsg(jR.msg,jR.status,jR.duration,jR.dialogId?jR.dialogId:null,jR.dialogTitle?jR.dialogTitle:null);}else{displayDialogMsg('Wystąpił błąd odczytu danych','error');}}
function _handleSubmitAjaxemResponse(req,resp,handler,aOptions)
{var duration=10000;var reloadTimeout=3000;var dontHide=false;var target=null;if(!aOptions){aOptions={};}
var jsonCode=resp.match(_REGEXP_JSON);var jR=eval('('+jsonCode+')');if(!jR){jR={'msg':resp,'token':'','status':'info'};}
if(aOptions.duration){duration=aOptions.duration;}else if(jR.duration!==undefined){duration=reloadTimeout=jR.duration;}
console.log('duration:'+duration);if(jR.dontHide!==undefined){dontHide=jR.dontHide?true:false;}
if(jR.responseElemId){if(jR.responseElemId=='_main_'){target=$('div#contentFrameContent');}else if(jR.responseElemId.indexOf('_dialog_')===0){target='dialog';}else if(jR.responseElemId=='popup'){target='popup';}else{target=$('#'+jR.responseElemId);}
if($('#'+req.target).length>0){$('#'+req.target).html('');}}else if(req.target){if(req.target.indexOf('_dialog_')===0){target='dialog';}else if(req.target=='popup'){target='popup';}else{target=$('#'+req.target);}}else{target='dontShowResponse';}
if((jR.rawResponse!==undefined&&jR.rawResponse)||(aOptions.rawResponse!==undefined&&aOptions.rawResponse)){if(target=='dialog'){alert(jR.msg);}else if(target!='dontShowResponse'&&target.length){target.html(jR.msg);}}else{if(target=='dialog'){for(name in aOptions){if(aOptions.hasOwnProperty(name)){jR[name]=aOptions[name];}}
if(!jR.dialogId&&req.formId){jR.dialogId='dlg_'+req.formId;}
displayResponseInDialogWindow(jR);}else if(target=='popup'){displayAjaxResponse(jR.msg,jR.status,aOptions.popupHost,{'duration':duration,'dontHide':dontHide,"cssClass":"msg "+jR.status},true);}else if(target!='dontShowResponse'&&target.length){displayAjaxResponse(jR.msg,jR.status,target[0].id,{'duration':duration,'dontHide':dontHide,"cssClass":"msg "+jR.status});}}
if(jR.goToUrl!==undefined){setTimeout("document.location.href = '"+jR.goToUrl+"'",reloadTimeout);}
if(jR.reloadPage!==undefined){setTimeout("document.location.href=document.location.href",reloadTimeout);}
if(jR.reload!==undefined){$('#'+jR.reload).reloadContent(true);}
if(jR.token&&req.formId){var f=$('form#'+req.formId)[0];if(f&&f.token_synchronizujacy){f.token_synchronizujacy.value=jR.token;}}
if(handler){handler(jR);}}
function alxFormToArray(f)
{var out={};if(f.tagName&&f.tagName.toLowerCase()=='form'){var fields=$(f).formToArray();var p;for(p in fields){if(fields.hasOwnProperty(p)){out[fields[p].name]=fields[p].value;}}
out.formId=f.id;}
return out;}
function submitAjaxem(data,handleBefore,handleAfter,aTarget,aOptions)
{if(typeof(data)=='string'){elemId=data;data=$('form#'+elemId);if(data.length>0){data=data[0];}else{data=getFormNode($('#'+elemId)[0]);}}
var isForm=(data.tagName&&data.tagName.toLowerCase&&data.tagName.toLowerCase()=='form')?true:false;var isObject=(typeof(data)=='object'&&data.url)?true:false;if(!isForm&&!isObject){return false;}
var goahead=(typeof(handleBefore)=='function')?handleBefore(isForm?data.id:data):true;if(goahead===undefined){goahead=true;}
if(!goahead){return false;}
var fields={};if(isForm){if(aTarget&&data.target){data.target.value=aTarget;}
fields=alxFormToArray(data);if(!fields.target){fields.target=$(data).attr('name')+'_response';}}else{fields=data;if(data.formId===undefined){fields.formId=Math.round(Math.random()*10000);}}
if(aTarget){fields.target=aTarget;}
if(fields.target=='_dialog_'){tit=(aOptions&&aOptions.dialogTitle)?aOptions.dialogTitle:null;displayDialogMsg(inProgressIcon(),'',null,'dlg_'+fields.formId,tit);}else if(fields.target=='popup'&&aOptions.popupHost){buildPopupMessage(aOptions.popupHost,inProgressIcon(),{width:50}).show();}else if($('#'+fields.target).length>0){$('#'+fields.target).html(inProgressIcon()).fadeIn();}
if(isForm){enableFormLater=function(){enableForm(data.id,true);};}else{enableFormLater=function(){};}
_handleAfter=function(resp){dialogClose('progressNotifier');enableFormLater();_handleSubmitAjaxemResponse(fields,resp,handleAfter,aOptions);};if(isForm){$(data).ajaxSubmit({'success':_handleAfter});disableForm(data.id,true);}else{$.post(data.url,data,_handleAfter);}
return false;}
function submitFormAjax(formId,command,responseLayerId,handlerBefore,handlerAfter)
{if(typeof(formId)=='string'){formId=$('form#'+formId)[0];}
if(formId&&formId.command){formId.command.value=command;}
return submitAjaxem(formId,handlerBefore,handlerAfter,responseLayerId);}
function retrieveUrlShowProgress(url,destId){showInProgressIcon(destId);sendWipeIn(destId,url);}
function refresh(elemId)
{if(!elemId){return false;}
var elem;if(typeof(elemId)=='string'){elem=$('#'+elemId)[0];if(!elem){return false;}}else if(elemId.id===undefined){return false;}else{elem=elemId;}
if(!elem.attributes||!elem.attributes.href||elem.attributes.href==''){return false;}
retrieveUrlShowProgress(elem.attributes.href.value,elem.id);}
function openDialog(url,dialogId,args)
{if(url===undefined){return false;}
if(!args){args={};}
args.href=url;args.id=dialogId;args.modal=true;if(args.draggable===undefined){args.draggable=true;}
args.content=args.loadingMessage?args.loadingMessage:'Trwa ładowanie...';$('body').append('<div class="tmpProgress"></div>');var d=new EsDialog(args);d.show();}
function destroyDialog(dialogId)
{var d=new EsDialog({id:dialogId});d.destroy();}
function _handleImgUploadResponse(resp)
{displayAjaxResponse(resp.msg,resp.status,'formUploadFile_response');if(resp.status=='ok'&&resp.imagePath&&resp.imgContainer){$('#'+resp.imgContainer).html('<img src=\''+resp.imagePath+'\'>');}}
function submitFileUploadForm(fid,handler)
{$('#'+fid+'_inputField').css('display','none');$('#'+fid+'_fileUploadProgress').css('display','inline');var _ha=function(jr)
{$('#'+fid+'_inputField').css('display','inline');$('#'+fid+'_fileUploadProgress').css('display','none');if(jr.status=='ok'){$('#fileToUpload').val('');}
if(jr.token){$('#'+fid+' #token_synchronizujacy').val(jr.token);}
if(typeof(handler)=='function'){handler(jr);}else{_handleImgUploadResponse(jr);}};submitAjaxem(fid,null,_ha);}
function reloadContent(elem,forceReload,keepOldContentAsLongAsDontHaveNewOne)
{if(typeof(elem)=='string'){if(elem.indexOf('#')!==0){elem='#'+elem;}
elem=$(elem);}else if(typeof(elem)=='object'){if(elem.jquery===undefined){elem=$(elem);}}
if(!elem||elem.length===undefined||!elem.length){return false;}
if(elem.hasClass('widgetTitlePane')){elem=elem.children('.wtp_body');}
if(elem.attr('href')){if(forceReload||elem.attr('alwaysReload')||elem.html()==""){if(!keepOldContentAsLongAsDontHaveNewOne){elem.html(elem.attr('loadingMsg')?elem.attr('loadingMsg'):'<div class="in-progress"></div>');}
doAjaxQuery(elem.attr('id'),elem.attr('href'),function(data){var elid=elem.attr('id');if(elem.css('display')=='none'){elem.html(data);parseContentAndBuildWidgets('#'+elid);}else{elem.fadeOut('slow',function(){elem.html(data).fadeIn('slow');parseContentAndBuildWidgets('#'+elid);});}});}}}
function submitWithFCKeditor(form_id,elem_id){if(typeof(FCKeditorAPI)!=='undefined'&&FCKeditorAPI.GetInstance(elem_id))
{var content=FCKeditorAPI.GetInstance(elem_id).GetXHTML();}
var hid=$('#'+elem_id);hid.val(content);sessionDelay();$('#'+form_id).submit();}
