///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Фотогалерея "Cherry-Gallery" // Функции на JavaScript                   //
//   ----------------------------------------------------------------------  //
//   Copyright (C) 1998-2008 web-studio "Cherry-Design"                      //
//   URL: http://www.cherry-design.spb.ru/                                   //
//   E-mail: cherry-design@mail.ru                                           //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

// Массив, проверяемых в форме полей

required = new Array(
    "guest[name]",
    "guest[text]",
    "send[email_to]",
    "send[text]"
);

// Массив сообщений при проверке соответствующих полей

required_show = new Array(
    "Ваше имя",
    "текст сообщения",
    "электронный адрес Вашего друга",
    "текст письма"
);

// Массив, проверяемых в форме электронных адресов

required_email = new Array(
    "send[email_to]"
);

// Регулярное выражение для проверки корректности электронного адреса

var regexp_email = /^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([a-z0-9-]+\.)+[a-z]{2,4}$/i;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                  Функция проверки формы, перед отправкой                  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function send_form() {

    var i, j, email;

    // Проверяем, что заполнены все обязательные поля
    for(j=0; j<required.length; j++) {
        for (i=0; i<document.forms[0].length; i++) {
            if (document.forms[0].elements[i].name == required[j] && document.forms[0].elements[i].value == "" ) {
                alert('Пожалуйста, введите ' + required_show[j]);
                document.forms[0].elements[i].focus();
                return false;
            }
        }
    }

    // Проверяем корректность электронных адресов
    for(j=0; j<required_email.length; j++) {
        for (i=0; i<document.forms[0].length; i++) {
            if (document.forms[0].elements[i].name == required_email[j]) {
                if (!regexp_email.test(document.forms[0].elements[i].value)) {
                    alert('Введен некорректный электронный адрес');
                    document.forms[0].elements[i].focus();
                    return false;
                }
            }
        }
    }

    return true;
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//               Функция открытия окна броузера во весь экран                //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function full_screen(cid, id) { 

    var address = "/gallery.php?action=fullscreen&cid="+cid+"&id="+id;

    if (browser_ok == 'true') {

        WindowWidth = 300;
        WindowHeight = 430;
        WindowPosition='';
        
        if (browser_version >=4) {
            WindowLeft=Math.round((screen.width-WindowWidth)/2);
            WindowTop=Math.round((screen.height-WindowHeight)/2);
        }
        if (browser_name == "Netscape")  {  
            WindowPosition='screenX='+WindowLeft+',screenY='+WindowTop; 
        }
        if (browser_name == "Microsoft Internet Explorer") { 
            WindowPosition='left='+WindowLeft+',top='+WindowTop; 
        }
    
        newWindow=window.open(address, "fullscreen", WindowPosition+',width='+WindowWidth+',height='+WindowHeight+',toolbar=0,scrollbars=1,resizable=1,fullscreen=1');
        newWindow.focus();
    }
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//      Функция переключения изображения в черно-белый режим и обратно       //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function switch_bw() { 

    if (switch_flag_bw) {
        picture.style.filter = "";
        switch_flag_bw = 0;
    } else {
        picture.style.filter = "Gray";
        switch_flag_bw = 1;
    }
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                 Функция отражения изображения по вертикали                //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function switch_flipv() { 

    if (switch_flag_flipv) {
        picture.style.filter = "";
        switch_flag_flipv = 0;
    } else {
        picture.style.filter = "FlipV";
        switch_flag_flipv = 1;
    }
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//               Функция отражения изображения по горизонтали                //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function switch_fliph() { 

    if (switch_flag_fliph) {
        picture.style.filter = "";
        switch_flag_fliph = 0;
    } else {
        picture.style.filter = "FlipH";
        switch_flag_fliph = 1;
    }
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                 Функция рисования линий золотого сечения                  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function switch_gold() { 

    if (switch_flag_gold) {
        gold.style.visibility = "hidden";
        switch_flag_gold = 0;
    } else {
        gold.style.visibility = "visible";
        switch_flag_gold = 1;
    }
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//           Функция открытия странички во всплывающем окне                  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function open_window(address) { 

    if (browser_ok == 'true') {

        WindowWidth = 450;
        WindowHeight = 350;
        WindowPosition='';
        
        if (browser_version >=4) {
            WindowLeft=Math.round((screen.width-WindowWidth)/2);
            WindowTop=Math.round((screen.height-WindowHeight)/2);
        }
        if (browser_name == "Netscape")  {  
            WindowPosition='screenX='+WindowLeft+',screenY='+WindowTop; 
        }
        if (browser_name == "Microsoft Internet Explorer") { 
            WindowPosition='left='+WindowLeft+',top='+WindowTop; 
        }
    
        newWindow=window.open(address, null, WindowPosition+',width='+WindowWidth+',height='+WindowHeight+',toolbar=0,scrollbars=0,resizable=0');
        newWindow.focus();
    }
}

///////////////////////////////////////////////////////////////////////////////

// Инициализируем глобальные переменные

var switch_flag_bw = 0;
var switch_flag_flipv = 0;
var switch_flag_fliph = 0;
var switch_flag_gold = 0;

// Определяем версию броузера

browser_name = navigator.appName; 
browser_version = parseFloat(navigator.appVersion); 

if (browser_name == "Netscape" && browser_version >= 3.0) { 
    browser_ok = 'true'; 
} else if (browser_name == "Microsoft Internet Explorer" && browser_version >= 3.0) { 
    browser_ok = 'true'; 
} else { 
    browser_ok = 'false'; 
} 
