if (typeof(qa_json_adart) !== 'object') {
var JsonApi = function(){ 
	this.name = 'qa_json_adart';
	var that = this;
	var counter = 0;
	var qnr = 0;
	var onPageParsedCallbacks = [];
	var placements = {};
	var onPlacementDataCallbacks = {};
	var parsedContent = '';
	var spliterUrl = '//emisja.contentstream.pl/quad/json_spliter?prefix=adart&namespace=' + this.name;
	var cookieCheckUrl ='//emisja.contentstream.pl/deimos/check/';
	this.addtypes = {
'T': {name: 'box', imagers: {favico: '//_HOST_/_/getImageII/?vid=_ID_&typ=box&element=FAVICO&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'F': {name: 'flash', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'L': {name: 'largeFlash', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=largeFlash&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=largeFlash&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=largeFlash&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'A': {name: 'awatar', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=awatar&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'E': {name: 'exclusive_normal', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=exclusive_normal&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'S': {name: 'exclusive_sky', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=exclusive_sky&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'R': {name: 'exclusive_narrow', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=exclusive_narrow&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'B': {name: 'exclusive_big', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=exclusive_big&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'Z': {name: 'imgK', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=imgK&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'Y': {name: 'imgSP', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=imgSP&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'X': {name: 'imgDP', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=imgDP&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'W': {name: 'imgDB', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=imgDB&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'V': {name: 'imgSW', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=imgSW&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'U': {name: 'imgMP', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=imgMP&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'm': {name: 'img750x100', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=img750x100&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'M': {name: 'img750x200', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=img750x200&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'O': {name: 'csAd', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=csAd&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'N': {name: 'nkbox', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=nkbox&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'G': {name: 'gadgetAd', imagers: {}},
'g': {name: 'rtbNativeAd', imagers: {}},
'K': {name: 'flashK', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashK&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashK&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashK&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'J': {name: 'flashDP', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashDP&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashDP&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashDP&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'Q': {name: 'flashSW', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashSW&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashSW&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashSW&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'P': {name: 'flashDB', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashDB&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashDB&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flashDB&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'p': {name: 'flash750x100', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash750x100&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash750x100&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash750x100&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'q': {name: 'flash750x200', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash750x200&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', flash: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash750x200&element=FLASH&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_', iframe: '//_HOST_/_/getImageII/?vid=_ID_&typ=flash750x200&element=iframe&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'C': {name: 'cs_140_100', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=cs_140_100&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'D': {name: 'cs_300_210', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=cs_300_210&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}},
'H': {name: 'cs_300_150', imagers: {image: '//_HOST_/_/getImageII/?vid=_ID_&typ=cs_300_150&element=IMAGE&scale=_SCALE_&prefix=_PREFIX_&nc=_TS_'}}
};
	this.typetocode = {"box":"","flash":"F","largeFlash":"L","awatar":"A","exclusive_normal":"E","exclusive_sky":"S","exclusive_narrow":"R","exclusive_big":"B","imgK":"Z","imgSP":"Y","imgDP":"X","imgDB":"W","imgSW":"V","imgMP":"U","img750x100":"m","img750x200":"M","csAd":"O","nkbox":"N","gadgetAd":"G","rtbNativeAd":"g","flashK":"K","flashDP":"J","flashSW":"Q","flashDB":"P","flash750x100":"p","flash750x200":"q","cs_140_100":"C","cs_300_210":"D","cs_300_150":"H"};

	this.generatelongid = function(params){
        var id = (new Date().getTime() + "*").slice(-13,-1);
        var charSet = "0123456789";
        var charSetSize = charSet.length;

        if(Math.random() < 0.5) {
            id = '-' + id;
        }

        for (var i = 1; i <= 7; i++) {
            var randPos = Math.floor(Math.random() * charSetSize);
            id += charSet[randPos];
        }

        return id;
	}

	this.impressionId = this.generatelongid();

    this.data = {
            "responses": []
    };

	this.ifnull = function(x, onnull){
		if (x === undefined) return onnull;
	    if (x === null) return onnull;
	    if (typeof(x) === 'number' && isNaN(x)) return onnull;
	    if (x === '') return onnull;
	    return x;
	}
	
	var logerror = function(arg) {
		if(typeof(console) == 'undefined'){
			return;
		}
		if (console) {
			console.error(arg);
		}
	}
	
	var getCallbackNameFromFunction = function(name, callback){
		var callback_name = name + '_' + counter++;
		that[callback_name] = function(response){
			callback(response);
		}
		return that.name + '.' + callback_name;
	}
	
	var getCallbackName = function(fieldName, params){
		if(params.hasOwnProperty(fieldName)){
			return getCallbackNameFromFunction(fieldName, params[fieldName]);
		} else if(params.hasOwnProperty(fieldName + '_name')){
			return params[fieldName + '_name'];
		} else {
			return that.name + '.emptycallback';
		}
	}
	
	var loadScript = function(src){
		var sc = document.createElement('script');
		sc.type = 'text/javascript';
		sc.src = src;
		document.getElementsByTagName('head')[0].appendChild(sc);
	}
	
	var addPlacementDataCallback = function(hash, callback){
		if(! onPlacementDataCallbacks.hasOwnProperty(hash)){
			onPlacementDataCallbacks[hash] = [callback];
		} else {
			onPlacementDataCallbacks[hash].push(callback);
		}
	}
	
	this.placementdatacallback = function(params){
		that.impressionId = params.impressionId;
		var placement = params.placement;
		placements[placement.hash] = placement;
		var callbacks = onPlacementDataCallbacks[placement.hash];
		if(callbacks) {
			while(callbacks.length > 0){
				try {
					callbacks.pop()(placement);
				} catch(e){
					logerror(e);
				}
			}
		}
	}
	
	var getSpliterQuery = function(queryString, callback_onsuccess_name, callback_onerror_name){
		var url = spliterUrl + '&' + queryString 
			+ "&callback_onerror=" + callback_onerror_name
			+ '&callback_onsuccess=' + callback_onsuccess_name;
		if (that.impressionId) {
			url = url + '&iid=' + that.impressionId;
		}
		return url;
	}
	
	this._getSpliterTypesData = function(typescount){
		var ret = typescount['box'];
		
		for(t in typescount){
			if(t != 'box'){
				var count = typescount[t];
				if(count > 0 && that.typetocode.hasOwnProperty(t)){
					var code = that.typetocode[t];
					ret += ':' + code + count; 
				}
			}
		}
		return ret;
	}
	
	this.getImageUrlForAd = function(advertisement, scale, params){
		return that.getAdElementUrl(advertisement, 'image', scale, params);
	}
	
	this.getAdElementUrl = function(box, ktory, scale, params) {
	    if (box.empty) return null;
	    ktory = that.ifnull(ktory, 'image');
	    var ret = box[ktory];
	    if (!ret) {
	      var code = this.typetocode[box.type];
	      var type = this.addtypes[code];
	      if (!type || !type.imagers[ktory]) {
	        logerror('unknown imager: ' + box.type + '.' + ktory);
	        return null;
	      }
	      ret = type.imagers[ktory];
	    }
	    ret = ret.replace(/_HOST_/g, 'emisja.contentstream.pl');
	    ret = ret.replace(/_PREFIX_/g, 'adart');
	    ret = ret.replace(/_ID_/g, box.id);
	    ret = ret.replace(/_TYP_/g, box.type);
	    ret = ret.replace(/_ELEMENT_/g, ktory);
	    ret = ret.replace(/_TS_/g, box.timestamp);
	    ret = ret.replace(/_SCALE_/g, that.ifnull(scale, 1));
	    ret = ret.replace('_MOD3_', Math.floor(Math.random() * 3));
	    if(params.maxwidth){
	    	ret += '&maxw=' + params.maxwidth;
	    }
	    if(params.maxheight){
	    	ret += '&maxh=' + params.maxheight;
	    }
	    return ret;
	}
	
	var afterLoadPlacementCallback = function(queryParams) {
		return function(placement){
			queryParams.placement = placement;
			loadAdsImpl(queryParams);
		}
	}
	
	this._getPlacementData = function(hash, callback){
		addPlacementDataCallback(hash, callback);
		var src = getSpliterQuery("prid=0&caid=0&decode=" + hash, that.name + ".placementdatacallback", that.name + ".defaultonerrorcallback");
		loadScript(src);
	}
	
	this._parse = function(callback){
		if(parsedContent){
			callback(parsedContent);
			return;
		}
		onPageParsedCallbacks.push(callback);
		var parserSrc = '//emisja.contentstream.pl/deimos/parserNc/?prefix=adart&namespace=' + this.name;
		loadScript(parserSrc);
	}
	
	this.parsercallback = function(content){
		if (!content) {
			content = ' ';
		}
		parsedContent = content;
		while(onPageParsedCallbacks.length > 0){
			try {
				onPageParsedCallbacks.pop()(content);
			} catch(e){
				logerror(e);
			}
		}
	}
	
	var placementDataReady = function(params){
		return params.placement && params.placement.publisherId && params.placement.channelId && params.placement.form;
	}
	
	var contentReady = function(params){
		if(params.content) return true;
		return false;
	}
	
	this._checkQueryParams = function(params){
	}
	
	this.getBasicParams = function(){
		return {
			typescount: {"box":1,"flash":0,"awatar":0,"exclusive_normal":0,"exclusive_sky":0,"exclusive_narrow":0,"exclusive_big":0,"gadgetAd":0,"flashK":0,"flashDP":0,"flashSW":0,"flashDB":0,"flash750x100":0,"flash750x200":0,"cs_140_100":0,"cs_300_210":0,"cs_300_150":0}
		}
	}
	
	var addContentToList = function(allWords, key, value){
		if(!isNaN(parseInt(key))){
			allWords.push("_" + key);
		}
		return allWords.concat(value);
	}
	
	var getRealContent = function(content){
		if(typeof(content) === 'object'){
			var allWords = [];
			for (var key in content) {
				  if (content.hasOwnProperty(key)) {
					allWords = addContentToList(allWords, key, content[key]);
				  }
			}
			return allWords.join("+");
		} else {
			return content.replace(new RegExp(" ", 'g'), "+");
		}
	}
	
	this.realContent = getRealContent;
	
	this.addWithoutParameter = function(queryStr){
		var withoutParamValue = this.getSplittedExistingIds();
		if (withoutParamValue != 'undefined'){
			queryStr = queryStr + '&without='+withoutParamValue;
		}
		return queryStr;
	}
	
	this.getSplittedExistingIds = function() {
		var ids = this.getExistingAdsIds();
	    var toReturn = '' + ids[0];
	    for (i = 1; i < ids.length; i++) {
	        toReturn = toReturn + ',' + ids[i];
	    }
	    return toReturn;
	}

	this.getExistingAdsIds = function() {
	    var ids = [];
	    var responses = this.data.responses;
	    for (i = 0; i < responses.length; i++) {
	        if (typeof responses[i].ads != 'undefined') {
	            for (j = 0; j < responses[i].ads.length; j++) {
	                if (ids.indexOf(responses[i].ads[j].id) == -1) {
	                    ids.push(responses[i].ads[j].id);
	                }
	            }
	        }
	    }
	    return ids;
	}

	this.httpGet = function (theUrl,callback,params)
	{
		// var xmlHttp = new XMLHttpRequest();
		//
		// xmlHttp.onreadystatechange = function() {
		// 	if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
		// 		callback(params);
		// 	}
		// }
		// xmlHttp.withCredentials = true;
		// xmlHttp.open( "GET", theUrl, true );
		// xmlHttp.send( null );
		// return xmlHttp.responseText;
		callback(params);
	}

	this._getAds = function(queryParams){
		var placement = queryParams.placement;
		var queryStr = "prid=" + placement.publisherId 
				+ '&caid=' + placement.channelId
				+ "&form=" + placement.id + ':' + that._getSpliterTypesData(queryParams.typescount) 
				+ "&content=" + getRealContent(queryParams.content)
				+ '&type=2&qnr=' + qnr;
		if (queryParams.custom) {
			queryStr = queryStr + '&custom=' + queryParams.custom;
		}
		queryStr = that.addWithoutParameter(queryStr);
		var spliter_src = getSpliterQuery(queryStr, queryParams.callback_onsuccess_name, queryParams.callback_onerror_name); 
		loadScript(spliter_src);
		qnr++;
	}
	
	var loadAdsImpl = function(queryParams){
		if(queryParams.content && queryParams.placement){
			return that._getAds(queryParams);
		} else if(! queryParams.placement){
			that._getPlacementData(queryParams.hash, afterLoadPlacementCallback(queryParams));
			return;
		} else if(! queryParams.content){
			that._parse(function(content){
				queryParams.content = content;
				loadAdsImpl(queryParams);
			});
			return;
		}
		logerror("loadAdsImpl - shouldn't get here");
	}


	that.loadAds = function(params) {
		// if(params.isAfterCheck == true){
		// 	that.loadAdsCallback(params);
		// 	return;
		// }
		that.httpGet(cookieCheckUrl, that.loadAdsCallback,params);
	}
	
	this.loadAdsCallback = function(params) {
		that._checkQueryParams(params);
		
		var callback_onerror_name = getCallbackName('callback_onerror', params);
		var callback_onsuccess_name = getCallbackName('callback_onsuccess', params);
		
		var queryParams = {
				callback_onerror_name: callback_onerror_name,
				callback_onsuccess_name: callback_onsuccess_name
		};
		
		if(contentReady(params)){
			queryParams.content = params.content;
		}
		if(placementDataReady(params)){
			queryParams.placement = params.placement;
		} else {
			queryParams.hash = params.hash;
			queryParams.typescount = params.typescount;
		}
		if (params.custom) {
			queryParams.custom = params.custom;
		}

		loadAdsImpl(queryParams);
		
		
	}
	
	this.emptycallback = function(){}
	
	this.defaultonerrorcallback = function(){
		logerror("got error from server");
	}

	this.createIframes = function(urls) {
		var urlArray = urls.split("^ ^");
		var arrayLength = urlArray.length;
		for (var i = 0; i < arrayLength; i++) {
			this.createIframe(urlArray[i]);
		}
	}

	this.createIframe = function(ifrUrl) {
		if (!ifrUrl || ifrUrl === 'null') return;
		var div = document.createElement('div');
		var ifrm = document.createElement("iframe");
		ifrm.src = ifrUrl;
		ifrm.style.display = 'none';
		div.appendChild(ifrm);
		document.body.appendChild(div);
	}
	
	/**
 * adart custom json
 */

var response;

this.get_callback_onerror = function(params){
	return function(r) {
		params.error_responses_count++;
		if (params.error_responses_count >= 2) {
			var fn = params['callback_onerror_name_RC'];
			if (typeof fn === 'function') {
				fn(r);
			}
		}
		else if (params.success_responses_count + params.error_responses_count >= 2) {
			var fn = params['callback_onsuccess_name_RC'];
			if (typeof fn === 'function') {
				fn(r);
			}
		}
	}
}

this.get_callback_onsuccess_ads = function(params) {
	return function(r) {
		// http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
		var shuffle = function(array) {
			var currentIndex = array.length, temporaryValue, randomIndex ;

			// While there remain elements to shuffle...
			while (0 !== currentIndex) {

				// Pick a remaining element...
				randomIndex = Math.floor(Math.random() * currentIndex);
				currentIndex -= 1;

				// And swap it with the current element.
				temporaryValue = array[currentIndex];
				array[currentIndex] = array[randomIndex];
				array[randomIndex] = temporaryValue;
			}

			return array;
		}
		params.success_responses_count++;
		for (var i = 0; i < r.ads.length; i++) {
			r.ads[i].rc=false;
		}
		if (params.success_responses_count == 1) {
			params.response = r;
		}
		else {
			params.response.ads = params.response.ads.concat(r.ads);
			if(params.shuffleAds) {
				shuffle(params.response.ads);
			}
		}
		params.response.status = 'SUCCESS';
		if (params.success_responses_count + params.error_responses_count >= 2) {
			callback_name = params.callback_onsuccess_name_RC.split('.')[1];
			var fn = qa_json_adart[callback_name];
			if (typeof fn === 'function') {
				fn(params.response);
			}
		}
	}
}

this.get_callback_onsuccess_rc = function(params) {
	return function(r) {
		// http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array
		var shuffle = function(array) {
			var currentIndex = array.length, temporaryValue, randomIndex ;

			// While there remain elements to shuffle...
			while (0 !== currentIndex) {

				// Pick a remaining element...
				randomIndex = Math.floor(Math.random() * currentIndex);
				currentIndex -= 1;

				// And swap it with the current element.
				temporaryValue = array[currentIndex];
				array[currentIndex] = array[randomIndex];
				array[randomIndex] = temporaryValue;
			}

			return array;
		}
		params.success_responses_count++;
		for (var i = 0; i < r.ads.length; i++) {
			r.ads[i].rc=true;
		}
		if (params.success_responses_count == 1) {
			params.response = r;
		}
		else {
			params.response.ads = params.response.ads.concat(r.ads);
			if(params.shuffleAds) {
				shuffle(params.response.ads);
			}
		}
		params.response.status = 'SUCCESS';
		if (params.success_responses_count + params.error_responses_count >= 2) {
			callback_name = params.callback_onsuccess_name_RC.split('.')[1];
			var fn = qa_json_adart[callback_name];
			if (typeof fn === 'function') {
				fn(params.response);
			}
		}
	}
}


this.getBasicParamsRC = function() {
	return {
		typescountRC: this.getBasicParams().typescount,
		typescountAds: this.getBasicParams().typescount,
		shuffleAds: true
	}
}


this.copyParams = function(params) {
	var newParams = new Object();
	for (key in params) {
		if (params.hasOwnProperty(key)){
			newParams[key]=params[key];
		}
	}
	return newParams;
}


this.loadRC = function(params) {
	this.httpGet(cookieCheckUrl,this.loadRCCalback,params);
}

this.loadRCCalback = function(params) {
	
	params.callback_onerror_name_RC = getCallbackName('callback_onerror', params);
	params.callback_onsuccess_name_RC = getCallbackName('callback_onsuccess', params);
	params.callback_onerror = that.get_callback_onerror(params);
	params.error_responses_count = 0;
	params.success_responses_count = 0;
	
	var rcParams = that.copyParams(params);
	rcParams.typescount = params.typescountRC;
	rcParams.callback_onsuccess = that.get_callback_onsuccess_rc(params);
	rcParams.custom = 'rc';
	rcParams.isAfterCheck=true;
	that.loadAds(rcParams);
	
	var adsParam = that.copyParams(params);
	adsParam.typescount = params.typescountAds;
	adsParam.callback_onsuccess = that.get_callback_onsuccess_ads(params);
	adsParam.custom = 'ads';
	adsParam.isAfterCheck=true;
	that.loadAds(adsParam);

}


/**
 *
 */

	
}

qa_json_adart = new JsonApi();


if (typeof(qa_json_adart_callback) !== "undefined") {
	if (typeof(qa_json_adart_callback) === "function") {
		callback = qa_json_adart_callback;
		callback();
	}
}


}