/* Cookie setting/getting code is borrowed from techpatterns.com */

function Set_Cookie( name, value, expires, path, domain, secure ) {
  // set time, it's in milliseconds
  var today = new Date();
  today.setTime( today.getTime() );

  /* Expires is denoted in days */
  if ( expires ) {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date( today.getTime() + (expires) );

  document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	( ( path ) ? ";path=" + path : "" ) + 
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}
			
function Get_Cookie( check_name ) {
  // first we'll split this cookie up into name/value pairs
  // note: document.cookie only returns name=value
  var a_all_cookies = document.cookie.split( ';' );
  var a_temp_cookie = '';
  var cookie_name = '';
  var cookie_value = '';
  var b_cookie_found = false; // set boolean t/f default f
	
  for ( i = 0; i < a_all_cookies.length; i++ ) {
    // now we'll split apart each name=value pair
    a_temp_cookie = a_all_cookies[i].split( '=' );
		
    // and trim left/right whitespace while we're at it
    cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
	
    // if the extracted name matches passed check_name
    if ( cookie_name == check_name ) {
      b_cookie_found = true;
      // in case cookie has no value but exists (no = sign, that is):
      if ( a_temp_cookie.length > 1 ) {
        cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
      }
      return cookie_value; // null if previous if failed, which is ambiguous
      break;
    }
    a_temp_cookie = null;
    cookie_name = '';
  }
  if ( !b_cookie_found ) {
    return null;
  }
}

/* My inverse code. Browser detection borrowed somewhat from techpatterns.
 */
var isInverse = 0;
var braindamage = (navigator.userAgent.indexOf('Safari') != -1 ||
                   navigator.userAgent.indexOf('Konqueror') != -1 ||
                   !document.styleSheets || navigator.__ice_version);

function setInverse() {
  if (document.images) {
    for (i=0; i < document.images.length; i++) {
      document.images[i].src = document.images[i].src.replace(/qniv/, "qinv");
    }
  }
  for (i=0; i < document.styleSheets.length; i++) {
    if (document.styleSheets[i].title) {
      document.styleSheets[i].disabled = true;
      if (document.styleSheets[i].title == "invstyle")
        document.styleSheets[i].disabled = false;
    }
  }
  isInverse = 1;
}

function setNormal() {
  if (document.images) {
    for (i=0; i < document.images.length; i++) {
      document.images[i].src = document.images[i].src.replace(/qinv/, "qniv");
    }
  }
  for (i=0; i < document.styleSheets.length; i++) {
    if (document.styleSheets[i].title) {
      document.styleSheets[i].disabled = true;
      if (document.styleSheets[i].title == "nivstyle")
        document.styleSheets[i].disabled = false;
    }
  }
  isInverse = 0;
}

function swapColor() {
  if (isInverse) {
    setNormal();
    Set_Cookie( "yihchuninverse", "false", 60, "/", false, false);
  } else {
    setInverse();
    Set_Cookie( "yihchuninverse", "true", 60, "/", false, false);
  }
  if (braindamage) {
    window.location.href = unescape(window.location.pathname);
  }
}

function myinit() {
  if (Get_Cookie( "yihchuninverse" ) == "true") {
    setInverse();
  } else {
    setNormal();
  }
}

//myinit();
window.onload=myinit;
if (!braindamage) {
    document.write('<link type="text/css" rel="stylesheet" href="style_qinv.css" title="invstyle">');
    document.write('<link type="text/css" rel="stylesheet" href="style_qniv.css" title="nivstyle">');
} else if (Get_Cookie( "yihchuninverse" ) == "true") {
    document.write('<link type="text/css" rel="stylesheet" href="style_qinv.css" title="invstyle">');
} else {
    document.write('<link type="text/css" rel="stylesheet" href="style_qniv.css" title="nivstyle">');
}

