var IE = document.all?true:false;
if(!IE) document.captureEvents(Event.KEYPRESS);
if(!IE) document.captureEvents(Event.MOUSEMOVE);


var Table_index=0;
var vTable_index=0;
var receiveReq = getXmlHttpRequestObject();
var siteURL='http://www.panorama-rest.com.ua/';

function getXmlHttpRequestObject(){
  if (window.XMLHttpRequest){
    return new XMLHttpRequest();
  }else if(window.ActiveXObject){
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
}

function Add_Image_Table_Row(){
  var table=document.getElementById('imgtable');
  var lastRow=table.rows.length;
  //alert(lastRow);
  var iteration=Table_index++;
  var row=table.insertRow(lastRow);
  row.id='tr'+iteration;
  var td1=row.insertCell(0);
  td1.align='right';
  td1.width='100px';
  td1.innerHTML='Фото:&nbsp;';
  var td2=row.insertCell(1);
  td2.valign='top';
  td2.innerHTML='<input type="file" ACCEPT="image/*" name="new'+iteration+'" onchange="Add_Image_Table_Row();" class="text" style="width:320px;">';

  var row=table.insertRow(lastRow+1);
  var td1=row.insertCell(0);
  td1.align='right';
  td1.width='100px';
  td1.innerHTML='Описание фотографии:&nbsp;';
  var td2=row.insertCell(1);
  td2.valign='top';
  td2.innerHTML='<textarea name="img_descriptions[]" class="text" style="width:320px;height:60px;"></textarea>';
}

// for getiing comments
function doAjax(url,func){	try{    if(receiveReq.readyState>0 && receiveReq.readyState<4) receiveReq = new getXmlHttpRequestObject();
    receiveReq.open("GET", url, true);
    if(func!='') receiveReq.onreadystatechange=eval(func);
    receiveReq.send(null);
  }catch(err){}
}

function ggg(){
  if(receiveReq.readyState==4){
    alert(receiveReq.responseText);
  }
}

function get_results(){
  if(receiveReq.readyState==4){
    document.getElementById('comments_container').innerHTML=receiveReq.responseText;
  }
}

function change_image(i){  pos=pos+i;
  if(pos>photo_array.length-1) pos=0;
  if(pos<0) pos=photo_array.length-1;  imagePath='/thumbnail.php/'+gallery_id+'/'+photo_array[pos]+'?resize(480x)';
  if(i) document.getElementById('photo_viewer').href='/thumbnail.php/'+gallery_id+'/'+photo_array[pos];  imageObj = new Image(300,300);
  imageObj.src = imagePath;
  imageObj = new Image(300,300);
  imageObj.src = imagePath;
  document.images['ldr'].src='/images/loader.gif';
  imageObj.onload=function(){
    try{      document.images['ldr'].src='/images/spacer.gif';
      document.images['gallery_img'].src=imagePath;
      document.getElementById('descr_container').innerHTML=photo_descr[pos]+'<br /><br /><b>Ссылка:</b>&nbsp; <input type="text" onFocus="this.select()" value="http://panorama-rest.com.ua/gallery/'+gallery_id+'/'+photo_ids[pos]+'/" style="width:425px">';
      document.getElementById('image_id').value=photo_ids[pos];
    }catch(err){}
  };
  if(imageObj.readyState=='complete'){    document.images['ldr'].src='/images/spacer.gif';    document.images['gallery_img'].src=imagePath;
    document.getElementById('descr_container').innerHTML=photo_descr[pos];
    document.getElementById('image_id').value=photo_ids[pos];
  }
  doAjax(siteURL+'ajax/change_image.php?act=1&photo_id='+photo_ids[pos],'get_results');
}

function dsp(vid){
  var myimg=document.getElementById('img' + vid);
  var vidi=document.getElementById('top'+ vid);

  if (vidi.style.display == "block"){
    vidi.style.display = "none";
    vidi.style.visibility = "hidden";
    myimg.src="images/plus.gif";
  }else{
    vidi.style.display = "block";
    vidi.style.visibility = "visible";
    myimg.src="images/minus.gif";
  }
}

///////////FOR Galery post comments
function get(obj) {
   var error = 0;
   var c_mail = obj['c_mail'].value;
   var c_name = obj['c_name'].value;
   var c_message = obj['c_message'].value;
   var gallery_id = obj['gallery_id'].value;
   var image_id = obj['image_id'].value;

   var code = obj['code'].value;
   var code_hid = obj['code_hid'].value;


   var er_c_mail=document.getElementById('er_c_mail');
   var er_c_name = document.getElementById('er_c_name');
   var er_c_message = document.getElementById('er_c_message');
   var er_code = document.getElementById('er_code');

   er_c_mail.innerHTML='';
   er_c_name.innerHTML='';
   er_c_message.innerHTML='';

   if(!isValidEmail(c_mail)){
     er_c_mail.innerHTML = 'Некорректный E-mail'; error=1;
   }
   if(c_name=='' || c_name.length<2){
     er_c_name.innerHTML = 'Имя не задано (или менее 2 символов)'; error=1;
   }
   if(c_message=='' || c_message.length<2){
     er_c_message.innerHTML = 'Пустой комментарий'; error=1;
   }

   if (code == code_hid){     er_code.innerHTML = '';   }else{   	er_code.innerHTML = 'Неправильно введен код подтверждения'; error=1;   }

   if(error==0){
     var poststr = "c_mail=" + encodeURI(c_mail) +
                   "&c_name=" + encodeURI(c_name) +
                   "&gallery_id=" + encodeURI(gallery_id) +
                   "&image_id=" + encodeURI(image_id) +
                   "&c_message=" + encodeURI(c_message);
   makePOSTRequest(siteURL+'gallery/', poststr);
   }
   //change_image(0);
}

var http_request = false;
function makePOSTRequest(url,parameters) {
   http_request = false;
   if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
        // set type accordingly to anticipated content type
         //http_request.overrideMimeType('text/xml');
         http_request.overrideMimeType('text/html');
      }
   } else if (window.ActiveXObject) { // IE
      try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
      }
   }
   if (!http_request) {
      alert('Cannot create XMLHTTP instance');
      return false;
   }

   http_request.onreadystatechange = alertContents;
   http_request.open('POST', url, true);
   http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=windows-1251");
   http_request.setRequestHeader("Content-length", parameters.length);
   http_request.setRequestHeader("Connection", "close");
   http_request.send(parameters);
}

