function getParameterByName( name ){  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  var regexS = "[\\?&]"+name+"=([^&#]*)";  var regex = new RegExp( regexS );  var results = regex.exec( window.location.href );  if( results == null )    return "";  else    return results[1];}

var isValidEmailAddress = function(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	return pattern.test(emailAddress);
};

var lipsum = "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.";
var lipsumCount = lipsum.length;

var generateRandomData = function () {
    var c = new Array();
    var count = 4 + Math.floor(Math.random() * 5);
    for (var i = 0; i < count; i++) {
        var o = {};
        var r = Math.floor(Math.random() * 500);
        o.classname = r > 250 ? "p-20" : "p-30";
        o.imagename = "p0" + Math.floor(Math.random() * 5) + ".png";
        o.productname = "M" + i;
        o.productdesc = lipsum.substring(0, Math.floor(Math.random() * lipsumCount));
        c[c.length] = o;
    }
    return c;
};


var productData = [
    { href: "product-E22M3.html", classname: "p-20", imagename: "e22m3-on-sk23.png", productname: "e22m3", productdesc: "lorem ipsum...", specialtext: "" },
	    { href: "product-E22M3_2.html", classname: "p-20", imagename: "E22M3_2.png", productname: "e22m3/2", productdesc: "lorem ipsum...", specialtext: "" },
    { href: "product-E23M3.html", classname: "p-20", imagename: "e23m3-on-sk23.png", productname: "e23m3", productdesc: "lorem ipsum dolor...", specialtext: "" },
	    { href: "product-E23M3_2.html", classname: "p-20", imagename: "E23M3_2.png", productname: "e23m3/2", productdesc: "lorem ipsum...", specialtext: "" },
    { href: "product-E27M2.html", classname: "p-20", imagename: "e27m2-on-sk2731u.png", productname: "e27m2", productdesc: "lorem ipsum...", specialtext: "" },
		{ href: "product-E27M2_2.html", classname: "p-20", imagename: "E27M2_2.png", productname: "e27m2/2", productdesc: "lorem ipsum...", specialtext: "" },
    { href: "product-E27M3.html", classname: "p-20", imagename: "e27m3-on-sk2731u.png", productname: "e27m3", productdesc: "lorem ipsum dolor...", specialtext: "" },
		{ href: "product-E27M3_2.html", classname: "p-20", imagename: "E27m3_2.png", productname: "e27m3/2", productdesc: "lorem ipsum dolor...", specialtext: "" },
    { href: "product-E28M4.html", classname: "p-20", imagename: "e28m4-on-sk2731u.png", productname: "e28m4", productdesc: "lorem ipsum...", specialtext: "" },
	    { href: "product-E28M4_2.html", classname: "p-20", imagename: "E28M4_2.png", productname: "e28m4/2", productdesc: "lorem ipsum...", specialtext: "" },
    { href: "product-E31D4.html", classname: "p-30", imagename: "e31d4-on-sk2731u.png", productname: "e31d4", productdesc: "lorem ipsum dolor...", specialtext: ""},
		{ href: "product-E31D4_2.html", classname: "p-30", imagename: "E31D4_2.png", productname: "e31d4/2", productdesc: "lorem ipsum...", specialtext: "" },
    { href: "product-E32D4.html", classname: "p-30", imagename: "e32d-on-sk32.png", productname: "e32d4", productdesc: "lorem ipsum...", specialtext: "Not available in<br />US and Canada" },
		{ href: "product-E32D4_2.html", classname: "p-30", imagename: "E32D4_2.png", productname: "e32d4/2", productdesc: "lorem ipsum...", specialtext: "Not available in<br />US and Canada" },
    { href: "product-E32D5.html", classname: "p-30", imagename: "e32d-on-sk32.png", productname: "e32d5", productdesc: "lorem ipsum...", specialtext: "US and Canada Only" },
		{ href: "product-E32D5_2.html", classname: "p-30", imagename: "E32D5_2.png", productname: "e32d5/2", productdesc: "lorem ipsum...", specialtext: "US and Canada Only" },
		{ href: "product-E931.html", classname: "p-30", imagename: "E931.png", productname: "E931", productdesc: "lorem ipsum...", specialtext: "Not available in<br />US and Canada" },
    { href: "product-G32D4.html", classname: "p-30", imagename: "g32d-on-sk32.png", productname: "g32d4", productdesc: "lorem ipsum dolor...", specialtext: "Not available in<br />US and Canada" },
    { href: "product-G32D5.html", classname: "p-30", imagename: "g32d-on-sk32.png", productname: "g32d5", productdesc: "lorem ipsum dolor...", specialtext: "US and Canada Only" },
    { href: "product-P8M.html", classname: "p-p", imagename: "p8m.png", productname: "p8m", productdesc: "lorem ipsum dolor...", specialtext: "" },
		{ href: "product-P8M_2.html", classname: "p-p", imagename: "p8m_2.png", productname: "p8m/2", productdesc: "lorem ipsum dolor...", specialtext: "" },
    { href: "product-P12M.html", classname: "p-p", imagename: "p12m.png", productname: "p12m", productdesc: "lorem ipsum...", specialtext: "" }
];

