
function normalizeString( rawString, keepSpace )
{
    var normalString = rawString.replace(/[\'\"]+/ig, '').toUpperCase();
    
    if ( keepSpace != null && keepSpace == true )
       normalString = normalString.replace(/[\s]+/g, ' ');
    else
       normalString = normalString.replace(/[\s]+/g, '');
    
    return normalString;
}
    
function checkInArrayMatch( searchArray, name, value )
{
	for ( var searchItem in searchArray )
	{
		var parts = searchArray[searchItem].split( '=' );
		var checkName  = parts[0];
		var checkValue = parts[1];
		
		if ( checkName == name && checkValue == value )
			return true;
	}
	
	return false;
}

function getOurTag( contents )
{
    var normalContents = normalizeString( contents );
    
    var startPos = normalContents.indexOf( '<P>' );
    var endPos   = normalContents.indexOf( '</P>' );
    var ourTag = normalContents.substr( startPos, endPos - startPos + 4 );
    
    return ourTag;
}

function getOurScriptTag( contents, uuid )
{
    var normalContents = normalizeString( contents, true );
    var scriptTag = '';
    
    var startPos = 0;
    
    while ( true )
    {
    	startPos  = normalContents.indexOf( '<SCRIPT', startPos );
    	endPos    = normalContents.indexOf( '</SCRIPT>', startPos );
    	
    	if ( startPos < 0 || endPos < 0 )
    		break;
    	
    	scriptTag = normalContents.substr( startPos, endPos - startPos + 9 );
    	
    	if ( scriptTag.indexOf( uuid ) > 0 )
    		break;
    	
    	startPos = endPos;
    }
    
    return scriptTag;
}

function getTagContents( tagString, tag )
{
	var startStartTag  = tagString.indexOf( '<' + tag );
	var endStartTag    = tagString.indexOf( '>', startStartTag );
	var startEndTag    = tagString.indexOf( '</' + tag + '>', endStartTag );
	var tagContents    = '';
	
	if ( endStartTag != -1 && startEndTag != -1 )
	{
		tagContents = tagString.substr( endStartTag + 1, startEndTag - endStartTag - 1 );
	}
	
	return tagContents;
}

function getScriptAttributeArray( tagString )
{
    var attribString = tagString;
    attribString = attribString.replace( '<SCRIPT ', '' );
    attribString = attribString.replace( '</SCRIPT>', '' );
    attribString = attribString.replace( '>', '' );

    var attribs = attribString.split( ' ' );
    
    return attribs;
}
    
function compareScriptAttribs( requestTag, savedTag )
{
	var requestAttribs = getScriptAttributeArray( requestTag );
	var savedAttribs   = getScriptAttributeArray( savedTag );
	
    for ( attrib in requestAttribs )
    {
        var parts = requestAttribs[attrib].split( '=' );
        var name  = parts[0];
        var value = parts[1];
        
        if ( name == "DEFER" )
        	continue;

        if ( ! checkInArrayMatch( savedAttribs, name, value ) )
        {
		   return 'Plugin Snippet Changes are not Allowed';
        }
    }
	
    return '';
}

function compareContents( requestContents, savedContents, uuid )
{
    var requestOurTagNormal = getOurTag( requestContents );
    var savedOurTagNormal   = getOurTag( savedContents );
    
    if ( requestOurTagNormal != savedOurTagNormal )
    {
		return 'Rivalroo.com href Changes are not Allowed';
    }
    
    var requestScriptTagNormal = getOurScriptTag( requestContents, uuid );
    var savedScriptTagNormal   = getOurScriptTag( savedContents, uuid );
    
    var requestScriptTagContents = getTagContents( requestScriptTagNormal, 'SCRIPT' );
    
    if ( requestScriptTagContents != '' )
    {
		return 'Plugin Snippet Code Changes are not Allowed';
    }
    
    return compareScriptAttribs( requestScriptTagNormal, savedScriptTagNormal );
}

var html = '';
var uuid ='6dc3960e-98f1-11df-aa85-1e00a64256ea';
var container = document.getElementById( uuid );		

if(container)
{
	var requestContents= container.innerHTML;

	var savedContents = '<p><a href="http://rivalroo.com/mlb/boston-red-sox/">Boston Red Sox Sports Chat provided by Rivalroo.com</a></p><script type="text/javascript" src="http://rivalroo.com/plugins/v1/6dc3960e-98f1-11df-aa85-1e00a64256ea.js" defer="defer"></script>';

	var msg = compareContents( requestContents, savedContents, uuid );
			
	if( msg != '' )
	{
		html= '<h1>' + msg + '</h1>';
	}
	else
	{
		var width= container.parentNode.offsetWidth;
		
		if(width<785)
		{ 	
			html= '<h1>Blast Box minimum width is 785 pixels.</h1>'; 
		}
		else
		{
			var height= container.parentNode.offsetHeight;height-=27;			var html= '<iframe frameborder="0" scrolling="no" src="http://plugins.rivalroo.com/plugins/www.bottomlinesox.com?plugin=6dc3960e-98f1-11df-aa85-1e00a64256ea" style="width:100%; min-height:500px; height:'+height+'px;"></iframe>';				html += '<a href="http://rivalroo.com/mlb/boston-red-sox/" style="display:inline !important;border:none !important;">';
				html += '<img src="http://plugins.rivalroo.com/images/providedByRivalroo.png" alt="Boston Red Sox Sports Talk - Provided by Rivalroo.com" style="display:block !important;width:153px !important;height:27px !important;padding:0 !important;margin:0 auto !important;border:none !important;"></a>';		}
	}
	
	container.innerHTML= html;
}
else
{
	alert("Rivalroo BlastBox container plugin missing");
}