﻿var page = new Object();
page.pictureUpload = document.getElementById('pictureUpload');
page.preview = document.getElementById('preview');
page.fileMngr = document.getElementById('filemng');
page.pictureLocation = document.getElementById('pictureLocation');
page.directoryName = document.getElementById('directoryName');

page.upload = document.getElementById('upload');

page.uploadsFromLocalForm = document.getElementById('uploadsFromLocalForm0');
page.uploadsFromWebForm = document.getElementById('uploadsFromWebForm0');
page.imageDimension = document.getElementById('imageDimension');
page.siteLocation = document.getElementById('siteLocation');
page.selectOrdering = document.getElementById('razdeliSelect');

page.LLink = 'http://mayorov.ua/UploadFoto/.aspx';

var uploadsFromLocal=0;
var uploadsFromWeb=0;

var remoteFiles = new Array();
var localFiles = new Array();
var remoteFileNames = new Array();
var localFileNames = new Array();


function DeleteSection(sender)
{
    dojo.xhrPost({
    url: '../sections/' + sender.attributes['link'].value + '.aspx',
    load: function(data, ioArgs) {EndWait();location.reload();},
    error: ErrorOccured,
    content: {action: "delete", link: sender.attributes['link'].value}
    });
    BeginWait();
}

function CheckChapters(sender)
{
     //ShowPictureUpload();
    /*if (sender)
    {
        page.currentSelect = sender;
        if (sender.selectedIndex)
        {
            page.chapter = sender.options[sender.selectedIndex].value;
            page.link = sender.options[sender.selectedIndex].text;
        }
        else 
        {
            page.link = sender.options[0].text;
            page.chapter = sender.options[0].value;
        }
    }
    else page.chapter = 0;
    dojo.xhrGet({
        url: basePath + 'search/.aspx?parent='+page.chapter,
        handleAs: "text",
        load: function(data,ioArgs) {
                                    if (data.length>100)
                                        {
                                            document.getElementById('razdeli'+page.chapter).innerHTML=data;
                                            document.getElementById('razdeli'+page.chapter).style.display='block';                                        
                                            CheckChapters(document.getElementById('selectForChapter'+page.chapter));
                                        }
                                        else
                                        {
                                            //LoadDirectory(page.chapter,1);  
                                            //LoadDirectory(page.link,1);  
                                        }
                                        page.path = '';
                                        ShowChapters(document.getElementById('selectForChapter0'));
                                        ShowPictureUpload();                                                                      
                                        
                                    },
        error: function(){alert('error');},
    });*/
}
function ChangeDirectory(sender)
{
   page.workingForm = document.getElementById('form-demo');
   page.sessionId  = document.getElementById('sessionId');
   page.catLink = document.getElementById('catLink');
   page.maxY = document.getElementById('maxY');
   page.maxX = document.getElementById('maxX');
   
   ///addforo/.aspx?SESSID=erd1t2bwcitqvrino32dsujl&name=фото&title=фото&_photo={"createNewThumbnails":[{"w":600,"h":650},{"w":185,"h":100},{"w":190,"h":140}],"newfile":"_photo"}&pId=113
   
   page.workingForm.action = page.LLink + '?SESSID=' + page.sessionId.value + '&catLink=' + sender.attributes['link'].value + '&maxX=' + page.maxX.value + '&maxY=' + page.maxY.value + '&maxX=450&&maxY=110';
   swiffy.options.url = page.workingForm.action;
   
   // получение дочерних разделов
   dojo.xhrPost({
    url: '../searchSections/.aspx?parent=' + sender.value,
    load: ChildSectionsReceived,
    error: ErrorOccured
   });
   
   // получение ролей
   dojo.xhrGet({
    url: '../sections/' + sender.attributes['link'].value + '.aspx?action=edit&output=xml',
    load: RolesRecieved,
    error: ErrorOccured,
    handleAs: 'xml'
   });
   document.getElementById('link').value = sender.attributes['link'].value;
   document.getElementById('name').value = sender.attributes['nameSection'].value;
   document.getElementById('title').value = sender.attributes['titleSection'].value;
   page.linkToChange = sender.attributes['link'].value;
   page.parentToChange = sender.attributes['parent'].value;
    /*var link = sender.attributes['link'].value;
    LoadDirectory(link, 1);*/
}
function ChildSectionsReceived(data, ioArgs)
{
    document.getElementById('divOrder').innerHTML = data;
    page.selectOrdering = document.getElementById('razdeliSelect');
}
function RolesRecieved(data, ioArgs)
{
    var roles = data.getElementsByTagName('UserTableRole');
    var allRoles = data.getElementsByTagName('AccessRole');
    
    var roleId;
    var roleCheckBox;
    
    for (var i=0;i<allRoles.length;i++)
    {
        roleId = allRoles[i].childNodes[0].textContent;
        roleCheckBox = document.getElementsByName('roleis'+roleId);
        if (roleCheckBox[0])
        {
        roleCheckBox[0].checked = false;
        document.getElementsByName('rolewrite'+roleId)[0].checked = false;
        document.getElementsByName('roleread'+roleId)[0].checked = false;
        document.getElementsByName('roledelete'+roleId)[0].checked = false;
        }
    }
    
    for (var i=0;i<roles.length;i++)
    {
        roleId = roles[i].childNodes[3].textContent;
        roleCheckBox = document.getElementsByName('roleis'+roleId);
        if (roleCheckBox[0])
        {
            roleCheckBox[0].checked = true;
//            document.getElementsByName('rolewrite'+roleId)[0].checked = false;
//            document.getElementsByName('roleread'+roleId)[0].checked = false;
//            document.getElementsByName('roledelete'+roleId)[0].checked = false;
            document.getElementsByName('rolewrite'+roleId)[0].checked = roles[i].childNodes[4].textContent == '1' ? true : false;
            document.getElementsByName('roleread'+roleId)[0].checked = roles[i].childNodes[6].textContent == '1' ? true : false;
            document.getElementsByName('roledelete'+roleId)[0].checked = roles[i].childNodes[5].textContent == '1' ? true : false;
        }
    }
}
function ShowChapters(sender)
{
    /*if (sender)
    {
        for (var i=0;i<sender.options.length;i++)
        {
            if (sender.options[i].selected == false)
            {
                    document.getElementById('razdeli'+sender.options[i].value).style.display = 'none';
            }
            else
            {
                document.getElementById('razdeli'+sender.options[i].value).style.display = 'block';
                page.path = page.path + sender.options[i].attributes['path'].value;
                if (document.getElementById('selectForChapter'+sender.options[i].value)) ShowChapters(document.getElementById('selectForChapter'+sender.options[i].value));
            }
        }
    }*/
}

