﻿
(function($) {
    $.fn.extend({

        center: function(options) {
            var options = $.extend({ // Default values
                inside: window, // element, center into window
                transition: 0, // millisecond, transition time
                minX: 0, // pixel, minimum left element value
                minY: 0, // pixel, minimum top element value
                withScrolling: true, // booleen, take care of the scrollbar (scrollTop)
                vertical: true, // booleen, center vertical
                horizontal: true // booleen, center horizontal
            }, options);
            return this.each(function() {
                var props = { position: 'absolute' };
                if (options.vertical) {
                    var top = ($(options.inside).height() - $(this).outerHeight()) / 2;
                    if (options.withScrolling) top += $(options.inside).scrollTop() || 0;
                    top = (top > options.minY ? top : options.minY);
                    $.extend(props, { top: top + 'px' });
                }
                if (options.horizontal) {
                    var left = ($(options.inside).width() - $(this).outerWidth()) / 2;
                    if (options.withScrolling) left += $(options.inside).scrollLeft() || 0;
                    left = (left > options.minX ? left : options.minX);
                    $.extend(props, { left: left + 'px' });
                }
                if (options.transition > 0) $(this).animate(props, options.transition);
                else $(this).css(props);
                return $(this);
            });
        }

    });
})(jQuery);

(function($) {
    $.fn.extend({

        greyOut: function(options) {

            var options = $.extend({ // Default values
                zindex: 900, // element, center into window
                opacity: 50, // millisecond, transition time
                bgcolor: '#000', // pixel, minimum left element value
                show: true, // pixel, minimum top element value
                fade: true, // booleen, take care of the scrollbar (scrollTop)
                imgURL: "" //the path to the progress bar image to display
            }, options);

            var zindex = options.zindex;
            var opacity = options.opacity;
            var opaque = (opacity / 100);
            var bgcolor = options.bgcolor;
            var vis = options.show;
            var animate = options.fade;
            var imgURL = options.imgURL;

            var dark = document.getElementById('darkenScreenObject');
            if (!dark) {

                var nodeType = $(this).context.nodeName;
                var tnode = document.createElement('div');           // Create the layer.
                if (nodeType == "BODY") {
                    var tbody = document.getElementsByTagName("body")[0];
                    tnode.style.position = 'absolute';
                }
                else {
                    var tbody = document.getElementById($(this).attr('id').toString());
                    tnode.style.position = 'absolute';
                }

                // Position absolutely
                tnode.style.top = '0px';                           // In the top
                tnode.style.left = '0px';                          // Left corner of the page
                tnode.style.overflow = 'hidden';                   // Try to avoid making scroll bars            
                tnode.style.display = 'none';                      // Start out Hidden
                tnode.id = 'darkenScreenObject';                   // Name it so we can find it later
                tbody.appendChild(tnode);                            // Add it to the web page

                if (imgURL != "") {
                    var tSpan = document.createElement('span');
                    tnode.appendChild(tSpan);
                    var tImg = document.createElement('img');
                    tnode.appendChild(tImg);
                    $(tImg).attr("src", imgURL);
                    $(tSpan).css("display", "inline-block");
                    $(tSpan).css("height", "50\%");
                    $(tSpan).css("width", "1px");
                }

                dark = document.getElementById('darkenScreenObject');  // Get the object.
            }

            if (vis) {


                $(this).append(dark);
                var nodeType = $(this).context.nodeName;
                if (nodeType == "BODY") {
                    var pageWidth = $(document).width();
                    var pageHeight = $(document).height();
                }
                else {
                    var pageWidth = $(this).width();
                    var pageHeight = $(this).height();
                }

                //set the shader to cover the entire page and make it visible.
                dark.style.opacity = opaque;
                dark.style.MozOpacity = opaque;
                dark.style.filter = 'alpha(opacity=' + opacity + ')';
                dark.style.zIndex = zindex;
                dark.style.backgroundColor = bgcolor;

                $(dark).css("top", '0px');
                $(dark).css("left", '0px');
                $(dark).css("width", pageWidth + 'px');
                $(dark).css("height", pageHeight + 'px');
                $(dark).css("padding-right", $(this).css('padding-right'));
                $(dark).css("padding-left", $(this).css('padding-left'));
                $(dark).css("padding-top", $(this).css('padding-top'));
                $(dark).css("padding-bottom", $(this).css('padding-bottom'));


                $(dark).css("display", "block");
                $(dark).css("text-align", "center");
                $(dark).css("vertical-align", "middle");



                if (animate) { $(dark).fadeIn('fast'); }
                else { dark.style.display = 'block'; }
            }
            else {
                if (animate) { $(dark).fadeOut('fast'); }
                else { dark.style.display = 'none'; }
            }
        }
    });
})(jQuery);



