/***
 **  trims a string
 ****/
function trim(value) {
  value = value.replace(/^\s+/,'');
  value = value.replace(/\s+$/,'');
  return value;
}

/*
 * selects the text in an input form field
 */

function jsSelectAll( obj )
{
  if(!myGetElementById( obj ))
    return;
    
  myGetElementById(obj).select();  
}


/*
 * hides the errormsg
 */
function hideErrMsg()
{
  if(myGetElementById('errMsgWrapper')) 
    myGetElementById('errMsgWrapper').style.display = 'none';
}

/*
 * add or substracts value in an input control
 */ 

function changeDuration( ctrl, act, inc, maxval, minval )  
{
  obj = myGetElementById( ctrl );
  
  curval = parseInt(obj.value);
  
  maxval = parseInt( maxval );
  minval = parseInt( minval );
  
  incrementor = parseInt( inc );
  
  if(act == 'plus')
    newvalue = curval + incrementor;
  else
    newvalue = curval - incrementor;

  if(myGetElementById('spinedit_plus'))
    myGetElementById('spinedit_plus').src = "images/plus.png";
  if(myGetElementById('spinedit_minus'))
    myGetElementById('spinedit_minus').src = "images/minus.png"; 
  
  if(newvalue >= maxval)
  {
    if(myGetElementById('spinedit_plus'))
      myGetElementById('spinedit_plus').src = "images/plus-gs.png";
    newvalue = maxval;
  }
  
  if(newvalue <= minval)
  {
    if(myGetElementById('spinedit_minus'))
      myGetElementById('spinedit_minus').src = "images/minus-gs.png";
    newvalue = minval;
  }
  
  
  obj.value = newvalue + ' minutes';
  
  return;
}


/*
 * makes an uri save for scripting
 */
function MakeSave(uri)
{
	uri = uri.replace ( /:/g , "____" );
	uri = uri.replace ( /\./g , "__" );
	uri = uri.replace ( /@/g , "___" );
	return uri;			
}

/*
 * restores an uri
 */
function UndoMakeSave(uri)
{
	uri = uri.replace ( /____/g , ":" );
	uri = uri.replace ( /___/g , "@" );
	uri = uri.replace ( /__/g , "." );
	return uri;			
}


/*
 * Converts seconds to HH:MM:SS time format
 */
function SecondsToTimeFormat( seconds )
{
	var hours = seconds / 3600;
	if ( hours > 1 )
		hours = Math.floor (hours );
	else 
		hours = 0;
	seconds -= ( hours * 3600 );
	var minutes = seconds / 60;
	if ( minutes > 1 )
		minutes = Math.floor ( minutes );
	else
		minutes = 0;
	seconds -= ( minutes * 60);
	var format = ( hours < 10 ? '0': '' ) + hours + ( minutes < 10 ? ':0' : ':' ) + minutes + ( seconds < 10 ? ':0' : ':' ) + seconds;
	return format;
}

/*
 * Adds minutes to a date
 */
function addMinutes(dateTimeObj, iMinutes) {    	    	    	
  var length = iMinutes * 60 * 1000;		  		  		  
  var iseconds = dateTimeObj.getTime();
  iseconds += length;
  var dt = new Date(iseconds);
  return dt;
}     

/*
 * Converts javascript Date object to dd/mm/yyyy HH:MM:SS time format
 */
function DateFormat ( date )
{
	var day = date.getDate();
	if ( day < 10 ) day = '0' + day;
	var month = date.getMonth() + 1;
	if ( month < 10 ) month = '0' + month;
	var year = date.getYear();
	var hours = date.getHours()
	if ( hours < 10 ) hours = '0' + hours;
	var minutes = date.getMinutes();
	if ( minutes < 10 ) minutes = '0' + minutes;
	var seconds = date.getSeconds();
	if ( seconds < 10 ) seconds = '0' + seconds;
	var format = day + '/' + month + '/' + year + ' ' + hours + ':' + minutes+ ':' + seconds;
	return format;
}


function myGetElementById ( pElement )
{		
	if ( arguments.length != 1 || pElement == null || typeof ( pElement ) == "undefined" )
		return null;

	if ( typeof ( pElement ) != "string" )
		return pElement;

	if ( document.getElementById )
		pElement = document.getElementById ( pElement );
	else if ( document.all )
		pElement = document.all[pElement];
	else
		pElement = null;		  
		
	return pElement;
}