function ErrorOccured(data)
{
    if(data.message != "ifd.getElementsByTagName(\"textarea\")[0] is undefined")
       { alert("Какая-то чертова ошибка.\n"+data); EndWait();}
}

function ShowPictureUpload()
{    
    uploadsFromLocal=0;
    uploadsFromWeb=0;
            
    page.uploadsFromLocalForm = document.getElementById('uploadsFromLocalForm0');
    //page.uploadsFromWebForm = document.getElementById('uploadsFromWebForm0');
    
    page.uploadsFromLocalForm.innerHTML="<table style='"+"width:100%'"+"><tr style='"+"width:100%'"+"><td style='"+"width:40%;'"+"><label>Имя: </label><input id='nameFromLocalMachine"+uploadsFromLocal+"' name='nameFromLocalMachine"+uploadsFromLocal+"' value='' style='width:80%"+"'></input></td>"+"<td style='text-align:right;width:10%"+"'><label>С&nbsp;диска: </label></td><td><input type='"+"file' id="+"'fileLocal"+uploadsFromLocal+"' name="+"'fileLocal"+uploadsFromLocal+"'  style="+"'width:100%"+"' onblur="+"'FileSelected("+uploadsFromLocal+",1"+");"+"'/></td></tr></table>";
    page.uploadsFromLocalForm.innerHTML+="<div style='width:100%' id='uploadsFromLocalForm"+(uploadsFromLocal+1)+"'>";
    page.uploadsFromLocalForm = document.getElementById('uploadsFromLocalForm'+(uploadsFromLocal+1));
    
//    page.uploadsFromWebForm.innerHTML="<table style='"+"width:100%'"+"><tr style='"+"width:100%'"+"><td style='"+"width:40%;'"+"><label>Имя: </label><input id='nameFromInternet"+uploadsFromWeb+"' name='nameFromInternet"+uploadsFromWeb+"' style='width:80%"+"'></input></td>"+"<td style='text-align:right;width:10%"+"'><label>Из&nbsp;сети: </label></td><td><input id="+"'fileRemote"+uploadsFromWeb+"' name="+"'fileRemote"+uploadsFromWeb+"'  style="+"'width:100%"+"' onblur="+"'FileSelected("+uploadsFromWeb+",2"+");"+"'/></td></tr></table>";    
//    page.uploadsFromWebForm.innerHTML+="<div style='width:100%' id='uploadsFromWebForm"+(uploadsFromWeb+1)+"'>";
//    page.uploadsFromWebForm = document.getElementById('uploadsFromWebForm'+(uploadsFromWeb+1));
    
    page.pictureUpload.style.display='block';       
    
//    page.fileRemote = document.getElementById('fileRemote0');
//    page.nameFromInternet = document.getElementById('nameFromInternet0');
    page.fileLocal = document.getElementById('fileLocal0');
    page.nameFromLocalMachine = document.getElementById('nameFromLocalMachine0');
    
    NotPictureAction();
}
/*function InsertImage(html)
{
    if (page.textarea) tinyMCE.execCommand('mceFocus', false, page.textarea.id);
    var sitePath = page.siteLocation.value;
    var reg = new RegExp('^http://\\w{2,255}.\\w{0,4}','i');
    if (reg.test(sitePath)) 
    {
        if (sitePath.indexOf('localhost')==-1)
        {
            sitePath = sitePath.substring(0,7)+'www.'+sitePath.substring(7);
        }
    }
    var select = page.fileMngr.firstChild;
    var img;
    for (var i=0;i<select.options.length;i++)
    {
        if (select.options[i].selected)
        {
            if (select.options[i].className != 'directory')
            {
                if (html==1)                
                    {
                    img = "<img src='"+ sitePath +'/images/' +select.options[i].value.replace(page.localPath.value,'').replace(/\\\\/g,'/')+"'/>";
                    tinyMCE.execCommand('mceInsertContent',false,img);
                    }
                else
                {
                    page.textarea.value+=sitePath +'/images/' +select.options[i].value.replace(page.localPath.value,'').replace(/\\\\/g,'/')+';';
                }
            }
        }
    }
}*/
function HidePictureUpload()
{
    page.pictureUpload.style.display='none';
}
function ReloadPath()
{
    page.currentDirectory = document.getElementById('currentDirectory');
    page.localPath = document.getElementById('localPath');
    page.directoryName.value = '/'+page.currentDirectory.value.replace(page.localPath.value,'').replace(/\\\\/g,'/');
}
function LoadDirectory(path, relative)
{
    dojo.xhrPost({
        url: 'http://galary.vus.us/'  + 'bpanel/GetDerictoryInfo/.aspx',
        load: Load,
        error: ErrorOccured,
        content: {dir: path, relative: relative}
        });
}
function Load(data,ioArgs)
{
    page.fileMngr.innerHTML = data;
    ReloadPath();
}
function ReloadCurrentDirectory()
{
    LoadDirectory(page.currentDirectory.value);
    NotPictureAction();
}

