function persistent() {
  try {
    this.variable = "mtvni.geo.persistent"; 
  } catch(e) {
    
  };
};

persistent.prototype.init = function(divid) {
// persistant.prototype.load = function(divid) {
  try {
    if (this.checkGeocode(this.getParams())) {
      // GeoCode is not the same, load advisory

// if there is a div id passed as param, insert in container
// else insert before first child of body tag

// instead will be if divid & !="" 
		var mtvniPersistentWrapper = document.createElement("div");
		mtvniPersistentWrapper.id = "mtvniPersistentWrapper";
		mtvniPersistentWrapper.innerHTML = this.outputHTML();
		
		if (typeof(divid)=="string" && divid !=""){
			var divObj = document.getElementById(divid);
 			//divObj.innerHTML = this.outputHTML(); //this would mean they would have a dedicated id just for that... instead, inject before... DA 
			divObj.insertBefore(mtvniPersistentWrapper,divObj.firstChild);
		}
		else {
			var bodyTag = document.getElementsByTagName("body")[0];
			bodyTag.insertBefore(mtvniPersistentWrapper,bodyTag.firstChild);
		}
    };  
  } catch(e) {
  
  };
};

persistent.prototype.outputHTML = function() {
  var imgpath = this.getParams().imgpath+"/gsp";
  var brand = this.getParams().json.geomanagementprofile;
  var regional = brand.regionalsetting;
  var rData = regional.title.split("-");
  var regionalTitle = (rData.length > 1) ? rData[1] : regional.title;
  
  try {
    var query = this.getParams().profile.replace(/_/gi, "-");
    query = query.replace("-persistent", "");
    var urlData = regional.urlredirect.toString().split("http://");
    var redirect = (urlData.length == 1) ? "http://"+regional.urlredirect : regional.urlredirect;  
    redirect += "?s_cid=geo-persistent-"+query;
  
  } catch(e) {
    
  };
  var html = "<table id=\"mtvniPersistantHdr\" style=\"clear:both;background:#000;width:100%;padding:0;margin: 0 0 1px; font-family: arial,sans-serif;font-size: 11px; \">"
   		+"<tr>"
		+"<td valign=\"top\">"
  		  + "<img src=\""+imgpath+brand.brandimg+"\" style=\"border:0;display:inline;margin:5px;width:36px;height:25px;\" alt=\"MTV.com\">"
		+"</td>"
		+"<td valign=\"top\">"
		 + "<a href=\""+redirect+"\">"
  		  + "<img src=\""+imgpath+regional.img+"\" style=\"border:none;display:inline;margin:5px;width:36px;height:25px;\">"
		+"</a>"
		+"</td>"
		+"<td width=\"98%\">"
  		+ "<div style=\"width:650px;margin:0;padding:0;\">"
  		  +"<div style=\"color:#fff;font-family:arial,sans-serif;font-size:11px; padding:0;margin:0 5px 2px;\">"
		    + regional.msg
  		  +"</div>"
  		  +"<div style=\"padding:0;margin:0 5px 2px;background:transparent;\">"
  		    + "<a href=\""+redirect+"\" style=\"color:#fff;font-family:arial,sans-serif;font-size:11px;\">"+regionalTitle+"</a>"
  		  +"</div>"
  		+ "</div>"
  		//+ "<div style=\"clear:both;margin:0;padding:0;height:0;font-size:0;\"></div>"
		+"</td>"
		+"</tr>"
		+"</table>"; 
  return html;
};

persistent.prototype.checkGeocode = function(params) {
  var loadAdvisory = true;
  var nativeRegions = params.json.geomanagementprofile.nativegeocodes.split(",");
  var length = nativeRegions.length;
  for (var x=0; x<length; x++) {
    if (nativeRegions[x] == params.json.geocode) {      
      loadAdvisory = false;
      break;
    };
  };

  // If regionalsetting is null, turn off advisory.
  var regional = params.json.geomanagementprofile.regionalsetting;
  if ((!regional) || (!regional.title)) loadAdvisory = false;
  	return loadAdvisory;
};

persistent.prototype.setImagesFolder = function(value) { this._imagefolder = value; };
persistent.prototype.getImagesFolder = function() { return this._imagefolder; };
persistent.prototype.setParams = function(params) { this._params = params; };
persistent.prototype.getParams = function() { return this._params; };