// basics
var ie=document.all;
var nn6=document.getElementById&&!document.all;

function CXmlHttp(method,target,callback,param){
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	 try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp = false;
	  }
	 }
	@end @*/

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}

	// set the callback function

	if (xmlhttp){
		xmlhttp.open(method,target+"&rand="+Math.random(),true);
		if (method=='post' || method=='POST'){
			xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  		xmlhttp.setRequestHeader("Content-length", param.length);
  	} else xmlhttp.setRequestHeader("Content-Type", "text/html; charset=ISO-8859-1");
		xmlhttp.onreadystatechange=function() {
				if (xmlhttp.readyState==4)callback(xmlhttp.responseText);
			}
			xmlhttp.send(param);
	}
}


function postAjaxForm(source,target){
		poststr=parseForm(source);
		new CXmlHttp("POST",target,function (result){d(source).innerHTML=result;},poststr);
}

function parseForm(formname){
	//"&mytextarea2=" + encodeURI( document.getElementById("mytextarea2").value );
	var poststr="";
	var myform=d(formname);
	if (myform.parentNode.elements)myform=myform.parentNode;
	if (!myform.elements){
		newform=document.createElement('FORM');
		myform.parentNode.insertBefore(newform,myform);
		newform.appendChild(myform);
		oldform=myform;
		myform=newform;
	}
	for(i=0;i<myform.elements.length;i++){
		var tempelement=myform.elements[i];
		if (tempelement.type=='checkbox' && tempelement.name)poststr+=tempelement.name+"="+(tempelement.checked?encodeURI( tempelement.value ):'off')+"&";
		else if (tempelement.type=='radio' && tempelement.checked)poststr+=tempelement.name+"="+tempelement.value+"&";
		else if(tempelement.name)poststr+=tempelement.name+"="+encodeURI(tempelement.value)+"&";
	}
	myform.parentNode.insertBefore(oldform,myform);
	myform.parentNode.removeChild(myform);
	return poststr;
}

function getW(obj){
   return obj.offsetWidth;
}

function getH(obj){
   return obj.offsetHeight;
}

function getX(obj){
   return( obj.offsetParent==null ? obj.offsetLeft : obj.offsetLeft+getX(obj.offsetParent) );
}

function getY(obj) {
   return( obj.offsetParent==null ? obj.offsetTop : obj.offsetTop+getY(obj.offsetParent) );
}

function d(obj) {
	if (!document.getElementById(obj)) {
		return false;
	}
	return document.getElementById(obj);
}

function check(_me_out) {
	d("check").innerHTML=_me_out;
}
function replace(string,text,by) {
    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;
}

function setCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 3600000*24*nDays);
 document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString();
}

function readCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return "";
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length;
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

addClass = function(obj, cName) {
	ClassName.add(obj, cName);
}

removeClass = function(obj, cName) {
	ClassName.remove(obj, cName);
}

var ClassName = {
	add:function (node, name) {
		if(!this.contains(node, name)) node.className += ' ' + name;
	},

	remove:function (node, name) {
		if(node.className)
			node.className = node.className.replace(new RegExp('(^|\\s)'+name+'(\\s|$)','g'), ' ');
	},

	contains:function (node, name) {
		return new RegExp('(^|\\s)'+name+'(\\s|$)').test(node.className);
	},

	swap:function (node, old, name) {
		node.className = this.contains(node, old)?
			node.className.replace(new RegExp('(^|\\s)'+old+'(\\s|$)','g'), '$1'+name+'$2') :
			node.className.replace(new RegExp('(^|\\s)'+name+'(\\s|$)','g'), '$1'+old+'$2');
	},

	toggle:function(node, name) {
		if(!this.contains(node, name)) {
			this.add(node, name);
		} else {
			this.remove(node, name);
		}
	}
}

function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.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)
}

getElementsByAttributeValue = function(attribute, value, root) {
	var output = new Array;
	var attributeName = (document.all && attribute.toLowerCase() == "class") ? "className" : attribute;
	var rootElement = root ? root : document;
	var els = (rootElement.all ? rootElement.all : rootElement.getElementsByTagName("*"));

	var attributeReg = new RegExp(value);
	var attributeValue;

	for(var i = els.length-1; i >= 0; i--) {
		attributeValue = els[i].getAttribute(attributeName);
		if(attributeValue  && (!value || attributeReg.test(attributeValue))) output[output.length] = els[i];
	}
	return output.reverse();
}

