
﻿
function GetJson(handler,params,callback,updateNulls,errorCallback){$.ajax({type:'get',url:'/Handlers/'+handler+'Handler.ashx',contentType:'application/json; charset=utf-8',dataType:'json',data:params,success:(updateNulls)?function(data){callback(UpdateNulls(data));}:callback,error:errorCallback!=undefined?errorCallback:defaultErrorCallback});}
function SubmitForm(url,params){$.ajax({async:false,type:'post',url:url,contentType:'application/json; charset=utf-8',dataType:'json',data:params});}
function UploadFile(handler,params,fileId,callback,errorCallback){params.Invoke='Invoke';$.ajaxFileUpload
({url:'/Handlers/'+handler+'Handler.ashx?'+$.param(params),secureuri:false,fileElementId:fileId,dataType:'json',success:function(data){if(callback!=undefined)callback(data);},error:function(e){alert('fuck');if(errorCallback!=undefined)errorCallback(e);else defaultErrorCallback(e);}})}
function defaultErrorCallback(e)
{if(e.status=='200'){var response=JSON.parse(e.responseText);if(ResponseOk(response)&&WasErrors(response.error))
infoPanel.CreateError('Error Details<br> Code: '+response.error.Code+'.<br>Message: '+response.error.errorMessage,'Error on Page');}else{var msg='';switch(e.status){case 400:msg='Bad Request';break;case 401:msg='Unauthorized';break;case 402:msg='Payment Required';break;case 403:msg='Forbidden';break;case 404:msg='Requested resourse not found on this server';break;case 405:msg='Method Not Allowed';break;case 406:msg='Not Acceptable';break;case 407:msg='Proxy Authentication Required';break;case 408:msg='Request Timeout';break;case 409:msg='Conflict';break;case 410:msg='Gone';break;case 411:msg='Length Required';break;case 412:msg='Precondition Failed';break;case 413:msg='Request Entity Too Large';break;case 414:msg='Request-URI Too Large';break;case 415:msg='Unsupported Media Type';break;case 416:msg='Requested Range Not Satisfiable';break;case 417:msg='Expectation Failed';break;case 500:msg='Internal server error';break;case 501:msg='Not Implemented';break;case 502:msg='Bad Gateway';break;case 503:msg='Service Unavailable';break;case 504:msg='Gateway Timeout';break;case 505:msg='HTTP Version not supported';break;default:msg='Internal Server Error';}
infoPanel.CreateError(msg+'<br>Code: '+e.status,'Error on Page');}}
function ResponseOk(data){return(data!=undefined&&data.error!=undefined&&data.results!=undefined);}
function WasErrors(data)
{return(data.error.Code>0);}