// vDate
// USO: vDate(ano, mes, dia)
function vDate(y, m, d) {
    with (D = new Date(y, --m, d)) {
        return (getMonth() == m && getDate() == d) ? true : false;
    }
}

// replace
// USO: replace(src, srt1, str2)
function replace(pSource, pOut, pIn) {
	while(pSource.indexOf(pOut) > -1) {
		var pos = pSource.indexOf(pOut);
		pSource = (pSource.substring(0, pos) + pIn + pSource.substring((pos + out.length), pSource.length));
	}
	return pSource;
}

// delCookie
// USO: delCookie(name)
function delCookie(name) {
	if(getCookie(name)) {
		document.cookie = name + "=" +
		";expires=Fri, 03-Jul-81 02:20:02 GMT+3";
	}
}

// setCookie
// USO: setCookie(name, value)
function setCookie(name, value){
	document.cookie = name + "=" + escape (value);
}

// getCookie
// USO: getCookie('nome')
function getCookie(name){
	var dcookie = document.cookie;
	var cname = name + "=";
	var clen = dcookie.length;
	var cbegin = 0;
	while (cbegin < clen){
		var vbegin = cbegin + cname.length;
		if (dcookie.substring(cbegin, vbegin) == cname){
			var vend = dcookie.indexOf (";", vbegin);
			if (vend == -1) vend = clen;
			return unescape(dcookie.substring(vbegin, vend));
		}
		cbegin = dcookie.indexOf(" ", cbegin) + 1;
		if (cbegin == 0) break;
	}
	return false;
}

// scriptLoader
// USO: scriptLoader(jsPath)
function scriptLoader(url) {
	try {
		var objScript = document.createElement("script");
		objScript.type = "text/javascript";
		objScript.src = url;
		var objHead = document.getElementsByTagName("head");
		objHead[0].appendChild(objScript);
	}
	catch(e) {
		document.write("<script type=\"text\/javascript\" src=\"" + url + "\"><\/script>");	
	}
}

// trim
// USO: trim(obj.value)
function trim(str){
	return str.replace(/^\s*(\w+)*\s*$/,"$1");
}

// email
// USO: campo.value.isEmail
String.prototype.isEmail = function(){
	var er = /^[a-z0-9._-]+@([a-z0-9]+[a-z0-9_-]*)+(\.[a-z0-9]+)+$/;
	return er.test(this);
}

// CNPJ
// USO: campo.value.isCNPJ
String.prototype.isCNPJ = function(){
	var d = this.split("");
	var m1 = [d[0]*5,d[1]*4,d[2]*3,d[3]*2,d[4]*9,d[5]*8,d[6]*7,d[7]*6,d[8]*5,d[9]*4,d[10]*3,d[11]*2];
	var s1 = 0;
	for(i in m1){ s1 += m1[i]; }
	var d1 = (s1%11<2)?0:11-(s1%11);
	var m2 = [d[0]*6,d[1]*5,d[2]*4,d[3]*3,d[4]*2,d[5]*9,d[6]*8,d[7]*7,d[8]*6,d[9]*5,d[10]*4,d[11]*3,d1*2];
	var s2 = 0;
	for(i in m2){ s2 += m2[i]; }
	var d2 = (s2%11<2)?0:11-(s2%11);
	return (d1 == d[12] && d2 == d[13])?true:false;
} 

// CPF 
// USO: campo.value.isCPF
String.prototype.isCPF = function(){
	if(this.split(this.charAt(0)).join("")=="") return false;
	var d = this.split("");
	var m1 = [d[0]*10,d[1]*9,d[2]*8,d[3]*7,d[4]*6,d[5]*5,d[6]*4,d[7]*3,d[8]*2];
	var s1 = 0;
	for(i in m1){ s1 += m1[i]; }
	var d1 = (s1%11<2)?0:11-(s1%11);
	var m2 = [d[0]*11,d[1]*10,d[2]*9,d[3]*8,d[4]*7,d[5]*6,d[6]*5,d[7]*4,d[8]*3,d1*2];
	var s2 = 0;
	for(i in m2){ s2 += m2[i]; }
	var d2 = (s2%11<2)?0:11-(s2%11);
	return (d1 == d[9] && d2 == d[10])?true:false;
}

// numeros
// USO: onkeypress="return setNumeric(event)"
function setNumeric(e) {
	var w3DOM = window.addEventListener;
	var key = '';
	var strCheck = "0123456789";
	var whichCode = (window.Event) ? e.which : e.keyCode;
	if (whichCode == "\t" || whichCode == "\n" || whichCode == "\b" || whichCode == 8) return true; // Tab, Enter e backspace
	if(e['ctrlKey']) return true;
	key = String.fromCharCode(whichCode);  // Pega o codigo da tecla precionada
	if (strCheck.indexOf(key) == -1){ // tecla não valida
		if(w3DOM){
			e.preventDefault();
		}
		else{
			return false;
		}
	}
}