function isdkGetElementById ( pElement )
{
	if ( arguments.length != 1 || pElement == null || typeof ( pElement ) == "undefined" )
		return null;
  
	if ( typeof ( pElement ) != "string" )
		return pElement;

	if ( document.getElementById )
		pElement = document.getElementById ( pElement );
	else if ( document.all )
		pElement = document.all[pElement];
	else
		pElement = null;
	
	return pElement;
}

function isdkIsNum ()
{
	for ( var i = 0; i < arguments.length; ++i )
	{
		if ( arguments[i] == null || typeof ( arguments[i] ) != 'number' )
			return false;
	}

	return true;
}

/**
 * This function looks for a variable passed with GET method
 * \param varname the name of the variable
 * \return the value in the GET method of varname
 */
function isdkGetHrefValue(varname)
{
  // First, we load the URL into a variable
  var url = window.location.href;    

  // Next, split the url by the ?
  var qparts = url.split("?");        

  // Check that there is a querystring, return "" if not
  if (qparts.length == 0)
  {
    return "";
  }    

  // Then find the querystring, everything after the ?
  var query = qparts[1];
  if (!query) {
  	return "";
  }  

  // Split the query string into variables (separates by &s)
  var vars = query.split("&");

  // Initialize the value with "" as default
  var value = "";

  // Iterate through vars, checking each one for varname
  for (i=0;i<vars.length;i++)
  {
    // Split the variable by =, which splits name and value
    var parts = vars[i].split("=");

    // Check if the correct variable
    if (parts[0] == varname)
    {    	    	
      // Load value into variable
      value = parts[1];

      // End the loop
      break;
    }
  }

  // Convert escape code
  value = unescape(value);

  // Convert "+"s to " "s
  value.replace(/\+/g ," ");

  // Return the value
  return value;
}

function isdkExists ()
{
	for ( var i = 0; i < arguments.length; ++i )
	{
		if ( arguments[i] == null || typeof ( arguments[i] ) == 'undefined' )
			return false;
	}

	return true;
}

function isdkIsStr ()
{
	for ( var i = 0; i < arguments.length; ++i )
	{
		if ( arguments[i] == null || typeof ( arguments[i] ) != 'string' )
			return false;
	}

	return true;
}

function isdkNormalizeUri ()
{	
	for ( var i = 0; i < arguments.length; ++i )
	{
		if ( arguments[i] == null || typeof ( arguments[i] ) != 'string' )
			return arguments[i];
			
		if ( arguments[i].indexOf ( 'sip:' ) == -1 )
			arguments[i] = 'sip:' + arguments[i];
			
		return arguments[i];
	}

	return true;
}


/*
 * Strips the HTML font tags from an instant message
 */
function isdkStripFontTags ( msg  )
{
	var start = msg.indexOf ( ">" );
	var end = msg.indexOf ( "<", start + 1 );
	if ( ( start == -1 ) || ( end == -1 ) )
		return msg;
	var result = msg.substr ( start + 1, end - (start + 1) );
	return result;
}


/**
 * This function encodes a string so it's safe to pass it
 * as a parameter in the url.
 * It escapes quotes and makes sure + signs are kept
 */
function urlEncode(str) {

	return escape(str).replace(/[+]/g, '%2B');

}

/**
 * This function decodes a string after a urlencode 
 * so it's returned to normal.
 * It escapes quotes and makes sure + signs are kept
 */
function urlDecode(str) {

	return unescape(str).replace('%2B', '+');

}

 // HtmlDecode http://lab.msdn.microsoft.com/annotations/htmldecode.js

//   client side version of the useful Server.HtmlDecode method

//   takes one string (encoded) and returns another (decoded)

