	function $(id) { return typeof(id) == 'object' ? id : (document.getElementById(id) || null); }

	function showField(fld) {
	var fields = [ "fotodiv", "webfotodiv" ];
		for(var i = 0; i < fields.length; i++) {
		$(fields[i]).style.display = fields[i] == fld ? '' : 'none';
		}
	$('form1').style.display = '';
	}

  __webfotopen = false;
	function showField2(fld, msg) {
		if(__webfotopen) return;
	var fields = [ "upmessage", "webfotodiv" ];
		for(var i = 0; i < fields.length; i++) {
		$(fields[i]).style.display = fields[i] == fld ? '' : 'none';
		}
	  if(msg) $("upmessage").innerHTML = msg;
	}
	
	function enter(e) {
		if(getKey(e) == 13) $('loginform').submit();
	}
	
	function sendFoto(e) {
		if(getKey(e) == 13) $('webbut').onclick();
	}
	
	function sendText(e) {
		if(getKey(e) == 13) location.href = 'glittertext.php?txt='+encodeURIComponent($('txt').value);
	}
	
	function getKey(ev) {
	ev = ev ? ev : window.event;
	return ev.charCode ? ev.charCode : ev.keyCode;
	}
	
	function setXY() {
	var img = $('theImage'), pos = absPos($('resizeHandle')), t = pos.top -10, l = pos.left + 20;
	$('resizexy').style.top = t+'px';
	$('resizexy').style.left = l+'px';
	$('ry').value = img.clientHeight;
	$('rx').value = img.clientWidth;
	}
	
  function waitBox() {
	var e = $('inputBox'), tl = absPos(e), 
	    t = tl.top, l = tl.left, w = e.offsetWidth, h = e.offsetHeight;//,
			dstyle = "position:absolute; top:"+(t + h - 34)+"px; left:"+(l + w - 34)+"px; width:32px; height:32px; ";//+
							 //"background-color:#FFF; background-image:url(); background-position:50% 50%; background-repeat:no-repeat; /*opacity:0.70; filter:alpha(opacity=70); padding-top:10px;"+
							 //" font-weight:bold; font-size:1.2em;*/";
	$('loading').style.cssText = dstyle;
	return false;
	}

	function absPos(elem) {
	var el = elem, x = 0, y = 0;
		while(el) { x += el.offsetLeft; y += el.offsetTop; el = el.offsetParent; }
	return { 'left': x, 'top': y };
	}

  function addOption(sel, val, tex) {
	sel = $(sel);
	var opt = document.createElement('option');
	opt.value = val;
	opt.text = tex ? tex : val;
		try { sel.add(opt, null); } 
		catch(e) { sel.add(opt); } 
	}
  
	function addOptionAt(selec, val, tex, idx, sel) {
	var selec = $(selec), opts = [], ind = /^\d+$/.test(idx) ? Number(idx) : 0;
		for(var i = 0; i < selec.options.length; i++) {
			if(i == ind) opts.push({'value': val, 'text': tex, 'selected': sel ? true : false});
		opts.push({'value': selec.options[i].value, 
							 'text': selec.options[i].innerHTML, 
							 'selected': selec.options[i].selected});
		}
		if(opts.length == 0) opts.push({'value': val, 'text': tex, 'selected': false});
	  while(selec.firstChild) selec.removeChild(selec.firstChild);
		for(var i = 0; i < opts.length; i++) addOption(selec, opts[i].value, opts[i].text);
	}

  function addToField(val, fld) {
	var fld = $(fld);
	fld.value =  fld.value.replace(/^\s*|\s*$/g, '');
	  if(fld.defaultValue != '' && fld.value == fld.defaultValue) {
		fld.value = '';
		removeClass(fld, 'disab');
		}
	var arr = /^\s*$/.test(fld.value) ? [] : fld.value.split(/\s*(,|;|\-)\s*/), 
	    ind = arrayPos(val, arr);
	  if(ind == -1) arr.push(val);
		else arr.splice(ind, 1);
	fld.value = arr.join(', ');
	  if(fld.defaultValue != '' && arr.length == 0) {
		fld.value = fld.defaultValue;
		addClass(fld, 'disab');
		}
	}
	
	function addClass(elem, classn) { 
	elem = $(elem);
	removeClass(elem, classn); 
	elem.className += /\w+/.test(elem.className) ? ' '+classn : classn; 
	} 

	function removeClass(elem, classn) {
	elem = $(elem);
		if (!new RegExp('\\b'+classn+'\\b').test(elem.className)) return;
	var cls = elem.className.replace(/^\s*|\s*$/g, '').split(" "), ar = [];
		for(var i = cls.length; i >= 0; --i) if (cls[i] != classn) ar.push(cls[i]);
	elem.className = ar.join(" ");
	}

	
	function hasClass(el, classn) {
	var reg = new RegExp('\\b'+classn.replace(/\-/g, '\\-')+'\\b');
	return reg.test(el.className);
	}

	
	function arrayPos(term, arr) {
	  for(var i = 0; i < arr.length; i++) if(arr[i] == term) return i;
	return -1;
	}
	
	function editImage(img, title, desc, cat, tags) {
	$('imgtitle').value = title;
	$('imgdesc').value = desc;
	$('imgtags').value = tags;
	selectByVal($('imgcat'), cat, true);
	$('edtimg').src = img;
	var imgarr = img.split('/');
	$('image').value = imgarr[imgarr.length - 1].split('.gif')[0];
	$('popeditor').style.display = '';
	center($('popeditor'));
	}
	
	function center(elem) {
	elem = $(elem);
	var ps = getPageSize(), ew = elem.clientWidth, eh = elem.clientHeight, 
	    top = ((ps['wHeight'] / 2) - (eh / 2)) + ps['scTop'], 
			left = ((ps['wWidth'] / 2) - (ew / 2)) + ps['scLeft'];
	elem.style.top = top+'px';
	elem.style.left = left+'px';
	}
	
	function selectByVal(sel, val, onlyone) { 
		if(onlyone) unselectAll(sel);
		for(var i = 0; i < sel.options.length; i++) {
			if(sel.options[i].value == val) {
			sel.options[i].selected = true;
			return true;
			}
		}
	return false;
	}
	
	function unselectAll(sel) {
		for(var i = 0; i < sel.options.length; i++) sel.options[i].selected = false;
	}

	//var opts = {'item 1': '#url1', 'item 2': '#url2', 'item 3': '#url3', 'item 4': '#url4', 'item 5': '#url4', 'item 6': '#url4'};
	function slideMenu(opts, selec, parent, twid) {
	var c = 0, t = count(opts), tab = document.createElement('table'), tb = document.createElement('tbody'), 
	    tr = document.createElement('tr'), trs = document.createElement('tr');
	  if(selec > t) selec = t;
	tab.border = tab.cellPadding = tab.cellSpacing = 0;
	tab.width = (twid || 720)+'px';
	tab.id = 'slidemenutab';
	tab.align = 'center';
	tab.appendChild(tb);
	tb.appendChild(tr);
	var tdwid = parseInt(100 / t)+'%'; 
	  for(var i in opts) {
		c++;
		var td = document.createElement('td');
		td.className = 'menuitem';
		td.align = 'center';
		td.width = tdwid;
		  if(c == selec) td.className = 'selected';
		td.innerHTML = opts[i] == '' || !opts[i] ? i : '<a href="'+opts[i]+'">'+i+'</a>';
		tr.appendChild(td);
		}
	tds = document.createElement('td');
	tds.id = 'slidestage';
	tds.colSpan = t;
	tds.innerHTML = '<div id="slidebar"><div id="slidebar2"><div id="slidemark"><img id="slideright" src="'+
	                 (/\/edit/.test(location.href) ? '../' : '')+'images/sbar/right-full0.png" /></div></div></div>';
	trs.appendChild(tds);
	tb.appendChild(trs);
	$(parent).appendChild(tab);
	  if(selec >= t) {
		var wid = tab.width - 8;
		$('slideright').src = 'images/sbar/right-full1.png';
		} else var wid = ((tab.width / t) * selec) - 8;
	//	alert(wid+' '+tab.clientWidth+' '+tab.width+' '+t);
	$('slidemark').style.width = wid+'px';
	}
	
	function count(obj) {
		if(typeof(obj) == "string" || obj instanceof Array) return obj.length;
		else if(typeof(obj) == "object") { var c = 0; for(var i in obj) c++; return c; } 
		else if(typeof(obj) == 'number') return String(obj).length;
		else if(!obj) return 0;
	}
	
	function Draggable(el, id) {
	el = $(el);
	initDragDrop();
	addClass(el, 'drag');
	addEvent(el, 'mouseover', new Function("__dragId = '"+(id ? id : el.id)+"';"));
	}
	
	// dragdrop simples
	function initDragDrop() {
	__dragX = 0; 
	__dragY = 0; 
	__dragId = ''; 
	__dragging = false;
	document.body.onmousedown = __dragDown;
	document.body.onmousemove = __dragMove;
	document.body.onmouseup = function() { __dragging = false; };
	}
	
	function __dragDown(e) {
	e = e ? e : window.event;
	__dragEl = document.getElementById(__dragId) || null;
	var _target = document.all ? e.srcElement : e.target;
		if(!__dragEl || !(/drag/.test(_target.className))) return;
	__dragX = e.clientX - __dragEl.offsetLeft;
	__dragY = e.clientY - __dragEl.offsetTop;
	__dragging = true;
	};
	
	function __dragMove(e) {
		if(typeof __dragging == 'undefined' || !__dragging) return;
	e = e ? e : window.event;
	__dragEl.style.left = (e.clientX - __dragX)+'px';
	__dragEl.style.top = (e.clientY - __dragY)+'px';
	};
	
	
	function addEvent(obj, evType, fn){
	 if (obj.addEventListener){
			obj.addEventListener(evType, fn, false);
			return true;
	 } else if (obj.attachEvent){
			var r = obj.attachEvent("on"+evType, fn);
			return r;
	 } else {
			return false;
	 }
	}
	
	function removeEvent(obj, evType, fn, useCapture){
		if (obj.removeEventListener){
			obj.removeEventListener(evType, fn, useCapture);
			return true;
		} else if (obj.detachEvent){
			var r = obj.detachEvent("on"+evType, fn);
			return r;
		} else {
			alert("Handler could not be removed");
		}
	}

	function getPageSize()
	{
	
		var xScroll, yScroll;
	
		if (window.innerHeight && window.scrollMaxY)
		{
			xScroll = document.body.scrollWidth;
			yScroll = window.innerHeight + window.scrollMaxY;
		}
		else if(document.body.scrollHeight > document.body.offsetHeight) // all but Explorer Mac
		{
			xScroll = document.body.scrollWidth;
			yScroll = document.body.scrollHeight;
		}
		else if (document.documentElement && document.documentElement.scrollHeight > document.documentElement.offsetHeight) // Explorer 6 strict mode
		{
			xScroll = document.documentElement.scrollWidth;
			yScroll = document.documentElement.scrollHeight;
		}
		else // Explorer Mac...would also work in Mozilla and Safari
		{
			xScroll = document.body.offsetWidth;
			yScroll = document.body.offsetHeight;
		}
	
		var windowWidth, windowHeight;
		if (self.innerHeight) // all except Explorer
		{
			windowWidth = self.innerWidth;
			windowHeight = self.innerHeight;
		}
		else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode
		{
			windowWidth = document.documentElement.clientWidth;
			windowHeight = document.documentElement.clientHeight;
		}
		else if (document.body) // other Explorers
		{
			windowWidth = document.body.clientWidth;
			windowHeight = document.body.clientHeight;
		}
	
		// for small pages with total height less then height of the viewport
		if(yScroll < windowHeight){
		pageHeight = windowHeight;
		} else {
		pageHeight = yScroll;
		}
	
		// for small pages with total width less then width of the viewport
		if(xScroll < windowWidth){
		pageWidth = windowWidth;
		} else {
		pageWidth = xScroll;
		}
	
		var scTop, scLeft;
	
		// get real scroll top
		if (self.pageYOffset) // all except Explorer
		{
			scTop = self.pageYOffset;
		}
		else if (document.documentElement && document.documentElement.scrollTop)
			// Explorer 6 Strict
		{
			scTop = document.documentElement.scrollTop;
		}
		else if (document.body) // all other Explorers
		{
			scTop = document.body.scrollTop;
		}
	
		//get real scroll left
		if (self.pageXOffset) // all except Explorer
		{
			scLeft =  self.pageXOffset;
		}
		else if (document.documentElement && document.documentElement.scrollLeft)
			// Explorer 6 Strict
		{
			scLeft =  document.documentElement.scrollLeft;
		}
		else if (document.body) // all other Explorers
		{
			scLeft =  document.body.scrollLeft;
		}
	
		s = new Array();
		s["pWidth"] = pageWidth;
		s["pHeight"] = pageHeight;
		s["wWidth"] = windowWidth;
		s["wHeight"] = windowHeight;
		s["scLeft"] = scLeft;
		s["scTop"] = scTop;
	
		return s;
	}

  function toggle(id) {
	var elem = $(id);
	elem.style.display = elem.style.display == 'none' ? '' : 'none';
	}
	
	function hideOnBlur(id, strcomm) {
	HOBelement = $(id);
	setTimeout("document.body.onclick = function() { "+(strcomm ? strcomm : "HOBelement.style.display = 'none';")+" document.body.onclick = null; };", 100);
	}

