function objetoAjax(){
	var xmlhttp=false;
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
		   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(E){
			xmlhttp = false;
  		}
	}

	if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
function prototype(exec){
	var aj = new Function(exec);
	aj();
}

function langString(str){
	prototype("document.write(" + str + ");");
}

function sombraGmailer_connect(){
	document.getElementById('loginPageInputs').style.display="none";
	document.getElementById('loginPageLoading').style.display="inline";

	var account = document.getElementById('loginName').value;
	var password = document.getElementById('loginPass').value;

	var nCont = document.getElementById('loginPageLoadingLine').getElementsByTagName('span')[0];
	nCont.innerHTML = account.replace("@gmail.com","").replace("@GMAIL.COM","") + "@gmail.com";

	var rnd = Math.floor(Math.random()*10000);
	var ajax = objetoAjax();
	var params = "command=connect&account="+account+"&password="+password;
	ajax.open("POST", "sombraGmailer.php?rnd="+rnd,true);
	ajax.onreadystatechange=function(){
		if (ajax.readyState==4){
			//alert(ajax.responseText);
			var nCont = document.getElementById('gmailAccount').innerHTML = account.replace("@gmail.com","").replace("@GMAIL.COM","") + "@gmail.com";

			document.getElementById('boxContainer').innerHTML="";
			document.getElementById('labelContainer').innerHTML="";
			document.getElementById('labelActions').innerHTML="";
			document.getElementById('selectionMenuTop').style.display="block";
			document.getElementById('selectionMenuBottom').style.display="block";
			sombraGmailer_panelOp("inbox");

			document.getElementById('loginPage').style.visibility="hidden";
			eval(ajax.responseText);
		}
	}
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(params);
}
function moreActionSwitch(){
	if(document.getElementById('menuActions').style.visibility=='visible'){
		document.getElementById('menuActions').style.visibility='hidden';
	}else{
		document.getElementById('menuActions').style.visibility='visible';
	}
}