function HtmlDecode(s)
{

      var out = "";

      if (s==null) return;

 

      var l = s.length;

      for (var i=0; i<l; i++)

      {

            var ch = s.charAt(i);

           

            if (ch == '&')

            {

                  var semicolonIndex = s.indexOf(';', i+1);

                 

            if (semicolonIndex > 0)

            {

                        var entity = s.substring(i + 1, semicolonIndex);

                        if (entity.length > 1 && entity.charAt(0) == '#')

                        {

                              if (entity.charAt(1) == 'x' || entity.charAt(1) == 'X')

                                    ch = String.fromCharCode(eval('0'+entity.substring(1)));

                              else

                                    ch = String.fromCharCode(eval(entity.substring(1)));

                        }

                    else

                      {

                              switch (entity)

                              {

                                    case 'quot': ch = String.fromCharCode(0x0022); break;

                                    case 'amp': ch = String.fromCharCode(0x0026); break;

                                    case 'lt': ch = String.fromCharCode(0x003c); break;

                                    case 'gt': ch = String.fromCharCode(0x003e); break;

                                    case 'nbsp': ch = String.fromCharCode(0x00a0); break;

                                    case 'iexcl': ch = String.fromCharCode(0x00a1); break;

                                    case 'cent': ch = String.fromCharCode(0x00a2); break;

                                    case 'pound': ch = String.fromCharCode(0x00a3); break;

                                    case 'curren': ch = String.fromCharCode(0x00a4); break;

                                    case 'yen': ch = String.fromCharCode(0x00a5); break;

                                    case 'brvbar': ch = String.fromCharCode(0x00a6); break;

                                    case 'sect': ch = String.fromCharCode(0x00a7); break;

                                    case 'uml': ch = String.fromCharCode(0x00a8); break;

                                    case 'copy': ch = String.fromCharCode(0x00a9); break;

                                    case 'ordf': ch = String.fromCharCode(0x00aa); break;

                                    case 'laquo': ch = String.fromCharCode(0x00ab); break;

                                    case 'not': ch = String.fromCharCode(0x00ac); break;

                                    case 'shy': ch = String.fromCharCode(0x00ad); break;

                                    case 'reg': ch = String.fromCharCode(0x00ae); break;

                                    case 'macr': ch = String.fromCharCode(0x00af); break;

                                    case 'deg': ch = String.fromCharCode(0x00b0); break;

                                    case 'plusmn': ch = String.fromCharCode(0x00b1); break;

                                    case 'sup2': ch = String.fromCharCode(0x00b2); break;

                                    case 'sup3': ch = String.fromCharCode(0x00b3); break;

                                    case 'acute': ch = String.fromCharCode(0x00b4); break;

                                    case 'micro': ch = String.fromCharCode(0x00b5); break;

                                    case 'para': ch = String.fromCharCode(0x00b6); break;

                                    case 'middot': ch = String.fromCharCode(0x00b7); break;

                                    case 'cedil': ch = String.fromCharCode(0x00b8); break;

                                    case 'sup1': ch = String.fromCharCode(0x00b9); break;

                                    case 'ordm': ch = String.fromCharCode(0x00ba); break;

                                    case 'raquo': ch = String.fromCharCode(0x00bb); break;

                                    case 'frac14': ch = String.fromCharCode(0x00bc); break;

                                    case 'frac12': ch = String.fromCharCode(0x00bd); break;

                                    case 'frac34': ch = String.fromCharCode(0x00be); break;

                                    case 'iquest': ch = String.fromCharCode(0x00bf); break;

                                    case 'Agrave': ch = String.fromCharCode(0x00c0); break;

                                    case 'Aacute': ch = String.fromCharCode(0x00c1); break;

                                    case 'Acirc': ch = String.fromCharCode(0x00c2); break;

                                    case 'Atilde': ch = String.fromCharCode(0x00c3); break;

                                    case 'Auml': ch = String.fromCharCode(0x00c4); break;

                                    case 'Aring': ch = String.fromCharCode(0x00c5); break;

                                    case 'AElig': ch = String.fromCharCode(0x00c6); break;

                                    case 'Ccedil': ch = String.fromCharCode(0x00c7); break;

                                    case 'Egrave': ch = String.fromCharCode(0x00c8); break;

                                    case 'Eacute': ch = String.fromCharCode(0x00c9); break;

                                    case 'Ecirc': ch = String.fromCharCode(0x00ca); break;

                                    case 'Euml': ch = String.fromCharCode(0x00cb); break;

                                    case 'Igrave': ch = String.fromCharCode(0x00cc); break;

                                    case 'Iacute': ch = String.fromCharCode(0x00cd); break;

                                    case 'Icirc': ch = String.fromCharCode(0x00ce ); break;

                                    case 'Iuml': ch = String.fromCharCode(0x00cf); break;

                                    case 'ETH': ch = String.fromCharCode(0x00d0); break;

                                    case 'Ntilde': ch = String.fromCharCode(0x00d1); break;

                                    case 'Ograve': ch = String.fromCharCode(0x00d2); break;

                                    case 'Oacute': ch = String.fromCharCode(0x00d3); break;

                                    case 'Ocirc': ch = String.fromCharCode(0x00d4); break;

                                    case 'Otilde': ch = String.fromCharCode(0x00d5); break;

                                    case 'Ouml': ch = String.fromCharCode(0x00d6); break;

                                    case 'times': ch = String.fromCharCode(0x00d7); break;

                                    case 'Oslash': ch = String.fromCharCode(0x00d8); break;

                                    case 'Ugrave': ch = String.fromCharCode(0x00d9); break;

                                    case 'Uacute': ch = String.fromCharCode(0x00da); break;

                                    case 'Ucirc': ch = String.fromCharCode(0x00db); break;

                                    case 'Uuml': ch = String.fromCharCode(0x00dc); break;

                                    case 'Yacute': ch = String.fromCharCode(0x00dd); break;

                                    case 'THORN': ch = String.fromCharCode(0x00de); break;

                                    case 'szlig': ch = String.fromCharCode(0x00df); break;

                                    case 'agrave': ch = String.fromCharCode(0x00e0); break;

                                    case 'aacute': ch = String.fromCharCode(0x00e1); break;

                                    case 'acirc': ch = String.fromCharCode(0x00e2); break;

                                    case 'atilde': ch = String.fromCharCode(0x00e3); break;

                                    case 'auml': ch = String.fromCharCode(0x00e4); break;

                                    case 'aring': ch = String.fromCharCode(0x00e5); break;

                                    case 'aelig': ch = String.fromCharCode(0x00e6); break;

                                    case 'ccedil': ch = String.fromCharCode(0x00e7); break;

                                    case 'egrave': ch = String.fromCharCode(0x00e8); break;

                                    case 'eacute': ch = String.fromCharCode(0x00e9); break;

                                    case 'ecirc': ch = String.fromCharCode(0x00ea); break;

                                    case 'euml': ch = String.fromCharCode(0x00eb); break;

                                    case 'igrave': ch = String.fromCharCode(0x00ec); break;

                                    case 'iacute': ch = String.fromCharCode(0x00ed); break;

                                    case 'icirc': ch = String.fromCharCode(0x00ee); break;

                                    case 'iuml': ch = String.fromCharCode(0x00ef); break;

                                    case 'eth': ch = String.fromCharCode(0x00f0); break;

                                    case 'ntilde': ch = String.fromCharCode(0x00f1); break;

                                    case 'ograve': ch = String.fromCharCode(0x00f2); break;

                                    case 'oacute': ch = String.fromCharCode(0x00f3); break;

                                    case 'ocirc': ch = String.fromCharCode(0x00f4); break;

                                    case 'otilde': ch = String.fromCharCode(0x00f5); break;

                                    case 'ouml': ch = String.fromCharCode(0x00f6); break;

                                    case 'divide': ch = String.fromCharCode(0x00f7); break;

                                    case 'oslash': ch = String.fromCharCode(0x00f8); break;

                                    case 'ugrave': ch = String.fromCharCode(0x00f9); break;

                                    case 'uacute': ch = String.fromCharCode(0x00fa); break;

                                    case 'ucirc': ch = String.fromCharCode(0x00fb); break;

                                    case 'uuml': ch = String.fromCharCode(0x00fc); break;

                                    case 'yacute': ch = String.fromCharCode(0x00fd); break;

                                    case 'thorn': ch = String.fromCharCode(0x00fe); break;

                                    case 'yuml': ch = String.fromCharCode(0x00ff); break;

                                    case 'OElig': ch = String.fromCharCode(0x0152); break;

                                    case 'oelig': ch = String.fromCharCode(0x0153); break;

                                    case 'Scaron': ch = String.fromCharCode(0x0160); break;

                                    case 'scaron': ch = String.fromCharCode(0x0161); break;

                                    case 'Yuml': ch = String.fromCharCode(0x0178); break;

                                    case 'fnof': ch = String.fromCharCode(0x0192); break;

                                    case 'circ': ch = String.fromCharCode(0x02c6); break;

                                    case 'tilde': ch = String.fromCharCode(0x02dc); break;

                                    case 'Alpha': ch = String.fromCharCode(0x0391); break;

                                    case 'Beta': ch = String.fromCharCode(0x0392); break;

                                    case 'Gamma': ch = String.fromCharCode(0x0393); break;

                                    case 'Delta': ch = String.fromCharCode(0x0394); break;

                                    case 'Epsilon': ch = String.fromCharCode(0x0395); break;

                                    case 'Zeta': ch = String.fromCharCode(0x0396); break;

                                    case 'Eta': ch = String.fromCharCode(0x0397); break;

                                    case 'Theta': ch = String.fromCharCode(0x0398); break;

                                    case 'Iota': ch = String.fromCharCode(0x0399); break;

                                    case 'Kappa': ch = String.fromCharCode(0x039a); break;

                                    case 'Lambda': ch = String.fromCharCode(0x039b); break;

                                    case 'Mu': ch = String.fromCharCode(0x039c); break;

                                    case 'Nu': ch = String.fromCharCode(0x039d); break;

                                    case 'Xi': ch = String.fromCharCode(0x039e); break;

                                    case 'Omicron': ch = String.fromCharCode(0x039f); break;

                                    case 'Pi': ch = String.fromCharCode(0x03a0); break;

                                    case ' Rho ': ch = String.fromCharCode(0x03a1); break;

                                    case 'Sigma': ch = String.fromCharCode(0x03a3); break;

                                    case 'Tau': ch = String.fromCharCode(0x03a4); break;

                                    case 'Upsilon': ch = String.fromCharCode(0x03a5); break;

                                    case 'Phi': ch = String.fromCharCode(0x03a6); break;

                                    case 'Chi': ch = String.fromCharCode(0x03a7); break;

                                    case 'Psi': ch = String.fromCharCode(0x03a8); break;

                                    case 'Omega': ch = String.fromCharCode(0x03a9); break;

                                    case 'alpha': ch = String.fromCharCode(0x03b1); break;

                                    case 'beta': ch = String.fromCharCode(0x03b2); break;

                                    case 'gamma': ch = String.fromCharCode(0x03b3); break;

                                    case 'delta': ch = String.fromCharCode(0x03b4); break;

                                    case 'epsilon': ch = String.fromCharCode(0x03b5); break;

                                    case 'zeta': ch = String.fromCharCode(0x03b6); break;

                                    case 'eta': ch = String.fromCharCode(0x03b7); break;

                                    case 'theta': ch = String.fromCharCode(0x03b8); break;

                                    case 'iota': ch = String.fromCharCode(0x03b9); break;

                                    case 'kappa': ch = String.fromCharCode(0x03ba); break;

                                    case 'lambda': ch = String.fromCharCode(0x03bb); break;

                                    case 'mu': ch = String.fromCharCode(0x03bc); break;

                                    case 'nu': ch = String.fromCharCode(0x03bd); break;

                                    case 'xi': ch = String.fromCharCode(0x03be); break;

                                    case 'omicron': ch = String.fromCharCode(0x03bf); break;

                                    case 'pi': ch = String.fromCharCode(0x03c0); break;

                                    case 'rho': ch = String.fromCharCode(0x03c1); break;

                                    case 'sigmaf': ch = String.fromCharCode(0x03c2); break;

                                    case 'sigma': ch = String.fromCharCode(0x03c3); break;

                                    case 'tau': ch = String.fromCharCode(0x03c4); break;

                                    case 'upsilon': ch = String.fromCharCode(0x03c5); break;

                                    case 'phi': ch = String.fromCharCode(0x03c6); break;

                                    case 'chi': ch = String.fromCharCode(0x03c7); break;

                                    case 'psi': ch = String.fromCharCode(0x03c8); break;

                                    case 'omega': ch = String.fromCharCode(0x03c9); break;

                                    case 'thetasym': ch = String.fromCharCode(0x03d1); break;

                                    case 'upsih': ch = String.fromCharCode(0x03d2); break;

                                    case 'piv': ch = String.fromCharCode(0x03d6); break;

                                    case 'ensp': ch = String.fromCharCode(0x2002); break;

                                    case 'emsp': ch = String.fromCharCode(0x2003); break;

                                    case 'thinsp': ch = String.fromCharCode(0x2009); break;

                                    case 'zwnj': ch = String.fromCharCode(0x200c); break;

                                    case 'zwj': ch = String.fromCharCode(0x200d); break;

                                    case 'lrm': ch = String.fromCharCode(0x200e); break;

                                    case 'rlm': ch = String.fromCharCode(0x200f); break;

                                    case 'ndash': ch = String.fromCharCode(0x2013); break;

                                    case 'mdash': ch = String.fromCharCode(0x2014); break;

                                    case 'lsquo': ch = String.fromCharCode(0x2018); break;

                                    case 'rsquo': ch = String.fromCharCode(0x2019); break;

                                    case 'sbquo': ch = String.fromCharCode(0x201a); break;

                                    case 'ldquo': ch = String.fromCharCode(0x201c); break;

                                    case 'rdquo': ch = String.fromCharCode(0x201d); break;

                                    case 'bdquo': ch = String.fromCharCode(0x201e); break;

                                    case 'dagger': ch = String.fromCharCode(0x2020); break;

                                    case 'Dagger': ch = String.fromCharCode(0x2021); break;

                                    case 'bull': ch = String.fromCharCode(0x2022); break;

                                    case 'hellip': ch = String.fromCharCode(0x2026); break;

                                    case 'permil': ch = String.fromCharCode(0x2030); break;

                                    case 'prime': ch = String.fromCharCode(0x2032); break;

                                    case 'Prime': ch = String.fromCharCode(0x2033); break;

                                    case 'lsaquo': ch = String.fromCharCode(0x2039); break;

                                    case 'rsaquo': ch = String.fromCharCode(0x203a); break;

                                    case 'oline': ch = String.fromCharCode(0x203e); break;

                                    case 'frasl': ch = String.fromCharCode(0x2044); break;

                                    case 'euro': ch = String.fromCharCode(0x20ac); break;

                                    case 'image': ch = String.fromCharCode(0x2111); break;

                                    case 'weierp': ch = String.fromCharCode(0x2118); break;

                                    case 'real': ch = String.fromCharCode(0x211c); break;

                                    case 'trade': ch = String.fromCharCode(0x2122); break;

                                    case 'alefsym': ch = String.fromCharCode(0x2135); break;

                                    case 'larr': ch = String.fromCharCode(0x2190); break;

                                    case 'uarr': ch = String.fromCharCode(0x2191); break;

                                    case 'rarr': ch = String.fromCharCode(0x2192); break;

                                    case 'darr': ch = String.fromCharCode(0x2193); break;

                                    case 'harr': ch = String.fromCharCode(0x2194); break;

                                    case 'crarr': ch = String.fromCharCode(0x21b5); break;

                                    case 'lArr': ch = String.fromCharCode(0x21d0); break;

                                    case 'uArr': ch = String.fromCharCode(0x21d1); break;

                                    case 'rArr': ch = String.fromCharCode(0x21d2); break;

                                    case 'dArr': ch = String.fromCharCode(0x21d3); break;

                                    case 'hArr': ch = String.fromCharCode(0x21d4); break;

                                    case 'forall': ch = String.fromCharCode(0x2200); break;

                                    case 'part': ch = String.fromCharCode(0x2202); break;

                                    case 'exist': ch = String.fromCharCode(0x2203); break;

                                    case 'empty': ch = String.fromCharCode(0x2205); break;

                                    case 'nabla': ch = String.fromCharCode(0x2207); break;

                                    case 'isin': ch = String.fromCharCode(0x2208); break;

                                    case 'notin': ch = String.fromCharCode(0x2209); break;

                                    case 'ni': ch = String.fromCharCode(0x220b); break;

                                    case 'prod': ch = String.fromCharCode(0x220f); break;

                                    case 'sum': ch = String.fromCharCode(0x2211); break;

                                    case 'minus': ch = String.fromCharCode(0x2212); break;

                                    case 'lowast': ch = String.fromCharCode(0x2217); break;

                                    case 'radic': ch = String.fromCharCode(0x221a); break;

                                    case 'prop': ch = String.fromCharCode(0x221d); break;

                                    case 'infin': ch = String.fromCharCode(0x221e); break;

                                    case 'ang': ch = String.fromCharCode(0x2220); break;

                                    case 'and': ch = String.fromCharCode(0x2227); break;

                                    case 'or': ch = String.fromCharCode(0x2228); break;

                                    case 'cap': ch = String.fromCharCode(0x2229); break;

                                    case 'cup': ch = String.fromCharCode(0x222a); break;

                                    case 'int': ch = String.fromCharCode(0x222b); break;

                                    case 'there4': ch = String.fromCharCode(0x2234); break;

                                    case 'sim': ch = String.fromCharCode(0x223c); break;

                                    case 'cong': ch = String.fromCharCode(0x2245); break;

                                    case 'asymp': ch = String.fromCharCode(0x2248); break;

                                    case 'ne': ch = String.fromCharCode(0x2260); break;

                                    case 'equiv': ch = String.fromCharCode(0x2261); break;

                                    case 'le': ch = String.fromCharCode(0x2264); break;

                                    case 'ge': ch = String.fromCharCode(0x2265); break;

                                    case 'sub': ch = String.fromCharCode(0x2282); break;

                                    case 'sup': ch = String.fromCharCode(0x2283); break;

                                    case 'nsub': ch = String.fromCharCode(0x2284); break;

                                    case 'sube': ch = String.fromCharCode(0x2286); break;

                                    case 'supe': ch = String.fromCharCode(0x2287); break;

                                    case 'oplus': ch = String.fromCharCode(0x2295); break;

                                    case 'otimes': ch = String.fromCharCode(0x2297); break;

                                    case 'perp': ch = String.fromCharCode(0x22a5); break;

                                    case 'sdot': ch = String.fromCharCode(0x22c5); break;

                                    case 'lceil': ch = String.fromCharCode(0x2308); break;

                                    case 'rceil': ch = String.fromCharCode(0x2309); break;

                                    case 'lfloor': ch = String.fromCharCode(0x230a); break;

                                    case 'rfloor': ch = String.fromCharCode(0x230b); break;

                                    case 'lang': ch = String.fromCharCode(0x2329); break;

                                    case 'rang': ch = String.fromCharCode(0x232a); break;

                                    case 'loz': ch = String.fromCharCode(0x25ca); break;

                                    case 'spades': ch = String.fromCharCode(0x2660); break;

                                    case 'clubs': ch = String.fromCharCode(0x2663); break;

                                    case 'hearts': ch = String.fromCharCode(0x2665); break;

                                    case 'diams': ch = String.fromCharCode(0x2666); break;
                                    
                                    case 'apos': ch = String.fromCharCode(0x2019); break;

                                    default: ch = ''; break;

                              }

                        }

                        i = semicolonIndex;

                  }

            }

           

            out += ch;

      }

 
      return out;

}