function ShowPreview(sender)
{
    page.preview.src='images/' + sender.value.replace(page.localPath.value,'').replace(/\\\\/g,'/');
    page.pictureLocation.value = 'images/' + sender.value.replace(page.localPath.value,'').replace(/\\\\/g,'/');
    var image=new Image();
    image.src=page.preview.src;
    page.imageDimension.innerHTML = 'Размер: '+image.height+'x'+image.width; 
}

function NotPictureAction()
{
     page.pictureLocation.value = '';
     page.preview.src='';     
}

function LoadPicture()
{
    /*for (var i=0;i<=uploadsFromWeb;i++)
    {        
        page.fileRemote = document.getElementById('fileRemote'+i);
        page.nameFromInternet = document.getElementById('nameFromInternet'+i);
        if (page.fileRemote.value!='')
        {
            if (ValidateFilename(page.nameFromInternet))
            {
                dojo.xhrPost({
                        url: basePath  + 'admin/UploadFromWeb/.aspx',
                        handleAs:'xml',
                        load: PictureLoaded,
                        error: ErrorOccured,
                        content: {location: page.fileRemote.value,
                                    name: page.nameFromInternet.value,
                                    dir: page.localPath.value + page.directoryName.value.substring(1,page.directoryName.value.length) 
                                    },
                        params: {index:i,sender:2}
                        });
                //PicturesLoaded(2,i);            
            }    
            else alert('Недопустимый имя для изображения: '+page.nameFromInternet)                
        }
    }*/
    dojo.io.iframe.send({
            url:       'http://galary.vus.us/'  + 'UploadFoto1/.aspx',
            form:     page.upload,
            handleAs:        'xml',
            method:         "POST",
            error: ErrorOccured,
            load: PictureLocalLoaded,
            content: {dir: page.localPath.value + page.directoryName.value.substring(1,page.directoryName.value.length) 
                        },
            params: {sender:1} 
            });
    //PicturesLoaded(1);
}
/*function PictureLoaded(data, ioArgs)
{
    if (data)
    {
        var errors = data.getElementsByTagName('success');
        if (errors[0])
        {
            if (errors[0].textContent.length>0)
            {
                alert(errors[0].textContent);
            }            
        }
        else
        {
            PicturesLoaded(ioArgs.args.params.sender,ioArgs.args.params.index);
        }
    }            
}*/
function PictureLocalLoaded(data,ioArgs)
{
    alert(data);
    var error='';
    if (data)
    {
        var i=0;
        var xml = XML('<t>'+data+'</t>');
        while(xml.success[i])
        {
            error+=xml.success[i++];
        }
        if (error.length>0) alert(error);
        i=0;
        while (xml.imageNumber[i])
        {
            PicturesLoaded(ioArgs.args.params.sender, xml.imageNumber[i], xml.Thumbnail[i]);
            i++;
        }
    }
}
function FileSelected(index,sender)
{
    if (sender==1)
    {   
        page.nameFromLocalMachine = document.getElementById('nameFromLocalMachine'+index);
        page.fileLocal = document.getElementById('fileLocal'+index);
        page.nameFromLocalMachine.value = page.fileLocal.value.substring(page.fileLocal.value.lastIndexOf('/')+1);;
//        localFiles.push(page.fileLocal.value);
//        localFileNames.push(page.nameFromLocalMachine.value);
    }
    if (sender==2)
    {
        page.nameFromInternet = document.getElementById('nameFromInternet'+index);
        page.fileRemote = document.getElementById('fileRemote'+index);
        page.nameFromInternet.value = page.fileRemote.value.substring(page.fileRemote.value.lastIndexOf('/')+1);
//        remoteFiles.push(page.fileRemote.value);
//        remoteFileNames.push(page.nameFromInternet.value);
    }    
}
function PicturesLoaded(sender,index,thumb)
{
    /*if (sender==2)
    {
        page.fileRemote = document.getElementById('fileRemote'+index);
        page.nameFromInternet = document.getElementById('nameFromInternet'+index);
        page.fileRemote.value='';
        page.nameFromInternet.value='';
        EndWait();
    }*/
    if (sender==1)
    {
//        for (var i=0;i<=uploadsFromLocal;i++)
//        {
            CreateFotoRecord(index,thumb);
            page.fileLocal = document.getElementById('fileLocal'+index);
            page.nameFromLocalMachine = document.getElementById('nameFromLocalMachine'+index);
            page.nameFromLocalMachine.value='';
            page.fileLocal.value='';
//        }
    }
    ReloadCurrentDirectory();
}

