<!--
//**  	
//*	project:		californialawyermagazine.com
//*	filename:		functions.js
//*	description:		These functions are used on various pages throughout the site
//*	created:		10/29/07 - PD
//*	modified:		
//**
var win=null;

function NewWindow(mypage,myname,w,h,scroll,pos){
	try{
		if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
		if(pos=="center"){
		LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;
		}
		else if((pos!="center" && pos!="random") || pos==null){
		LeftPosition=0;TopPosition=20
		}
		settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
		win=window.open(mypage,myname,settings);
	}
	catch(err){
		jsError(err);
	}

}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  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 && d.getElementById) x=d.getElementById(n); return x;
}

// open TOC and pass SESSION.IssueDate based on issue dropdown change
var zWindow = '';
function getissue(arg)  {
	if (arg != '')  {
	location.href = 'index.cfm?NewIssueDate=' + arg;
    }
} 

var urlStr = '';
function remotePrint(eid,evid) {   
	if (eid != '')  {
	urlStr = '../common/CLprint.cfm?eid=' + eid + '&evid=' + evid
	//alert(urlStr);   
	window.open(urlStr,'PrintRemote','menubar=1,toolbar=0,location=0,directories=0,status=1,scrollbars=yes,resizable=1,copyhistory=1,width=580,height=415');     
	}
 }
 
function remoteMail(eid,evid) {   
	if (eid != '')  {
	urlStr = '../common/mailArticle.cfm?eid=' + eid + '&evid=' + evid
	//alert(urlStr);   
	window.open(urlStr,'MailRemote','menubar=1,toolbar=0,location=0,directories=0,status=1,scrollbars=yes,resizable=1,copyhistory=1,width=400,height=270');     
	}
 } 

 // email link parser to prevent harvesting
  function SendMail(Login, Server) { 
   window.navigate("mailto:" + Login + "@" + Server); 
 } 

function swaparrow(imageID) {
	var image = document.getElementById(imageID);
	if (image.src != '../images/arrow_down.gif') {
		image.src = '../images/arrow_down.gif';
	} 
	else {
		image.src = '../images/arrow_right.gif';
	}
}

function openclose(obj,downimageID,rightimageID) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = 'block';
	}
	var imagedown = document.getElementById(downimageID);
	var imageright = document.getElementById(rightimageID);
	if ( imagedown.style.display != 'none' ) {
		imageright.style.display = 'block';
		imagedown.style.display = 'none';
	}
	else {
		imageright.style.display = 'none';
		imagedown.style.display = 'block';
	}
}

function remoteadprint(fileName,adWebLink,adEmail,adID) {

	var fileName,adWebLink,adEmail

  urlStr = 'classifiedads/adprint.cfm?FileName='+fileName+'&AdWebLink='+adWebLink+'&AdEmail='+adEmail+'&adID='+adID;

  //alert(urlStr);
  window.open(urlStr,'PrintRemote','menubar=1,toolbar=1,location=0,directories=0,status=1,scrollbars=yes,resizable=1,copyhistory=1,width=380,height=315');
 }

function remoteadmail(fileName,adWebLink,adEmail,adID) {
  var fileName,adWebLink,adEmail

  urlStr = 'classifiedads/admail.cfm?FileName='+fileName+'&AdWebLink='+adWebLink+'&AdEmail='+adEmail+'&adID='+adID;

  //alert(urlStr);
  window.open(urlStr,'MailRemote','menubar=1,toolbar=1,location=0,directories=0,status=1,scrollbars=yes,resizable=1,copyhistory=1,width=350,height=270');
 }

function showhide(obj) {
	var el = document.getElementById(obj);
	if ( el.style.display != 'none' ) {
		el.style.display = 'none';
	}
	else {
		el.style.display = 'block';
	}
	return el;
}

function textLimit(field, maxlen) {
	//pop up warning box
	if (field.value.length > maxlen + 1)
	alert('Your comments have reached the maximum amount of text allowed.');
	// replace text with the maximum allowed number of characters
	if (field.value.length > maxlen)
	field.value = field.value.substring(0, maxlen);
} 

function clear_searchbox()
{
if (document.searchForm.q.value == " Search ")
document.searchForm.q.value = "";
} 

function warnaboutstoryprice(price) {
  if(confirm('A $' + price + ' CHARGE WILL APPLY.' +'\r' + 
             'Charges appear on a monthly statement.' +'\r' +           
             'This reminder appears for the first few viewed articles.' +'\r\r' + 'CONTINUE?'))
  return true; 
  else return false;
}

// cle bar number as number check 
/* This script and many more are available free online at
The JavaScript Source :: http://javascript.internet.com
Created by: Manzi Olivier :: http://www.imanzi.com/ */

