/*jQuery.noConflict();*/

/* if IE run unitpngfix for sociable fade */
if (jQuery.browser.msie) {
    var $shared_path = jQuery("meta[name=shared_path]").attr('content');
    var clear = $shared_path + "/clear.gif"; //path to clear.gif
    document.write('<script type="text/javascript" id="ct" defer="defer" src="javascript:void(0)"><\/script>'); var ct = document.getElementById("ct"); ct.onreadystatechange = function () { pngfix() }; pngfix = function () { var els = document.getElementsByTagName('*'), ip = /\.png/i, al = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='", i = els.length, uels = new Array(), c = 0; while (i-- > 0) { if (els[i].className.match(/unitPng/)) { uels[c] = els[i]; c++; } } if (uels.length == 0) pfx(els); else pfx(uels); function pfx(els) { i = els.length; while (i-- > 0) { var el = els[i], es = el.style, elc = el.currentStyle, elb = elc.backgroundImage; if (el.src && el.src.match(ip) && !es.filter) { es.height = el.height; es.width = el.width; es.filter = al + el.src + "',sizingMethod='crop')"; el.src = clear; } else { if (elb.match(ip)) { var path = elb.split('"'), rep = (elc.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale', elkids = el.getElementsByTagName('*'), j = elkids.length; es.filter = al + path[1] + "',sizingMethod='" + rep + "')"; es.height = el.clientHeight + 'px'; es.backgroundImage = 'none'; if (j != 0) { if (elc.position != "absolute") es.position = 'static'; while (j-- > 0) if (!elkids[j].style.position) elkids[j].style.position = "relative"; } } } } }; };

}

createRotator("Data/Sites/1/userfiles/media/banner.xml", "featured_cont", "r3", 960, 310);
//createRotator("media/rotate.xml", "channels", "r2", 423, 110);
//createRotator("media/announce.aspx", "rotator", "r1", 423, 200);
createVidPlayer("Data/Sites/1/userfiles/media/hplaylist.xml", "videoFeature", 480, 400);

//vidPlayer("http://www.youtube.com/v/3A6HK0sqZ8E&hl=en&fs=1&rel=0", "vid");

createPlayer("Data/Sites/1/userfiles/media/playlist.xml", "song", "290", "80");

function createRotator(data, container, id, width, height) {
    var flashvars = { file: "" + data + "", overstretch: "true", backcolor: "0xFFFFFF", screencolor: "0xF5F5F5", shownavigation: "false", linkfromdisplay: "true", enablejs: "true" };
    var params = { allowfullscreen: "true", menu: "false", allowscriptaccess: "sameDomain", wmode: "opaque" };
    var attributes = {};
    attributes.id = "" + id + "";
    swfobject.embedSWF("Data/Sites/1/userfiles/media/imagerotator.swf", "" + container + "", "" + width + "", "" + height + "", "9.0.0", false, flashvars, params, attributes);

}
function createVidPlayer(theFile, el, w, h) {
    var flashvars = {
        autostart: "false",
        icons: "false",
       // playlistsize: "100",
        //playlistsize: "100",
        stretching: "proportional",
        //playlist: "top",
        file: theFile,
        lightcolor: "74A45A",
        duration: "33",
        backcolor: "FCFCFC",
        frontcolor: "013565",
        screencolor: "ffffff",
        skin: "Data/Sites/1/userfiles/media/bekle.swf",
        displayheight: "30",
        volume: "50",
        controlbar: "bottom"
    }
    var params = {
        wmode: "opaque",
        allowfullscreen: "false",
        allowscriptaccess: "always"
    }
    var attributes = {
        id: "" + el + "",
        name: "" + el + ""
    }

    swfobject.embedSWF("Data/Sites/1/userfiles/media/player.swf", "" + el + "", "" + w + "", "" + h + "", "9.0.115", false, flashvars, params, attributes);
}

