﻿function fn_addText(oTxtFont,oTxtSize,oTxtColor,oTxtWeight,oTxtStyle,oTxtDirection,xPos,yPos,w,h,iText,oTxtAlign,lockStatus) {
    txtItems++;
    itemsZdx++;
    var txt = document.createTextNode(HtmlDecode(iText));
    // txt.id="text"+txtItems+"content";

    var oNode=document.createElement("div");
    oNode.style.fontFamily=oTxtFont;
	oTxtSize=oTxtSize.replace('pt','');
    oNode.style.fontSize=Math.round((oTxtSize/graphicRatio)*(96/72)*2.375*100)/100+'pt';
    oNode.style.color=oTxtColor;
    oNode.style.fontWeight=oTxtWeight;
    oNode.style.fontStyle=oTxtStyle;
    oNode.style.direction=oTxtDirection;
    var iTempCount = "text"+txtItems;
    oNode.id = iTempCount;
    oNode.style.position='absolute';

    // if (lockStatus=='url(images/lockedBg.gif) no-repeat left top') { 
	var gDelta=25;
	if ((parseFloat(xPos)+parseFloat(w))>(designWidth+gDelta)) {
	   if (oTxtAlign=='center') {
		var newW=parseFloat(w)-((parseFloat(xPos)+parseFloat(w))-(designWidth+gDelta));
		xPos=parseFloat(xPos)+(((parseFloat(xPos)+parseFloat(w))-(designWidth+gDelta))/2);
		w=newW;
	   } else {
		w=parseFloat(w)-((parseFloat(xPos)+parseFloat(w))-(designWidth+gDelta));
	   }
	}
    // }

    oNode.style.width=w;
    oNode.style.height=h;
    oNode.style.left=xPos;
    oNode.style.top=yPos;
    oNode.style.textAlign=oTxtAlign;
    oNode.style.background=lockStatus;
    oNode.className='HardBreak';
    oNode.style.zIndex=itemsZdx;

    if (lockStatus!='url(images/lockedBg.gif) no-repeat left top') { 
	oNode.style.cursor='pointer';
	oNode.style.cursor='hand';

	oNode.onclick=showGrid;
	oNode.onmouseover=function() { fn_toolTip('texter','show',txtLineToolTip) }
	oNode.onmouseout=function() { fn_toolTip('texter','hide','') }
    }

    document.getElementById('card').appendChild(oNode); 
    document.getElementById(iTempCount).appendChild(txt); 

    if (lockStatus!='url(images/lockedBg.gif) no-repeat left top') { 
    	if (isToolbarUsable=='yes') {
		maxDragRight=parseInt(designWidth)-parseInt(oNode.style.width);
		maxDragBottom=parseInt(designHeight)-parseInt(oNode.style.height);
		Drag.init(oNode)	// , null, 0, maxDragRight, 0, maxDragBottom);
		oNode.onDrag=fn_hideGrid;
    	}
    }

    fn_hideGrid();
    document.lastElementForm.lastEditedElement.value=iTempCount;

    if (lockStatus!='url(images/lockedBg.gif) no-repeat left top') { 
	    fn_handleCommands(iTempCount);
    }

    if (lockStatus!='url(images/lockedBg.gif) no-repeat left top') { 
    	if (isToolbarUsable=='yes') {
		fn_showGrid(iTempCount);
	}
    }
}

function fn_addImage(oImgSrc,xPos,yPos,w,h) { 
    imgItems++;
    itemsZdx++;
    var img = document.createElement("IMG");
    img.id="image"+imgItems+"content";
    img.src=oImgSrc;
    img.width=w;
    img.height=h;
    img.title='';
    img.alt=Math.round((w/h)*100)/100;

    var oNode=document.createElement("div");
    var iTempCount = "image"+imgItems;
    oNode.id = iTempCount;
    oNode.style.position='absolute';
    oNode.style.width=w;
    oNode.style.height=h;
    oNode.style.left=xPos;
    oNode.style.top=yPos;
    oNode.style.zIndex=itemsZdx;
    oNode.onclick=showGrid;

    document.getElementById('card').appendChild(oNode); 
    document.getElementById(iTempCount).appendChild(img); 

    maxDragRight=parseInt(designWidth)-parseInt(oNode.style.width);
    maxDragBottom=parseInt(designHeight)-parseInt(oNode.style.height);
    Drag.init(oNode)	// , null, 0, maxDragRight, 0, maxDragBottom);
    oNode.onDrag=fn_hideGrid;

    fn_hideGrid();
    document.lastElementForm.lastEditedElement.value=iTempCount;
    fn_handleCommands(iTempCount);
    fn_showGrid(iTempCount);
}