//function utf8_encode(s) { return unescape(encodeURIComponent(s)); }
//function utf8_decode(s) { return decodeURIComponent(escape(s)); }

function semAcentos(str) {
var des = { 'a': /[áàâãä]/gi, 'e': /[èéêë]/gi, 'i': /[ìíï]/gi, 'o': /[òóôõö]/gi, 'u': /[ùúûü]/gi, 'c': /ç/gi, 'n': /ñ/gi };
	for(var ind in des) str = str.replace(des[ind],ind);
	str = str.replace(/[èé]/gi, 'e');
return str.toLowerCase().replace(/[^abcdefghijklmnopqrstuvxywz\n ]/, ' ');
}

function previewText(fnum) {
var ret = '', txt = $('txt'), otxt = txt.value, text = semAcentos(otxt);
fnum || (fnum = 1);
  for(var i = 0; i < text.length; i++) {
	var l = text.charAt(i);
	ret += /[a-z]/i.test(l) ? '<img src="fonts/glitter_fonts/'+fnum+'/'+l+'.gif" alt="" />' : (/[\r\n]+/.test(l) ? '<br />' : ' &nbsp; ');
	}
$('font').value = fnum;
$('preview').innerHTML = ret;

  if(navigator.appName == 'Microsoft Internet Explorer' && /MSIE 6/.test(navigator.appVersion))
    setTimeout('document.body.innerHTML = document.body.innerHTML;', 100);
}