function CreateFotoRecord(index, thumb)
{
    page.fileLocal = document.getElementById('fileLocal'+index);
    page.nameFromLocalMachine = document.getElementById('nameFromLocalMachine'+index);
    page.form = document.getElementById('user_foto_add');
    page.form._thumb.value = thumb;
    page.form.title.value = page.nameFromLocalMachine.value;
    page.form.name.value = page.nameFromLocalMachine.value;
    page.form._picture.value = page.directoryName.value + page.nameFromLocalMachine.value;
    page.radios = document.getElementById('formSections')._parent;
    for (var i=0;i<page.radios.length;i++)
        if (page.radios[i].checked) {page.form._razdel.value = page.radios[i].value; break;}  
    var form1 = page.form.cloneNode(true);  
    dojo.xhrPost({
            url:       page.form.action,
            form:     form1,
            handleAs:        'xml',
            method:         "POST",
            error: ErrorOccured,
            load: FotoLoaded,
            content: {}
            });
}
function FotoLoaded()
{}
function AddUploadLocalForm()
{
    
    uploadsFromLocal++;
//    for (var i=0;i<uploadsFromLocal;i++)
//    {
//        page.fileLocal = document.getElementById('fileLocal'+i);
//        page.nameFromLocalMachine = document.getElementById('nameFromLocalMachine'+i);
//        localFiles.push(page.fileLocal.value);
//        localFileNames.push(page.nameFromLocalMachine.value);
//    }
    page.uploadsFromLocalForm.innerHTML+="<table style='"+"width:100%'"+"><tr style='"+"width:100%'"+"><td style='"+"width:40%;'"+"><label>Имя: </label><input id='nameFromLocalMachine"+uploadsFromLocal+"' name='nameFromLocalMachine"+uploadsFromLocal+"' style='width:80%"+"'></input></td>"+"<td style='text-align:right;width:10%"+"'><label>С&nbsp;диска: </label></td><td><input type='"+"file' id="+"'fileLocal"+uploadsFromLocal+"' name="+"'fileLocal"+uploadsFromLocal+"'  style="+"'width:100%"+"' onblur="+"'FileSelected("+uploadsFromLocal+",1"+");"+"'/></td></tr></table>";    
    page.uploadsFromLocalForm.innerHTML+="<div style='width:100%' id='uploadsFromLocalForm"+(uploadsFromLocal+1)+"'>";
    page.uploadsFromLocalForm = document.getElementById('uploadsFromLocalForm'+(uploadsFromLocal+1));
//    for (var i=0;i<uploadsFromLocal;i++)
//    {
//        page.fileLocal = document.getElementById('fileLocal'+i);
//        page.nameFromLocalMachine = document.getElementById('nameFromLocalMachine'+i);
//        page.fileLocal.value = localFiles.shift();
//        page.nameFromLocalMachine.value = localFileNames.shift();
//    }
}

