var DEBUG = false;
//var DEBUG = true;
var mainpage = 'Главная';
var langs = new Array("en", "ru"); 

String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function isNumberKey(evt)
{
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
    return true;
}

// This code is in the public domain. Feel free to link back to http://jan.moesen.nu/
function sprintf()
{
	if (!arguments || arguments.length < 1 || !RegExp)
	{
		return;
	}
	var str = arguments[0];
	var re = /([^%]*)%('.|0|\x20)?(-)?(\d+)?(\.\d+)?(%|b|c|d|u|f|o|s|x|X)(.*)/;
	var a = b = [], numSubstitutions = 0, numMatches = 0;
	while (a = re.exec(str))
	{
		var leftpart = a[1], pPad = a[2], pJustify = a[3], pMinLength = a[4];
		var pPrecision = a[5], pType = a[6], rightPart = a[7];
		
		//alert(a + '\n' + [a[0], leftpart, pPad, pJustify, pMinLength, pPrecision);

		numMatches++;
		if (pType == '%')
		{
			subst = '%';
		}
		else
		{
			numSubstitutions++;
			if (numSubstitutions >= arguments.length)
			{
				alert('Error! Not enough function arguments (' + (arguments.length - 1) + ', excluding the string)\nfor the number of substitution parameters in string (' + numSubstitutions + ' so far).');
			}
			var param = arguments[numSubstitutions];
			var pad = '';
			       if (pPad && pPad.substr(0,1) == "'") pad = leftpart.substr(1,1);
			  else if (pPad) pad = pPad;
			var justifyRight = true;
			       if (pJustify && pJustify === "-") justifyRight = false;
			var minLength = -1;
			       if (pMinLength) minLength = parseInt(pMinLength);
			var precision = -1;
			       if (pPrecision && pType == 'f') precision = parseInt(pPrecision.substring(1));
			var subst = param;
			       if (pType == 'b') subst = parseInt(param).toString(2);
			  else if (pType == 'c') subst = String.fromCharCode(parseInt(param));
			  else if (pType == 'd') subst = parseInt(param) ? parseInt(param) : 0;
			  else if (pType == 'u') subst = Math.abs(param);
			  else if (pType == 'f') subst = (precision > -1) ? Math.round(parseFloat(param) * Math.pow(10, precision)) / Math.pow(10, precision): parseFloat(param);
			  else if (pType == 'o') subst = parseInt(param).toString(8);
			  else if (pType == 's') subst = param;
			  else if (pType == 'x') subst = ('' + parseInt(param).toString(16)).toLowerCase();
			  else if (pType == 'X') subst = ('' + parseInt(param).toString(16)).toUpperCase();
		}
		str = leftpart + subst + rightPart;
	}
	return str;
}

//Browser Support Code
function BrowserCheck() {
	var ajaxRequest;  // The variable that makes Ajax possible!
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	return ajaxRequest;
}

function switch_language() {
    var el = document.getElementById('lang');
    if (el.value) {
        location.href = 'admin.php?lang='+el.value;
    }
}

function hideDiv(idDiv) {
	var el = document.getElementById(idDiv);
	if (el) el.style.display = "none";
}

function showDiv(idDiv) {
	var el = document.getElementById(idDiv);
	if (el) el.style.display = "block";
}

//window.onload = hideDiv("divMainMenu1");

function _checkReq(id, warnofWhat) {
    var el = document.getElementById(id);
    if (el && el.value.trim() == "") {
        alert(sprintf(WARN_FILL, warnofWhat));      
        el.focus();
        //el.css({'background-color' : '#ffa4a4'});
        return false;
    }
    return true;
}

function _checkReqCbx(id, warnofWhat, defaultIdx) {
    var el = document.getElementById(id);
    if (el && el.value.trim() == "0") {
        el.focus();
        el.selectedIndex = 0;
        alert(sprintf(WARN_FILL, warnofWhat));      
        return false;
    }
    return true;
}

function replaceAll(text, strA, strB)
{
    if(text) return text.replace( new RegExp(strA,"g"), strB );    
    else return '';
}

function setInnerText(idControl, text) {
 	var el = document.getElementById(idControl);
	if (el) el.innerHTML = text;
}

function setValueText(idControl, text) {
	var el = document.getElementById(idControl);
	if(el) el.value = text;
}

function getValue(idControl) {
	var el = document.getElementById(idControl);
	if(el) return el.value; else return '';
}

function writeText(idWhere, text) {
var obj = document.getElementById(idWhere);
if(obj) obj.innerHTML = text;	
}

var oEditor_en = null;
var oEditor_ru = null;
var oEditor_cz = null;
var oEditor_de = null;

function FCKeditor_OnComplete( editorInstance ) {
//alert('FCKeditor_OnComplete: '+ editorInstance.Name);
if ( 'FCKeditor_en' == editorInstance.Name ) {
  oEditor_en = editorInstance;
} else if ( 'FCKeditor_ru' == editorInstance.Name ) {
  oEditor_ru = editorInstance;
} else if ( 'FCKeditor_cz' == editorInstance.Name ) {
  oEditor_cz = editorInstance;
} else if ( 'FCKeditor_de' == editorInstance.Name ) {
  oEditor_de = editorInstance;
}
}

function getContent(i, idContent, asAdmin) {
    //alert('getContent');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState==4 || ajaxRequest.readyState=="complete") {
    		//if(DEBUG) alert('Content=' + ajaxRequest.responseText); //debug
			var res;
			eval("res=" + ajaxRequest.responseText);
			if(asAdmin) {
				$("div.divContent").hide();
				$("div.divContentFCK").show();

  			//if (oEditor_en == null) 
        oEditor_en = FCKeditorAPI.GetInstance('FCKeditor_en'); //alert(oEditor_en);
          oEditor_en.SetHTML( replaceAll(res.menucontent_en, '&&&', '"') );
//  				oEditor_ru = FCKeditorAPI.GetInstance('FCKeditor_ru'); alert(oEditor_ru);
  				//alert(oEditor_ru);
          oEditor_ru.SetHTML( replaceAll(res.menucontent_ru, '&&&', '"') );
          oEditor_cz.SetHTML( replaceAll(res.menucontent_cz, '&&&', '"') );
          oEditor_de.SetHTML( replaceAll(res.menucontent_de, '&&&', '"') );

				setValueText('cur_id', i);
				setInnerText('status', res.status);
			} else { // -----   front-end
			//alert(i);
			       if(i != 4) {
               $('#tmp1').html($('#divContent').html());
               $('#divContent').html($('#divStaticContent').html());
               $('#static_content_caption').html(res.caption);
             } else {
               $('#divContent').html($('#divContent').html() + '<br />' + $('#divStaticContent').html());
             }
               
               
			   if (i==1) 
				$('#static_content').html( '<div style=\'margin-left: 10px; margin-right: 28px;\'>' + replaceAll( eval('res.menucontent_'+$('#lang').val()), '&&&', '"') + '</div>' + res.cat_images); else
				$('#static_content').html( replaceAll(eval('res.menucontent_'+$('#lang').val()), '&&&', '"') + res.cat_images);
			}
						
		}
	}
    var url = "getcontent.php?id=" + i + '&lang=' + $('#lang').val();
    //alert(url);
	ajaxRequest.open("GET", url, true);
	ajaxRequest.send(null); 
}

function saveContent(i) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if(ajaxRequest.readyState == 4){
            cancelFCKContent(1);
			alert(SAVE_OK);
		}
	}
	var params = 
		"cur_id=" + i 
        + "&lang=" + $('#lang').val()
        + "&menucontent_en=" + encodeURIComponent(oEditor_en.GetHTML())
        + "&menucontent_ru=" + encodeURIComponent(oEditor_ru.GetHTML())
        + "&menucontent_cz=" + encodeURIComponent(oEditor_cz.GetHTML())
        + "&menucontent_de=" + encodeURIComponent(oEditor_de.GetHTML())
        ;
	ajaxRequest.open("POST", "savecontent.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);	
}

function cancelContent() {
	$("div.divContent").hide();
}

function cancelFCKContent() {
	$("div.divContentFCK").hide();
}


function delContent(id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
		var el = document.getElementById('span_menu_'+id);
		el.parentNode.removeChild(el);
		$("div.divContent").hide();
    	$("div.divSubCategoryDetails").hide(); // hide details
		alert(MENU_ITEM_DELETED);
		}
	}
	ajaxRequest.open("GET", "delcontent.php?id=" + id, true);
	ajaxRequest.send(null); 
}

function cancelDetails(divName) {
	$("div.div" + divName + "Details").hide();
	$("div.divContent").show();
}

function showSection(sectionName, id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
    	$("#divContentFCK").hide();
			$("#divCustomerDetails").hide();
			$("#divPosyDescriptionDetails").hide();
			$("#divPosyCategoryDetails").hide();
      $("#divPosyKeyDetails").hide();
      $("#divBanners").hide();
      $("#divPartnerDetails").hide();
			var obj = document.getElementById('divContent');
			if(obj) obj.innerHTML = ajaxRequest.responseText;
    	$("div.divContent").show();
			setInnerText('status', '');
		}
	}
    params = '?id=' + id;
    el = document.getElementById('lang');
    if (el) params += '&lang=' + el.value;
//alert(params);
	ajaxRequest.open("GET", "get" + sectionName + ".php" + params, true);
	ajaxRequest.send(null); 
}

function showSubCategory(id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
    		$("div.divContentFCK").hide();
			$("div.divCustomerDetails").hide();
			$("div.divPosyDescriptionDetails").hide();
			$("div.divPosyCategoryDetails").hide();
            $("div.divPosyKeyDetails").hide();
            $("div.divBanners").hide();
            $("div.divPartnerDetails").hide();
			var obj = document.getElementById('divContent');
			if(obj) obj.innerHTML = ajaxRequest.responseText;
    		$("div.divContent").show();
			setInnerText('status', '');
		}
	}
    params = "?id=" + id;
    el = document.getElementById('lang');
    if (el) params += '&lang=' + el.value;
//    alert(params);

	ajaxRequest.open("GET", "getSubCategory.php" + params, true);
	ajaxRequest.send(null); 
}