// addEvent
// USO: addEvent(objeto, tpEvento, funcao)
function addEvent(obj, evType, fn){
	var w3DOM = obj.addEventListener;
	var ieDOM = obj.attachEvent;
	if (w3DOM)  obj.addEventListener(evType, fn, true)
	if (ieDOM)  obj.attachEvent("on"+evType, fn)
}

// removeEvent
// USO: removeEvent(objeto, tpEvento, funcao)
function removeEvent(obj, type, fn) {
	if(obj.detachEvent) {
		obj.detachEvent( 'on'+type, obj[type+fn]);
		obj[type+fn] = null;
	}
	else {
		obj.removeEventListener( type, fn, false);
	}
}

// getParent
// USO: getParent(el, pTagName)
function getParent(el, pTagName) {
	if (el == null) {
		return null;
	}
	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) {
		return el;
	}
	else {
		return getParent(el.parentNode, pTagName);
	}
}

function getElementsByClass(searchClass, node, tag) {
	var classElements = new Array();
	if(node == null) {
		node = document;
	}
	else if(typeof(node) == "string") {
		node = document.getElementById(node);
	}
	if(tag == null) {
		tag = '*';
	}
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for(i = 0; i < elsLen; i++) {
		if(pattern.test(els[i].className)) {
			classElements.push(els[i]);
		}
	}
	return classElements;
}

scriptLoader("_javascript/xmlHttpRequest.js");
scriptLoader("_javascript/dom-drag.js");
scriptLoader("http://www.google-analytics.com/urchin.js");

function GoogleAnalyticsParams(e) {
	_uacct = "UA-604874-1";
	urchinTracker();
}
addEvent(window, "load", GoogleAnalyticsParams);

function setValue(x) {
	var MAX = 92;
	var cdRed = document.getElementById("cdRed");
	var cdGreen = document.getElementById("cdGreen");
	var cdBlue = document.getElementById("cdBlue");
	x = parseInt((((100 * x) / MAX) * 255) / 100);
	switch(this.id) {
		case "aRed" :
			cdRed.value = x;
		break;
		case "aGreen" :
			cdGreen.value = x;
		break;
		case "aBlue" :
			cdBlue.value = x;
		break;
	}
	setRGB();
	return 0;
}

function setSlider() {
	var elements = getElementsByClass("sliderPointer", "frmColor", "a");
	for(var i = 0; i < elements.length; i++) {
		var element = elements[i];
		Drag.init(element, null, 0, 92, 0, 0, null, null, null, setValue);
	}
	var r = getCookie("red");
	var g = getCookie("green");
	var b = getCookie("blue");

	if(r && g && b) {
		var bodyBG = document.getElementsByTagName("body");
		var col01header = document.getElementById("col01header");
		bodyBG[0].style.backgroundColor = "rgb(" + r + ", " + g + ", " + b + ")";
		col01header.style.backgroundColor = "rgb(" + r + ", " + g + ", " + b + ")";
	}
	
	var aColor = document.getElementById("aColor");
	addEvent(aColor, "click", showColor);
}

function showColor() {
	var frmColor = document.getElementById("frmColor");
	var style = getStyle(frmColor, "display");
	if(style == "none") {
		frmColor.style.display = "block";
	}
	else {
		frmColor.style.display = "none";
	}
}


addEvent(window, "load", setSlider);

function px2int(pValue) {
	if(String(pValue).indexOf("px") != -1) {
		var intReturn = pValue.substring(0, (pValue.length - 2));
		intReturn = parseInt(intReturn);
		return intReturn;
	}
	else {
		return;
	}
}

function getSize() {
	var myWidth = 0, myHeight = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		myWidth = window.innerWidth;
		myHeight = window.innerHeight;
	}
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		myWidth = document.documentElement.clientWidth;
		myHeight = document.documentElement.clientHeight;
	} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		myWidth = document.body.clientWidth;
		myHeight = document.body.clientHeight;
	}
	return {"width": myWidth, "height": myHeight};
}

function setRGB() {
	var cdRed = document.getElementById("cdRed");
	var cdGreen = document.getElementById("cdGreen");
	var cdBlue = document.getElementById("cdBlue");
	var bodyBG = document.getElementsByTagName("body");
	var col01header = document.getElementById("col01header");
	if(trim(cdRed.value) == "") cdRed.value = 0;
	if(trim(cdGreen.value) == "") cdGreen.value = 0;
	if(trim(cdBlue.value) == "") cdBlue.value = 0;
	
	r = parseInt(cdRed.value);
	g = parseInt(cdGreen.value);
	b = parseInt(cdBlue.value);
	
	if(r > 255) r = 255;
	if(g > 255) g = 255;
	if(b > 255) b = 255;
	setCookie("red", r);
	setCookie("green", g);
	setCookie("blue", b);
	
	bodyBG[0].style.backgroundColor = "rgb(" + r + ", " + g + ", " + b + ")";
	col01header.style.backgroundColor = "rgb(" + r + ", " + g + ", " + b + ")";
}