/* <![CDATA[ */

///
/// OmniBreaker v0.1 - omnibreaker.js
/// 
/// Funktion: Frame- und Suchmaschinen-Cache-Breaker
///
/// Copyright (c) 2007 by Naden Badalgogtapeh - http://www.naden.de - http://www.naden.de/blog
///
/// Die Nutzung diese Scripts ist für jede Art kostenlos, solange
/// dieser Hinweis bestehen bleibt und das Script nicht verkauft wird.
///

(
	function(){

		var l = parent.frames.length > 0 ? top.location : document.location;

		var expressions = [
			/// pattern, match index, match count, extra
			[ /search\?q=cache:(.*?):(.*?)\+(.*?)&/gi, 2, 4, 'http://' ],					/// Google Cache
			[ /images\.google\.(.*?)\/imgres\?imgurl=(.*?)&imgrefurl=(.*?)&/gi, 3, 4, '' ],	/// Google Images
			[ /search\/cache\?p=(.*?)&(.*)&u=(.*?)&/gi, 3, 4, 'http://' ],					/// Yahoo Cache
			[ /\.search\.yahoo\.(.*?)\/search\/images\/view?(.*)&rurl=(.*?)&/gi, 3, 4, '' ]	/// Yahoo Images
		];

		var t = null;
		for( var k=0; k<expressions.length; k++ ) {
			
			var matches = expressions[ k ][ 0 ].exec( l );
			
			if( matches && matches.length == expressions[ k ][ 2 ] ) {
				t = expressions[ k ][ 3 ] + unescape( matches[ expressions[ k ][ 1 ] ] );
				break;
			}
		}

		if( t ) {
			/// alert( t );
			if( parent.frames.length > 0 ) {
				top.location.replace( t );
			}
			else {
				document.location.replace( t );
			}
		}
	}
)(); 
/* ]]> */