// calculate the ASCII code of the given character
function CalcKeyCode(aChar) {
  var character = aChar.substring(0,1);
  var code = aChar.charCodeAt(0);
  return code;
}


function checkNumber(val) 
{
  var strPass = val.value;
  var strLength = strPass.length;
  var lchar = val.value.charAt((strLength) - 1);
  var cCode = CalcKeyCode(lchar);

  /* Check if the keyed in character is a number
     do you want alphabetic UPPERCASE only ?
     or lower case only just check their respective
     codes and replace the 48 and 57 */

  if (cCode < 48 || cCode > 57 )
  {
    var myNumber = val.value.substring(0, (strLength) - 1);
    val.value = myNumber;
  }
  return false;
}

// cle new account information validation
function verifySubmit() {

	if (document.forms.newMember.firstname.value == '')
	{
		alert('You must enter your FIRST NAME.');
		newMember.firstname.focus();
		return false;
	}
				  
	if (document.forms.newMember.lastname.value == ''){
		alert('You must enter your LAST NAME.');
		newMember.lastname.focus();
		return false;
	}
				  
	// check email address format
	var goodAddr = false;
	var ndxAt = ndxDot = 0;
	var lstAt = ndxDot2 = 0;
	var invalidChars = " /:,;<>";

	var eAddr = document.forms.newMember.email.value;

  ndxAt  = eAddr.indexOf("@");
  lstAt  = eAddr.lastIndexOf("@");
  ndxDot = eAddr.indexOf(".");
  ndxDot2 = eAddr.lastIndexOf(".");

	if (document.forms.newMember.email.value == ''){
		alert('You must enter your EMAIL ADDRESS.');
		newMember.email.focus();
		return false;
	}
				
	if ( (ndxDot < 0) || (ndxAt < 0) ) {
		alert("Your EMAIL ADDRESS lacks '.' or '@'.\n\nThe format is 'you@domain.com'");  
		newMember.email.focus();
		return false;
	}
	if ( ndxAt != lstAt ) {
		alert("Your EMAIL ADDRESS has more than one '@'.\n\nThe format is 'you@domain.com'");     
		newMember.email.focus();
		return false;
	}
	if ( (ndxDot2 - 1) <= ndxAt) {
		alert("Your EMAIL ADDRESS is missing a domain name.\n\nThe format is 'you@domain.com'");
		newMember.email.focus();
		return false;
	}
	if ( (ndxDot2 + 2) >= eAddr.length) {
		alert("Your EMAIL ADDRESS is missing .com/.org/ect.\n\nThe format is 'you@domain.com'");   
		newMember.email.focus();
		return false;
	}


	// check bar number
	
	var newbarnumber = document.forms.newMember.barnumber.value;
	var vnewbarnumber = document.forms.newMember.vbarnumber.value;

	if ((document.forms.newMember.barnumber.value.length < 1) || (document.forms.newMember.barnumber.value.length > 7)) {
		alert('Please enter a BAR NUMBER between 1 and 6 numbers long.');
		newMember.barnumber.focus();
		return false;
	}
				    
	// check for a bar number value in both fields
	if (document.forms.newMember.barnumber == '' || document.forms.newMember.vbarnumber == '') {
		alert('Please enter your BAR NUMBER twice.');
		newMember.barnumber.focus();
		return false;
	}
	if (newbarnumber != vnewbarnumber) {
		alert ("You did not enter the same BAR NUMBER twice. Please re-enter your BAR NUMBER.");
		newMember.barnumber.focus();
		return false;
	}

	var invalid = " "; // Invalid character is a space
	var minLength = 4; // Minimum length
	var password = document.forms.newMember.password.value;
	var vpassword = document.forms.newMember.vpassword.value;
	
	// check for a password value in both fields
	if (document.forms.newMember.password == '' || document.forms.newMember.vpassword == '') {
		alert('Please enter your PASSWORD twice.');
		newMember.password.focus();
		return false;
	}
	
	// check for minimum length
	if (document.forms.newMember.password.value.length < minLength) {
		alert('Your PASSWORD must be at least ' + minLength + ' characters long.');
		newMember.password.focus();
		return false;
	}
	// check for spaces
	if (password.indexOf(invalid) > -1) {
		alert("Sorry, spaces are not allowed in PASSWORD.");
		newMember.password.focus();
		return false;
	}

	// check that both password values are the same
	if (password != vpassword) {
		alert ("You did not enter the same new PASSWORD twice. Please re-enter your PASSWORD.");
		newMember.password.focus();
		return false;
	}


}   				
				
