//Global Site and Zone definitions...
var _site = 'ki.wc.home'; //global Dart Site for this page.
var _zone = 'main'; //global Dart Zone for this page.
function PageQuery(q) {
	q=q.toLowerCase();
	if(q.length > 1) this.q = q.substring(1, q.length);
	else this.q = null;
	this.keyValuePairs = new Array();
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	this.getValue = function(s) {
	for(var j=0; j < this.keyValuePairs.length; j++) {
     s=s.replace(/ /gi,"%20");
		x=this.keyValuePairs[j].split("=")[0];
     x=x.replace(/ /gi,"%20");
		if(x == s)
		return this.keyValuePairs[j].split("=")[1];
	}
	return false;
}
this.getParameters = function() {
	var a = new Array(this.getLength());
	for(var j=0; j < this.keyValuePairs.length; j++) {
		a[j] = this.keyValuePairs[j].split("=")[0];
	}
	return a;
	}
	this.getLength = function() { return this.keyValuePairs.length; }
}
function queryString(key){
	key=key.toLowerCase();
	var page = new PageQuery(window.location.search);
	return unescape(page.getValue(key));
}
var ord = Math.random()*10000000000000000;
var dcopt = 'dcopt=ist;';
//Used to retrieve and format values from the QueryString and return in format expected for DART KeyValues.
function QS(QueryStringParams){
	var keyValues='';
	var kv='';
	var arr = new Array();
	arr = QueryStringParams.split(",");
	for(var i=0; i<arr.length; i++){
		arrNames = arr[i].split("|");
		kv = queryString(arrNames[0]);
		if(kv.length>0 && kv!="false"){
			if(arrNames.length>1){
				keyValues += checkK(arrNames[1]) + '=' + checkV(kv) + ';';
			}else{
				keyValues += checkK(arrNames[0]) + '=' + checkV(kv) + ';';
			}
		}
	}
	return keyValues;
}
function checkK(x){
  if (x.length>5){
      x=x.substr(0,5);
  }
  return x;
}
function checkV(x){
  if (x=='and' || x=='or'){
      x='';
  }else{
      x=x.replace(/ /gi,"_");
	     x=x.replace(/#/gi,"");
	     x=x.replace(/\"/gi,"");
	     x=x.replace(/,/gi,"");
	     x=x.replace(/\*/gi,"");
	     x=x.replace(/\./gi,"");
	     x=x.replace(/\(/gi,"");
	     x=x.replace(/\)/gi,"");
	     x=x.replace(/=/gi,"");
	     x=x.replace(/\+/gi,"");
	     x=x.replace(/</gi,"");
	     x=x.replace(/>/gi,"");
	     x=x.replace(/\[/gi,"");
	     x=x.replace(/\]/gi,"");
	     x=x.replace(/!/gi,"");
	     x=x.replace(/'/gi,"");
	 }
	 if (x.length > 55){
	     x=x.substr(0,55);
	 }
  return x;
}
function getSite(site){
	var _defaultSite = 'ki.tk.planning';
	if (site == undefined || site == ''){site=_site;}
	if (site == undefined || site == ''){site=_defaultSite;}
	//_ref=search, page came from site search
	if(queryString("_ref") == "search"){site='ki.tk.index';}
	return site;
}
function getZone(zone){
	var _defaultZone = 'default';
	if (zone == undefined || zone == ''){zone=_zone;}
	if (zone == undefined || zone == ''){zone=_defaultZone;}
	//_ref=search, page came from site search
	if(queryString("_ref") == "search"){zone='results';}
	return zone;
}
function InvalidPositions(position){
  if ( position.search("barnacle") > -1 ){
    return true;
  }else{
    return false;
  }
}
function DART(width,height,position,tileNumber,site,zone,keyvalues,keywords){
	site = getSite(site);
	zone = getZone(zone);
	if (width == undefined || width == ''){alert('Error: You must specify the ad width.');return}
	if (height == undefined || height == ''){alert('Error: You must specify the ad height.');return}
	if (keyvalues == undefined){keyvalues='';}
	if (keywords == undefined){keywords='';}
	if (tileNumber == undefined){tileNumber = '';}
	if (tileNumber != ''){tileNumber='tile='+tileNumber+';';}
	if (position == undefined){position = '';}
	if (position != ''){position='pos='+position + ';';}
	if ( InvalidPositions(position) == false){
	  var size = width + 'x' + height;
	  var adrequest = 'http://ad.doubleclick.net/adj/'+site+'/'+zone+';'+position+tileNumber+keyvalues+keywords+dcopt+'sz='+size+';ord=' + ord + '?';
	  var tag = '<script language="JavaScript" src="' + adrequest + '" type="text/javascript"></scr' + 'ipt>';
	  document.write(tag);
	  if (queryString("_debug")=="true"){alert(adrequest);}
	}
	if (dcopt != ''){dcopt='';}
}
