/* 
	part of modulform*cms 1.9  (www.modulform.de)
	(c) marc althoff 2001, 2002, 2005

	NAME: mf_main.js 
	USAGE: 

	1. enables mouse-over blur effects on buttons:

		mf_set_opacity(on, opacity)
		mf_blur(obj)
		mf_focus(obj)
		myFoggy()
		myRealFoggy(obj, way)
		myClear()
		initBlurs()
		
	2. enables liveedit mode links

		function AddLink()

	initBlurs(); needs to be called at the end of the page in admin mode!


	NOTE: some code by Margus Kohv (margus@kohv.com)
	

****** IMPORTANT!!! ******
  needs to be loaded before any else js to make this jsTextHist-stuff work!!!
  
    if (o[a].innerHTML == "(text eingeben)") { o[a].innerHTML="&nbsp;" }
    if (o[a].innerHTML == "(ecrivez ici)") { o[a].innerHTML="&nbsp;" }
    if (o[a].innerHTML == "(scriva qui)") { o[a].innerHTML="&nbsp;" }
    if (o[a].innerHTML == "(enter text)") { o[a].innerHTML="&nbsp;" }





*/

var myInnerHTMLuseMozile = false;
// var myInnerHTMLhints = new Array("(text eingeben)", "(ecrivez ici)", "(scriva qui)", "(enter text)");
var myInnerHTMLhints = new Array("(text)");

function hackHoverIE(myObj, myClass) {
  if (document.all)
    if (myObj.className!=myClass)
      myObj.className=myClass
}


function jsClearHints() {
  if (isIE6Up) {
		var o = document.getElementsByTagName("span");
		for (a=0;a<o.length;a++) {
		  for (b=0; b<myInnerHTMLhints.length; b++) {
/* 		    if (o[a].innerHTML == myInnerHTMLhints[b]) { o[a].innerHTML="&nbsp;" } */
		    if (o[a].innerHTML == myInnerHTMLhints[b]) { o[a].innerHTML="" }
		  }
		}
	}
}
function jsTextHintOn(myObject,myInnerHTML) {
  var myInnerHTMLmozile = '<div>'+myInnerHTML+'</div>';
  var myInnerHTMLie = '<DIV>'+myInnerHTML+'</DIV>';
//	alert("focus");
  if (myObject.innerHTML==myInnerHTML) {
    myObject.innerHTML='';
/*     myObject.innerHTML='&nbsp;'; */
  } else if ( (myObject.innerHTML==myInnerHTMLmozile) || (myObject.innerHTML==myInnerHTMLie) ) {
    myObject.innerHTML='';
/*     myObject.innerHTML='&nbsp;'; */
    myInnerHTMLuseMozile = true;
  }
}
function jsTextHintOff(myObject,myInnerHTML) {
//	alert("unfocus");
/* 	if(myObject.innerHTML=='&nbsp;') {  */
	if(myObject.innerHTML=='') { 
		myObject.innerHTML=decodeURIComponent(myInnerHTML);
		myObject.select();
	}
}
function AddLink(currentset) {

// marc:20021210 - turns off contenteditable before executing createLink

	if (isIE6Up) {

		var o = document.getElementsByTagName("span");

		for (a=0;a<o.length;a++)
		{
			var mymftagname="";
			if (o[a].name != "") { mymftagname = o[a].name; }
			if (o[a].id != "") { mymftagname = o[a].id; }

			if (mymftagname != undefined) {
				if (mymftagname.substr(8,32) == currentset) {
					document.getElementById(mymftagname).contentEditable = false;
				}
			}
			

		}
		
		var sText = document.selection.createRange();
		if (sText.text!="") {
	
			document.execCommand("CreateLink");
			//replace text with URL
			if (sText.parentElement().tagName == "A") {
				sText.parentElement().innerText=sText.parentElement().href;
				document.execCommand("ForeColor","false","#FF0033");
			}
		} else {
		    alert("Bitte wählen Sie zunächst Text aus, den Sie verlinken möchten!");
		}   
	} else {
		alert ("Dieses Feature benötigt den Internet Explorer 5.5+. Bitte benutzen Sie den herkömlichen Edit-Modus!");
	}
}

function donothing()
{ 
	nothing=0;
}

