/**
 * если у ссылки задан класс help-tip, этот код к ней привяжется
 * если задан аттрибут ajaxurl, вызовется этот урл с параметрами ajaxurlparams, если они заданы
 * в ином случае покажется title, если он задан
 */

document.observe('dom:loaded', function() {    
  $$('a.help-tip').each(function(element) {
    var a= element['title'], url, params;
    url = element.getAttribute('ajaxurl');
    if(!url){
        if(!a)
            return;
        element.setAttribute('title', '');//'Что это?');
        new Tip(element, a, {
                                    title: "Помощник",
                                    style: 'ebaytoday',
                                    //showOn: 'click',
                                    hook: {                
                                             //target: 'topLeft', 
                                             //tip: 'bottomRight' 
                                             tip: 'topLeft',
                                             mouse: true
                                          },
                                    offset: { x: 10, y: 0 },
                                    width: '250px',
                                    //stem: 'bottomLeft'                                
                                    stem: 'bottomLeft'                                
                                });
    } else {
        params = element.getAttribute('ajaxurlparams') || '';
        var urlGo = url+'?fromajax=true&rand='+Math.random()+'&'+params;        
        new Tip(element, {
                                    title: a, //'<nobr>'+a+'</nobr>',
                                    ajax: {
                                        url: urlGo,
                                        options: {
                                            onComplete: function(transport) {
                                            }
                                        }
                                    },
                                    hideOn: { element: 'target', event: 'mouseout' },
                                    //hideOn: { element: 'closeButton', event: 'click' },
                                    closeButton: true,
                                    showOn: 'click',
                                    style: 'ebaytoday',
                                    hideOthers: true,
                                    hook: {                
                                             tip: 'bottomRight' 
                                          },
                                    offset: { x: 10, y: 0 },
                                    width: '280px',
                                    stem: 'bottomRight'                                
                                });    
    }

  });
  
  
    $$('a.help-image').each(function(element) {
        var a = element['title'], url, params;
   
        if(!a) { return; }
        
        element.setAttribute('title', '');//'Что это?');
        new Tip(element, a, {
            //title: "Изображение",
            style: 'ebaytoday-image',
            showOn: 'click',                                                                
            hook: {                
                tip: 'topLeft',
                mouse: true
            },
            offset: { x: 10, y: 0 },
            width: '150px',
            stem: 'bottomLeft'                                
        });

    }); 
  
});


function getBounds(element)
{
    var left = element.offsetLeft;
    var top = element.offsetTop;
    for (var parent = element.offsetParent; parent; parent = parent.offsetParent)
    {
       left += parent.offsetLeft - parent.scrollLeft;
       top += parent.offsetTop - parent.scrollTop;
    }
    return {left: left, top: top, width: element.offsetWidth, height: element.offsetHeight};
}
/*
function $(e_id)
{
    return document.getElementById(e_id);
}

function $$(tag)
{
    return document.createElement(tag);
}
*/
function $_(elem)
{
    if (elem && elem.parentNode)
    {
        var p = elem.parentNode;
        p.removeChild(elem);
        delete(elem);
    }
}

function getClientWidth()
{
    var w = 0;
    if (document.body) w = Math.min(document.body.clientWidth, document.body.scrollWidth);
    return w;
}

function getClientHeight()
{
    var h = 0;
    if (self.innerHeight) h = self.innerHeight;
    else if (document.documentElement && document.documentElement.clientHeight) h = document.documentElement.clientHeight;
    else if (document.body) h = document.body.clientHeight;
    return h;
}

function showElem(id)
{
    $(id).style.display = 'block';
}

function hideElem(id)
{
    $(id).style.display = 'none';
}

function toggleElem(id)
{
    $(id).style.display = ($(id).style.display=='block' || $(id).style.display=='')?'none':'block';
    return ($(id).style.display == 'block');
}

function toggleMenu(id)
{
	if (toggleElem(id)) setCoo(id,1); else remCoo(id);
}

function setCoo(name,val)
{
  var c = "vooncoo"+name+"="+val+";"+"expires=Sat, 04-Apr-2099 19:55:55 GMT";;
  document.cookie = c;
}

function remCoo(name)
{
  var c = "vooncoo"+name+"=0;"+"expires=Sat, 04-Apr-2003 19:55:55 GMT";;
  document.cookie = c;
}

function loadAjax (url,element_id, eval_expr) {
    
    new Ajax.Request(url,
        {
            method:'get',
            onSuccess: function(transport) {
                var response = transport.responseText || "no response text";
                $(element_id).innerHTML = response;
                if (eval_expr!= '') {
                	eval (eval_expr);
                }
            },
            onFailure: function(){ alert('Something went wrong...');
        }
    });
}

function backgroundLoad(url, eval_expr) {
	new Ajax.Request(url,
        {
            method:'get',
            onSuccess: function(transport) {
                if (eval_expr!= '') {
                	eval (eval_expr);
                }
            },
            onFailure: function(){ alert('Something went wrong...');
        }
    });
}

/****************************************************************************
    Расчеты для формы посылки
*/    

var numCheck = 0;
var my_country = '';
var my_balance = 0;

function setCountry(optionId, isAdminka, checkWeight, weightFieled) {
    var checkWeight = checkWeight;
    var weightFieled = weightFieled;
    var optionId = optionId;    
    var address = $('addressId_'+optionId);
    my_country = address.getAttribute('country_id');
    $('_country_id').value = my_country;
    $('_index').value = address.getAttribute('data-post-index');
    
    var url = '/package/getDeliveryMethodsForCountry';
    var showNeedSelect = '1';
    if (isAdminka == true) {
        url = '/mail/getDeliveryMethodsForCountry';
        showNeedSelect = '0';
    }
    
    try{
        if(my_country == 426 || my_country == 3228 || my_country == 437) {
            $('declrowlimit').value = '4';
        } else {
            $('declrowlimit').value = '20';
        }
        
        if (located_in == 'DE') {
            $('declrowlimit').value = '5';
        }
        
        checkCountRowDecl();
        
    } catch (e) {
    }
    
    jQuery('#method27Accept').hide();
      
    new Ajax.Request(url+'/?country_id='+my_country + '&located='+located_in + '&showNeedSelect=' + showNeedSelect + '&index=' + $('_index').value, {
      onSuccess: function(transport) {        
          var res = transport.responseText.evalJSON(true);
          var htmlText = '';          
          
          deliveryMethodsInfo = new Array(); 
          min = 0;          
          sel = $('delselect');          
          sel.innerHTML = '';
          
          var airmailAvailable = isAirmailAvailable();
          
          res.each(function(v) {
              
              if (v.country_id) { 
                htmlText = htmlText + '<option value="'+v.id+'">'+v.name+'</option>';
                
                opt = document.createElement("option");
                opt_txt = document.createTextNode(v.name);
                opt.appendChild(opt_txt);
                opt.setAttribute("value", v.id);
                opt.setAttribute("maxWeight", v.maxWeight);
                
                if ((v.id == 27 || v.id == 28) && (typeof emsDeliveryToIndex[getDeliveryAddressIndex()] == 'undefined')) {
                	opt.setAttribute("disabled", 'disabled');
                }
                
                if ((v.id == 12 || v.id == 13) && airmailAvailable == false) {
                	opt.setAttribute("disabled", 'disabled');
                }              
                	
                sel.appendChild(opt);
                
                addDeliveryMethodInfo(v.id, v.descr, v.maxInsurance, v.minInsurance, v.insurancePrice, v.deliveryPrice);  
                /*if (min == 0) {
                    $('insurance_sum').value = v.minInsurance;
                    min = v.minInsurance;
                } */
              }              
              
          });           
          //var response = transport.responseText || "Ошибка!";
          //$('delselect').innerHTML = htmlText;                
          //sel = $('delselect');
          
          if (checkWeight && weightFieled) {
               detectAvailibleDeliveryMethod($(weightFieled).innerHTML);               
          }
          
          if (isAdminka == false) {
            updateInsuranceEnable();
          }
          
          jQuery('.preFillDeclInfo').remove();
          detachMfInvoiceLink(true);
          
      }        
    });
        
}

function setBalance(balance) {
    my_balance = balance;
}

function setDeleteStatus(checkid) {
    if(document.getElementById(checkid).checked){
        ++numCheck;
    } else {
        --numCheck;
    }
    if(numCheck > 0) {
        document.getElementById('delete_gray').style.display = 'none';
        document.getElementById('delete_black').style.display = 'block';
    } else {
        document.getElementById('delete_gray').style.display = 'block';
        document.getElementById('delete_black').style.display = 'none';
    }
}


function priceChangeHide () {

    var myRe = new RegExp("^price\\[([0-9]+)\\]", "i");
    
    var i = 0;
    var inputs = document.getElementsByTagName("input");
    var s = '';
    var sum = Number(0);
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var elid = s;
        var elementId = inputs[i].getAttribute('id');
        if(myRe.test(s)){
            $(elementId).style.display='none';
        }    
    } 
    
    
    var myRe = new RegExp("^spanprice\\[([0-9]+)\\]", "i");
    var i = 0;
    var inputs = document.getElementsByTagName("span");
    var s = '';
    var sum = Number(0);
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var elid = s;
        var elementId = inputs[i].getAttribute('id');
        if(myRe.test(s)){
            $(elementId).style.display='block';
        }    
    } 
    
    $('priceChangeShowId').style.display='none';
    //setStar();
}


function priceChangeShow () {

    var myRe = new RegExp("^price\\[([0-9]+)\\]", "i");
    
    var i = 0;
    var inputs = document.getElementsByTagName("input");
    var s = '';
    var sum = Number(0);
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var elid = s;
        var elementId = inputs[i].getAttribute('id');
        if(myRe.test(s)){
            $(elementId).style.display='block';
        }    
    } 
    
    
    var myRe = new RegExp("^spanprice\\[([0-9]+)\\]", "i");
    var i = 0;
    var inputs = document.getElementsByTagName("span");
    var s = '';
    var sum = Number(0);
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var elid = s;
        var elementId = inputs[i].getAttribute('id');
        if(myRe.test(s)){
            $(elementId).style.display='none';
        }    
    } 
    
    $('priceChangeShowId').style.display='none';
    //setStar();
    
}


