

function lmenuHandle(op) {
	var mn

	if (op == 'check') {
			mn = document.getElementById('menu' + readCookie('lmenuGroup'));
			if (mn) {mn.style.position = 'relative'; mn.style.visibility = 'visible'};
			mn = document.getElementById('table' + readCookie('lmenuGroup'));
			if (mn) {mn.className='MenuBg'};
			
	} 
}

function hmenuHandle(op) {
	var cell
	
	if (op == 'check') {
		cell = document.getElementById('cell' + readCookie('hmenuGroup'));
		if (cell) {cell.className = 'MenuPrincipalBorderLeftRightSelected'};
	}
	
}


function lmenuItem(groupid, href) {
	writeCookie('lmenuGroup', groupid)
	self.location = href
}

function hmenuItem(groupid, href) {
	writeCookie('hmenuGroup', groupid)
	self.location = href
}


function validateNumber(value)
{
	var i;
	if (isNaN(parseInt(value))) return false;
	for (i = 0; i < value.length; i ++ ) if (value.charAt(i) < '0' ||  value.charAt(i) > '9') return false;
	return true;
}

function validateNumberAndPoint(value)
{
	var i, flag;
	
	flag = false;
	
	if (isNaN(parseFloat(value))) return false;

	for (i = 0; i < value.length; i ++ ) 
	{
		if (value.charAt(i)=='.' && flag == false) 
		{
			if (flag == false) i++
			else return false;
			flag = true;
		}
			
		if (value.charAt(i) < '0' ||  value.charAt(i) > '9') return false;
	}		
	return true;
}


function validateInteger(value)
{
	if (value == null) return null;
	if (value.lenght == 0) return null;	
	return validateNumber(value) == true ? parseInt(value) : null;
}


function validateReal(value)
{
	if (value==null) return null;
	if (value.lenght==0) return null;
	return validateNumberAndPoint(value.replace(",", ".")) == true ? parseFloat(value.replace(",", ".")) : null;
}

function isValidDate(d) {
	if (d != '') {
		var date = new Date(d.substr(0, 4), d.substr(5, 7)-1, d.substr(8, 10));
	    if (isNaN(date)) {
	    	var date = new Date(d.substr(6, 10), d.substr(3, 5)-1, d.substr(0, 2));
	    	if (isNaN(date)) {
	    		var date = new Date(d.substr(6, 8), d.substr(3, 5)-1, d.substr(0, 2));
	    		if (isNaN(date)) {
	    			return false;
	    		}
	    	}
	    }
	}
    return true;
}


function checkMyDate(_form) {
    var _value = _form.myDate.value;
    var _test = Date.parse(_value)

    if (isNaN(_test)) {
        _form.myDate.value = "";
        alert("Not a valid date!");
        _form.myDate.focus();
    }
    else {
        nDate = new Date(_test);
        _form.myDate.value = nDate.toUTCString();
    }
}

// específico
function buttonSend()
{
	window.location='mailing.asp?SqlTpMailingId=' + PkId;
}



// cookies

var ProjectName = readCookie("ProjectName")

