var sexif = 0;
var slink = 0;
var UMG_AJAX_Object = new vB_AJAX_Handler(true);
var imgtext = 'Image %1 of %2';
var slide_time;
var imageid = new Object();

var aElement = '';
var aButton = '';
var doBorder = 0;
var b_color;
var txt_bold = 0;
var txt_italic = 0;
var txt_underline = 0;

function printableVersion (mediaid)
{
 w = imgW + 20;
 h = imgH + 6;
 window.open("umg.php?" + SESSIONURL + "securitytoken=" + SECURITYTOKEN + "&do=print&m=" + mediaid, "Print", "toolbar=no,scrollbars=yes,resizable=yes,width=" + w + ",height=" + h);
}

function CheckCard ()
{
 if (txt_text == '')
 {
 	alert(no_ecard_text);
 	document.ecard.imagetext.focus();
 	return false;
 }
 if (document.ecard.email.value == '' && document.ecard.username.value == '')
 {
 	alert(no_ecard_address);
 	document.ecard.email.focus();
 	return false;
 }
 if (document.ecard.email.value != '')
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+    //Name
                   '(\\@)'+                       //@-Zeichen
                   '([a-zA-Z0-9\\-\\.]+)'+        //Domain
                   '(\\.)'+                       //Punkt
                   '([a-zA-Z]{2,4})$');           //TLD
  if(reg.test (document.ecard.email.value) == false)
  {
   alert(wrong_email_format);
   document.ecard.email.focus();
   return false;
  }
 }

 document.ecard.ftxt_name.value = txt_name;
 document.ecard.ftxt_text.value = txt_text;
 document.ecard.ftxt_subject.value = txt_subject;
}

function ResetText()
{
 	txt_bold = txt_underline = txt_italic = doBorder = 0;
 	document.getElementById('intext').style.textDecoration = 'none';
 	document.getElementById('imgright').style.textDecoration = 'none';
 	document.getElementById('imgbottom').style.textDecoration = 'none';

 	document.getElementById('intext').style.fontWeight = 'normal';
 	document.getElementById('imgright').style.fontWeight = 'normal';
 	document.getElementById('imgbottom').style.fontWeight = 'normal';

 	document.getElementById('intext').style.fontStyle = 'normal';
 	document.getElementById('imgright').style.fontStyle = 'normal';
 	document.getElementById('imgbottom').style.fontStyle = 'normal';

 	document.getElementById('intext').style.textAlign = 'center';
 	document.getElementById('imgright').style.textAlign = 'center';
 	document.getElementById('imgbottom').style.textAlign = 'center';

 	document.getElementById('intext').style.display = 'block';
 	document.getElementById('imgright').style.display = 'none';
 	document.getElementById('imgbottom').style.display = 'none';

 	document.getElementById('intext').innerHTML = txt_reset;
 	document.getElementById('imgright').innerHTML = txt_reset;
 	document.getElementById('imgbottom').innerHTML = txt_reset;

 	document.getElementById('imgborder').style.border = 'solid 0px';
 	document.getElementsByName("bocol")[0].value = '';
 	document.getElementsByName("bacol")[0].value = '';
 	document.getElementsByName("focol")[0].value = '';

  document.getElementById('pbocol').style.backgroundColor = 'transparent';
  document.getElementById('pbacol').style.backgroundColor = 'transparent';
  document.getElementById('pfocol').style.backgroundColor = 'transparent';

 	document.getElementById('imgright').style.backgroundColor = 'transparent';
 	document.getElementById('imginside').style.backgroundColor = 'transparent';
 	document.getElementById('imgbottom').style.backgroundColor = 'transparent';

 	document.getElementById('intext').style.fontFamily = 'Arial';
 	document.getElementById('imgright').style.fontFamily = 'Arial';
 	document.getElementById('imgbottom').style.fontFamily = 'Arial';
}

function TextStil(val)
{
 document.ecard.txtstil.value = val;
 if (val == 1)
 {
 	document.getElementById('intext').style.fontFamily = 'Arial';
 	document.getElementById('imgright').style.fontFamily = 'Arial';
 	document.getElementById('imgbottom').style.fontFamily = 'Arial';
 }
 else if (val == 2)
 {
 	document.getElementById('intext').style.fontFamily = 'Verdana';
 	document.getElementById('imgright').style.fontFamily = 'Verdana';
 	document.getElementById('imgbottom').style.fontFamily = 'Verdana';
 }
 else if (val == 3)
 {
 	document.getElementById('intext').style.fontFamily = 'Helvetica';
 	document.getElementById('imgright').style.fontFamily = 'Helvetica';
 	document.getElementById('imgbottom').style.fontFamily = 'Helvetica';
 }
 else if (val == 4)
 {
 	document.getElementById('intext').style.fontFamily = 'Comic';
 	document.getElementById('imgright').style.fontFamily = 'Comic';
 	document.getElementById('imgbottom').style.fontFamily = 'Comic';
 }
}