function trim(str) {
    return str.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '');
}


function priceChange ()
{

    if ($('declebtd').checked) {
        
    } else {
        return true;
    }
        
    var myRe = new RegExp("^price\\[([0-9]+)\\]", "i");
    
    
    var i = 0;
    var inputs = document.getElementsByTagName("input");
    var s = '';
    var sum = Number(0);
    
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var elid = s;
        if(myRe.test(s)){
            tempsum = inputs[i].value;
            tempsum = tempsum.replace(',', '.');
            tempsum = parseFloat(tempsum);
            
            elid = elid.replace('price[', '');
            elid = elid.replace(']', '');
            
            var amount = document.getElementById('amount-'+elid).innerHTML;
            amount = Number(amount);
            
            if(tempsum == '' || isNaN(tempsum)){
                document.getElementById('price-'+elid+'-error').style.display = 'block'; 
            } else {
                sum = tempsum*amount + sum;
                document.getElementById('price-'+elid+'-error').style.display = 'none'; 
                document.getElementById('amountprice-'+elid).innerHTML = tempsum*amount;
            } 
        }    
    } 

    document.getElementById('total_price').innerHTML = sum;
    
    kursbaksa = $('kursbaksa').value;
    if(sum*kursbaksa>39000) {
        $('show_duty_text').style.display='block';
    } else {
        $('show_duty_text').style.display='none';
    }
    
    $('total-error').style.display = 'none';
    $('customs-error').style.display = 'none';
    
    //limitMaxInsuranceValue();
    /*setStar();*/
}

function setFlagActivateElement(obj) {
	if (obj) {
		obj.setAttribute('f', 1);
	}	
}

function getFlagActivateElement(obj) {
	if (obj) {
		obj.getAttribute('f');
	}	
}

function isFlagActivateElement(obj) {
	if (obj.getAttribute('f') == '1') {
		return true;	
	} else {
		return false;
	}
}



function vesChange (obj, soft)
{
    if (obj) {
        obj.setAttribute('f', 1);
    }
    
    if (soft != true) {
        soft = false;
    } 
	$('total-error').style.display = 'none';

    var myRe = new RegExp("ves\\[([0-9]+)\\]", "i");
    var i = 0;
    var inputs = document.getElementsByTagName("input");
    var s = '';
    var sum = Number(0);
    var tempsum = 0;
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var flag = inputs[i].getAttribute('f');
        var elid = s;
        if(myRe.test(s)){
            tempsum = inputs[i].value;
            tempsum = tempsum.replace(',', '.');
            tempsum = Math.abs(parseFloat(tempsum));
            
            elid = elid.replace('ves[', '');
            elid = elid.replace(']', '');
            
            var amount = document.getElementById('amount-'+elid).innerHTML;
            amount = Number(amount);

            if(tempsum == '' || isNaN(tempsum)){
                if (soft == true) {
                    if (flag == 1) {
                        document.getElementById('ves-'+elid+'-error').style.display = 'block'; 
                    }
                } else {
                        document.getElementById('ves-'+elid+'-error').style.display = 'block'; 
                }
            } else {
                document.getElementById('ves-'+elid+'-error').style.display = 'none';             
                sum = tempsum*amount + sum;
            } 
        } 
    }

    document.getElementById('total_ves').innerHTML = sum;
    
    detectAvailibleDeliveryMethod(sum);
    
}

function isAirmailAvailable()
{
	var available = true;
	jQuery.each(jQuery('.oversizeInfo'), function (index, value) {
		if (jQuery(value).attr('data-oversize') == 'not4airmail') {
			available = false;			
			return false;
		}
	});
	return available;
}

function detectAvailibleDeliveryMethod(allWeight)
{

    $$('select#delselect option').each(function(option) {
        option.removeAttribute('disabled');                
    });
    var wasDisabled = false;
    var selected = $('delselect').value;
    
    var currentIndex = getDeliveryAddressIndex();
    var indexAvailible = false;
    if (typeof emsDeliveryToIndex[currentIndex] !== 'undefined') {	
    	indexAvailible = true;
    }
    
    var airmailAvailable = isAirmailAvailable();
    
    $$('select#delselect option').each(function(option) {
        var maxWeight = parseInt(option.getAttribute('maxWeight'));
        if (maxWeight > 0 && allWeight > maxWeight) {
            option.setAttribute('disabled', 'disabled');
            if (option.value == selected) {
                selected = 0;
            }
            wasDisabled = true;
        } else if ((option.getAttribute('value') == 27 || option.getAttribute('value') == 28) && !indexAvailible) {
        	option.setAttribute('disabled', 'disabled');
            if (option.value == selected) {
                selected = 0;
            }
            wasDisabled = true;
        } else if ((option.getAttribute('value') == 12 || option.getAttribute('value') == 13) && airmailAvailable == false) {
        	option.setAttribute('disabled', 'disabled');
            if (option.value == selected) {
                selected = 0;
            }            
            wasDisabled = true;
        }
        
        
    });
    
    if (wasDisabled) {
       if (selected == 0) {
           $('delselect').value = '0';
           jQuery('#ebtd-delivery-warning').hide();
       }       
    }
	updateDeliveryPrice();     
}

function getFullNew(id) {	
	
	var id = id;
	var url = '/index/fullnew?id='+id;
	new Ajax.Request(url,
        {
            method:'get',
            onSuccess: function(transport) {
               var response = transport.responseText || "no response text";                              
               document.getElementById('news_short'+id).innerHTML = response;               
            },
            onFailure: function(){}
    });
	
}

var deliveryMethodsInfo = new Array();
var emsDeliveryToIndex = new Object();

function addDeliveryMethodInfo(id,name,maximum,minimum, insurancePrice, deliveryPrice) {
    insurancePrice = eval(insurancePrice);
    deliveryPrice = eval(deliveryPrice);
    deliveryMethodsInfo[id] = new Array(name, maximum, minimum, insurancePrice, deliveryPrice);
}

function addEmsDeliveryToIndex(index, data) {
	emsDeliveryToIndex[index] = eval(data);
}

function getDeliveryMethodInfo(id) {
	return deliveryMethodsInfo[id];
}

function isInsuranceEnable(id) {
    temp = getDeliveryMethodInfo(id);
    temp = temp[3];
    if (typeof temp !== 'undefined') {
        if (temp.length == 1) {            
            if (parseInt(temp[0]['price']) == 0 && parseInt(temp[0]['summa']) == 0) {
                return false;
            }        
        }
    } else {
        return false;
    }
    return true;
}

function updateInsuranceEnable()
{
    var insuranceEnable = isInsuranceEnable($('delselect').value);
    if (insuranceEnable) {
        $('insurance').removeAttribute('disabled');           
    } else {
        $('insurance').disabled = 'disabled';
        $('insurance').checked = '';    
        $('spaninsurancesum').style.display = 'none';      
        $('insurance_sum_view_font').style.display = 'none';      
    }
}

function preFillDeclaration()
{
	jQuery('#decl_table_lines_start').after(preFillDecl);		
	if (jQuery('#allMfCountForDE').val() == 0) {
		priceDeclChange();
	}
	
	if (jQuery('#allMfCountForDE').val() == 0) {
		jQuery('#decl_tr_1').remove();		
	}
}

function fixDeclFirstLine()
{
	jQuery.each(jQuery('input'), function(index, value) {
	
		var match = jQuery(value).attr('id').match(/^declname-(.*)/);		
		if (match) {
			
			jQuery(value).css('width', '47%');
		
			if (jQuery(value).next().attr('data-type') != 'category') {	
				var selectOptions = '<option value="">Выберите категорию</option><option value="одежда">одежда</option><option value="обувь">обувь</option><option value="белье">белье</option><option value="спортивный инвентарь">спортивный инвентарь</option><option value="бижутерия">бижутерия</option><option value="аудиотехника">аудиотехника</option><option value="видеотехника">видеотехника</option><option value="электроника">электроника</option><option value="бытовой прибор">бытовой прибор</option><option value="полиграфия">полиграфия</option><option value="сувенир">сувенир</option>';	
				jQuery(value).after('<select name="decl['+match[1]+'][category]" data-type="category" style="width:47%">' + selectOptions + '</select>');
			}
			
		}
	
	});
	
}

function unsetDeclSelectCategory() 
{
	
	jQuery.each(jQuery('input'), function(index, value) {
		if (jQuery(value).attr('id').match(/^declname.*/)) {			
			jQuery(value).css('width', '97%');
		}
	});
	
	jQuery('select[data-type=category]').remove();
	
}

