// chromeless windows v2.1
// www.microbians.com / Gabriel Suchowolski power[z]one - powerz@microbians.com
//
// Distributed under the terms of the GNU Library General Public License
//
// - Chromeless trick by webFX. http://www.eae.net/webfx/
// - Chromeless mouse control to handled like a normal window by Gabriel Suchowolski power[z]one

function openchromeless(theURL, wname, W, H, posx, posy, windowTIT, windowREALtit ,windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel,bCenter, sFontFamily, sFontSize, sFontColor, baseURL) {
 W=W+1;
 H=H+1;
 if(!baseURL){
 baseURL=".";
 }
 var windowCERRARa = baseURL+"/images/cw/close_a.gif";
 var windowCERRARd = baseURL+"/images/cw/close_d.gif";
 var windowCERRARo = baseURL+"/images/cw/close_o.gif";
 var windowNONEgrf = baseURL+"/images/cw/none.gif";
 var windowCLOCK = baseURL+"/images/cw/clock.gif";
 var windowW = W;
 var windowH = H;
 var windowX = -1;
 var windowY = -1;

 if(bCenter){
 windowX = Math.ceil( (window.screen.width - windowW) / 2 );
 windowY = Math.ceil( (window.screen.height - windowH) / 2 );
 } else {
 windowX = posx;
 windowY = posy;
 }

 if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion)>=4) isie=true
 else isie=false

 if (isie) { H=H+20; W=W; }

 s = ",width="+W+",height="+H;

 if (isie && (navigator.userAgent.toLowerCase().indexOf("win")!=-1) ) {

var dowin = theURL != "" ? true : false;

var chromeTIThtml = '\n' +
'<html>\n' +
'<head>\n'+
'<title>:: CHROMELESS WINDOWS / TITLEBAR</title>\n'+
'<style type="text/css">\n'+
'#mywindowTITLE { position: absolute; left: 0px; top: 0px; width: 100%; height: 22px; z-index: 1; background-color: '+windowTITBGCOLOR+'; clip:rect(0,100%,22,0); }\n'+
'#mywindow { position: absolute; left: 0px; top: 0px; width: 100%; height: 22px; z-index: 2; clip:rect(0,100%;22,0); }\n'+
'#mywindowCLOSE { position: absolute; left: -22px; top: -22px; width: 11px; height: 11px; z-index: 3; clip:rect(0,11,11,0); }\n'+
'#mywindowCLOCK { position: absolute; left: -22px; top: -22px; width: 11px; height: 11px; z-index: 3; clip:rect(0,11,11,0); }\n'+
'</style>\n'+
'<script language="javascript">\n'

if ( theURL != "" ) {

chromeTIThtml = chromeTIThtml +
' theURL = "'+theURL +'"\n'+
' windowCERRARa = "'+windowCERRARa +'"\n'+
' windowCERRARd = "'+windowCERRARd +'"\n'+
' windowCERRARo = "'+windowCERRARo +'"\n'+
' windowCLOCK = "'+windowCLOCK +'"\n'+
' windowBORDERCOLOR = "'+windowBORDERCOLOR +'"\n'+
' windowBORDERCOLORsel= "'+windowBORDERCOLORsel +'"\n'+
' windowTITBGCOLOR = "'+windowTITBGCOLOR +'"\n'+
' windowTITBGCOLORsel = "'+windowTITBGCOLORsel +'"\n'

} else {

chromeTIThtml = chromeTIThtml +
' theURL="about:blank"\n'+
' windowCERRARa = "img/close_a.gif"\n'+
' windowCERRARd = "img/close_d.gif"\n'+
' windowCERRARo = "img/close_o.gif"\n'+
' windowCLOCK = "img/clock.gif"\n'+
' windowTIT = "<font face=verdana size=1>:: window title</font>"\n'+
' windowBORDERCOLOR = "#000000"\n'+
' windowBORDERCOLORsel = "#FF8A00"\n'+
' windowTITBGCOLOR = "#d7dcd9"\n'+
' windowTITBGCOLORsel = "#ffffff"\n'

}

chromeTIThtml = chromeTIThtml +
'var windowCERRARImg_a = new Image(); windowCERRARImg_a.src = windowCERRARa;\n'+
'var windowCERRARImg_d = new Image(); windowCERRARImg_d.src = windowCERRARd;\n'+
'var windowCERRARImg_o = new Image(); windowCERRARImg_o.src = windowCERRARo;\n'+
'var windowCLOCKImg = new Image(); windowCLOCKImg.src = windowCLOCK;\n'+
'\n'+
'function mouseSTATUS() {\n'+
' this.x = null;\n'+
' this.y = null;\n'+
' this.bt = "up";\n'+
' this.oldx = null;\n'+
' this.oldy = null;\n'+
' this.dx = null;\n'+
' this.dy = null;\n'+
' this.screeny = null;\n'+
' this.screenx = null;\n'+
'\n'+
' this.element = null;\n'+
' this.event = null;\n'+
'}\n'+
'\n'+
'var mouse = new mouseSTATUS();\n'+
'\n'+
'function actualizateMouseSTATUS(e) {\n'+
' if (!e) var e = event\n'+
' if ( (e.type=="mousedown" || e.type=="mouseup") && e.button!=1) return true\n'+
'\n'+
' var x=e.x+document.body.scrollLeft\n'+
' var y=e.y+document.body.scrollTop\n'+
'\n'+
' mouse.x = x;\n'+
' mouse.y = y;\n'+
'\n'+
' if ( e.type == "mousedown" ) mouse.bt = "down";\n'+
' else if ( e.type == "mouseup" ) mouse.bt = "up";\n'+
'\n'+
' if (window.event) {\n'+
' mouse.screenx=window.event.screenX;\n'+
' mouse.screeny=window.event.screenY;\n'+
' } else {\n'+
' mouse.screenx=-1;\n'+
' mouse.screeny=-1;\n'+
' }\n'+
'\n'+
'}\n'+
'\n'+
'\n'+
'function initMouseEvents() {\n'+
' document.onmousedown = actualizateMouseSTATUS\n'+
' document.onmousemove = actualizateMouseSTATUS\n'+
' document.onmouseup = actualizateMouseSTATUS\n'+
' document.onselectstart = selectstart\n'+
' document.ondragstart = new Function("actualizateMouseSTATUS(event); return false;")\n'+
'}\n'+
'\n'+
'function selectstart(){\n'+
' if ( event.srcElement.tagName != "INPUT" && event.srcElement.tagName != "TEXTAREA") { return false; }\n'+
' else { mouse.bt="up"; return true; }\n'+
'}\n'+
'\n'+
'initMouseEvents()\n'+
'\n'+
'var mywindowbt ="up";\n'+
'var wincloseSTATUS="up";\n'+
'\n'+
'var ofx=0;\n'+
'var ofy=0;\n'+
'var opx=0;\n'+
'var opy=0;\n'+
'var px=0;\n'+
'var py=0;\n'+
'\n'+
'var wcpx1=-1, wcpy1=-1;\n'+
'var wcpx2=-1, wcpy2=-1;\n'+
'\n'+
'var wclosechanged = false;\n'+
'\n'+
'function initToMoveWin() {\n'+
' if (wincloseSTATUS=="up" && ( mywindowbt=="up" || mywindowbt=="over") ) {\n'+
'\n'+
' if ( parent.mainloaded ) document.all["mywindowCLOCK"].style.visibility = "hidden";\n'+
'\n'+
' document.all["mywindowCLOCK"].style.pixelLeft=document.body.clientWidth-36\n'+
' document.all["mywindowCLOCK"].style.pixelTop =4\n'+
'\n'+
' wcpx1 = document.all["mywindowCLOSE"].style.pixelLeft=document.body.clientWidth-18\n'+
' wcpy1 = document.all["mywindowCLOSE"].style.pixelTop =4\n'+
' wcpx2 = wcpx1 + 11 - 1\n'+
' wcpy2 = wcpy1 + 11 - 1\n'+
' if ( mouse.x >= wcpx1 && mouse.x <= wcpx2 && mouse.y >= wcpy1 && mouse.y <= wcpy2) {\n'+
' if (wclosechanged == false) {\n'+
' document.all["mywindowCLOSE"].document.images["closewin"].src=windowCERRARImg_o.src\n'+
' wclosechanged = true\n'+
' }\n'+
'\n'+
' } else if (wclosechanged == true) {\n'+
' document.all["mywindowCLOSE"].document.images["closewin"].src=windowCERRARImg_d.src\n'+
' wclosechanged = false\n'+
' }\n'+
' }\n'+
'\n'+
' if ( mouse.y <= 22 && mouse.y >= 1 && mywindowbt == "up" && mouse.bt =="up" ) { mywindowbt = "over" }\n'+
' else if ( ( mouse.y > 22 || mouse.y < 1 ) && mywindowbt == "over" && mouse.bt =="up" ) { mywindowbt = "up" }\n'+
' else if ( mouse.y <= 22 && mouse.y >= 1 && mywindowbt == "over" && mouse.bt == "down" ) {\n'+
' self.window.focus();\n'+
'\n'+
' if ( mouse.x >= wcpx1 && mouse.x <= wcpx2 && mouse.y >= wcpy1 && mouse.y <= wcpy2 ) {\n'+
' wincloseSTATUS="down"\n'+
' document.all["mywindowCLOSE"].document.images["closewin"].src=windowCERRARImg_a.src\n'+
' } else {\n'+
' document.all["mywindowTITLE"].style.backgroundColor = windowTITBGCOLORsel\n'+
' document.body.style.borderColor = windowBORDERCOLORsel\n'+
' parent.chromewinb.document.bgColor = windowBORDERCOLORsel\n'+
' parent.chromewinl.document.bgColor = windowBORDERCOLORsel\n'+
' parent.chromewinr.document.bgColor = windowBORDERCOLORsel\n'+
' ofx = mouse.x;\n'+
' ofy = mouse.y;\n'+
' opx = mouse.x;\n'+
' opy = mouse.y;\n'+
' }\n'+
' mywindowbt="down";\n'+
' }\n'+
' else if ( mouse.bt =="up" && mywindowbt == "down" ) {\n'+
' mywindowbt="up";\n'+
' ofx=0;\n'+
' ofy=0;\n'+
' opx=0;\n'+
' opy=0;\n'+
'\n'+
' if ( mouse.x >= wcpx1 && mouse.x <= wcpx2 && mouse.y >= wcpy1 && mouse.y <= wcpy2 && wincloseSTATUS=="down" ) { top.window.close() }\n'+
'\n'+
' wincloseSTATUS="up"\n'+
'\n'+
' if ( document.all["mywindowTITLE"] ) {\n'+
' document.all["mywindowTITLE"].style.backgroundColor = windowTITBGCOLOR\n'+
' document.body.style.borderColor = windowBORDERCOLOR\n'+
' parent.chromewinb.document.bgColor= windowBORDERCOLOR\n'+
' parent.chromewinl.document.bgColor= windowBORDERCOLOR\n'+
' parent.chromewinr.document.bgColor= windowBORDERCOLOR\n'+
' }\n'+
'\n'+
' }\n'+
' else if ( mywindowbt == "down" && wincloseSTATUS == "up") {\n'+
' var m_scrx = mouse.screenx;\n'+
' var m_scry = mouse.screeny;\n'+
' opx = px + ofx - m_scrx;\n'+
' opy = py + ofy - m_scry;\n'+
' px = m_scrx - ofx;\n'+
' py = m_scry - ofy;\n'+
' top.window.moveTo(px , py);\n'+
' }\n'+
' setTimeout("initToMoveWin()",50);\n'+
'}\n'+
'</script>\n'+
'</head>\n'+
'<body TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 scroll=no style="border: 1px solid '+ windowBORDERCOLOR +'; overflow: hidden; margin: 0pt;" bgcolor='+windowTITBGCOLOR+'>\n'+
'<div id=mywindow><img src="'+windowNONEgrf+'" width=100% height=20></div>\n'+
'<div id=mywindowTITLE><table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr><td valign=middle align=left><font face="' + sFontFamily + '" size=' + sFontSize + ' color="' + sFontColor + '">&nbsp;&nbsp; ' + windowTIT + '</font></td></tr></table>' +'</div>\n'+
'<div id=mywindowCLOSE><img name=closewin src="'+ windowCERRARd +'" border=0 width=11 height=11></div>\n'+
'<div id=mywindowCLOCK><img name=clockwin src="'+ windowCLOCK +'" border=0 width=11 height=11></div>\n'+
'</body>\n'+
'<script>initToMoveWin();</script>\n'+
'</html>\n'

var chromeFRMhtml = '' +
'<HTML>\n'+
'<HEAD>\n'+
'<TITLE>' + ':: ' + windowREALtit + '</TITLE>\n'+
'</HEAD>\n'+
'<script>\n'+
'mainloaded = false\n'+
'function generatetitle() {\n'+
' if( window.frames["chromewint"] && window.frames["chromewinl"] && window.frames["chromewinb"] && window.frames["chromewinr"] ) {\n'+
' chromewint.document.open();\n'+
' chromewint.document.write( "'+ quitasaltolinea(chromeTIThtml) +'" );\n'+
' chromewint.document.close();\n'+
' chromewinl.document.bgColor="'+ windowBORDERCOLOR +'"\n'+
' chromewinb.document.bgColor="'+ windowBORDERCOLOR +'"\n'+
' chromewinr.document.bgColor="'+ windowBORDERCOLOR +'"\n'+
' } else {\n'+
' setTimeout("generatetitle()",200)\n'+
' }\n'+
'}\n'+
'generatetitle()\n'+
'</script>\n'+
'<frameset border=0 framespacing=0 frameborder=0 rows="22,100%,1" onload="mainloaded=true" onreadystatechange="generatetitle()">\n'+
' <frame name=chromewint src="about:blank" scrolling=no noresize>\n'+
' <frameset border=0 framespacing=0 frameborder=0 cols="1,100%,1">\n'+
' <frame name=chromewinl src="about:blank" scrolling=no noresize>\n'+
' <frame name=main src="'+theURL+'">\n'+
' <frame name=chromewinr src="about:blank" scrolling=no noresize>\n'+
' </frameset>\n'+
' <frame name=chromewinb src="about:blank" scrolling=no noresize>\n'+
'</frameset>\n'+
'</HTML> '

 splashWin = window.open( "" , wname, "fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0"+s);

 splashWin.resizeTo( Math.ceil( W ) , Math.ceil( H ) );
 splashWin.moveTo ( Math.ceil( windowX ) , Math.ceil( windowY ) );

 splashWin.document.open();
 splashWin.document.write( chromeFRMhtml );
 splashWin.document.close();

 }
 else {
 var splashWin = window.open(theURL, wname, "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0"+s, true);
 }

 splashWin.focus();
}

function quitasaltolinea(txt) {

 var salida = txt.toString()
 var re = /\\/g; var salida = salida.replace(re, "\\\\");
 var re = /\//g; var salida = salida.replace(re, "\\\/");
 var re = /\"/g; var salida = salida.replace(re, "\\\"");
 var re = /\'/g; var salida = salida.replace(re, "\\\'");
 var re = /\n/g; var salida = salida.replace(re, "\\n");
 var re = /  /g; var salida = salida.replace(re, "");
var re = /\t/g; var salida = salida.replace(re, "");
 var re = /\r/g; var salida = salida.replace(re, "");

 return salida
}