/* Common Javascript */

var debug=false;

/* toggle checkboxes for array of ids */
function toggle_checkbox(parent_id,cb_id)
	{
	if (debug) alert ('toggling for ' + cb_id );
	if (cb_id != "")
		{
		var a_id = cb_id.split(",");
		for (var i = 0; i < a_id.length; ++i)
			{
				if (debug) alert (a_id[i]);
				document.getElementById(a_id[i]).checked = document.getElementById(parent_id).checked;
			}
		}
	}
	
/* deativate checkbox */
function deactivate_checkbox(cb_id)
	{
	if (debug) alert ('deactivating ' + cb_id );
	if (cb_id != "")
		{
				document.getElementById(cb_id).checked = false;
		}
	}
	
/* open preview window */
function preview(channel)
	{
		preview_window = window.open("preview_pm.php?channel=" + channel,"preview","width=600,height=650,scrolling=auto,location=no,menubar=no,resizable=yes,scrollbars=yes,statu=no,toolbar=no");
	
	}	
	
/* open window with agbs */	
function agb()
	{
		agb_window = window.open("/static/agb.php?","agb","width=600,height=650,scrolling=auto,location=no,menubar=no,resizable=yes,scrollbars=yes,statu=no,toolbar=no");
	}
	
/* function check_agb */
function check_agb()
	{
		if(document.getElementById("agb_ok").checked || document.getElementById("pm_status").value == 'saved')
			{
				return true;
			}
		else
			{
			alert ('Sie müssen den Allgemeinen Geschäftsbedingungen zustimmen, um fortfahren zu können.');
			return false;
			}
	}	
	
/* ToDo: Table formatting */

function scanTable() {
    var isBlock=0;
    var content='';
    var mac=(navigator.userAgent.toLowerCase().indexOf('mac') != -1);

    var blocks;
    if (mac) {
      blocks=document.forms[0].text.value.split(/~\n?\r/);
    } else {
      blocks=document.forms[0].text.value.split(/~\r?\n/);
    }

    for (var i=0; i<blocks.length; i++) {
      if (isBlock) {
        var rows=(mac?blocks[i].replace(/\n?\r$/, "").split(/\n?\r/):blocks[i].replace(/\r?\n$/, "").split(/\r?\n/));
        //var rows=(mac?blocks[i].substr(0, blocks[i].length-2).split(/\n?\r/):blocks[i].substr(0, blocks[i].length-2).split(/\r?\n/));
        var matrix=new Array();
        var cols=0;
        var rest=1;
        
        while (rest) {
          rest=0;
          var tmpCol=new Array();
          var dataWidth=0;

          for (var j=0; j<rows.length; j++) {
            var result=rows[j].indexOf("\t");
            if (result != -1) {
              tmpCol[tmpCol.length]=rows[j].substr(0, result);
              rows[j]=rows[j].substr(result+1);
              if (dataWidth < result) {
                dataWidth=result;
              }
              rest=1;
            } else {
              tmpCol[tmpCol.length]=rows[j];
              rows[j]='';
            }
          }

          dataWidth++;
          for (var j=0; j<rows.length; j++) {
            while (tmpCol[j].length < dataWidth) {
              tmpCol[j]+=' ';
            }
          }

          matrix[matrix.length]=tmpCol;
          cols++;
        }

        for (var j=0; j<rows.length; j++) {
          rows[j]='';
          for (var k=0; k<cols; k++) {
            if ((matrix[k]) && (matrix[k][j])) {
              rows[j]+=matrix[k][j];
            }
          }
          var rowEnd=rows[j].length;
          while ((rowEnd != 0) && (rows[j][rowEnd-1] == ' ')) {
            rowEnd--;
          }
          rows[j]=rows[j].substr(0, rowEnd);
        }

        content+="~\n"+rows.join("\n")+"\n~\n";
      } else {
        content+=blocks[i];
      }

      isBlock=1-isBlock;
    }

    document.forms[0].text.value=content.replace("~\n~", "~\n");
}

/* check 2 password-fields */

function checkPass(field1,field2) {
  res = true;
  if (document.getElementById(field1).value == "" || document.getElementById(field2).value == "") {
	alert ("Sie haben leider nicht beide Passwort-Felder ausgefüllt!");
	res = false;
  }
  if (document.getElementById(field1).value != document.getElementById(field2).value) {
	alert("Die Passwörter stimmen leider nicht überein!");
  	res = false;
  } 
  return res;
}

function checkRegisterForm(password,password2)
{
	var ret = true;
	if( !checkPass(password,password2) ) ret = false;
	if( !checkUsername('username') ) ret = false;
	return ret;
}

function checkUsername(field)
{
	res = true;
	var username = document.getElementById(field).value;
	result= username.match(/[A-Za-z0-9._-]+/);
	if( result != username )
	{
		alert("Der Username enthält nicht zulässige Zeichen. \nZulässig sind alphanumerische Zeichen, sowie '.', '-' und '_' jedoch keine Leerstellen oder Umlaute.");
		res = false;
	}
	
	return res;
}

function check_grpcount()
	{
		// disabled for rebrush 2009
		return true
		
		// continued:
		var a_id = subgrps.split(",");
		var checkedboxes = 0;
		for (var i = 0; i < a_id.length; ++i)
			{
				if (document.getElementById(a_id[i]).checked)
					{
					checkedboxes++;	
					}
			}
		if (checkedboxes > 2)
			{
			for (var i = 0; i < a_id.length; ++i)
				{
					if (!document.getElementById(a_id[i]).checked)
						{
							document.getElementById(a_id[i]).disabled=true;
						}
				}	
			return true;	
			}
		else if (checkedboxes > 3)
			{
				alert ('Fehler:\n\nSie können nur drei verschiedene Ressorts wählen.\nBitte deaktivieren Sie ein Ressort, falls Sie ein neues wählen möchten.\n\nVielen Dank für Ihr Verständnis.\n');
				return false;
			}
		else
			{
			for (var i = 0; i < a_id.length; ++i)
				{
					document.getElementById(a_id[i]).disabled=false;
				}	
			}
					
	return true;	
	}

function clear_mecomencoding(fld)
	{
		var txt = fld.value;
		var old = txt;
		txt = txt.replace(/[„“”]/g,'"');	// Quotes
		txt = txt.replace(/[‚’‘]/g,'\'');	// Ticks
		txt = txt.replace(/[–—]/g,'-');  // Geviertstriche
		txt = txt.replace(/[€]/g,'EUR');  // Euro-Zeichen
		txt = txt.replace(/[™]/g,'(TM)');		
		fld.value = txt;
		
		if (old != txt) 
			{
				alert("Nicht übertragbare Sonderzeichen\n\nDer von Ihnen eingegebene Text enthielt Zeichen, die nicht über den Nachrichtensatelliten verbreitet werden können. Aus diesem Grund wurden die betreffenden Zeichen durch übertragbare Zeichen ersetzt.\n\nBitte prüfen Sie den Text, ob er Ihren Vorstellungen entspricht.");
			}
	}