function updateDeliveryDataForMethod(id) {
	temp = getDeliveryMethodInfo(id);
	//$('descr_delivery').setAttribute('title') = temp[0];
	
    //$('insurance_sum').value = parseInt(temp[2]);    
	setStar(); 
	$('delselect-error').style.display = 'none';
    try{
        if(id==5) {
             $('declrowlimit').value = '3';
        } else if (id==2) {
             $('declrowlimit').value = '5';
        } else if (id == 12 || id == 13) {
             $('declrowlimit').value = '4';
        } else if (id == 19 || id == 20 || id == 21) {
             $('declrowlimit').value = '5';
        } else if (id == 15) {
             $('declrowlimit').value = '3';
        } else {
            $('declrowlimit').value = '20';
            if(my_country == 426 || my_country == 3228 || my_country == 437) {
                 $('declrowlimit').value = '4';
            }
        }
        checkCountRowDecl();
    } catch(e){
    }
    
    if (id == 27 || id == 28) {
    	jQuery('.preFillDeclInfo').remove();
    	preFillDeclaration();
    	fixDeclFirstLine();
    	detachMfInvoiceLink();
    	if (jQuery('#allMfCountForDE').val() > 0) {
    		attachMfInvoiceLink();
    	}    	
    	jQuery('#declsam').click();
    	// показать инвойсы
    	jQuery('.mf_declaration_file').show();
    	//jQuery('#declebtd').attr('disabled', 'disabled');
    	hideStampsDescription();
    	
		if (jQuery('#allMfCountForDE').val() == 0) {
			jQuery('.decl_tr').remove();		
		}
		
    	jQuery('#method27Accept').show();
    	
    } else {
    	jQuery('.preFillDeclInfo').remove();
    	detachMfInvoiceLink(true);    	
    	//jQuery('#declebtd').attr('disabled', '');
    	jQuery('.mf_declaration_file').hide();
    	jQuery('#invoice-load-error').hide();
    	showStampsDescription();
    	
    	if (jQuery('#decl_tr_1').length == 0) {
    		new Insertion.After('decl_table_lines_start', '<tr id="decl_tr_1" class="decl_tr"><td width="1" class="bottom_pad"><a href="#" onclick="decladdrowdeltable(1); return false;"><img src="http://static.ebaytoday.ru/ebay/pictures/ico_add.gif" alt="Добавить" border=0></a></td><td style="text-align: center"><input type="text" class="small_letters" maxlength="55" value="" name="decl[1][name]" id="declname-1" style="width:96%;" onkeyup="nameDeclChange(this, true);"><div id="error-declname-1" style="display:none; text-align:left;" class="font_10_error errorDeclNameClass">Не правильно заполненно поле. Поле запполняется на английском языке, возможно использование букв, цифр, знаков "." и ",". Длина должна быть от 5 до 55 символов.</div></td><td style="text-align: center"><input type="text" class="small_letters" value="" name="decl[1][value]" id="declvalue-1" style="width:80px;" f="0" onkeyup="priceDeclChange(this, true);"><div id="error-declvalue-1" style="display:none; text-align:left;" class="font_10_error">Только цифры</div></td><td style="text-align: center"><input type="text" class="small_letters" value="" name="decl[1][apr_weight]" style="width:120px;" id="declvesdecl-1" f="0" onkeyup="vesDeclChange(this, true);"><div id="error-declweight-1" style="display:none; text-align:left;" class="font_10_error">Только цифры</div></td><td style="text-align: center"><input type="text" class="small_letters" value="1" name="decl[1][qty]" id="declqty-1" style="width:70px;" f="0" onkeyup="qtyDeclChange(this, true);"><div id="error-declqty-1" style="display:none; text-align:left;" class="font_10_error">Только цифры</div></td><td style="text-align: center"> <input class="small_letters" type="text" id="delctotalitemprice-1" value="0'+currency+'" readonly="readonly" style="width:50px"/> </td><td style="text-align: center"> <input class="small_letters" type="text" id="delctotalitemweight-1" value="0 гр." readonly="readonly=" style="width:50px"/> </td><td width="1" class="top_pad"><a href="#" onclick="decldelrowdeltable(1); return false;"><img src="http://static.ebaytoday.ru/ebay/pictures/ico_remove.gif" alt="Удалить" border=0></a></td></tr>');
    	}
    	
    	jQuery('#method27Accept').hide();
    	
    	unsetDeclSelectCategory();    	
    }    
    
    try {
        var insuranceInfo = $('insuranceInfo');
        if (id == 13) {
            $('insuranceInfo').innerHTML = 
            'ТОВАРЫ, НЕ ПОДЛЕЖАЩИЕ СТРАХОВКЕ (Airmail International Signed For™):<br />'+
            '1. Мобильные телефоны (PDA, Blackberries и т.д.)<br />'+
            '2. Монеты, банкноты, денежных знаки, ценных бумаги или чеки<br />'+
            '3. Платина, золото или серебро (или товары, произведенные из них), драгоценные камни и то, что из них изготовлено.<br />'+
            '<a href="/static/insurance_details" target="_blank" class="a_10">Подробнее</a>';
        } else {
            $('insuranceInfo').innerHTML = '';
        }
        
        if (id == 27 || id == 28) {
        	jQuery('#ebtd-delivery-warning').show();
        } else {
        	jQuery('#ebtd-delivery-warning').hide();
        }
        
    } catch(e) {}
    
    updateDeliveryPrice();
    
    $('insurance_sum').value = getMaxInsuranceForPackage();
    //$('phone_insurance_sum').value = '';
    
    $('insurance').checked = 'checked';
    
    $('spaninsurancesum').style.display = 'block';
    $('insurance_sum_view_font').style.display = 'block';
    
    if ($('insurance_sum').value == 0) {
        $('insurance_sum').value = '';
    }
    
    $('insurance-error').style.display = 'none';
    updateInsuranceEnable();
    limitMaxInsuranceValue();
    updatePackageAndPhoneInsurance();
}

function getInsurancePrice(methodId, insValue) {
    var temp = getDeliveryMethodInfo(methodId); 
    var result = 0;    
    temp = temp[3];
   
    if (insValue == 0) {
    	return 0;
    }
    
    if (typeof temp !== 'undefined') {    
        var found = false;
        temp.each(function (insData){
            var price = insData['price'];
            var summa = insData['summa'];
           
            if (found == false && insValue <= parseFloat(summa)) {
                result = price;           
            } else {
                found = true;
            }            
        });        
    }
    return result;
}

function getDeliveryPrice(methodId, deliveryWeight) {
    var temp = getDeliveryMethodInfo(methodId);
    
    var result = 0;    
    temp = temp[4];
    
    var oz_temp = deliveryWeight / 28.3495231;  
    var lb = Math.floor(oz_temp / 16);
    var oz = oz_temp - (lb * 16);     
    if(oz == 16) {
        oz = 0;
        lb = lb+1;
    }
    lb = lb + oz / 16; 
    deliveryWeight = Math.floor(lb * 1000000) / 1000000;
    
    if (typeof temp !== 'undefined') {    
        var found = false;
        temp.each(function (weightData){
            var price = weightData['price'];
            var weight = weightData['weight'];
           
            if (found == false && deliveryWeight <= parseFloat(weight)) {
                result = price;           
            } else {
                found = true;
            }            
        });        
    }
    
    if (methodId == 27 || methodId == 28) {
    	var index = getDeliveryAddressIndex();		
    	result += getDeliveryPriceToIndex(index, deliveryWeight);		
    }
    
    return result;
}

function getDeliveryPriceToIndex(index, deliveryWeight)
{
	var result = 0;
	var table = emsDeliveryToIndex[index];
	if (typeof table !== 'undefined') {		
		var found = false;
		table.each(function (weightData){
            var price = weightData['price'];
            var weight = weightData['weight'];
            if (found == false && deliveryWeight <= parseFloat(weight)) {
                result = price;           
            } else {
                found = true;
            }            
        });
	}
	
	return result;
}

function getDeliveryAddressIndex()
{
	return $('_index').value;
}

function updateDeliveryPrice() {
    var deliveryMethodId = $('delselect').value;
    var totalWeight = parseInt($('total_ves').innerHTML);    
    var deliveryPrice = getDeliveryPrice(deliveryMethodId, totalWeight);
    
    // getDeliveryPrice($('delselect').value, $('_country_id').value);
    
    $('delves').innerHTML = Math.round(deliveryPrice * 100) / 100;
    
    updateTotalPrice();
    
}

function getMaxInsuranceForPackage()
{
    var produceDC = parseFloat($('_produceDC').value);
    var maxIns = Number(0);
    var sum = Number(0);
    
    if ($('declebtd').checked) {
        
        var inputs = document.getElementsByTagName("input");
        var s = '';
        var myRe = new RegExp("^price\\[([0-9]+)\\]", "i");
        
        for (i = 0; i < inputs.length; i++){
            s = inputs[i].getAttribute('name');
            var elid = s;
            if(myRe.test(s)){
                tempsum = inputs[i].value;
                tempsum = tempsum.replace(',', '.');
                tempsum = parseFloat(tempsum);
                
                elid = elid.replace('price[', '');
                elid = elid.replace(']', '');
                
                var amount = document.getElementById('amount-'+elid).innerHTML;
                amount = Number(amount);
                
                if(tempsum != '' && !isNaN(tempsum)) {                
                    sum = tempsum*amount + sum;                    
                } 
            }    
        }                
        
    } else {
        sum = parseFloat($('delctotalprice').innerHTML);
        if (sum == 0) {
            sum = parseFloat($('total_price').innerHTML);
        }
    }
    
    //maxIns = sum + produceDC + parseFloat($('delves').innerHTML);
    maxIns = sum;
    //maxIns = Math.round(maxIns / 100) * 100;
    maxIns = Math.round(maxIns);
    
    if ($('insurance').style.disabled == false) {
        $('insurance').checked = 'checked';
        $('insurance_sum').value = maxIns;        
    }
    return maxIns;
}

function processCommonInsurance() {
	$('insurance_sum').value = $('common_insurance_sum').value; 
	limitMaxInsuranceValue($('insurance_sum'), $('delselect').value, false);
	$('common_insurance_sum').value = $('insurance_sum').value;
	$('phone_insurance_sum').value = '';
	$('insurance_phone_sum').innerHTML = 0;
    $('insurance_phone_sum_view').style.visibility = 'hidden';
}

function limitPhoneInsuranceValue() {
	
	var obj = $('phone_insurance_sum');
	var price = Number(parseInt(obj.value));
	if (isNaN(price)) {
        price = 0;
    }
	
	if (price > 2000) {
		price = 2000;
	}	
	
	if (obj.value == 0) {
		obj.value = '';
	} else {
		obj.value = price;
	}
	
	
	limitMaxInsuranceValue($('insurance_sum'), $('delselect').value, false);
	updatePackageAndPhoneInsurance();

}

