var element_id;
var msg;
var newImg = new Image();
newImg.src = '/image/ajax-loader.gif';
		
function strlen (string) 
		{
		var str = string+'';
		var i = 0, chr = '', lgth = 0; 
		if (!this.php_js || !this.php_js.ini || !this.php_js.ini['unicode.semantics'] || this.php_js.ini['unicode.semantics'].local_value.toLowerCase() !== 'on') 
			{
			return string.length;
			} 
		var getWholeChar = function (str, i) 
			{
			var code = str.charCodeAt(i);
			var next = '', prev = '';
			if (0xD800 <= code && code <= 0xDBFF) 
				{ 
				if (str.length <= (i+1))  
					{
					throw 'High surrogate without following low surrogate';
					}
				next = str.charCodeAt(i+1);
				if (0xDC00 > next || next > 0xDFFF) 
					{                
					throw 'High surrogate without following low surrogate';
					}
				return str.charAt(i)+str.charAt(i+1);
				} 
			else if (0xDC00 <= code && code <= 0xDFFF) 
				{
				if (i === 0) 
					{                
					throw 'Low surrogate without preceding high surrogate';
					}
				prev = str.charCodeAt(i-1);
				if (0xD800 > prev || prev > 0xDBFF) 
					{
					throw 'Low surrogate without preceding high surrogate';            
					}
				return false; 
				}
			return str.charAt(i);
			}; 
		for (i=0, lgth=0; i < str.length; i++) 
			{
			if ((chr = getWholeChar(str, i)) === false) {continue;}        
			lgth++;
			}
		return lgth;
		}
		
function dot_add(variable)
		{
		var out_prise='';
		var dl;
		var dg;
		var zzz=variable.toString();
		for (dg=0,dl=strlen(zzz)-1;dl>=0;dl--,dg++)
			{
			out_prise=out_prise+zzz.substr(dg,1);
			if (zzz[dg+1]=='') {break;}
			if (((strlen(zzz)-dg-1)%3)==0) {out_prise=out_prise+' ';}
			}
		return out_prise;
		}

function all_valutes(val_count,val_id)
	    {
		if ((val_id==0)&&(val_count>0)) {Tip('<table width="200px" cellspacing="0" cellpadding="0" class="border_line_all"><tr class="z10px2"><td align="center">Продавец не указал валюту</td></tr></table>');}
	    else if (val_count>0)
		{
		var out_str='';
		var price=0;
		for(x=1;x<myVal_name.length;x++)
		    {
		    if(x==val_id) {price=val_count;}
		    else {price=Math.round(val_count*myVal_kurs[val_id]/myVal_kurs[x]);}
		    out_str+='<tr class="z10px2" align="center"><td class="border_line_right">'+dot_add(price)+'</td><td>'+myVal_name[x]+'</td></tr>';
		    }
		Tip('<table width="200px" cellspacing="0" cellpadding="0" class="border_line_all"><tr class="z10px2"><td colspan="2" align="center" class="border_line_down"><b>Цена во всех валютах</b></td></tr><tr class="z10px2" align="center"><td class="border_line_down_right">Цена</td><td class="border_line_down">Валюта</td></tr>' + out_str + '</table>');
		}
	    else {Tip('<table width="200px" cellspacing="0" cellpadding="0" class="border_line_all"><tr class="z10px2"><td align="center">Цена не объявлена продавцом</td></tr></table>');}
	    }		
		