var timer = false;
function onPreviewKeyUp() {
  if(timer)
    clearTimeout(timer);
timer = setTimeout('previewText('+$('font').value+')', 400);
}


function fontPicker(sel, obj, selected, width, lheight, cols) {
var elem = $(sel), xy = absPos(elem), w = elem.offsetWidth, h = elem.offsetHeight, div = document.createElement('div'), 
    picker = document.createElement('div'), nel = document.createElement('input');
width = width ? width : 180;
nel.type = 'hidden';
nel.id = elem.id;
  if(selected) nel.value = selected;
$('ginterface').appendChild(nel);
div.style.cssText = "width:"+w+"px; height:"+h+"px; border:1px solid #CCC; background-color:#FFF; padding:1px 0 0 3px; cursor:pointer;";
div.innerHTML = selected ? obj[selected] : "Escolha...";
div.id = picker.name = elem.id+'_div';
div.onclick = function() { toggle($(elem.id+'_picker')); if($(elem.id+'_picker').style.display != 'none') hideOnBlur(elem.id+'_picker'); };
picker.id = picker.name = elem.id+'_picker';
elem.parentNode.insertBefore(div, elem);
var percol = Math.round(count(obj) / cols), ihtm = '<div style="width:'+(width+2)+'px; float:left;">', inc = 0, height = percol * lheight;
  for(var i in obj) { 
	  if(percol == inc) { ihtm += '</div><div style="width:'+(width+2)+'px; float:left;">'; inc = 0; }
	ihtm += '<a href="javascript://" onclick="selectFont(\''+i+'\', \''+obj[i]+'\'); return false;"><img style="border:1px solid #FFF;" onmouseover="this.style.borderColor = \'#FF8900\';" onmouseout="this.style.borderColor = \'#FFF\';" src="images/fonts/'+i+'.gif" title="'+obj[i]+'" /></a>'; 
	++inc;
	}
ihtm += '</div>';
picker.style.cssText = "position:absolute; top:"+(xy.top - height - 20)+"px; left:"+xy.left+"px; width:"+((width * cols) + (2 * cols))+"px; border:1px solid #CCC; background-color:#FFF; padding:4px;";
picker.innerHTML = ihtm;
document.body.appendChild(picker);
//picker.style.top = parseInt(picker.style.top) - picker.clientHeight + 'px';
elem.parentNode.removeChild(elem);
picker.style.display = 'none';
}

