 // Startup variables
 var imageTag=false;
 var theSelection=false;

 // Check for Browser & Platform for PC & IE specific bits
 // More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html
 var clientPC=navigator.userAgent.toLowerCase(); // Get client info
 var clientVer=parseInt(navigator.appVersion); // Get browser version

 var is_ie=((clientPC.indexOf("msie")!=-1)&&(clientPC.indexOf("opera")==-1));
 var is_nav=((clientPC.indexOf('mozilla')!=-1)&&(clientPC.indexOf('spoofer')==-1)&&(clientPC.indexOf('compatible')==-1)&&(clientPC.indexOf('opera')==-1)&&(clientPC.indexOf('webtv')==-1)&&(clientPC.indexOf('hotjava')==-1));
 var is_moz=0;

 var is_win=((clientPC.indexOf("win")!=-1)||(clientPC.indexOf("16bit")!=-1));
 var is_mac=(clientPC.indexOf("mac")!=-1);

 // Helpline hints
 b_help="Text in fett: [b]Text[/b] (alt+b)";
 i_help="Text in kursiv: [i]Text[/i] (alt+i)";
 u_help="Unterstrichener Text: [u]Text[/u] (alt+u)";
 q_help="Zitat: [quote]Text[/quote] (alt+q)";
 c_help="Code anzeigen: [code]Code[/code] (alt+c)";
 l_help="Liste: [list]Text[/list] (alt+l)";
 o_help="Geordnete Liste: [list=]Text[/list] (alt+o)";
 p_help="Bild einfügen: [img]http://URL_des_Bildes[/img] (alt+p)";
 w_help="URL einfügen: [url]http://URL[/url] oder [url=http://url]URL Text[/url] (alt+w)";
 a_help="Alle offenen BBCodes schließen";
 s_help="Schriftfarbe: [color=red]Text[/color] Tipp: Du kannst ebenfalls color=#FF0000 benutzen";
 f_help="Schriftgröße: [size=x-small]Kleiner Text[/size]";
 v_help="[php]<?PHP echo(PHP_CODE); ?>[/php] (alt+v)";
 // MOD UploadPic - begin
 up_help="Ein Bild hochladen und in die Nachricht einf&uuml;gen.";
 // MOD UploadPic - end

 // Define the bbCode tags
 bbcode=new Array();
 bbtags=new Array('<b>','</b>','<i>','</i>','<u>','</u>','<font color=#000000>','</font>','<font style=font-size: 12px>','</font>','<br>','</default>','<table style="width: 100%; border-style: solid; border-width: 1px; border-color: #F5CC0C; background-color: #F4EABD"><tr><td class=Contents style=width: 100%; padding: 3px>','</td><tr><table>','<img src=http://www.ForExclusiveBrides.com/v/Deco/Logo.jpg border=0>','</default>','<a href=http://www.ForExclusiveBrides.com target=_blank>','</a>','','','<br><table style=width: 100%; height: 1px; background-color: #F5CC0C><tr><td style=width: 100%; height: 1px; font family: Verdana, Helvetica, Arial; font-size: 12px; color: #000000>','</td></tr></table><br>','<font style=font-family: Verdana, Helvetica, Arial>','</font>');
 imageTag=false;

 // Shows the help hints in the helpline window
 function helpline(help) 
 {
  document.post.helpbox.value=eval(help+"_help");
 }


 // Replacement for arrayname.length property
 function getarraysize(thearray) 
 {
  for(i=0;i<thearray.length;i++) 
  {
   if((thearray[i]=="undefined")||(thearray[i]=="")||(thearray[i]==null))
    return i;
  }
  return thearray.length;
 }

 // Replacement for arrayname.push(value) not implemented in IE until version 5.5
 // Appends element to the array
 function arraypush(thearray,value) 
 {
  thearray[getarraysize(thearray)]=value;
 }

 // Replacement for arrayname.pop() not implemented in IE until version 5.5
 // Removes and returns the last element of an array
 function arraypop(thearray) 
 {
  thearraysize=getarraysize(thearray);
  retval=thearray[thearraysize-1];
  delete thearray[thearraysize-1];
  return retval;
 }

 function checkForm() 
 {
  formErrors=false;
  if (document.getElementById(Item).value.length<2) 
  {
   formErrors="You need to enter a text first.";
  }
  if(formErrors) 
  {
   alert(formErrors);
   return false;
  } 
  else 
  {
   bbstyle(-1);
   //formObj.preview.disabled=true;
   //formObj.submit.disabled=true;
   return true;
  }
 }

 function emoticon(text) 
 {
  var txtarea=document.getElementById(Item);
  text=' '+text+' ';
  if(txtarea.createTextRange&&txtarea.caretPos) 
  {
   var caretPos=txtarea.caretPos;
   caretPos.text=caretPos.text.charAt(caretPos.text.length-1)==' '?caretPos.text+text+' ':caretPos.text+text;
   txtarea.focus();
  } 
  else 
  {
   txtarea.value+=text;

   txtarea.focus();
  }
 }

 function bbfontstyle(bbopen,bbclose) 
 {
  var txtarea=document.getElementById(Item);
  if((clientVer>=4)&&is_ie&&is_win) 
  {
   theSelection=document.selection.createRange().text;
   if(!theSelection) 
   {
    txtarea.value+=bbopen+bbclose;
    txtarea.focus();
    return;
   }
   document.selection.createRange().text=bbopen+theSelection+bbclose;
   txtarea.focus();
   return;
  }
  else if(txtarea.selectionEnd&&(txtarea.selectionEnd-txtarea.selectionStart>0))
  {
   mozWrap(txtarea,bbopen,bbclose);
   return;
  }
  else
  {
   txtarea.value+=bbopen+bbclose;
   txtarea.focus();
  }
  storeCaret(txtarea);
 }

 function bbstyle(bbnumber,Item) 
 {
  var txtarea=document.getElementById(Item);
  txtarea.focus();
  donotinsert=false;
  theSelection=false;
  bblast=0;
  if(bbnumber==-1) 
  { // Close all open tags & default button names
   while(bbcode[0]) 
   {
    butnumber=arraypop(bbcode)-1;
    txtarea.value+=bbtags[butnumber+1];
    buttext=eval('document.post.addbbcode'+butnumber+'.value');
    eval('document.post.addbbcode'+butnumber+'.value="'+buttext.substr(0,(buttext.length-1))+'"');
   }
   imageTag=false; // All tags are closed including image tags :D
   txtarea.focus();
   return;
 }
  if((clientVer>=4)&&is_ie&&is_win)
  {
   theSelection=document.selection.createRange().text; // Get text selection
   if(theSelection) 
   {
    // Add tags around selection
    if(bbnumber==18) { document.selection.createRange().text=bbtags[bbnumber]+bbtags[bbnumber+1]; }
    else             { document.selection.createRange().text=bbtags[bbnumber]+theSelection+bbtags[bbnumber+1]; }
    txtarea.focus();
    theSelection='';
    return;
   }
  }
  else if(txtarea.selectionEnd&&(txtarea.selectionEnd-txtarea.selectionStart>0))
  {
   mozWrap(txtarea,bbtags[bbnumber],bbtags[bbnumber+1]);
   return;
  }
  // Find last occurance of an open tag the same as the one just clicked
  for(i=0;i<bbcode.length;i++) 
  {
   if(bbcode[i]==bbnumber+1) 
   {
    bblast=i;
    donotinsert=true;
   }
  }
  if(donotinsert) 
  {		// Close all open tags up to the one just clicked & default button names
   while(bbcode[bblast]) 
   {
    butnumber=arraypop(bbcode)-1;
    txtarea.value+=bbtags[butnumber+1];
    buttext=eval('document.post.addbbcode'+butnumber+'.value');
    eval('document.post.addbbcode'+butnumber+'.value="'+buttext.substr(0,(buttext.length-1))+'"');
    imageTag=false;
   }
   txtarea.focus();
   return;
  } 
  else 
  { // Open tags
   if(imageTag&&(bbnumber!=14)) 
   {		// Close image tag before adding another
    txtarea.value+=bbtags[15];
    lastValue=arraypop(bbcode)-1;	// Remove the close image tag from the list
    document.post.addbbcode14.value="Img";	// Return button back to normal state
    imageTag=false;
   }
   // Open tag
   txtarea.value+=bbtags[bbnumber];
   if ((bbnumber==14)&&(imageTag==false)) imageTag=1; // Check to stop additional tags after an unclosed image tag
   arraypush(bbcode,bbnumber+1);
   eval('document.post.addbbcode'+bbnumber+'.value+="*"');
   txtarea.focus();
   return;
  }
  storeCaret(txtarea);
 }

 function mozWrap(txtarea,open,close)
 {
  var selLength=txtarea.textLength;
  var selStart=txtarea.selectionStart;
  var selEnd=txtarea.selectionEnd;
  if (selEnd==1||selEnd==2) selEnd=selLength;
  var s1=(txtarea.value).substring(0,selStart);
  var s2=(txtarea.value).substring(selStart,selEnd)
  var s3=(txtarea.value).substring(selEnd,selLength);
  if(open=='') { txtarea.value=s1+open+close+s3; }
  else         { txtarea.value=s1+open+s2+close+s3; }
  return;
 }

 // Insert at Claret position. Code from
 // http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130
 function storeCaret(textEl) 
 {
  if(textEl.createTextRange)textEl.caretPos=document.selection.createRange().duplicate();
 }
