var G_WEB_HTTP_ADDR = "http://www.icost.us/iCost/ASP/sp";
var G_WEB_HTTPS_ADDR = "https://www.icost.us/iCost/ASP/sp";
//var G_WEB_HTTP_ADDR = "http://localhost/iCost/ASP/sp";
//var G_WEB_HTTPS_ADDR = "https://localhost/iCost/ASP/sp";
var G_PATH_ABS_APP = "/iCost/ASP";

//if( "<%=LANGUAGE_CODE%>" == "SP" ){
	var TAB_ENTRADAS			= "Entradas";
	var TAB_SALIDAS				= "Salidas";
	var TAB_VENTAS				= "Ventas";
	var TAB_AJUSTES				= "Ajustes";
	var TAB_TRASPASOS			= "Traspasos";
	var TAB_TOMAINV				= "Toma_Inventario";
	var TAB_REQUISICIONES	= "Requisiciones";
	var TAB_ORDENES				= "Ordenes";
	var TAB_CLIENTES			= "Clientes";
	var TAB_ALMACENES			= "Almacenes";
	var TAB_PROVEEDORES		= "Proveedores";
	var TAB_DEPARTAMENTOS	= "Areas";
	var TAB_GRUPOS				= "Grupos";
	var TAB_ARTICULOS			= "Artículos";
	var TAB_RECETAS				= "Formulas";
	var TAB_INGREDIENTES	= "Ingredientes";
	var TAB_PUNTOSDEVENTA	= "Puntos de Venta";
	var TAB_USUARIOS			= "Usuarios";
	var TAB_UNIDADES			= "Unidades";
	var TAB_TIPOUNIDAD		= "TipoUnidad";
	var TAB_TIPOUSUARIO		= "Tipo Usuario";
	var TAB_TURNOS				= "Turnos";
	var TAB_CUENTAS				= "Cuentas";
	var TAB_CUSTOMERS			= "Clientes";
	var TAB_CATALOGOS			= "Catalogos";
	var TAB_ARTPROVEEDOR	= "ArticulosProveedor";
	var TAB_CALCULO				= "Producción";
	var TAB_PRONOSTICO		= "Presupuesto";
	var TAB_CONSUMOS			= "Consumos";
	var TAB_PRUEBA_RENDIMIENTO = "Pruebas de Rendimiento";

/*}
else{
	var TAB_ENTRADAS			= "Stock In";
	var TAB_SALIDAS				= "Stock Out";
	var TAB_VENTAS				= "Sales";
	var TAB_AJUSTES				= "Adjustments";
	var TAB_TRASPASOS			= "transfers";
	var TAB_TOMAINV				= "Inventory_Reading";
	var TAB_REQUISICIONES	= "Requisitions";
	var TAB_ORDENES				= "Purchase_Orders";
	var TAB_CLIENTES			= "Clients";
	var TAB_ALMACENES			= "Warehouses";
	var TAB_PROVEEDORES		= "Vendors";
	var TAB_DEPARTAMENTOS	= "Departments";
	var TAB_GRUPOS				= "Groups";
	var TAB_ARTICULOS			= "Items";
	var TAB_RECETAS				= "Formulas";
	var TAB_INGREDIENTES	= "Ingredients";
	var TAB_PUNTOSDEVENTA	= "Points of Sale";
	var TAB_USUARIOS			= "Users";
	var TAB_UNIDADES			= "Units";
	var TAB_TIPOUNIDAD		= "UnitTypes";
	var TAB_TIPOUSUARIO		= "User Types";
	var TAB_TURNOS				= "Shifts";
	var TAB_CUENTAS				= "Accounts";
	var TAB_CUSTOMERS			= "Customers";
	var TAB_CATALOGOS			= "Catalogs";
	var TAB_ARTPROVEEDOR	= "ArticulosProveedor";
	var TAB_CALCULO				= "Production";
	var TAB_PRONOSTICO		= "Budget";
	var TAB_CONSUMOS			= "Consumptions";
	var TAB_PRUEBA_RENDIMIENTO = "Yield Test";
	
}
*/