// ---------------------------------------
// Customer details
// ---------------------------------------
// show details of customer
function CustomerDetails_show(id, asAdmin) {
//    alert('CustomerDetails_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
//			if(DEBUG) alert('CustomerDetails=' + ajaxRequest.responseText); //debug
			var res;
            $("div.tmp").html($("div.divContent").html());
            $("div.divContent").html($("div.divCustomerDetails").html());
			eval("res=" + ajaxRequest.responseText);
            if (asAdmin) {
    			//$("div.divContent").hide();
    			$("input.customer_id").attr("value", res.id);
    			$("input.company_name").attr("value", res.company_name);
    			$("input.post").attr("value", res.post);
    			$("input.country").attr("value", res.country);
    			$("input.first_name").attr("value", res.first_name);
    			$("input.last_name").attr("value", res.last_name);
    			$("input.e_mail").attr("value", res.e_mail);
    			$("input.telefon").attr("value", res.telefon);
    			$("input.fax").attr("value", res.fax);
    			$("input.psw").attr("value", res.psw);
    			$("input.psw_confirm").attr("value", res.psw);
    			$("select.activ").attr("value", res.activ);
    			$("textarea.address").html(replaceAll(res.address, '<br />', '\r\n'));
    			$("input.city").attr("value", res.city);
    			$("input.zip").attr("value", res.zip);
    			//$("div.divCustomerDetails").show();
            } else { // if not admin
                setValueText("bSave", "Сохранить");
    			setValueText("customer_id", res.id);
                setValueText("first_name", res.first_name);
    			setValueText("first_name", res.first_name);
    			setValueText("last_name", res.last_name);
    			setValueText("e_mail", res.e_mail);
    			setValueText("telefon", res.telefon);
    			setValueText("fax", res.fax);
    			setValueText("psw", res.psw);
    			setValueText("psw_confirm", res.psw);
    			setValueText("adr_total", res.id);
      			setValueText("address", replaceAll(res.address, '<br />', '\r\n'));
    			setValueText("city", res.city);
    			setValueText("zip", res.zip);
            } // end if not admin
		}
	}
	ajaxRequest.open("GET", "getcustomerinfo.php?id=" + id, true);
	ajaxRequest.send(null); 
}

function CustomerDetails_save1(mail, id, asAdmin) {
    var mandatoryOK = true;
    mandatoryOK = _checkReq('first_name', NAME); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('last_name', FAMILY_NAME); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('e_mail', E_MAIL); if (!mandatoryOK) return false;
    
    var el = document.getElementById('e_mail');
    if (! isValidEmail(el.value)) {
        alert(E_MAIL_WRONG);
        el.focus();
        return false;
    }    
    mandatoryOK = _checkReq('telefon', TELEFON); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('psw', PSW); if (!mandatoryOK) return false;

    var psw = document.getElementById('psw');
    var psw_confirm = document.getElementById('psw_confirm');
    if(!psw || !psw_confirm) return false;
    if (psw.value != psw_confirm.value) {
        alert(PSW_DIFFERENT);
        psw_confirm.focus();
        return false;
    }

	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
        	eval("res=" + ajaxRequest.responseText);
            if (res.count == 0) {
                CustomerDetails_save(id, asAdmin);
            } else {
                alert(res.message);
            }
		}
	}
	ajaxRequest.open("GET", "checkmail.php?mail=" + mail + "&id=" + id + "&first_name=" + $('#first_name').val() + "&psw=" + $('#psw').val(), true);
	ajaxRequest.send(null); 
}

function CustomerDetails_save(id, asAdmin){
//    alert('customerdetails_save' + id + ' ' + asAdmin);
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			id = document.getElementById('customer_id').value;
			var res;
            $("div.divContent").html($("div.tmp").html());
//            if(DEBUG) 
alert(id + ' ' + ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);
            if(asAdmin) {
    			if (res.new_id > 0) { // adding new record
    				id = res.new_id;
    				var x = document.getElementById('tGrid').insertRow(1);
    				x.className = "row1";
    				x.onmouseout =  function() { this.className='row1'; }
    				x.onmouseover =  function() { this.className='highlight'; }
    				var cell;
    				cell = x.insertCell(0); cell.innerHTML = '<span class="first_name_' + id + '"> </span>';
    				cell = x.insertCell(1); cell.innerHTML = '<span class="last_name_' + id + '"> </span>';
    				cell = x.insertCell(2);	cell.innerHTML = '<span class="e_mail_' + id + '"> </span>';
    				cell = x.insertCell(3);	cell.innerHTML = '<span class="telefon_' + id + '"> </span>';
    				cell = x.insertCell(4);	cell.innerHTML = '<span class="fax_' + id + '"> </span>';
    				cell = x.insertCell(5);	cell.innerHTML = '<a onclick="CustomerDetails_show(' + id + ');"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick="CustomerDetails_show(' + id + ');"><a onclick=\'CustomerDetails_del(' + id + ', ' + res.last_name + ', this);\'><img src="./images/delete.png" border="0"></a>';
    			} 
    
    			var activity;
    			if (res.activ == 0) activity = "customer_inactive"; else activity = "customer_active";
    			$("span.first_name_" + id).attr("innerHTML", res.first_name);
    			$("span.first_name_" + id).attr("id", activity);
    			$("span.last_name_" + id).attr("innerHTML", res.last_name);
    			$("span.last_name_" + id).attr("id", activity);
    			$("span.e_mail_" + id).attr("innerHTML", res.e_mail);
    			$("span.e_mail_" + id).attr("id", activity);
    			$("span.telefon_" + id).attr("innerHTML", res.telefon);
    			$("span.telefon_" + id).attr("id", activity);
    			$("span.fax_" + id).attr("innerHTML", res.fax);
    			$("span.fax_" + id).attr("id", activity);
    			$("span.psw_" + id).attr("innerHTML", res.psw);
    			$("span.psw_" + id).attr("id", activity);
    			$("span.activ_" + id).attr("innerHTML", res.activ);
    			$("span.activ_" + id).attr("id", activity);
    			$("div.divCustomerDetails").hide(); // hide details
    			$("div.divContent").show(); // show the list of customers
            } else {
                // front-end
                if(id == 0) {
                    if(document.getElementById('new_reg_by_booking').value == 1) {
                        document.getElementById('enter_login').value = res.first_name;
                        document.getElementById('enter_psw').value = res.psw;
                        Login();
                        doOrder();
                    } else $('#divContent').html('<center>' + REGISTRATION_COMPLETED + '</center>');
                } else {
                    alert(SAVE_OK);
                        var s = res.last_name;
                        //if (s.length > 30) s = res.last_name.substring(0, 28) + '...';
                        setInnerText("user_name", res.first_name + "<br />" + s);
                    }
            }
		}
	}
	var params = 
		"id=" + id 
		+ "&company_name=" + $('#company_name').val()
		+ "&post=" + $('#post').val()
		+ "&first_name=" + $('#first_name').val()
		+ "&last_name=" + $('#last_name').val()
		+ "&e_mail=" + $('#e_mail').val()
		+ "&psw=" + $('#psw').val()
		+ "&telefon=" + replaceAll(document.getElementById("telefon").value, "\\+", "%2B")
		+ "&fax=" + $('#fax').val()
		+ "&country=" + $('#country').val()
		+ "&address=" + $('#address').val()
		+ "&city=" + $('#city').val()
		+ "&zip=" + $('#zip').val()
		+ "&asadmin=" + asAdmin
        ;

    i = document.getElementById("activ");
    if(i) params += "&activ=" + document.getElementById("activ").value;

	//if(DEBUG) alert(params);
//    alert(replaceAll(document.getElementById("telefon").value, "\\+", "%2B"));
	
	ajaxRequest.open("POST", "savecustomerinfo.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function CustomerDetails_del(id, username, r) {
    if (!confirm(sprintf(WARN_DELETE, username))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delcustomer.php?id=" + id, true);
	ajaxRequest.send(null); 	
}

function addAdr() {
	var el = document.getElementById('div_adr');
	var elNew = document.createElement('div');
	var adr_total = document.getElementById('adr_total');
	++adr_total.value;
   //alert('addAdr ' + adr_total.value);
	elNew.id = 'div_adr_' + adr_total.value;
	elNew.innerHTML = 
	'<table border="0"><tr><td colspan="2">Адрес: улица, дом, кв-ра&nbsp;<br /><textarea cols="33" rows="3" id="address_' + adr_total.value + '" class="address_' + adr_total.value + '" style="width: 400px;"></textarea></td></tr>'
	+ '<tr><td>Город&nbsp;<input type="text" size="15" id="city_' + adr_total.value + '" class="city_' + adr_total.value + '" value="Москва" />&nbsp;</td><td align="right">Почтовый Индекс&nbsp;<input type="text" size="5" id="zip_' + adr_total.value + '" class="zip_' + adr_total.value + '" /></td></tr>'
	+ '<tr><td colspan="2" id="td_is_main_' + adr_total.value + '"><input type="radio" name="address" id="is_main_' + adr_total.value + '" class="is_main_' + adr_total.value + '" />Основной адрес?&nbsp;&nbsp;&nbsp;&nbsp;<a onclick="delAdr(\'' + elNew.id + '\');" style="text-decoration: underline;">удалить адрес</a></td></tr>'
	+ '</table>'
	+ '<hr style="border: dotted 1px; " />';
	el.appendChild(elNew);
    
	var parent_div = document.getElementById('div_adr');
	var idx = 0;
	for (var i = 1; i < parent_div.childNodes.length; i++) { // skip first input type=hidden
	    if (parent_div.childNodes[i].nodeType != 1) continue;
        ++idx;
    }
    // if remains only one address - show first "remove address" link
    if (idx == 2) {
       	s = parent_div.childNodes[1].id; // get div id, format: div_adr_<number>
        s = s.substring(s.lastIndexOf("_")+1, s.length); // cut the number of the div
        var el1 = document.getElementById("td_is_main_" + s);
        el1.style.display = 'inline-block';
    }
}
 
function delAdr(id) {
    if (!confirm(sprintf(WARN_DELETE, "адрес"))) return false;
	var parent_div = document.getElementById('div_adr');
	var el = document.getElementById(id);
	parent_div.removeChild(el);
    
	var parent_div = document.getElementById('div_adr');
	var idx = 0;
	for (var i = 1; i < parent_div.childNodes.length; i++) { // skip first input type=hidden
        if (parent_div.childNodes[i].nodeType != 1) continue;
        ++idx;
    }
    // if remains only one address - hide "remove address" link
    if (idx == 1) {
       	s = parent_div.childNodes[i-1].id; // get div id, format: div_adr_<number>
        s = s.substring(s.lastIndexOf("_")+1, s.length); // cut the number of the div
        var el1 = document.getElementById("td_is_main_" + s);
        el1.style.display = 'none';
    }
}

function delAdrAll(){
    if (DEBUG) alert('delAdrAll');
    var parent_div = document.getElementById('div_adr');
    var el;
    for(i = 1; i < 100; i++) {
        el = document.getElementById('div_adr_' + i);
        if (el) parent_div.removeChild(el);
    }
/*    var i = 1;
    while (document.getElementById('div_adr_' + i)) {
        var parent_div = document.getElementById('div_adr');
        var el = document.getElementById('div_adr_' + i);
        parent_div.removeChild(el);
        ++i;
    }*/
    var adr_total = document.getElementById('adr_total');
    adr_total.value = 0;
}
// ---------------------------------------
// Posy Description
// ---------------------------------------
// show details of posy description
function PosyDescriptionDetails_show(id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
			//if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
			$("div.divContent").hide();
			$("input.posy_id").attr("value", res.id);
			$("input.posy_name").attr("value", replaceAll(res.posy_name, '<br />', '\r\n')); //res.posy_name);
			$("input.posy_code").attr("value", res.posy_code);
			$("input.posy_price").attr("value", res.posy_price);
			$("select.posy_style").attr("value", res.posy_style);
			$("textarea.description").attr("value", replaceAll(res.posy_description, '<br />', '\r\n'));
			$("textarea.description_short").attr("value", replaceAll(res.posy_description_short, '<br />', '\r\n'));
            
            $("div.div_my_category").html(replaceAll(res.my_category, '&&&', '"'));
            $("div.div_my_keys").html(replaceAll(res.my_keys, '&&&', '"'));
            
            $("div.div_all_category").html(replaceAll(res.all_category, '&&&', '"'));
            $("div.div_all_keys").html(replaceAll(res.all_keys, '&&&', '"'));
//alert(replaceAll(res.posy_images, '&&&', '"'));
            $("div.div_posy_images").html(replaceAll(res.posy_images, '&&&', '"'));
            
			$("div.divPosyDescriptionDetails").show();
			$("input.posy_name").focus();
		}
	}
	ajaxRequest.open("GET", "getposydescriptioninfo.php?id=" + id, true);
	ajaxRequest.send(null); 
}


