// JS Functions <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

var requestObject;

function StartAjax(){
	requestObject = false;
	//  for Internet Explorer <6.0 and other browsers
    if(window.XMLHttpRequest)
    {
        try
        {
            requestObject = new XMLHttpRequest();
        }
        catch(e)
        {
            requestObject = false;
        }        
    } // This block for Internet Explorer >=6.0
    else
	if(window.ActiveXObject)
    {
	   try
	   {
			  requestObject = new ActiveXObject("Msxml2.XMLHTTP");
	   }
	   catch(e)
	   {
			try
			{
				requestObject = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{
				requestObject = false;
			}
		}
    }
}

function proceedAjaxCall(urlStr, sendContent, callbackFunction) {
  StartAjax();
  if(requestObject){
	  if (urlStr.indexOf("?") < 0) {
		urlStr = urlStr + "?";
	  }
	  else {
		urlStr = urlStr + "&";
	  }
	  urlStr = urlStr + "ms="+new Date().getTime();
	  requestObject.onreadystatechange = function() {
		  if (requestObject.readyState == 4 && requestObject.status == 200) {
			if (callbackFunction != null) {
			  var responseText = requestObject.responseText;
			  callbackFunction.call(this, responseText);
			}
		  }
	  }
	  
	  requestObject.open("POST", urlStr, true);
	  requestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	  if(sendContent != null)
	  	requestObject.setRequestHeader("Content-Length", sendContent.length);
	  requestObject.send(sendContent);
  }
}

/**********************************************************************************************/

function URLencode(sStr) {
    return sStr.replace('%', '%25')
		.replace('+', '%2B')
		.replace(' ', '+')
		.replace('\"', '%22')
		.replace("\'", '%27')
		.replace("<", '%3C')
		.replace(">", '%3E')
		.replace('й', '%E9')
		.replace('ц', '%F6')
		.replace('у', '%F3')
		.replace('к', '%EA')
		.replace('е', '%E5')
		.replace('н', '%ED')
		.replace('г', '%E3')
		.replace('ш', '%F8')
		.replace('щ', '%F9')
		.replace('з', '%Е7')
		.replace('х', '%F5')
		.replace('ъ', '%FA')
		.replace('ф', '%F4')
		.replace('ы', '%FB')
		.replace('в', '%E2')
		.replace('а', '%E0')
		.replace('п', '%EF')
		.replace('р', '%F0')
		.replace('о', '%EE')
		.replace('л', '%EB')
		.replace('д', '%E4')
		.replace('ж', '%E6')
		.replace('э', '%FD')
		.replace('я', '%FF')
		.replace('ч', '%F7')
		.replace('с', '%F1')
		.replace('м', '%EC')
		.replace('и', '%E8')
		.replace('т', '%F2')
		.replace('ь', '%FC')
		.replace('б', '%E1')
		.replace('ю', '%FE')
		.replace('ё', '%B8')
		
		.replace('Й', '%E9')
		.replace('Ц', '%F6')
		.replace('У', '%F3')
		.replace('К', '%EA')
		.replace('Е', '%E5')
		.replace('Н', '%ED')
		.replace('Г', '%E3')
		.replace('Ш', '%F8')
		.replace('Щ', '%F9')
		.replace('З', '%Е7')
		.replace('Х', '%F5')
		.replace('Ъ', '%FA')
		.replace('Ф', '%F4')
		.replace('Ы', '%FB')
		.replace('В', '%E2')
		.replace('А', '%E0')
		.replace('П', '%EF')
		.replace('Р', '%F0')
		.replace('О', '%EE')
		.replace('Л', '%EB')
		.replace('Д', '%E4')
		.replace('Ж', '%E6')
		.replace('Э', '%FD')
		.replace('Я', '%FF')
		.replace('Ч', '%F7')
		.replace('С', '%F1')
		.replace('М', '%EC')
		.replace('И', '%E8')
		.replace('Т', '%F2')
		.replace('Ь', '%FC')
		.replace('Б', '%E1')
		.replace('Ю', '%FE')
		.replace('Ё', '%B8');				  
}

function trim(str){
	var s = str.replace(/^(\s)*/, '');
    s = s.replace(/(\s)*$/, '');
    return s;	
}

function addOptionToSelectObject(selectObject, value, text){
    var optionObject;
    var optionObjectText;

	optionObject = document.createElement("OPTION");
	optionObject.appendChild(document.createTextNode(text));
	optionObject.setAttribute("value", value);
	selectObject.appendChild(optionObject);
}

function removeAllOptionsFromSelect(dropdownObject){
    dropdownObject.innerHTML = "";
}

function fillReturnedXMLToDropdown(xmlTagValues, fillToDropdown){
	for(i = 0; i < xmlTagValues.length; i++)
        addOptionToSelectObject(fillToDropdown, xmlTagValues[i].getAttribute("value"), xmlTagValues[i].firstChild.data);
}

//************************* Ajax call back

function loadModelsByMarka(obj, toObj){
	var list = document.getElementById(toObj);
	if(list){
		if(obj.value != 0){
			list.style.display = "";
			//var str = URL + "cars.action.php?action=loadModelsByMarka&mark_id="+obj.value;			
			removeAllOptionsFromSelect(list);			
			addOptionToSelectObject(list, "-1", "Идет загрузка...");
			proceedAjaxCall(URL + "cars.action.php", "action=loadModelsByMarka&mark_id="+obj.value, afterLoadingModelsByMarka);
		} else
			addOptionToSelectObject(list, "-1", "Выберите модель");
	} else
		return false;
		
	function afterLoadingModelsByMarka(responseTxt){
		if(requestObject.readyState == 4)
		{
			if(requestObject.status == 200)
			{
				xmlObject = requestObject.responseXML.documentElement;
				var xmlTagValues = xmlObject.getElementsByTagName('model');

				if(xmlTagValues.length > 0){
					removeAllOptionsFromSelect(list);
					addOptionToSelectObject(list, "-1", "Выберите модель");
					fillReturnedXMLToDropdown(xmlTagValues, list);
				} else {
					removeAllOptionsFromSelect(list);
					addOptionToSelectObject(list, "-1", "Список пуст");
				}
			} 
		}
	}
}

function loadModificationsByModel(obj, obj1, toObj){
	var list = document.getElementById(toObj);
	var marka = document.getElementById(obj1);
	if(list){
		if(obj.value != 0 && marka.value != 0){
			list.style.display = "";
			var str = URL + "cars.action.php?action=loadModificationsByModel&mark_id="+marka.value+"&model_id="+obj.value;			
			removeAllOptionsFromSelect(list);			
			addOptionToSelectObject(list, "-1", "Идет загрузка...");
			proceedAjaxCall(str, null, afterLoadingModificationsByModel);
		} else
			addOptionToSelectObject(list, "-1", "Выберите модель");
	} else
		return false;
		
	function afterLoadingModificationsByModel(responseTxt){
		if(requestObject.readyState == 4)
		{
			if(requestObject.status == 200)
			{
				xmlObject = requestObject.responseXML.documentElement;
				var xmlTagValues = xmlObject.getElementsByTagName('modification');

				if(xmlTagValues.length > 0){
					removeAllOptionsFromSelect(list);
					addOptionToSelectObject(list, "-1", "Выберите модель");
					fillReturnedXMLToDropdown(xmlTagValues, list);
				} else {
					removeAllOptionsFromSelect(list);
					addOptionToSelectObject(list, "-1", "Список пуст");
				}
			} 
		}
	}
}


function loadAdvertiseCategoriesByParent(obj, toObj, parent){
	var list = document.getElementById(toObj);
	if(list){
		list.style.display = "";
		if(parent == "undefined")
			var str = URL + "advertise.action.php?action=loadAdvertiseCategories&parent_id="+obj.value;
		else
			var str = URL + "advertise.action.php?action=loadAdvertiseCategories&parent_id="+parent;
		removeAllOptionsFromSelect(list);
		addOptionToSelectObject(list, "-1", "Идет загрузка...");
		proceedAjaxCall(str, null, afterLoadingAdvertiseCategories);
	} else
		return false;
		
	function afterLoadingAdvertiseCategories(responseTxt){
		if(requestObject.readyState == 4)
		{
			if(requestObject.status == 200)
			{
				xmlObject = requestObject.responseXML.documentElement;
				var xmlTagValues = xmlObject.getElementsByTagName('category');

				if(xmlTagValues.length > 0){
					removeAllOptionsFromSelect(list);
					addOptionToSelectObject(list, "0", "Выберите раздел");
					fillReturnedXMLToDropdown(xmlTagValues, list);
				} else {
					removeAllOptionsFromSelect(list);
					addOptionToSelectObject(list, "-1", "Список пуст");
				}
			} 
		}
	}
}

function restorePassword(email, success, error) {
	proceedAjaxCall(URL + "restore_password.action.php", 'action=restore&email=' + email.value, afterRestorePassword);
    
	function afterRestorePassword(responseTxt){
		if(responseTxt == "ok")
			$('messageRestore').innerHTML = '<span style="color:green;">'+success+'</span>';
		else if(responseTxt != "")
			$('messageRestore').innerHTML = '<span class="messageError">Система временно не обслуживается, пожалуйста, попробуйте позже.</span>';
		else
			$('messageRestore').innerHTML = '<span class="messageError">'+error+'</span>';
	}
}






















function loadFilialsByCat(obj, compId){
	proceedAjaxCall(URL + "actions/filials.action.php?action=loadFilialsByCat&comp_id="+compId+"&cat_id="+obj.value, null, afterLoadingFilialsByCat);

	function afterLoadingFilialsByCat(responseTxt){			
		var list = document.getElementById("filialsList");
		if(list){
			list.innerHTML = responseTxt;
		}
	}
}


































function loadFilialsByRegion(obj, compId){
	var filialsObject = document.getElementById('Filial');
	var list = document.getElementById("groupsList");
	// clear dropdown information
	removeAllOptionsFromSelect(filialsObject);
	removeAllOptionsFromSelect(list);
	
	if (obj.value == "0"){
		addOptionToSelectObject(filialsObject, "-1", "Укажите регион филиала");
		//addOptionToSelectObject(filialsObject, "0", "Головной офис");
		return;
	}
	addOptionToSelectObject(filialsObject, "", "Идет загрузка филиалов...");
	proceedAjaxCall(urlPath + "actions/filials.action.php?action=loadFilialsByRegion&comp_id="+compId+"&region_id="+obj.value, null, afterLoadingFilialsByRegion);
		
	function afterLoadingFilialsByRegion(responseTxt){		
		if(requestObject.readyState == 4)
		{
			if(requestObject.status == 200)
			{
				filialsObject.innerHTML="";
				xmlObject = requestObject.responseXML.documentElement;
				var xmlTagValues = xmlObject.getElementsByTagName('filials');
				if(xmlTagValues.length > 0){
					addOptionToSelectObject(filialsObject, "-1", "Укажите филиал");
					addOptionToSelectObject(filialsObject, "0", "Головной офис");
					fillReturnedXMLToDropdown(xmlTagValues, filialsObject);
				} else {
					addOptionToSelectObject(filialsObject, "-1", "Филиалов не найдено");
				}
			} 
		}
	}
}

function loadSubGroupByGroup(obj, compId){
	if(obj.id == "group"){
		var subGroup = document.getElementById('subGroup');	
		var textSubGroup = document.getElementById('textSubGroup');	
		var brand = document.getElementById('brand');
		var textBrand = document.getElementById('textBrand');	
	} else {
		var textSubGroup = document.getElementById('textPriceSubGroup');	
		var subGroup = document.getElementById('priceSubGroup');	
	}
	
	// clear dropdown information	
	removeAllOptionsFromSelect(subGroup);
	if(obj.id == "group")
		removeAllOptionsFromSelect(brand);

	if(obj.value == "-1"){
		textSubGroup.innerHTML = "Необходимо выбрать вид оборудования";
		subGroup.style.display = "none";
		textSubGroup.style.display = "";		
		addOptionToSelectObject(subGroup, "-1", "Необходимо выбрать вид оборудования");		
		if(obj.id == "group"){
			textBrand.innerHTML = "Необходимо выбрать вид оборудования";
			brand.style.display = "none";
			textBrand.style.display = "";
			addOptionToSelectObject(brand, "-1", "Необходимо выбрать вид оборудования");
		}
		return;
	}
	
	
	textSubGroup.innerHTML = "Идет загрузка рубриков...";
	subGroup.style.display = "none";
	textSubGroup.style.display = "";
	//addOptionToSelectObject(subGroup, "", "Идет загрузка рубриков...");
	if(obj.id == "group"){
		textBrand.innerHTML = "Идет загрузка производителей...";
		brand.style.display = "none";
		textBrand.style.display = "";
		//addOptionToSelectObject(brand, "", "Идет загрузка производителей...");
	}
		
	proceedAjaxCall(urlPath + "actions/tovars.action.php?action=loadSubGroupByGroup&comp_id="+compId+"&cat_id="+obj.value+"&mode="+obj.id, null, afterLoadingSubGroupByGroup);
		
	function afterLoadingSubGroupByGroup(responseTxt){		
		if(requestObject.readyState == 4)
		{
			if(requestObject.status == 200)
			{
				subGroup.innerHTML = "";
				if(obj.id == "group")
					brand.innerHTML = "";
				xmlObject = requestObject.responseXML.documentElement;
				var xmlTagValues = xmlObject.getElementsByTagName('subGroup');
				if(xmlTagValues.length > 0){
					addOptionToSelectObject(subGroup, "-1", "Укажите рубрику");
					fillReturnedXMLToDropdown(xmlTagValues, subGroup);
					textSubGroup.style.display = "none";
					subGroup.style.display = "";
				} else {
					textSubGroup.innerHTML = "Рубрики не найдены";
					subGroup.style.display = "none";
					textSubGroup.style.display = "";					
					addOptionToSelectObject(subGroup, "-1", "Рубриков не найдено");
				}
				if(obj.id == "group"){
					xmlTagValues = xmlObject.getElementsByTagName('brand');
					if(xmlTagValues.length > 0){
						addOptionToSelectObject(brand, "-1", "Укажите производителя");
						fillReturnedXMLToDropdown(xmlTagValues, brand);
						textBrand.style.display = "none";
						brand.style.display = "";
					} else {
						textBrand.innerHTML = "Производителей не найдено";
						brand.style.display = "none";
						textBrand.style.display = "";						
						addOptionToSelectObject(brand, "-1", "Производителей не найдено");
					}
				}
			} 
		}
	}
}

function loadPriceList(subCatId, catId, compId, mode){	
	if(mode == 0){
		proceedAjaxCall(urlPath + "actions/tovars.action.php?action=loadPriceList&comp_id="+compId+"&cat_id="+catId+"&subcat_id="+subCatId, null, ajaxCallBack);
	} else
		togglecategory("p"+subCatId, mode);
	
	function ajaxCallBack(responseTxt){	
		if(requestObject.readyState == 4)
		{
			if(requestObject.status == 200)
			{
				var list = document.getElementById("priceList_"+subCatId);
				if(list){
					var company = '';
					var name = '';
					var data = '';
					var fileType = 'doc';
					var file = '';
						
					var retString = '';
					xmlObject = requestObject.responseXML.documentElement;
					var xmlTagValues = xmlObject.getElementsByTagName('PRICE');
					retString += '<table class="ipbtable" cellspacing="0" border="0">';
					if(xmlTagValues.length > 0){						
						for(var i = 0; i < xmlTagValues.length; i++){
							var items = xmlTagValues[i].getElementsByTagName('PL_ID');
							if(items.length > 0)
								var pid = items[0].getAttribute("value");
							items = xmlTagValues[i].getElementsByTagName('PL_NAME');
							if(items.length > 0)
								name = items[0].getAttribute("value");//firstChild.data;
							items = xmlTagValues[i].getElementsByTagName('COMP_NAME');
							if(items.length > 0)
								company = items[0].getAttribute("value");
							items = xmlTagValues[i].getElementsByTagName('PL_FILE_TYPE');
							if(items.length > 0)
								fileType = items[0].getAttribute("value");
							items = xmlTagValues[i].getElementsByTagName('PL_FILE');
							if(items.length > 0)
								file = items[0].getAttribute("value");
							items = xmlTagValues[i].getElementsByTagName('PL_ADDED');
							if(items.length > 0){
								var mil = items[0].getAttribute("value");
								data = getDateTime("MMM dd, yyyy HH:mm:ss", mil);								
							}
							
				retString += '<tr><td width="5%" class="row1"><a href="'+file+'"><img src="i/'+fileType+'.gif" alt="no"></a></td><td width="85%" colspan="2" class="row1"><span style="font-size:14px;"><strong>Название '+name+'<br /> '+company+'</strong></span><div class="navigation" style="margin-bottom: 5px; margin-top: 3px; padding:2px;"><span style="color:#666">'+data+'</span></div><br /><br /></td><td width="5%" valign="bottom" align="center" class="row1"><a href="tov.php?pid='+pid+'"><img src="i/edit.gif" alt="Редактиировать" border="0" /></a></td><td width="5%" valign="bottom" align="center" class="row1"><a href="#"><img src="i/del.gif" alt="Удалить" border="0" /></a></td></tr>';
						}						
					}
					retString += '</table>';
					list.innerHTML = retString;
					togglecategory("p"+subCatId, mode);
				}
			}
		}
	}	
}

function deleteFilial(compId, filialId, regionId){
	proceedAjaxCall(urlPath + "actions/filials.action.php?action=delete&comp_id="+compId+"&filial_id="+filialId, null, ajaxCallBack);
	
	function ajaxCallBack(responseTxt){	
		if(responseTxt=="ok")
			loadFilialsList(regionId, compId, 0);
		else
			alert("Ошибка: Проблема с сервером, пожалуйста, попробуйте позже.");
	}
}

function changeCondition(tagId, filialId){
	var elm = document.getElementById("condition_"+tagId);
	if(elm){
		var edit = document.getElementById("editCondition_"+tagId);
		var imgChange = document.getElementById("imgChange_"+tagId);
		var imgOk = document.getElementById("imgOk_"+tagId);
		elm.style.display = "none";
		imgChange.style.display = "none";
		edit.style.display = "";
		imgOk.style.display = "";
		edit.focus();
		
	}
	
}

function okCondition(tagId, filialId){
	var edit = document.getElementById("editCondition_"+tagId);
	if(edit){
		proceedAjaxCall(urlPath + "actions/subdivision.action.php?"+Ext.urlEncode({"action":"changeCondition", "condition":edit.value, "filial_id":filialId}), null, ajaxCallBack);		
	}
	
	function ajaxCallBack(responseTxt){
		if(responseTxt == "ok"){
			var elm = document.getElementById("condition_"+tagId);
			var imgChange = document.getElementById("imgChange_"+tagId);
			var imgOk = document.getElementById("imgOk_"+tagId);
			elm.innerHTML = edit.value;
			elm.style.display = "";
			imgChange.style.display = "";
			edit.style.display = "none";
			imgOk.style.display = "none";
		} else
			alert("Извините, проблема с сервером, пожалуйста попробуйте позже!");
	}
}