(function($) {
    $.fn.extend({

        DialogGreyOut: function(options) {

            var Opts = $.extend({ // Default values
                zindex: 900, // element, center into window
                opacity: 50, // millisecond, transition time
                bgcolor: '#000', // pixel, minimum left element value
                show: true, // pixel, minimum top element value
                fade: true, // booleen, take care of the scrollbar (scrollTop)
                TheDiv: '',  //the id of the div to float
                VerticalPos: null,
                WrapperDiv: '',
                UseWindow: false,
                Center: true
            }, options);

            var zindex = Opts.zindex;
            var opacity = Opts.opacity;
            var opaque = (opacity / 100);
            var bgcolor = Opts.bgcolor;
            var vis = Opts.show;
            var animate = Opts.fade;
            var TheDiv = Opts.TheDiv;
            var VerticalPos = Opts.VerticalPos;
            var wrapper = Opts.WrapperDiv;
            var UseWindow = Opts.UseWindow;
            var Center = Opts.Center;

            var idark = document.getElementById('idarkenScreenObject');
            var tDiv = document.getElementById(TheDiv);
            var tMDiv = document.getElementById(wrapper);
            var tBody = document.body;

            if (TheDiv != '') {


                $(tDiv).css("display", "block");
                $(tDiv).css("position", "absolute");
                $(tDiv).css("z-index", "999");
                $(tDiv).css("padding", "10px");
                $(tDiv).css("border-radius", "5px 5px 5px 5px");
                $(tDiv).css("-moz-border-radius", "5px 5px 5px 5px");
                $(tDiv).css("-webkit-border-radius", "5px 5px 5px 5px");
                $(tDiv).css("box-shadow", "2px 2px 30px rgba(0,0,0,0.6)");
                $(tDiv).css("-webkit-box-shadow", "2px 2px 30px rgba(0,0,0,0.6)");
                $(tDiv).css("-moz-box-shadow", "2px 2px 30px rgba(0,0,0,0.6)");
            }

            if (!idark) {

                var tnode = document.createElement('div');           // Create the layer.
                tnode.style.position = 'absolute';                 // Position absolutely
                tnode.style.top = '0px';                           // In the top
                tnode.style.left = '0px';                          // Left corner of the page
                tnode.style.overflow = 'hidden';                   // Try to avoid making scroll bars            
                tnode.style.display = 'none';                      // Start out Hidden
                tnode.id = 'idarkenScreenObject';                   // Name it so we can find it later


                $(tnode).appendTo(tMDiv);
                idark = document.getElementById('idarkenScreenObject');  // Get the object.
            }

            if (vis) {


                //$(this).append(idark);
                var nodeType = $(this).context.nodeName;
                if (nodeType == "BODY") {
                    var pageWidth = $(document).width();
                    var pageHeight = $(document).height()
                }
                else {
                    var pageWidth = $(this).width();
                    var pageHeight = $(this).height();
                }

                //set the shader to cover the entire page and make it visible.
                idark.style.opacity = opaque;
                idark.style.MozOpacity = opaque;
                idark.style.filter = 'alpha(opacity=' + opacity + ')';
                idark.style.zIndex = zindex;
                idark.style.backgroundColor = bgcolor;

                $(idark).css("top", '0px');
                $(idark).css("left", '0px');
                $(idark).css("width", pageWidth + 'px');
                $(idark).css("height", pageHeight + 'px');
                $(idark).css("padding-right", $(this).css('padding-right'));
                $(idark).css("padding-left", $(this).css('padding-left'));
                $(idark).css("padding-top", $(this).css('padding-top'));
                $(idark).css("padding-bottom", $(this).css('padding-bottom'));

                $(idark).css("display", "block");
                $(idark).css("text-align", "center");
                $(idark).css("vertical-align", "middle");

                //center the dialog
                //get size of DIV
                if (Center) { $(tDiv).center(); }
                if (VerticalPos) { $(tDiv).css("top", VerticalPos + 'px'); }
                /* 
                var Dheight = $(tDiv).height();
                var Dwidth = $(tDiv).width();
                    
                if (UseWindow) {
                //then set the position
                var hPos = ($(window).width() - Dwidth) / 2;
                var vPos = ($(window).height() - Dheight) / 2;
                $(tDiv).css("top", vPos + 'px');
                $(tDiv).css("left", hPos + 'px');
                } else {
                //then set the position
                var hPos = (pageWidth - Dwidth) / 2;
                var vPos = (pageHeight - Dheight) / 2;
                $(tDiv).css("top", vPos + 'px');
                $(tDiv).css("left", hPos + 'px');
                }
                */

                if (animate) { $(idark).fadeIn('fast'); }
                else { idark.style.display = 'block'; }
            }
            else {
                if (animate) { $(idark).fadeOut('fast'); tDiv.style.display = 'none'; }
                else { idark.style.display = 'none'; tDiv.style.display = 'none'; }
            }
        }
    });
})(jQuery);