// save the posy description
function PosyDescriptionDetails_save(id){
    function getIds(div) {
//        if(DEBUG) alert('getIds=' + div);
    	var parent_div = document.getElementById(div);
        var res = '';
    	for (var i = 0; i < parent_div.childNodes.length; i++) { 
			//if(DEBUG) alert(ajaxRequest.responseText); //debug
            s = parent_div.childNodes[i].id; // get div id, format: div_xxx_<number>
            res = res + '_' + s.substring(s.lastIndexOf("_") + 1, s.length); // cut the number of the div
        }
        return res.substring(1);
    }

    var mandatoryOK = true;
    mandatoryOK = _checkReq('posy_name', 'Название букета');
    // TODO: добавить проверки на остальные обязательные поля.
    if (!mandatoryOK) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			id = document.getElementById('posy_id').value;
			var res;
            //if(DEBUG) alert('PosySave: ' + id + ' ' + ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);

			if (res.new_id > 0) { // adding new record
				id = res.new_id;
				var x = document.getElementById('tGrid').insertRow(1);
				x.className = "row1";
				x.onmouseout =  function() { this.className='row1'; }
				x.onmouseover =  function() { this.className='highlight'; }
				var cell;
				cell = x.insertCell(0); cell.innerHTML = '<span class="posy_name_' + id + '"> </span>';
				cell = x.insertCell(1);	cell.innerHTML = '<a onclick="PosyDescriptionDetails_show(' + id + ');"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick="PosyDescriptionDetails_show(' + id + ');"><a onclick=\'PosyDescriptionDetails_del(' + id + ', "' + res.posy_name + '", this);\'><img src="./images/delete.png" border="0"></a>';
			} 

			var activity;
			if (res.activ == 0) activity = "customer_inactive"; else activity = "customer_active";
			$("span.posy_name_" + id).attr("innerHTML", res.posy_name);
//			$("span.name_" + id).attr("id", activity);
//			$("span.activ_" + id).attr("innerHTML", res.activ);
//			$("span.activ_" + id).attr("id", activity);
			
			$("div.divPosyDescriptionDetails").hide(); // hide details
			$("div.divContent").show(); // show the list of customers
		}
	}
    
	var params = 
		"id=" + id 
		+ "&posy_name=" + document.getElementById("posy_name").value
		+ "&posy_code="	+ document.getElementById("posy_code").value
		+ "&posy_price="	+ document.getElementById("posy_price").value
		+ "&posy_style="	+ document.getElementById("posy_style").value
		+ "&description_short="	+ document.getElementById("description_short").value
		+ "&description="	+ document.getElementById("description").value
        + "&mycategory=" + getIds('div_my_category') // get my catagories with delimiter '_'
        + "&mykeys=" + getIds('div_my_keys') // get my keywords with delimiter '_'
        + "&posy_images=" + getIds('div_posy_images') // get posy images with delimiter '_'
    ;

//alert("description_short= '"	+ document.getElementById("description_short").value + "'");
    if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "savePosyDescriptionInfo.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

// delete the posy description by it's ID, r = this
function PosyDescriptionDetails_del(id, name, r) {
	if (!confirm(sprintf(WARN_DELETE, name))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delposydecription.php?id=" + id, true);
	ajaxRequest.send(null); 	
}

// ---------------------------------------
// Posy Category
// ---------------------------------------
// show details of posy category
function PosyCategoryDetails_show(id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
			$("div.divContent").hide();
			$("input.posy_category_id").attr("value", res.id);
			$("input.posy_category_name").attr("value", res.posy_category_name);
			$("div.divPosyCategoryDetails").show();
            $("input.posy_category_name").focus();
		}
	}
	ajaxRequest.open("GET", "getPosyCategoryInfo.php?id=" + id, true);
	ajaxRequest.send(null); 
}

// save the posy category
function PosyCategoryDetails_save(id){
    var mandatoryOK = true;
    mandatoryOK = _checkReq('posy_category_name', 'Название категории');
    // TODO: добавить проверки на остальные обязательные поля.
    if (!mandatoryOK) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			id = document.getElementById('posy_category_id').value;
			var res;
            if(DEBUG) alert(id + ' ' + ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);

			if (res.new_id > 0) { // adding new record
				id = res.new_id;
				var x = document.getElementById('tGrid').insertRow(1);
				x.className = "row1";
				x.onmouseout =  function() { this.className='row1'; }
				x.onmouseover =  function() { this.className='highlight'; }
				var cell;
				cell = x.insertCell(0); cell.innerHTML = '<span class="posy_category_name_' + id + '"> </span>';
				cell = x.insertCell(1);	cell.innerHTML = '<a onclick="PosyCategoryDetails_show(' + id + ');"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick="PosyCategoryDetails_show(' + id + ');"><a onclick=\'PosyDescriptionDetails_del(' + id + ', "' + res.posy_category_name + '", this);\'><img src="./images/delete.png" border="0"></a>';
			} 

			var activity;
			if (res.activ == 0) activity = "customer_inactive"; else activity = "customer_active";
			$("span.posy_category_name_" + id).attr("innerHTML", res.posy_category_name);
			
			$("div.divPosyCategoryDetails").hide(); // hide details
			$("div.divContent").show(); // show the list of customers
		}
	}

	var params = 
		"id=" + id 
		+ "&posy_category_name=" + document.getElementById("posy_category_name").value

    if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "savePosyCategoryInfo.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}



// delete the posy description by it's ID, r = this
function PosyCategoryDetails_del(id, name, r) {
	if (!confirm(sprintf(WARN_DELETE, name))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            //if(DEBUG) alert(id + ' ' + ajaxRequest.responseText);
            if (ajaxRequest.responseText) { // in responseText is saved in what posy this category is already used
                alert('Категория "' + name + '" используется в описании: ' + ajaxRequest.responseText + '.');
            } 
            else  document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delPosyCategory.php?id=" + id, true);
	ajaxRequest.send(null); 	
}


function addPosyCategory() {
	var el = document.getElementById('div_category');
	var elNew = document.createElement('div');
	var total = document.getElementById('category_total');
	++total.value;
	elNew.id = 'div_category_' + total.value;
	elNew.innerHTML = 
	'Адрес:&nbsp;<a onclick="delPosyCategory(\'' + elNew.id + '\')">x</a>';
	el.appendChild(elNew);
}

function delPosyCategory(id) {
	if (confirm(WARN_DELETE)) {
		var parent_div = document.getElementById('div_category');
		var el = document.getElementById(id);
		parent_div.removeChild(el);
	}
}


// ---------------------------------------
// Posy Keywords
// ---------------------------------------
// show details of posy keyword
function PosyKeyDetails_show(id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
			$("div.divContent").hide();
            $("div.divBanners").hide();
            $("div.divPartnerDetails").hide();
			$("input.posy_key_id").attr("value", res.id);
			$("input.posy_key").attr("value", res.posy_key);
			$("div.divPosyKeyDetails").show();
            $("input.posy_key").focus();
		}
	}
	ajaxRequest.open("GET", "getPosyKeyInfo.php?id=" + id, true);
	ajaxRequest.send(null); 
}

// save the posy keywords
function PosyKeyDetails_save(id) {
    var mandatoryOK = true;
    mandatoryOK = _checkReq('posy_key', 'Ключевое слово');
    // TODO: добавить проверки на остальные обязательные поля.
    if (!mandatoryOK) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			id = document.getElementById('posy_key_id').value;
			var res;
            if(DEBUG) alert(id + ' ' + ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);

			if (res.new_id > 0) { // adding new record
				id = res.new_id;
				var x = document.getElementById('tGrid').insertRow(1);
				x.className = "row1";
				x.onmouseout =  function() { this.className='row1'; }
				x.onmouseover =  function() { this.className='highlight'; }
				var cell;
				cell = x.insertCell(0); cell.innerHTML = '<span class="posy_key_' + id + '"> </span>';
				cell = x.insertCell(1);	cell.innerHTML = '<a onclick="PosyKeyDetails_show(' + id + ');"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick="PosyKeyDetails_show(' + id + ');"><a onclick=\'PosyKeyDetails_del(' + id + ', "' + res.posy_key + '", this);\'><img src="./images/delete.png" border="0"></a>';
			} 

			$("span.posy_key_" + id).attr("innerHTML", res.posy_key);
			
			$("div.divPosyKeyDetails").hide(); // hide details
            $("div.divBanners").hide();
            $("div.divPartnerDetails").hide();
			$("div.divContent").show(); // show the list of customers
		}
	}

	var params = 
		"id=" + id 
		+ "&posy_key=" + document.getElementById("posy_key").value

    if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "saveposykey.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