/*function AddUploadWebForm()
{
    uploadsFromWeb++;
    page.uploadsFromWebForm.innerHTML+="<table style='"+"width:100%'"+"><tr style='"+"width:100%'"+"><td style='"+"width:40%;'"+"><label>Имя: </label><input id='nameFromInternet"+uploadsFromWeb+"' name='nameFromInternet"+uploadsFromWeb+"' style='width:80%"+"'></input></td>"+"<td style='text-align:right;width:10%"+"'><label>Из&nbsp;сети: </label></td><td><input id="+"'fileRemote"+uploadsFromWeb+"' name="+"'fileRemote"+uploadsFromWeb+"'  style="+"'width:100%"+"' onblur="+"'FileSelected("+uploadsFromWeb+",2"+");"+"'/></td></tr></table>";    
     page.uploadsFromWebForm.innerHTML+="<div style='width:100%' id='uploadsFromWebForm"+(uploadsFromWeb+1)+"'>";
    page.uploadsFromWebForm = document.getElementById('uploadsFromWebForm'+(uploadsFromWeb+1));
//    for (var i=0;i<uploadsFromWeb;i++)
//    {
//        page.fileRemote = document.getElementById('fileRemote'+i);
//        page.nameFromInternet = document.getElementById('nameFromInternet'+i);
//        page.fileRemote.value = remoteFiles.shift();
//        page.nameFromInternet.value = remoteFileNames.shift();
//    }
}
*/
function ValidateFilename(sender)
{
    var regularExpression = '^\\w+(.gif|.bmp|.jpeg|.jpg|.png)$';
    var reg = new RegExp(regularExpression, "i");
    return reg.test(sender.value);
}