function fn_handleCommands(targetName) {
	var isText=targetName.indexOf('text');
	var isImage=targetName.indexOf('image');
	if (isText==0) { 
		// text object selected

		   document.texter.texterData.disabled=false;
		   document.texter.texterData.style.backgroundColor='#ffffff';
		   document.texter.texterData.style.textAlign=document.getElementById(targetName).style.textAlign;
		   document.texter.texterData.style.direction=document.getElementById(targetName).style.direction;
		   document.texter.texterData.value=fn_getInnerText(document.getElementById(targetName));

		   document.fontsizer.fontsizerData.disabled=false;
		   document.fontsizer.fontsizerData.style.backgroundColor='#ffffff';
		   var textSizeValue = document.getElementById(targetName).style.fontSize;
		   textSizeValue=textSizeValue.replace('pt','');
		   for (i=0; i<document.fontsizer.fontsizerData.length; i++) {
			if (document.fontsizer.fontsizerData.options[i].value==textSizeValue) {
				document.fontsizer.fontsizerData.options[i].selected=true;
			}
		   }

		   document.fontfacer.fontfacerData.disabled=false;
		   document.fontfacer.fontfacerData.style.backgroundColor='#ffffff';
		   for (i=0; i<document.fontfacer.fontfacerData.length; i++) {
		    var elemFont=document.getElementById(targetName).style.fontFamily;
			elemFont=elemFont.replace(/'/g,"");
			if (document.fontfacer.fontfacerData.options[i].value==elemFont) {
				document.fontfacer.fontfacerData.options[i].selected=true;
			}
		   }

		   if (isToolbarUsable=='no') { 
			document.fontsizer.fontsizerData.style.backgroundColor='#bcb7b1';
			document.fontsizer.fontsizerData.disabled=true;
			document.fontfacer.fontfacerData.style.backgroundColor='#bcb7b1';
			document.fontfacer.fontfacerData.disabled=true;
		   }

		   if (isToolbarUsable=='yes') { 
			document.images['toolbar_t2'].src='images/toolbar/toolbar_t2.gif';
			document.images['toolbar_t3'].src='images/toolbar/toolbar_t3.gif';
			document.images['toolbar_t4'].src='images/toolbar/toolbar_t4.gif';
		   	document.images['toolbar_t5'].src='images/toolbar/toolbar_t5.gif';
		   	document.images['toolbar_t6'].src='images/toolbar/toolbar_t6.gif';
		   	document.images['toolbar_t7'].src='images/toolbar/toolbar_t7.gif';
		   	document.images['toolbar_t8'].src='images/toolbar/toolbar_t8.gif';
		   	document.images['toolbar_t9'].src='images/toolbar/toolbar_t9.gif';
		   	document.images['toolbar_t10'].src='images/toolbar/toolbar_t10.gif';
		   }

		   document.images['toolbar_i2'].src='images/toolbar/toolbar_i2_off.gif';
		   document.images['toolbar_i3'].src='images/toolbar/toolbar_i3_off.gif';
		   document.images['toolbar_i4'].src='images/toolbar/toolbar_i4_off.gif';
		   document.images['toolbar_i5'].src='images/toolbar/toolbar_i5_off.gif';
	}
	if (isImage==0) { 
		// image object selected

		   document.texter.texterData.style.backgroundColor='#bcb7b1';
		   document.texter.texterData.value='';
		   document.texter.texterData.disabled=true;

		   document.fontsizer.fontsizerData.style.backgroundColor='#bcb7b1';
		   document.fontsizer.fontsizerData.disabled=true;

		   document.fontfacer.fontfacerData.style.backgroundColor='#bcb7b1';
		   document.fontfacer.fontfacerData.disabled=true;

		   document.images['toolbar_t2'].src='images/toolbar/toolbar_t2_off.gif';
		   document.images['toolbar_t3'].src='images/toolbar/toolbar_t3_off.gif';
		   document.images['toolbar_t4'].src='images/toolbar/toolbar_t4_off.gif';
		   document.images['toolbar_t5'].src='images/toolbar/toolbar_t5_off.gif';
		   document.images['toolbar_t6'].src='images/toolbar/toolbar_t6_off.gif';
		   document.images['toolbar_t7'].src='images/toolbar/toolbar_t7_off.gif';
		   document.images['toolbar_t8'].src='images/toolbar/toolbar_t8_off.gif';
		   document.images['toolbar_t9'].src='images/toolbar/toolbar_t9_off.gif';
		   document.images['toolbar_t10'].src='images/toolbar/toolbar_t10_off.gif';

		   document.images['toolbar_i2'].src='images/toolbar/toolbar_i2.gif';
		   document.images['toolbar_i3'].src='images/toolbar/toolbar_i3.gif';
		   document.images['toolbar_i4'].src='images/toolbar/toolbar_i4.gif';
		   document.images['toolbar_i5'].src='images/toolbar/toolbar_i5.gif';
	}
}

function fn_showGrid(which) {
   // Grab choosen element
      myElem=document.getElementById(which);

   // Set z-index to highest
      itemsZdx++;
      myElem.style.zIndex=itemsZdx;

   // fix xy pos (if dragged out of card) - Only for image objects !
      var isImage=which.indexOf('image');
      if (isImage==0) { 
	if ((parseInt(myElem.style.top)+(Math.round(parseFloat(myElem.style.height)*100)/100))>designHeight) { myElem.style.top=parseInt(myElem.style.top)-((parseInt(myElem.style.top)+(Math.round(parseFloat(myElem.style.height)*100)/100))-designHeight) }
	if ((parseInt(myElem.style.left)+(Math.round(parseFloat(myElem.style.width)*100)/100))>designWidth) { myElem.style.left=parseInt(myElem.style.left)-((parseInt(myElem.style.left)+(Math.round(parseFloat(myElem.style.width)*100)/100))-designWidth) }
	if (parseInt(myElem.style.top)<(parseInt(document.getElementById('card').style.top)-designFixedY)) { myElem.style.top=0 }
	if (parseInt(myElem.style.left)<(parseInt(document.getElementById('card').style.left)-designFixedX)) { myElem.style.left=0 }
      }

   // Build Grid arround object
      var gt=myElem.style.top;
      	gt=gt.replace('px','');
      	gt=parseInt(gt)+designFixedY-3;
      var gr=myElem.style.left;
      	gr=gr.replace('px','');
      	gr=parseInt(gr)+designFixedX-3;
      var gl=myElem.style.height;
      	gl=gl.replace('px','');
      	gl=parseInt(gl);
	gl=gt+gl;
      var gb=myElem.style.width;
      	gb=gb.replace('px','');
      	gb=parseInt(gb);
	gb=gr+gb;

      myElem.style.border='1px dotted #000000';

      document.images['gtimg'].style.top=gt+3;
      document.images['gtimg'].style.left=gr+3;
      document.images['gtimg'].style.zIndex=itemsZdx+1;
      document.images['gtimg'].style.display='';

      document.images['grimg'].style.top=gt+3;
      document.images['grimg'].style.left=gb+3;
      document.images['grimg'].style.zIndex=itemsZdx+1;
      document.images['grimg'].style.display='';

      document.images['glimg'].style.top=gl+3;
      document.images['glimg'].style.left=gr+3;
      document.images['glimg'].style.zIndex=itemsZdx+1;
      document.images['glimg'].style.display='';     

      document.images['gbimg'].style.top=gl+2;
      document.images['gbimg'].style.left=gb+2;
      document.images['gbimg'].style.zIndex=itemsZdx+1;
      document.images['gbimg'].style.display='';  
}

function fn_hideGrid() {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
	var lastEditedElement=lastElem.value;
	try { document.getElementById(lastEditedElement).style.border='0px'; } catch ( e ) { } 
    }
    document.images['gtimg'].style.display='none';
    document.images['grimg'].style.display='none';
    document.images['glimg'].style.display='none';
    document.images['gbimg'].style.display='none';
}