function sombraGmailer_addBox(boxId,isStarred,boxSender,isReaded,boxLabels,haveAttachment,boxTitle,boxSnippet,boxDate){
	var classN = "mailUnreadedTr";
	if(isReaded=="yes"){classN = "mailReadedTr";}
	var code = "<tr class='"+classN+"'><td class='mailUnselectedTd' onclick='sombraGmailer_selectBox(this);'><input type='checkbox' name='f' value='"+boxId+"'></td><td onclick='sombraGmailer_starSwitch(this.className,\""+boxId+"\");' class='mailStarred_"+isStarred+"'></td><td><nobr>"+boxSender+"</nobr></td><td><div onclick='sombraGmailer_openBox(\""+boxId+"\");' class='paperclip_"+haveAttachment+"'><nobr>"+boxLabels+"</nobr>"+boxTitle+" - "+boxSnippet+"</div></td><td class='boxDateTd'>"+boxDate+"</td></tr>\n";

	document.getElementById('boxContainer').innerHTML += code;
}
function sombraGmailer_selectBox(boxTd){
	var inp = boxTd.getElementsByTagName('input')[0];
	if(boxTd.className=="mailUnselectedTd"){
		inp.checked = true;
		boxTd.className="mailSelectedTd";
	}else{
		inp.checked = false;
		boxTd.className="mailUnselectedTd";
	}
}
function sombraGmailer_panelOp(boxType){
	var code="";
	switch(boxType){
		case "inbox":
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('archive');\">" + lang_gmailPanelOpArchive + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('reportspam');\">" + lang_gmailPanelOpReportSpam + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('delete');\">" + lang_gmailPanelOpDelete + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
		case "starred":
			//FIXME: eliminar estrella, lang
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('removestar');\">Eliminar estrella</div>\n";
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('reportspam');\">" + lang_gmailPanelOpReportSpam + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('delete');\">" + lang_gmailPanelOpDelete + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
		case "sentmail":
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('delete');\">" + lang_gmailPanelOpDelete + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
		case "drafts":
			//FIXME: Descartar Borradores, lang
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('delete');\">Descartar Borradores</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
		case "allmail":
			//FIXME: Descartar Borradores, lang
			code += "<div class=\"panelButton\" onclick=\"alert(1);\">Mover a Recibidos</div>\n";
			code += "<div class=\"panelButton\" onclick=\"sombraGmailer_multipleBoxActions('reportspam');\">" + lang_gmailPanelOpReportSpam + "</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
		case "spam":
			//FIXME: Descartar Borradores, lang
			code += "<div class=\"panelButton\" onclick=\"alert(1);\">Suprimir definitivamente</div>\n";
			code += "<div class=\"panelButton\" onclick=\"alert(1);\">No es spam</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
		case "trash":
			//FIXME: Descartar Borradores, lang
			code += "<div class=\"panelButton\" onclick=\"alert(1);\">Suprimir definitivamente</div>\n";
			code += "<div class=\"panelButton\" onclick=\"alert(1);\">Mover a Recibidos</div>\n";
			code += "<div class=\"panelButton\" onclick=\"moreActionSwitch();\">" + lang_gmailPanelOpMore + "</div>\n";
			code += "<span onclick=\"alert(1);\">" + lang_gmailPanelOpUpdate + "</span>\n";
		break;
	}

	
	document.getElementById('panelOpHolderTop').innerHTML = code;
	document.getElementById('panelOpHolderBottom').innerHTML = code;
}
function sombraGmailer_getInbox(boxType,st,label){
	var rnd = Math.floor(Math.random()*10000);

	var ajax = objetoAjax();
	var params = "command=getInbox&boxType="+boxType;
	if(st){params += "&st="+st;}
	if(label){params += "&label="+label;}

	ajax.open("POST", "sombraGmailer.php?rnd="+rnd,true);
	ajax.onreadystatechange=function(){
		if (ajax.readyState==4){
			//alert(ajax.responseText);
			document.getElementById('boxContainer').innerHTML="";
			document.getElementById('labelContainer').innerHTML="";
			document.getElementById('labelActions').innerHTML="";
			document.getElementById('selectionMenuTop').style.display="block";
			document.getElementById('selectionMenuBottom').style.display="block";

			sombraGmailer_panelOp(boxType);

			var divs = document.getElementById('menuLeft').getElementsByTagName('div');
			for(var a=0; a<divs.length; a++){
				if(divs[a].className == "pressedButton"){
					divs[a].className = "unPressedButton";
				}

				if(divs[a].onclick && divs[a].onclick.toString().indexOf(boxType)>(-1)){
					divs[a].className = "pressedButton";
				}
			}
			prototype(ajax.responseText);
		}
	}
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(params);
}
function sombraGmailer_starSwitch(className,boxId){
	if(className=="mailStarred_yes"){
		sombraGmailer_boxAction("removestar",boxId);
	}else{
		sombraGmailer_boxAction("addstar",boxId);
	}
}
function sombraGmailer_multipleBoxActions(boxAction,label){
	var box = document.getElementById('boxContainer');
	var inputs = box.getElementsByTagName('input');

	var selected = new Array();
	for(var a=0; a<inputs.length; a++){
		if(inputs[a].checked==true){
			selected.push(inputs[a]);
		}
	}

	for(var a=0; a<selected.length; a++){
		if(!label){
			sombraGmailer_boxAction(boxAction,selected[a].value);
		}else{
			sombraGmailer_boxAction(boxAction,selected[a].value,label);
		}
	}
}
function sombraGmailer_boxAction(boxAction,boxId,label){
	var rnd = Math.floor(Math.random()*10000);
	var ajax = objetoAjax();
	var params = "command=boxAction&boxAction="+boxAction+"&boxId="+boxId;
	if(label){params += "&label="+label;}
	ajax.open("POST", "sombraGmailer.php?rnd="+rnd,true);
	ajax.onreadystatechange=function(){
		if (ajax.readyState==4){
			document.getElementById('boxContainer').innerHTML="";
			document.getElementById('labelContainer').innerHTML="";
			document.getElementById('labelActions').innerHTML="";
			document.getElementById('selectionMenuTop').style.display="block";
			document.getElementById('selectionMenuBottom').style.display="block";
			prototype(ajax.responseText);
		}
	}
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(params);
}
function sombraGmailer_addLabel(labelName,labelLink){
	var code = "<div onclick='sombraGmailer_getInbox(\"label\",0,\""+labelLink+"\");'>"+labelName+"</div>";
	document.getElementById('labelContainer').innerHTML += code;

	var action = "<tr><td class='elementAction'>"+labelName+"</td><td> | <span onclick='sombraGmailer_multipleBoxActions(\"applylabel\",\""+labelLink+"\");'>A&ntilde;adir</span> &bull; <span onclick='sombraGmailer_multipleBoxActions(\"removelabel\",\""+labelLink+"\");'>Eliminar</span></td></tr>\n";
	document.getElementById('labelActions').innerHTML += action;
}