function OpitSlide(ManualStep) {
    whichDiv = step
    if (ManualStep > 0) {
        step = ManualStep;
    } else {
        if (step < 5)
            step++
        else
            step = 1
    }

    var divOut = document.getElementById("sl" + whichDiv.toString());
    var divIn = document.getElementById("sl" + step.toString());
    $(divOut).fadeOut(500);
    $(divIn).fadeIn(500);

    var OptOut = document.getElementById("opt" + whichDiv.toString());
    var OptIn = document.getElementById("opt" + step.toString());

    $(OptOut).attr("src", "images/option.png");
    $(OptIn).attr("src", "images/sel.png");

    if (ManualStep == 0) {
        t = setTimeout("OpitSlide(0)", 9000);
    } else {
        clearTimeout(t);
        t = setTimeout("OpitSlide(0)", 9000);
    }
}

function NextDiv(obj) {
            
    var str = $(obj).attr('id').toString();
    str = str.replace("opt", "");
    var someInt = parseInt(str.toString());
    OpitSlide(someInt);
}
function GreyDialog(InOut, ThisDiv, ThisWrapper) {
    $(document.body).DialogGreyOut({ show: InOut, fade: true, TheDiv: ThisDiv, WrapperDiv: ThisWrapper, VerticalPos: 20 })
}
function changeVid(VidName) {
    var thePlayer = document.getElementById('myplayer');
    var theSources = thePlayer.getElementsByTagName("source");
    if (theSources.length > 0) {
        theSources[0].src = "videos/" + VidName + ".mp4";
        theSources[1].src = "videos/" + VidName + ".webm";
        theSources[2].src = "videos/" + VidName + ".ogv";
    }

    document.getElementById('Dlink').href = "videos/" + VidName + ".mp4";

    thePlayer.load();
    thePlayer.play();
}
function readRSS(source, target) {
    var items = source.getElementsByTagName("item");
    for (var i = 0; i < 6; i++) {
        var item = items.item(i);
        var title = item.getElementsByTagName("title").item(0).text;
        var link = item.getElementsByTagName("link").item(0).text;
        var desc = item.getElementsByTagName("description").item(0).text;

        var thecount = 0;
         //Dim searchLetters As Char() = New Char() {"c"c, "a"c, "$"c}
            if (desc.length < 220)
            {
                thecount = desc.indexOf(" ", desc.length-30);
            } else {
                thecount = desc.indexOf(" ", 200);
            }

        target.innerHTML += " <p>" +
                              "<strong><a target='_blank' href='" + link + "'>" + title + "</a></strong><br />" +
                              "<span>" + desc.substring(0, thecount) + "</span>" +
                              "</p>";
    }
}