// delete the posy description by it's ID, r = this
function PosyKeyDetails_del(id, name, r) {
	if (!confirm(sprintf(WARN_DELETE, name))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            if (ajaxRequest.responseText) { // in responseText is saved in what posy this category is already used
                alert('Ключевое слово "' + name + '" используется в описании: ' + ajaxRequest.responseText + '.');
            } 
            else  document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delPosyKey.php?id=" + id, true);
	ajaxRequest.send(null); 	
}

/*
function addKeyby1Param(s) {
alert('addKeyby1Param ' + s);
    var arr = s.split('/');  
    alert(arr[0]);
    addKey(arr[0], arr[1], arr[2], arr[3]);
}*/

function addKey(id, name, new_div, prefix) {
//    if(DEBUG) alert('addKey=' + id + ' ' + name + ' ' + new_div + ' ' + prefix);
    if(prefix=='key') {
        this_div = (new_div == 'div_my_keys') ? 'div_all_keys' : 'div_my_keys';
    }
    if(prefix=='category') {
        this_div = (new_div == 'div_my_category') ? 'div_all_category' : 'div_my_category';
    }
    delKey('span_' + prefix + '_' + id, this_div);
	var elNew = document.createElement('span');
	elNew.id = 'span_' + prefix + '_' + id;
    elNew.innerHTML = ' <a onclick="addKey(' + id+ ',\'' + name + '\', \'' + this_div + '\', \'' + prefix + '\');">' + name + '</a>';
	var el = document.getElementById(new_div);
	el.appendChild(elNew);
}

function getElementsByClassName(cl) {
    var retnode = [];
    var myclass = new RegExp('\\b'+cl+'\\b');
    var elem = document.getElementsByTagName("*");
    for (var i = 0; i < elem.length; i++) {
    var classes = elem[i].className;
    if (myclass.test(classes)) retnode.push(elem[i]);
    }
    return retnode;
}

function delKey(id, parent_id) {
   // if(DEBUG) alert('delKey=' + id + ' ' + parent_id);
/*   
	var parent = document.getElementById(parent_id);
	var el = document.getElementById(id);
	parent.removeChild(el);
    */
   $('.' + parent_id).html('');
}

function delFile(filename, menu_id) {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
//            alert(ajaxRequest.responseText);
		}
	}
	ajaxRequest.open("GET", "delFile.php?filename=" + filename + "&menu_id=" + menu_id, true);
	ajaxRequest.send(null);
}

function delUnusedImages(posy_id) {
/*    alert('delUnusedImages ' + posy_id);
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
		}
	}
	ajaxRequest.open("GET", "delUnusedImages.php?posy_id=" + posy_id, true);
	ajaxRequest.send(null);  */  
}

// show banners
function Banners_show() {
//alert('Banners_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            $("div.div_banners").html(replaceAll(res.banners, '&&&', '"'));
            var el = document.getElementById('load_status1');
            if(el) el.innerHTML = '';
            
			$("div.divPosyKeyDetails").hide(); // hide details
			$("div.divPosyDescriptionDetails").hide(); // hide details
			$("div.divPosyCategoryDetails").hide(); // hide details
			$("div.divPartnerDetails").hide();
			$("div.divContent").hide(); // hide content
			$("div.divContentFCK").hide(); // hide FCK editor
			setInnerText('status', '');
            
			$("div.divBanners").show();
		}
	}
	ajaxRequest.open("GET", "getBanners.php", true);
	ajaxRequest.send(null); 
}

function delBanner(filename) {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
//            alert(ajaxRequest.responseText);
		}
	}
	ajaxRequest.open("GET", "delBanner.php?filename=" + filename, true);
	ajaxRequest.send(null);    
}

function delPartnerLogo(filename) {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
//            alert(ajaxRequest.responseText);
		}
	}
	ajaxRequest.open("GET", "delPartnerLogo.php?filename=" + filename, true);
	ajaxRequest.send(null);    
}

// show details of rss images
function RssImages_show(id) {
//alert('RssImages_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) 
  //          alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            $("div.div_rss_images").html(replaceAll(res.rss_images, '&&&', '"'));
            var el = document.getElementById('load_status3');
            if(el) el.innerHTML = '';
		}
	}
	ajaxRequest.open("GET", "getRssImages.php?id=" + id, true);
	ajaxRequest.send(null); 
}

function delRssImage(filename, rss_id) {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
//            alert(ajaxRequest.responseText);
		}
	}
	ajaxRequest.open("GET", "delRssImage.php?filename=" + filename + "&rss_id=" + rss_id, true);
	ajaxRequest.send(null);    
}



/*
 * ==================================================================================================
 * frondend functions
 * ==================================================================================================
 */
function showUser(id_user) {
//    alert('showUser');
//    $('#divContent').html('<center>' + $('#divCustomerDetails').html() + '</center>');
    $('#divContent').html('' + $('#divCustomerDetails').html() + '');
    $('#first_name').focus();
}

function Login() {
    var mandatoryOK = true;
    mandatoryOK = _checkReq('enter_login', NAME);
    if (!mandatoryOK) return false;

	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG)  alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            if(res.first_name) {
                $('#user_email').html(res.e_mail);
                $('#login_new_user').hide();
                $('#logout_user').attr("style", "display:inline");
                location.href = 'index.php?menuid=0';
                MyCart_show();
            } else alert(INCORRECT_LOGIN_PSW);
		}
	}
        
	var params = 
		"login=" + $('#enter_login').val()
		+ "&psw=" + $('#enter_psw').val()
    ;

	ajaxRequest.open("POST", "getLogin.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function Logout() {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            location.href = 'index.php';
		}
	}
	ajaxRequest.open("GET", "getLogout.php", true);
	ajaxRequest.send(null);     
}

function getFilterParams() {
    var filter = "";
    var el;
    
    el = document.getElementById('posy_name');
    if (el) {
        if (el.value.length > 0) {
            if (filter.length > 0) filter += " and ";
//            filter += "(k.name like ***%" + el.value + "%***)";
//            filter += "(p.description like ***%" + el.value + "%***)";
            filter += "((p.name like ***%" + el.value + "%*** ) or (p.description like ***%" + el.value + "%***))";
        }
    }

    el = document.getElementById('posy_category');
    if (el) {
        if (el.value.length > 0) {
            if (filter.length > 0) filter += " and ";
            filter += "(" + el.value + ")";
        }
    }
    
    el = document.getElementById('posy_price');
    if (el) {
        if (el.value.length > 0) {
            if (filter.length > 0) filter += " and ";
            filter += "(" + el.value + ")";
        }
    }
    showPosies(filter);
}

function getFilterParams1() {
    var filter = '';
    var el;
    
    el = document.getElementById('posy_name_search_box');
    if (el) {
        if (el.value.length > 0) 
            filter += "((p.name like ***%" + el.value + "%*** ) or (p.description like ***%" + el.value + "%***))";
    }

    showPosies(filter);
}

function setOffset(i) {
  //  alert('setOffset');
    var el = document.getElementById('offset');
    if(!el) return 0;
    el.value = i;
    showPosies('');
}

function showPosies(s_filter) {
   //  alert('showPosies filter=' + s_filter + ' offset=' + document.getElementById('offset').value);
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert('showPosies=' + ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            setInnerText("basket_count", res.count);
            //alert(replaceAll(res.posies, '&&&', '"'));
            //alert(res.posies);
            if (res.posies.length == 0) {
                setInnerText("content", "Не найдено ни одного букета.");
                hideDiv("nav_panel");
                hideDiv("news_nav_panel");
            } else {
                setInnerText("content", replaceAll(res.posies, '&&&', '"'));
                showDiv("nav_panel");
            }
            //alert(res.breadcrumbs);
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
            setInnerText("pages", res.pages);
            window.scrollTo(0,0);
		}
	}
        
	var params = 
		"filter=" + s_filter
       +"&offset=" + document.getElementById('offset').value
       +"&orderby=" + document.getElementById('orderby').value
       +"&perpage=" + document.getElementById('onpage').value
       ;

    //if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "getPosies.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);    
}


function showPosyDescription (id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            setInnerText("content", replaceAll(res.posy_details, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
            hideDiv("nav_panel");
            hideDiv("news_nav_panel");
            window.scrollTo(0,0);
		}
	}
        
	var params = 
		"id=" + id;

    //if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "getPosyDescription.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);      
}

function showMyBasket() {
///    alert('showMyBasket');
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            setInnerText("basket_count", res.basket_count);
//alert(replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("content", replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
            hideDiv("nav_panel");
            hideDiv("news_nav_panel");
            window.scrollTo(0,0);
		}
	}
        
    //if(DEBUG) alert(params);
	ajaxRequest.open("GET", "getMyBasket.php", true);
	ajaxRequest.send(null); 
}

function delBasket(order_id) {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            showMyBasket();  
		}
	}    
	ajaxRequest.open("GET", "delBasket.php?order_id=" + order_id, true);
	ajaxRequest.send(null);  
}

function addBasket(posy_id, qty, change_qty) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
            showMyBasket();  
		}
	}
        
	var params = 
		"posy_id=" + posy_id
		+ "&qty=" + qty
		+ "&change_qty=" + change_qty
    ;
    //if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "addBasket.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);    
}

function genRSS() {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            alert('Лента новостей обновлена.');  
		}
	}      
    //if(DEBUG) alert(params);
	ajaxRequest.open("GET", "genrss.php", true);
	ajaxRequest.send(null); 
}

function RSS_del(id) {
    if (!confirm(sprintf(WARN_DELETE, "новость"))) return false;
//	if (!confirm(WARN_DELETE)) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            alert('Новость успешно удалена.');  
            cancelFCKContent(1);
		}
	}
	ajaxRequest.open("GET", "delrss.php?id=" + id, true);
	ajaxRequest.send(null); 	
}


function showAdvancedSearch() {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            //setInnerText("basket_count", res.basket_count);
//alert(replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("content", replaceAll(res.content, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
            hideDiv("nav_panel");
            hideDiv("news_nav_panel");
            window.scrollTo(0,0);
            var el = document.getElementById('posy_name');
            if (el) el.focus();
		}
	}
        
    //if(DEBUG) alert(params);
	ajaxRequest.open("GET", "getAdvancedSearch.php", true);
	ajaxRequest.send(null); 
}