function sombraGmailer_openBox(boxId){
	var rnd = Math.floor(Math.random()*10000);
	var ajax = objetoAjax();
	var params = "command=openBox&boxId="+boxId;
	ajax.open("POST", "sombraGmailer.php?rnd="+rnd,true);
	ajax.onreadystatechange=function(){
		if (ajax.readyState==4){
			document.getElementById('boxContainer').innerHTML="";
			document.getElementById('labelContainer').innerHTML="";
			document.getElementById('labelActions').innerHTML="";
			document.getElementById('selectionMenuTop').style.display="none";
			document.getElementById('selectionMenuBottom').style.display="none";
			setTimeout(function(){
				prototype(ajax.responseText);
			},200);
		}
	}
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(params);
}
function sombraGmailer_addConv(isStarred,convSender,convSenderMail,haveAttachment,convDate,convReplyTo,convTo,body,attachments){
	//alert(attachments.length);
	code ='<tr><td>\n';
	code +='	<div style="background:white;">\n';
	code +='		<div style="height:18; padding-top:4; padding-right:4;"><div style="float:left;"><span style="background:URL(images/estar.png) center no-repeat; padding-right:24; padding-top:10; padding-bottom:10;"></span><nobr><span style="font-weight:bold; color:#434a54; font-size:11;">'+convSender+'</span> <span>'+convSenderMail+'</span></nobr></div><div style="float:right;">'+convDate+'</div></div>\n';
	code +='		<div style="background:#304558 URL(images/degradado1.png) repeat-x; padding:4; border:1px solid #304558; color:white;">\n';
	code +='			<div><b>Responder a:</b> '+convReplyTo+'</div>\n';
	code +='			<div><b>Para:</b> '+convTo+' </div>\n';
	code +='			<div>Responder | Responder a todos | Reenviar | Imprimir | Suprimir | Mostrar original</div>\n';
	code +='		</div>\n';
	if(haveAttachment=="yes"){
		code +='	<div style="font-size:12; height:40;">\n';
		for(var a=0;a<attachments.length;a++){
			code +='	<div onclick="sombraGmailer_downloadAttachment(\'' + attachments[a].attachmentName + '\',\'' + attachments[a].attachmentLink + '\');" title="' + attachments[a].attachmentName + '" style="cursor:pointer; float:right; background:URL(images/mimetypes/' + attachments[a].attachmentType + '.png) center; width:38; height:40;"></div>\n';
		}
		code +='	</div>\n';
	}
	code +='		<div style="font-size:12; padding:4; padding-top:0; border-bottom:2px dotted #566069;">'+body+'</div>\n';
	code +='	</div>\n';
	code +='</td></tr>\n';

	document.getElementById('boxContainer').innerHTML += code;
}
function sombraGmailer_downloadAttachment(fileName,link){
	link=link.split('?');
	link=link[link.length-1];

	if(!document.getElementById('downloadAttachmentHelper')){
		document.getElementsByTagName('body')[0].innerHTML += "<iframe id='downloadAttachmentHelper' src='sombraGmailer.php?command=getAttachment&fileName="+fileName+"&"+link+"'>";
	}else{
		document.getElementById('downloadAttachmentHelper').src="sombraGmailer.php?command=getAttachment&fileName="+fileName+"&"+link;
	}
}
function sombraGmailer_addPager(first,previous,currentBottom,currentTop,total,next,last){
	var node;

	code = '';
	if(first != ""){node = sombraGmailer_addPagerHelper(first); code += ' <span onclick="sombraGmailer_getInbox(\''+node.boxType+'\',\''+node.st+'\',\''+node.label+'\');">'+lang_gmailPagerFirst+' </span>';}
	if(previous != ""){node = sombraGmailer_addPagerHelper(previous); code += ' <span onclick="sombraGmailer_getInbox(\''+node.boxType+'\',\''+node.st+'\',\''+node.label+'\');">'+lang_gmailPagerPrevious+' </span>';}
	code += currentBottom+' - '+currentTop+' '+lang_gmailPagerOf+' '+total;
	if(next != ""){node = sombraGmailer_addPagerHelper(next); code += ' <span onclick="sombraGmailer_getInbox(\''+node.boxType+'\',\''+node.st+'\',\''+node.label+'\');"> '+lang_gmailPagerNext+'</span>';}
	if(last != ""){node = sombraGmailer_addPagerHelper(last); code += ' <span onclick="sombraGmailer_getInbox(\''+node.boxType+'\',\''+node.st+'\',\''+node.label+'\');"> '+lang_gmailPagerLast+'</span>';}

	document.getElementById('selectionMenuPagerTop').innerHTML = code;
}
function sombraGmailer_addPagerHelper(str){
	var brokenString = str.split('&');
	if(!brokenString[1]){brokenString[1]="";}
	if(!brokenString[2]){brokenString[2]="";}
	var node = new Object();

	if(brokenString[0].substring(0,3)=="?st" || brokenString[0]=="?"){
		node.boxType = "INBOX";
		node.st = brokenString[0].replace("?st=","");
		node.label = "";
		return node;
	}
	if(brokenString[0]=="?s=l"){
		node.boxType = "LABEL";
		node.label = brokenString[1].replace("l=","");
		node.st = brokenString[2].replace("st=","");
		return node;
	}
	node.boxType = brokenString[0].replace("?s=r","STARRED").replace("?s=s","SENTMAIL").replace("?s=d","DRAFTS").replace("?s=a","ALLMAIL").replace("?s=m","SPAM").replace("?s=t","TRASH");
	node.st = brokenString[1].replace("st=","");
	node.label = "";
	return node;
}
function composeShow(){
	var code = '<tr style="background:#fff5c2;"><td colspan="2" style="height:10;"></td></tr>\n';
	code += '<tr style="background:#fff5c2;"><td style="padding:10; text-align:center; vertical-align:top;">Para:</td><td style="width:100%;"><textarea style="width:100%;"></textarea></td></tr>\n';
	code += '<tr style="background:#fff5c2;"><td style="padding:10; text-align:center; vertical-align:top;">CC:</td><td><input style="width:100%; visibility:visible;"></td></tr>\n';
	code += '<tr style="background:#fff5c2;"><td style="padding:10; text-align:center; vertical-align:top;">CCO:</td><td><input style="width:100%; visibility:visible;"></td></tr>';
	code += '<tr style="background:#fff5c2;"><td style="padding:10; text-align:center; vertical-align:top;">Asunto:</td><td><input style="width:100%; visibility:visible;"></td></tr>\n';
	code += '<tr style="background:#fff5c2;"><td style="padding:10; text-align:center; vertical-align:top;"></td><td><textarea style="width:100%; height:300;"></textarea></td></tr>\n';
	code += '<tr style="background:#fff5c2;"><td colspan="2" style="height:10;"></td></tr>\n';

	document.getElementById('boxContainer').innerHTML = code;
	document.getElementById('selectionMenuTop').style.display="none";
	document.getElementById('selectionMenuBottom').style.display="none";
}
function sombraGmailer_signOut(){
	var rnd = Math.floor(Math.random()*10000);
	var ajax = objetoAjax();
	var params = "command=signOut";
	ajax.open("POST", "sombraGmailer.php?rnd="+rnd,true);
	ajax.onreadystatechange=function(){
		if (ajax.readyState==4){
			prototype(ajax.responseText);
		}
	}
	ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	ajax.send(params);
}