function createPlayer(theFile, el, w, h) {
    var flashvars = {
        autostart: "false",
        icons: "false",
        playlistsize: "100",
        playlistsize: "100",
        stretching: "fill",
        playlist: "top",
        file: theFile,
        lightcolor: "74A45A",
        duration: "33",
        backcolor: "FCFCFC",
        frontcolor: "013565",
        screencolor: "ffffff",
        skin: "Data/Sites/1/userfiles/media/bekle.swf",
        displayheight: "30",
        volume: "50",
        controlbar: "bottom"
    }
    var params = {
        wmode: "opaque",
        allowfullscreen: "false",
        allowscriptaccess: "always"
    }
    var attributes = {
        id: "" + el + "",
        name: "" + el + ""
    }

    swfobject.embedSWF("Data/Sites/1/userfiles/media/player.swf", "" + el + "", "" + w + "", "" + h + "", "9.0.115", false, flashvars, params, attributes);
}
/* delay function */
jQuery.fn.delay = function (time, func) {
    this.each(function () {
        setTimeout(func, time);
    })
    return this;
};

/* hover fade functions */
function fade_hover() {
    jQuery('.fade_hover').hover(
		function () {
		    jQuery(this).stop().animate({ opacity: 0.4 }, 400);
		},
			function () {
			    jQuery(this).stop().animate({ opacity: 1 }, 400);
			});

}

function portfolio_img_hover() {
    jQuery(".load_img").hover(
		function () {
		    jQuery(this).find('.portfolio_hover').stop().animate({ opacity: 0.4 }, 400);
		},
			function () {
			    jQuery(this).find('.portfolio_hover').stop().animate({ opacity: 1 }, 400);
			});
}

function sociable_hover() {
    jQuery('.sociable_hover').hover(
		function () {
		    jQuery(this).stop().animate({ opacity: 0.5 }, 400);
		},
			function () {
			    jQuery(this).stop().animate({ opacity: 1 }, 400);
			});
}

function button_hover() {
    jQuery('.button_link,button[type=submit],button,input[type=submit],input[type=button],input[type=reset]').hover(
		function () {
		    jQuery(this).stop().animate({ opacity: 0.8 }, 400);
		},
			function () {
			    jQuery(this).stop().animate({ opacity: 1 }, 400);
			});
}


function expandIt(getIt) { getIt.style.display = (getIt.style.display == "none") ? "" : "none"; }

/* 
* No Spam (1.3)
* by Mike Branski (www.leftrightdesigns.com)
* mikebranski@gmail.com
*
* Copyright (c) 2008 Mike Branski (www.leftrightdesigns.com)
* Licensed under GPL (www.leftrightdesigns.com/library/jquery/nospam/gpl.txt)
*
* NOTE: This script requires jQuery to work.  Download jQuery at www.jquery.com
*
* Thanks to Bill on the jQuery mailing list for the double slash idea!
*
* CHANGELOG:
* v 1.3   - Added support for e-mail addresses with multiple dots (.) both before and after the at (@) sign
* v 1.2.1 - Included GPL license
* v 1.2   - Finalized name as No Spam (was Protect Email)
* v 1.1   - Changed switch() to if() statement
* v 1.0   - Initial release
*
*/