function setEdit(obj){
	if (obj) {
		obj.contentEditable=false;
		var editableObjects=getElementsByAttributeValue("editable","true",obj);
		if (editableObjects.length) {
			for (var k=0; k<editableObjects.length; k++) {
				editableObjects[k].contentEditable=true;
			}
		}
	}
}

function resetEdit(){
	var editableObjects=getElementsByAttributeValue("contentEditable","true",document);
	//alert(editableObjects.length);
	if (editableObjects.length) {
			for (var k=0; k<editableObjects.length; k++) {
				editableObjects[k].removeAttribute("contentEditable");
			}
		}
}
 function encodeMyHtml(str) {
     encodedHtml = escape(str);
     encodedHtml = encodedHtml.replace(/\//g,"%2F");
     encodedHtml = encodedHtml.replace(/\?/g,"%3F");
     encodedHtml = encodedHtml.replace(/=/g,"%3D");
     encodedHtml = encodedHtml.replace(/&/g,"%26");
     encodedHtml = encodedHtml.replace(/@/g,"%40");
    return encodedHtml;
   }

   function delayedCheckEmbed() {
   	$('.addedHTML embed').each(function(){
   		$(this).attr('wmode','transparent');
   		alert($(this).attr('wmode'));
   	});
   }

function createSpecialHTML(edit){
	obj = d('content');
	obj2 = d('content2');



	if (obj) {
		var Objects=getElementsByAttributeValue("class","addedHTML",obj);

		if (Objects.length) {
			for (var k=0; k<Objects.length; k++) {
				var str=Objects[k].innerHTML;

				Objects[k].innerHTML='';
				if (edit){

					Objects[k].contentEditable=false;
					Objects[k].setAttribute('specialcode',str);

					Objects[k].innerHTML='<div class="hideHTML" title="The content of this block can not be edited"></div>';
				}
				var escapedstr=unescape(str);
				if (edit) escapedstr=escapedstr.replace('<embed','<embed wmode="transparent"');
				Objects[k].innerHTML+=escapedstr;



			}
		}
	}
	if (obj2) {
		var Objects=getElementsByAttributeValue("class","addedHTML",obj2);
		if (Objects.length) {
			for (var k=0; k<Objects.length; k++) {
				var str=Objects[k].innerHTML;
				Objects[k].innerHTML='';
				if (edit){

					Objects[k].contentEditable=false;
					Objects[k].setAttribute('specialcode',str);
					Objects[k].innerHTML='<div class="hideHTML" title="contents of this block can not be edited"></div>';
				}
				var escapedstr=unescape(str);
				if (edit) {
					escapedstr=escapedstr.replace('<embed','<embed wmode="transparent"');
					escapedstr=escapedstr.replace('<EMBED','<EMBED wmode="transparent"');
				}
				Objects[k].innerHTML+=escapedstr;

			}
		}
	}

	addClass(document.body,'rendered');
	if (edit) {
		$('.contentmode .hideHTML').click(function(){
			$(this).parents('.addedHTML').each(function(){
				$(this).click();
			});
		});
	}



}

function encodeSpecialHTML(edit){
	obj = d('content');
	obj2 = d('content2');

	removeClass(document.body,'rendered');
	resetEdit();
	if (obj) {
		var Objects=getElementsByAttributeValue("class","addedHTML",obj);
		if (Objects.length) {
			for (var k=0; k<Objects.length; k++) {
				Objects[k].innerHTML='';
				Objects[k].innerHTML=Objects[k].getAttribute("specialcode");
				Objects[k].removeAttribute("specialcode");
				Objects[k].removeAttribute("contentEditable");

			}
		}
	}
	if (obj2) {
		var Objects=getElementsByAttributeValue("class","addedHTML",obj2);
		if (Objects.length) {
			for (var k=0; k<Objects.length; k++) {
				Objects[k].innerHTML='';
				Objects[k].innerHTML=Objects[k].getAttribute("specialcode");
				Objects[k].removeAttribute("specialcode");
				Objects[k].removeAttribute("contentEditable");
			}
		}
	}
}

function createMP3Links() {
	obj = d('content');
	obj2 = d('content2');

	function insertMP3Object(obj3) {
		var Objects=obj3.getElementsByTagName('a');

		if (Objects.length) {
			for (var k=0; k<Objects.length; k++) {

				var o=Objects[k];
				if(o.href.match(/\.mp3$/i))	{
					if (o.innerHTML!='' && o.innerHTML!='&nbsp;') {




						var flashobj = document.createElement('div');
						flashobj.innerHTML=writeWimpyButton(o.href,17,17);
						flashobj.className='mp3_play_button';
						flashobj.title='play|stop';
						o.title='download';
						o.parentNode.insertBefore(flashobj, o);
					}
				}
			}
		}
	}

	if (obj) {
		insertMP3Object(obj);
	}

	if (obj2) {
		insertMP3Object(obj2);
	}
}

function jumpToEditMode() {
	document.location.href="index.php?login=start&menuid="+menuid;
}


var wimpyUserAgent = navigator.appName.indexOf("Microsoft");
var wimpyButtonIDs = wimpyButtonIDs || Array();
function wimpyButtonStopOthers(myid_in){
	for(i=0; i<wimpyButtonIDs.length; i++){
		if(wimpyButtonIDs[i] != myid_in){
			if (wimpyUserAgent != -1) {
				window[wimpyButtonIDs[i]].js_wimpy_pause();
			} else {
				document[wimpyButtonIDs[i]].js_wimpy_pause();
			}
		}
	}
}
function writeWimpyButton(theFile, wimpyWidth, wimpyHeight, wimpyConfigs, backgroundColor){
	var wimpyReg = "Mk8lN0ZfJTVDam9WSSU3RDdXUiUzQlUlMkE2QyU0MCUzQXRMSmklM0JE";
	var defaultWidth = 35;
	var defaultHeight = 35;
	var defaultConfigs = "";
	var baseURL = "";
	var wimpySwf = "http://www.tick.nl/audio/wimpy_button.swf";
	var wimpyWidth = (wimpyWidth == null) ? defaultWidth : wimpyWidth;
	var wimpyHeight = (wimpyHeight == null) ? defaultHeight : wimpyHeight;
	var wimpyConfigs = (wimpyConfigs == null) ? defaultConfigs : wimpyConfigs;
	var backgroundColor = (backgroundColor == null) ? false : backgroundColor;
	var myid = "wimpybutton"+Math.round((Math.random()*1000)+1);
	wimpyButtonIDs[wimpyButtonIDs.length] = myid;
	var flashCode = "";
	var newlineChar = "\n";
	var backgroundColor = (backgroundColor == null) ? false : backgroundColor;
	if(typeof(backgroundColor) == "string"){
		var Astring = backgroundColor.split("");
		if(Astring[0] == "#"){
			Astring.shift();
			backgroundColor = Astring.join("");
		}
	}
	if(backgroundColor == false){
		tptParam = '<param name="wmode" value="transparent" />'+newlineChar;
		tptEmbed = ' wmode="transparent"';
	} else {
		tptParam = '<param name="bgcolor" value="#'+backgroundColor+'" />'+newlineChar;
		tptEmbed = ' bgcolor="#'+backgroundColor+'"';
	}
	flashCode += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+wimpyWidth+'" height="'+wimpyHeight+'" id="'+myid+'">'+newlineChar;
	flashCode += '<param name="movie" value="'+wimpySwf+'" />'+newlineChar;
	flashCode += '<param name="loop" value="false" />'+newlineChar;
	flashCode += '<param name="menu" value="false" />'+newlineChar;
	flashCode += '<param name="quality" value="high" />'+newlineChar;
	flashCode += '<param name="wmode" value="transparent" />'+newlineChar;
	flashCode += '<param name="flashvars" value="theFile='+baseURL+theFile+wimpyConfigs+'&wimpyReg='+wimpyReg+'&myid='+myid+'" />'+newlineChar;
	flashCode += '<embed src="'+wimpySwf+'" width="'+wimpyWidth+'" height="'+wimpyHeight+'" flashvars="theFile='+baseURL+theFile+wimpyConfigs+'&wimpyReg='+wimpyReg+'&myid='+myid+'"'+tptEmbed+' loop="false" menu="false" quality="high" name="'+myid+'" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>'+newlineChar;
	//document.write('<br>'+myid+'<br><textarea name="textarea" cols="40" rows="3">'+flashCode+'</textarea><br>')+newlineChar;
	return(flashCode);
}


var maybe=false;
var posID;