function limitMaxInsuranceValue(obj,methodId,checkMin) {	
	/*setStar();*/
    obj = $('insurance_sum');
    methodId = parseInt($('delselect').value);
	temp = getDeliveryMethodInfo(methodId);
    
    maximum = temp[1];
	minimum = temp[2];
    
    //userMax = getMaxInsuranceForPackage();
         
    price = Number(parseInt(obj.value));
    if (isNaN(price)) {
        price = 0;
    }
    
    //obj.value = obj.value.replace(/[^0-9]+/,'');
    //alert(obj.value);
    
    /*if (price > userMax) {
        price = parseInt(userMax);
    } */
    
	if (price > maximum) {
		price = parseInt(maximum);
	} 
	if (checkMin) {
		if (price < minimum) {
			price = parseInt(minimum);
		}
	}
    
    var insurancePrice = getInsurancePrice(methodId, price);
    if (insurancePrice >= 0 && $('insurance').checked) {
        $('insurance_sum_view').innerHTML = insurancePrice;
        $('insurance_sum_view_font').style.display = 'block';
    } else {
        $('insurance_sum_view').innerHTML = 0;
        $('insurance_sum_view_font').style.display = 'none';
    }
    
    var insurancePhonePrice = getPhoneInsurance();
    if (insurancePhonePrice > 0 && $('insurance').checked) {
        $('insurance_phone_sum').innerHTML = insurancePhonePrice;
        $('insurance_phone_sum_view').style.visibility = 'visible';
    } else {
        $('insurance_phone_sum').innerHTML = 0;
        $('insurance_phone_sum_view').style.visibility = 'hidden';
    }
    
    obj.value = price;
    if (obj.value == 0) {
        obj.value = '';
    }
    
    //$('common_insurance_sum').value = obj.value;
    
    updatePackageAndPhoneInsurance();
    updateTotalPrice();
    $('total-error').style.display = 'none';
    $('insurance-error').style.display = 'none';
}

function onfocusHideText(obj,text) {	
	if (obj.value == text) {
		obj.value = '';
	}	
}

function onblurShowText(obj,text) {
	if (obj.value == '') {
		obj.value = text;
	}
}

var inPackageItems = new Array();
var inPackageItemsIdx = 0;
function registerPackageInItems(id) {
	inPackageItems[inPackageItemsIdx] = id;
	inPackageItemsIdx++;
}

function checkInPackage(obj) {	
	
    var els = document.getElementsByTagName('input');
    var f = obj.form.getAttribute('id'); 
    var oname = obj.getAttribute('name');
    var c = obj.checked;
    var name;
    
    var skip = '';
    if (obj.getAttribute('imf') == 1) {        
        
        skip = obj.getAttribute('id');        
        for (var i=0; i<els.length; i++) {
        
            name = els[i].getAttribute('imf') || '';        
            if(name == 0) {
                els[i].checked = "";            
            } 
            
            if(name == 1 && skip != els[i].getAttribute('id')) {
                els[i].checked = "";                        
            }
         
        }
        
    } else {
        
        for (var i=0; i<els.length; i++) {        
            name = els[i].getAttribute('imf') || '';        
            if(name == 1) {
                els[i].checked = "";       
            }        
        }
        
    }
     
     /*   
    for (var i=0; i<els.length; i++) {
        
        name = els[i].getAttribute('name') || '';        
        if(name.indexOf('mf[0]') == 0 && skip != els[i].getAttribute('id')) {
            els[i].checked = "";            
        } 
         
    }*/
    //obj.checked = "checked";

    
    
    for (i = 0; i < inPackageItems.length;i++) {		
		if ($('inPackageCheckbox'+inPackageItems[i]).checked == true) {
            $('inpackage').removeAttribute('disabled');
			$('torecycle').removeAttribute('disabled');
			return true; 
		}
	}
    $('inpackage').disabled = 'disabled';
	$('torecycle').disabled = 'disabled';
	return false;
}

function toRecycle() {
    var prodStr = '';
    var ask = 'Вы действительно хотите утилизировать';
    var count = 0;
    var prodNames = '';
    for (i = 0; i < inPackageItems.length;i++) {        
        if ($('inPackageCheckbox'+inPackageItems[i]).checked == true) {
            prodStr = prodStr + inPackageItems[i] + ',';
            count = count + 1;
            prodNames = prodNames + 'G' + inPackageItems[i] + ' - ' + $('produceNameById'+inPackageItems[i]).innerHTML + '\n';
        }
    }
    
    if (count == 1) {
        ask = ask + ' товар:\n\n';
    } else if (count > 1) {
        ask = ask + ' товары:\n\n'; 
    }
    
    ask = ask + prodNames;
    
    ask = ask + '\nПосле подтверждения товар будет удален из системы и утилизирован без возможности восстановления.\nДеньги за товар, комиссия, стоимость хранения и пр. не возвращаются!';
    
    if (confirm(ask)) {
        $('recycleProds').value = prodStr;
        $('recycleForm').submit();        
    }
    
    return false;
    
}

function calckDevilery() {
    var method_id = document.getElementById('delselect').value;
    /**************************************************************
        Доставка
    */
    var ves = document.getElementById('total_ves').innerHTML;
    ves = ves.replace(',', '.');
    ves = parseFloat(ves);
    
    if(method_id > 0) {
        var url = '/package/calcweight/?country='+my_country+'&method_id='+method_id+'&ves='+ves;
        loadAjax(url,'delves','calckInsuranse()');
    } else {
        document.getElementById('delves').innerHTML = '0.00';
        calckInsuranse();
    }
    /*
        /Доставка
    */

}

function calckInsuranse() {
    var method_id = document.getElementById('delselect').value;
    /**************************************************************
        Страховка
    */
    var insurance_sum = Number(0);
    if(document.getElementById('insurance').checked){
        insurance_sum = document.getElementById('insurance_sum').value;
        insurance_sum = insurance_sum.replace(',', '.');
        insurance_sum = parseFloat(insurance_sum);
        
        if (method_id > 0 && insurance_sum > 0) {
            var url = '/package/calcins/?country='+my_country+'&method_id='+method_id+'&ins='+insurance_sum;
            loadAjax(url,'insurance_sum_view','calckDuty ()');
            //insurance_price = Number(document.getElementById('insurance_sum_view').innerHTML); 
        }
    } else {
        document.getElementById('insurance_sum_view').innerHTML = '0.00'; 
        calckDuty();
    }
    /*
       / Страховка
    */

}


function calckDuty () {
    calckTotalPrice();
    /*
    var insurance_sum = Number(0);
    
    var method_id = document.getElementById('delselect').value;
    var total_price = document.getElementById('total_price').innerHTML;
    total_price = total_price.replace(',', '.');
    total_price = parseFloat(total_price);
    
    if(document.getElementById('insurance').checked){
        insurance_sum = document.getElementById('insurance_sum').value;
        insurance_sum = insurance_sum.replace(',', '.');
        insurance_sum = parseFloat(insurance_sum);
    } 

    
    var delves_price = document.getElementById('delves').innerHTML;
    delves_price = delves_price.replace(',', '.');
    delves_price = parseFloat(delves_price);         
    var url = '/package/calcduty/?country='+my_country+'&total_price='+total_price + '&insurance_sum='+insurance_sum+'&delves_price='+delves_price;
    loadAjax(url,'duty_sum','calckTotalPrice()');
    document.getElementById('duty_sum_input').value = document.getElementById('duty_sum').innerHTML;
    */
}

function updateTotalPrice () {
    var total = 0;
    var delivery = parseFloat($('delves').innerHTML);
    var ins = parseFloat($('insurance_sum_view').innerHTML);
    
    total = delivery;
    if ($('insurance').checked == true) {
    	total = delivery + ins + getPhoneInsurance(); 
    }
    
    $('all_price').innerHTML = Math.round(total * 100) / 100;
}

function getPhoneInsurance() {
	var phoneIns = parseFloat($('phone_insurance_sum').value);
    if (isNaN(phoneIns)) {
    	phoneIns = 0;
    }
    phoneIns = Math.round(phoneIns * 0.05 * 100) / 100;
    return phoneIns;
}


function calckTotalPrice () {
    /**********************************************************
        Общий расчет цены
    */
    vesChange();
    var all_price = Number(0);
    var insurance_price = Number(0);
    var duty_sum = Number(0);
    var delves_price = Number(0);
    /*var total_price = document.getElementById('total_price').innerHTML;
    total_price = total_price.replace(',', '.');
    total_price = parseFloat(total_price);*/
    
    insurance_price = document.getElementById('insurance_sum_view').innerHTML;
    insurance_price = insurance_price.replace(',', '.');
    insurance_price = parseFloat(insurance_price);        
                   
    
    /*duty_sum = document.getElementById('duty_sum').innerHTML;
    duty_sum = duty_sum.replace(',', '.');
    duty_sum = parseFloat(duty_sum);*/
    
    
    delves_price = document.getElementById('delves').innerHTML;
    delves_price = delves_price.replace(',', '.');
    delves_price = parseFloat(delves_price);
                  
    $duty_sum_vis_inner = parseFloat($('duty_sum').innerHTML);
    
    if($duty_sum_vis_inner>0) {
        $('trdutysum').style.display='table-row';
    } else {
        $('trdutysum').style.display='none';
    }
    
    $insurance_sum_view_vis_inner = parseFloat($('insurance_sum_view').innerHTML);
    
    if($insurance_sum_view_vis_inner>0) {
        $('insurance_sum_view_font').style.display='block';
    } else {
        $('insurance_sum_view_font').style.display='none';
    }
    
    if(!delves_price)  {
        document.getElementById('all_price').innerHTML = 'Не возможно рассчитать <br />стоимость доставки';
        document.getElementById('total_price_input').value = '0'+currency;
    } else {
        all_price = insurance_price + delves_price;        
        if(all_price>0) {
            document.getElementById('all_price').innerHTML = Math.round(all_price*100)/100+''+currency;
            $('all_price_div').style.visibility='visible';
            
        } else {
            document.getElementById('all_price').innerHTML = '';
            $('all_price_div').style.visibility='hidden';
        }
        document.getElementById('total_price_input').value = Math.round(all_price*100)/100+''+currency;
    }
    
    $('loadingImage').style.display = 'none';
    
}


