////////////////////////////////////
//  HANDLE MULTIPLE WINDOW.ONLOADS
////////////////////////////////////


window.addOnload = function (fn) {
    if (!window.OnloadCache) window.OnloadCache = [];
    var ol = window.OnloadCache;
    ol.push( fn );
}

window.onload = function () {
    var ol = window.OnloadCache;
    if (ol)
        for (var x = 0; x < ol.length; x++)
            ol[x]();
}

////////////////////////////////////
//  SIIR - <ELEMENT> DRAW SETTINGS
////////////////////////////////////

// DECLARE GLOBAL VARIABLE SETTINGS
// CHANGE THESE TO FIT YOUR PREFERENCES

var path="http://www.faithmbc.com/siir/";			//ABSOLUTE PATH TO SIIR GENERATOR FOLDER
var elements=new Array("h1","h2","h3");				//ELEMENTS WITHIN THIS ARRAY WILL RUN SIIR

var settings=new Array();					//THIS IS THE SETTINGS ARRAY
								//ADD APPROPRIATE <ELEMENT> SETTINGS BELOW
								//MAKE SURE YOU COPY NEW SETTINGS FOR ADDITIONAL <ELEMENT>'S
								//OR YOU'LL GET JAVASCRIPT ERRORS


settings["h1"]=new Array();					//ELEMENT SETTING ARRAY
settings["h1"]["padding"]=3;					//IMAGE PADDING
settings["h1"]["bgcolor"]="FFFFFF";				//BACKGROUND COLOR OF THE IMAGE
settings["h1"]["transparentbg"]=0;				//TRANSPARENT BACKGROUND?  (1=YES,0=NO)
settings["h1"]["font_color"]="000000";				//TEXT FONT COLOR
settings["h1"]["shadow_color"]="92845D";			//TEXT SHADOW COLOR
settings["h1"]["font_file"]="maian.ttf";			//TEXT FONT FACE (.TTF ONLY)
settings["h1"]["font_size"]=30;					//TEXT FONT SIZE (THIS IS PT'S, NOT PXL'S)
settings["h1"]["antialias"]=1;					//TURN ON TEXT ANTIALIASING? (1=YES,0=NO)
settings["h1"]["resizevalue"]=4;				//NUMBER OF POINTS TO RESIZE TEXT BY

settings["h1"]["h"]=(parseInt(settings["h1"]["font_size"])+parseInt(settings["h1"]["padding"]));	//DO NOT CHANGE THIS!

settings["h2"]=new Array();					//ELEMENT SETTING ARRAY
settings["h2"]["padding"]=3;					//IMAGE PADDING
settings["h2"]["bgcolor"]="FFFFFF";				//BACKGROUND COLOR OF THE IMAGE
settings["h2"]["transparentbg"]=0;				//TRANSPARENT BACKGROUND?  (1=YES,0=NO)
settings["h2"]["font_color"]="000000";				//TEXT FONT COLOR
settings["h2"]["shadow_color"]="92845D";			//TEXT SHADOW COLOR
settings["h2"]["font_file"]="CAMBRIAB.TTF";			//TEXT FONT FACE (.TTF ONLY)
settings["h2"]["font_size"]=20;					//TEXT FONT SIZE (THIS IS PT'S, NOT PXL'S)
settings["h2"]["antialias"]=1;					//TURN ON TEXT ANTIALIASING? (1=YES,0=NO)
settings["h2"]["resizevalue"]=4;				//NUMBER OF POINTS TO RESIZE TEXT BY

settings["h2"]["h"]=(parseInt(settings["h2"]["font_size"])+parseInt(settings["h2"]["padding"]));	//DO NOT CHANGE THIS!	

settings["h3"]=new Array();					//ELEMENT SETTING ARRAY
settings["h3"]["padding"]=0;					//IMAGE PADDING
settings["h3"]["bgcolor"]="FFFFFF";				//BACKGROUND COLOR OF THE IMAGE
settings["h3"]["transparentbg"]=0;				//TRANSPARENT BACKGROUND?  (1=YES,0=NO)
settings["h3"]["font_color"]="000000";				//TEXT FONT COLOR
settings["h3"]["shadow_color"]="92845D";			//TEXT SHADOW COLOR
settings["h3"]["font_file"]="maian.ttf";			//TEXT FONT FACE (.TTF ONLY)
settings["h3"]["font_size"]=20;					//TEXT FONT SIZE (THIS IS PT'S, NOT PXL'S)
settings["h3"]["antialias"]=1;					//TURN ON TEXT ANTIALIASING? (1=YES,0=NO)
settings["h3"]["resizevalue"]=4;				//NUMBER OF POINTS TO RESIZE TEXT BY

settings["h3"]["h"]=(parseInt(settings["h2"]["font_size"])+parseInt(settings["h2"]["padding"]));	//DO NOT CHANGE THIS!	

////////////////////////////////////
//  SIIR - ELEMENT INNERHTML
////////////////////////////////////

function SIIR_normalizeWhiteSpace(txt) {
	var rE = /\s+/gi;
	return txt.replace(rE,' ');
	}

