var is_slide = false;
var freezedetail = false;

function changebookmark(src,count) {
 bmark   = src.id.substring(9,src.id.length-2);
 bmarkid = src.id.substring(src.id.length-1,src.id.length);
 for (a=1;a<=count;a++) {
  document.getElementById("bookmarkdata_"+bmark+"_"+a).style.display = "none";
  document.getElementById("bookmark_"+bmark+"_"+a).className = "";
 }
 document.getElementById("bookmarkdata_"+bmark+"_"+bmarkid).style.display = "block";
 src.className = "selbookmark";
}

function defPosition(event) {
 var x = y = 0;
 if (document.attachEvent != null) { // Internet Explorer & Opera 
  x = window.event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); 
  y = window.event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); 
 }
 else if (!document.attachEvent && document.addEventListener) { // Gecko 
  x = event.clientX + window.scrollX; 
  y = event.clientY + window.scrollY; 
 } else { 
  // Do nothing 
 } 
 return {x:x, y:y}; 
}

function addHandler(def, event, AL) { 
 if("attachEvent" in def) {
  def.detachEvent("on"+event,AL);
  def.attachEvent("on"+event,AL);
 }
 else if("addEventListener" in def) {
  def.removeEventListener(event,AL,false);
  def.addEventListener(event,AL,false);
 }
 else
  def.onload=AL; 
} 

 e_source = '(window.navigator.userAgent.indexOf("Gecko") != -1) ? e.target : window.event.srcElement;';
 may_drag = false;
 is_moving = "false";
 is_document = false;
 is_resize = false;
 posX = 0;
 posY = 0;
 zMax = 0;

 document.onmousemove=moveObj;
 document.onmousedown=takeObj;
 document.onmouseup=function(){
  is_resize = false;
  window.is_moving = "false";
  if (document.getElementById('photo_my') != null) document.getElementById('photo_my').style.cursor = 'pointer';
 }
 document.onmouseover=viewDesc;
 document.onmouseout=function(){window.is_document = false;setTimeout("if(!is_document) window.is_moving = 'false'",10);window.may_drag = false;}
 document.ondragstart=function(){window.event.returnValue = false;}
 document.onselectstart=function(){if(window.may_drag) window.event.returnValue = false;}

function moveObj(e) {
 var obj = document.getElementById('photo_my');
 var src = document.getElementById('photolayer');
 var _left = (window.navigator.userAgent.indexOf("Gecko") != -1) ? e.pageX : window.event.x + document.body.scrollLeft;
 var _top  = (window.navigator.userAgent.indexOf("Gecko") != -1) ? e.pageY : window.event.y + document.body.scrollTop;
 if ((obj != null) && (src != null)) {
  layerX = _left - src.offsetLeft - obj.offsetLeft;
  layerY = _top  - src.offsetTop - obj.offsetTop;
  if (layerX < 0) layerX = 0;
  if (layerY < 0) layerY = 0;
  if (layerX > obj.offsetWidth)  layerX = obj.offsetWidth;
  if (layerY > obj.offsetHeight) layerY = obj.offsetHeight;

  if ((window.is_moving != "false") && (is_resize == false)) {
   obj.style.left = _left - window.posX; 
   obj.style.top = _top - window.posY;
  }

  if (obj.offsetLeft + obj.offsetWidth  > src.offsetWidth ) obj.style.left = src.offsetWidth  - obj.offsetWidth;
  if (obj.offsetTop  + obj.offsetHeight > src.offsetHeight) obj.style.top  = src.offsetHeight - obj.offsetHeight;

  if (obj.offsetLeft < 0) obj.style.left = 0;
  if (obj.offsetTop  < 0) obj.style.top  = 0;

  if (obj.offsetWidth  + obj.offsetLeft > src.offsetWidth ) obj.style.width  = src.offsetWidth  - obj.offsetLeft;
  if (obj.offsetHeight + obj.offsetTop  > src.offsetHeight) obj.style.height = src.offsetHeight - obj.offsetTop;

 }

 uploadcoord();
}