function fn_resizeElement(x,y) {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
        var lastEditedElement=lastElem.value;
	var lastEditedElementId=document.getElementById(lastEditedElement).id;
	var isText=lastEditedElementId.indexOf('text');
	var isImage=lastEditedElementId.indexOf('image');
	if (isText==0) { 
		var elmTop=parseInt(document.getElementById(lastEditedElement).style.top);
		var elmLeft=parseInt(document.getElementById(lastEditedElement).style.left);
		var elmWidth=(Math.round(parseFloat(document.getElementById(lastEditedElement).style.width)*100)/100);
		var elmHeight=(Math.round(parseFloat(document.getElementById(lastEditedElement).style.height)*100)/100);
		var elmPrevX=elmWidth+elmLeft;
		var elmPrevY=elmHeight+elmTop;
		if((y-designFixedY)>elmTop&&(x-designFixedX)>elmLeft) {
			if ((elmWidth-(elmPrevX-x)-designFixedX)>0) { document.getElementById(lastEditedElement).style.width=elmWidth-(elmPrevX-x)-designFixedX } else { document.getElementById(lastEditedElement).style.width=elmWidth } 
			if ((elmHeight-(elmPrevY-y)-designFixedY)>0) { document.getElementById(lastEditedElement).style.height=elmHeight-(elmPrevY-y)-designFixedY } else { document.getElementById(lastEditedElement).style.height=elmHeight }
			gl=elmTop+elmHeight+designFixedY;
			gb=elmLeft+elmWidth+designFixedX;
			document.images['grimg'].style.top=elmTop+designFixedY;
			document.images['grimg'].style.left=gb;
			document.images['glimg'].style.top=gl;
			document.images['glimg'].style.left=elmLeft+designFixedX;
		}
	}
	if (isImage==0) { 
		var elmTop=parseInt(document.getElementById(lastEditedElement).style.top);
		var elmLeft=parseInt(document.getElementById(lastEditedElement).style.left);
		var elmWidth=(Math.round(parseFloat(document.getElementById(lastEditedElement).style.width)*100)/100);
		var elmHeight=(Math.round(parseFloat(document.getElementById(lastEditedElement).style.height)*100)/100);
		var elmPrevX=elmWidth+elmLeft;
		var elmPrevY=elmHeight+elmTop;
		if((y-designFixedY)>elmTop&&(x-designFixedX)>elmLeft) {
			var children=document.getElementById(lastEditedElement).childNodes;
			var currentImage=children[0];
			var v=document.getElementById(currentImage.id).alt;
			document.getElementById(lastEditedElement).style.width=elmWidth-(elmPrevX-x)-designFixedX;
			document.getElementById(lastEditedElement).style.height=(elmWidth-(elmPrevX-x)-designFixedX)/v;
		        document.getElementById(currentImage.id).width=elmWidth-(elmPrevX-x)-designFixedX;
			document.getElementById(currentImage.id).height=(elmWidth-(elmPrevX-x)-designFixedX)/v;
			gl=elmTop+elmHeight+designFixedY;
			gb=elmLeft+elmWidth+designFixedX;
			document.images['grimg'].style.top=elmTop+designFixedY;
			document.images['grimg'].style.left=gb;
			document.images['glimg'].style.top=gl;
			document.images['glimg'].style.left=elmLeft+designFixedX;
		}
	}
    }
}