//-->

 function Open(What)
 {
  window.open(What+"&&Templum=<?PHP echo($Jahrgang."-".$Ausgabe); ?>",'Page');
 }
 function Search()
 {
  window.open("p/Search.php4?Indicium="+parent.frames[1].document.getElementById("MySearch").value,'Page');
 }
 function Launch(What,Where)
 {
  window.open(What,Where);
 }
 function Show(What)
 {
  window.open(What,'Page');
 }
 function View(What)
 {
  window.open(What+"&&Templum=<?PHP echo($Jahrgang."-".$Ausgabe); ?>",'Page');
 }
 function EMail(s)
 {
	 var a = false;
	 var res = false;
	 if(typeof(RegExp) == 'function')
	 {
		 var b = new RegExp('abc');
		 if(b.test('abc') == true){a = true;}
	 }
	
	 if(a == true)
	 {
		 reg = new RegExp('^([a-zA-Z0-9\-\.\_]+)'+
		 '(\@)([a-zA-Z0-9\-\.]+)'+
		 '(\.)([a-zA-Z]{2,4})$');
		 res = (reg.test(s));
	 }
	 else
	 {
		 res = (s.search('@') >= 1 &&
		 s.lastIndexOf('.') > s.search('@') &&
		 s.lastIndexOf('.') >= s.length-5)
 	}
 	return(res);
 }
 function reg_check(minluname,maxluname,minlpw,maxlpw)
 {
	if(document.registration.regName.value=="")	
	{
		document.getElementById("missingRegName").innerHTML="Please enter a Username!";
		document.registration.regName.focus();
		return false;
	}
	else
	{
		var regname = document.registration.regName.value;
		if(regname.length <= minluname || regname.length > maxluname)
		{
			document.getElementById("missingRegName").innerHTML="At least "+minluname+" letters and at most "+maxluname+" letters!";
			document.registration.regName.focus();
			return false;
		}
	}
	if(document.registration.regMail.value=="")
	{
		document.getElementById("missingMail").innerHTML="Please enter an E-Mail-Adress!";
		document.registration.regMail.focus();
		return false;
	}
	else
	{
		var emailadress = document.registration.regMail.value;
		if(EMail(emailadress) == false)
		{
			document.getElementById("missingMail").innerHTML="The E-Mail-Adress isn't correct!";
			document.registration.regMail.focus();
			return false;
		}
	}
	if(document.registration.firstName.value=="")	
	{
		document.getElementById("missingFirstName").innerHTML="Please enter your first name!";
		document.registration.firstName.focus();
		return false;
	}
	if(document.registration.lastName.value=="")	
	{
		document.getElementById("missingLastName").innerHTML="Please enter your last name!";
		document.registration.lastName.focus();
		return false;
	}
	if(document.registration.regPassW.value=="")	
	{
		document.getElementById("missingPW").innerHTML="Please enter a Password!";
		document.registration.regPassW.focus();
		return false;
	}
	else
	{
		var regname = document.registration.regPassW.value;
		if(regname.length <= minlpw || regname.length > maxlpw)
		{
			document.getElementById("missingPW").innerHTML="At least "+minlpw+" letters and at most "+maxlpw+" letters!";
			document.registration.regPassW.focus();
			return false;
		}
	}
 }