function takeObj(e) {
 if (window.may_drag) {
  obj = window.may_drag;
  window.posX = (window.navigator.userAgent.indexOf("Gecko") != -1) ? e.pageX-parseInt(obj.style.left) : window.event.x-parseInt(obj.style.left) + document.body.scrollLeft;
  window.posY = (window.navigator.userAgent.indexOf("Gecko") != -1) ? e.pageY-parseInt(obj.style.top) : window.event.y-parseInt(obj.style.top) + document.body.scrollTop;
  window.is_moving = obj.id;
  window.zMax++;
  obj.style.zIndex = window.zMax;
 }
}

function viewDesc(e) {
 window.is_document = true;
 var current_obj = eval(e_source);
 var obj = false;
 if (current_obj.className == "drag_obj") {
  obj = current_obj;
 }
 else
  if (current_obj.parentNode && current_obj.className != "drag_obj") {
   while(current_obj.tagName != "HTML") {
    current_obj = current_obj.parentNode;
    if (current_obj.className == "drag_obj") {
     obj = current_obj; break;
    }
   }
  }
  if (obj) {
   window.may_drag = obj;
  }
}

function findme(src) {
 if (document.getElementById("photo_my") == null) {
  div = document.createElement("DIV");
  div.className = 'drag_obj';
  div.id = "photo_my";
  document.getElementById("photolayer").appendChild(div);
  div.style.width = 100;
  div.style.height = 100;
  div.style.left = 100;
  div.style.top = 100;
  div.style.position = "absolute";
  div.style.border = "0px solid white";
  div.style.cursor = "pointer";
 }
 else {
  div = document.getElementById("photo_my");
 }
// src.style.background='black';
// document.getElementById('photobody').style.filter='alpha(opacity=30)';
 div.innerHTML = "<table width=100% height=100% cellpadding=0 cellspacing=0 style='background: black; filter: alpha(opacity=50); opacity:.5; border: 1px solid black'>"+
                 " <tr height=10>"+
                 "  <td width=10 style='background: silver; border: 1px solid white;' id=res_tl onmouseover='resizer(this,\"over\",event);' onmousemove='resizer(this,\"over\",event);' onmouseout='resizer(this,\"out\",event);' onmousedown='resizer(this,\"down\",event);' onmouseup='resizer(this,\"up\",event);'></td>"+
                 "  <td          style='background: transparent;'></td>"+
                 "  <td width=10 style='background: silver; border: 1px solid white;' id=res_tr onmouseover='resizer(this,\"over\",event);' onmousemove='resizer(this,\"over\",event);' onmouseout='resizer(this,\"out\",event);' onmousedown='resizer(this,\"down\",event);' onmouseup='resizer(this,\"up\",event);'></td>"+
                 " </tr>"+
                 " <tr height=100%><td colspan=3 style='background: transparent'></td></tr>"+
                 " <tr height=10>"+
                 "  <td width=10 style='background: silver; border: 1px solid white;' id=res_bl onmouseover='resizer(this,\"over\",event);' onmousemove='resizer(this,\"over\",event);' onmouseout='resizer(this,\"out\",event);' onmousedown='resizer(this,\"down\",event);' onmouseup='resizer(this,\"up\",event);'></td>"+
                 "  <td          style='background: transparent;'></td>"+
                 "  <td width=10 style='background: silver; border: 1px solid white;' id=res_br onmouseover='resizer(this,\"over\",event);' onmousemove='resizer(this,\"over\",event);' onmouseout='resizer(this,\"out\",event);' onmousedown='resizer(this,\"down\",event);' onmouseup='resizer(this,\"up\",event);'></td>"+
                 " </tr>"+
                 "</table>";
 if (div != null) {
  document.getElementById('addme').disabled = true;
  document.getElementById('submitmyphoto').style.display = "block";
 }
}