function fn_resizeElementFinish(x,y) {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
        var lastEditedElement=lastElem.value;
	var lastEditedElementId=document.getElementById(lastEditedElement).id;

        // fix xy pos (if dragged out of card)
	   var myElem=document.getElementById(lastEditedElement);
           if ((parseInt(myElem.style.top)+(Math.round(parseFloat(myElem.style.height)*100)/100))>designHeight) { myElem.style.top=parseInt(myElem.style.top)-((parseInt(myElem.style.top)+(Math.round(parseFloat(myElem.style.height)*100)/100))-designHeight) }
	   if ((parseInt(myElem.style.left)+(Math.round(parseFloat(myElem.style.width)*100)/100))>designWidth) { myElem.style.left=parseInt(myElem.style.left)-((parseInt(myElem.style.left)+(Math.round(parseFloat(myElem.style.width)*100)/100))-designWidth) }
           if (parseInt(myElem.style.top)<0) { myElem.style.top=0 }
           if (parseInt(myElem.style.left)<0) { myElem.style.left=0 }

        // fix w,h (if new size is bigger then card size - after xy fix above)
	   var isText=lastEditedElementId.indexOf('text');
	   var isImage=lastEditedElementId.indexOf('image');
	   if (isText==0) { 
		if ((Math.round(parseFloat(myElem.style.width)*100)/100)>designWidth) { myElem.style.width=designWidth }
		if ((Math.round(parseFloat(myElem.style.height)*100)/100)>designHeight) { myElem.style.height=designHeight }
	   }
	   if (isImage==0) { 
		var children=document.getElementById(lastEditedElement).childNodes;
		var currentImage=children[0];
		var v=document.getElementById(currentImage.id).alt;
		if ((Math.round(parseFloat(myElem.style.width)*100)/100)>designWidth) { 
			myElem.style.width=designWidth; 
			myElem.style.height=(Math.round(parseFloat(myElem.style.width)*100)/100)/v; 
		}
		if ((Math.round(parseFloat(myElem.style.height)*100)/100)>designHeight) { 
			var v2=(Math.round(parseFloat(myElem.style.height)*100)/100)/designHeight;
			myElem.style.height=designHeight;
			var pW=(Math.round(parseFloat(myElem.style.width)*100)/100);
			myElem.style.width=pW/v2;
			document.getElementById(currentImage.id).width=parseInt(myElem.style.width);
			document.getElementById(currentImage.id).height=parseInt(myElem.style.height);
		}
	   }

        // reposition grid icons
	   document.images['gtimg'].style.top=parseInt(myElem.style.top)+designFixedY;
	   document.images['gtimg'].style.left=parseInt(myElem.style.left)+designFixedX;
	   document.images['grimg'].style.top=parseInt(myElem.style.top)+designFixedY;
	   document.images['grimg'].style.left=(Math.round(parseFloat(myElem.style.width)*100)/100)+parseInt(myElem.style.left)+designFixedX;
	   document.images['glimg'].style.top=(Math.round(parseFloat(myElem.style.height)*100)/100)+parseInt(myElem.style.top)+designFixedY;
	   document.images['glimg'].style.left=parseInt(myElem.style.left)+designFixedX;

	// fix resizer icon position
	   document.images['gbimg'].style.top=(Math.round(parseFloat(myElem.style.height)*100)/100)+parseInt(myElem.style.top)+designFixedY-1; 
	   document.images['gbimg'].style.left=(Math.round(parseFloat(myElem.style.width)*100)/100)+parseInt(myElem.style.left)+designFixedX-1; 
    }
}

