
function carrinho_vaza_items() {
    var resp = false;
    var obj = document.getElementById('carrinho_total_itens');
    var last_user = document.getElementById('_ctl0:inc_select_client:HiddenField_last_user');
    var next_user = document.getElementById('_ctl0_inc_select_client_TextBox_erpid_cliente');

    var msg = decodeURI("O Carrinho de compras n%C3%A3o se encontra vazio!\nSe mudar de cliente ir%C3%A1 perder os itens do carrinho!\nDeseja continuar?")

    if (next_user.value != '') {
        if (obj.value > 0) {
            if (last_user.value != next_user.value) {
                resp = confirm(msg);
                if (!resp) {
                    next_user.value = last_user.value
                }
            }
        } else {
            resp = true;
        }
    }
     
    return resp
}

//onblur="extractNumber(this,2,false);" onkeyup="extractNumber(this,2,false);" onkeypress="return blockNonNumbers(this, event, true, false);" 
function extractNumber(obj, decimalPlaces, allowNegative) {
    var temp = obj.value;

    // avoid changing things if already formatted correctly
    var reg0Str = '[0-9]*';
    if (decimalPlaces > 0) {
        reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
    } else if (decimalPlaces < 0) {
        reg0Str += '\\.?[0-9]*';
    }
    reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
    reg0Str = reg0Str + '$';
    var reg0 = new RegExp(reg0Str);
    if (reg0.test(temp)) return true;

    // first replace all non numbers
    var reg1Str = '[^0-9' + (decimalPlaces != 0 ? ',' : '') + (allowNegative ? '-' : '') + ']';
    var reg1 = new RegExp(reg1Str, 'g');
    temp = temp.replace(reg1, '');

    if (allowNegative) {
        // replace extra negative
        var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
        var reg2 = /-/g;
        temp = temp.replace(reg2, '');
        if (hasNegative) temp = '-' + temp;
    }

    if (decimalPlaces != 0) {
        var reg3 = /\,/g;
        var reg3Array = reg3.exec(temp);
        if (reg3Array != null) {
            // keep only first occurrence of .
            //  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
            var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
            reg3Right = reg3Right.replace(reg3, '');
            reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
            temp = temp.substring(0, reg3Array.index) + ',' + reg3Right;
        }
    }

    obj.value = temp;
}
function blockNonNumbers(obj, e, allowDecimal, allowNegative) {
    var key;
    var isCtrl = false;
    var keychar;
    var reg;

    if (window.event) {
        key = e.keyCode;
        isCtrl = window.event.ctrlKey
    }
    else if (e.which) {
        key = e.which;
        isCtrl = e.ctrlKey;
    }

    if (isNaN(key)) return true;

    keychar = String.fromCharCode(key);

    // check for backspace or delete, or if Ctrl was pressed
    if (key == 8 || isCtrl) {
        return true;
    }

    reg = /\d/;
    var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
    var isFirstD = allowDecimal ? keychar == ',' && obj.value.indexOf(',') == -1 : false;

    return isFirstN || isFirstD || reg.test(keychar);
}



// LIMITA O INPUT SÓ A NÚMEROS
// usage: onkeyup="myCheck(this,myInteger);"
var myInteger = "0123456789";
var myDouble = "0123456789.,";
var numbersonly = "0123456789";
var numb = "()- 0123456789";
var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
function myCheck(obj, type) { return res(obj, type); }
function res(t,v){
    var w = "";
    var sep_allready = !(v.indexOf(".", 0) != -1);
    
    for (i=0; i < t.value.length; i++) {
        x = t.value.charAt(i);
        if ((v.indexOf(x, 0) != -1) && (!sep_allready || x != '.' && x != ','))
            w += x;
        if (x == '.' || x == ',') { sep_allready = true; }
        
    }
    t.value = w.replace(".", ",");
}