/********************/
/* Cookie functions */
/********************/

function isdkSetCookie ( cookieName, cookieValue, daysToLive, path )
{
	var cookieText = cookieName + "=" + escape( cookieValue );

	if ( isdkIsNum ( daysToLive ) )
	{
		var today = new Date();
		var expireDate = new Date();
		expireDate.setTime ( today.getTime () + 1000*60*60*24*daysToLive );
		cookieText += "; expires=" + expireDate.toGMTString ();
	}

	if ( isdkIsStr ( path ) )
		cookieText += "; PATH=" + path;				

	document.cookie = cookieText;

	return null;
}

function isdkGetCookie ( cookieName )
{
	var cookieValue = null;
	var searchText = cookieName + "=";

	if ( document.cookie.length > 0 )
	{
		var startIndex = document.cookie.indexOf ( searchText );
		if ( startIndex != -1 )
		{
			startIndex += searchText.length;
			var endIndex = document.cookie.indexOf ( ";", startIndex );
			if ( endIndex == -1 )
				endIndex = document.cookie.length;
			cookieValue = unescape ( document.cookie.substring ( startIndex, endIndex ) );
		}
	}

	return cookieValue;
}

function isdkDeleteCookie ( cookieName, path )
{
	isdkSetCookie ( cookieName, "Deleted", -1, path )
}
/******* END COOKIES *******/