// Doubleclick html tag generator (javascript)
// Legal Professional Channel
// David Jamin

//*************** Global Variables ********//
// Global Variable: top_rand
// Random Number used throughout page (each ad uses same number)
var top_rand = (Math.random() * 10000000000000000) + "?";

//Get the registration cookie
var up = readUP(document);
var ur = readUR(document);
var up_word = "";
var ur_word = "";
if (up != null){ 
    up_word = parseCookie("up");
}
if (ur != null){
    ur_word = parseCookie("ur");
}

var tile = 0;

// Global Variable: o_urlstring
var o_urlstring = document.URL;
var parameters;
o_urlstring = path(o_urlstring);
o_urlstring = replace(o_urlstring, "_");
if (o_urlstring.indexOf("lawcrawler") == -1) {
	if (o_urlstring.indexOf('?') != -1) {
		var temp1_url = o_urlstring.split('?');
		o_urlstring = temp1_url[0];
		parameters = temp1_url[1];
	}
}

// Global Variable: db_sitename
var db_sitename;
if (o_urlstring.indexOf("marketing.") != -1)
	db_sitename = "fl.marketing.dart";
else if ((o_urlstring.indexOf("news.lp") != -1) || (o_urlstring.indexOf("writ.lp") != -1))
	db_sitename = "fl.newslp.dart";
else if (o_urlstring.indexOf("technology.") != -1)
	db_sitename = "fl.technology.dart";
else if (o_urlstring.indexOf("practice.") != -1)
	db_sitename = "fl.practice.dart";
else if (o_urlstring.indexOf("careers.") != -1)
	db_sitename = "fl.infirmation.dart";
else if (o_urlstring.indexOf("news.technology") != -1)
	db_sitename = "fl.technology.dart";
else if (o_urlstring.indexOf("news.practice") != -1)
	db_sitename = "fl.practice.dart";
else if (o_urlstring.indexOf("mychicagobar") != -1)
	db_sitename = "fl.chicagobar.dart";
else
	db_sitename = "fl.legal.dart";	

// Global Variable: urlArray
// break up o_urlstring into chunks according to "/"   	
var urlArray = new Array();
urlArray=o_urlstring.split('/');
var page=urlArray[urlArray.length-1];

// Global Variable: pgnm
// represents pagename
var pgnm;
if ((o_urlstring.indexOf(".pl") == -1) && (o_urlstring.indexOf(".html") == -1) && (o_urlstring.indexOf(".jsp") == -1))
  pgnm = "index";
else
  pgnm = page.substring(0, page.indexOf('.'));
  
// Global Variable: kwString
// generate the kw values for targeting purposes
var kwString;
var level;
if (urlArray[0] != -1) {
  var name=urlArray[0].substring(0, urlArray[0].indexOf('.'));
  if (name.indexOf("findlaw") != -1)
	name = "www";
  kwString = ";area1=" + name;
  level = 0;

if (document.URL.indexOf("lawcrawler") != -1) {
	keyword = page.substring(page.indexOf("entry=") + 6, page.length);
	if (keyword.indexOf("&")!= -1) {
  		keyword = keyword.substring(0, keyword.indexOf("&"));
	}
	keyword = replace(keyword, '+');
	kwString += ";kw=" + keyword;
}
else {
  //put the word "area*=" for as many array as we have.
  for (var i = 1; i < urlArray.length-1; i++) {
     kwString += ";area" + (i+1) + "=" + urlArray[i];
     level++;
  }
  kwString += ";level=" + level + ";pgnm=" + pgnm;
}
}

if ((page.indexOf("getcase.pl") != -1) || (page.indexOf("callaw") != -1)){
	var p_kws = parameters.split('&');
	var keywords = ";"; 
	for (var i = 0; i < p_kws.length; i++){
		keywords += p_kws[i];
		if (i < p_kws.length-1)
			keywords += ";";
	}
	kwString += keywords;
}

if (up != null && ur != null){
	kwString += ";" + up_word + ur_word;
}

// Alleviates Netscape document.write bug (refresh problem)
NS4 = document.layers;
if (NS4) {
  origWidth = innerWidth;
  origHeight = innerHeight;
}

function reDo() {
if (innerWidth != origWidth || innerHeight != origHeight)
  location.reload();
}

if (NS4) onresize=reDo;

//************** Functions Used to Generate Banner Ads **********//
//NEW FUNCTIONS after the Launch:

