function getElementsByTitleName(titlename,tag)
{
	if(!tag) tag = "*";
	var anchs =  document.getElementsByTagName(tag);
	var total_anchs = anchs.length;
	var regexp = new RegExp('\\b' + titlename);
	var title_items = new Array()
	for(var i=0;i<total_anchs;i++)
	{
		var this_item = anchs[i];
		if(regexp.test(this_item.title))
		{
			title_items.push(this_item);
		}
	}
	return title_items;
}

function getElementsByClassName(classname,tag)
{
	if(!tag) tag = "*";
	var anchs =  document.getElementsByTagName(tag);
	var total_anchs = anchs.length;
	var regexp = new RegExp('\\b' + classname + '\\b');
	var class_items = new Array()
	for(var i=0;i<total_anchs;i++)
	{
		var this_item = anchs[i];
		if(regexp.test(this_item.className))
		{
			class_items.push(this_item);
		}
	}
	return class_items;
}

function poppage(page)
{
	win_name=window.open(page,'win_name','scrollbars=1,width=530, height=610');
	win_name.focus();
}
function pophelp(what)
{
	var help="help" + what + ".php";
	win_name=window.open(help,'win_name','resizable=yes, scrollbars=1,width=450, height=420');
	win_name.focus();
}

function namecheck()
{
	var pname=document.org.policy_name.value;
	var valids="_123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	if (!pname)
	{
		alert("A Policy zone name is required in order to generate your Privacy Policy");
		document.all.policy_name.focus();
		return false;
	}
	else
	{
		for (i=0; i<pname.length; i++)
		{
			if (valids.indexOf(pname.charAt(i)) < 0)
			{
				alert("Policy zone names can only contain alphanumeric and the underscore _ character\n\nPlease modify the name of this privacy zone.");
				document.org.policy_name.focus();
				return false;
			}
		}
		document.org.policy_name.name="policy_name[1]";
		return true;
	}
}

<!-- Step1 --->
function updatePriv()
{
	if(document.org.orgurl.value)
	{
		if (document.org.orgurl.value.indexOf("http://")<0)
			document.org.orgurl.value = "http://" + document.org.orgurl.value;
		document.org.orgpriv.value=document.org.orgurl.value + "/w3c/privacy.html";
	}
}
function resetPriv()
{
	document.org.orgpriv.value=document.org.orgurl.value;
}

function checkUrl()
{
	var URL=document.org.orgurl.value;
	URL=URL.toLowerCase();
	if (URL=='http://www.yourdomain.com')
	{
		$TEXT="                          SWITCH TO DEMO MODE?\n\n" +
				"http://www.YourDomain.com is used as a DEMO Web Site URL.\n\n" +
				"By proceeding with this URL you will switch to demo mode.\n" +
				"This will allow you to view each step of the P3P Wizard before\ncreating your own Privacy Policy.\n\n\n" +
				"               Do you wish to proceed in Demo Mode?";
		if(confirm($TEXT))
		{
			document.org.gen_type.value='DEMO';
			document.org.action='step02.php';
			document.org.orgname.value="Demo Organisation";
			document.org.orgaddress.value="123 Demo Street";
			document.org.orgcity.value="Demo City";
			document.org.orgstate.value="Demo State";
			document.org.orgzip.value="1234";
			document.org.orgcountry.value="Demo Country";
			document.org.orgphone.value="12345678";
			document.org.orgemail.value="demo@YourDomain.com";
			document.org.submit();
			return false;
		}
		else
		{
			document.org.orgurl.focus();
			return false;
		}
	}
	if (URL.indexOf('.')<0)
	{
		alert('Invalid Website URL');
		document.org.orgurl.focus();
		return false;
	}
	if (URL.indexOf('http://')<0)
		URL = 'http://' + URL;

	counts = 0;
	pos = URL.indexOf("http://");
	while ( pos != -1 )
	{
		counts++;
		pos2=pos;
		pos = URL.indexOf("http://",pos+7);
	}
	if (counts>1)
	{
		URL=URL.substring(pos2);
		document.org.orgurl.value=URL;
	}
	counts = 0;
	pos = URL.indexOf("/");
	while ( pos != -1 )
	{
		counts++;
		if (counts==3)
			pos2=pos;
		pos = URL.indexOf("/",pos+1);
	}
	if (counts>2)
	{
		URL=URL.substring(0,pos2);
		if (pos2 != document.org.orgurl.value.length-1)
		{
			TEXT="The URL supplied will not generate a valid P3P policy.\nThe URL should be a TOP LEVEL domain name (not a specific page within that domain)\n\n" +
				  "For example:\n" +
				  "http://www.domainname.com - IS VALID\n" +
				  "http://www.domainname.com/mypage.htm - IS INVALID\n\n\n" +
				  "                                       Automatically fix the URL?";
			if (confirm(TEXT))
			{
				document.org.orgurl.value=URL;
				if (document.org.orgpriv.value.indexOf(URL)!=-1)
					document.org.orgpriv.value=URL + "/w3c/privacy.html";
			}
			else
				document.org.orgurl.focus();
			return false;
		}
		else
		{
			if (document.org.orgpriv.value.indexOf(URL)!=-1)
				document.org.orgpriv.value=URL + "/w3c/privacy.html";
			document.org.orgurl.value=URL;
		}
	}

	return true;
}


function check_org()
{
	if(document.org.orgurl.value)
	{
		if (!checkUrl())
			return false;
	}
	else
	{
		alert('In order for your privacy policy to be generated and validate correctly, a valid Web Site URL is required');
		document.org.orgurl.focus();
		return false;
	}
	if(!document.org.orgname.value)
	{
		alert('The P3P <ENTITY> specification requires a legal entity (Organisation) name');
		document.org.orgname.focus();
		return false;
	}
	if (!document.org.orgaddress.value || !document.org.orgcity.value || !document.org.orgstate.value || !document.org.orgzip.value || !document.org.orgcountry.value || !document.org.orgphone.value || !document.org.orgemail.value)
	{
		$TEXT="It is highly recommended that all contact information is supplied.\n" +
				"This ensures your Privacy Policy will be in compliance with several\n" +
				"Privacy laws and codes of conduct that require this information.\n\n" +
				 "        Are you sure you wish to leave some fields blank?";
		if (!confirm($TEXT))
			return false;
	}
	URL=document.org.orgpriv.value;
	counts = 0;
	pos = URL.indexOf("http://");
	while ( pos != -1 )
	{
		counts++;
		pos2=pos;
		pos = URL.indexOf("http://",pos+7);
	}
	if (counts>1)
	{
		URL=URL.substring(pos2);
		document.org.orgpriv.value=URL;
	}

	if (!document.org.orgpriv.value)
		document.org.orgpriv.value=document.org.orgurl.value+"/w3c/privacy.html";



	return true;
}

<!-- ----------- STEP 2 -------------- -->
function validateUrl()
{
	var URL=document.org.dispute_url.value;
	URL=URL.toLowerCase();
	if (URL.indexOf('.')<0)
	{
		alert('Invalid Dispute URL');
		document.org.dispute_url.focus();
		return false;
	}
	if (URL.indexOf('http://')<0)
		URL = 'http://' + URL;
	document.org.dispute_url.value=URL;
	return true;
}

function checkValidUrl()
{
	if(document.org.dispute_url.value)
	{
		if (!validateUrl())
			return false;
	}
	else
	{
		alert('In order for your privacy policy to be generated and validate correctly, a valid dispute URL is required.');
		document.org.dispute_url.focus();
		return false;
	}
}


<!-- ------------------- STEP 4 ------------------ -->