function fn_getInnerText(which) {
	if ('string' == typeof which.textContent) return which.textContent;
	if ('string' == typeof which.innerText) return which.innerText;
	// return which.innerHTML.replace(/<[^>]*>/g,'');
}

function fn_changeText() {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
        var lastEditedElement=lastElem.value;
	var lastEditedElementId=document.getElementById(lastEditedElement).id;
	var isText=lastEditedElementId.indexOf('text');
	if (isText==0) { 
		var inPut = document.texter.texterData.value;
		var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
		if(!hasInnerText){
			document.getElementById(lastEditedElement).textContent=inPut;
		} else {
			document.getElementById(lastEditedElement).innerText=inPut;
		}
		try { document.getElementById('side'+lastEditedElement).value=inPut; } catch ( e ) { } 
	}
    }
}

function fn_changeFontSize(data) {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
        var lastEditedElement=lastElem.value;
	var lastEditedElementId=document.getElementById(lastEditedElement).id;
	var isText=lastEditedElementId.indexOf('text');
	if (isText==0) { document.getElementById(lastEditedElement).style.fontSize=data+'pt'; }
    }
}

function fn_changeFontFace(data) {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
        var lastEditedElement=lastElem.value;
	var lastEditedElementId=document.getElementById(lastEditedElement).id;
	var isText=lastEditedElementId.indexOf('text');
	if (isText==0) { document.getElementById(lastEditedElement).style.fontFamily=data; }
    }
}

function fn_changeFontColor(toolbarElement) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	document.getElementById('textColors').style.display='';
	document.getElementById('textColors').style.top=parseInt(findPosY(iconElem))+19;
	document.getElementById('textColors').style.left=parseInt(findPosX(iconElem));
    }
}

function fn_changeFontColorII(whichColor) {
    var lastElem=document.lastElementForm.lastEditedElement;
    if (lastElem.value!='') {
        var lastEditedElement=lastElem.value;
	var lastEditedElementId=document.getElementById(lastEditedElement).id;
	var isText=lastEditedElementId.indexOf('text');
	if (isText==0) { document.getElementById(lastEditedElement).style.color=whichColor; }
    }
    document.getElementById('textColors').style.display='none';
}