function showProcessOrder() {
    //alert('showProcessOrder');
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            //setInnerText("basket_count", res.basket_count);
//alert(replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("content", replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
		}
	}
        
    //if(DEBUG) alert(params);
	ajaxRequest.open("GET", "getProcessOrder.php", true);
	ajaxRequest.send(null); 
}

function showNoRegistration() {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            //setInnerText("basket_count", res.basket_count);
//alert(replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("content", replaceAll(res.basket_details, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
		}
	}
        
    //if(DEBUG) alert(params);
	ajaxRequest.open("GET", "getNoRegistration.php", true);
	ajaxRequest.send(null); 
}

function doQuickOrder() {
    var mandatoryOK = true;
    mandatoryOK = _checkReq('last_name', 'Фамилия'); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('first_name', 'Имя'); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('phone', 'Телефон'); if (!mandatoryOK) return false;

 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            alert('Ваш заказ будет обработан в ближайшее время.');
            location.href = 'index.php';
		}
	}

    var params = "?noname=1"
    + "&last_name=" + document.getElementById('last_name').value
    + "&first_name=" + document.getElementById('first_name').value
    + "&phone=" + document.getElementById('phone').value
    + "&middle_name=" + document.getElementById('middle_name').value
    ;

	ajaxRequest.open("GET", "mailorder.php" + params, true);
	ajaxRequest.send(null); 	
}

/*
function doOrder() {
   // alert('doOrder');
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
            alert('Ваш заказ будет обработан в ближайшее время.');
            location.href = 'index.php';
		}
	}

	ajaxRequest.open("GET", "mailorder.php", true);
	ajaxRequest.send(null); 	
}*/

function newWinImage(filename, width, height) {
	width = width + 60;
	height = height + 60;
	windowops = eval("'toolbar=no,left=260,top=20,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=" + width + ",height=" + height + "'");
	newWindow = window.open(filename, 'popup', windowops);
}

function pswForgotten() {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            setInnerText("content", replaceAll(res.content, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
            hideDiv("nav_panel");
            hideDiv("news_nav_panel");
            window.scrollTo(0,0);
		}
	}
        
	ajaxRequest.open("GET", "getPswForgotten.php", true);
	ajaxRequest.send(null);      
}

function submitPswMail() {
    var mandatoryOK = true;
    mandatoryOK = _checkReq('psw_mail', 'e-mail'); if (!mandatoryOK) return false;

    var el = document.getElementById('psw_mail');
    if (! isValidEmail(el.value)) {
        alert('Неверный формат поля "E-mail".');
        el.focus();
        return false;
    }    

    document.psw_form.submit();    
}


// ---------------------------------------
// Partners
// ---------------------------------------
// show details of posy description
function getPartners() {
//    alert('getPartners');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            setInnerText("content", replaceAll(res.content, '&&&', '"'));
            setInnerText("breadcrumbs", replaceAll(res.breadcrumbs, '&&&', '"'));
            hideDiv("nav_panel");
            hideDiv("news_nav_panel");
            window.scrollTo(0,0);
		}
	}
	ajaxRequest.open("GET", "getpartnersFront.php", true);
	ajaxRequest.send(null); 
}

// show details of posy description
function PartnerDetails_show(id) {
//    alert('PartnerDetails_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
			//if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            //alert(res.partner_url);
			$("div.divContent").hide();
			$("input.partner_id").attr("value", res.id);
			$("input.partner_name").attr("value", replaceAll(res.partner_name, '<br />', '\r\n'));
			$("input.partner_url").attr("value", replaceAll(res.partner_url, '<br />', '\r\n')); 
			$("textarea.partner_description").attr("value", replaceAll(res.partner_description, '<br />', '\r\n'));
            $("div.div_partner_logo").html(replaceAll(res.partner_logo, '&&&', '"'));

			$("div.divPartnerDetails").show();
			$("input.posy_name").focus();
		}
	}
	ajaxRequest.open("GET", "getpartnerinfo.php?id=" + id, true);
	ajaxRequest.send(null); 
}

// save the partner details
function PartnerDetails_save(id){
    var mandatoryOK = true;
    mandatoryOK = _checkReq('partner_name', 'Наименование партнёра');
    // TODO: добавить проверки на остальные обязательные поля.
    if (!mandatoryOK) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			id = document.getElementById('partner_id').value;
			var res;
            //if(DEBUG) alert(id + ' ' + ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);

			if (res.new_id > 0) { // adding new record
				id = res.new_id;
				var x = document.getElementById('tGrid').insertRow(1);
				x.className = "row1";
				x.onmouseout =  function() { this.className='row1'; }
				x.onmouseover =  function() { this.className='highlight'; }
				var cell;
				cell = x.insertCell(0); cell.innerHTML = '<span class="partner_name_' + id + '"> </span>';
				cell = x.insertCell(1);	cell.innerHTML = '<a onclick="PartnerDetails_show(' + id + ');"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick="PartnerDetails_show(' + id + ');"><a onclick=\'PartnerDetails_del(' + id + ', "' + res.partner_name + '", this);\'><img src="./images/delete.png" border="0"></a>';
			} 

			var activity;
			if (res.activ == 0) activity = "customer_inactive"; else activity = "customer_active";
			$("span.partner_name_" + id).attr("innerHTML", res.partner_name);
			
			$("div.divPartnerDetails").hide(); // hide details
			$("div.divContent").show(); // show the list of customers
		}
	}

	var params = 
	    "id=" + id 
	    + "&partner_name=" + document.getElementById("partner_name").value
	    + "&partner_description=" + document.getElementById("partner_description").value
	    + "&partner_url=" + document.getElementById("partner_url").value
    ;

    //if(DEBUG) alert(params);
	
	ajaxRequest.open("POST", "savePartnerInfo.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

// show partner's logo
function Partner_logo_show(partner_id) {
//alert('PartnerLogo_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            $("div.div_partner_logo").html(replaceAll(res.partner_logo, '&&&', '"'));
            var el = document.getElementById('load_status2');
            if(el) el.innerHTML = '';
		}
	}
	ajaxRequest.open("GET", "getPartnerLogo.php?partner_id=" + partner_id, true);
	ajaxRequest.send(null); 
}

// delete the posy description by it's ID, r = this
function PartnerDetails_del(id, name, r) {
	if (!confirm(sprintf(WARN_DELETE, name))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delpartner.php?id=" + id, true);
	ajaxRequest.send(null); 	
}

function SwapImg(img1, img2) { 
/*
 img1 - main image (width=296 height=360)
 img2 - smaller image (width=140 height=170)

image.php/1233006098.jpg?width=296&height=360&image=/pics/1233006098.jpg 
image.php/1233006062.gif?width=140&height=170&image=/pics/1233006062.gif

 */
    var img1_ = document.getElementById(img1);
    var img2_ = document.getElementById(img2);
    var a = document.getElementById('main_a');
    if(!img1_ || !img2_ || !a) return false;
    
    var s = "";
    s = img1_.src;
    s1 = s.substring(s.lastIndexOf('/')+1, s.length);
    s = img2_.src;
    s2 = s.substring(s.lastIndexOf('/')+1, s.length);
    
    img1_.src = 'image.php/'+s2+'?width=296&height=360&image=/pics/'+s2;
    img2_.src = 'image.php/'+s1+'?width=140&height=170&image=/pics/'+s1;
    a.onclick = function () { newWinImage('popup.php?image=../pics/7' + s2, 550, 650); }
    
/*    
    img1_.src = 'image.php/'+s2+'?width=296&height=360&image=/new/pics/'+s2;
    img2_.src = 'image.php/'+s1+'?width=140&height=170&image=/new/pics/'+s1;
    a.onclick = function () { newWinImage('popup.php?image=../new/pics/' + s2, 550, 650); }
*/    
}

function newsSearch(filter) {
    alert('newsSearch');
}

function setNewsOffset(i) {
  //  alert('setOffset');
    var el = document.getElementById('news_offset');
    if(!el) return 0;
    el.value = i;
    showPosies('');
}



// ---------------------------------------
// Sub Category (menu)
// ---------------------------------------
// show details of sub-category
function SubCategoryDetails_show(id) {	
    var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
           // alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            $('#divContentFCK').hide();
            $('#divContent').html($("div.divSubCategoryDetails").html());
            $('#divContent').show();
			$('#category_id').attr("value", res.id);
			$('#parent_id').attr("value", res.parent_id);
			$('#menu_caption_en').attr("value", res.menu_caption_en);
			$('#menu_caption_ru').attr("value", res.menu_caption_ru);
			$('#menu_caption_cz').attr("value", res.menu_caption_cz);
			$('#menu_caption_de').attr("value", res.menu_caption_de);
			$('#category_caption_en').attr("value", res.category_caption_en);
			$('#category_caption_ru').attr("value", res.category_caption_ru);
			$('#category_caption_cz').attr("value", res.category_caption_cz);
			$('#category_caption_de').attr("value", res.category_caption_de);
			$('#category_text_en').attr("value", replaceAll(res.content_en, '<br />', '\r\n'));
			$('#category_text_ru').attr("value", replaceAll(res.content_ru, '<br />', '\r\n'));
			$('#category_text_cz').attr("value", replaceAll(res.content_cz, '<br />', '\r\n'));
			$('#category_text_de').attr("value", replaceAll(res.content_de, '<br />', '\r\n'));
            $('#menu_caption').focus();
			$('#menu_id').val(res.id);
            $('.div_menu_images').html(replaceAll(res.menu_images, '&&&', '"'));
		}
	}
    url = "getSubCategoryInfo.php?id=" + id;
    el = document.getElementById('lang');
    if (el) url += '&lang=' + el.value;
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null); 
}