function TextStyle(val)
{
 if (val == 1)
 {
 	txt_bold = txt_underline = txt_italic = 0;
 	document.getElementById('txtbold').checked = false;
 	document.getElementById('txtitalic').checked = false;
 	document.getElementById('txtunderline').checked = false;

 	document.getElementById('intext').style.textDecoration = 'none';
 	document.getElementById('imgright').style.textDecoration = 'none';
 	document.getElementById('imgbottom').style.textDecoration = 'none';

 	document.getElementById('intext').style.fontWeight = 'normal';
 	document.getElementById('imgright').style.fontWeight = 'normal';
 	document.getElementById('imgbottom').style.fontWeight = 'normal';

 	document.getElementById('intext').style.fontStyle = 'normal';
 	document.getElementById('imgright').style.fontStyle = 'normal';
 	document.getElementById('imgbottom').style.fontStyle = 'normal';
 }
 else if (val == 2)
 {
 	if (!txt_bold)
 	{
   txt_bold = 1;
 	 document.getElementById('intext').style.fontWeight = 'bold';
   document.getElementById('imgright').style.fontWeight = 'bold';
   document.getElementById('imgbottom').style.fontWeight = 'bold';
  }
  else
  {
   txt_bold = 0;
 	 document.getElementById('intext').style.fontWeight = 'normal';
   document.getElementById('imgright').style.fontWeight = 'normal';
   document.getElementById('imgbottom').style.fontWeight = 'normal';
  }
 }
 else if (val == 3)
 {
 	if (!txt_italic)
 	{
   txt_italic = 1;
 	 document.getElementById('intext').style.fontStyle = 'italic';
   document.getElementById('imgright').style.fontStyle = 'italic';
 	 document.getElementById('imgbottom').style.fontStyle = 'italic';
  }
  else
  {
   txt_italic = 0;
 	 document.getElementById('intext').style.fontStyle = 'normal';
   document.getElementById('imgright').style.fontStyle = 'normal';
   document.getElementById('imgbottom').style.fontStyle = 'normal';
  }
 }
 else if (val == 4)
 {
 	if (!txt_underline)
 	{
   txt_underline = 1;
 	 document.getElementById('intext').style.textDecoration = 'underline';
 	 document.getElementById('imgright').style.textDecoration = 'underline';
 	 document.getElementById('imgbottom').style.textDecoration = 'underline';
  }
  else
  {
   txt_italic = 0;
 	 document.getElementById('intext').style.textDecoration = 'none';
   document.getElementById('imgright').style.textDecoration = 'none';
   document.getElementById('imgbottom').style.textDecoration = 'none';
  }
 }

 if (document.getElementById('txtbold').checked == false && document.getElementById('txtitalic').checked == false && document.getElementById('txtunderline').checked == false) document.getElementById('txtnormal').checked = true;
 else document.getElementById('txtnormal').checked = false;
}

function ShowSubject(text)
{
 txt_subject = text;
 GiveTextOut();
}

function ShowName(text)
{
 txt_name = text;
 GiveTextOut();
}

function ShowImageText(text)
{
	txt_text = text;
	GiveTextOut();
}

function GiveTextOut()
{
 itext = '';
 if (txt_subject) itext += '<h2><b>' + txt_subject + '</b></h2>';
 if (txt_name) itext += txt_name + ',<br />';
 itext += txt_text.replace(/\r\n/gi, '<br />', txt_text);

 document.getElementById('intext').innerHTML = itext;
 document.getElementById('imgright').innerHTML = itext;
 document.getElementById('imgbottom').innerHTML = itext;
}

function TextAlign(val)
{
 document.ecard.txtalign.value = val;
 if (val == 1)
 {
 	document.getElementById('intext').style.textAlign = 'left';
 	document.getElementById('imgright').style.textAlign = 'left';
 	document.getElementById('imgbottom').style.textAlign = 'left';
 }
 else if (val == 2)
 {
 	document.getElementById('intext').style.textAlign = 'center';
 	document.getElementById('imgright').style.textAlign = 'center';
 	document.getElementById('imgbottom').style.textAlign = 'center';
 }
 else if (val == 3)
 {
 	document.getElementById('intext').style.textAlign = 'right';
 	document.getElementById('imgright').style.textAlign = 'right';
 	document.getElementById('imgbottom').style.textAlign = 'right';
 }
}