// Function: top728()
// Generate 728x90 banner ad html tags for FindLaw site
function top728(){
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";loc=top;sz=728x90;ord=" + top_rand;

	if (kwString.indexOf("justice-email") != -1){
		document.write("<body>");
	}
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function: fl_middle_728x90()
// This function will only be called if fl_legal_200x90 ad doesn't show up.
function fl_middle_728x90(){
    var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
    urlj += kwString + ";loc=middle;sz=728x90;ord=" + top_rand;
    document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function: fl_legal_200x90()
function fl_legal_200x90(){
	tile++;
    var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
    urlj += kwString + ";sz=200x90;tile=" + tile + ";ord=" + top_rand;
    document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function: fl_legal_645x33()
// Generate top sponsored link ad html tags
function fl_legal_645x33(){
	tile++;
    var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
    urlj += kwString + ";loc=top;sz=645x52;tile=" + tile + ";ord=" + top_rand;
    document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function: fl_bottom_728x90()
// Generate bottom sponsored link ad html tags
function fl_bottom_728x90(){
    var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
    urlj += kwString + ";loc=bottom;sz=728x90;ord=" + top_rand;
    document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function: fl_legal_645x52()
// Generate bottom zone ads
function fl_legal_645x52(){
	tile++;

    var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
    urlj += kwString + ";loc=bottom;sz=645x52;tile=" + tile + ";ord=" + top_rand;

    document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function: top468()
// Generate 468x60 banner ad html tags for FindLaw site
function top468(){
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=468x60;ord=" + top_rand;

	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function middle()
// Generate 120x240 Banner Ad for FindLaw site Excluding Search
function middle(){ 
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=120x240;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// The following functions are for the Ad Units in FindLaw News
// Function: news728()
// Generate 728x90 banner ad html tags for FindLaw News
function news728(){
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";loc=top;sz=728x90;ptile=1;ord=" + top_rand;
	document.write('<script language="Javascript" src="' + urlj + '"></script>');
}

// Function gen300()
// Generate a general 300x250 Banner Ad for FindLaw News
function gen300(){ 
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=300x250;ptile=2;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function news230()
// Generate 230x230 Banner Ad for FindLaw News
// Changed to 300x250 on 1/5/07
function news230(){ 
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=300x250;ptile=2;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function technology234()
// Generate 234x60 for technology.
function technology234(){
	tile++;
	var urlj = "http://ad.doubleclick.net/adj/";
	urlj += db_sitename + "/;abr=!webtv" + kwString + ";sz=234x60;tile=" + tile + ";ord=" + top_rand;
	document.write('<script language="Javascript" src="' + urlj + '"></script>');
}

// Function newsSky()
// Generate 120x600 Banner Ad for FindLaw News 
// Change to 160x600 - 1/5/07
function newsSky(){ 
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=160x600;ptile=3;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

//Function landing640()
//Generate a 640x480 ad for the landing page
function landing640(){
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=640x480;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
	readLC(document);
}

// Function home_180x150)
// Generate 180x150 Banner Ad for FindLaw LP Homepage
function home_180x150(){ 
	db_sitename = "fl.toppage.dart";
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=180x150;ptile=3;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function home_728x90()
// Generate 728x90 Banner Ad for FindLaw LP Homepage
function home_728x90(){ 
	db_sitename = "fl.toppage.dart";
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=728x90;ptile=3;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}


// Function home_300x250()
// Generate 300x250 Banner Ad for FindLaw LP Homepage
function home_300x250(){ 
	db_sitename = "fl.toppage.dart";
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;abr=!webtv";
	urlj += kwString + ";sz=300x250;ptile=3;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Function technology125()
// Generate 125x125 Banner Ad for FindLaw Technology
function technology125(){
	var urlj = "http://ad.doubleclick.net/adj/";
	urlj += db_sitename + "/;abr=!webtv" + kwString + ";sz=125x125;tile=1;ord=" + top_rand;
	document.write('<script language="Javascript" src="' + urlj + '"></script>');
}

// Function case120()
// Generate 120x40 for technology.
function case120(){
	var urlj = "http://ad.doubleclick.net/adj/";
	urlj += db_sitename + "/;abr=!webtv" + kwString + ";sz=120x40;tile=1;ord=" + top_rand;
	document.write('<script language="Javascript" src="' + urlj + '"></script>');
}

//Function pop_under()
//Generate a 250x250 pop under ads
function pop_under(){
	var urlj = "http://ad.doubleclick.net/adj/" + db_sitename + "/;dcopt=ist;abr=!webtv";
	urlj += kwString + ";sz=250x250;ord=" + top_rand;
	document.write('<script language="Javascript1.1" src="' + urlj + '"></script>');
}

// Helper Function: path
// strip out 'http://', any anchor, and convert to lowercase
function path(urlstring)
{
   var start = urlstring.indexOf('//');
   if (start != -1) {
      start = start+2;   
   }
   var hash = urlstring.indexOf('#');
   if (hash == -1) {
     hash = urlstring.length;
   }
   return urlstring.substring(start,hash).toLowerCase();
}

// Helper Function: replace
// strip out t's from s (string)
function replace(s, t) 
{
	i = s.indexOf(t);
	r = "";
	if (i == -1) return s;
	r += s.substring(0,i) + '';
	if ( i + t.length < s.length)
  		r += replace(s.substring(i+t.length, s.length), t, '');
	return r;
}
function QueryString(key)
{
    var value = null;
    for (var i=0;i<QueryString.keys.length;i++)
    {
        if (QueryString.keys[i]==key)
        {
            value = QueryString.values[i];
            break;
        }
    }
    return value;
}

QueryString.keys = new Array();
QueryString.values = new Array();

function QueryString_Parse()
{
    var query = window.location.search.substring(1);
	query = query.toLowerCase();
    var pairs = query.split("&");

    for (var i=0;i<pairs.length;i++)
    {
        var pos = pairs[i].indexOf('=');
        if (pos >= 0)
        {
            var argname = pairs[i].substring(0,pos);
            var value = pairs[i].substring(pos+1);
            QueryString.keys[QueryString.keys.length] = argname;
            QueryString.values[QueryString.values.length] = value;
        }
    }

}
QueryString_Parse();