jQuery.fn.nospam = function (settings) {
    settings = jQuery.extend({
        replaceText: false, 	// optional, accepts true or false
        filterLevel: 'normal' 	// optional, accepts 'low' or 'normal'
    }, settings);

    return this.each(function () {
        e = null;
        if (settings.filterLevel == 'low') { // Can be a switch() if more levels added
            if (jQuery(this).is('a[rel]')) {
                e = jQuery(this).attr('rel').replace('//', '@').replace(/\//g, '.');
            } else {
                e = jQuery(this).text().replace('//', '@').replace(/\//g, '.');
            }
        } else { // 'normal'
            if (jQuery(this).is('a[rel]')) {
                e = jQuery(this).attr('rel').split('').reverse().join('').replace('//', '@').replace(/\//g, '.');
            } else {
                e = jQuery(this).text().split('').reverse().join('').replace('//', '@').replace(/\//g, '.');
            }
        }
        if (e) {
            if (jQuery(this).is('a[rel]')) {
                jQuery(this).attr('href', 'mailto:' + e);
                if (settings.replaceText) {
                    jQuery(this).text(e);
                }
            } else {
                jQuery(this).text(e);
            }
        }
    });
};

/*********************
//* jQuery Multi Level CSS Menu #2- By Dynamic Drive: http://www.dynamicdrive.com/
//* Last update: Nov 7th, 08': Limit # of queued animations to minmize animation stuttering
//* Menu avaiable at DD CSS Library: http://www.dynamicdrive.com/style/
*********************/

//Update: April 12th, 10: Fixed compat issue with jquery 1.4x

//Specify full URL to down and right arrow images (23 is padding-right to add to top level LIs with drop downs):
var arrowimages = { down: ['', ''], right: ['', ''] }

var jqueryslidemenu = {

    animateduration: { over: 200, out: 25 }, //duration of slide in/ out animation, in milliseconds

    buildmenu: function (menuid, arrowsvar) {
        jQuery(document).ready(function ($) {
            $(" #main_navigation a").removeAttr("title");

            var $mainmenu = $("#" + menuid + ">ul")
            var $headers = $mainmenu.find("ul").parent()
            $headers.each(function (i) {
                var $curobj = $(this)
                var $subul = $(this).find('ul:eq(0)')
                this._dimensions = { w: this.offsetWidth, h: this.offsetHeight, subulw: $subul.outerWidth(), subulh: $subul.outerHeight() }
                this.istopheader = $curobj.parents("ul").length == 1 ? true : false
                $subul.css({ top: this.istopheader ? this._dimensions.h + "px" : 0 })
                /*
                $curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: arrowsvar.down[2]} : {}).append(
                '<img src="'+ (this.istopheader? arrowsvar.down[1] : arrowsvar.right[1])
                +'" class="' + (this.istopheader? arrowsvar.down[0] : arrowsvar.right[0])
                + '" style="border:0;" />'
                )*/

                $curobj.hover(
				function (e) {
				    var $targetul = $(this).children("ul:eq(0)")
				    this._offsets = { left: $(this).offset().left, top: $(this).offset().top }

				    if (jQuery.browser.msie) {
				        var menuleft = this.istopheader ? 0 : this._dimensions.w + 2
				        menuleft = (this._offsets.left + menuleft + this._dimensions.subulw > $(window).width()) ? (this.istopheader ? -this._dimensions.subulw + this._dimensions.w : -this._dimensions.w) - 4 : menuleft
				    }
				    if (!jQuery.browser.msie) {
				        var menuleft = this.istopheader ? 0 : this._dimensions.w
				        menuleft = (this._offsets.left + menuleft + this._dimensions.subulw > $(window).width()) ? (this.istopheader ? -this._dimensions.subulw + this._dimensions.w : -this._dimensions.w) : menuleft
				    }
				    if ($targetul.queue().length <= 1) //if 1 or less queued animations
				        $targetul.css({ left: menuleft + "px", width: this._dimensions.subulw + 'px' }).slideDown(jqueryslidemenu.animateduration.over)
				},
				function (e) {
				    var $targetul = $(this).children("ul:eq(0)")
				    $targetul.slideUp(jqueryslidemenu.animateduration.out)
				}
			) //end hover
                $curobj.click(function () {
                    $(this).children("ul:eq(0)").hide()
                })
            }) //end $headers.each()
            $mainmenu.find("ul").css({ display: 'none', visibility: 'visible' })
        }) //end document.ready
    }
}
//build menu with ID="main_navigation" on page:
jqueryslidemenu.buildmenu("main_navigation", arrowimages)


jQuery(document).ready(function () {
    if (!jQuery.browser.msie) {
        button_hover()
        sociable_hover();
    } fade_hover();

    /* 
    * Cufon 
    */
    var $disable_cufon = jQuery("meta[name=disable_cufon]").attr('content');

    if ($disable_cufon != 'true') {

        Cufon.replace('h4,h5,#site_name,.dropcap1,.dropcap4,.teaser_large', {});
        Cufon.replace('#blurb,#footer_teaser_text', { textShadow: '#f9f9f9 1px 1px' });
        Cufon.replace('th,.light_gradient', {
            color: '-linear-gradient(#bbb, #888)',
            hover: 'true'
        });
        Cufon.replace('h3', {
            color: '-linear-gradient(#bbb, #888)'
        });
        Cufon.replace('h1,.staged_slide h2, .partial_staged_slide h2, .floating_slide h2, .full_slide h2, #body_block_background h2,.widgettitle,.dropcap2,.dark_gradient', {
            color: '-linear-gradient(#999, #4d4d4d)',
            hover: 'true',
            textShadow: '#fff 1px 1px'
        });
        Cufon.replace('.partial_gradient_slide h2', {});
        Cufon.replace('.large_button', { textShadow: '0 -1px 0 #888888' });

        Cufon.replace('.toggle_frame h4.toggle', { color: '-linear-gradient(#bbb, #888)', hover: 'false' });

        //fix flash of unstyled content with cufon
        jQuery('h1,h2,h3,h4,h5,#blurb,#site_name,.toggle,.light_gradient.dropcap1,.widgettitle,.dropcap2,.dropcap4,.teaser_large,.dark_gradient,th').each(function () {
            jQuery(this).css("text-indent", "0px");
        });

        var userAgent = navigator.userAgent.toLowerCase();
        if (jQuery.browser.msie) {
            var $ieVersion = jQuery.browser.version.substring(0, 1);
            if ($ieVersion == 7) {
                jQuery(".dropcap1").css({ paddingTop: "2px" });
            }
        }

    }


    /*
    * prettyPhoto 
    */
    jQuery("a[rel^='map']").prettyPhoto({
        overlay_gallery: false, "theme": 'facebook' ,/* light_square / dark_rounded / light_square / dark_square */
		custom_markup: '<div id="map_canvas" style="width:360px; height:365px"></div>',
		changepicturecallback: function(){ initialize(); }
    });
jQuery("a[rel^='prettyPhoto'], a[rel^='lightbox']").prettyPhoto({
			animation_speed: 'fast', /* fast/slow/normal */
			slideshow: 5000, /* false OR interval time in ms */
			autoplay_slideshow: false, /* true/false */
			opacity: 0.80, /* Value between 0 and 1 */
			show_title: true, /* true/false */
			allow_resize: true, /* Resize the photos bigger than viewport. true/false */
			default_width: 500,
			default_height: 344,
			counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
			theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */
			horizontal_padding: 20, /* The padding on each side of the picture */
			hideflash: true, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
			wmode: 'opaque', /* Set the flash wmode attribute */
			autoplay: true, /* Automatically start videos: True/False */
			modal: false, /* If set to true, only the close button will close the window */
			deeplinking: false, /* Allow prettyPhoto to update the url to enable deeplinking. */
			overlay_gallery: true, /* If set to true, a gallery will overlay the fullscreen image on mouse over */
			keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */
			ie6_fallback: true
    });
    /* 
    * toggle functions 
    */
    //Hide (Collapse) the toggle containers on load
    jQuery(".toggle_content").hide();

    //Switch the "Open" and "Close" state per click
    jQuery("h4.toggle").toggle(function () {
        jQuery(this).addClass("active");
    }, function () {
        jQuery(this).removeClass("active");
    });

    //Slide up and down on click
    jQuery("h4.toggle").click(function () {
        jQuery(this).next(".toggle_content").slideToggle();
    });


    /* 
    * tooltip functions 
    */
    //sociable tooltip
    //jQuery(".share_this_post").tooltip({ effect: 'slide', relative: false, tip: '.share_this_post_tooltip', offset: [20, 67] });

    //site search tooltip
    //jQuery("#menu_search").tooltip({ effect: 'slide', relative: true, offset: [70, -45] });

    //tooltip shortcode
    //jQuery(".tooltip_image_sc").tooltip({ effect: "slide", relative: true, offset: [-70, 0] });
    //jQuery(".tooltip_sc").tooltip({ effect: "slide", relative: true });
   
    

    /* 
    * tab functions
    */
    jQuery(function () {
        jQuery("ul.tabsh").tabs("> .tab_content");
    });

    jQuery(function () {
        jQuery(".minimal_tab_set ul.tabs").tabs("> .tab_content");
        jQuery(".framed_tab_set ul.tabs").tabs("> .tab_content");
    });


    /* 
    * "target_blank" links
    */
    jQuery(".flickr_badge_image a").attr("target", "_blank");
    jQuery(".target_blank").attr("target", "_blank");


    /* 
    * spam protction on mailto: links
    */
    jQuery('a.email').nospam({
        replaceText: false,
        filterLevel: 'normal'
    });

    jQuery('a.email_widget').nospam({
        replaceText: true,
        filterLevel: 'normal'
    });


    /* 
    * contact form widget
    */
    jQuery('form#contactFormWidget').submit(function () {

        // assign dynamic div height to footer
        var $h = jQuery(".footer_background").height();
        jQuery(".footer_background").css({ height: $h });

        // assign dynamic div height to secondary
        var $sb_h = jQuery("#secondary").height();
        jQuery("#secondary").css({ height: $sb_h });

        jQuery('form#contactFormWidget .error').remove();
        var hasError = false;
        jQuery('.requiredField').each(function () {
            if (jQuery.trim(jQuery(this).val()) == '') {
                var labelText = jQuery(this).prev('label').text();
                //jQuery(this).parent().append('<span class="error">You forgot to enter your '+labelText+'.</span>');
                jQuery(this).addClass('inputError');
                hasError = true;
            } else if (jQuery(this).hasClass('email')) {
                var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                if (!emailReg.test(jQuery.trim(jQuery(this).val()))) {
                    var labelText = jQuery(this).prev('label').text();
                    //jQuery(this).parent().append('<span class="error">You entered an invalid '+labelText+'.</span>');
                    jQuery(this).addClass('inputError');
                    hasError = true;
                }
            }
        });

        if (!hasError) {

            jQuery("#submittedWidget").css('display', 'none');
            jQuery(".loadingImgWidget").fadeTo("slow", 0.5);

            var formInput = jQuery(this).serialize();
            jQuery.post(jQuery('#submitUrlWidget').val(), formInput, function (data) {
                jQuery('form#contactFormWidget').fadeOut('fast', function () {
                    jQuery(this).before('<p class="thanks"><strong>Thanks!</strong> Your email was successfully sent.</p>');
                });
            });
        }

        return false;

    });

    /* 
    * contact form
    */
    jQuery('form#contact_form').submit(function () {

        // assign dynamic div height to body_block
        var $h = jQuery("#main").height();
        jQuery("#main").css({ height: $h });

        jQuery('form#contact_form .error').remove();
        var hasError = false;
        jQuery('.requiredFieldContact').each(function () {
            if (jQuery.trim(jQuery(this).val()) == '') {
                var labelText = jQuery(this).prev('label').text();
                //jQuery(this).parent().append('<span class="error">You forgot to enter your '+labelText+'.</span>');
                jQuery(this).addClass('inputError');
                hasError = true;
            } else if (jQuery(this).hasClass('email')) {
                var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                if (!emailReg.test(jQuery.trim(jQuery(this).val()))) {
                    var labelText = jQuery(this).prev('label').text();
                    //jQuery(this).parent().append('<span class="error">You entered an invalid '+labelText+'.</span>');
                    jQuery(this).addClass('inputError');
                    hasError = true;
                }
            }
        });

        if (!hasError) {

            jQuery("#submittedContact").css('display', 'none');
            jQuery(".loadingImg").css('display', 'block');

            var formInput = jQuery(this).serialize();
            jQuery.post(jQuery('#submitUrl').val(), formInput, function (data) {
                jQuery('form#contact_form').fadeOut('fast', function () {
                    jQuery(this).before('<p class="thanks"><strong>Thanks!</strong> Your email was successfully sent.</p>');
                });
            });
        }

        return false;

    });


    /* image preloader  */
    jQuery(function () {

        // class of the div containers
        var $imgContainerClass = ".img_loader";

        // grab the images
        var $images = jQuery($imgContainerClass + ' span img');

        // image length
        var $max = $images.length;

        // remove them from DOM to prevent normal load
        jQuery('.rm_img').remove();

        // start loading
        if ($max > 0) {
            LoadImage(0, $max);
        }

        // loading function handler
        function LoadImage(index, $max) {

            if (index < $max) {

                // add list to div
                jQuery('<span id="img' + (index + 1) + '"></span>').each(function () {
                    jQuery(this).appendTo(jQuery('.img_loader .load_img').eq(index));
                });

                // new image object
                var $img = new Image();

                // current image
                var $curr = jQuery("#img" + (index + 1));

                // load current image
                jQuery($img).load(function () {

                    // hide it first + .hide() failed in safari
                    jQuery(this).css('display', 'none');

                    //add alt attr
                    //jQuery(this).attr({alt: ""});

                    // remove loading class from div and insert the image into it
                    jQuery($curr).append(this);

                    // fade it in
                    jQuery(this).fadeIn('slow', function () {
                        jQuery(this).parent().parent().css("background-image", "none");

                        if (index == ($max - 1)) {
                            jQuery('div, li').removeClass('bg_hover');
                            portfolio_img_hover();
                            fade_hover();

                        } else {
                            // we are loading next item
                            LoadImage(index + 1, $max);
                        }
                    });

                }).error(function () {
                    // if loading error remove div
                    jQuery($curr).remove();
                    // try to load next item
                    LoadImage(index + 1, $max);
                }).attr('src', jQuery($images[index]).attr('src')).attr('class', jQuery($images[index]).attr('class'));
            }
        }
    });

});