function writeRSS() {
    var doc = new ActiveXObject("Microsoft.XMLHTTP"); //new ActiveXObject(“Msxml2.XMLHTTP”); //new XMLHttpRequest();
    doc.open("GET", "http://www.southafrica.info/news/feed.xml", true);
    doc.onreadystatechange = function () {
        if (doc.readyState == 4) {
            var layer = document.getElementById("divRSS");
            readRSS(doc.responseXML, layer);
        }
    }
    doc.send(null);
}

function NavButs() {
    $('.otherbutton,.otherbutton2,.homebutton,.downloadbutton,.donatebutton, .contactbutton1, .contactbutton2, .contactbutton3, .contactbutton4, .contactbutton5,').append('<span class="hover"></span>').each(function () {
	    var $span = $('> span.hover', this).css('opacity', 0);
	    $(this).hover(function () {
	        $span.stop().fadeTo(500, 1);
	    }, function () {
    $span.stop().fadeTo(500, 0);
	    });
    });
}

function SendVals(dataS) {
    var dataString = dataS;  //'name=' + name + '&email=' + email + '&phone=' + phone;
    $.ajax({
        type: "POST",
        url: "sender.php",
        data: dataString,
        success: function () {
            $('#SayForm').html("<div id='message'></div>");
            $('#message').html("<h4>Thank You!</h4>")
    .append("<p>We are always looking for ways to improve our site and your comments/suggestions are appreciated.</p>")
    .hide()
    .fadeIn(1500)
    /*.fadeIn(1500, function () {
        $('#message').append("<img id='checkmark' src='images/check.png' />");
    });*/
        }
    });
    return false;
}
function SendMess(dataS) {
    var dataString = dataS;  //'name=' + name + '&email=' + email + '&phone=' + phone;
    $.ajax({
        type: "POST",
        url: "contactus.php",
        data: dataString,
        success: function () {
            $('#ContactForm').html("<div id='message'></div>");
            $('#message').html("<h4>Thank You!</h4>")
    .append("<p>Your message has been sent and one of our representatives will be getting back to you shortly.</p>")
    .hide()
    .fadeIn(1500)
            /*.fadeIn(1500, function () {
            $('#message').append("<img id='checkmark' src='images/check.png' />");
            });*/
        }
    });
    return false;
}
function LoadRSS(layer) {
    var rssFeed = "http://www.southafrica.info/news/feed.xml";
    var errorHappendHere = "";
    try {
        /*if (window.ActiveXObject) {
            errorHappendHere = "Check Browser and security settings";
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.load(rssFeed);
        }
        else */
        if (window.XMLHttpRequest) {
            errorHappendHere = "Error handling XMLHttpRequest request";
            var d = new XMLHttpRequest();
            d.open("GET", rssFeed, true);
            d.send(null);
            xmlDoc = d.responseXML;
        } else {
            errorHappendHere = "Error.";
            xmlDoc = document.implementation.createDocument("", "", null);
            xmlDoc.async = false;
            xmlDoc.load(rssFeed);
        }
    }
    catch (e) {
        alert(errorHappendHere);
    }
    //xmlDoc.onreadystatechange = function () {
    //    if (xmlDoc.readyState == 4) {
    
            readRSS(xmlDoc, layer);
    //    }
    //}
    //xmlDoc.send(null);
}