function TextWhere(val)
{
 document.ecard.inpic.value = val;
 if (val == 1)
 {
 	document.getElementById('intext').style.display = 'block';
 	document.getElementById('imgright').style.display = 'none';
 	document.getElementById('imgbottom').style.display = 'none';
 }
 else if (val == 2)
 {
 	document.getElementById('intext').style.display = 'none';
 	document.getElementById('imgright').style.display = 'block';
 	document.getElementById('imgbottom').style.display = 'none';
 }
 else if (val == 3)
 {
 	document.getElementById('intext').style.display = 'none';
 	document.getElementById('imgright').style.display = 'none';
 	document.getElementById('imgbottom').style.display = 'block';
 }
}

function doImageBorder()
{
 if (!doBorder)
 {
 	doBorder = 1;
 	if (b_color) document.getElementById('imgborder').style.border = 'solid ' + b_color + ' 1px';
 }
 else
 {
 	doBorder = 0;
 	document.getElementById('imgborder').style.border = 'solid 0px';
 }
}

function changecolor(theelement, color, idtag, doit)
{
 new_color = '#';

 if (color.length != 0)
 {
  if (color.substring(0, 1) != '#') col = color.substring(0, 6);
  else col = color.substring(1, 7);

  for (var x = 0; x < 6;x++)
  {
   cnum = col.charCodeAt(x);
  	if ((cnum >= 48 && cnum <= 57) || (cnum >= 97 && cnum <= 102) || (cnum >= 65 && cnum <= 70))
  	{
 	  new_color += col.charAt(x);
  	}
  	else new_color += '0';
  }
 }
 else
 {
 	new_color = 'transparent';
 }

 if (doit) theelement.style.backgroundColor = new_color;
 if (idtag == 'imgborder')
 {
  if (doBorder && color.length != 0) document.getElementById(idtag).style.border = 'solid ' + new_color + ' 1px';
  else
  {
   doBorder = 0;
   document.getElementById('imgborder').style.border = 'solid 0px';
   document.getElementById('bclick').checked = false;
  }
  document.getElementsByName("bocol")[0].value = new_color.toUpperCase();
  b_color = new_color.toUpperCase();
  if (color.length == 0)
  {
   b_color = '';
   document.getElementsByName("bocol")[0].value = '';
  }
 }
 else if (idtag == 'imginside')
 {
 	document.getElementById('imgright').style.backgroundColor = new_color;
 	document.getElementById('imginside').style.backgroundColor = new_color;
 	document.getElementById('imgbottom').style.backgroundColor = new_color;
 	document.getElementsByName("bacol")[0].value = new_color.toUpperCase();
 	if (color.length == 0) document.getElementsByName("bacol")[0].value = '';
 }
 else if (idtag == 'txtcol')
 {
 	document.getElementById('imgright').style.color = new_color;
 	document.getElementById('imginside').style.color = new_color;
 	document.getElementById('imgbottom').style.color = new_color;
 	document.getElementsByName("focol")[0].value = new_color.toUpperCase();
 	if (color.length == 0) document.getElementsByName("focol")[0].value = '';
 }
}
  
function openColorChooser(buttonname, elementname, idtag)
{
 aElement = elementname;
 aButton = buttonname;
 window.open("umg.php?" + SESSIONURL + "securitytoken=" + SECURITYTOKEN + "&do=ecard&act=colorchooser&tag=" + idtag, "colorchooser", "toolbar=no,scrollbars=no,resizable=no,width=260,height=320");
}

function setColor(newvalue, idtag)
{
 if (aElement != '') aElement.value = newvalue;
 if (aButton != '') aButton.style.backgroundColor = newvalue;
 changecolor(aElement, newvalue, idtag, 0)
}

function startSlide()
{
 if (slideit)
 {
  SlideNextImage();
 }
 if (Slideend)
 {
 	clearTimeout(slide_time);
 	document.location.href = 'umg.php?' + SESSIONURL + 'c=' + parentid;
 }
 else
 {
 	slide_time = setTimeout ('startSlide()', slideshow_speed);
 }
}

function SlidePause()
{
 slideit = false;
 document.getElementById('pausetxt').innerHTML = '(<b>Pause</b>)';
}

