﻿

function MakePrintPage() {
    var sUrl = new String(window.document.location);
	var ToUrl;

	if (sUrl.indexOf("?") > 0) {
	    ToUrl = sUrl + '&look=print';
	} else {
	    ToUrl = sUrl + '?look=print';
	}
	
//		} else if (sUrl.substr(sUrl.length - 1, 1) == "/") {
//			ToUrl = sUrl + 'index.asp?look=print';

	window.open(ToUrl, 'printwindow', 'width=1000,height=700,left=100,top=100,scrollbars,menubar');
	return false;
}

function ShowHideObject(o) {
    if (o != null) {
        if (o.style.display != 'none') { o.style.display = 'none'; }
        else { o.style.display = ''; }
    }
}

function ShowHideObjectId(oID) {
    var o;
    o = window.document.getElementById(oID);
    if (o != null) {
        if (o.style.display != 'none') { o.style.display = 'none'; }
        else { o.style.display = ''; }
    }
}

function ShowObject(oID) {
    var o;
    o = window.document.getElementById(oID);
    if (o != null) {
        if (o.style.display == 'none') { o.style.display = ''; }
    }
}

function HideObject(oID) {
    var o;
    o = window.document.getElementById(oID);
    if (o != null) {
        if (o.style.display != 'none') { o.style.display = 'none'; }
    }
}

/**
*
*  Javascript trim, ltrim, rtrim
*  http://www.webtoolkit.info/
*
**/

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */

function eMailCheck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
	    return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
	    return false
	 }
	
	 if (str.indexOf(" ")!=-1){
	    return false
	 }

	 return true					
}




function ValidateNumeric(evt, Ctrl) {
    evt = (evt) ? evt : ((window.event) ? window.event : "")

    var ic = evt.keyCode ? evt.keyCode :
                       evt.charCode ? evt.charCode :
                       evt.which ? evt.which : void 0;

    //window.status = 'event.keyCode :: ' + ic;

    // . (dot) e , (virgula)
    if ((ic == 188) /*|| (ic == 190) || (ic == 110)*/) // so deixa 1
    {
        if (Ctrl.value.indexOf(".") >= 0 || Ctrl.value.indexOf(",") >= 0) {
            if (evt.returnValue) {
                evt.returnValue = false;
            }
            if (evt.preventDefault) {
                evt.preventDefault();
                evt.stopPropagation();
            }
            return false;
        }

        // converte para (dot)
        return true;
    }

    // - (minus)
    if ((ic == 189) || (ic == 109)) {
        if (Ctrl.value.indexOf("-") >= 0) {
            if (evt.returnValue) {
                evt.returnValue = false;
            }
            if (evt.preventDefault) {
                evt.preventDefault();
                evt.stopPropagation();
            }
            return false;
        }

        return true;
    }

    if (evt.ctrlKey && (ic == 67 || ic == 45)) // ctrl C ou Ctrl Ins
    {
        return false;
    }

    if ((evt.ctrlKey && ic == 86) || (evt.shiftKey && ic == 45)) // ctrl V ou shift Ins
    {
        return false;
    }

    if (((ic <= 57) || ((ic >= 96) && (ic <= 105))) == false) {
        return false;
    }

    return true;
}



function toFixed2(v) {
    var aux = v.toFixed(2);
    return aux.replace('.', ',');
}



function ClickEnter(key, btn) {
    if (key == 13)
    {
        var evt = (evt) ? evt : ((window.event) ? window.event : "")
        var button = document.getElementById(btn);
        evt.returnValue = false;
        evt.cancel = true;
        button.click();
    }
}

function ClickButton(btn) {
    var evt = (evt) ? evt : ((window.event) ? window.event : "")
    var button = document.getElementById(btn);
    if (button != null) {
        //button.click();

        if (button.dispatchEvent) {

            var e = document.createEvent("MouseEvents");
            e.initEvent("click", false, true);

            button.dispatchEvent(e);
        }

        else {
            button.click();
            evt.cancel = true;
            evt.returnValue = false;
            return false;
        }       
        
        if (evt.cancel) {
            evt.cancel = true;
        }
        if (evt.returnValue) {
            evt.returnValue = false;
        }
        if (evt.preventDefault) {
            evt.preventDefault();
            evt.stopPropagation();
        }
    }
}

function vgInterceptEvent(domElementID, eventName, interceptionFunction, par1, par2, par3) {
    var control = document.getElementById(domElementID);
    var originalEventHandler = control[eventName];
    control[eventName] = eventHandler;

    function eventHandler() {
        if (interceptionFunction(par1, par2, par3)) {
            if (originalEventHandler!=null) originalEventHandler();
        }
    }
}

// FireFox Utils 
// this function strips out all the tedious #text elements that firefox has attached to tables
function cleanTable(tableElement) {
    var numTextElementsRemoved = 0;
    if (tableElement.nodeName != 'TD' && tableElement.nodeName != 'TH') {
        numTextElementsRemoved += cleanElement(tableElement);
        var node = tableElement.firstChild;
        while (node != null) {
            numTextElementsRemoved += cleanTable(node);
            node = node.nextSibling;
        }
    }
    return numTextElementsRemoved;
}

// removes all #text elements directly attached to the node.
function cleanElement(element) {
    if (element == null) return 0;
    var numTextElementsRemoved = 0;
    var node = element.firstChild;
    while (node != null) {
        var tmp = node.nextSibling;
        if (node.nodeName == '#text') {
            element.removeChild(node);
            numTextElementsRemoved++;
        }
        node = tmp;
    }
    return numTextElementsRemoved;
} 

// FireFox Utils 