function addimg(liste,ausgabe)
{
	var index = liste.options.selectedIndex;
	var auswahl = liste.options[index].value;
	var x="";
	for(var y=0;y < auswahl;y++)
	{
	 	x+="<input name=\"imageup[]\" type=\"file\"><br />";
	}
	document.getElementById(ausgabe).innerHTML=x;
}
function addfields(liste,ausgabe,feldname,typ,size,max)
{
	var index = liste.options.selectedIndex;
	var auswahl = liste.options[index].value;
	var x="";
	for(var y=0;y < auswahl;y++)
	{
	 	if(typ == 1)
	 	{
			x+="<input type=\"text\" size=\""+size+"\" maxlength=\""+max+"\" name=\""+feldname+"[]\" /><br />";
		}
		else if(typ == 2)
		{
		 	x+="<input name=\""+feldname+"[]\" type=\"file\"><br />";
		}		 
	}
	document.getElementById(ausgabe).innerHTML=x;
}
function addsomefields(liste,ausgabe,feldname,typ,size,max)
{
	var auswahl = document.getElementById(liste).value;	
	var x="";
	for(var y=0;y < auswahl;y++)
	{
	 	if(typ == 1)
	 	{
			x+="<input type=\"text\" size=\""+size+"\" maxlength=\""+max+"\" name=\""+feldname+"[]\" /><br />";
		}
		else if(typ == 2)
		{
		 	x+="<input name=\""+feldname+"[]\" type=\"file\"><br />";
		}		 
	}
	document.getElementById(ausgabe).innerHTML=x;
}
function ask(question, href) {
  if(confirm(question) == true) {
    window.location.href = href;
  }
}
function komma(nummer) {
	var nummer = '' + nummer;
	var laenge = nummer.length;
	if (laenge > 3) {
	var mod = laenge % 3;
	var output = (mod > 0 ?
	(nummer.substring(0,mod)) : '');
	for (i=0 ; i < Math.floor(laenge / 3); i++) {
	if ((mod == 0) && (i == 0))
	output += nummer.substring(mod+ 3 * i,
	mod + 3 * i + 3); else
	output+= '.' + nummer.substring(mod + 3 * i,
	mod + 3 * i + 3); } return (output); }
	else return nummer; 
}