function SlideShowImage()
{
 w = slide_iws[slide_start];
 h = slide_ihs[slide_start];
 UMG_AJAX_MediaID = slide_images[slide_start];

 newimage = '<img src="umg_view.php?' + SESSIONURL + 'do=o&mediaid=' + slide_images[slide_start] + '" onclick="SlidePause();openImage(' + slide_images[slide_start] + ',600,600)" id="simage" width="' + w + 'px" height="' + h + 'px" border="0" />';
 var imagetext = document.getElementById('slidetxt');
 var imageholder = document.getElementById('slideimage');
 imageholder.innerHTML = newimage;

 text = imgtext.replace ('%1', (slide_start + 1));
 text = text.replace ('%2', image_len);
 imagetext.innerHTML = text;
}

function SlidePrevImage()
{
 slide_start--;
 if (slide_start < 0) slide_start = image_len - 1;
 SlideShowImage();
}

function SlideNextImage()
{
 slide_start++;
 if (slide_start >= image_len) slide_start = 0;
 SlideShowImage();
}

function handleChar(char)
{
 switch (char) {
 	case 32:
 	case 112:
 	 if (slideit)
 	 {
 	 	SlidePause();
 	 }
   else
   {
    slideit = true;
    document.getElementById('pausetxt').innerHTML = '';
   }
   break;
 	case 37:
 	 SlidePrevImage ();
 	 break;
 	case 39:
 	 SlideNextImage ();
 	 break;
 	case 102:									// f
 	 slideit = false;
 	 break;
 	case 114:									// r
 	 zoomw = 0;
 	 zoomh = 0;
 	 document.getElementById('simage').style.width = slide_iws[slide_start] + 'px';
 	 document.getElementById('simage').style.height = slide_ihs[slide_start] + 'px';
 	 break;
 	case 43:									// +
 	 zoomw += 10;
 	 zoomh += 10;
 	 document.getElementById('simage').style.width = (slide_iws[slide_start] + zoomw) + 'px';
 	 document.getElementById('simage').style.height = (slide_ihs[slide_start] + zoomh) + 'px';
 	 break;
 	case 45:									// -
 	 zoomw -= 10;
 	 zoomh -= 10;
 	 document.getElementById('simage').style.width = (slide_iws[slide_start] + zoomw) + 'px';
 	 document.getElementById('simage').style.height = (slide_ihs[slide_start] + zoomh) + 'px';
 	 break;
 	case 27:									// ESC
   Slideend = true;
   slide_time = setTimeout ('startSlide()', 3);
 	 break;
 }

}

function startSlideshow (cid)
{
 document.location.href = 'umg.php?' + SESSIONURL + 'do=slideshow&c=' + cid;
}

function UMG_AJAX_setClick_Init()
{
 UMG_AJAX_Object.onreadystatechange(UMG_AJAX_SetClick);
 UMG_AJAX_Object.send('umg_ajax.php', 'do=click&m=' + UMG_AJAX_MediaID);
}

function UMG_AJAX_SetClick()
{
 if (!slideshowon)
 {
  if (UMG_AJAX_Object.handler.readyState == 4 && UMG_AJAX_Object.handler.status == 200 && UMG_AJAX_Object.handler.responseText)
  {
 	 if (UMG_AJAX_Object.handler.responseText)
  	{
  	 // set the correct hits
 	  var mediaobj = fetch_object('mediahits');
 	  mediaobj.parentNode.innerHTML = UMG_AJAX_Object.handler.responseText;
 	 }
 	}
 }
}

function comment_edit (cid)
{
 document.comform.p.value = cid;
 document.comform.special.value = 'editcomment';
 document.comform.submit();
}

function toggle_exif (smenu)
{
 if (smenu == 'exif_menu') ch = sexif;
 if (smenu == 'link_menu') ch = slink;
 if (!ch)
 {
 	if (smenu == 'exif_menu') sexif = 1;
 	if (smenu == 'link_menu') slink = 1;
 	document.getElementById(smenu).style.display = 'block';
 }
 else
 {
 	if (smenu == 'exif_menu') sexif = 0;
 	if (smenu == 'link_menu') slink = 0;
 	document.getElementById(smenu).style.display = 'none';
 }
}