// save the sub-category details
function SubCategoryDetails_save(id){
    var mandatoryOK = true;
    mandatoryOK = _checkReq('menu_caption_en', SC_MENU_CAPTION_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('menu_caption_ru', SC_MENU_CAPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('menu_caption_cz', SC_MENU_CAPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('menu_caption_de', SC_MENU_CAPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_caption_en', SC_CAPTION_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_caption_ru', SC_CAPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_caption_cz', SC_CAPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_caption_de', SC_CAPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_text_en', SC_DESCRIPTION_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_text_ru', SC_DESCRIPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_text_cz', SC_DESCRIPTION_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('category_text_de', SC_DESCRIPTION_RU); if (!mandatoryOK) return false;
    
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
//            if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
      new_id = res.new_id;
	    var el;
			if (new_id != 0) { // adding new element
        el = document.getElementById('span_menu_0_11');
        el.id = 'span_menu_' + new_id;
        el.innerHTML = "&nbsp;&nbsp;<img src=\"bullet.gif\" style=\"border: 0pt none;\" alt=\"\" />&nbsp;<a onclick=\"showSection('Stones', " + new_id + ");\"><img src=\"images/option.png\" alt=\"\" /></a> <a onclick=\"SubCategoryDetails_show(" + new_id + ");\" class=\"aMainMenu\"><span id=\"menu_caption_" + new_id + "\">" + res.menu_caption_en + "</span></a>&nbsp;<a onclick=\"javascript:if(confirm('Really want to delete?')) { delContent(" + new_id + "); }\">x</a><br />";
        var elNew = document.createElement('span');
        elNew.id = 'span_menu_0_11';
        elNew.innerHTML = "&nbsp;&nbsp;<img src=\"bullet.gif\" style=\"border: 0pt none;\" alt=\"\" />&nbsp;<a onclick=\"SubCategoryDetails_show(0);\" class=\"aMainMenu\"> <i>добавить пункт</i> </a><br />";
        el.parentNode.appendChild(elNew);
      } else {
        el = document.getElementById('menu_caption_' + id);
        el.innerHTML = res.menu_caption_en;
      }
			$("div.divContent").hide(); // show the list of customers
		}
	}

	var params = 
		"id=" + id 
		+ "&parent_id=" + $('#parent_id').val()
		+ "&lang=" + $('#lang').val()
		+ "&menu_caption_en=" + $('#menu_caption_en').val()
		+ "&menu_caption_ru=" + $('#menu_caption_ru').val()
		+ "&menu_caption_cz=" + $('#menu_caption_cz').val()
		+ "&menu_caption_de=" + $('#menu_caption_de').val()
		+ "&category_caption_en=" + $('#category_caption_en').val()
		+ "&category_caption_ru=" + $('#category_caption_ru').val()
		+ "&category_caption_cz=" + $('#category_caption_cz').val()
		+ "&category_caption_de=" + $('#category_caption_de').val()
		+ "&content_en=" + encodeURIComponent($('#category_text_en').val())
		+ "&content_ru=" + encodeURIComponent($('#category_text_ru').val())
		+ "&content_cz=" + encodeURIComponent($('#category_text_cz').val())
		+ "&content_de=" + encodeURIComponent($('#category_text_de').val())
    ;
    //if(DEBUG) alert(params);

	ajaxRequest.open("POST", "saveSubCategoryInfo.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

// ---------------------------------------
// Sub-sub Category 
// ---------------------------------------
// show details of sub-category
function SubCategory1Details_show(id) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
			eval("res=" + ajaxRequest.responseText);
            //alert(ajaxRequest.responseText);
            $("div.tmp").html($("div.divContent").html());
            $("div.divContent").html($("div.divSubCategory1Details").html());
            $("div.divContent").show();
			$("#category_id").attr("value", res.id);
			$("#parent_id").attr("value", res.parent_id);

			$("#code_en").attr("value", res.code_en);
			$("#code_ru").attr("value", res.code_ru);
			$("#code_cz").attr("value", res.code_cz);
			$("#code_de").attr("value", res.code_de);
			$('#category_text1_en').attr("value", replaceAll(res.content_en, '<br />', '\r\n'));
			$('#category_text1_ru').attr("value", replaceAll(res.content_ru, '<br />', '\r\n'));
			$('#category_text1_cz').attr("value", replaceAll(res.content_cz, '<br />', '\r\n'));
			$('#category_text1_de').attr("value", replaceAll(res.content_de, '<br />', '\r\n'));
      $('#status1').html(res.status);
      
            $('#code').focus();
			$('#sub_menu_id').val(res.id);
            $('.div_menu_images').html(replaceAll(res.menu_images, '&&&', '"'));
		}
	}
    url = "getSubCategory1Info.php?id=" + id;
    el = document.getElementById('lang');
    if (el) url += '&lang=' + el.value;
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null); 
}

// save the sub-sub-category details
function SubCategory1Details_save(id){
  /* mandatory fiels */
  var mandatoryOK = true;
  mandatoryOK = _checkReq('code_en', SC_CODE_EN); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('code_ru', SC_CODE_RU); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('code_cz', SC_CODE_EN); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('code_cz', SC_CODE_EN); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('category_text1_en', SC_DESCRIPTION_EN); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('category_text1_ru', SC_DESCRIPTION_RU); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('category_text1_cz', SC_DESCRIPTION_EN); if (!mandatoryOK) return false;
  mandatoryOK = _checkReq('category_text1_de', SC_DESCRIPTION_EN); if (!mandatoryOK) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
//            if(DEBUG) alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            new_id = res.new_id;
            $("div.divContent").html($("div.tmp").html());
			if (res.new_id > 0) { // adding new record
				id = res.new_id;
				var x = document.getElementById('tGrid').insertRow(1);
				x.className = "row1";
				x.onmouseout =  function() { this.className='row1'; }
				x.onmouseover =  function() { this.className='highlight'; }
				var cell;
				cell = x.insertCell(0); cell.innerHTML = '<span class="code_' + id + '"> </span>';
				cell = x.insertCell(1);	cell.innerHTML = '<a onclick="showSection(\'Stones\', ' + id + ');"><img src="images/option.png" alt="" title="Show subcategories"/></a> <a onclick="SubCategory1Details_show(' + id + ');"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick=\'<a onclick="SubCategory1Details_del(' + id + ');">(' + id + ', ' + res.code + ', this);\'><img src="./images/delete.png" border="0"></a>';
            }
			var activity;
			if (res.activ == 0) activity = "customer_inactive"; else activity = "customer_active";
			$("span.code_" + id).attr("innerHTML", res.code_en);
			$("span.code_" + id).attr("id", activity);
		}
	}

	var params = 
		"id=" + id 
		+ "&parent_id=" + $('#parent_id').val()
		+ "&code_en=" + $('#code_en').val()
		+ "&code_ru=" + $('#code_ru').val()
		+ "&code_cz=" + $('#code_cz').val()
		+ "&code_de=" + $('#code_de').val()
		+ "&text_en=" + $('#category_text1_en').val()
		+ "&text_ru=" + $('#category_text1_ru').val()
		+ "&text_cz=" + $('#category_text1_cz').val()
		+ "&text_de=" + $('#category_text1_de').val()
		+ "&lang=" + $('#lang').val()
    ;
//    if(DEBUG) alert(params);
	ajaxRequest.open("POST", "saveSubCategory1Info.php", true);
	ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	ajaxRequest.setRequestHeader("Content-length", params.length);
	ajaxRequest.setRequestHeader("Connection", "close");
	ajaxRequest.send(params);
}

function SubCategory1Details_del(id, name, r) {
    if (!confirm(sprintf(WARN_DELETE, name))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delSubCategory1.php?id=" + id, true);
	ajaxRequest.send(null); 	
}

// ---------------------------------------
// Stone details
// ---------------------------------------
// show stone details 
function StoneDetails_show(id, isAdmin) {
  //  alert('StoneDetails_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
           // alert(ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);
            //alert(res.stone_images);
            if(isAdmin) {
                $("div.tmp").html($("div.divContent").html());
                $("div.divContent").html($("div.divStoneDetails").html());
                $("div.divContent").show();
                $('#btns').show();
                
    			      $('#st_name_en').attr('value', res.st_name_en);
    			      $('#st_name_ru').attr('value', res.st_name_ru);
    			      $('#st_name_cz').attr('value', res.st_name_cz);
    			      $('#st_name_de').attr('value', res.st_name_de);
                
                $('#st_price_en').attr('value', res.st_price_en);
                $('#st_price_ru').attr('value', res.st_price_ru);
                $('#st_price_cz').attr('value', res.st_price_cz);
                $('#st_price_de').attr('value', res.st_price_de);
                
                $('#delivery_time_en').attr('value', res.delivery_time_en);
                $('#delivery_time_ru').attr('value', res.delivery_time_ru);
                $('#delivery_time_cz').attr('value', res.delivery_time_cz);
                $('#delivery_time_de').attr('value', res.delivery_time_de);
                
                $('#purchase_unit_en').attr('value', res.purchase_unit_en);
                $('#purchase_unit_ru').attr('value', res.purchase_unit_ru);
                $('#purchase_unit_cz').attr('value', res.purchase_unit_cz);
                $('#purchase_unit_de').attr('value', res.purchase_unit_de);
                
                $('#in_warehouse_en').attr('value', res.in_warehouse_en);
                $('#in_warehouse_ru').attr('value', res.in_warehouse_ru);
                $('#in_warehouse_cz').attr('value', res.in_warehouse_cz);
                $('#in_warehouse_de').attr('value', res.in_warehouse_de);
                
                $('#sys_number_en').attr('value', res.sys_number_en);
                $('#sys_number_ru').attr('value', res.sys_number_ru);
                $('#sys_number_cz').attr('value', res.sys_number_cz);
                $('#sys_number_de').attr('value', res.sys_number_de);
                
                $('#art_number_en').attr('value', res.art_number_en);
                $('#art_number_ru').attr('value', res.art_number_ru);
                $('#art_number_cz').attr('value', res.art_number_cz);
                $('#art_number_de').attr('value', res.art_number_de);
                
                $('#stone_sizes_en').val(res.stone_size_id_en);
                $('#stone_sizes_ru').val(res.stone_size_id_ru);
                $('#stone_sizes_cz').val(res.stone_size_id_cz);
                $('#stone_sizes_de').val(res.stone_size_id_de);
                
                $('#weight_en').attr('value', res.weight_en);
                $('#weight_ru').attr('value', res.weight_ru);
                $('#weight_cz').attr('value', res.weight_cz);
                $('#weight_de').attr('value', res.weight_de);
                
                $('#stone_colors_en').val(res.stone_color_id_en);
                $('#stone_colors_ru').val(res.stone_color_id_ru);
                $('#stone_colors_cz').val(res.stone_color_id_cz);
                $('#stone_colors_de').val(res.stone_color_id_de);
                
                $('#stone_foilings_en').val(res.stone_foiling_id_en);
                $('#stone_foilings_ru').val(res.stone_foiling_id_ru);
                $('#stone_foilings_cz').val(res.stone_foiling_id_cz);
                $('#stone_foilings_de').val(res.stone_foiling_id_de);
                
                $('#descr_en').val(res.descr_en);
                $('#descr_ru').val(res.descr_ru);
                $('#descr_cz').val(res.descr_cz);
                $('#descr_de').val(res.descr_de);
                
                $('#st_name').focus();
                $('#stone_menu_id').val(res.stone_id);
                $('.div_menu_images').html(replaceAll(res.menu_images, '&&&', '"'));
                $('#group_image').hide();
                $('#good_id').html("# <strong>" + res.stone_id + "</strong>");
            } else { // showing to the front-end
           // alert('1');
                $('#tbl_stone_details').attr('style', 'margin-left: 20px; width: 690px;');
                $('#divStoneDetails1').html($("div.divStoneDetails").html());
                $('.required').html('');
                $('#st_name1').html('<strong>' + res.st_name + '</strong>');
                $('#st_price1').html('<strong>' + res.st_price + '</strong>');
                $('#purchase_unit1').html(res.purchase_unit);
                $('#delivery_time1').html(res.delivery_time);
                $('#sys_number1').html(res.sys_number);
                $('#art_number1').html(res.art_number);
                $('#stone_sizes1').html(res.stone_size);
                $('#stone_colors1').html(res.stone_color);
                $('#stone_foilings1').html(res.stone_foiling);
                $('#btns').hide();
                $('#tr_' + $('#cur_stone_id').val()).attr('style', 'border-left: 1px solid #d3d4d4; background-color:white;');
                $('#td_' + $('#cur_stone_id').val()).attr('style', 'border-left: 1px solid #d3d4d4; width: 28px;');
                $('#tr_' + id).attr('style', 'border-left: 1px solid #d3d4d4; background-color: #f2f4f4;');
                $('#td_' + id).attr('style', 'border-left: 1px solid #d3d4d4; width: 28px;');
                $('#group_image').html('<img src="pics/' + res.group_image + '" alt="" style="border: 1px solid #d3d4d4; width: 170px; margin: 5px;" />');
                $('#group_image').show();
            }
           // alert(res.parent_id);
			$('#cur_stone_id').val(res.stone_id);
            $('#parent_id').val(res.parent_id);

		}
	}
    url = "getStoneInfo.php?id=" + id + "&lang=" + $('#lang').val();
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null); 
}