function calckPrice() {
    $('loadingImage').style.display = 'block';
    document.getElementById('all_price').innerHTML = '<span class="font_10">Идет пересчет</span>';
    calckDevilery();
}

function setStar() {
    return;
    document.getElementById('delves').innerHTML = '****';
    document.getElementById('insurance_sum_view').innerHTML = '****';
    document.getElementById('duty_sum').innerHTML = '****';
    document.getElementById('all_price').innerHTML = '<a href="javascript:void(0);" class="a_10_web20" onclick="calckPrice(); return false;">Пересчитать</a> ';
}

function checkDecl(){
    checkD = false;
    if ($('declebtd').checked) {
        return true; 
    } else {

        elemets = document.getElementsByClassName("decl_tr");
        
        for(i=0;i<elemets.length; i++){
             //inTr = elemets[i].getElementsByTagName("input");
             elid = elemets[i].getAttribute('id');
             elid = elid.replace('decl_tr_', '');

            tempDeclQty = $('declqty-'+elid).value;
            tempDeclQty = tempDeclQty.replace(',', '.');
            tempDeclQty = parseFloat(tempDeclQty);
            if(tempDeclQty == '' || isNaN(tempDeclQty)){
                checkTempDeclQty = false;
            } else {
                checkTempDeclQty = true;
            }
            
            tempDeclVes = $('declvesdecl-'+elid).value;
            tempDeclVes = tempDeclVes.replace(',', '.');
            tempDeclVes = parseFloat(tempDeclVes);
            if(tempDeclVes == '' || isNaN(tempDeclVes)){
                checkTempDeclVes = false;
            } else {
                checkTempDeclVes = true;
            }
            
            tempDeclValue = $('declvalue-'+elid).value;
            tempDeclValue = tempDeclValue.replace(',', '.');
            tempDeclValue = parseFloat(tempDeclValue);
            if(tempDeclValue == '' || isNaN(tempDeclValue)){
                checkTempDeclValue = false;
            } else {
                checkTempDeclValue = true;
            }
            
            
            if($('declname-'+elid).value!="" ||  $('declqty-'+elid).value != '' || $('declvesdecl-'+elid).value != '' || $('declvalue-'+elid).value != '') {
                
                if(!checkTempDeclQty) {
                    $('error-declqty-' + elid).style.display = 'block';
                } else {
                    $('error-declqty-' + elid).style.display = 'none';
                }
                
                if(!checkTempDeclVes) {
                    $('error-declweight-' + elid).style.display = 'block';
                } else {
                    $('error-declweight-' + elid).style.display = 'none';
                }
                    
                if(!checkTempDeclValue) {
                    $('error-declvalue-' + elid).style.display = 'block';
                } else {
                    $('error-declvalue-' + elid).style.display = 'none';
                }
                
                if($('declname-'+elid).value!="" && checkTempDeclQty && checkTempDeclVes && checkTempDeclValue){
                    checkD = true;
                } else {                	
                    checkD = false;
                    return false;
                }
            }
            
            
            
            
        }
        
        
        
        
    }
    
    res = nameDeclChange();
    
    return (checkD && res);
}

function checkCountRowDecl() {
    rowdeclrowlimit = $('declrowlimit').value;    
    elemets = document.getElementsByClassName("decl_tr");    
    for(i=0;i<elemets.length; i++){
         inTr = elemets[i].getElementsByTagName("input");
         for(j=0; j<inTr.length; j++){
             if(i<rowdeclrowlimit) {
                 inTr[j].disabled = 0;
             } else {
                inTr[j].disabled = 1;
             }
         }
    }
}

function hideStampsDescription()
{
	jQuery('#stampCommonDescrWrap').hide();
	jQuery('#stamps_custom_delc').val('goods');
}

function showStampsDescription()
{
	jQuery('#stamps_custom_delc').val('');
	jQuery('#stampCommonDescrWrap').show();
}

function attachMfInvoiceLink()
{
	//<div style="text-align:left" class="attachedMFInvoice"><a href="javascript:void(0)" onclick="attachMfInvoice(' + new_row_id + ')" class="a_10">Прикрепить инвойс</a></div>
	jQuery.each(jQuery('div.errorDeclNameClass'), function(index, value) {
		var id = jQuery(value).attr('id');
		id = id.replace('error-declname-','');
		
		var mfSelectInInvoice = jQuery('#decl_tr_'+id).find("td").first().find("select.mfSelectInInvoice");
		
		if (mfSelectInInvoice.length == 0) {
			//jQuery(value).parent().prepend('<select class="mfSelectInInvoice"><option></option></option>');
			jQuery('#decl_tr_'+id).find("td").first().prepend('<select class="mfSelectInInvoice" name="decl['+id+'][mf_id]">' + mfSelector + '</select>');
		}
		
		jQuery(value).after('<div style="text-align:right" class="attachedMFInvoice"><a href="javascript:void(0)" onclick="attachMfInvoice('+id+')" class="a_10">Прикрепить инвойс</a></div>');
		
	});
}

function detachMfInvoiceLink(removeSelect)
{
	jQuery.each(jQuery('div.attachedMFInvoice'), function(index, value) {		
		jQuery(value).remove();		
	});
	if (removeSelect == true) {
		jQuery('select.mfSelectInInvoice').remove();
	}
}

function decladdrowdeltable(row_id) {
    rowcntdeltable = $('declrowcntdeltableHid').value;
    rowdeclrowlimit = Number($('declrowlimit').value);
    rowdeclrowcount = Number($('declrowcount').value);
    
    if(rowdeclrowcount >= rowdeclrowlimit){
        //alert('Нельзя добавлять больше строк. Количество строк для выбранного метода доставки ограниченно '+rowdeclrowlimit+' шт.');
            
		jQuery.fancybox({
            'content' : "<div style='width: 600px;'><h3>Нельзя добавить больше строк</h3><p style='font-size: 14px;'>Для выбранного метода доставки правилами почты установлено ограничение в "+rowdeclrowlimit+" строки для таможенных деклараций. Однако это ограничение не означает, что вы не можете отправлять более "+rowdeclrowlimit+" товаров. Чтобы отправить более "+rowdeclrowlimit+"-х товарав необходимо уместить все товары в "+rowdeclrowlimit+" строки. Для этого необходимо объединить все товары в группы и указать количество товаров в каждой группе.</p><p style='font-size: 14px;'>Например, для посылки состоящей из 1 рубашки, 2-х футболок, 1-го мобильного телефона и 2-х детских игрушек, декларация может выглядеть следующим образом:<ol><li>Clothing — 3</li><li>Mobile phones — 1</li><li>Toys — 2</li></ol></p></div>"            
        });
    	
        return false;
    }
    
    if(!checkDecl()) {
        alert('Строка заполнена не правильно.');
        return false;
    }

    rowcntdeltable = Number(rowcntdeltable) + 1;
    rowdeclrowcountNew = Number(rowdeclrowcount) + 1;
    
    var new_row_id = rowcntdeltable;
    
    var deliveryMethodId = jQuery('#delselect').val();
    
    if (deliveryMethodId == 27 || deliveryMethodId == 28) {
    	var selectOptions = '<option value="">Выберите категорию</option><option value="одежда">одежда</option><option value="обувь">обувь</option><option value="белье">белье</option><option value="спортивный инвентарь">спортивный инвентарь</option><option value="бижутерия">бижутерия</option><option value="аудиотехника">аудиотехника</option><option value="видеотехника">видеотехника</option><option value="электроника">электроника</option><option value="бытовой прибор">бытовой прибор</option><option value="полиграфия">полиграфия</option><option value="сувенир">сувенир</option>';
    	var nameLine = '<input type="text" class="small_letters" maxlength="55" value="" name="decl['+ new_row_id +'][name]" id="declname-'+ new_row_id +'" style="width:47%;" onkeyup="nameDeclChange(this, true);"><select name="decl[' + new_row_id + '][category]" data-type="category" style="width:47%">'+selectOptions+'</select>';
    } else {
    	var nameLine = '<input type="text" class="small_letters" maxlength="55" value="" name="decl['+ new_row_id +'][name]" id="declname-'+ new_row_id +'" style="width:96%;" onkeyup="nameDeclChange(this, true);">';
    }
    
    new Insertion.After('decl_tr_'+row_id, '<tr id="decl_tr_' + new_row_id +'" class="decl_tr"><td width="1" class="bottom_pad"><a href="#" onclick="decladdrowdeltable('+ new_row_id +'); return false;"><img src="http://static.ebaytoday.ru/ebay/pictures/ico_add.gif" alt="Добавить" border=0></a></td><td style="text-align: center">'+nameLine+'<div id="error-declname-'+ new_row_id +'" style="display:none; text-align:left;" class="font_10_error errorDeclNameClass">Не правильно заполненно поле. Поле запполняется на английском языке, возможно использование букв, цифр, знаков "." и ",". Длина должна быть от 5 до 55 символов.</div></td><td style="text-align: center"><input type="text" class="small_letters" value="" name="decl['+ new_row_id +'][value]" id="declvalue-'+ new_row_id +'" style="width:80px;" f="0" onkeyup="priceDeclChange(this, true);"><div id="error-declvalue-'+ new_row_id +'" style="display:none; text-align:left;" class="font_10_error">Только цифры</div></td><td style="text-align: center"><input type="text" class="small_letters" value="" name="decl['+ new_row_id +'][apr_weight]" style="width:120px;" id="declvesdecl-'+ new_row_id +'" f="0" onkeyup="vesDeclChange(this, true);"><div id="error-declweight-'+ new_row_id +'" style="display:none; text-align:left;" class="font_10_error">Только цифры</div></td><td style="text-align: center"><input type="text" class="small_letters" value="1" name="decl['+ new_row_id +'][qty]" id="declqty-'+ new_row_id +'" style="width:70px;" f="0" onkeyup="qtyDeclChange(this, true);"><div id="error-declqty-'+ new_row_id +'" style="display:none; text-align:left;" class="font_10_error">Только цифры</div></td><td style="text-align: center"> <input class="small_letters" type="text" id="delctotalitemprice-'+ new_row_id +'" value="0'+currency+'" readonly="readonly" style="width:50px"/> </td><td style="text-align: center"> <input class="small_letters" type="text" id="delctotalitemweight-'+ new_row_id +'" value="0 гр." readonly="readonly=" style="width:50px"/> </td><td width="1" class="top_pad"><a href="#" onclick="decldelrowdeltable(' + new_row_id +'); return false;"><img src="http://static.ebaytoday.ru/ebay/pictures/ico_remove.gif" alt="Удалить" border=0></a></td></tr>');
    
    $('declrowcntdeltableHid').value = rowcntdeltable;
    $('declrowcount').value = rowdeclrowcountNew;

    if (deliveryMethodId == 27 || deliveryMethodId == 28) {
    	detachMfInvoiceLink();
    	attachMfInvoiceLink();
    } else {
    	detachMfInvoiceLink();
    }

}