function urlencode (str) {
    // URL-encodes string  
    // %          note 1: This reflects PHP 5.3/6.0+ behavior
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
    var hexStr = function (dec) {
        return '%' + (dec < 16 ? '0' : '') + dec.toString(16).toUpperCase();
    };

    var ret = '',
            unreserved = /[\w.-]/; // A-Za-z0-9_.- // Tilde is not here for historical reasons; to preserve it, use rawurlencode instead
    str = (str+'').toString();

    for (var i = 0, dl = str.length; i < dl; i++) {
        var ch = str.charAt(i);
        if (unreserved.test(ch)) {
            ret += ch;
        }
        else {
            var code = str.charCodeAt(i);
            if (0xD800 <= code && code <= 0xDBFF) { // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single characters); https://developer.mozilla.org/index.php?title=en/Core_JavaScript_1.5_Reference/Global_Objects/String/charCodeAt
                ret += ((code - 0xD800) * 0x400) + (str.charCodeAt(i+1) - 0xDC00) + 0x10000;
                i++; // skip the next one as we just retrieved it as a low surrogate
            }
            // We never come across a low surrogate because we skip them, unless invalid
            // Reserved assumed to be in UTF-8, as in PHP
            else if (code === 32) {
                ret += '+'; // %20 in rawurlencode
            }
            else if (code < 128) { // 1 byte
                ret += hexStr(code);
            }
            else if (code >= 128 && code < 2048) { // 2 bytes
                ret += hexStr((code >> 6) | 0xC0);
                ret += hexStr((code & 0x3F) | 0x80);
            }
            else if (code >= 2048) { // 3 bytes (code < 65536)
                ret += hexStr((code >> 12) | 0xE0);
                ret += hexStr(((code >> 6) & 0x3F) | 0x80);
                ret += hexStr((code & 0x3F) | 0x80);
            }
        }
    }
    return ret;
}
//-------------
function send_msg(hgf,element_i)
	{
	element_id=element_i;
	msg=hgf+urlencode(document.getElementById(element_id).value);
	if(document.getElementById(element_id)) document.getElementById(element_id).disabled='true';
	if(document.getElementById(element_id+'_send')) document.getElementById(element_id+'_send').disabled='true';
	loadXMLDoc_back ('templates/back_submit.php');
	}

      var req;
      function loadXMLDoc_back(url)
		{
        if (window.XMLHttpRequest)
			{
			// branch for native XMLHttpRequest object
			req = new XMLHttpRequest();
			req.onreadystatechange = processReqChange_back;
			req.open('POST', url, true);
			req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			req.setRequestHeader("Content-length", msg.length);
			req.setRequestHeader("Connection", "close");
			req.send('msg='+msg+'&action='+element_id); 
			}
		else
			{
			// branch for IE/Windows ActiveX version
			if (window.ActiveXObject)
				{
				req = new ActiveXObject("Microsoft.XMLHTTP");
				if (req)
					{
					req.onreadystatechange = processReqChange_back;
					req.open('POST', url, true);
					req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					req.setRequestHeader("Content-length", msg.length);
					req.setRequestHeader("Connection", "close");
					req.send('msg='+msg+'&action='+element_id); 
					}
				}
			}
        }

 function processReqChange_back()
	{
	// only if req shows \"complete\"
        if (req.readyState == 4)
		{
		// only if \"OK\"
		if (req.status == 200)
            {
            // ...processing statements go here...
            response = req.responseXML.documentElement;
            stat = response.getElementsByTagName('stat')[0].firstChild.data;

			if (stat=='back_ok') //Форма обратной связи
				{
				document.getElementById(element_id).value="";
				alert ("Ваше сообщение принято. Спасибо.");
				}
			else if (stat=='comment_ok') //Форма коментариев фоток
				{
				//alert ("Ваше комментарий добавлен. Спасибо.");
				document.getElementById(element_id+'_msg').innerHTML=' <font color="green">Комментарий изменен</font>';
				}	
			else
				{
				alert ("Сообщение не отправлено. Повторите позже.");
				}
            }
        else 
			{
            alert ("Сообщение не отправлено. Повторите позже.");
			}
		if(document.getElementById(element_id)) document.getElementById(element_id).disabled=false;
        if(document.getElementById(element_id+'_send')) document.getElementById(element_id+'_send').disabled=false;	
		}
	}
		