function selectFont(font, title) {
$('font').value = font;
$('font_picker').style.display = 'none';
$('font_div').innerHTML = title;
updateText();
}


function isMultiple(base, num) {
var r = num;
	while(1) {
		if(r < base) r += num;
		else if(r == base) return true;
		else return false;
	}
}

//print getBaseURL();
function getBaseURL() {
url = location.href.split('?')[0]; 
var tst = /((www\.|dev\.|localhost\/)(dev_)?dablink[^\/]*)/.test(url); 
return tst ? 'http://'+RegExp.$1 : 'http://www.dablink.com.br';
}

function openAuthWindow(act) {
var rooturl = getBaseURL();///localhost/.test(location.href) ? 'http://localhost/dablink' : 'http://'+location.hostname; 
var win = $('authwindow'), bg = $('authwindowbg');
  if(!win) {
	var win = document.createElement('div'), bg = document.createElement('div'), ps = getPageSize();
	bg.id = 'authwindowbg';
	bg.style.cssText = "position:absolute; top:0px; left:0px; width:100%; height:"+ps['pHeight']+"px; background-color:#FFF; -moz-opacity:0.60; opacity:0.60; filter:alpha(opacity=60); z-index:50";
	document.body.appendChild(bg);
	win.id = 'authwindow';
	win.style.cssText = "width:650px; height: 450px; position:absolute; z-index:51;";
	win.innerHTML = '<iframe src="" frameborder="0" scrolling="no" id="authframe" name="authframe" style="width:100%; height:450px; background-color:#FFF; border:2px solid #CCC;"></iframe>';
	document.body.appendChild(win);
	center(win);
	}
$('authframe').src = rooturl+'/user.php?act='+act;
win.style.display = '';
bg.style.display = '';
setOnEsc('closeAuthWindow();');
}

function closeAuthWindow() {
var win = $('authwindow'), bg = $('authwindowbg');
  if(!win) return false;
win.style.display = 'none';
bg.style.display = 'none';
}

function checkRegister(frm) {
var ok = 0;
  if(/^\s*$/.test(frm.name.value)) ok++;
  if(/^\s*$/.test(frm.email.value)) ok++;
  if(/^\s*$/.test(frm.login.value)) ok++;
  if(/^\s*$/.test(frm.password.value) || frm.password.value != frm.password2.value) ok++;
return (ok == 0);
}

function setOnEsc(code) {
var fnc = 'var ev = (e ? e : window.event), n = ev.charCode ? ev.charCode : ev.keyCode; '+
					'if(n == 27) { '+code+' }';
addEvent(document, 'keypress', new Function('e', fnc));
}
//
//function login(uname) {
//var comp = /localhost/.test(location.href) ? 'http://localhost/dablink' : 'http://'+location.hostname; 
//$('auth_div').innerHTML = 'Olá <strong>'+uname+'</strong> :: '+
//                          (/\/profile\//.test(location.href) ? '' : '<a href="'+comp+'/profile/'+uname+'">minha página</a> | ')+
//													                                          '<a href="'+comp+'/user.php?act=logout">sair</a>';
//	// recarrega apenas na página do usuário
//	if(/\/profile\//.test(location.href)) top.location.reload();
//}

