function cb_parseInt(s) {
	return parseInt(s, 10);
}
function isEmpty(s) {
    return ((s == null) || (s.length == 0))
}
function isDigit (c) {
    return ((c >= "0") && (c <= "9"))
}
function isInteger (s)
{   
    var i;
	var defaultEmptyOK = false;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}
function isSignedInteger (s)
{   
    var defaultEmptyOK = false;
    if (isEmpty(s)) 
    if (isSignedInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isSignedInteger.arguments[1] == true);
    else {
        var startPos = 0;
        var secondArg = defaultEmptyOK;
        if (isSignedInteger.arguments.length > 1)
            secondArg = isSignedInteger.arguments[1];
        // skip leading + or -
        if ( (s.charAt(0) == "-") || (s.charAt(0) == "+") )
           startPos = 1;    
        return (isInteger(s.substring(startPos, s.length), secondArg))
    }
}
function isPositiveInteger (s)
{   
    var defaultEmptyOK = false;	
    var secondArg = defaultEmptyOK;
    if (isPositiveInteger.arguments.length > 1)
        secondArg = isPositiveInteger.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (cb_parseInt (s) > 0) ) );
}

function isPositiveIntegerBiggerorEqualZero (s)
{   
    var defaultEmptyOK = false;	
    var secondArg = defaultEmptyOK;
    if (isPositiveIntegerBiggerorEqualZero.arguments.length > 1)
        secondArg = isPositiveIntegerBiggerorEqualZero.arguments[1];
    return (isSignedInteger(s, secondArg)
         && ( (isEmpty(s) && secondArg)  || (cb_parseInt (s) >= 0) ) );
}

function isSeleccionadoRadio(radioobject) {			
    // individual button
    if (typeof(radioobject.length)=="undefined") {
    	return radioobject.checked;
    }
    // array of buttons
    for (var i = 0; i < radioobject.length; i++) {
    	if (radioobject[i].checked==true)
    		return true;
    }
    return false;
}

function valorSeleccionadoRadio(radioobject) {			
    if (typeof(radioobject.length)=="undefined") {
    	return radioobject.value;
    }
    for (var i = 0; i < radioobject.length; i++) {
    	if (radioobject[i].checked==true)
    		return radioobject[i].value;
    }
    return false;
}

function open_print_window(form) {
	window.open("", "win", "height=600, width=580, status=no, toolbar=no, menubar=no, resizable=no, scrollbars=no");
	form.action="/pt_pme_EC_Print_Frames/";
	form.target = "win";
	form.submit();
}

function openCommerceConditions(form) {
	window.open(form.page.value, "win", "height=600, width=580, status=no, toolbar=no, menubar=no, resizable=no, scrollbars=yes")
}

function cleanCheckBoxes(obj) {
    // individual button
    if (typeof(obj.length)=="undefined") {
    	obj.checked = false;
    }
    // array of buttons
    for (var i = 0; i < obj.length; i++) {
        obj[i].checked = false;
    }           
}

function arrayPush(a,e) {
    a[a.length] = e;   
}

function arrayPop(a) {
    e = a[a.length-1];
    --a.length;
    return e;      
}

function replaceFloatPoint(val){
	newFP = val.replace(',','.');
	return newFP;
}

function isPositiveFloat(num){
	if (!isNaN(num)){
		if (num<0) {
			return false;
		}
	}
	return true;
}

function checkCC(s) {

	  var i, n, c, r, t;
	
	  // First, reverse the string and remove any non-numeric characters.
	
	  r = "";
	  for (i = 0; i < s.length; i++) {
	    c = parseInt(s.charAt(i), 10);
	    if (c >= 0 && c <= 9)
	      r = c + r;
	  }
	
	  // Check for a bad string.
	  if (r.length <= 1)
	    return false;
	
	  // Now run through each single digit to create a new string. Even digits
	  // are multiplied by two, odd digits are left alone.
	
	  t = "";
	  for (i = 0; i < r.length; i++) {
	    c = parseInt(r.charAt(i), 10);
	    if (i % 2 != 0)
	      c *= 2;
	    t = t + c;
	  }
	
	  // Finally, add up all the single digits in this string.
	
	  n = 0;
	  for (i = 0; i < t.length; i++) {
	    c = parseInt(t.charAt(i), 10);
	    n = n + c;
	  }
	
	  // If the resulting sum is an even multiple of ten (but not zero), the
	  // card number is good.

	  if (n != 0 && n % 10 == 0)
	    return true;
	  else
	    return false;
}

function mark(textfield, checkbox) {
    	var check = document.getElementById(checkbox);
        var text = document.getElementById(textfield);
        
        if((text.value != '') || (text.value.length > 0)) {
    	    check.checked=true;
        }
        else {
    	    check.checked=false;
        }
    }

function copyForm(orig, dest) {        
    for (i = 0; i < orig.elements.length; i++) {       
        elemName = orig.elements[i].name;            
        if (typeof(dest[elemName]) != "undefined") {
            if (orig.elements[i].type == "radio") {                
                if (isSeleccionadoRadio(orig[elemName])) {
                    dest[elemName].value = valorSeleccionadoRadio(orig[elemName]);
                } else {
                    dest[elemName].value = '';
                }
            } else if (orig.elements[i].type == "checkbox"){
                var elemToDelArray = new Array();
        	for (var k = 0; k < dest.elements.length; k++) {
        	    destInput = dest.elements[k];        	    
        	    if (destInput.name == elemName) {
        	        arrayPush(elemToDelArray, destInput)
        	    }   
        	}
        	var numToDel = elemToDelArray.length;
                for (var k = 0; k < numToDel; k++) {
        	    dest.removeChild(arrayPop(elemToDelArray));            	       
        	}
       	
                for (var j = 0; j < orig[elemName].length; j++) {
                    if (orig[elemName][j].checked==true) {
                        var objHTML = document.createElement("INPUT"); 
                	objHTML.setAttribute("type", "hidden"); 
                	objHTML.setAttribute("name", elemName); 
                	objHTML.setAttribute("value", orig[elemName][j].value); 
                	dest.appendChild(objHTML);                        
                    }
                }      	        	        	              
            } else {                    
               dest[elemName].value = orig.elements[i].value;
            }
        }
    }    
}

function openCTOCWindow() { 
	window.open('/CTOC.html', 'Campanhas CTOC', 'directories=no,height=294,width=365,hotkeys=no,location=no,menubar=no,personalbar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no');
	return false;
}

		
function validateEmail (s) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(s))
		return true;
	else 
		return false;
}

