///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//   Виртуальные открытки "Cherry-Cards" // Функции на 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(
    "id", 
    "card[name_from]", 
    "card[email_from]", 
    "card[name_to]", 
    "card[email_to]", 
    "card[title]", 
    "card[text]", 
    "card[sign]"
);

// Массив сообщений при проверке соответствующих полей
required_show = new Array(
    txt_code, 
    txt_name_from, 
    txt_email_from, 
    txt_name_to, 
    txt_email_to, 
    txt_title, 
    txt_text, 
    txt_sign
);

// Массив, проверяемых в форме электронных адресов
required_email = new Array(
    "card[email_from]", 
    "card[email_to]"
);

// Регулярное выражение для проверки корректности электронного адреса
var regexp_email = /^([a-z0-9_-]+(\.[a-z0-9_-]+)*@([a-z0-9-]+\.)+[a-z]{2,4} *\,? *)+$/i;

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                  Функция проверки формы, перед отправкой                  //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function SendForm () {

    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(txt_msg_please + 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(txt_msg_email);
                    document.forms[0].elements[i].focus();
                    return false;
                }
            }
        }
    }

    // Проверяем, что текст открытки не превышает максимально 
    // допустимого количества символов
    for (i=0; i<document.forms[0].length; i++) {
        if (document.forms[0].elements[i].name == "card[text]") {
            if (document.forms[0].elements[i].value.length > 500) {
                alert(txt_msg_length);
                document.forms[0].elements[i].focus();
                return false;
            }
        }
    }

    // Проверяем, что в поле кода открытки отсутствует сообщение по умолчанию 
    for (i=0; i<document.forms[0].length; i++) {
        if (document.forms[0].elements[i].name == "id") {
            if (document.forms[0].elements[i].value == (" " + check_code)) {
                alert(txt_msg_please + txt_code);
                document.forms[0].elements[i].value = "";
                document.forms[0].elements[i].focus();
                return false;
            }
        }
    }

    return true;
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//                    Функция изменения обработчика формы                    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function ChangeAddressForm(name, address) {

    document.forms[name].action=address;

}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//  Функция сброса флажка уведомления при выборе открытки в виде вложения    //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function ClearConfirmationFlag() {

    if (document.forms[0].elements['card[attachment]'].checked == true) { 
        document.forms[0].elements['card[confirmation]'].checked = false; 
    }
}

///////////////////////////////////////////////////////////////////////////////
//                                                                           //
//           Функция открытия окна для просмотра большой открытки            //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////

function OpenWindow(address) { 

    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, null, WindowPosition+',width='+WindowWidth+',height='+WindowHeight+',toolbar=0,scrollbars=0,resizable=0');
        newWindow.focus();
    }
}

///////////////////////////////////////////////////////////////////////////////

// Определяем версию броузера
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'; 
} 