function alertContents() {
   if (http_request.readyState == 4) {
      if (http_request.status == 200) {
         //alert(http_request.responseText);
         result = http_request.responseText;
         document.getElementById('comment_form').innerHTML='<div style="color:#8f1700;font:bold 12px Tahoma;text-align:center;">'+result+'</div>';

      } else {
         alert('There was a problem with the request.');
      }
   }
}

function isValidEmail(strEmail){
  validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  if (strEmail.search(validRegExp) == -1) return false;
  return true;
}

function downloadImage(){  location.href='/gallery/download/'+gallery_id+'/'+photo_array[pos];}

function element_visibility(elemID1,elemID2){
  elem1=document.getElementById(elemID1);
  elem2=document.getElementById(elemID2);
  //alert(elem.style.display);
  if(elem1.style.display=='none'){    elem2.style.visibility='hidden';
    elem2.style.display='none';
    elem1.style.visibility='visible';
    elem1.style.display='block';
  }
}
//// functions for NEON GLOW
function crossref(number){
  var crossobj=document.all? eval("document.all.neonlight"+number) : document.getElementById("neonlight"+number)
  return crossobj
}
function neon(){
  //Change all letters to base color
  if (n==0){
    for (m=0;m<message.length;m++)
    //eval("document.all.neonlight"+m).style.color=neonbasecolor
    crossref(m).style.color=neonbasecolor
  }

  //cycle through and change individual letters to neon color
  crossref(n).style.color=neontextcolor

  if (n<message.length-1)
    n++
  else{
    n=0
    clearInterval(flashing)
    setTimeout("beginneon()",1500)
    return
  }
}
function beginneon(){
  if (document.all||document.getElementById)
  flashing=setInterval("neon()",flashspeed)
}
//// functions for NEON GLOW eof

//--vvv---

function addHandler(object, event, handler){
  if(!IE) object.addEventListener(event, handler, false);
  else object.attachEvent('on' + event, handler);
}
function removeHandler(object, event, handler){
  if(!IE) object.removeEventListener(event, handler, false);
  else object.detachEvent('on' + event, handler);
}

function getCharCode(e){
  if(!e) if(window.event) e=window.event;
  if(typeof(e.keyCode)=='number') char_code=e.keyCode;
  else if(typeof(e.which)=='number') char_code=e.which;
  else if(typeof(e.charCode)=='number') char_code=e.charCode;
  return char_code;
}