function SIIR_get_href(txt)  {
var text=txt;
var thishref= text.replace(/<a(.*)href=\"/gi,'');
thishref=thishref.replace(/\">(.*)/gi,'');

return thishref;

	}

function SIIR_get_id(txt)  {
var text=txt;
var thisid= text.replace(/<a(.*)id=\"/gi,'');
thisid=thisid.replace(/\">(.*)/gi,'');

return thisid;

	}

function SIIR_get_text(txt)  {
var text=txt;
var txt = text.replace(/<\/a>/gi,'');
txt = txt.replace(/<a(.*)>/gi,'');
return txt;

	}

////////////////////////////////////
//  SIIR - REPLACE THE ELEMENT WITH AN <IMG>
////////////////////////////////////

function SIIR_replace() {

var d = document;
for (var a=(elements.length-1); a>=0; a--) {
var current_element=elements[a];
var element = d.getElementsByTagName(current_element);

	// LOOP THROUGH EACH <ELEMENT>
	for (var i=(element.length-1); i>=0; i--) {
		contain=element[i];
			if(current_element=='li'&&contain.parentNode.id!='questions'){
			}else{
			// CONTAINER TO WORK WITH
			var c = d.createElement('div');
			c.className = current_element;
				
			// SWAP <ELEMENT> TAG WITH THE CONTAINER
			contain.parentNode.replaceChild(c,contain);
				
			// SET THE "CURRENT_ELEMENT.TEXT" VARIABLE
			settings[current_element]["text"] = SIIR_normalizeWhiteSpace(contain.innerHTML);

			var thisid='';
			reg=/id/i;
			if(reg.test(settings[current_element]["text"])){
			var thisid = SIIR_get_id(settings[current_element]["text"]);
			}

			var href='';

			reg=/href/i;
			if(reg.test(settings[current_element]["text"]))  {
			var href = SIIR_get_href(settings[current_element]["text"]);
			}

			settings[current_element]["text"] = SIIR_get_text(settings[current_element]["text"]);
			settings[current_element]["text"] = escape(settings[current_element]["text"]);

			// THE IMG HTML
			pasteHTML = '';

			if(href!=''||thisid!='')
			{
				pasteHTML += '<a';
			}
			
			if(href!=''){
				pasteHTML += ' href="'+href+'"';
			}
			if(thisid!=''){
				pasteHTML += ' id="'+thisid+'"';
			}
			if(href!=''||thisid!='')
			{
				pasteHTML += '>';
			}

			pasteHTML += '<img class="'+current_element+'" id="'+current_element+'_'+i+'" name="'+current_element+'_'+i+'" src="'+path+'generate.php?action=display&w='+settings[current_element]["w"]+'&h='+settings[current_element]["h"]+'&padding='+settings[current_element]["padding"]+'&transparentbg='+settings[current_element]["transparentbg"]+'&bgcolor='+settings[current_element]["bgcolor"]+'&font_color='+settings[current_element]["font_color"]+'&shadow_color='+settings[current_element]["shadow_color"]+'&font_file='+settings[current_element]["font_file"]+'&font_size='+settings[current_element]["font_size"]+'&antialias='+settings[current_element]["antialias"]+'&text='+settings[current_element]["text"]+'" alt="'+unescape(settings[current_element]["text"])+'" border="0" />';

			if(href!=''||thisid!='')
			{
				pasteHTML += '</a>';
			}

			if(current_element=='li'){
			pasteHTML = '<li>'+pasteHTML;
			pasteHTML += '</li>';
			}

			// PUT THE IMG INTO THE CONTAINER
			c.innerHTML = pasteHTML;
		}}
	}
}

////////////////////////////////////
//  MAKE CHANGES TO THE <ELEMENT> TAGS
////////////////////////////////////

function SIIR_add() {

for (var i=(elements.length-1); i>=0; i--) {
var current_element=elements[i];
settings[current_element]["font_size"]=parseInt(settings[current_element]["font_size"])+settings[current_element]["resizevalue"];
settings[current_element]["h"]=(parseInt(settings[current_element]["font_size"])+parseInt(settings[current_element]["padding"]));
}

SIIR_refresh();
}

function SIIR_subtract() {

for (var i=(elements.length-1); i>=0; i--) {
var current_element=elements[i];
settings[current_element]["font_size"]=parseInt(settings[current_element]["font_size"])-settings[current_element]["resizevalue"];
settings[current_element]["h"]=(parseInt(settings[current_element]["font_size"])+parseInt(settings[current_element]["padding"]));
}

SIIR_refresh();
}

////////////////////////////////////
//  REFRESH THE RESPECTIVE IMG
////////////////////////////////////

function SIIR_refresh () {



var d = document;
var element = d.getElementsByTagName('img');
for (var i=(elements.length-1); i>=0; i--) {
var current_element=elements[i];
	
	for (var a=(element.length-1); a>=0; a--) {
	elementid=current_element+"_"+a;
	if(document[elementid])
	{
	text=document[elementid].alt;
	document[elementid].src =path+'generate.php?action=display&w='+settings[current_element]["w"]+'&h='+settings[current_element]["h"]+'&padding='+settings[current_element]["padding"]+'&transparentbg='+settings[current_element]["transparentbg"]+'&bgcolor='+settings[current_element]["bgcolor"]+'&font_color='+settings[current_element]["font_color"]+'&shadow_color='+settings[current_element]["shadow_color"]+'&font_file='+settings[current_element]["font_file"]+'&font_size='+settings[current_element]["font_size"]+'&antialias='+settings[current_element]["antialias"]+'&text='+text;
	}
	}
	}

}

////////////////////////////////////
//  SIIR - ONLOAD CALL
////////////////////////////////////

// LOADS THE REPLACEMENT FUNCTION WHEN THE PAGE LOADS
function SIIR_init() {
	SIIR_replace();
	} 

window.addOnload( SIIR_init );

////////////////////////////////////
//  REPLACE CONTENT WITHIN A JAVASCRIPT STRING
////////////////////////////////////

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}



