function schedule(objectID, functionCall, iteration)
{
	if (iteration == null)
	{
		iteration = 0;
	}
	
	if (objectID == "window")
	{
		var oldonload = window.onload;
		
		if (typeof window.onload != "function")
		{
			window.onload = functionCall;
		}
		else
		{
			window.onload = function()
			{
				oldonload();
				functionCall();
			}
		}
	}
	else if (document.getElementById(objectID))
	{
		functionCall();
	}
	else if (iteration < 300)
	{
		setTimeout(function(){schedule(objectID, functionCall, iteration + 1)}, 10);
	}
	
	return true;
};


function getElementsByClassName(oElm, strTagName, oClassNames)
{
    var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object")
	{
        for(var i=0; i<oClassNames.length; i++)
		{
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else
	{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++)
	{
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++)
		{
            if(!arrRegExpClassNames[k].test(oElement.className))
			{
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll)
		{
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements);
}

function addClassName(oElm, strClassName){
	var strCurrentClass = oElm.className;
	if(!new RegExp(strClassName, "i").test(strCurrentClass)){
		oElm.className = strCurrentClass + ((strCurrentClass.length > 0)? " " : "") + strClassName;
	}
}
function removeClassName(oElm, strClassName){
	var oClassToRemove = new RegExp((strClassName + "\s?"), "i");
	oElm.className = oElm.className.replace(oClassToRemove, "").replace(/^\s?|\s?$/g, "");
}
function preventDefaultBehavior(event){
	event.returnValue = false;
	if(event.preventDefault){
		event.preventDefault();
	}
}

function showMessageWindowWithDelay()
{
	$("#btnPlaceOrder").unbind().attr("onclick", "return: false;");
	setTimeout(showMessageWindow, 100);
}
function showMessageWindow()
{
	if($(".required-item:visible").length==0) {
		showProcessingPayment();
	}
}
function showProcessingPayment()
{
	$(document).log("showing processing payment");
	if(document.getElementById('overlay') && document.getElementById('processing'))
	{
		document.getElementById('overlay').style.height = getElementsByClassName(document, "div", "site")[0].offsetHeight + 60;
		
		removeClassName(document.getElementById('overlay'), "hidden");
		removeClassName(document.getElementById('processing'), "hidden");
		$("#overlay").bgiframe();
	}
}
function hideProcessingPayment()
{
	$(document).log("hiding processing payment");
	if(document.getElementById('overlay') && document.getElementById('processing'))
	{		
		addClassName(document.getElementById('overlay'), "hidden")
		addClassName(document.getElementById('processing'), "hidden")
	}
}
function restartGif(){
	for(var i=0; i<document.images.length; i++){
		var img = document.images[i];
		var imgName = img.src.toUpperCase();
		if (imgName.substring(imgName.length-3, imgName.length) == "GIF"){
				img.src = img.src;
		}
	}
}