var LARTICULOS				= "articulos";

var RPT_INV_CLIENTS				= 1;
var RPT_INV_WAREHOUSE			= 2;
var RPT_INV_VENDORS				= 3;
var RPT_INV_DEPARTMENTS		= 4;
var RPT_INV_GROUPS				= 5;
var RPT_INV_ITEMS					= 6;
var RPT_INV_PURCHASES			= 7;
var RPT_INV_INGREDIENTS		= 8;
var RPT_INV_TRANSFERS			= 9;
var RPT_INV_RECIPES				= 10;
var RPT_INV_COST					= 11;
var RPT_INV_SALES					= 12;
var RPT_INV_SALIDAS				= 13;
var RPT_INV_ADJUSTMENTS		= 14;
var RPT_INV_TOPSALES			= 15;
var RPT_INV_VENTAS_POS		= 16;
var RPT_INV_INVENTARIOS		= 17;
var RPT_INV_KARDEX				= 18;
var RPT_INV_TOMAINV				= 19;
var RPT_INV_REORDER				= 20;

var TAB_PARAMETROS		= "Parametros";
var TAB_PROCESOS			= "Procesos";
var TAB_MANTENIMIENTO	= "Mantenimiento";

//Evita el envío por oprimir enter
function onKeyPress () 
{
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else 
		if (e) 
			keycode = e.which;
		else 
			return true;
	if (keycode == 13) 
	{
		alert("Por favor haga click el botón deseado.");
		return false
	}
	return true
}

function right(e) 
{
return true;
if (navigator.appName == 'Netscape' && 
(e.which == 3 || e.which == 2))
	return false;
else if (navigator.appName == 'Microsoft Internet Explorer' && 
(event.button == 2 || event.button == 3)) 
{
	alert("right click not allowed.");
	return false;
}
return true;
}

//document.onmousedown=right;
//document.onmouseup=right;
//if (document.layers) window.captureEvents(Event.MOUSEDOWN);
//if (document.layers) window.captureEvents(Event.MOUSEUP);
//window.onmousedown=right;
//window.onmouseup=right;
//document.onkeypress = onKeyPress;

// CHECK REQUIRED FIELDS - ENSURE THAT A VALUE HAS BEEN ENTERED FOR
//  EVERY FIELD LISTED IN THE "requiredFields" ARRAY
//	Parameters:	currentForm - the form where the fields are in
//							requiredFields - Array of required fields name
//							fieldNames - Corresponding required field names
//							msgString - String message to display to user, when violation occurs
//	Returns:		False if violation occurs, True if no violation
function CheckRequiredFields(currentForm, requiredFields, fieldNames) {

	var bFieldCheck   = true;
	var sFieldsNeeded = "";

	for(var iFieldNum=0; iFieldNum < requiredFields.length; iFieldNum++) {
		if ((currentForm.elements[requiredFields[iFieldNum]].value == "") ||
			(currentForm.elements[requiredFields[iFieldNum]].value == " ")) {
			
			sFieldsNeeded += "\t" + fieldNames[iFieldNum] + "\n";
			bFieldCheck = false;
		}
	}

  // All required fields is entered
  if (bFieldCheck == true){
		return "";
	}
	// Some required fields is missing
	else{
		return sFieldsNeeded;
	}
}

function IsEmail(checkString)
{
    var newstr = "";
    var at = false;
    var dot = false;

    // IF EMAIL ADDRESS HAS A '@' CHARACTER
    if (checkString.indexOf("@") != -1) {
      at = true;

    // IF EMAIL ADDRESS HAS A '.' CHARACTER
    } else if (checkString.indexOf(".") != -1) {
      dot = true;
    }
    // PARSE REMAINDER OF STRING
    for (var i = 0; i < checkString.length; i++) {
        ch = checkString.substring(i, i + 1)
        if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z")
                || (ch == "@") || (ch == ".") || (ch == "_")
                || (ch == "-") || (ch >= "0" && ch <= "9")) {
                newstr += ch;
                if (ch == "@") {
                    at=true;
                }
                if (ch == ".") {
                    dot=true;
                }
        }
    }
    if ((at == true) && (dot == true)) {
        return newstr;
    }
    else {
      // DISPLAY ERROR MESSAGE
      alert(msgString);
//      alert ("Sorry, the email address you\nentered is not in the correct\nformat.");
      return checkString;
    }
}