function addElement2(elemetid,text,id,classEl) {
  var ni = document.getElementById(elemetid);
  var newdiv = document.createElement('tr');
  var divIdName = id;
  var divClassName = classEl;
  newdiv.setAttribute('id',divIdName);
  newdiv.setAttribute('class',divClassName);
  newdiv.innerHTML = text;
  ni.appendChild(newdiv);
}

function decldelrowdeltable(row_id) {
    rowdeclrowcount = $('declrowcount').value;
    rowdeclrowcountNew = Number(rowdeclrowcount) - 1;
    $('declrowcount').value = rowdeclrowcountNew;
    $('decl_tr_'+row_id).remove();
    priceDeclChange();
}



function addrowdecltable(row_id, located) {
    rowcntdeltable = $('declrowcntdeltableHid').value;
    rowdeclrowlimit = Number($('declrowlimit').value);
    rowdeclrowcount = Number($('declrowcount').value);
    
    declrowDeliveryMethodHid = Number($('declrowDeliveryMethodHid').value);
    
    
    if (!located) {
        located = 'USA';
    }
    
    if(rowdeclrowcount >= rowdeclrowlimit){
        alert('Нельзя добавлять больше строк. Количество строк для выбранного метода доставки ограниченно '+rowdeclrowlimit+' шт.');
        return false;
    }
    
    rowcntdeltable = Number(rowcntdeltable) + 1;
    rowdeclrowcountNew = Number(rowdeclrowcount) + 1;
    
    var new_row_id = rowcntdeltable;
    
    var addCategory = '';
    var addCategoryProduce = '';
    var nameWidth = '300';
    if (declrowDeliveryMethodHid == 27 || declrowDeliveryMethodHid == 28) {
    	addCategory = '<input class="small_letters decl_category" maxlength="60" value="" name="decl[' + new_row_id +'][category]" id="decl_' + new_row_id +'_category" style="width:100px;">';
        addCategoryProduce = '&nbsp;G<input class="small_letters" size="5" type="text" name="decl[' + new_row_id +'][produce_id]" value="" />';
    	nameWidth = '150';
    }
    
    var insertion = "";
    if (located == 'USA') {
        insertion = '<td><input class="small_letters" value="" name="decl[' + new_row_id +'][lb]" id="decl_' + new_row_id +'_lb" style="width:100px;"></td><td><input class="small_letters" value="" id="decl_' + new_row_id +'_oz" name="decl[' + new_row_id +'][oz]" style="width:100px;"></td>';
    } else {
        insertion = '<td><input class="small_letters" value="" id="decl_' + new_row_id +'_gramm" name="decl[' + new_row_id +'][gramm]" style="width:100px;"></td>';
    }    
    
    new Insertion.After('trdecltable'+row_id, '<tr id="trdecltable' + new_row_id +'"><td width="1" class="bottom_pad">'+addCategoryProduce+'<a href="#" onclick="addrowdecltable(' + new_row_id +',\''+located+'\'); return false;"><img src="/pictures/ico_add.gif" alt="Добавить"></a></td><td><input class="small_letters decl_name" maxlength="60" value="" name="decl[' + new_row_id +'][name]" id="decl_' + new_row_id +'_name" style="width:'+nameWidth+'px;">'+addCategory+'</td><td><input class="small_letters" value="" id="decl_' + new_row_id +'_qty" name="decl[' + new_row_id +'][qty]" style="width:100px;"></td>'+insertion+'<td><input class="small_letters" value="" id="decl_' + new_row_id +'_value" name="decl[' + new_row_id +'][value]" style="width:100px;"></td><td width="1" class="top_pad"><a href="#" onclick="delrowdecltable(' + new_row_id +'); return false;"><img src="/pictures/ico_remove.gif" alt="Удалить"></a></td></tr>');         
    
    $('declrowcntdeltableHid').value = rowcntdeltable;
    $('declrowcount').value = rowdeclrowcountNew;

}

function delrowdecltable(row_id) {
    rowdeclrowcount = $('declrowcount').value;
    rowdeclrowcountNew = Number(rowdeclrowcount) - 1;
    $('declrowcount').value = rowdeclrowcountNew;
    $('trdecltable'+row_id).remove();
}

function updatePackageAndPhoneInsurance() {
	var insurancePack = parseFloat($('insurance_sum').value);
    if (isNaN(insurancePack)) {
    	insurancePack = 0;
    }        
    var insurancePhone = parseFloat($('phone_insurance_sum').value);
    if (isNaN(insurancePhone)) {
    	insurancePhone = 0;
    }
    $('insurance_sum_phone_package').innerHTML = insurancePack + insurancePhone;
}


function mycheckall() {
    
    var myRe = new RegExp("ves\\[([-0-9]+)\\]", "i");
    var i = 0;
    var inputs = document.getElementsByTagName("input");
    var s = '';
    var sum = Number(0);
    var error = Number(0);
    var deliveryMethodId = jQuery('#delselect').val();
    
    for (i = 0; i < inputs.length; i++){
        s = inputs[i].getAttribute('name');
        var elname = s;
        if(myRe.test(s)){
            tempsum = inputs[i].value;
            tempsum = tempsum.replace(',', '.');
            tempsum = parseFloat(tempsum);
            
            elname = elname.replace('[', '-');
            elname = elname.replace(']', '');

            if(tempsum == '' || isNaN(tempsum)){
                document.getElementById(elname+'-error').style.display = 'block'; 
                document.getElementById(elname).value = '0.00'; 
                error = 1;
            } else {
                sum = tempsum + sum;
            } 
        } 
    }   
         
    if ($('declebtd').checked) {
    
        var myRe = new RegExp("^price\\[([-0-9]+)\\]", "i");
        var i = 0;
        var inputs = document.getElementsByTagName("input");
        var s = '';
        var sum = Number(0);
        
        
        for (i = 0; i < inputs.length; i++){
            s = inputs[i].getAttribute('name');
            var elname = s;
            if(myRe.test(s)){
                tempsum = inputs[i].value;
                tempsum = tempsum.replace(',', '.');
                tempsum = parseFloat(tempsum);
                
                elname = elname.replace('[', '-');
                elname = elname.replace(']', '');

                if(tempsum == '' || isNaN(tempsum)){
                    document.getElementById(elname+'-error').style.display = 'block'; 
                    document.getElementById(elname).value = '0.00'; 
                    error = 1;
                } else {
                    sum = tempsum + sum;
                } 
            }    
        } 
    
    }
       
    
    if(document.getElementById('delselect').value) {
        //kod
        if (document.getElementById('delselect').value == '0') {
            document.getElementById('delselect-error-text').innerHTML = 'Вы не выбрали способ доставки.';
            document.getElementById('delselect-error').style.display = 'block';             
            error = 1;
        }
    } else {
        document.getElementById('delselect-error').style.display = 'block'; 
        error = 1;
    }
    
    returnD = checkDecl();
    if (deliveryMethodId == 27 || deliveryMethodId == 28) {
    	returnD = true;
    }
    
    if(!returnD) {
        document.getElementById('checkDecl-error').style.display = 'block'; 
        error = 1;
    } else {
        document.getElementById('checkDecl-error').style.display = 'none'; 
    }
    
    if ($('declebtd').checked) {
        
    } else {
        if(document.getElementById('stamps_custom_delc').value) {
        } else {
            document.getElementById('error-decl-stamps-custom').style.display = 'block'; 
            error = 1;
            document.getElementById('checkDecl-error').style.display = 'block'; 
        }
    }
        
    if ($('insurance').checked == true) {
        var maxIns = getMaxInsuranceForPackage();
        $('insurance-limit').innerHTML = maxIns;
        
        var insurancePack = parseFloat($('insurance_sum').value);
        if (isNaN(insurancePack)) {
        	insurancePack = 0;
        }        
        var insurancePhone = parseFloat($('phone_insurance_sum').value);
        if (isNaN(insurancePhone)) {
        	insurancePhone = 0;
        }
        
        if ((insurancePack + insurancePhone) > maxIns) {
            $('insurance-error').style.display = 'block'; 
            error = 1;
        } else {
            $('insurance-error').style.display = 'none';
        }
    } else {
        $('insurance-error').style.display = 'none';
    }
    
    
    // Проверка инвойсовой стоимости для UK и DE
    if (located_in == 'DE' || located_in == 'UK') {
        
        if (!$('declebtd').checked) {
            var declTotalPrice = parseFloat($('delctotalprice').innerHTML);            
        } else {
            var declTotalPrice = parseFloat($('total_price').innerHTML);
        }
        
        var customsError    = false;
        var minDelcPrice    = parseFloat($('allProdPriceForDE').value);
        var mfCnt           = parseFloat($('allMfCountForDE').value);
                
        if (mfCnt == 0) {            
            if (declTotalPrice != minDelcPrice) {
                error = 1;
                customsError = true;
            }
        } else {
            if (declTotalPrice < minDelcPrice) {
                error = 1;
                customsError = true;
            }
        }
               
        if (customsError) {
            $('customs-error').style.display = 'block';
        } else {
            $('customs-error').style.display = 'none';
        }
    }
    
    if (located_in == 'USA') {
        try {
            if ($('addressId_'+$('address_type_selected').value).disabled == 'disabled' ) {
                $('address_type_selected_error').style.display = 'block';
            } else {
                $('address_type_selected_error').style.display = 'none';
            }
        } catch (e) {}
    }
        
    if (deliveryMethodId == 27 || deliveryMethodId == 28) {
    	
    	if (jQuery('#allMfCountForDE').val() > 0) {
	    	if (jQuery('#mfInvoiceLoaded').val() != '1') {
	    		jQuery('#invoice-load-error').show(); 
	            error = 1;
	        } else {
	        	jQuery('#invoice-load-error').hide();
	        }
    	}
    	
    	if (!jQuery('#method27AcceptCheckbox').attr('checked')) {
    		jQuery('#method27Accept_terms_error').show();
    		error = 1;
    	} else {
    		jQuery('#method27Accept_terms_error').hide();
    	}
    	
    	// категория
    	if (jQuery('#declsam').attr('checked')) {
	    	var categorySelected = true;
	    	jQuery.each(jQuery('select[data-type=category]'), function(index, value) {
	    		if (jQuery(value).val() == '') {
	    			categorySelected = false;
	    		}
	    	});    	
	    	if (categorySelected) {
	    		jQuery('#declcategory-error').hide();
	    	} else {
	    		// error
	    		jQuery('#declcategory-error').show();    		
	    		error = 1;
	    	}
    	} else {
    		jQuery('#declcategory-error').hide();
    	}
    	
    } else {
    	jQuery('#invoice-load-error').hide();
    }
    
    if(error) {
        $('total-error').style.display = 'block'; 
        return false;
    } else {
        $('total-error').style.display = 'none'; 
        return true;
    }
    
    
}