function resizer(from,act,e) {
 var el = document.getElementById('photo_my');
 var _left = (window.navigator.userAgent.indexOf("Gecko") != -1) ? e.pageX : window.event.x + document.body.scrollLeft;
 var _top  = (window.navigator.userAgent.indexOf("Gecko") != -1) ? e.pageY : window.event.y + document.body.scrollTop;

 if (act == "over") {
  if ((from.id == "res_br") || (from.id == "res_tl")) {
   el.style.cursor = 'se-resize' }
  else {
   el.style.cursor = 'ne-resize';
  }
  if (is_resize == true) {
   if (from.id == "res_br") {
    el.style.left   = el.style.left;
    el.style.top    = el.style.top;
    el.style.width  = startposx1 + _left - startposx;
    el.style.height = startposy1 + _top - startposy;
   }
   else if (from.id == "res_tl") {
    el.style.left   = startposx2 + _left - startposx;
    el.style.top    = startposy2 + _top  - startposy;
    el.style.width  = startposx1 + (startposx2 - el.offsetLeft);
    el.style.height = startposy1 + (startposy2 - el.offsetTop);
   }
   else if (from.id == "res_bl") {
    el.style.left   = startposx2 + _left - startposx;
    el.style.top    = el.style.top;
    el.style.width  = startposx1 + (startposx2 - el.offsetLeft);
    el.style.height = startposy1 + _top - startposy;
   }
   else if (from.id == "res_tr") {
    el.style.left   = el.style.left;
    el.style.top    = startposy2 + _top  - startposy;
    el.style.width  = startposx1 + _left - startposx;
    el.style.height = startposy1 + (startposy2 - el.offsetTop);
   }
  }
 }
 else if (act == "out") {
  if (is_resize == true) {
   if (from.id == "res_br") {
    el.style.width  = startposx1 + _left - startposx;
    el.style.height = startposy1 + _top - startposy;
    el.style.left   = el.style.left;
    el.style.top    = el.style.top;
   }
   else if (from.id == "res_tl") {
    el.style.left   = startposx2 + _left - startposx;
    el.style.top    = startposy2 + _top  - startposy;
    el.style.width  = startposx1 + (startposx2 - el.offsetLeft);
    el.style.height = startposy1 + (startposy2 - el.offsetTop);
   }
   else if (from.id == "res_bl") {
    el.style.left   = startposx2 + _left - startposx;
    el.style.top    = el.style.top;
    el.style.width  = startposx1 + (startposx2 - el.offsetLeft);
    el.style.height = startposy1 + _top - startposy;
   }
   else if (from.id == "res_tr") {
    el.style.left   = el.style.left;
    el.style.top    = startposy2 + _top  - startposy;
    el.style.width  = startposx1 + _left - startposx;
    el.style.height = startposy1 + (startposy2 - el.offsetTop);
   }
  }
  else {
   el.style.cursor = 'pointer';
   is_resize = false;
  }
 }
 else if (act == "down") {
  is_resize = true;
  startposx = _left;
  startposy = _top;
  startposx1 = el.offsetWidth;
  startposy1 = el.offsetHeight;
  startposx2 = el.offsetLeft;
  startposy2 = el.offsetTop;
 }
 else if (act == "up") {
  is_resize = false;
 }

 uploadcoord();
}

function uploadcoord() {
 if (document.getElementById('photo_my') != null) {
  document.getElementById('valueid').value = selphoto;
  document.getElementById('valuex1').value = document.getElementById('photo_my').offsetLeft;
  document.getElementById('valuey1').value = document.getElementById('photo_my').offsetTop;
  document.getElementById('valuex2').value = document.getElementById('photo_my').offsetLeft+document.getElementById('photo_my').offsetWidth;
  document.getElementById('valuey2').value = document.getElementById('photo_my').offsetTop+document.getElementById('photo_my').offsetHeight;
  document.getElementById('valuex3').value = document.getElementById('photolayer').offsetWidth;
  document.getElementById('valuey3').value = document.getElementById('photolayer').offsetHeight;
 }
}

function cancelmyphoto() {
 if (document.getElementById("photo_my") != null) {
  document.getElementById("photolayer").removeChild(document.getElementById("photo_my"));
  document.getElementById("addme").disabled = false;
  document.getElementById("submitmyphoto").style.display = "none";
 }
}

function parentcancelmyphoto() {
 if (parent.document.getElementById("photo_my") != null) {
  parent.document.getElementById("photolayer").removeChild(parent.document.getElementById("photo_my"));
  parent.document.getElementById("addme").disabled = false;
  parent.document.getElementById("submitmyphoto").style.display = "none";
 }
}


function getloginforphoto_onload() {
 if ((window.frames.hiddenframe.document.body.innerHTML != '') && (document.getElementById("loginforphoto") != undefined)) {
  document.getElementById("loginforphoto").innerHTML = window.frames.hiddenframe.document.body.innerHTML;
  document.getElementById("photolayer").style.background = "white";
 }
}