function click_on(button_id) {
        var button = document.getElementById(button_id);
        if (button.click)
            button.click();     // IE
        else {
            // FireFox
            var e = document.createEvent("MouseEvents");
            e.initEvent("click", true, true);
            button.dispatchEvent(e);
        }
}

function if_enter_click_on( button_id ){
   var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
   if (keyCode == 13)
    {   
        event.keyCode = 0;
        var button = document.getElementById(button_id);
		if (button.click)
            button.click();     // IE
         else
            {
                // FireFox
                var e = document.createEvent("MouseEvents");
                e.initEvent("click", true, true);
                button.dispatchEvent(e);
            }
    }
}

function if_enter_click_on1(value, button_id ){
   var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
   if (keyCode == 13 && value=='') {event.keyCode=0; event.which=0;event.charCode=0; keyCode=0;}
   if (keyCode == 13 && value!='')
   {   
        
        event.keyCode = 0;
        var button = document.getElementById(button_id);
		if (button.click)
            button.click();     // IE
         else
            {
                // FireFox
                var e = document.createEvent("MouseEvents");
                e.initEvent("click", true, true);
                button.dispatchEvent(e);
            }
   }
}

function if_click_check_text_empty(text_id){
   return (document.getElementById(text_id).value != '');
}


var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,13,16,17,18,37,38,39,40,46];

if(keyCode=='13'){
	input.value = input.value.slice(0, len);
	input.form[(getIndex(input)+1) % input.form.length].focus();
	
	event.returnValue = false;
	event.cancel = true;
	event.keyCode=0;
} 

if(input.value.length >= len && !containsElement(filter,keyCode)) {
	input.value = input.value.slice(0, len);
	input.form[(getIndex(input)+1) % input.form.length].focus();
	
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}


//função para gerar uma janela popup
function nova_janela(onde,largura,altura) {
	var a = screen.width ;
	var b = screen.height ;
	if (largura == 0) { largura=640 }
	if (altura == 0) { altura=480 }
	metade_largura=largura/2;
	metade_altura=altura/2;	
	var resultado = (a / 2) - metade_largura ;
	var resultado2 = (b / 2) - metade_altura ;
	window.open (onde, '_blank', 'scrollbars=yes,status=no,width=' + largura +',height=' + altura + ',left=' + resultado + ',top=' + resultado2 + ',menubar=no');

}
// Abre uma janela centrada
function showPopUp(URL, width, height, globalVar) {
	g_var = globalVar;
	PopUp(URL, "Pop", width, height);
}
function GoToPage(page){
    document.forms.item('frmMain').currentPage.value = page;
    document.forms.item('frmMain').submit();
}
		

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}

}
function MM_validateForm() { //v4.0
    var i, p, q, nm, test, num, min, max, errors = '', args = MM_validateForm.arguments;
    for (i = 0; i < (args.length - 2); i += 3) {
        test = args[i + 2]; val = MM_findObj(args[i]);
        if (val) {
            nm = val.name; if ((val = val.value) != "") {
                if (test.indexOf('isEmail') != -1) {
                    p = val.indexOf('@');
                    if (p < 1 || p == (val.length - 1)) errors += '- O campo ' + nm + ' deve conter um endereço de email válido.\n';
                } else if (test != 'R') {
                    num = parseFloat(val);
                    if (isNaN(val)) errors += '- O campo ' + nm + ' deve conter um número.\n';
                    if (test.indexOf('inRange') != -1) {
                        p = test.indexOf(':');
                        min = test.substring(8, p); max = test.substring(p + 1);
                        if (num < min || max < num) errors += '- ' + nm + ' deve conter um número entre ' + min + ' e ' + max + '.\n';
                    } 
                } 
            } else if (test.charAt(0) == 'R') errors += '- O campo ' + nm + ' deve ser preenchido.\n';
        }
    } if (errors) alert('Ocorreram os seguintes erros no processamento do seu formulário:\n' + errors);
    if (errors == '') {
        document.getElementById('h_enviar').value = '##enviar##';
    }
    document.MM_returnValue = (errors == '');
}