
// $Id: //depot/princeorg/main/www/_js/common.js#12 $

function popup(page, name, w, h, scroll, resize) {
  var winl = (screen.width - w) / 2; var wint = (screen.height - h) / 2;
  winprop = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resize;
  win = window.open(page, name, winprop);
  if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
} // popup

function op(url) {
  var winl=(screen.width-420); var wint=(screen.height-470);
  win = window.open('/profile/'+url,'profile','height=400,width=400,top='+wint+',left='+winl+',scrollbars=1,resizable=1');
  if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
  return false;
} // op (open profile)

var nextpopy=10,nextpopx=10,nopw=0,oopw=Array();

function orgPop(id,from,msg) {
	var admin = ('*' == from.substring(0,1));
	var ch = admin ? 25 : 93 + Math.ceil(msg.length/25)*20;
	var w=window.open("","op"+id,"width=250,height="+ch+",left="+nextpopx+",top="+nextpopy+",scrollbars=no,resizable=yes,location=no,menubar=no,status=no");
	oopw[nopw++]=w;
	var d=w.document;
	d.writeln("<html><head><style>");
	d.writeln("p,body,form,input {margin:0em;padding:0em;} body {font-family:arial,helvetica,sans-serif;background:#fff url(/i/pop.jpg) no-repeat top right;color:#007; margin:0em;padding:.5em;} #rmsg {font-weight:bold;margin-left:1em;} #msg {width:75%;} #label,#resp, #ign {font-size:85%;} #resp {border:1px solid;padding:.25em;margin:.5em 0em;} ");
	d.writeln("</style><title>orgPop");
	if (!admin) { d.writeln("from "+from); }
	d.writeln("</title></head><body onunload='self.close()' onload='document.pf.msg.focus();'>");
	d.writeln("<form method='post' action='/pop.html' name='pf' id='pf'>");
	if (!admin) {
		d.writeln("<p id='label'><b>"+from+"</b> said:</p><p id='rmsg'>&ldquo;"+msg+"&rdquo;</p>");
		d.writeln("<p id='resp'>Respond:<br /><input type='text' name='msg' id='msg' maxlength='254' /> <input type='hidden' name='u' value='" + from + "' /> <input type='submit' name='go' accesskey='s' value='send' /></p>");
	}
	else {
		if ("*login"==from) {
			d.writeln("<p id='rmsg'>"+msg+" has just logged in.</p>");
		} else {
			d.writeln("<p id='rmsg'>"+msg+"</p>");
		}
	}
	d.writeln("<p id='ign'><input type='checkbox' name='ignore' value='Y' /> ignore orgPops this session");
	if (admin) {
		d.writeln("<input type='submit' name='go' value='save' /></p>");
	}
	d.writeln("</form></body></html>");
	d.close();
	if (nextpopy<500) { nextpopy += ch + 40; }
	else { nextpopx+=pwwide+30; }
	//window.focus();
} // orgpop

function orgPopsCloseAll() {
	for (var i=0;i<oopw.length;i++) {
		oopw[i].window.close();
	}
	var el = document.getElementById("hideorgpops");
	if (el) { el.style.display="none"; }
	return false;
}

function ops(user) {
	var m = prompt("Enter message to orgPop " + user + " with:", "");
	if (m) {
		document.body.style.cursor='wait';
		url = "/pop.html?u="+user+"&msg="+escape(m);
		var xmlhttp
		/*@cc_on @*/
		/*@if (@_jscript_version >= 5)
			try {
			xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
		 } catch (e) {
			try {
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
			} catch (E) {
			 xmlhttp=false
			}
		 }
		@else
		 xmlhttp=false
		@end @*/
		if (!xmlhttp) {
		 try {
			// Mozilla
			xmlhttp = new XMLHttpRequest();
			xmlhttp.overrideMimeType("text/xml");
		 } catch (e) {
			xmlhttp=false
		 }
		}
		if (!xmlhttp) {
			//alert("Your browser doesn't currently support this, sorry!");
			var w=window.open(url,"orgpopsender","width=50,height=50");
			var d=w.document;
			d.writeln("<html><head><title>Sending orgPop</title></head><body onload='self.close();'>Wait!</body></html>");
			d.close();
		} else {
		  xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
		}

		document.body.style.cursor='auto';
	}
	return false;
} // send orgpop ('pure client' version)

function oe(eid) {
	popup('/events/'+eid,'event',400,300,'1','1');
	return false;
} // oe (open event)

function oh(topic) {
	popup('/help/'+escape(topic),'help',400,300,'1','1');
	return false;
} // oh (open help)

function chat_checkHandle(h) {
  i = h.search(/[^0-9A-Za-z]/);
  if (i>0) {
    alert("Sorry, your handle can only contain letters and numbers.");
    return false;
  }
  return true;
}

function trim(s) { var s1; s1=s.replace(/^\s+/,''); s=s1.replace(/\s+$/,''); return s; }

function selAllCb(formobj, prefix, value) {
	var plen = prefix.length;
	for (var i=0;i<formobj.length;i++) {
		fldObj = formobj.elements[i];
    if ('checkbox' == fldObj.type && fldObj.name.substring(0, plen) == prefix) {
      fldObj.checked = value;
    }
  }
} // selAllCb

function countSelCb(formobj, prefix) {
	var plen = prefix.length;
  var nc = 0;
	for (var i=0;i<formobj.length;i++) {
		fldObj = formobj.elements[i];
    if ('checkbox' == fldObj.type 
		&& fldObj.name.substring(0, plen) == prefix 
		&& true == fldObj.checked) { ++nc; }
  }
  return nc;
} // countSelCb

// MM_ funcs taken from "MyNewsGroups :)"
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v;}
    obj.visibility=v; }
}

