var cursor = false;
var cursorHasToBeChanged=true;
var indexForType = 0;
var delayForLetters = 1;
var indexToWrite = 0;
var timerForTypewriter;
var firstOne = true;
var arrayIndex = 0;
var IndexOfCurrentFunction = 0;
var divIdToRArray= new Array();
var divIdToWArray= new Array();
function TypeTheDivContent() 
{
	divContentToRead = document.getElementById(divIdToRead).innerHTML ;
	divContentToWrite = document.getElementById(divIdToWrite).innerHTML[0] ;
	indexForType = TagHandler(divContentToRead,indexForType );

	if  (cursor && (divContentToRead.length != (indexForType +1) ) )
	{
		document.getElementById(divIdToWrite).innerHTML = divContentToRead.substr(divContentToRead,indexForType +1)+ "_";
	}
	else 
	{     
document.getElementById(divIdToWrite).innerHTML = divContentToRead.substr(divContentToRead,indexForType +1)+" ";
	}
	indexForType ++;
		
	if (timerForTypewriter!=null) 
	{
		clearTimeout(timerForTypewriter);
	}
	if (divContentToRead.length <= indexForType ) 
	{
		indexForType = 0;
                IndexOfCurrentFunction++;
                if (IndexOfCurrentFunction<=arrayIndex){
                StartTyping(divIdToRArray[IndexOfCurrentFunction],divIdToWArray[IndexOfCurrentFunction]  );}
                
	}
	else 
	{
		if (cursorHasToBeChanged) 
                { 
                      cursor = !cursor;
                }
                cursorHasToBeChanged = !cursorHasToBeChanged 
		timerForTypewriter=setTimeout('TypeTheDivContent()',delayForLetters);	
	}
}


function SetIntoTheTypingQueue(divIdToR,divIdToW)
{
     if (firstOne) 
     {
          firstOne = false;
          IndexOfCurrentFunction =-1;
          StartTyping(divIdToR,divIdToW) ;
          arrayIndex=-1;

     }
     else
     {
arrayIndex++;
      divIdToRArray [arrayIndex]=divIdToR;
      divIdToWArray [arrayIndex]=divIdToW;
     }
}
function StartTyping(divIdToR,divIdToW) 
{
	divIdToRead = divIdToR;
	divIdToWrite = divIdToW;
        cursorHasToBeChanged = true; 
	indexForType = 0;
	if (timerForTypewriter!=null) 
	{
		clearTimeout(timerForTypewriter);
	}
	timerForTypewriter= setTimeout('TypeTheDivContent()',delayForLetters);	
}

function TagHandler(str,indexToWrite) 
{
	newIndex = indexToWrite; 
         
	while ((newIndex< str.length) && ((str.charAt(newIndex)=="<" )
         ||
 ((newIndex< (str.length-1)) &&(str.substr(newIndex,2)=="\n")  )||  (str.charAt(newIndex)==" ") ))
	{
                if  ((newIndex< (str.length-1)) &&(str.substr(newIndex,2)=="\n")  )
                {
                    newIndex+=2;
                }
                else 
                {
                if   (str.charAt(newIndex)=="<" )
                {
		stringWithTag = str.substr(newIndex,str.length-newIndex);
		indexEndOfTag = stringWithTag.indexOf(">");
		newIndex = newIndex + indexEndOfTag;
                }
                while ((str.charAt(newIndex)==" ")  && (newIndex< str.length))
	        {
                     newIndex++;
                }
                }
		
	} 
        
	return newIndex;
}