// save the stone details
function StoneDetails_save(id){
    /* mandatory fiels */
    var mandatoryOK = true;
    mandatoryOK = _checkReq('st_name_en', ST_NAME_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_name_ru', ST_NAME_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_name_cz', ST_NAME_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_name_de', ST_NAME_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_price_en', ST_PRICE_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_price_ru', ST_PRICE_RU); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_price_cz', ST_PRICE_EN); if (!mandatoryOK) return false;
    mandatoryOK = _checkReq('st_price_de', ST_PRICE_EN); if (!mandatoryOK) return false;
//    mandatoryOK = _checkReqCbx('st_price_en', ST_PRICE_EN); if (!mandatoryOK) return false;
//    mandatoryOK = _checkReqCbx('st_price_ru', ST_PRICE_RU); if (!mandatoryOK) return false;
//    mandatoryOK = _checkReqCbx('stone_sizes', ST_SIZE); if (!mandatoryOK) return false;
//    mandatoryOK = _checkReqCbx('stone_colors', ST_COLOR); if (!mandatoryOK) return false;
//    mandatoryOK = _checkReqCbx('stone_foilings', ST_FOILING); if (!mandatoryOK) return false;

	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
//            if(DEBUG) 
//alert(ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
            new_id = res.new_id;
            $("div.divContent").html($("div.tmp").html());
			if (res.new_id > 0) { // adding new record
				id = res.new_id;
				var x = document.getElementById('tGrid').insertRow(1);
				x.className = "row1";
				x.onmouseout =  function() { this.className='row1'; }
				x.onmouseover =  function() { this.className='highlight'; }
				var cell;
				cell = x.insertCell(0); cell.innerHTML = '<span class="name_' + id + '"> </span>';
				cell = x.insertCell(1); cell.innerHTML = '<span class="size_' + id + '"> </span>';
				cell = x.insertCell(2); cell.innerHTML = '<span class="unit_' + id + '"> </span>';
				cell = x.insertCell(3); cell.innerHTML = '<span class="price_' + id + '"> </span>';
				cell = x.insertCell(4);	cell.innerHTML = '<a onclick="StoneDetails_show(' + id + ', true);"><img src="./images/edit.png" border="0"></a>&nbsp;<a onclick=\'StoneDetails_del(' + id + ', "' + res.name_en + '", this);\'><img src="./images/delete.png" border="0"></a>';
            }
			var activity;
			if (res.activ == 0) activity = "customer_inactive"; else activity = "customer_active";
			$("span.name_" + id).attr("innerHTML", res.name_en);
			$("span.name_" + id).attr("id", activity);
			$("span.size_" + id).attr("innerHTML", res.size_en);
			$("span.size_" + id).attr("id", activity);
			$("span.unit_" + id).attr("innerHTML", res.unit_en + ' ' + ST_PIECES);
			$("span.unit_" + id).attr("id", activity);
			$("span.price_" + id).attr("innerHTML", res.price_en);
			$("span.price_" + id).attr("id", activity);
		}
	}

	var params = 
		"id=" + $('#cur_stone_id').val()//id 
		+ "&menu_id=" + $('#parent_id').val()
		+ "&st_name_en=" + $('#st_name_en').val()
		+ "&st_name_ru=" + $('#st_name_ru').val()
		+ "&st_name_cz=" + $('#st_name_cz').val()
		+ "&st_name_de=" + $('#st_name_de').val()
		+ "&st_price_en=" + $('#st_price_en').val()
		+ "&st_price_ru=" + $('#st_price_ru').val()
		+ "&st_price_cz=" + $('#st_price_cz').val()
		+ "&st_price_de=" + $('#st_price_de').val()
		+ "&purchase_unit_en=" + $('#purchase_unit_en').val()
		+ "&purchase_unit_ru=" + $('#purchase_unit_ru').val()
		+ "&purchase_unit_cz=" + $('#purchase_unit_cz').val()
		+ "&purchase_unit_de=" + $('#purchase_unit_de').val()
		+ "&delivery_time_en=" + encodeURIComponent($('#delivery_time_en').val())
		+ "&delivery_time_ru=" + encodeURIComponent($('#delivery_time_ru').val())
		+ "&delivery_time_cz=" + encodeURIComponent($('#delivery_time_cz').val())
		+ "&delivery_time_de=" + encodeURIComponent($('#delivery_time_de').val())
		+ "&in_warehouse_en=" + $('#in_warehouse_en').val()
		+ "&in_warehouse_ru=" + $('#in_warehouse_ru').val()
		+ "&in_warehouse_cz=" + $('#in_warehouse_cz').val()
		+ "&in_warehouse_de=" + $('#in_warehouse_de').val()
		+ "&weight_en=" + $('#weight_en').val()
		+ "&weight_ru=" + $('#weight_ru').val()
		+ "&weight_cz=" + $('#weight_cz').val()
		+ "&weight_de=" + $('#weight_de').val()
		+ "&sys_number_en=" + $('#sys_number_en').val()
		+ "&sys_number_ru=" + $('#sys_number_ru').val()
		+ "&sys_number_cz=" + $('#sys_number_cz').val()
		+ "&sys_number_de=" + $('#sys_number_de').val()
		+ "&art_number_en=" + $('#art_number_en').val()
		+ "&art_number_ru=" + $('#art_number_ru').val()
		+ "&art_number_cz=" + $('#art_number_cz').val()
		+ "&art_number_de=" + $('#art_number_de').val()
		+ "&stone_sizes_en=" + $('#stone_sizes_en').val()
		+ "&stone_sizes_ru=" + $('#stone_sizes_ru').val()
		+ "&stone_sizes_cz=" + $('#stone_sizes_cz').val()
		+ "&stone_sizes_de=" + $('#stone_sizes_de').val()
		+ "&stone_colors_en=" + $('#stone_colors_en').val()
		+ "&stone_colors_ru=" + $('#stone_colors_ru').val()
		+ "&stone_colors_cz=" + $('#stone_colors_cz').val()
		+ "&stone_colors_de=" + $('#stone_colors_de').val()
		+ "&stone_foilings_en=" + $('#stone_foilings_en').val()
		+ "&stone_foilings_ru=" + $('#stone_foilings_ru').val()
		+ "&stone_foilings_cz=" + $('#stone_foilings_cz').val()
		+ "&stone_foilings_de=" + $('#stone_foilings_de').val()
		+ "&descr_en=" + encodeURIComponent($('#descr_en').val())
		+ "&descr_ru=" + encodeURIComponent($('#descr_ru').val())
		+ "&descr_cz=" + encodeURIComponent($('#descr_cz').val())
		+ "&descr_de=" + encodeURIComponent($('#descr_de').val())
    + "&lang=" + $('#lang').val()
    ;
    
    //if(DEBUG) alert(params);
    
	ajaxRequest.open("GET", "saveStoneInfo.php?" + params, true);
	ajaxRequest.send(null); 	
}

function StoneDetails_del(id, name, r) {
    if (!confirm(sprintf(WARN_DELETE, name))) return false;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			document.getElementById('tGrid').deleteRow(r.parentNode.parentNode.rowIndex);
		}
	}
	ajaxRequest.open("GET", "delStone.php?id=" + id, true);
	ajaxRequest.send(null); 	
}


function clearAllSubCategories(category_id) {
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            var s1 = ajaxRequest.responseText.split(" ");
            for(i=0; i<s1.length; i++) $('#cat_id_' + s1[i]).html('');
		}
	}
	ajaxRequest.open("GET",  "getAllSubCategories.php?category_id=" + category_id, true);
	ajaxRequest.send(null);     
}

function getSubCategoryFront(category_id) {
//    alert('category_id = '+category_id);
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            clearAllSubCategories(category_id);
           // alert(ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);
            $('#cat_id_' + category_id).html(res.sub_categories);
            $('#tmp1').html($('#divContent').html());
            $('#divContent').html($('#divSubCategoryFrontDetails').html());
            $('#subcategory_caption').html(res.caption);
            $('#subcategory_content').html(res.content);
		}
	}
	ajaxRequest.open("GET",  "getSubCategoryFront.php?category_id=" + category_id + '&lang=' + $('#lang').val(), true);
	ajaxRequest.send(null);     
}