function readCookie(name) {
	var namearg = name + "=";
	var nlen = namearg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + nlen;
		if (document.cookie.substring(i, j) == namearg) {
			var endpos = document.cookie.indexOf (";", j);
			if (endpos == -1) endpos = document.cookie.length;
			return unescape(document.cookie.substring(j, endpos));
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

function writeCookie(name, value, expiry) {
	var expdate = new Date();
	if(expiry) { //horas
		expdate.setTime(expdate.getTime() + 1000 * 60 * 60 * expiry);
		document.cookie = name + "=" + escape(value) + "; expires=" + expdate.toGMTString();
	}
	else {
		document.cookie = name + "=" + escape(value);
	}
}

function deleteCookie(name) {
   if (readCookie(name)) {
     document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
   }
}


function divShowHide(div)
{
	if (document.getElementById(div).style.display == 'none')	
		document.getElementById(div).style.display = ''
	else
		document.getElementById(div).style.display = 'none'
}

// windows, popus and dialogs

function openWindow(url, w, h, ws, dialog) {
	var windowStyle;
	var windowParent = {};
	if (w == null) w = 800;
	if (h == null) h = 600;
	
	if (url == '') return
		
	if (dialog == true) {
		windowStyle = 'dialogWidth:' + w + 'px;dialogHeight:' + h + 'px;help:no;status:yes;';
		if (ws) {windowStyle += ',' + ws}
		window.showModalDialog(url, windowParent, windowStyle);
		//"dialogWidth:200px;dialogHeight:200px;help:no;status:no;scroll:no;resizable:yes;"
	} else {
		windowStyle = 'width='+ w +',height='+ h +',screenX=50,left=50,screenY=50,top=50';
		if (ws) {windowStyle += ',' + ws}
		var newWin = window.open(url, "popup", windowStyle);
		newWin.opener = window;
		newWin.focus()
	}
}


function areYouSure() {return window.confirm('Tem a certeza?')}

// Url functions

function urlAddParam(url, param, value) {
	if (param != "" && value != "") {	
		if (url.substring(url.length - 1) != "?") {
			if (url.indexOf("?") > 0)
				url += "&"
			else	url += "?";
		}
		url += param + "=" + escape(value);
	}
	return url;
}

function popSetup() {
	var a
	for (var i = 0; (a = document.links[i]); i++) {
		if (a.target && a.target.indexOf("_pop") == 0) {
			a.onclick = popOpen
		}
	}
}

function popOpen() {
	var a = this.target.split(":")
	var sFeatures = a[1]
	
	if (this.href == '') return false
	
	window.open(this.href, a.length > 2 ? a[2] : String((new Date()).getTime()), sFeatures)
	return false
	alert("hi")
}


function btnFocus () {
	//alert(this.type)
	//var sClass = this.className + 'MO'; this.className = sClass
}



function selGetOption(sel, value) {
	for (var i = 0; i < sel.length; i++) {if (sel.options[i].value == value) {return sel.options[i]}}
}

function selInsertItem(sel, text, value) {
	var index = sel.selectedIndex
	var len = sel.options.length
	sel.options.length++
	sel.options[len] = new Option(text, value)
	if (index >= 0) {
		for (var i = len; i >= index + 2; i--) {
			sel.options[i].value = sel.options[i - 1].value;
			sel.options[i].text = sel.options[i - 1].text;
		}
		sel.options[i].value = value;
		sel.options[i].text = text;
		sel.selectedIndex = index + 1;
	}
	else {
		sel.selectedIndex = len;
	}
}

function selItemDown(sel) 
{
	var index = sel.selectedIndex;
	if ((index < (sel.length - 1)) && (index >= 0) && sel.options[index].value != '' && sel.options[index + 1].value != '') 
	{
		var value = sel.options[index + 1].value;
		var text = sel.options[index + 1].text;
		sel.options[index + 1].value = sel.options[index].value;
		sel.options[index + 1].text = sel.options[index].text;
		sel.options[index].value = value;
		sel.options[index].text = text;
		sel.selectedIndex = index + 1;
	}
}

function selItemUp(sel) 
{
	var index = sel.selectedIndex;
	if (index > 0 && sel.options[index].value != '' && sel.options[index - 1].value != '') 
	{
		var value = sel.options[index - 1].value;
		var text = sel.options[index - 1].text;
		sel.options[index - 1].value = sel.options[index].value;
		sel.options[index - 1].text = sel.options[index].text;
		sel.options[index].value = value;
		sel.options[index].text = text;
		sel.selectedIndex = index - 1;
	}
}

function selTransferItem(selFrom, selTo) {
	var index = selFrom.selectedIndex;
	if (index >= 0) {
		var i = 0
		while (i < selFrom.length) {
			if (selFrom.options[i].selected) {
				var index2 = selTo.length;
				selTo.options.length++;
				selTo.options[index2].value = selFrom.options[i].value;
				selTo.options[index2].text = selFrom.options[i].text;		
			}
			i++
		}
		selRemoveItem(selFrom);
	} else {
		alert('Seleccione pelo menos um item da lista!');
	}
}

function selRemoveItem(sel) 
{
	var last = -1;
	var i = 0;
	while (i < sel.length) 
	{
		if (sel.options[i].selected) 
		{
			sel.remove(i); 
			if (i > 0)
				i--; 
			last = i;
		}
		else
		{
			i++;
		}
	}
	if (sel.length > 0 && last >= 0) 
		sel.options[last].selected = true;
}

function selClearSelection(sel) 
{
	var len = sel.length;
	for (var i = 0; i < len; i++) 
		if (sel.options[i].selected) 
			sel.options[i].selected = false;
}


function selGetValues(sel)
{
	var ret = '';
	for (var i=0; i<sel.options.length; i++)
	{
		if (i==0)
			ret = sel.options[i].value
		else
			ret += '; ' + sel.options[i].value;
	}
	return ret;
}

function selArray(name) {
	this.name = name
	this.options = new Array()
	this.add = selArray_add
	this.remove = selArray_remove
}
function selArray_add(value, text, parentvalue) {
	this.options[this.options.length] = new selDetailOption(value, text, parentvalue)
}
function selArray_remove(value, parentvalue) {
	var i, removed
	for(i = 0; i < this.options.length; i++) {
		if(this.options[i].Value == value && this.options[i].IdParent == parentvalue) {
			removed = this.options.splice(i, 1)
		}
	}
}

function selDetailOption(value, text, idoptionparent)
{
	this.Value = value;
	this.Text = text;
	this.IdParent = idoptionparent;
}

function selMasterOnChange(selmaster, sel, array)
{
	selPopulateDetail(sel, array, selmaster.options[selmaster.selectedIndex].value);
}


function selPopulateDetail(sel, array, idparentoption)
{
	var index;

	sel.options.length = 0; 
	sel.length = 0;

	for(index = 0; index < array.length; index++){
		if(array[index].IdParent == idparentoption || array[index].Value == '')
			sel.options[sel.length] = new Option(array[index].Text, array[index].Value);
	}
}

function selGetValuesArray(array) {
	var ret = ''; i = 0
	
	for (i = 0; i < array.length; i++) {
		if (i == 0)
			ret = array[i].IdParent + ':' + array[i].Value
		else
			ret += '; ' + array[i].IdParent + ':' + array[i].Value
	}
	return ret
}