/* COOKIE OBJECT
*************************************************************/
function cookie(domain_name) {
  //shortcut for encapsulation
  var self = this;
  
  /*
    Default Variables
  */
  self._domain = (domain_name == null) ? "" : domain_name;
  
  /*
    Getters and setters
  */
  self.setDomain = function (domain_name) {
        self._domain = domain_name;
  }
  self.getDomain =  function() {
      return self._domain;
  }
    
  /*
    initialize the download button based on the specified
    container ID
  */
  self.init = function(domain_name) {
    self._domain = (domain_name == null) ? "" : domain_name;    
  } 
  
  /*
    set a cookie c_name with value that expires in expiredays
  */
  self.setCookie = function(c_name,value,expiredays)
  {
    //function to set a cookie
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";path=/;expires="+exdate.toGMTString());
  }
  
  /*
    get the value of c_name cookie
  */
  self.getCookie = function(c_name)
  {
    //function to get a cookie
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=");
      if (c_start!=-1)
        { 
        c_start=c_start + c_name.length+1; 
        c_end=document.cookie.indexOf(";",c_start);
        if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
        } 
      }
    return "";
  }
  
  /*
    check to see if cookie cookie_name exists
  */
  self.checkCookie = function(cookie_name)
  {
    //function to check if the cookie exists
    cookie_val=self.getCookie(cookie_name);
    if (cookie_val!=null && cookie_val!="")
    {
      return true;
    }
    else 
    {
      return false;
    }
  }
}

/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Url = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}

/* MEDIA PLAYER DEFAULTS
*************************************************************/
$.fn.media.defaults.flvPlayer= '/_cms/lib/player.swf';
$.fn.media.defaults.flashvars={autoplay: true,overstretch: 1, controlbar: 'over'};
$.fn.media.defaults.mp3Player= '/_cms/lib/player.swf';
$.fn.media.defaults.params= {allowFullScreen: "true"};