function getSubCategory1Front(category_id, subcategory_id, useFilter, page) {
//    alert('category_id = ' + category_id + ' subcategory_id = '+subcategory_id);
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
          //  alert(ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);
            //alert(res.content);
            $('#cat_id_' + category_id).html(res.sub_categories);
            $('#tmp1').html($('#divContent').html());
            $('#divContent').html($('#divSubCategory1FrontDetails').html());
            $('#subcategory1_caption').html(res.caption);
            $('#subcategory1_content').html(res.content);
            $('#ids').val(res.ids);
            calcTotal(res.ids);
		}
	}
    url = "getSubCategory1Front.php?category_id=" + category_id + "&subcategory_id=" + subcategory_id + "&page=" + page + "&lang=" +  $('#lang').val();
    if(useFilter) 
        url += "&size=" + $('#stone_sizes_search').val() + 
        "&color=" + $('#stone_colors_search').val() +  "&foiling=" + $('#stone_foilings_search').val();
//alert(url);
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null);     
}

function calcTotal(ids) {
    //alert('total '+ids);
    var s = ids.split("_");
    var total = 0.0;
    for (i = 0; i < s.length; i++) {
        // calc price for each row
        var qty = parseFloat($('#qty_' + s[i]).val() * $('#price_init_' + s[i]).html()).toFixed(2);
        $('#price_' + s[i]).html(qty.toString());
        // accumulate total price
        total += parseFloat(qty);
    }
    $('#qty_total').html(parseFloat(total).toFixed(2) + '&euro;');
}

function qty_change(i, step) {
//    alert($('#qty_' + i).val());
    if (isNaN(parseInt($('#qty_' + i).val()))) return false;
    if (parseInt($('#qty_' + i).val()) == 0 && step == -1) return false;
    $('#qty_' + i).val(parseFloat($('#qty_' + i).val()) + step);
    calcTotal($('#ids').val());
}


function mycart_calcTotal_all() {
    s = $('#ids_full').val();
    s = s.split("_");
    //if (!s) return ;
//    alert('mycart_calcTotal_all' + s);
    total = 0.0;
    for (i = 0; i < s.length; i++) {
      //  alert(parseInt($('#qty_' + s[i]).val()) * parseFloat($('#price_init_' + s[i] + '_noformat').html()));
        total += parseInt($('#qty_' + s[i]).val()) * parseFloat($('#price_init_' + s[i] + '_noformat').html());
    }
    if(isNaN(total)) total = 0.0;
    $('#total_value').val(total.toFixed(2));
    calcDiscount();
}


function mycart_calcTotal(ids, j) {
//alert(ids + ' ' + j);
// calculate total for this section
    var s = ids.split("_");
    var total = 0.0;
    for (i = 0; i < s.length; i++) {
        // calc price for each row
        var qty = parseFloat($('#qty_' + s[i]).val()) * parseFloat($('#price_init_' + s[i] + '_noformat').html());

        $('#price_' + s[i]).html(number_format(qty.toString(), 2, ',', ' '));
//        $('#price_' + s[i]).html(qty.toString());

        // accumulate total price
        total += qty;
    }
    $('#qty_total_' + j).html(number_format(total, 2, ',', ' ') + '&euro;');
    mycart_calcTotal_all();
}

function mycart_qty_change(i, step, j) {
    var qty = new Number();
    qty = Number($('#qty_' + i).val());
    if (isNaN(qty)) qty = 0;
    if (qty == 0 && step == -1) step = 0;
    $('#qty_' + i).val(qty + step);
    mycart_calcTotal($('#mycart_ids_' + j).val(), j);
}

function changeMailExpenses(i) {
    $('#mail_expenses').html(parseFloat(i).toFixed(2));
    calcDiscount();
}

function calcDiscount() {
    var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            $('#discount_percent').html(ajaxRequest.responseText);
            $('#subtotal').html(parseFloat($('#total_value').val()).toFixed(2));
            $('#discount').html((parseFloat($('#total_value').val()) * parseFloat(ajaxRequest.responseText) / 100).toFixed(2));
            $('#total_inc_vat').html(
                (parseFloat($('#subtotal').html())
              -  parseFloat($('#discount').html())
              +  parseFloat($('#mail_expenses').html())).toFixed(2)
            );
            $('#amount').val($('#total_inc_vat').html());
            $('#vat').html(
                (parseFloat($('#total_inc_vat').html()) * 0.19).toFixed(2)
            ); 
            $('#net').html(
                (parseFloat($('#total_inc_vat').html()) - parseFloat($('#vat').html())).toFixed(2)
            );
            
		}
	}
    url = "getDiscount.php?total=" + $('#total_value').val();
//    alert(url);
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null); 
}


function MyCart_show() {
   // alert('MyCart_show');
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            var res; 
            res = '';
            eval("res=" + ajaxRequest.responseText);  //     
                   //alert(ajaxRequest.responseText);
            clearAllSubCategories(0);
            $('#tmp').html($('div.divContent').html());
            $('#divContent').html($('#divMyCart').html());
            $('#divContent').show();
            $('#mycart_content').html(res.content);// + '<br/>' + res.sql);
            $('#deliver_3').attr("checked", "checked");
            mycart_calcTotal_all();
		}
	}
    url = "getMyCart.php?lang=" + $('#lang').val();
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null); 
}

function MyCart_add(id) {
    if ($('#qty_' + id).val() == 0) return true;
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
            alert(ADDED_OK);
		}
	}
    url = "saveMyCart.php?stone_id=" + id + "&qty=" + $('#qty_' + id).val() + '&lang=' + $('#lang').val();
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null); 
}

/**/
function doOrder() {
//alert('do');
    /* mandatory fiels */
   if ($("input[@id='adr_usr_new']:checked").val() == 'on') {
        var mandatoryOK = true;
        mandatoryOK = _checkReq('first_name', NAME); if (!mandatoryOK) return false;
        mandatoryOK = _checkReq('family_name', FAMILY_NAME); if (!mandatoryOK) return false;
        mandatoryOK = _checkReq('address', ADDRESS); if (!mandatoryOK) return false;		
	mandatoryOK = _checkReq('e_mail', E_MAIL); if (!mandatoryOK) return false;

        params1 = 
          "&name=" + $('#first_name').val() 
        + "&family_name=" + $('#family_name').val()
	+ "&e_mail=" + $('#e_mail').val()
        + "&company_name=" + $('#company_name').val()
        + "&address=" + $('#address').val()
        + "&city=" + $('#city').val()
        + "&zip=" + $('#zip').val()
        + "&country=" + $('#country').val();
   }
   if ($("input[@id='adr_usr']:checked").val() == 'on') {
        params1 = 
          "&name=" + $('#first_name1').html() 
        + "&family_name=" + $('#family_name1').html()
	+ "&e_mail=" + $('#e_mail1').html()
        + "&company_name=" + $('#company_name1').html()
        + "&address=" + $('#address1').html()
        + "&city=" + $('#city1').html()
        + "&zip=" + $('#zip1').html()
        + "&country=" + $('#country1').html();
   }
  // alert(params1);
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
		//	alert(ajaxRequest.responseText);
	//		eval("res=" + ajaxRequest.responseText);
		//	$("span.price_" + id).attr("innerHTML", res.price);
            alert('Thank you.');
           // location.href = 'index.php?lang=' + $('#lang').val();//+el.value;
	   document.forms['idpaypal'].submit();//Вот с этой хуйней 2е суток ебался!!!
		}
	}
    var params =
        "?subtotal=" + $('#subtotal').html()
      + "&discount=" + $('#discount').html()
      + "&mail_expenses=" + $('#mail_expenses').html()
      + "&total_inc_vat=" + $('#total_inc_vat').html()
      + "&vat=" + $('#vat').html()
      + "&net=" + $('#net').html()
      + "&lang=" + $('#lang').val()
      + params1;
//alert(params);
      
	ajaxRequest.open("GET",  "doOrder.php?" + params, true);
	ajaxRequest.send(null); 
}

// show menu images
function MenuImages_show(id, i) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) 
            //alert('MenuImages_show: ' + ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
//            alert(res.images);
            $('#div_menu_images_' + i).html(replaceAll(res.images, '&&&', '"'));
            $('.load_status').html('');
		}
	}
	ajaxRequest.open("GET", "getMenuImages.php?id=" + id, true);
	ajaxRequest.send(null); 
}

function setLang(new_lang) {
	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
            //if(DEBUG) 
            //alert('MenuImages_show: ' + ajaxRequest.responseText); //debug
			eval("res=" + ajaxRequest.responseText);
//            alert(res.images);
            $('#div_menu_images_' + i).html(replaceAll(res.images, '&&&', '"'));
            $('.load_status').html('');
		}
	}
	ajaxRequest.open("GET", "setLang.php?lang=" + new_lang, true);
	ajaxRequest.send(null); 
}

function getGoodDetails(category_id, subcategory_id, id) {
    //alert('getGoodDetails' + category_id + ' ' + subcategory_id + ' ' + id);
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
    //        alert(ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);
            $('#cat_id_' + category_id).html(res.sub_categories);
/*       
            $('#ids').val(res.ids);
            calcTotal(res.ids);*/
           
            $('#divContent').html($('#divSubCategory1FrontDetails').html());
            $('#subcategory1_caption').html(res.caption);
            $('#subcategory1_content').html(res.content);
            $('#ids').val(id);
            calcTotal(id);
            StoneDetails_show(id, false);
		}
	}
    
    url = "getGoodDetails.php?category_id=" + category_id + "&subcategory_id=" + subcategory_id + "&id=" + id + "&lang=" +  $('#lang').val();
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null);     
}

/*function getSubCategory1Front(category_id, subcategory_id, useFilter, page) {
//    alert('category_id = ' + category_id + ' subcategory_id = '+subcategory_id);
 	var ajaxRequest = BrowserCheck();
	ajaxRequest.onreadystatechange = function(){
		if (ajaxRequest.readyState == 4 || ajaxRequest.readyState == "complete") {
			var res;
          //  alert(ajaxRequest.responseText);
			eval("res=" + ajaxRequest.responseText);
            //alert(res.content);
            $('#cat_id_' + category_id).html(res.sub_categories);
            $('#tmp1').html($('#divContent').html());
            $('#divContent').html($('#divSubCategory1FrontDetails').html());
            $('#subcategory1_caption').html(res.caption);
            $('#subcategory1_content').html(res.content);
            $('#ids').val(res.ids);
            calcTotal(res.ids);
		}
	}
    url = "getSubCategory1Front.php?category_id=" + category_id + "&subcategory_id=" + subcategory_id + "&page=" + page + "&lang=" +  $('#lang').val();
    if(useFilter) 
        url += "&size=" + $('#stone_sizes_search').val() + 
        "&color=" + $('#stone_colors_search').val() +  "&foiling=" + $('#stone_foilings_search').val();
//alert(url);
	ajaxRequest.open("GET",  url, true);
	ajaxRequest.send(null);     
}*/