/************************************************************************************
   +-----------------------------------------------------------------------------+
   |   SCRIPT.JSC
   +-----------------------------------------------------------------------------+
   |
   |   copyright >   (C) Oliver Nowak | DeyDesigns
   |   url       >   http://www.deydesigns.com
   |   email     >   info@deydesigns.com
   |
   +-----------------------------------------------------------------------------+
 ************************************************************************************/

            var has_flash = false;
            var IE = navigator.appName.indexOf("Microsoft") != -1;

            String.prototype.trim = function()
            {
                return this.replace(/^\s*|\s*$/g, "");
            };

            if(document.cookie)
            {
                var cookies = document.cookie.split(";");
                var cookie_values;
                var frameset = 0;
                for(var i in cookies)
                {
                    cookie_values = cookies[i].split("=");
                    if(cookie_values[0].trim() == "snf_frameset")
                    {
                        frameset = cookie_values[1];
                    }
                }
                if(frameset == 1)
                {
                    var url = top.location.toString();
                    if(url.indexOf("frameset") == -1)
                    {
                        var parts = url.split("/");
                        var last_char = url.substr(url.length - 1, 1);
                        var section = last_char == "/" ? parts[parts.length - 2] : parts[parts.length - 1];
                        document.cookie = "snf_frameset_section=" + section;
                        self.location.href = "/frameset";
                    }
                }
            }

            function create_flash_element(swf, width, height, flash_vars, wmode)
            {
                if(!IE)
                {
                    var obj = document.createElement("object");
                        obj.setAttribute("style", "width: " + width + "px; height: " + height + "px;");
                        obj.type = "application/x-shockwave-flash";
                        obj.data = "/media/" + swf;
                        obj.width = width;
                        obj.height = height;
                    var param = document.createElement("param");
                        param.name = "src";
                        param.value = "/media/" + swf;
                    obj.appendChild(param);
                    param = document.createElement("param");
                    param.name = "flashVars";
                    param.value = flash_vars;
                    obj.appendChild(param);
                    param = document.createElement("param");
                    param.name = "wmode";
                    param.value = wmode;
                    obj.appendChild(param);
                    var div = document.createElement("div");
                    div.setAttribute("class", "flash");
                    div.appendChild(obj);
                    return div;
                }
                 else
                {
                    var div = document.createElement("div");
                    div.innerHTML = '<object class="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0" width="' + width + '" height="' + height + '">'
                                  + '<param name="src" value="/media/' + swf + '">'
                                  + '<param name="flashVars" value="' + flash_vars + '">'
                                  + '<param name="wmode" value="' + wmode + '">'
                                  + '</object>';
                    return div;
                }
            }

            function replace_for_flash(text)
            {
                var search_replace = new Array();
                    search_replace["&"] = "%26";
                    search_replace["+"] = "%2B";
                    search_replace["Ä"] = "%C4";
                    search_replace["Ö"] = "%D6";
                    search_replace["Ü"] = "%DC";
                    search_replace["ä"] = "%E4";
                    search_replace["ö"] = "%F6";
                    search_replace["ü"] = "%FC";
                for(var i in search_replace)
                {
                    temp = text.split(i);
                    text = temp.join(search_replace[i]);
                }
                return text;
            }

            function replace_h_elements(id, tag_name, swf, width, height, case_type, wmode)
            {
                var elements = document.getElementsByTagName(tag_name);
                var elements_length = elements.length;
                for(var i = 0; i < elements_length; i ++)
                {
                    var element_text = document.getElementsByTagName(tag_name)[i].childNodes[0].nodeValue;
                        element_text = replace_for_flash(element_text);
                        element_text = case_type == "lower" ? element_text.toLowerCase() : element_text.toUpperCase();
                    var flash = create_flash_element(swf, width, height, "txt=" + element_text, wmode);
                    document.getElementsByTagName(tag_name)[i].style.display = "none";
                    document.getElementById(id).insertBefore(flash, document.getElementsByTagName(tag_name)[i]);
                }
            }

            function flash_replace(callbacks)
            {
                var flash = create_flash_element("detect.swf", 0, 0, "callbacks=" + callbacks, "window");
                document.body.appendChild(flash);
            }

            function getAttr(elem, attr)
            {
                if(IE)
                {
                    if(attr == "class") attr = "className";
                    if(attr == "for") attr = "htmlFor";
                }
                return elem.getAttribute(attr);
            }

            function sound_link_replace()
            {
                var url = top.location.toString();
                if(url.indexOf("frameset") != -1)
                {
                    var elements = document.getElementById("right").getElementsByTagName("li");
                    var node_value, href;

                    for(var i = 0; i < elements.length; i ++)
                    {
                        node_value = elements[i].childNodes[1] != undefined ? getAttr(elements[i].childNodes[1], 'class') : "";
                        if(node_value == "sl")
                        {
                            href = elements[i].childNodes[1].getAttribute('href');
                            elements[i].childNodes[1].setAttribute('href', "javascript:play_sound('" + href + "')");
                            elements[i].childNodes[1].childNodes[0].setAttribute('title', 'preview audio file');
                        }
                    }
                }
            }

            function gallery_link_replace()
            {
                var elements = document.getElementById("right").getElementsByTagName("a");
                var node_value, href;

                for(var i = 0; i < elements.length; i ++)
                {
                    node_value = elements[i] != undefined ? getAttr(elements[i], 'class') : "";
                    if(node_value == "gl")
                    {
                        href = elements[i].getAttribute('href');
                        elements[i].setAttribute('href', href + "/flash/");
                        elements[i].setAttribute('title', 'open flash gallery');
                    }
                    if(node_value == "direct")
                    {
                        href = elements[i].getAttribute('href');
                        if(href.indexOf("flash") == -1)
                        {
                            elements[i].setAttribute('href', href + "/flash/");
                            elements[i].childNodes[0].nodeValue = href + "/flash/";
                        }
                    }
                }
            }

            function do_replace()
            {
                has_flash = true;

                var section = document.getElementById("right").getElementsByTagName("h1")[0].childNodes[0].nodeValue;
                var flash = create_flash_element("header.swf", 786, 139, "section=" + section + "&path=/", "window");
                document.getElementById("header").childNodes[(IE ? 1 : 3)].style.display = "none";
                document.getElementById("header").appendChild(flash);

                replace_h_elements("right", "h2", "h2.swf", 375, 30, "lower", "window");
                replace_h_elements("right", "h3", "h3.swf", 375, 10, "upper", "window");
            }

            function do_replace_message()
            {
                has_flash = true;

                replace_h_elements("main_message", "h1", "h1.swf", 450, 36, "upper", "window");
                replace_h_elements("main_message", "h2", "h2.swf", 375, 26, "lower", "window");
                replace_h_elements("main_message", "h3", "h3.swf", 375, 10, "upper", "window");
            }

            function play_sound(file)
            {
                if(has_flash)
                {
                    parent.player.document.getElementById("player").SetVariable("file", file);
                    parent.player.document.getElementById("player").TGotoLabel("/", "load_mp3");
                }
                 else
                {
                    //alert("play in alternate player");
                }
            }

            function image_popup(img)
            {
                img_win = window.open("/index.php?section=image&image=" + img, "img_window", "width=100, height=100, resizeable=no, scrollbars=no, toolbar=no, location=0, top=" + ((screen.availHeight / 2) - (480 / 2)) + ", left=" + ((screen.availWidth / 2) - (640 / 2)));
                img_win.focus();
            }

            function add_smilie(code)
            {
                document.getElementById("message").value += code;
                document.getElementById("message").focus();
            }

            function is_valid_email(str)
            {
                var regex = "^[a-zA-Z0-9]+([_\.\-][a-zA-Z0-9]+)*@([a-zA-Z0-9]{3,}([\.\-][a-zA-Z0-9]{3,})*)+\.[a-zA-Z]{2,6}$";
                var rgx = new RegExp(regex);
                return rgx.exec(str) ? true : false;
            }

            function validate_guestbook_form()
            {
                var name = document.getElementById("name").value.trim();
                var email = document.getElementById("email").value;
                var url = document.getElementById("url").value.trim();
                var message = document.getElementById("message").value.trim();
                var error = false;

                if(name == "" || name.length < 3)
                {
                    error = "Please type in your name (at least 3 chars.)";
                }
                 else if(email != "" && !is_valid_email(email))
                {
                    error = "Please supply a valid email address";
                }
                 else if(message == "" || message < 10)
                {
                    error = "Please leave also a message (at least 10 chars.)";
                }
                if(error)
                {
                    alert(error);
                    return false;
                }
                return true;
            }

            function validate_contact_form()
            {
                var name = document.getElementById("name").value.trim();
                var email = document.getElementById("email").value;
                var message = document.getElementById("message").value.trim();
                var error = false;

                if(name == "" || name.length < 3)
                {
                    error = "Please type in your name (at least 3 chars.)";
                }
                 else if(!is_valid_email(email))
                {
                    error = "Please supply a valid email address";
                }
                 else if(message == "" || message < 10)
                {
                    error = "Please leave also a message (at least 10 chars.)";
                }
                if(error)
                {
                    alert(error);
                    return false;
                }
                return true;
            }