function fn_changeFontStyle(toolbarElement) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isText=lastEditedElementId.indexOf('text');
		if (isText==0) { 
			var lastElemStyle=document.getElementById(lastEditedElement).style.fontStyle;
			if (lastElemStyle=='')       { document.getElementById(lastEditedElement).style.fontStyle='italic' }
			if (lastElemStyle=='normal') { document.getElementById(lastEditedElement).style.fontStyle='italic' }
			if (lastElemStyle=='italic') { document.getElementById(lastEditedElement).style.fontStyle='normal' }
		}
	}
    }
}

function fn_changeFontWeight(toolbarElement) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isText=lastEditedElementId.indexOf('text');
		if (isText==0) { 
			var lastElemWeight=document.getElementById(lastEditedElement).style.fontWeight;
			if (lastElemWeight=='')       { document.getElementById(lastEditedElement).style.fontWeight='bold'   }
			if (lastElemWeight=='normal') { document.getElementById(lastEditedElement).style.fontWeight='bold'   }
			if (lastElemWeight=='bold')   { document.getElementById(lastEditedElement).style.fontWeight='normal' }
		}
	}
    }
}

function fn_changeFontAlign(toolbarElement,alignTo) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isText=lastEditedElementId.indexOf('text');
		if (isText==0) { document.texter.texterData.style.textAlign=alignTo; document.getElementById(lastEditedElement).style.textAlign=alignTo; }
	}
    }
}

function fn_changeFontDirection(toolbarElement,dirValue) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isText=lastEditedElementId.indexOf('text');
		if (isText==0) { document.texter.texterData.style.direction=dirValue; document.getElementById(lastEditedElement).style.direction=dirValue; 
			if (dirValue=='ltr') { var alignTo='left' } 
			if (dirValue=='rtl') { var alignTo='right' } 
			fn_changeFontAlign('t5',alignTo); 
		}
	}
    }
}

function fn_deleteText(toolbarElement) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isText=lastEditedElementId.indexOf('text');
		if (isText==0) { 
			var p = document.getElementById('card');
			var c = document.getElementById(lastEditedElement)
			p.removeChild(c);
			fn_hideGrid();

			document.texter.texterData.style.backgroundColor='#bcb7b1';
			document.texter.texterData.value='';
			document.texter.texterData.disabled=true;

			document.fontsizer.fontsizerData.style.backgroundColor='#bcb7b1';
			document.fontsizer.fontsizerData.disabled=true;

			document.fontfacer.fontfacerData.style.backgroundColor='#bcb7b1';
			document.fontfacer.fontfacerData.disabled=true;

		   	document.images['toolbar_t2'].src='images/toolbar/toolbar_t2_off.gif';
		   	document.images['toolbar_t3'].src='images/toolbar/toolbar_t3_off.gif';
		   	document.images['toolbar_t4'].src='images/toolbar/toolbar_t4_off.gif';
		   	document.images['toolbar_t5'].src='images/toolbar/toolbar_t5_off.gif';
		   	document.images['toolbar_t6'].src='images/toolbar/toolbar_t6_off.gif';
		   	document.images['toolbar_t7'].src='images/toolbar/toolbar_t7_off.gif';
		   	document.images['toolbar_t8'].src='images/toolbar/toolbar_t8_off.gif';
		   	document.images['toolbar_t9'].src='images/toolbar/toolbar_t9_off.gif';
		   	document.images['toolbar_t10'].src='images/toolbar/toolbar_t10_off.gif';
		}
	}
    }
}

function fn_magnifyImage(toolbarElement,magnifyValue) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isImage=lastEditedElementId.indexOf('image');
		if (isImage==0) { 
			var children=document.getElementById(lastEditedElement).childNodes;
			var currentImage=children[0];
			if (magnifyValue=='bigger') {
			        document.getElementById(currentImage.id).width=parseInt(document.getElementById(currentImage.id).width)*1.1;
		        	document.getElementById(currentImage.id).height=parseInt(document.getElementById(currentImage.id).height)*1.1;
			        document.getElementById(lastEditedElement).style.width=parseInt(document.getElementById(lastEditedElement).style.width)*1.1+'px';
		        	document.getElementById(lastEditedElement).style.height=parseInt(document.getElementById(lastEditedElement).style.height)*1.1+'px';
			}
			if (magnifyValue=='smaller') {
			        document.getElementById(currentImage.id).width=parseInt(document.getElementById(currentImage.id).width)*0.9;
		        	document.getElementById(currentImage.id).height=parseInt(document.getElementById(currentImage.id).height)*0.9;
			        document.getElementById(lastEditedElement).style.width=parseInt(document.getElementById(lastEditedElement).style.width)*0.9+'px';
		        	document.getElementById(lastEditedElement).style.height=parseInt(document.getElementById(lastEditedElement).style.height)*0.9+'px';
			}
			fn_resizeElementFinish(parseInt(document.getElementById(lastEditedElement).style.left),parseInt(document.getElementById(lastEditedElement).style.top));

			// next code lines are to bypass "disappearing image" bug
			//var add_param_1 = document.getElementById(currentImage.id).src;
			//var add_param_2 = parseInt(document.getElementById(lastEditedElement).style.left);
			//var add_param_3 = parseInt(document.getElementById(lastEditedElement).style.top);
			//var add_param_4 = document.getElementById(lastEditedElement).style.width;
			//var add_param_5 = document.getElementById(lastEditedElement).style.height;
			//fn_deleteImage('i3');
			//fn_addImage(add_param_1,add_param_2,add_param_3,add_param_4,add_param_5);
		}
	}
    }
}