var fenster;
function neufenster(link)
{
	fenster=window.open(link,"NeuFenstername","width=800,height=500,scrollbars=yes,resizable=yes");
}

function insert(aTag, eTag, formularname, textblockname) {
  var input = document.forms[formularname].elements[textblockname];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}
function insert_with_id(aTag, eTag, formularname, textblockid) {
  var input = document.getElementById(textblockid);
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}
function showhide(what)
{
	if(document.getElementById(what).style.display == 'none')
	{

		document.getElementById(what).style.display = 'block'
	}
	else
	{
		document.getElementById(what).style.display = 'none'
	}
}
function checkUncheckAll(theElement) 
{
    var theForm = theElement.form, z = 0;
	for(z=0; z<theForm.length;z++)
	{
      	if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall')
		{
	  		theForm[z].checked = theElement.checked;
	  	}
	}
}
function anzeigen(das)
{
 	if(document.getElementById(das).style.display=='none') 
 	{
		document.getElementById(das).style.display='block'; 
	}	 
 	else 
	{
		document.getElementById(das).style.display='none';
	}
}
function info(what)
{
	parent.infoPage.document.getElementById("info").innerHTML=what;
}
function infoout()
{
	parent.infoPage.document.getElementById("info").innerHTML="";
}
function BilderVorladen()
{
	document.Vorladen = new Array();
	if(document.images)
	{
		for(var i = 0; i < BilderVorladen.arguments.length; i++)
		{
			document.Vorladen[i] = new Image();
			document.Vorladen[i].src = BilderVorladen.arguments[i];
		}
	}
}
function activate(formname)
{
	if(document.getElementById(formname).disabled == true)
	{
		document.getElementById(formname).disabled = false;
	}
	else
	{	
		document.getElementById(formname).disabled = true;
	}
}
function regex_check(teststring,what)
{
	var expression;
	switch(what)
	{
		case '0': //everything
				expression = /^.*$/; 
		break;		
		
		case '1': //only Numbers \s = leerzeichen
				expression = /^[0-9\s]*$/; 
		break;
		
		case '2': //No Numbers
				expression = /^[a-zA-Z-\s]*$/; 
		break;
		
		case '3': //Only E-Mail-Addresses
				expression = /^([a-zA-Z0-9\-\.\_]+)(\@)([a-zA-Z0-9\-\.]+)(\.)([a-zA-Z]{2,4})$/; 
		break;
		
		case '4': //keine Sonderzeichen
				expression = /^[a-zA-Z0-9-\.\s]*$/; 
		break;
	}
	result = expression.test(teststring); 
	return result;
}
function check_theForm(formularname,feldnamen,allfelder,spezial,formularid,option)
{	
	var n = 0;
	var feldnamensplit=feldnamen.split("|");
	var allfeldersplit=allfelder.split("|");
	var allspezial=spezial.split("|");	
	var complstring="";
	for(var x=0;x < (allfeldersplit.length-1);x++)
	{
	 	if(document.forms[formularname].elements[allfeldersplit[x]].value != "")
	 	{
			complstring += allfeldersplit[x]+":::"+document.forms[formularname].elements[allfeldersplit[x]].value+"|";
		}
		if(document.forms[formularname].elements[allfeldersplit[x]].value != "")
		{
			var ergebnis = regex_check(document.forms[formularname].elements[allfeldersplit[x]].value,allspezial[x]);
			if(ergebnis == false)
			{
				document.forms[formularname].elements[allfeldersplit[x]].focus();
				switch(allspezial[x])
				{
					case '0':
							document.getElementById("missing_"+allfeldersplit[x]).innerHTML="Error!";
					break;
					
					case '1':
							document.getElementById("missing_"+allfeldersplit[x]).innerHTML="Only Numbers accepted!";
					break;
					
					case '2':
							document.getElementById("missing_"+allfeldersplit[x]).innerHTML="No Numbers and no Special Chars accepted!";
					break;
					
					case '3':
							document.getElementById("missing_"+allfeldersplit[x]).innerHTML="This is not a correct E-Mail-Address!";
					break;
					
					case '4':
							document.getElementById("missing_"+allfeldersplit[x]).innerHTML="You should not use Special Chars!";
					break;
				}
				n = 1;
			}
		}				 
	}
	for(var x=0;x < (feldnamensplit.length-1);x++)
	{
		if(document.forms[formularname].elements[feldnamensplit[x]].value=="")	
		{
		 	document.getElementById("missing_"+feldnamensplit[x]).innerHTML="Please fill out!";
			document.forms[formularname].elements[feldnamensplit[x]].focus();
			n = 1;
		}
	}
	if(n == 1)
	{
		return false;
	}	
	else
	{
	 	try 
		{
			req = window.XMLHttpRequest?new XMLHttpRequest(): 
			new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch (e) 
		{
			//Kein AJAX Support
		} 
		req.onreadystatechange = handleFormular;
	    req.open('POST', 'FormularHandle.php5');
	    req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	    //alert('formularid='+formularid+'&soption='+option+'&completestring='+complstring);
	    req.send('formularid='+formularid+'&soption='+option+'&completestring='+complstring); 
		document.getElementById('button_'+formularname).style.display="none";
		for(var x=0;x < (allfeldersplit.length-1);x++)
		{
			document.forms[formularname].elements[allfeldersplit[x]].value="";		
		} 
	}	
}
function handleFormular()
{
	if (req.readyState == 4 && req.status == 200) 
	{			
	 	var response = req.responseText;
	 	document.getElementById('erfolg_'+response).innerHTML="Form successfully sent!";	 	
		//alert(response);
		//document.getElementById("ausgabe").innerHTML = response;	
	}
}
