var httpRequester = getHTTPRequestObject();
var READY_STATE_COMPLETE = 4;
var mtype = 0;

var ua = navigator.userAgent.toLowerCase();
if(ua.indexOf("msie") != -1 && document.all){
	mtype = 1;
} else if(ua.indexOf("safari") != -1){
	mtype = 3;
} else if(ua.indexOf("mozilla") != -1){
	mtype = 2;
}

//========================================================================
function getHTTPRequestObject(){

	var req = window.XMLHttpRequest? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); 
	return req;
}
//========================================================================
function ResponseNone(){}
//========================================================================
function ResponseSave(){

	if (httpRequester.readyState == READY_STATE_COMPLETE) {
		if (httpRequester.status == 200) {
			textresponse = httpRequester.responseText;
		} else {
			textresponse = '';
			var message = "Problem retrieving data. requestStatus="+httpRequester.status+". Message="+httpRequester.statusText;
			alert (message);
		}
	}
}
//========================================================================
function MakeAjaxCall(url, async, resp){

	if(httpRequester){
		httpRequester.open("GET", url, async);
//alert(url);
		if(mtype == 1) {
			httpRequester.onreadystatechange = ResponseSave;
		}
		else {
			httpRequester.onload = ResponseSave;
		}
		httpRequester.send(null);
	}
}
//========================================================================
function KlamasMakeAjaxCall(url, async, resp){

	if(httpRequester){
		httpRequester.open("GET", url, async);
//alert(url);
		if(mtype == 1) {
			httpRequester.onreadystatechange = ResponseSave;
		}
		else {
			httpRequester.onload = ResponseSave;
		}
		httpRequester.send(null);
	}
}
//========================================================================
function klamas_ajax_call(action, params){

	var r;
	var resptype = "";
	var async = true;

	if(action=="invoice_GoodsAddOne"){
		r = ResponseNone;
		async = true;
	}

	else if(action=="invoice_ChangeAmounts"){
		r = ResponseNone;
		async = true;
	}

	else if(action=="invoice_CommentsAdd"){
		r = ResponseNone;
		async = true;
	}

	else if(action=="invoice_ChangeStatus"){
		r = ResponseNone;
		async = true;
	}

	else if(action=="catalog2_ucGetOneRubric"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="catalog2_ucSetOneRubric"){
		r = ResponseNone;
		async = true;
	}

	else if(action=="catalog2_ucClearOneRubric"){
		r = ResponseNone;
		async = true;
	}
	else if(action=="settings_usGetColSettings"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="settings_usSetColSettings"){
		r = ResponseNone;
		async = true;
	}
	else if(action=="settings_usSetColSettingsDef"){
		r = ResponseNone;
		async = true;
	}
	else if(action=="settings_usSetOneSetting"){
		r = ResponseNone;
		async = true;
	}
	else if(action=="sa_gtGetDependent"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="sa_gtGetCompatible"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="shop_changeAmount"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="shop_changePrices"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_GetAll"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="sitemap_GetOne"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="sitemap_moveAfter"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_moveInto"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_moveBefore"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_moveLast"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_moveAdd"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_edit"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_add"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="sitemap_hide"){
		r = ResponseNone;
		async = false;
	}
	else if(action=="help_GetOne"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="mp_questionGetAll"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="mp_userAnswersGetById"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="mp_answerSetGetByAnswer"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="hp_getEmployeesForUser"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}


	if(r){
		var url;
		if(action.substr(0, 7)=="invoice")
			url = '../invoices/invoices_ajax.asp?action=' + action;
		else if(action.substr(0, 7)=="catalog")
			url = '../catalog2/catalog_ajax.asp?action=' + action;
		else if(action.substr(0, 7)=="trigger")
			url = '../triggers/triggers_ajax.asp?action=' + action;
		else if(action.substr(0, 6)=="search")
			url = '../catalog2/catalog_ajax.asp?action=' + action;
		else if(action.substr(0, 8)=="settings")
			url = '../mysettings/settings_ajax.asp?action=' + action;
		else if(action.substr(0, 3)=="sa_")
			url = '../sa/sa_ajax.asp?action=' + action;
		else if(action.substr(0, 5)=="shop_")
			url = '../shop/shop_ajax.asp?action=' + action;
		else if(action.substr(0, 8)=="sitemap_")
			url = '../admin2/sitemap_ajax.asp?action=' + action;
		else if(action.substr(0, 5)=="help_")
			url = '../help/help_ajax.asp?action=' + action;
		else if(action.substr(0, 3)=="mp_")
			url = '../quest/quest_ajax.asp?action=' + action;
		else if(action.substr(0, 3)=="hp_")
			url = '../homepage/homepage_ajax.asp?action=' + action;

		if(params!='')
			url = url + '&' + params;

		KlamasMakeAjaxCall(url, async, r);
	}
}
//========================================================================
function ajax_call(action, params){

	var r;
	var resptype = "";
	var async = true;

	if(action=="catalog_gGetAllChilds"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="catalog_gGetAllChildsWithDescrs"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="catalog_gGetOne"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="catalog_gGetOneTexts"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="catalog_gGetFiles"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="catalog_gGetBrandBySN"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}
	else if(action=="catalog_gGetAllParents"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="catalog_gdGetAllFields"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="catalog_goods_descr_get"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

//	else if(action=="catalog_goods_folder_get"){
//		r = ResponseSave;
//		resptype = "txt";
//		async = false;
//	}

	else if(action=="catalog_folder_get"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="triggers_PriceReduction"){
		r = ResponseNone;
		async = true;
	}

	else if(action=="triggers_GoodsAppearance"){
		r = ResponseNone;
		async = true;
	}


	else if(action=="catalog2_gGetRootFolders_FromCache"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="search_dtGet"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="search_dtvGet"){
		r = ResponseSave;
		resptype = "txt";
		async = false;
	}

	else if(action=="catalog_error_found"){
		r = ResponseNone;
		async = true;
	}

	if(r){
		var url;
		if(action.substr(0, 7)=="invoice")
			url = '../invoices/invoices_ajax.asp?action=' + action;
		else if(action.substr(0, 7)=="catalog")
			url = '../catalog2/catalog_ajax.asp?action=' + action;
		else if(action.substr(0, 7)=="trigger")
			url = '../triggers/triggers_ajax.asp?action=' + action;
		else if(action.substr(0, 6)=="search")
			url = '../catalog2/catalog_ajax.asp?action=' + action;

		if(params!='')
			url = url + '&' + params;

		MakeAjaxCall(url, async, r);
	}
}
//========================================================================