function fn_deleteImage(toolbarElement) {
    var iconElem=document.getElementById('toolbar_'+toolbarElement);
    if (iconElem.src.indexOf('_off.gif')==-1) { 
	var lastElem=document.lastElementForm.lastEditedElement;
	if (lastElem.value!='') {
		var lastEditedElement=lastElem.value;
		var lastEditedElementId=document.getElementById(lastEditedElement).id;
		var isImage=lastEditedElementId.indexOf('image');
		if (isImage==0) { 
			var p = document.getElementById('card');
			var c = document.getElementById(lastEditedElement)
			p.removeChild(c);
			fn_hideGrid();

		   	document.images['toolbar_i2'].src='images/toolbar/toolbar_i2_off.gif';
		   	document.images['toolbar_i3'].src='images/toolbar/toolbar_i3_off.gif';
		   	document.images['toolbar_i4'].src='images/toolbar/toolbar_i4_off.gif';
		   	document.images['toolbar_i5'].src='images/toolbar/toolbar_i5_off.gif';
		}
	}
    }
}

function fn_showHideGraphicGrid() {
    var iconElem=document.getElementById('toolbar_t23');
    if (iconElem.src.indexOf('_off.gif')==-1) { 
   	document.images['toolbar_t23'].src='images/toolbar/toolbar_23_off.gif';
	document.all.cardGrid.style.display='none';
    } else {
   	document.images['toolbar_t23'].src='images/toolbar/toolbar_23.gif';
	document.all.cardGrid.style.display='';
    }
}

function fn_toolTip(toolbarElement,viewMode,tipText) {
    var tooltipControl=document.getElementById('toolbar_t31');
    if (tooltipControl.src.indexOf('_off.gif')==-1) { 

    switch(viewMode) {
	case 'show' : if (toolbarElement=='fontsizer') { var iconElem=document.getElementById('fontsizerPosImg'); var yAddOn=5; }
		      if (toolbarElement=='fontfacer') { var iconElem=document.getElementById('fontfacerPosImg');var yAddOn=5; }
		      if (toolbarElement=='texter') { var iconElem=document.getElementById('texterPosImg');var yAddOn=5; }
		      if (toolbarElement!='fontsizer'&&toolbarElement!='fontfacer'&&toolbarElement!='texter') { var iconElem=document.getElementById('toolbar_'+toolbarElement);var yAddOn=19; }
		      document.getElementById('tooltip').innerHTML=tipText;
		      document.getElementById('tooltip').style.display='';
		      document.getElementById('tooltip').style.top=parseInt(findPosY(iconElem))+yAddOn;
		      document.getElementById('tooltip').style.left=parseInt(findPosX(iconElem));
		      break;
	case 'hide' : document.getElementById('tooltip').style.display='none';
		      break;
    }

    }
}

function fn_toolTipControl() {
    var iconElem=document.getElementById('toolbar_t31');
    if (iconElem.src.indexOf('_off.gif')==-1) { 
   	document.images['toolbar_t31'].src='images/toolbar/toolbar_31_off.gif';
    } else {
   	document.images['toolbar_t31'].src='images/toolbar/toolbar_31.gif';
    }
}

function RGBtoHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}
function toHex(N) {
 if (N==null) return "00";
 N=parseInt(N); if (N==0 || isNaN(N)) return "00";
 N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N);
 return "0123456789ABCDEF".charAt((N-N%16)/16)
      + "0123456789ABCDEF".charAt(N%16);
}