function getloginforphoto(photoid) {
 var el = document.getElementById("hiddenframe");
 addHandler(el, "load", getloginforphoto_onload);
 el.src = "inc_photo.php?getloginforphoto="+photoid;
}

function parentgetloginforphoto(photoid) {
 var el = parent.document.getElementById("hiddenframe");
 addHandler(el, "load", getloginforphoto_onload);
 el.src = "inc_photo.php?getloginforphoto="+photoid;
}

function getcommentforphoto_onload() {
 if ((window.frames.hiddenframe2.document.body.innerHTML != '') && (document.getElementById("commentforphoto") != undefined)) {
  document.getElementById("commentforphoto").innerHTML = window.frames.hiddenframe2.document.body.innerHTML;
 }
 document.getElementById("photolayer").style.background = "white";
}

function getcommentforphoto(photoid) {
 var el = document.getElementById("hiddenframe2");
 addHandler(el, "load", getcommentforphoto_onload);
 el.src = "inc_photo.php?getcommentforphoto="+photoid;
}

function parentgetcommentforphoto(photoid) {
 var el = parent.document.getElementById("hiddenframe");
 addHandler(el, "load", getcommentforphoto_onload);
 el.src = "inc_photo.php?getcommentforphoto="+photoid;
}



function drawphotozone(over,x1,y1,x2,y2) {
 if (over == true) {
  if (document.getElementById("photozone") == null) {
   div = document.createElement("DIV");
   div.id = "photozone";
   document.getElementById("photolayer").appendChild(div);
   div.style.width = x2-x1;
   div.style.height = y2-y1;
   div.style.left = x1;
   div.style.top = y1;
   div.style.position = "absolute";
   div.style.border = "1px solid white";
   div.style.cursor = "pointer";
  }
  else {
   div = document.getElementById("photozone");
  }
 }
 else {
  if (document.getElementById("photozone") != null) {
   document.getElementById("photolayer").removeChild(document.getElementById("photozone"));
  }
 }
}

function slideshow(id) {
 if (is_slide == true) {
  clearInterval(timer);
  is_slide = false;
 }
 else {
  is_slide = true;
  var el = document.getElementById("photobody");
  el.style.filter = "blendTrans(duration=1.0);";
  function f() {
   var el = document.getElementById("photobody");
   if (el.filters != undefined) el.filters[0].Apply();
   updatephoto("next",id);
   if (el.filters != undefined) el.filters[0].Play();
  }
  timer=setInterval(f,3000);
 }
 if (is_slide) {
  document.getElementById("icon_slideshow").src = "i/icon_slideshow.png";
 }
 else {
  document.getElementById("icon_slideshow").src = "i/icon_slideshow_dis.png";
 }
}


 function updatephoto(id,gallery) {
  cancelmyphoto();

  photocount = 0;
  photopos = 0;

  startsel = selphoto;

  if (id == "next") {
   selphoto++;
   while ((photos.length > selphoto) && (photos[selphoto] == undefined)) {
    selphoto++;
   } 
  }
  else if (id == "prev") {
   selphoto--;
   while ((selphoto > 0) && (photos[selphoto] == undefined)) {
    selphoto--;
   } 
  }
  else if (id != "start") {
   selphoto = id;
  }

  if (photos[selphoto] != undefined) {
   if (document.getElementById("photolink") != undefined) document.getElementById("photolink").value = "http://www.partytown.ru/photo/"+gallery+"/"+selphoto;
   if (document.getElementById("photopic")  != undefined) document.getElementById("photopic").value  = "http://www.partytown.ru/photofile/"+selphoto;
   if (document.getElementById("photoblog") != undefined) document.getElementById("photoblog").value = "<img src=http://www.partytown.ru/photofile/"+selphoto+">";
   if (document.getElementById("photosave") != undefined) document.getElementById("photosave").href  = "http://www.partytown.ru/photofile/"+selphoto+"/save";
   document.getElementById("photobody").src = photos[selphoto];
   if (document.getElementById("photonumber") != undefined) document.getElementById("photonumber").value = selphoto;
  }
  else {
   selphoto = startsel;
  }

  for (a=0;a<photos.length;a++) {
   if (photos[a] != undefined) {
    photocount++;
    if (document.getElementById("th_"+a) != undefined) document.getElementById("th_"+a).style.border = "2px dashed white";
   }
   if (a == selphoto) {
    photopos = photocount;
   }
  }

  document.getElementById("prevbtn").style.color = "black";
  document.getElementById("nextbtn").style.color = "black";
  if (photopos == 1) {
   document.getElementById("prevbtn").style.color = "white";
  }
  if (photopos == photocount) {
   document.getElementById("nextbtn").style.color = "white";
  }

  document.getElementById("prevbtn1").style.color = document.getElementById("prevbtn").style.color;
  document.getElementById("nextbtn1").style.color = document.getElementById("nextbtn").style.color;

  if (document.getElementById("th_"+selphoto) != undefined) document.getElementById("th_"+selphoto).style.border = "2px dashed blue";

  if (document.getElementById("photocounter") != undefined) document.getElementById("photocounter").innerHTML = photopos + " / " + photocount;

  getloginforphoto(selphoto);
  getcommentforphoto(selphoto);
 }




 function showprofileinfo(src,vis,event) {
  if (vis == "show") {
   if (document.getElementById("div_profileinfo") == null) {
    div = document.createElement("DIV");
    div.id = "div_profileinfo";
    div.style.position = 'absolute';
    div.style.zIndex = 100;
    document.getElementById("body").appendChild(div);
   }
   else {
    div = document.getElementById("div_profileinfo");
   }
   if ((freezedetail != undefined) && (freezedetail == false)) { 
    div.style.left = defPosition(event).x+10;
    div.style.top = defPosition(event).y+10;
   }
   div.style.border = "1px solid gray";
   div.style.visible = "show";
   div.style.display = "block";
   div.style.background = "white";
   div.innerHTML = document.getElementById("profile_info_"+src.id).innerHTML;
  }
  else {
   document.getElementById("div_profileinfo").style.display = "none";
  }
 }










