
var items;
var rpc_url = "/rpc.php?action=replace_text";
var path = "/static/img/cache/";


  addItem({
      selector : '#main_navigation li a.level_1',
      params1  : {font_size: 14, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      params2  : {font_size: 14, font : "gunplay", bg_color : "#c86136", font_color : "#fff"},
      wordwrap : false
  });


  addItem({
      selector : '.tab_container_head li a',
      params1  : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      params2  : {font_size: 12, font : "gunplay", bg_color : "#c86136", font_color : "#fff"},
      wordwrap : false
  });

  addItem({
      selector   : '.co_head h2',
      dontselect : '.tab_container_tab .co_head h2,.searchlist .co_head h2, .overlay_text h2',
      params1    : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      wordwrap   : false
  });

  addItem({
      selector   : 'h1.co_headline',
      params1    : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      wordwrap   : false
  });

  addItem({
      selector : '.ugc_upload a.btn_upload',
      params1  : {font_size: 12, font : "gunplay", bg_color : "#D66E05", font_color : "#fff"},
      params2  : {font_size: 12, font : "gunplay", bg_color : "#DF7B05", font_color : "#000"},
      wordwrap : false
  });

  /*addItem({
      selector : '#page_body_main_content .co_head h2',
      params1  : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      wordwrap : false
  });

  addItem({
      selector : '.login h2',
      params1  : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      wordwrap : false
  });

  addItem({
      selector : '#page_body_right_content .co_head h2',
      params1  : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      wordwrap : false
  });

  addItem({
      selector : '.recommendation .co_head h2',
      params1  : {font_size: 12, font : "gunplay", bg_color : "#000", font_color : "#fff"},
      wordwrap : false
  });*/


$(document).ready(function()
{
  replaceText( items );
});

function addItem( obj )
{
	if(typeof items == "undefined")
		items = new Array();

	items[items.length] = obj;
}

// var escapeText = (typeof(encodeURIComponent) != 'undefined') ? encodeURIComponent : function(text){ return escape(text).replace(/\+/g,'%2B'); } ;

function replaceText( items )
{

  if ( typeof items == "undefined" || items.length == 0)
    return false;

  for (var i = 0; i < items.length; i++)
  {
      var curr = items[i];
      var elems = new Array();
      if (typeof curr.dontselect != 'undefined' && curr.dontselect != '' && curr.dontselect)
      {
        elems = $(curr.selector).not($(curr.dontselect));
      }
      else
        elems = $(curr.selector);

      if( elems.length > 0 )
      {
        for( var j = 0; j < elems.length; j++ )
        {
            if( !elems[j] )
    		    continue ;

    	    var text = extractText( elems[j] );
    	    text = trim(text);
        	while( elems[j].hasChildNodes() )
    			elems[j].removeChild(elems[j].firstChild);

    		var tokens = curr.wordwrap ? text.split(' ') : [text];

    		for(var k = 0; k < tokens.length; k++ )
    		{


    		    //curr.params1.text = escapeText( tokens[k] ) + ' ';
    		    //curr.params2.text = escapeText( tokens[k] ) + ' ';

    		    curr.params1.text = tokens[k] + ' ';
    		    if ( curr.params2 )
    		      curr.params2.text = tokens[k] + ' ';

    			var elem = $(elems[j]);

    			var img = $('<img class="replacement" />');
    			img.attr('alt', tokens[k]+' ');

/*
    			var src1  = $.ajax({type: "GET", url: rpc_url, async: false, data: curr.params1}).responseText;
                var src1 = rpc_url + '&' + jQuery.param(curr.params1);
    			// hover bild?
    			if ( curr.params2 )
    			  var src2  = $.ajax({type: "GET", url: rpc_url, async: false, data: curr.params2}).responseText;
                  var src2 = rpc_url + '&' + jQuery.param(curr.params2);

    			img.attr('src' , path + src1);
    			img.attr('src1', path + src1);
    			img.attr('src2', path + src2);

    			if( curr.params2 )
    			{
    			  img.attr("onmouseover", "this.src=\'" + path + src2 + "\'");
    			  img.attr("onmouseout", "this.src=\'" + path + src1 + "\'");
                }
*/
                var src1 = rpc_url + '&' + jQuery.param(curr.params1);
                img.attr('src' , src1);
                img.data('src1' , src1);
                elem.data('src1', src1);

                // hover bild?
                if ( curr.params2 ) {
                  var src2 = rpc_url + '&' + jQuery.param(curr.params2);
                  img.data('src2', src2);
                  elem.data('src2', src2);

                  elem.bind('mouseenter',function()
                                        {
                                          $('img.replacement', $(this) ).attr('src', $(this).data('src2'));
                                        }
                           );

                  elem.bind('mouseleave',function()
                                        {
                                          $('img.replacement', $(this) ).attr('src', $(this).data('src1'));
                                        }
                           );

                }


    			elem.append(img);

    		}

        }
      }
  }

}

function extractText(element)
{
	if(typeof element == "string")
		return element;
	else if(typeof element == "undefined")
		return element;

	var text = "";
	var kids = element.childNodes;
	for(var i=0;i<kids.length;i++)
	{
		if(kids[i].nodeType == 1)
		text += extractText(kids[i]);
		else if(kids[i].nodeType == 3)
		text += kids[i].nodeValue;
	}

	return text;
}

function trim( text )
{
    return(text.replace(/\s+/g," ").replace(/\s+$/,"").replace(/^\s+/,""));
}