String.prototype.trim=function() { return this.replace(/^\s+|\s+$/g, ''); }
String.prototype.explode=function(sep){
  if(sep.length!=''){
    var res_arr=Array();
    var str=this;
    var i=0;
    while((pos=str.indexOf(sep))!=-1){
      res_arr[i++]=str.substr(0,pos);
      str=str.substr(pos+sep.length);
    }
    res_arr[i++]=str.substr(0,str.length);
    if(res_arr.length>0) return res_arr;
    else Array(this);
  }return false;
}
String.prototype.get_in_str=function(fstr,lstr,limit,trim){
  if(!limit) var limit=0;
  var str=this;
  var temp_arr=Array();
  var lcnt=0;
  while(str.indexOf(fstr)!=-1 && (limit ? lcnt<limit : true)){
    var fpos=str.indexOf(fstr)+fstr.length;
    str=str.substr(fpos);
    var lpos=str.indexOf(lstr);
    var val=(lpos!=-1 ? str.substr(0,lpos) : str);
    temp_arr[temp_arr.length]=(trim ? val.trim() : val);
    str=str.substr(lpos+lstr.lenght);
    lcnt++;
  }
  return (limit==1 ? (temp_arr[0] ? temp_arr[0] : '') : temp_arr);
}
Array.prototype.in_array=function(obj){
  var len=this.length;
  for(var x=0; x<=len; x++){
    if(this[x]==obj) return true;
  }
  return false;
}


function getSelectionStart(o){
  if(o.createTextRange){
    var r=document.selection.createRange().duplicate();
    r.moveEnd('character',o.value.length);
    if(r.text=='') return o.value.length;
    return o.value.lastIndexOf(r.text);
  }else return o.selectionStart;
}
function getSelectionEnd(o) {
  if(o.createTextRange){
    var r=document.selection.createRange().duplicate();
    r.moveStart('character',-o.value.length);
    return r.text.length;
  }else return o.selectionEnd;
}
function input_check_numeric(elemID,after_dot){
  if(!after_dot) after_dot=0;
  elem=document.getElementById(elemID);
  var pos=getSelectionStart(elem)+1;
  var temp_str='';
  elem.value=elem.value.replace(',','.');
  for(i=0; i<elem.value.length; i++){
    ch=elem.value.substr(i,1);
    if((ch.charCodeAt(0)>=48 && ch.charCodeAt(0)<=57) || (after_dot>0 && ch=='.' && temp_str.indexOf('.')==-1)) temp_str+=ch;
  }
  if((pos=temp_str.indexOf('.'))!=-1) temp_str=temp_str.substr(0,pos+after_dot+1);
  elem.value=temp_str;
}

function show_or_hide(flag,elem_id){
  var elem=document.getElementById(elem_id);
  if(elem){
    if(flag==-1) flag=(elem.style.visibility=='hidden');
    if(flag){
      elem.style.visibility='visible';
      elem.style.display='';
    }else{
      elem.style.visibility='hidden';
      elem.style.display='none';
    }
  }
}

function limitText(limitField, limitCount, limitNum) {
  if(limitField.value.length>limitNum){
  	limitField.value=limitField.value.substring(0,limitNum);
  }else{
  	limitCount.value=limitNum-limitField.value.length;
  }
}

function check_length(passwd,inf_id,cnt,key_up){
  if(passwd.length>=cnt) show_or_hide(false,inf_id);
  else if(passwd.length!=0 && !key_up) show_or_hide(true,inf_id);
}
function check_passwd_repeat(key_up){
  var pass1=document.getElementById('reg_passwd').value;
  var pass2=document.getElementById('passwd_repeat').value;
  var inf_id='pass_repeat_err';
  if(pass1==pass2) show_or_hide(false,inf_id);
  else if(pass2.length!=0 && !key_up) show_or_hide(true,inf_id);
}

function checkUploadImages(user_id){    receiveReq.open("GET",'/ajax/ajax.php?act=images&user_id='+user_id,true);
    receiveReq.onreadystatechange = handleCheckUploadImages;
    receiveReq.send(null);
}

function handleCheckUploadImages(){
  if (receiveReq.readyState==4){
    if(receiveReq.responseText=='0'){
    	alert('Вы не загрузили ни одной фотографии.\nДля выбора фото нажмите на кнопку Browse, затем кнопку Upload.\nДождитесь статуса Upload complete.');
    }else{
    	document.getElementById('upload_form').submit();
    }
  }
  return false;
}
//--vvv---


function game_word(){
  var word=document.getElementById('word').value;
  for(var i=1;i<7;i++){
    if(i<=word.length){
      document.getElementById('letter'+i).innerHTML=word.substring(i-1,i);
      document.getElementById('letter'+i).style.display='inline';
      document.getElementById('letter'+i).style.visibility='visible';
    }else{
      document.getElementById('letter'+i).style.display='none';
      document.getElementById('letter'+i).style.visibility='hidden';
    }
  }
}

function set_prompt(letter){
  for(var i=1;i<7;i++){
    if(letter==i){
      document.getElementById('letter'+i).style.background='orange';
      document.getElementById('word_div'+i).style.display='inline';
      document.getElementById('word_div'+i).style.visibility='visible';
    }else{
      document.getElementById('letter'+i).style.background='#ff0000';
      document.getElementById('word_div'+i).style.display='none';
      document.getElementById('word_div'+i).style.visibility='hidden';
    }
  }
}