function login(uname) {
	// recarrega apenas na página do usuário
	if(/\/profile\//.test(location.href)) top.location.reload();
  else {
	var comp = getBaseURL();// /localhost/.test(location.href) ? 'http://localhost/dablink' : 'http://'+location.hostname; 
	var ret = 'Olá <strong>'+uname+'</strong>. '+
						(/\/profile\//.test(location.href) ? '' : '<a href="'+comp+'/profile/'+uname+'">minha página</a> | ')+
																											'<a href="'+comp+'/user.php?act=logout">sair</a>';
	return ret;
	}
}

 
  if(document.all && typeof(XMLHttpRequest) != 'object') {
    window.XMLHttpRequest = function() {
    var types = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];
      for(var i = 0; i < types.length; i++) {
      var xhr = (new ActiveXObject(types[i]) || false);
        if(xhr) return xhr;
      }
    return false;
    };
  }

// url -> url a ser carregada
// htm -> se true, retorna o texto, senão retorna XML
// retfunc -> função para receber os dados - retfunc(html/xml, status)
// postparams -> query string para ser enviada por POST
function ajax(url, htm, retfunc, postparams){
var req = new XMLHttpRequest();
req.open(postparams ? "POST" : "GET", url ,true);
req.onreadystatechange = function() { if(req.readyState == 4) { retfunc(htm ? req.responseText : req.responseXML, req.status); } };
req.send(postparams ? postparams : null);
}

function makePostFromObject(url, obj) {
var frm = document.createElement('form');
frm.action = url;
frm.method = "POST";
  for(var i in obj) {
	var inp = document.createElement('input');
	inp.type = 'hidden';
	inp.name = i;
	inp.value = obj[i];
	frm.appendChild(inp);
	}
document.body.appendChild(frm);
frm.submit();
frm.parentNode.removeChild(frm);
}

function makePost() {
	if(arguments.length < 3) return false;
var frm = document.createElement('form');
frm.action = arguments[0];
frm.method = "POST";
  for(var i = 1; i < arguments.length; i += 2) {
	var inp = document.createElement('input');
	inp.type = 'hidden';
	inp.name = arguments[i];
	inp.value = arguments[i+1];
	frm.appendChild(inp);
	}
document.body.appendChild(frm);
frm.submit();
frm.parentNode.removeChild(frm);
}

function checkLogin(ret, stt) { //alert(ret);
	if(stt != '200') ret = 'ERROR';
	if(ret == 'AVAILABLE') {
	$('errormsg').innerHTML = $('loginname').value+': liberado';
	$('errormsg').style.color = 'green';
	$('loginname').style.backgroundColor = '#DCFCEE';
	} else if(ret == 'BLOCKED') {
	$('errormsg').innerHTML = $('loginname').value+': j&aacute; em uso';
	$('errormsg').style.color = 'red';
	$('loginname').focus();
	$('loginname').select();
	$('loginname').style.backgroundColor = '#FEE6DA';
	} else {
	$('errormsg').innerHTML = 'Erro na requisição...';
	$('errormsg').style.color = 'red';
	$('loginname').style.backgroundColor = '#FFF';
	}
setTimeout("$('errormsg').innerHTML = '';", 2000);
}

function changeCommentStatus(pid, stt) { //alert(pid+' :: '+stt);
  if(/^\s*$/.test(pid)) pid = lastImageId; // veio da página do usuário
$('chstt').innerHTML = 'Aguarde...';
$('chstt').style.display = '';
var comp = location.href.indexOf('/profile/') > -1 ? '../' : '';
 //alert(pid+' '+stt);
 //alert(comp+'lib/userpage.inc.php?act=modifystatus&pid='+encodeURIComponent(pid)+'&status='+(stt ? 'on' : 'off'));
ajax(comp+'lib/userpage.inc.php?act=modifystatus&pid='+encodeURIComponent(pid)+'&status='+(stt ? 'on' : 'off'), 1, statusChanged);
}

function statusChanged(htm, stt) {  //document.write(htm+' :-: '+stt);
	if(stt != '200') htm = 'ERROR';
$('chstt').innerHTML = htm == 'ok' ? 'Ok, a op&ccedil;&atilde;o foi modificada' : 'Houve algum erro...';
setTimeout("$('chstt').innerHTML = ''; $('chstt').style.display = 'none';", 2000);
}


function closeFriendsWindow() {
var win = $('friendswindow'), bg = $('friendswindowbg');
  if(!win) return false;
win.style.display = 'none';
bg.style.display = 'none';
}

function choiceFriends(login, pass, type) {
	if(!type) type = 'msn';
var rooturl = getBaseURL();// /localhost/.test(location.href) ? 'http://localhost/dablink' : 'http://'+location.hostname; 
makePost(rooturl+'/grab_contacts.php', 'login', login, 'senha', pass, 'grabtype', type, 'imagecode', $('orkutlink').value);
}

function openFriendsList(e) {
  if(getKey(e) != 13) return true;
$('openfl').onclick();
	try { this.blur(); } catch(e) {}
}


function css(elem, prop, val) {
	if(arguments.length == 2) {
	var dv = document.defaultView || null;
	var ret = elem.currentStyle ? elem.currentStyle[camelCase(prop)] : 
							dv.getComputedStyle(elem, null).getPropertyValue(camelCase(prop, true));
	return ret || false;
	}
	for(var i = 1; i < arguments.length; i += 2) {
		try { elem.style[camelCase(arguments[i])] = arguments[i + 1]; } 
		catch(e) {}
	}
}


function getByClassName(className, tag, elm){
var testClass = new RegExp("\\b"+className+"\\b"), returnElements = [], 
    elements = (elm || document.body).getElementsByTagName(tag || "*");
	for(var i = 0; i < elements.length; i++) 
	  if(testClass.test(elements[i].className)) returnElements.push(elements[i]);
return returnElements;
}


function coordinates(id) {
var elem = $(id);
var pos = absPos(elem);
return { 'x1': pos.left, 'x2': pos.left + elem.clientWidth, 
				 'y1': pos.top, 'y2': pos.top + elem.clientHeight };
}

function hide(id) { $(id).style.display = 'none'; }

function show(id) { $(id).style.display = ''; }

function isHidden(id) { return ($(id).style.display == 'none'); }

var _looping = {}, _times = {};
function effect(id, ini, end, delay, func, after) {
var args = arguments, interval = 0, params = [], stimes = [];
	if(args.length < 5 || ini == end || !(_looping[id] = $(id))) return stimes;
clearEffect(id);
	if(args.length > 6) {
		for(var i = 6; i < args.length; i++) 
			if(/number|boolean|null|string/i.test(typeof(args[i]))) 
				params.push(typeof(args[i]) == "string" ? "'"+args[i]+"'" : args[i]);
	}
params = params.length ? ", "+params.join(", ") : "";
	if(ini < end) {
		for(var i = ini; i <= end; i++) {
		stimes.push(setTimeout(typeof func == 'function' ?
														 func : func+"(_looping['"+id+"'] , "+i+params+");", interval));
		interval += delay;
		}
	} else {
		for(var i = ini; i >= end; i = i - 1) {
		stimes.push(setTimeout(typeof func == 'function' ? 
														 func : func+"(_looping['"+id+"'] , "+i+params+");", interval));
		interval += delay;
		}
	}
	if(after) stimes.push(setTimeout(after, interval-delay+1));
return _times[id] = stimes;
}

function clearEffect(id) {
	if(typeof(_times[id]) == 'undefined' || !_times[id].length) return;
	for(var i = 0; i < _times[id].length; i++) {
		if(_times[id][i]) {
		clearTimeout(_times[id][i]);
		_times[id][i] = false;
		}
	}
}


// mudar a opacidade do elemento
function do_opacity(id, ini, end, msec, fnc) { //alert(ini+' '+end);
var diff = end - ini, delay = Math.round(msec / (diff < 0 ? diff * -1 : diff));
effect(id, ini, end, delay, 'setOpac', fnc || null);
}

function setOpac(obj, opac) { //alert(opac);
obj = $(obj);
obj.style.opacity = (opac / 100);
obj.style.MozOpacity = (opac / 100);
obj.style.KhtmlOpacity = (opac / 100);
obj.style.filter = "alpha(opacity="+opac+")";
}

function getOpacity(id) {
var ret = 100, obj = $(id);
	if(obj.style.opacity < 100) ret = obj.style.opacity * 100;
return ret;
}

function kill(el) {
el = $(el);
  if(!el) return;
el.parentNode.removeChild(el);
}

function checkMail(em) {
return /^[a-zA-Z0-9\-_\.]+@[a-zA-Z0-9\-_\.]+\.[a-z]{2,5}$/.test(em);
}

function toVarName(str) {
str = accentsOff(str);
str = str.replace(/\s+/g,'-');
str = str.replace(/[^a-zA-Z0-9_\-]/g,'');
return str.toLowerCase();
}

function accentsOff(name) {
var fordel = "áàâãäÁÀÂÃÄçÇéèêÉÈÊíìïÍÌÏóòöôõÓÒÖÔÕúùûüÚÙÛÜ";
var forsub = "aaaaaAAAAAcCeeeEEEiiiIIIoooooOOOOOuuuuUUUU";
var newname = "";
  for(i = 0; i < name.length; i++) {
  var nc = false;
  var oc = name.charAt(i);
    for(j = 0; j < fordel.length; j++) {
    var fd = fordel.charAt(j);
      if(oc == fd) nc = forsub.charAt(j);
    }
  newname += nc ? nc : oc;
  }
return newname;
};

function parentTag(elem, tag) {
var el = elem, tag = tag ? tag.toLowerCase() : false;
	while(el = el.parentNode) 
		if(el && el.nodeType == 1 && (!tag || (el.tagName.toLowerCase() == tag))) break;
return el || null;
}


function controlPanel(typ, msg, title, wid, func, param) {
closeWaitPanelTout = false;
title = title || '';
closeWaitPanel();
var bg = document.createElement('div'), container = document.createElement('div'),
    ps = getPageSize(), color = '#333', width = wid ? wid : 350,
		type = /(alert|confirm|wait)/.test(typ) ? typ : 'alert';
bg.style.cssText = "position:absolute; width:100%; height:"+
                   (ps['wHeight'] > ps['pHeight'] ? ps['wHeight'] : ps['pHeight'])+
									 "px; top:0px; left:0px; background-color:"+color+"; z-index:100; "+
									 "opacity:.40; -moz-opacity:.40; filter:alpha(opacity=40);";
container.style.cssText = "position:absolute; width:"+width+"px; height:auto; "+
												  "top:0px; left:0px; background-color:#FDFDFD; z-index:101; "+
												  "padding:10px; border:2px solid #CCC;";
bg.id = 'WaitPanelBg';
container.id = 'WaitPanelDiv';
//container.innerHTML = '<h2>'+title+'</h2><div style="margin-left:70px">'+msg+'</div>';
container.innerHTML = '<h2 style="margin-top:1em;">'+title+'</h2><div style="text-align:center; width:100%"><div style="width:80%; text-align:left; margin:0 auto">'+msg+'</div></div>';
  if(type == 'wait') 
	  container.innerHTML += '<p style="width:100%; text-align:center;"><img src="'+getBaseURL()+
		                       '/images/progress_bar.gif" alt="" /></p>';
	else if(type == 'alert')
	  container.innerHTML = '<img align="bottom" src="'+getBaseURL()+
		                       '/images/alert.gif" alt="" style="float:left; margin:10px" /> '+
													 container.innerHTML+' <p style="width:100%" align="center">'+
													 '<a href="javascript://" onclick="'+(func ? func+'('+(param ? '\''+param+'\'' : '')+'); ' : '')+'closeWaitPanel(0)"><img src="'+
													 getBaseURL()+'/images/ok.gif" border=0 alt="" /></a></p>';
	else if(type == 'confirm')
	  container.innerHTML = '<img align="bottom" src="'+getBaseURL()+
		                       '/images/confirm.gif" alt="" style="float:left; margin:10px" /> '+
													 container.innerHTML+' <p style="width:100%" align="center">'+
													 '<a href="javascript://" onclick="'+func+'(1'+(param ? ',\''+param+'\'' : '')+'); closeWaitPanel(0)">'+
													 '<img src="'+getBaseURL()+'/images/yes.gif" border=0 alt="" /></a> '+
													 '<a href="javascript://" onclick="'+func+'(0'+(param ? ',\''+param+'\'' : '')+'); closeWaitPanel(0)">'+
													 '<img src="'+getBaseURL()+'/images/no.gif" border=0 alt="" /></a></p>';
document.body.insertBefore(bg, document.body.firstChild);
document.body.insertBefore(container, document.body.firstChild);
center(container);
}

//addEvent(window, 'load', function() { controlPanel('confirm', 'teste<br>teste<br>teste', 'teste', 0, 'testef'); /*closeWaitPanel(5000);*/ });

function redir() { location.href = getBaseURL()+'/profile/'+$('auth_div').getElementsByTagName('strong')[0].innerHTML.replace(/^\s+|\s+$/,''); }

function bgOverAll() {
var p = getPageSize(), ifr = document.createElement('iframe');
ifr.id = 'bgOverAllDiv';
ifr.style.width = '100%';
ifr.style.height = (p['wHeight'] > p['pHeight'] ? p['wHeight'] : p['pHeight'])+'px';
ifr.style.position = 'absolute';
ifr.style.top = 0;
ifr.style.left = 0;
setOpac(ifr, 0);
document.body.appendChild(ifr);
return toTop(ifr);
}

function closeBgOverAll() {
	kill($('bgOverAllDiv'));
}

function toTop(elem) {
var e = document.body.getElementsByTagName('*'), mx = 0, zi;
	for(var i = 0; i < e.length; i++) 
		if((zi = Number(css(e[i], 'zIndex'))) > mx) mx = zi;
css(elem, 'zIndex', mx+1);
return mx+1;
}


function closeWaitPanel(tout) {
  if(closeWaitPanelTout) { clearTimeout(closeWaitPanelTout); closeWaitPanelTout = false; }
var pan = $('WaitPanelDiv');
  if(!pan) return;
	if(!tout) tout = 0;
closeWaitPanelTout = setTimeout("var e = $('WaitPanelDiv'), b = $('WaitPanelBg'); "+
																"e.parentNode.removeChild(e); b.parentNode.removeChild(b); "+
																"closeWaitPanelTout = false;", tout);
}

function scrollChoiceGlitter(val) { 
_scgTout = null;
_scgContainer =$("choiceglitter") ;
_scgInner = $("innercg");
_scgDiff = _scgInner.offsetHeight - _scgContainer.offsetHeight;
  switch(val) {
		case "up": 
		_scgTout = setInterval('var e = $("innercg"), am = parseInt(e.style.marginTop); '+
													 'if(am > _scgDiff*-1) e.style.marginTop = (am - 3)+"px";', 16);
		break;
		case "down": 
		_scgTout = setInterval('var e = $("innercg"), am = parseInt(e.style.marginTop); '+
													 'if(am < 0) e.style.marginTop = (am + 3)+"px";', 16);
		break;
		default: clearInterval(_scgTout); break;
	}
}


function hideMsg() {
$('msg_div').innerHTML = ' ';
$('msg_div').style.display = 'none';
$('auth_div').style.display = '';
}

function showMsg(msg, tout) { 
  try { clearTimeout(_showMsgTout); } catch(e) {}
var but = '<div><a href="javascript://" onclick="hideMsg()"><img src="'+getBaseURL()+'/images/x.gif" border="0" alt="" /></a></div>\n';
  if(/\w+/.test(msg)) $('msg_div').innerHTML = but+msg;
setTimeout("$('auth_div').style.display = 'none';", 50);
$('msg_div').style.display = '';
removeClass($('msg_div'), 'nodisplay');
  if(!tout) tout = 5000;
_showMsgTout = setTimeout(hideMsg, tout);
}


// Cookies

var Cookie = {
	'vars': {},
	'set': function(name, value, days, path) {
	var date = days ? new Date() : false, comp;
		if(date) date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
	comp = date ? "; expires="+date.toGMTString() : "";
	  if(/;/.test(value)) document.write(value);
	document.cookie = name+"="+value+comp+"; path="+(path || '/');
	return new RegExp(name+'=[^;]+').test(document.cookie);
	},
	'get': function(name) {
	var n = name + "=", ca = document.cookie.split(/\s*;\s*/);
		for(var i = 0; i < ca.length; i++) 
			//if(ca[i].indexOf(n) == 0) return ca[i].substring(n.length, ca[i].length);
			if(new RegExp(n+'([^;]+)').test(ca[i])) return RegExp.$1;
	return null;
	},
	'getAll': function() {
	var ca = document.cookie.split(/\s*;\s*/), ret = {};
		for(var i = 0; i < ca.length; i++) 	{
		var parts = ca[i].split("=");
		ret[parts[0]] = parts[1];
		}
	return Cookie.vars = ret;
	},
	'erase': function(name) { Cookie.set(name, null, -1); },
	'test': function() {
		if(typeof navigator.cookieEnabled == 'boolean') return navigator.cookieEnabled;
	document.cookie = 'Cookie_support=valid';
		if(/Cookie_support=valid/.test(document.cookie) == false) return false;
		else Cookie.erase('Cookie_support');
	return true;
  }
};

function make_orange_box(html, wid) {
var tab = '<table id="orange_box" width="'+wid+'" cellpadding="0" cellspacing="0" border="0">'+
          '<tr><td><img src="'+getBaseURL()+'/images/orange_box_tl.png" /></td>'+
          '<td background="'+getBaseURL()+'/images/orange_box_t.png">&nbsp;</td>'+
          '<td><img src="'+getBaseURL()+'/images/orange_box_tr.png" /></td></tr>'+
          '<tr><td background="'+getBaseURL()+'/images/orange_box_l.png" />&nbsp;</td>'+
          '<td background="'+getBaseURL()+'/images/orange_box_bg.png">'+html+'</td>'+
          '<td background="'+getBaseURL()+'/images/orange_box_r.png" /></td></tr>'+
          '<tr><td><img src="'+getBaseURL()+'/images/orange_box_bl.png" /></td>'+
          '<td background="'+getBaseURL()+'/images/orange_box_b.png">&nbsp;</td>'+
          '<td><img src="'+getBaseURL()+'/images/orange_box_br.png" /></td></tr>';
return tab;
}

function hideFlashSelect(hide) { 
var elems = document.getElementsByTagName('*');
  for(var i = 0; i < elems.length; i++) { //alert(elems[i].tagName);
		if((elems[i].tagName.toLowerCase() == 'iframe' && /afilio\.com\.br|google\.com/.test(elems[i].src))
				|| (elems[i].tagName.toLowerCase() == 'select' && (document.all || false))) {
		  if(hide) addClass(elems[i], 'invisible');
		  else removeClass(elems[i], 'invisible');
		}
	}
}


function applyTips() {
var els = document.getElementsByTagName('*');
  for(var i = 0; i < els.length; i++) {
	  if(/^\s*$/.test(els[i].title) || !hasClass(els[i], 'tip')) continue;
	els[i].tip = els[i].title;
	els[i].title = '';
	els[i].onmouseover = function(e) { showToolTip(e, this.tip); };
	els[i].onmouseout = function() { hideToolTip(); };
	}
}

function copyToClipboard(txt, el) {
//	if(window.clipboardData) {
//		window.clipboardData.clearData();
//		window.clipboardData.setData("Text", txt);
//	} else {
		ffcopy(el);
//	}
eleMsg('Copiado!', el);
}
function ffcopy(inElement) {
	if (0/*inElement.createTextRange*/) {
	var range = inElement.createTextRange();
	if (range && BodyLoaded==1)
		range.execCommand('Copy');
	} else {
	var flashcopier = 'flashcopier';
	if(!document.getElementById(flashcopier)) {
		var divholder = document.createElement('div');
		divholder.id = flashcopier;
		document.body.appendChild(divholder);
	}
	document.getElementById(flashcopier).innerHTML = '';
	var divinfo = '<embed src="'+getBaseURL()+'/lib/_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(inElement.value)+
	              '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
	document.getElementById(flashcopier).innerHTML = divinfo;
	}
}	

function eleMsg(msg, el, time) {
var pos = absPos(el), w = el.offsetWidth, h = el.offsetHeight,
    nel = document.createElement('div');
nel.id = 'eleMsgDiv';
nel.style.cssText = 'position:absolute; top:'+pos.top+'px; left:'+pos.left+'px; width:'+w+'px; height:'+h+'px; text-align:center; z-index:100; opacity:1; filter:alpha(opacity=100); background-color:#FFF; color:red';
nel.innerHTML = msg;
document.body.appendChild(nel); //alert(nel);
setTimeout("do_opacity('eleMsgDiv', 100, 0, "+time+" || 1000, function() { kill('eleMsgDiv'); })", 400);
}

function fakeFile(image, input) {
var w = image.offsetWidth, h = image.offsetHeight, o = 0, 
    s = parseInt(w/4.2), wrapper = document.createElement('div');
wrapper.style.cssText = "position:relative; width:"+w+"px; height:"+h+"px; overflow:hidden; z-index:100; cursor:pointer;";
input.style.cssText = "position:absolute; height:"+h+"px; top:0; right:0; font-size:"+s+"px; "+
                      "filter:alpha(opacity: "+(o*100)+"); opacity:"+o+"; z-index:101;";
image.parentNode.insertBefore(wrapper, image);
wrapper.appendChild(image);
wrapper.appendChild(input);
}

function basename(path) { return path.split(/\x5C|\//).pop(); }

_bpTimeout = null;
function showButtonPanel(but, id) { //alert(but.id);
	clearTimeout(_bpTimeout);
$('codeButtons').style.display = 'none';
$('mailButtons').style.display = 'none';
  if(!id) return;
var elem = $(id), pos = absPos(but);
elem.style.display = '';
elem.style.position = 'absolute';
elem.style.top = (pos.top+but.offsetHeight)+'px';
elem.style.left = (pos.left + ((but.offsetWidth/2) - (elem.offsetWidth/2)))+'px';
var els = elem.getElementsByTagName("*"), fnc = function() { _bpTimeout = setTimeout(showButtonPanel, 500); };
elem.onmouseover = new Function('showButtonPanel($("'+but.id+'"), "'+id+'")');
elem.onmouseout = fnc;
  //for(var i = 0; i < els.length; i++) els[i].onmouseout = fnc;
}

function showButtonPanel1(but, id) {
$('codeButtons').style.display = 'none';
$('mailButtons').style.display = 'none';
  if(!id) return;
var elem = $(id), timg = $('theimage'), pos = absPos(timg);
elem.style.display = '';
elem.style.position = 'absolute';
elem.style.top = (pos.top+((timg.offsetHeight/2) - (elem.offsetHeight/2)))+'px';
elem.style.left = (pos.left+((timg.offsetWidth/2) - (elem.offsetWidth/2)))+'px';
}