function CheckFlashVersion()
{
    var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

    if (!hasReqestedVersion) {//alert('Для корректного отображения данной страницы нужен < a href="http://www.adobe.com/go/getflash/" value="Adobe Flash Player" /> ;');
                                document.write('Для корректного отображения данной страницы нужен <a href="http://www.adobe.com/go/getflash/" >Adobe Flash Player</a> ');
                                }

}

function ShowAddSectionWindow(id)
{    
    dojo.xhrPost({
    url: '../searchSections/.aspx?parent=' + id,
    load: ChildSectionsReceived,
    error: ErrorOccured
    });
    document.getElementById('updateRoles').style.display = 'none';
    document.getElementById('createNewSection').style.display = 'block';
    document.getElementById('divOrder').style.display = 'block';
    document.getElementById('_parent').value = id;
    DefaultRoles();
    document.getElementById('formSections').style.display = 'block';
    document.getElementById('formSections').scrollIntoView(true);
}

function DefaultRoles()
{
    roleCheckBox = document.getElementsByName('roleis0');
    if (roleCheckBox[0])
    {
        roleCheckBox[0].checked = true;
        document.getElementsByName('rolewrite0')[0].checked = true;
        document.getElementsByName('roleread0')[0].checked = true;
        document.getElementsByName('roledelete0')[0].checked = false;
    } 
    roleCheckBox = document.getElementsByName('roleis86');
    if (roleCheckBox[0])
    {
        roleCheckBox[0].checked = true;
        document.getElementsByName('rolewrite86')[0].checked = true;
        document.getElementsByName('roleread86')[0].checked = true;
        document.getElementsByName('roledelete86')[0].checked = false;
    } 
    roleCheckBox = document.getElementsByName('roleis87');
    if (roleCheckBox[0])
    {
        roleCheckBox[0].checked = true;
        document.getElementsByName('rolewrite87')[0].checked = true;
        document.getElementsByName('roleread87')[0].checked = true;
        document.getElementsByName('roledelete87')[0].checked = false;
    } 
}

function ShowChangeRolesWindow(id, link, name, title, parent)
{
    document.getElementById('formSections').style.display = 'block';
    document.getElementById('formSections').scrollIntoView(true);
    document.getElementById('updateRoles').style.display = 'block';
    document.getElementById('createNewSection').style.display = 'none';
    document.getElementById('divOrder').style.display = 'none';
    document.getElementById('_parent').value = id;
    
    dojo.xhrGet({
    url: '../sections/' + link + '.aspx?action=edit&output=xml',
    load: RolesRecieved,
    error: ErrorOccured,
    handleAs: 'xml'
   });
   document.getElementById('link').value = link;
   document.getElementById('name').value = name;
   document.getElementById('title').value = title;
   page.linkToChange = link;
   page.parentToChange = parent;
}

function ShowUploadFotoWindow(id, link)
{
    document.getElementById('uploadWindow').style.visibility = 'visible';
    document.getElementById('uploadWindow').scrollIntoView(true);
    page.workingForm = document.getElementById('form-demo');
   page.sessionId  = document.getElementById('sessionId');
   page.catLink = document.getElementById('catLink');
   page.maxY = document.getElementById('maxY');
   page.maxX = document.getElementById('maxX');
   
   //'?SESSID=' + page.sessionId.value + '&catLink=' + sender.attributes['link'].value + '&_photo={"createNewThumbnails":[{"w":'+page.maxX.value+',"h":'+page.maxY.value+'},{"w":450,"h":110}],"newfile":"_photo"}';
   page.workingForm.action = page.LLink + '?SESSID=' + page.sessionId.value + '&catLink=' + link + '&maxX=' + page.maxX.value + '&maxY=' + page.maxY.value + '&maxX=450&&maxY=110';
   swiffy.options.url = page.workingForm.action;
   swiffy.load();
   swiffy.load();
}

function OpenSection(div, button)
{
    if (div)
    {
        if (div.style.display=='none')
        {
            div.style.display='block';
            button.src = '/images/new/minus.gif';
            document.getElementById('uploadWindow').style.visibility = 'hidden';
        }
        else
        {
            div.style.display='none';
            button.src = '/images/new/plus.gif';
            document.getElementById('uploadWindow').style.visibility = 'hidden';
        }
    }
}