function validDate(expression, format) {
	var iPos1;
	var iPos2;
	var iMonth;
	var iDay;
	var iYear;
	var sSeparator;
	
	expression = trim_string(expression);
	
	if ((expression.length == 0) || (expression.length < 5) || (expression.length > 10))
		return 0;
	if ((iPos1 = expression.indexOf("/")) == -1)
		if ((iPos1 = expression.indexOf("-")) == -1)
			if ((iPos1 = expression.indexOf(".")) == -1)
				return 0;
			else
				sSeparator = "."
		else
			sSeparator = "-"
	else
		sSeparator = "/"

	if ((iPos2 = expression.indexOf(sSeparator, iPos1+1)) == -1)
		return 0;
	
	if (format == "mm/dd/yyyy") {
		iMonth = expression.substring(0,iPos1);
		iDay = expression.substring(iPos1 + 1, iPos2);
	}
	else
		if (format == "dd/mm/yyyy" || format == "dd/mm/aaaa") {
			iDay = expression.substring(0,iPos1);
			iMonth = expression.substring(iPos1 + 1, iPos2);
		}
	
	iYear = parseInt(expression.substring(iPos2 + 1, expression.length));
	if (iYear > 9999)
		return 0;
	if (iYear < 1000)
		return 0;
	
	var dDate = new Date(iYear, iMonth - 1, iDay);
	if ((dDate.getFullYear() != iYear) || (dDate.getMonth() != iMonth-1) || (dDate.getDate() != iDay))
		return 0;

	if (format == "mm/dd/yyyy")
		return iMonth + "/" + iDay + "/" + iYear;
	else
		if (format == "dd/mm/yyyy" || format == "dd/mm/aaaa")
			return iDay + "/" + iMonth + "/" + iYear;
	
}

function trim_string(expression) {
	var ichar, icount;
	var strValue = expression;
	ichar = strValue.length - 1;
	icount = -1;
	while (strValue.charAt(ichar)==' ' && ichar > icount)
	    --ichar;
	if (ichar!=(strValue.length-1))
	    strValue = strValue.slice(0,ichar+1);
	ichar = 0;
	icount = strValue.length - 1;
	while (strValue.charAt(ichar)==' ' && ichar < icount)
	    ++ichar;
	if (ichar!=0)
	    strValue = strValue.slice(ichar,strValue.length);
	return strValue;
}

String.prototype.Trim = Trim;
function Trim(){
 return this.replace(/(\s+$)|(^\s+)/g, "");
} 

 function popURL(url, name, width, height) {
	window.open(url, name, 'left=0;top=0;menubar=no,toolbar=no,scrollbars=yes,status=yes,resizable=yes,width=' + width + ',height=' + height);
}

function formatCurrency(num) 
{
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function printpage(text)
{
	text=document;
	print(text);
}

function fillpsw(psw)
{alert ('Im here');
	var i;

	for (i = psw.length + 1; i < 21; i++) 
		psw = psw + '@';
alert ('Im out');
	return psw;
}
				
function encrypt(x)
{
	var sEncrypt;
	var iTmp;
	var Code = "Abc$&nhKil98NJnhg&!)";
	var i;

	sEncrypt = '';

	for (i=0; i < 20; i++)
	{
		iTmp = x.charCodeAt(i) ^ i
		if ( iTmp < 100 )
			iTmp = '0' + iTmp
		
	  sEncrypt = sEncrypt + iTmp;
	}

	return sEncrypt;    
}