function mf_set_opacity(obj, opacity)
{
	if (ie5)
	{
		document.getElementById(obj).style.filter='alpha(opacity='+opacity+')';
	}
	else if (ns6)
	{
	   	document.getElementById(obj).style.MozOpacity = (opacity/100);	
	}
}

function mf_blur(obj)
{
//	mf_set_opacity(obj, 50);
}

function mf_focus(obj)
{
//	mf_set_opacity(obj, 100);
}


// code by margus, margus@kohv.ee

maxOpacity = 100;
minOpacity = 50;
fadeSpeed = 5;
tt = 25;
timers = new Array();
function myFoggy()
{
	//timers[event.srcElement.uniqueID] = setTimeout('myRealFoggy("'+event.srcElement.uniqueID+'",0)', fadeSpeed);
	clearInterval(timers[event.srcElement.uniqueID]);
	timers[event.srcElement.uniqueID] = setInterval('myRealFoggy("'+event.srcElement.uniqueID+'",0)', fadeSpeed);

//	event.srcElement.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=25,enabled=false)";
}
function myRealFoggy(obj, way)
{
	var myOpacity = document.all[obj].filters.item("DXImageTransform.Microsoft.Alpha").Opacity;
	if (way)
	{
		myOpacity=myOpacity-tt;
		if (myOpacity >= minOpacity)
		{
			
			document.all[obj].filters.item("DXImageTransform.Microsoft.Alpha").Opacity = myOpacity;
		}
		else
		{
			//clearTimeout(timers[obj]);
			clearInterval(timers[obj]);
		}
	}
	else
	{
		myOpacity=myOpacity+tt;
		if (myOpacity <= maxOpacity)
		{
			document.all[obj].filters.item("DXImageTransform.Microsoft.Alpha").Opacity = myOpacity;
		}
		else
		{
			//clearTimeout(timers[obj]);
			clearInterval(timers[obj]);
		}
	}
//	window.status = myOpacity;
}
function myClear()
{
	//timers[event.srcElement.uniqueID] = setTimeout('myRealFoggy("'+event.srcElement.uniqueID+'",1)', fadeSpeed);
//	event.srcElement.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=25,enabled=true)";
clearInterval(timers[event.srcElement.uniqueID]);
timers[event.srcElement.uniqueID] = setInterval('myRealFoggy("'+event.srcElement.uniqueID+'",1)', fadeSpeed);
}

function initBlurs()
{

	if (isIE6Up) {
		var o = document.getElementsByTagName("img");
		for (a=0;a<o.length;a++)
		{
			var mymftagname="";
			if (o[a].name != "") { mymftagname = o[a].name; }
			if (o[a].id != "") { mymftagname = o[a].id; }
			if (mymftagname.substr(0,3)=="mf_")
			{
				o[a].attachEvent('onmouseover', myFoggy);
				o[a].attachEvent('onfocus', myFoggy);
				o[a].attachEvent('onmouseout', myClear);
				o[a].attachEvent('onblur', myClear);
				o[a].style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+minOpacity+",enabled=true)";
			}
		}



		var o = document.getElementsByTagName("input");
		for (a=0;a<o.length;a++)
		{
			var mymftagname="";
			if (o[a].name != "") { mymftagname = o[a].name; }
			if (o[a].id != "") { mymftagname = o[a].id; }
			if (mymftagname.substr(0,3)=="mf_")
			{
				o[a].attachEvent('onmouseover', myFoggy);
				o[a].attachEvent('onfocus', myFoggy);
				o[a].attachEvent('onmouseout', myClear);
				o[a].attachEvent('onblur', myClear);
				o[a].style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+minOpacity+",enabled=true)";
			}
		}

	}
}

// rot13-Algorithmus (für Entschlüsselung in JavaScript)
var map = new Array();
var s = "abcdefghijklmnopqrstuvwxyz";
  
for (var i = 0; i < s.length; i++)
	map[s.charAt(i)] = s.charAt((i + 13) % 26);

for (i = 0; i < s.length; i++)
	map[s.charAt(i).toUpperCase()] = s.charAt((i + 13) % 26).toUpperCase();

function mfenc (str,prefix)
{
//	var rwert = 'mailto:';
	var rwert = prefix;
	for (i = 0; i < str.length; i++)
	{
		var b = str.charAt(i);
		if (b == '+')
			rwert += '@';
		else
			rwert += ('A' <= b && b <= 'Z' || 'a' <= b && b <= 'z' ? map[b] : b);
	}
	return rwert;
}