// circulation new account information validation
function verifysubscriptionrequest() {
	var newbarnumber = document.forms.clsubscribe.barnumber.value;
	var vnewbarnumber = document.forms.clsubscribe.verify_Bar.value;
	

	if (newbarnumber != vnewbarnumber) {
		alert ("You did not enter the same BAR NUMBER twice. Please re-enter your BAR NUMBER.");
		clsubscribe.barnumber.focus();
		return false;
	}
	
	var newemail = document.forms.clsubscribe.Email.value;
	var vnewemail = document.forms.clsubscribe.VerifyEmail.value;
	
	
	if (newemail != vnewemail) {
		alert ("You did not enter the same email twice. Please re-enter your email.");
		clsubscribe.Email.focus();
		return false;
	}
	

}   				
/*
toggles element display
*/
function toggleLayer( whichLayer )
{
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
    elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
      elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
    elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}
//this will show the supplied element
function showelement(targetId) {
	if(targetId&&document.getElementById(targetId)){
		target = document.getElementById(targetId);
		target.style.display="";
	}
}
//this will hide the supplied element
function hideelement(targetId) {
	target = document.getElementById(targetId);
	target.style.display="none";
}
function openDialogWindow(type,arg1,arg2){
	try{
		if('undefined' == typeof(arg2))
			arg2 = '';
		switch(type.toLowerCase()){
		case 'email':{
			ColdFusion.Window.create('wDialog', 'Email Article', 
					'../common/clemailDialogForm.cfm?type=email&to='+escape(arg1) + '&subject='+escape(arg2), {center:false,height:530,width:450,modal:true,closable:true, 
				draggable:true,resizable:false,initshow:true 
			} );	
			break;
			}
		case 'postad':{
				ColdFusion.Window.create('wDialog', 'Post an Ad', 
					'../common/CLPostAd.cfm?recipient='+type+'&arg1='+arg1, {center:false,height:590,width:600,modal:true,closable:true,draggable:true,resizable:false,initshow:true 
			} );		
			break;
			}
		case 'emailarticle':{
			ColdFusion.Window.create('wDialog', 'Email Article', 
					'../common/clemailArticleForm.cfm?type=article&id='+arg1+'&headline='+escape(arg2), {center:false,height:530,width:450,modal:true,closable:true, 
				draggable:true,resizable:false,initshow:true 
			} );		
			break;
			}			
		default :{
			return;	
			}
		}
		ColdFusion.Window.getWindowObject('wDialog').center();
		ColdFusion.Window.onHide('wDialog',cleanupDialogWindow);
	}
	catch(err){
		jsError(err);
	}
}

function closeDialogWindow(){
	try{	
		ColdFusion.Window.hide('wDialog' );
	}
	catch(err){
		jsError(err);
	}
	 
}
function cleanupDialogWindow(){
	try{
		ColdFusion.Window.destroy('wDialog');
	}
	catch(err){
		jsError(err);
	}
}
function remotePrintAd(fileName,adWebLink,adEmail,adID) {
	try{
		var urlStr;
		urlStr = "../jobs/print.cfm?FileName="+fileName+"&AdWebLink="+adWebLink+"&AdEmail="+adEmail+"&adID="+adID;
		window.open(urlStr,'PrintRemote','menubar=1,toolbar=1,location=0,directories=0,status=1,scrollbars=yes,resizable=1,copyhistory=1,width=380,height=315');
	}
	catch(err){
		jsError(err);
	}
 } 
 
 function remoteMailAd(fileName,adWebLink,adEmail,adID) {
	try{
		var urlStr;
	   urlStr = "../jobs/mail.cfm?FileName="+fileName+"&AdWebLink="+adWebLink+"&AdEmail="+adEmail+"&adID="+adID;
	   
	   //alert(urlStr);
	   window.open(urlStr,'MailRemote','menubar=1,toolbar=1,location=0,directories=0,status=1,scrollbars=yes,resizable=1,copyhistory=1,width=350,height=370');
	}
	catch(err){
		jsError(err);
	}
 }
 
 function remotePremiumAd(fileName,adWebLink,adEmail,adID) 
{
 
 var width  = 450;
 var height = 450;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=yes';
 params += ', resizable=yes';
 params += ', scrollbars=yes';
 params += ', status=yes';
 params += ', toolbar=yes';
 
 var urlStr;
 urlStr = "../jobs/print.cfm?cad=1&FileName="+fileName+"&AdWebLink="+adWebLink+"&AdEmail="+adEmail+"&adID="+adID;
 newwin=window.open(urlStr,'PremiumAdRemote', params);
 
}

function  ChangeColor(id,color){
document.getElementById(id).style.color=color;
}

function  ChangeColorout(id,color){
document.getElementById(id).style.color=color;
}
//-->