//Ajax Moderation form
function moderationClickOther(item_id) {
    $('wrongs['+item_id+'][name]').checked = false;
    $('wrongs['+item_id+'][url]').checked = false;
    $('wrongs['+item_id+'][prod_id]').checked = false;
    $('wrongs['+item_id+'][amount]').checked = false;
    $('wrongs['+item_id+'][color]').checked = false;
    $('wrongs['+item_id+'][size]').checked = false;
    $('wrongs['+item_id+'][price]').checked = false;
    $('wrongs['+item_id+'][delivery]').checked = false;
    $('wrongs['+item_id+'][cant_deliver_to_usa]').checked = false;
    $('wrongs['+item_id+'][not_available]').checked = false;
    $('produce['+item_id+'][can_bay]').value = 'y';
    
     if( $('wrongs['+item_id+'][other]').checked == true) {
        $('ico_cancel['+item_id+']').style.display = 'none';    
        $('ico_cancel_notenable['+item_id+']').style.display = 'none';    
        $('ico_cancel_other['+item_id+']').style.display = 'block';
        $('buttonactive').style.display = 'none';    
        $('buttonpassive').style.display = 'block';            
        lockModerateBoughtButton();
     } else {
        $('ico_cancel['+item_id+']').style.display = 'none';    
        $('ico_cancel_notenable['+item_id+']').style.display = 'block';    
        $('ico_cancel_other['+item_id+']').style.display = 'none';    
        $('buttonactive').style.display = 'block';    
        $('buttonpassive').style.display = 'none'; 
        unlockModerateBoughtButton();         
     }
    
}

function moderationCheckBoxClick(item_id) {
    $('wrongs['+item_id+'][other]').checked = false;    
    $('ico_cancel_other['+item_id+']').style.display = 'none';
    
    if( 
        $('wrongs['+item_id+'][name]').checked == true || 
        $('wrongs['+item_id+'][url]').checked == true || 
        $('wrongs['+item_id+'][prod_id]').checked == true || 
        $('wrongs['+item_id+'][amount]').checked == true || 
        $('wrongs['+item_id+'][color]').checked == true || 
        $('wrongs['+item_id+'][size]').checked == true || 
        $('wrongs['+item_id+'][price]').checked == true || 
        $('wrongs['+item_id+'][delivery]').checked == true ||       
        $('wrongs['+item_id+'][cant_deliver_to_usa]').checked == true || 
        $('wrongs['+item_id+'][other]').checked == true || 
        $('wrongs['+item_id+'][not_available]').checked == true) 
        
    {
        $('ico_cancel['+item_id+']').style.display = 'block';    
        $('ico_cancel_notenable['+item_id+']').style.display = 'none';    
        $('buttonactive').style.display = 'none';    
        $('buttonpassive').style.display = 'block';  
        
        lockModerateBoughtButton();
        
    } else {
        $('ico_cancel['+item_id+']').style.display = 'none';    
        $('ico_cancel_notenable['+item_id+']').style.display = 'block';    
        $('buttonactive').style.display = 'block';    
        $('buttonpassive').style.display = 'none';  
        
        unlockModerateBoughtButton();
    }
    
    if( $('wrongs['+item_id+'][url]').checked == true || 
        $('wrongs['+item_id+'][cant_deliver_to_usa]').checked == true || 
        $('wrongs['+item_id+'][not_available]').checked == true) 
    {
        $('produce['+item_id+'][can_bay]').value = 'n';    
    } else {
        $('produce['+item_id+'][can_bay]').value = 'y';
    }
    
}

function lockModerateBoughtButton() 
{
    try {
        var button2 = $('button2active');
        if (button2) {
            $('button2active').style.display = 'none';
            $('button2passive').style.display = 'block';  
        }
        var button3 = $('button3active');
        if (button3) {
            $('button3active').style.display = 'none';
            $('button3passive').style.display = 'block';  
        }
    } catch (e) {}
}

function unlockModerateBoughtButton() 
{
    try {
        var button2 = $('button2active');
        if (button2) {
            $('button2active').style.display = 'block';    
            $('button2passive').style.display = 'none';  
        }
        var button3 = $('button3active');
        if (button3) {
            $('button3active').style.display = 'block';    
            $('button3passive').style.display = 'none';  
        }
    } catch (e) {}
}

function moderationCancelitem(item_id) {
    $(ajaxeditform).action='/produce/moderationCancelItem/'+item_id+'/';
}

function setCancelManyActive() {
    $('moderateCancelManyInactive').style.display = 'none';
    $('moderateCancelManyActive').style.display = 'block';
}

function setCancelManyInActive() {
    $('moderateCancelManyInactive').style.display = 'block';
    $('moderateCancelManyActive').style.display = 'none';
}

function moderationCancelManyItems(obj) {
    var els = $('modarateWrap').getElementsByTagName('input');
    var status = '';
    if (obj.checked) {    
        setCancelManyActive();
        status = 'checked';
    } else {
        setCancelManyInActive();
    }
    
    for(var i=0; i< els.length; i++) {        
        name = els[i].getAttribute('name') || '';
        if (name.indexOf('[other]')!=-1) {
            els[i].checked = status;  
        }
    }
    
    
}
function moderationCancelManyItemsForm(refUrl) {
    if (!refUrl) {
        var refUrl = '/produce/';
    }
    var cancelIds = '';
    var els = $('modarateWrap').getElementsByTagName('input');
    for(var i=0; i< els.length; i++) {        
        name = els[i].getAttribute('name') || '';
        if (els[i].checked && name.indexOf('[other]')!=-1) {
            el = name.replace('wrongs[', '').replace('][other]', '');
            cancelIds = cancelIds + el + ',';
        }
    }
    if (cancelIds == '') {
        alert('Не выбраны товары для отмены');
    } else {        
        showajaxform('produce','ajax_cancel_many', 0, 'ids=' + cancelIds + '&ref_url=' + refUrl); 
    }
    return false;
}

function showOrHideSearch(obj) {
	if ($('search_panel').style.display == 'block') {
		$('search_panel').style.display = 'none';
		$('search_panel_buttons').style.display = 'none'; 
		obj.innerHTML = 'Развернуть'
	} else {
		$('search_panel').style.display = 'block';
		$('search_panel_buttons').style.display = 'block';
		obj.innerHTML = 'Свернуть'
	} 
	return false;
}

function showBlocks(id) {
	for (var i = 0; i < id.length; i++) {
		$(id[i]).style.display = ''; 
	} 
}

function hideBlocks(id) { 
	for (var i = 0; i < id.length; i++) { 
		$(id[i]).style.display = 'none'; 
	} 
}	

var price_error = false;
//Проверка ввода цены в каталоге
function checkPriceEbayCatalog () {
    try {
        var ebay_MinimumToBid = parseFloat($('MinimumToBid').innerHTML);
        var ebay_ConvertedBuyItNowPrice = parseFloat($('ConvertedBuyItNowPrice').innerHTML);
        
        if (!$('price')) return;
        name = $('price').value;                
        var name_Num = name;
        name_Num = name_Num.replace(',', '.');        
        name_Num = parseFloat(name_Num);       
        
        if (name.length == 0) {
            price_error = true;
            $('price_empty').style.display = 'block';
            $('price_wrong_format').style.display = 'none';
            $('price_wrong_min').style.display = 'none';
            $('send').disabled=true;
        }
        else if (!name.match(/^[0-9.,]+$/)) {
            $('price_wrong_format').style.display = 'block';
            $('price_empty').style.display = 'none';
            $('price_wrong_min').style.display = 'none';
            $('send').disabled=true;
            price_error = true;
        }
        else if (name_Num<ebay_MinimumToBid) {
            $('price_wrong_min').style.display = 'block';
            $('price_empty').style.display = 'none';
            $('price_wrong_format').style.display = 'none';
            $('send').disabled=true;
            price_error = true;
        }
        else if (name_Num>=ebay_ConvertedBuyItNowPrice && ebay_ConvertedBuyItNowPrice>=0) {
            $('price_wrong_min').style.display = 'block';
            $('price_empty').style.display = 'none';
            $('price_wrong_format').style.display = 'none';
            $('send').disabled=true;
            price_error = true;
        }
        else {
            //if (!window.check_empty) {
                $('price_wrong_min').style.display = 'none';
                $('price_empty').style.display = 'none';
                $('price_wrong_format').style.display = 'none';
            //}
            $('send').disabled=false;
            price_error = false;
        }
        
    
    } catch (e) {
    
    }
}