function openImage (m, w, h)
{
 var url = 'umg_view.php?' + SESSIONURL + 'do=o&w=1&mediaid=' + m + '&securitytoken=' + SECURITYTOKEN;
 var hWnd = window.open (url, "Image", "width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
 if ((document.window != null) && (!hWnd.opener)) hWnd.opener = document.window;
}

function changeUsergoups(id, editmode, selid)
{
 selectUsergroup(id, editmode);
// selectBuddies(id, editmode, selid, cat_buddi, 'buddie');
// selectBuddies(id, editmode, selid, cat_frien, 'friend');
}

function selectBuddies(id, editmode, selid, garray, tag)
{
 if (!selid) selid = id;

 document.getElementById(tag).disabled = true;
 document.getElementById(tag).checked  = false;
 if (!editmode)
 {
 	if (selid == -1)
 	{
 	 document.getElementById(tag).disabled = false;
 	}
 	else
 	{
 	 if (garray[selid][1])
 	 {
    document.getElementById(tag).disabled = false;
    document.getElementById(tag).checked = true;
 	 }
 	}
 }
 else
 {
  buddie_par = garray[mycategory][0];
  buddie_set = garray[mycategory][1];

  if (selid == -1)
  {
   document.getElementById(tag).disabled = false;
   if (buddie_set) document.getElementById(tag).checked = true;
  }
  else if (selid == buddie_par)
  {
   if (garray[selid][1])
   {
    document.getElementById(tag).disabled = false;
    if (buddie_set) document.getElementById(tag).checked = true;
   }
  }
  else
  {
   if (garray[selid][1])
   {
    document.getElementById(tag).disabled = false;
    if (buddie_set) document.getElementById(tag).checked = true;
   }
  }
 }
}

function selectUsergroup(id, editmode)
{
 // search for all our TAGs
// var z = 0;
 var sp = document.getElementsByTagName("input");
 z = usergroupids.length;
// for (i = 0; i < sp.length;i++) if (sp[i].id.indexOf("perm") != -1) z++;

 // get my checked id
 var my_checked = new Array ();
 if (editmode && cat_perms[mycategory][1] != 0 && mycategory >= 0)
 {
 	var j = 0;
 	for (i = 1; i < cat_perms[mycategory].length; i++)
 	{
 	 my_checked[j] = cat_perms[mycategory][i];
 	 j++;
 	}
 }
 else if (editmode == 0 && id > 0)
 {
 	var j = 0;
 	for (i = 1; i < cat_perms[id].length; i++)
 	{
 	 my_checked[j] = cat_perms[id][i];
 	 j++;
 	}
 }

 if (!editmode)																											// we're in ADD mode
 {
  for (i = 0; i < z; i++)
  {
   ugid = usergroupids[i];

   document.getElementById("perm" + ugid).disabled = false;
   document.getElementById("perm" + ugid).checked = false;
  }

  if (id > 0)
  {
   if (cat_perms[id][1] == 0)																			// disable all checkboxes
   {
    for (i = 0; i < z; i++)
    {
     ugid = usergroupids[i];
     document.getElementById("perm" + ugid).disabled = true;
    }
   }
   else
   {
    for (i = 1; i < z; i++)
    {
     ugid = usergroupids[i];
     document.getElementById("perm" + ugid).disabled = true;
    }
    for (i = 0; i < my_checked.length; i++)
    {
     if (my_checked[i] > 0)
     {
      document.getElementById("perm" + my_checked[i]).disabled = false;
      document.getElementById("perm" + my_checked[i]).checked = true;
     }
    }
   }
  }

  for (i = 0; i < my_checked.length; i++)
  {
   if (my_checked[i] > 0) document.getElementById("perm" + my_checked[i]).checked = true;
  }

 }
 else 																															// we're in EDIT mode
 {

  // disable all checkboxes
  for (i = 0; i < z; i++)
  {
   ugid = usergroupids[i];
   document.getElementById("perm" + ugid).disabled = true;
   document.getElementById("perm" + ugid).checked = false;
  }

  if (id > 0)
  {
   if (mycategory == id && cat_perms[id][0] == -1)
   {
    for (i = 0; i < z; i++)
    {
     ugid = usergroupids[i];
     document.getElementById("perm" + ugid).disabled = false;
    }
   }

   if (cat_perms[id][0] == -1 && cat_perms[id][1] == 0)
   {
    for (i = 0; i < z; i++)
    {
     ugid = usergroupids[i];
     document.getElementById("perm" + ugid).disabled = false;
    }
   }
   else if (cat_perms[id][1] != 0)
   {
    for (i = 1; i < cat_perms[id].length; i++)
    {
     document.getElementById("perm" + cat_perms[id][i]).disabled = false;
    }
   }
  }
  else
  {
   for (i = 0; i < z; i++)
   {
    ugid = usergroupids[i];
    document.getElementById("perm" + ugid).disabled = false;
   }
  }

  if (editmode)
  {
   for (i = 0; i < my_checked.length; i++)
   {
   	if (my_checked[i] > 0 && document.getElementById("perm" + my_checked[i]).disabled == false) document.getElementById("perm" + my_checked[i]).checked = true;
   }
  }
 }
}