function setbground(id) { 
 window.setTimeout( "setbground("+id+")", 1000); // 5000 миллисекунд это 5 секунд 
 var index = Math.round(Math.random() * 9); 
 var ColorValue = "FFAAFF"; // цвет по умолчанию - white (белый) (index = 0) 

 if(index == 1) ColorValue = "FFCCCC"; //peach 
 if(index == 2) ColorValue = "CCAFFF"; //violet 
 if(index == 3) ColorValue = "A6BEFF"; //lt blue 
 if(index == 4) ColorValue = "99FFFF"; //cyan 
 if(index == 5) ColorValue = "D5CCBB"; //tan 
 if(index == 6) ColorValue = "99FF99"; //lt green 
 if(index == 7) ColorValue = "FFFF99"; //lt yellow 
 if(index == 8) ColorValue = "FFCC99"; //lt orange 
 if(index == 9) ColorValue = "CCCCCC"; //lt grey 
 document.getElementById("news_"+id).style.background="#"+ColorValue; 
} 


function expanddiv(divname) {
 if (document.getElementById(divname).style.display == "none") {
  document.getElementById(divname).style.display = "block";
 }
 else {
  document.getElementById(divname).style.display = "none";
 };
}


function getDocumentHeight() {
 return (document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight:document.body.offsetHeight;
}



function createcommentinput(commentid,level) {
 if (document.getElementById("divcomment")) {
  var E = document.getElementById('divcomment');
  E.parentNode.removeChild(E);
 }
 if (document.getElementById("divcomment") == null) {
  div = document.createElement("DIV");
  div.id = "divcomment";
  document.getElementById("td_comment_"+commentid).appendChild(div);
  div.style.position = "relative";
  div.style.width = 400;
  div.style.height = 0;
  div.style.left = (50+20*level);
  div.style.top = 0;
  div.style.display = "inline";
  div.style.visible = "show";
  div.innerHTML = "<form style='border: 1px solid silver' action=cp.php method=post target=hiddenframe><input type=hidden name=formdata[comment_section] id=formdata[comment_section] value='comment'><input type=hidden name=formdata[comment_sectionid] id=formdata[comment_sectionid] value='"+commentid+"'><textarea name=formdata[comment_text] id=formdata[comment_text] cols=60 rows=3 style='font-family: verdana; font-size: 13px; text-align: left; width: 100%'></textarea><input type=submit name='addcomment' id='addcomment' value='ответить'></form>";
 }
}              

function editcomment(commentid,level) {
 if (document.getElementById("divcomment")) {
  var E = document.getElementById('divcomment');
  E.parentNode.removeChild(E);
 }
 if (document.getElementById("divcomment") == null) {
  div = document.createElement("DIV");
  div.id = "divcomment";
  document.getElementById("td_comment_"+commentid).appendChild(div);
  div.style.position = "relative";
  div.style.width = 400;
  div.style.height = 0;
  div.style.left = (50+20*level);
  div.style.top = 0;
  div.style.display = "inline";
  div.style.visible = "show";
  div.innerHTML = "<form style='border: 1px solid silver' action=cp.php method=post target=hiddenframe><input type=hidden name=formdata[comment_id] id=formdata[comment_id] value='"+commentid+"'><input type=hidden name=formdata[comment_section] id=formdata[comment_section] value='comment'><input type=hidden name=formdata[comment_sectionid] id=formdata[comment_sectionid] value='"+commentid+"'><textarea name=formdata[comment_text] id=formdata[comment_text] cols=60 rows=3 style='font-family: verdana; font-size: 13px; text-align: left; width: 100%'>"+document.getElementById("usercomment_"+commentid).innerHTML+"</textarea><input type=submit name='editcomment' id='editcomment' value='изменить'></form>";
 }
}              


function deletecomment(commentid,level) {
 if (document.getElementById("divcomment")) {
  var E = document.getElementById('divcomment');
  E.parentNode.removeChild(E);
 }
 if (document.getElementById("divcomment") == null) {
  div = document.createElement("DIV");
  div.id = "divcomment";
  document.getElementById("td_comment_"+commentid).appendChild(div);
  div.style.position = "relative";
  div.style.width = 400;
  div.style.height = 0;
  div.style.left = (50+20*level);
  div.style.top = 0;
  div.style.display = "inline";
  div.style.visible = "show";
  div.innerHTML = "<form style='border: 1px solid silver' action=cp.php method=post target=hiddenframe><input type=hidden name=formdata[comment_id] id=formdata[comment_id] value='"+commentid+"'><input type=submit name='deletecomment' id='deletecomment' value='удалить'></form>";
 }
}


function destroycomment(commentid,level) {
 if (document.getElementById("divcomment")) {
  var E = document.getElementById('divcomment');
  E.parentNode.removeChild(E);
 }
 if (document.getElementById("divcomment") == null) {
  div = document.createElement("DIV");
  div.id = "divcomment";
  document.getElementById("td_comment_"+commentid).appendChild(div);
  div.style.position = "relative";
  div.style.width = 400;
  div.style.height = 0;
  div.style.left = (50+20*level);
  div.style.top = 0;
  div.style.display = "inline";
  div.style.visible = "show";
  div.innerHTML = "<form style='border: 1px solid silver' action=cp.php method=post target=hiddenframe><input type=hidden name=destroy id=destroy value=1><input type=hidden name=formdata[comment_id] id=formdata[comment_id] value='"+commentid+"'><input type=submit name='deletecomment' id='deletecomment' value='уничтожить'></form>";
 }
}



function previewPhotosWheel(event) {
 var wheelDelta = 0;
 var step = 30;
 if (!event) {
  event = window.event;
 }
 if (event.wheelDelta) {
  wheelDelta = event.wheelDelta/120;
 } 
 else if (event.detail) {
  wheelDelta = -event.detail/3;
 }
 if (wheelDelta) {
  document.getElementById('previewphotos').scrollTop -= wheelDelta*step;
  var koef = 250 / document.getElementById('previewcontent').offsetHeight;
  document.getElementById('previewscroller1').style.marginTop = document.getElementById('previewphotos').offsetTop + Math.round((document.getElementById('previewphotos').scrollTop+125)*koef);
  document.getElementById('previewscroller2').style.marginTop = document.getElementById('previewphotos').offsetTop + Math.round((document.getElementById('previewphotos').scrollTop+125)*koef);
 }
 if (event.preventDefault) {
  event.preventDefault();
 }
 event.returnValue = false;
}