function checkAllCatalog () {
    checkPriceEbayCatalog();
    return price_error ? false:true;
}




//****************************************
//Модерация магазина в админке

function addrowdeltable(row_id) {
    rowcntdeltable = $('rowcntdeltableHid').value;

    if(!rowcntdeltable) {
        if ($('count_shop_deliveries_table').value > 0){
            var rowcntdeltable=$('count_shop_deliveries_table').value;
        }else{
            var rowcntdeltable=1;
        }
    }

    rowcntdeltable = Number(rowcntdeltable) + 1;
    var new_row_id = rowcntdeltable;

    new Insertion.After('trdeltable'+row_id, '<tr id="trdeltable' + new_row_id +'"><td width="1"  class="bottom_pad"><a href="#" onclick="addrowdeltable('+ new_row_id +'); return false;"><img src="/pictures/ico_add.gif" alt="Добавить"></a></td><td style="padding-right: 10px;"><input type="text" name="deltablevalue[' + new_row_id +']"></td><td style="padding-top: 3px; white-space: nowrap;"><input style="width:3px" type="radio" name="type[' + new_row_id +']" value="fixed" id="fixed' + new_row_id +'" checked="checked"><label for="fixed' + new_row_id +'">$</label><input style="width:3px" type="radio" name="type[' + new_row_id +']" value="procent" id="procent' + new_row_id +'"><label for="procent' + new_row_id +'">%</label></td><td width="1" style="padding-top: 3px;">,&nbsp;при&nbsp;заказе&nbsp;на&nbsp;сумму,&nbsp;от</td><td style="padding-right: 10px;"><input type="text" name="deltableprice[' + new_row_id +']"></td><td width="1" style="padding-top: 3px;">$</td><td width="1" class="top_pad"><a href="#" onclick="delrowdeltable('+ new_row_id +'); return false;"><img src="/pictures/ico_remove.gif" alt="Удалить"></a></td></tr>');                                
    
    $('rowcntdeltableHid').value = rowcntdeltable;
    

}

function delrowdeltable(row_id) {
    $('trdeltable'+row_id+'').remove();
}

function popup(url,w,h,addon){
	if (!addon) {
        url += '&popup=true';        
    }
	var x = parseInt(screen.width / 2.0) - (w / 2.0);
	var y = parseInt(screen.height / 2.0) - (h / 2.0);
	var win = "top="+y+"px,left="+x+"px,width="+w+",height="+h+",scrollbars=1,resizable=1,toolbar=0,location=0,status=0,menubar=0,directories=0";
	window.open(url,'w'+Math.round(Math.random()*100000000000),win);
}

document.onkeydown = register;

function register(e) {
    if (!e) e = window.event;
    var k = e.keyCode;
    d=false;
    if (e.ctrlKey) {
        if (k == 37) {
            try {
           	   d = document.getElementById('previous_page');
            } catch(e){}
        }
        if (k == 39) {
			try {
          	   d = document.getElementById('next_page');
            } catch(e){}
        }
        if (d) location.href = d.href;
    }
}

function checkEnter(e) {
	var key; 
	if (window.event) {
		key = window.event.keyCode; //IE
	} else { 
		key = e.which; //firefox
	} 	
	if (key == 13) {
		return true;
	} else {
		return false;
	}	
}

function activateElement(elem) {
	$(elem).removeAttribute('readonly');
}

function deactivateElement(elem) {
	$(elem).setAttribute('readonly', 'readonly');
}


function slideElement(elId) {
    $(elId).style.display == 'none' ? $(elId).style.display = 'block' : $(elId).style.display = 'none'; 
    return false; 
}

function slideVisElement(elId) {
    $(elId).style.visibility == 'hidden' ? $(elId).style.visibility = 'visible' : $(elId).style.visibility = 'hidden'; 
    return false; 
}

function addBlogTag(elId) {
    $('divedittags').style.display = 'none';
    $(elId).style.display == 'none' ? $(elId).style.display = 'block' : $(elId).style.display = 'none'; 
    return false; 
}

function editBlogTag(elId) {
    $('divaddtags').style.display = 'none';
    $('divedittags').style.display = 'block';
    var val = $(elId).innerHTML;
    $('edittagvalue').value = val;
    var tagid = $(elId).getAttribute('title');
    $('idtagvalue').value = tagid;
    $('idtagvaluedel').value = tagid;
}

function getPartnerCode(form, target, partnerId) {
    elem = $(form).getInputs();
    res = '?';
    for (i = 0; i < elem.length; i++) {
    
    
            
        if (elem[i].name == 'HTML_MetaForm') continue;
        if (elem[i].name == 'user_defined_delivery') continue;
        if (elem[i].name == 'back') continue;
        if (elem[i].name == 'send') continue;
        if (elem[i].name == 'nobox') continue;
        if (elem[i].name == 'check_produce') continue;
            
        nm = elem[i].name;                                     
        if (nm == 'name') {
            nm = 'gname';
        }
                                             
        res = res + '&' + nm + '=' + elem[i].value;
    }
    
    //res = res + '&puebtdid=' + partnerId;
    res = 'http://ebaytoday.ru/buy/eshop/' + res;
    
    url = '/tinyurl/gettinyurl/?src_url=' + encodeURIComponent(res);
    new Ajax.Request(url,
        {
            method:'get',
            onSuccess: function(transport) {
               var response = transport.responseText || "no response text";               
               var data = response.evalJSON();                              
               $(target).value = data.tiny_url;
            },
            onFailure: function(){ alert('Error...');
        }
    });
        
}

function getUserInfoById(id, target, doptable, located) {    
    if (id.length == 0) {    
        return false;
    }
    if (!located) {
        located = 'USA';
    }
    url = '/monitor/finduserbyid/?id=' + id + '&located=' + located;
    var id = id;
    new Ajax.Request(url,
        {
            method:'get',            
            onSuccess: function(transport) {
               var response = transport.responseText || "no response text";                              
               //$(target).href="/client/fullinfo/"+id+"/";
               $(target).innerHTML = response;
               $(doptable).style.display = 'block';
            },
            onFailure: function(){ alert('Error...');
        }
    }); 
}

function calcMinMaxWeightInOz(maxWeight, itemId) {
    var maxWeight = parseFloat(maxWeight);
    lb = parseFloat($('weight_lb_'+itemId).value);    
    oz = parseFloat($('weight_oz_'+itemId).value);   
    total = lb * 16 + oz;
    
    if (total>maxWeight) {
        alert('Maximum weight exeeded for this method'); 
//        newTotal = maxWeight * 16;
        $('weight_lb_'+itemId).value = Math.floor(maxWeight / 16);
        $('weight_oz_'+itemId).value = maxWeight - Math.floor(maxWeight / 16) * 16; 
    }
}

function calcMinMaxWeightInGramm(maxWeight, itemId) {
    gramm = parseFloat($('weight_gramm_'+itemId).value);
    if (gramm > maxWeight) {
        alert('Maximum weight exeeded for this method'); 
        $('weight_gramm_'+itemId).value = maxWeight;        
    }
}

function setActiveCitiesList(countryId, element, withSelect, forPayAgents, cityOnly, currentCity) {
    var url = '/index/getCityListByCountryId/?country_id='+countryId;
    if (forPayAgents) {
        url = url + '&for_pay_agent=1';
    }
    if (cityOnly) {
        url = url + '&city_only=1';
    }
    var element = element;
    var withSelect = withSelect;
    
    sel = $(element);
    sel.innerHTML = '';
    opt = document.createElement("option");
    opt_txt = document.createTextNode("Загрузка...");
    opt.appendChild(opt_txt);
    opt.setAttribute("value", 0);
    sel.appendChild(opt);
    
    new Ajax.Request(url,
        {
            method:'get',
            onSuccess: function(transport) {
              var res = transport.responseText.evalJSON(true);
              sel = $(element);                                          
              sel.innerHTML = '';
              if (withSelect && res.length > 0) {
                opt = document.createElement("option");
                opt_txt = document.createTextNode('- Выберите город -');
                opt.appendChild(opt_txt);
                opt.setAttribute("value", 0);
                sel.appendChild(opt);                                                            
              }
              
              if (res.length == 0) {
                opt = document.createElement("option");
                opt_txt = document.createTextNode('Нет доступных городов');
                opt.appendChild(opt_txt);
                opt.setAttribute("value", 0);
                sel.appendChild(opt);                                                            
              }
                 
              res.each(function(v) {
                  
                    opt = document.createElement("option");
                    opt_txt = document.createTextNode(v.name);
                    opt.appendChild(opt_txt);
                    opt.setAttribute("value", v.id);
                    if(currentCity == v.id) {
                        opt.setAttribute("selected", "selected");
                    }
                    sel.appendChild(opt);                                                            
                  
              });                            
            },
            onFailure: function(){}
    });
}

function trimLeft(string, charlist) {
    return string.replace( new RegExp('^['+charlist+']+'), '' );
}

function trimRight(string, charlist) {                         
    return string.replace( new RegExp('['+charlist+']+$'), '' );
}

function trim(string, charlist) {                 
    return trimRight(trimLeft(string, charlist), charlist);
}