var accessoriesData = [
    { href: "accessories-SK23.html", classname: "p-20", imagename: "sk23.png", productname: "sk23", productdesc: "lorem ipsum..." },
    { href: "accessories-SK2731U.html", classname: "p-20", imagename: "sk2731u.png", productname: "sk2731u", productdesc: "lorem ipsum..." },
    { href: "accessories-SK32.html", classname: "p-20", imagename: "sk32.png", productname: "sk32", productdesc: "lorem ipsum dolor..." }
];


    $(function () {

        if ($(".webpage-accessories").size() > 0) {
            productData = accessoriesData;
        }
        //  var productData = generateRandomData();
        if ($("#productTemplate").size() > 0) {
            $("#productTemplate").render(productData).appendTo("#products");
        }
        
        var productImageClicked = function() {
        	var thiz = $(this);
        	var parent = thiz.parent();
        	var link = parent.find("a");
        	document.location = link.attr("href");
        };
        
        var productImages = $(".product img");
        productImages.click(productImageClicked);

        var leftArrow = $("#product-browser-prev");
        var rightArrow = $("#product-browser-next");
        var productsTimer = null;

        leftArrow.data("arrow", leftArrow.find("strong").eq(0));
        rightArrow.data("arrow", rightArrow.find("strong").eq(0));

        var products = $("#products");
        var productsContainer = $("#products-container");

        var productDivs = $(".product");
        var productWidth = productDivs.eq(0).outerWidth();
        var max = 0;
        var min = 0;
        var maskWidth = productsContainer.width() - 100;

        var refreshproducts = function (count) {
            max = count * productWidth;
            min = max - maskWidth;
            products.width(max);
            var left = parseInt(products.css("left"));
            leftArrow.data("arrow").removeClass();
            rightArrow.data("arrow").removeClass();
            if (!(left > -(min))) {
                rightArrow.data("arrow").addClass("arrow-disabled");
            }
            if (!(left < 100)) {
                leftArrow.data("arrow").addClass("arrow-disabled");
            }
        };

        var checkLeft = function (left) {
            if (left > -(min)) {
                leftArrow.data("arrow").removeClass();
                rightArrow.data("arrow").removeClass();
                return true;
            } else {
                rightArrow.data("arrow").addClass("arrow-disabled");
            }
        };

        var checkRight = function (left) {
            if (left < 100) {
                leftArrow.data("arrow").removeClass();
                rightArrow.data("arrow").removeClass();
                return true;
            } else {
                leftArrow.data("arrow").addClass("arrow-disabled");
            }
        };

        var moveProductsLeft = function () {
            var left = parseInt(products.css("left"));
            if (!left) { left = 0; }
            if (checkLeft(left)) {
                products.animate({
                    left: "-=10px"
                }, 100);
            }
        };

        var moveProductsRight = function () {
            var left = parseInt(products.css("left"));
            if (!left) { left = 0; }
            if (checkRight(left)) {
                products.animate({
                    left: "+=10px"
                }, 100);
            }
        }

        rightArrow.mouseenter(function () {
            if (productsTimer) { clearInterval(productsTimer); }
            productsTimer = setInterval(moveProductsLeft, 100);
        });

        rightArrow.mouseleave(function () {
            if (productsTimer) { clearInterval(productsTimer); }
        });

        leftArrow.mouseenter(function () {
            if (productsTimer) { clearInterval(productsTimer); }
            productsTimer = setInterval(moveProductsRight, 100);
        });

        leftArrow.mouseleave(function () {
            if (productsTimer) { clearInterval(productsTimer); }
        });

        var productLinks = $(".product-link");
        var productIntros = $(".product-intro > div");
        productLinks.click(function () {
            productLinks.removeClass("link-p-20-selected link-p-30-selected link-p-all-selected link-p-p-selected");
            var thiz = $(this);
            var rel = thiz.attr("rel");
            var id = thiz.attr("id");
            var relDivs = $(rel);
            thiz.addClass(id + "-selected");
            productDivs.hide();
            relDivs.show();
            products.css({
                left: "100px"
            });
            refreshproducts(relDivs.size());
            productIntros.hide();
            if (rel.indexOf(",") < 0) {
                $("#intro-" + rel.replace(/\./, "")).show();
            }
            return false;
        });
        $("#link-p-all").trigger("click");

        var mapLinks = $(".map a");
        var mapRegions = $(".map-region");
        var regions = $(".region");
        var mapLinkOver = function () {
            mapRegions.hide();
            regions.hide();
            var thiz = $(this);
            var rel = thiz.attr("rel");
            $("#map-region-" + rel).show();
            $("#region-" + rel).show();
        };

        mapLinks.mouseenter(mapLinkOver);
        mapLinks.eq(0).trigger("mouseenter");



        var countries = new Array("Australia", "New Zealand", "United Kingdom", "Canada", "United States of America", " ", "Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria", "Burkina Faso", "Burma", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Central African Republic", "Chad", "Chile", "China", "Colombia", "Comoros", "Congo, Democratic Republic", "Congo, Republic of the", "Costa Rica", "Cote d'Ivoire", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Fiji", "Finland", "France", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Greece", "Greenland", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, North", "Korea, South", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", "Macedonia", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mexico", "Micronesia", "Moldova", "Mongolia", "Morocco", "Monaco", "Mozambique", "Namibia", "Nauru", "Nepal", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Norway", "Oman", "Pakistan", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russia", "Rwanda", "Samoa", "San Marino", " Sao Tome", "Saudi Arabia", "Senegal", "Serbia and Montenegro", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "Spain", "Sri Lanka", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Yemen", "Zambia", "Zimbabwe");
        var country = $("#country");
        if (country.size() > 0) {
            country = country.get(0);
            $.each(countries, function () {
                country.options[country.options.length] = new Option(this, this);
            });
        }

        var contactForm = $("#contact-form");
        var fieldsList = "name,company,email,phone,product-interest,message";

        var validationIds = new Array(
		"name",
		"company",
        "address1",
        "address2",
        "suburb",
        "postcode",
        "country",
		"email",
		"phone",
		"product-interest",
		"message"
    );

        var validationPatterns = new Array(
		"",
		"",
        "",
        "",
        "",
        "",
        "",
		/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i, // /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/,
		"",
        "",
        ""
    );

        var status = $("#status-message");

        $("#contact-link").click(function () {
            contactForm.show();
            return false;
        });

        var submitForm = function () {
            contactForm.hide();
            status.text("Sending details...");
            status.removeClass();
            status.show();

            var invalidFields = 0;
            var requestData = "";

            $.each(validationIds, function (index, item) {

                var velement = $("#" + item);
                if (velement.hasClass("req")) {

                    var valid = (velement.val() != "");
                    //var textbox = velement.hasClass("text");
                    //valid = 

                    if (valid && validationPatterns[index]) {
                        valid = velement.val().match(validationPatterns[index]);
                    }

                    invalidFields += valid ? 0 : 1;

                    var label = velement.parent().find('label');
                    if (valid) {
                        label.removeClass();
                    } else {
                        label.addClass("error");
                    }

                }

                requestData += "&" + item + "=" + velement.val();

            });

            if (invalidFields > 0) {
                contactForm.show();
                status.text("Please fill in the correct fields.");
                status.addClass("error");
            } else {
                $.ajax({
                    type: "GET",
                    url: "Requests/Request.aspx",
                    data: "c=RequestBrochure&time=" + (new Date().getMilliseconds()) + requestData,
                    success: function (data, textStatus) {
                        if (data == "ok") {
                            status.text("Your details have been successfully submitted!");
                            status.removeClass();
                            status.addClass("success");
                            status.show();
                        } else {
                            status.text("There was an error while sending your details. Please try again.");
                            status.removeClass();
                            status.addClass("error");
                            status.show();
                        }
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        status.text("There was an error while sending your details. Please try again.");
                        status.removeClass();
                        status.addClass("error");
                        status.show();
                    }
                });
            }

            return false;
        };

        $("#contact-submit").click(submitForm);

        var kvRegions = $(".kv-region");
        var regionDropdown = $("#region-dropdown");

        regionDropdown.change(function () {
            kvRegions.hide();
            var thiz = $(this);
			var searchterm = "(" + thiz.val().toLowerCase() + ")";
			$(".downloads a, .cad-download a").css("display","none");
			$(".downloads a, .cad-download a").each(function() {
				var thiz = $(this);
				var text = thiz.text().toLowerCase();
				if (text.indexOf(searchterm)>-1) {
					thiz.css("display","block");
				}
			});
            $("#kv-region-" + thiz.val()).show();
			//$("#pdf-region-" + thiz.val()).css("display","block");
			//$("#spec-region-" + thiz.val()).css("display","block");
        });

        regionDropdown.trigger("change");


        var movieContainer = $("#movie-container");
        if (movieContainer.size() > 0) {

            var flashvars = {};
            var params = {};
            var attributes = {};

            params.codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0';
            params.width = '720';
            params.height = '486';
            params.quality = 'high';
            params.align = 'middle';
            params.play = 'true';
            params.loop = 'true';
            params.scale = 'showall';
            params.wmode = 'transparent';
            params.devicefont = 'false';
            //params.bgcolor='#2e2e2e',
            params.allowFullScreen = 'true';
            params.allowScriptAccess = 'sameDomain';
            params.salign = '';

            // SETUP
            //flashvars.forcewidth = '720';
            //flashvars.forceheight = '511';
            flashvars.skin = 'black';
            flashvars.fullscreenbutton = 'on';
            //flashvars.infobutton = 'on';
            //flashvars.startphoto = '/movies/presentation.jpg';
            flashvars.videopath = '../swf/movie.flv';
            flashvars.playonload = 'on';
            flashvars.initialvolume = '100';
            flashvars.startbufferonload = 'on';
            // stretch type, choose between 'original size', 'zoom to fit', 'stretch to fit'
            flashvars.defaultstretch = 'stretch to fit';
            flashvars.buffersize = '5';
            //flashvars.infotext = "<b><p><font size='18' face='Arial' color='#49a1dc'>MyEars&trade;</font></p></b><p><font size='12' face='Arial' color='#FFFFFF'>MyEars&trade; revolutionary technologies can make your stereo headphones render sound in 3D!</font></p></p>";

            attributes.id = 'video-player';

            swfobject.embedSWF('swf/preview.swf', 'flash-content', '100%', '100%', '9.0.0', 'swf/expressInstall.swf', flashvars, params, attributes);

        }

        $(".section-container").click(function () {
            var href = $(this).find("a").attr("href");
            document.location = href;
            return false;
        });

        var rotateContainer = $("#flash-rotate-container");
        if (rotateContainer.size() > 0) {
            var loadViewer = function (urlswf) {
                var params = {};
                params.codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0';
                params.width = '916';
                params.height = '600';
                params.quality = 'high';
                params.align = 'middle';
                params.play = 'true';
                params.loop = 'true';
                params.scale = 'showall';
                params.wmode = 'transparent';
                params.devicefont = 'false';
                params.allowFullScreen = 'true';
                params.allowScriptAccess = 'sameDomain';
                params.salign = '';
                swfobject.embedSWF(urlswf, 'flash-rotate', '100%', '100%', '9.0.0', 'swf/expressInstall.swf', null, params, null);
            }

            var viewerLinks = $(".flash-links a");
            var viewerLinksClicked = function () {
                viewerLinks.removeClass();
                var thiz = $(this);
                loadViewer(thiz.attr("rel"));
                thiz.addClass("selected");
                return false;
            };
            viewerLinks.click(viewerLinksClicked);
            viewerLinks.eq(0).trigger("click");

        }

        // 

    });

    /* GAExtended */
    var GAPageTracker = "UA-16537709-1";
    //var hrefPattern = '/^https?\:\/\/(www.)cablecagesystems\.com\.au\//i';
    //var $ = jQuery.noConflict();
    ////////////////////////////
    jQuery(document).ready(function ($) {

        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");

        //use $ to call the Google Analytics JavaScript
        $.getScript(gaJsHost + "google-analytics.com/ga.js", function () {

            //tell Analytics about the current page load using standard _trackPageview method
            try {
                var pageTracker = _gat._getTracker(GAPageTracker);
                pageTracker._trackPageview();
            } catch (err) { }

            //loop though each anchor element
            $('a').each(function () {

                var href = $(this).attr('href');
                var filetypes = /\.(zip|exe|pdf|vcs|txt|rtf|doc*|xls*|ppt*|mp3)$/i;

                //check for links starting with http or https, making sure that links to our own domain are excluded
                if ((href.match(/^https?\:/i)) && (!href.match(document.domain))) {
                    $(this).click(function () {
                        var extLink = href.replace(/^https?\:\/\//i, '');
                        pageTracker._trackEvent('External', 'Click', extLink);
                    });
                }
                //check for links starting with mailto:
                else if (href.match(/^mailto\:/i)) {
                    $(this).click(function () {
                        var mailLink = href.replace(/^mailto\:/i, '');
                        pageTracker._trackEvent('Email', 'Click', mailLink);
                    });
                }
                //check for links with file extension that match the filetypes regular expression:
                else if (href.match(filetypes)) {
                    $(this).click(function () {
                        var extension = (/[.]/.exec(href)) ? /[^.]+$/.exec(href) : undefined;
                        var filePath = href.replace(/^https?\:\/\/(www.) turbofanoven.com\.com \//i, '');
                        pageTracker._trackEvent('Download', 'Click - ' + extension, filePath);
                    });
                }

            });

        });

    });
    ////////////////////////////
    /* End: GAExtended */

