


var Promotion = {};
Promotion.createPopupAndOverlayElements = function() {
    if (Promotion.popupSupportingElementsCreated === true) {
        return;
    }

    Promotion.popupElement = document.createElement("div");
    Promotion.popupElement.setAttribute("id", "Popup");

    Promotion.overlayElement = document.createElement("div");
    Promotion.overlayElement.setAttribute("id", "Overlay");

    document.getElementsByTagName("body")[0].insertBefore(Promotion.popupElement, document.getElementById("aspnetForm"));
    document.getElementsByTagName("body")[0].insertBefore(Promotion.overlayElement, Promotion.popupElement);

    Promotion.IE6 = BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6" && BrowserDetect.OS == "Windows";

    if (Promotion.IE6) {
        Promotion.overlayElement.style.height = document.getElementById("aspnetForm").offsetHeight + "px";
        Promotion.overlayElement.style.position = "absolute";
    }

    Promotion.popupSupportingElementsCreated = true;
};
Promotion.displayPopup = function() {
    Promotion.overlayElement.style.display = "block";
    Promotion.popupElement.style.display = "block";
    if (Promotion.IE6) {
        window.scrollTo(0, 0);
    }
};
Promotion.displayTipsPopup = function() {
    Promotion.popupElement.appendChild(document.getElementById("TipsPopupContent"));
    Promotion.popupElement.className = "tipsPopup";
    Promotion.displayPopup();
};
Promotion.displayVideoPopup = function() {
    if (!Promotion.videoLoaded === true) {
        Promotion.loadVideo();
    }
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
};
Promotion.displayVideoPopup2 = function() {
    if (!Promotion.videoLoaded === true) {
        Promotion.loadVideo2();
    }
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
};
Promotion.displayVideoPopup3 = function() {
    if (!Promotion.videoLoaded === true) {
        Promotion.loadVideo3();
    }
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
};
Promotion.displayVideoPopup4 = function() {
    if (!Promotion.videoLoaded === true) {
        Promotion.loadVideo4();
    }
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
};
Promotion.displayVideoPopup5 = function() {
    if (!Promotion.videoLoaded === true) {
        Promotion.loadVideo5();
    }
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
};
Promotion.showVideoPopup = function() {
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
}
Promotion.displayVideoPopup6 = function() {
    if (!Promotion.videoLoaded === true) {
        Promotion.loadVideo6();
    }
    Promotion.popupElement.appendChild(document.getElementById("VideoPopupContent"));
    Promotion.popupElement.className = "videoPopup";
    Promotion.displayPopup();
};
Promotion.hidePopup = function() {
    Promotion.overlayElement.style.display = "none";
    Promotion.popupElement.style.display = "none";
};
Promotion.hideTipsPopup = function() {
    document.getElementById("TipsPopupContentContainer").appendChild(document.getElementById("TipsPopupContent"));
    Promotion.hidePopup();
};
Promotion.hideVideoPopup = function() {
    document.getElementById("VideoPopupContentContainer").appendChild(document.getElementById("VideoPopupContent"));
    Promotion.hidePopup();
};
Promotion.init = function() {
    var menu = $get("PromoMenu");
    if (menu) {
        for (var i = 0; i < menu.childNodes.length; i++) {
            if (menu.childNodes[i].nodeType == 1) {
                $addHandler(menu.childNodes[i], "mouseover", Promotion.menuItem_MouseOver);
            }
        }
    }
    if ($get("WatchVideo")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup();
                }
            }
        }
    }

    if ($get("WatchVideo2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup();
                }
            }
        }
    }

    if ($get("WatchVideo3")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo3");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup();
                }
            }
        }
    }

    if ($get("WatchVideo4")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo4");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup4);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup4();
                }
            }
        }
    }
    if ($get("WatchVideo5")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo5");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup5);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup5();
                }
            }
        }
    }
    if ($get("WatchVideo6")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo6");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup6);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup6();
                }
            }
        }
    }

    if ($get("WatchVideo_1")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo_1");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup();
                }
            }
        }
    }

    if ($get("WatchVideo2_1")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo2_1");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup2);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup2();
                }
            }
        }
    }

    if ($get("WatchVideo3_1")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo3_1");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup3);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup3();
                }
            }
        }
    }

    if ($get("WatchVideo4_1")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo4_1");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup4);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup4();
                }
            }
        }
    }
    if ($get("WatchVideo5_1")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo5_1");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup5);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup5();
                }
            }
        }
    }
    if ($get("WatchVideo6_1")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo6_1");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup6);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup6();
                }
            }
        }
    }
    if ($get("WatchVideo_2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo_2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup();
                }
            }
        }
    }

    if ($get("WatchVideo2_2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo2_2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup2);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup2();
                }
            }
        }
    }
    if ($get("WatchVideo2_3")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo2_3");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup2);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup2();
                }
            }
        }
    }

    if ($get("WatchVideo3_2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo3_2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup3);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup3();
                }
            }
        }
    }
    if ($get("WatchVideo3_3")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo3_3");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup3);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup3();
                }
            }
        }
    }

    if ($get("WatchVideo4_2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo4_2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup4);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup4();
                }
            }
        }
    }
    if ($get("WatchVideo5_2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo5_2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup5);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup5();
                }
            }
        }
    }
    if ($get("WatchVideo6_2")) {
        Promotion.createPopupAndOverlayElements();
        var count = 0;
        var watchVideoContainer = $get("WatchVideo6_2");
        for (; count < watchVideoContainer.childNodes.length; count++) {
            if (watchVideoContainer.childNodes[count].nodeType == 1) {
                $addHandler(watchVideoContainer.childNodes[count], "click", Promotion.displayVideoPopup6);
                if (document.location.toString().toLowerCase().indexOf("showvideo") > -1) {
                    Promotion.displayVideoPopup6();
                }
            }
        }
    }

    if ($get("ShowTips")) {
        Promotion.createPopupAndOverlayElements();
        $addHandler($get("ShowTips"), "click", Promotion.displayTipsPopup);
    }
    if ($get("CloseButton")) {
        $addHandler(document.getElementById("CloseButton"), "click", Promotion.hideTipsPopup);
    }
};
Promotion.loadVideo = function() {
    var flashParams = {
        wmode: "transparent"
    };
    swfobject.embedSWF("videos/cities/cities.swf", "Flash", "352", "424", "8.0.0", false, false, flashParams);
};
Promotion.loadVideo2 = function() {
    var flashParams = {
        wmode: "transparent"
    };
    swfobject.embedSWF("videos/coastal/coastal.swf", "Flash", "352", "424", "8.0.0", false, false, flashParams);
};
Promotion.loadVideo3 = function() {
    var flashParams = {
        wmode: "transparent"
    };
    swfobject.embedSWF("videos/food/food.swf", "Flash", "352", "424", "8.0.0", false, false, flashParams);
};
Promotion.loadVideo4 = function() {
    var flashParams = {
        wmode: "transparent"
    };
    swfobject.embedSWF("videos/journeys/journeys.swf", "Flash", "352", "424", "8.0.0", false, false, flashParams);
};
Promotion.loadVideo5 = function() {
    var flashParams = {
        wmode: "transparent"
    };
    swfobject.embedSWF("videos/nature/nature.swf", "Flash", "352", "424", "8.0.0", false, false, flashParams);
};
Promotion.loadVideo6 = function() {
    var flashParams = {
        wmode: "transparent"
    };
    swfobject.embedSWF("videos/aboriginal/aboriginal.swf", "Flash", "352", "424", "8.0.0", false, false, flashParams);
};
Promotion.menuItem_MouseOver = function() {
    if (this.className) {
        var content = $get("PromoContent");
        if (content) {
            for (var i = 0; i < content.childNodes.length; i++) {
                if (content.childNodes[i].nodeType == 1) {
                    content.childNodes[i].style.display = content.childNodes[i].className == this.className ? "block" : "none";
                }
            }
        }
    }
};
Promotion.validateForm = function() {
    var errorMessage = "";
    if (Validation.isComplete(Validation.$("FirstName")) == false) {
        errorMessage += "Please enter your first name\n";
    }
    if (Validation.isComplete(Validation.$("Surname")) == false) {
        errorMessage += "Please enter your surname\n";
    }
    if (Validation.isComplete(Validation.$("Address")) == false) {
        errorMessage += "Please enter your address\n";
    }
    if (Validation.isComplete(Validation.$("Postcode")) == false) {
        errorMessage += "Please enter your postcode\n";
    }
    if (Validation.isComplete(Validation.$("Town")) == false) {
        errorMessage += "Please enter your town\n";
    }
    if (Validation.isComplete(Validation.$("Country")) == false) {
        errorMessage += "Please enter your country\n";
    }
    if (Validation.isComplete(Validation.$("Email")) == false) {
        errorMessage += "Please enter your email\n";
    }
    else if (Validation.isEmail(Validation.$("Email")) == false) {
        errorMessage += "The email address you've entered appears to be invalid\n";
    }
    if (Validation.isComplete(Validation.$("Gender")) == false) {
        errorMessage += "Please specify your gender\n";
    }
	if (isDate(document.getElementById('Dob').value) != true) {
		errorMessage += isDate(document.getElementById('Dob').value) + "\n";
	}
	if (Validation.isComplete(Validation.$("TermsAndConditionsAccepted")) == false) {
        errorMessage += "You must accept the terms and conditions to enter the competition\n";
    }
    if (errorMessage.length > 0) {
        alert("You must fix the following errors in your entry:\n\n" + errorMessage);
        return false;
    }
    document.getElementById("aspnetForm").setAttribute("action", "http://services.condenastinteractive.co.uk/FormCapture/");
    document.getElementById("__VIEWSTATE").parentNode.removeChild(document.getElementById("__VIEWSTATE"));
    return true;
};
$addHandler(window, "load", Promotion.init);

/* BEGIN : Form Validation Library */

var Validation = {};
Validation.$ = function(id) {
    var element = document.getElementById(id);
    if (element) {
        return element;
    }
    else {
        alert("Could not find element with ID = " + id);
    }
};
Validation.isComplete = function(element) {
    switch (element.tagName) {
        case "INPUT":
            switch (element.getAttribute("type")) {
                case "checkbox":
                case "radio":
                    return element.checked;
                    break;
                case "text":
                    return element.value.length > 0;
                    break;
                default:
                    alert("ERROR 1: " + element.getAttribute("type"));
                    break;
            }
            break;
        case "SELECT":
            return element.options[element.selectedIndex].value.length > 0;
            break;
        case "TEXTAREA":
            return element.value.length > 0;
            break;
        default:
            alert("ERROR 2: " + element.tagName);
            break;
    }
    return false;
};
Validation.isEmail = function(formField) {
    return Validation.isPattern(formField, "\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+");
};
Validation.isPattern = function(formField, pattern) {
    var regExp = new RegExp("^" + pattern + "$", "");
    return regExp.test(formField.value);
};

/* END : Form Validation Library */

/* START : Browser Detect Library */

var BrowserDetect = {
    init: function() {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function(data) {
        for (var i = 0; i < data.length; i++) {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
    },
    dataBrowser: [
		{
		    string: navigator.userAgent,
		    subString: "Chrome",
		    identity: "Chrome"
		},
		{ string: navigator.userAgent,
		    subString: "OmniWeb",
		    versionSearch: "OmniWeb/",
		    identity: "OmniWeb"
		},
		{
		    string: navigator.vendor,
		    subString: "Apple",
		    identity: "Safari",
		    versionSearch: "Version"
		},
		{
		    prop: window.opera,
		    identity: "Opera"
		},
		{
		    string: navigator.vendor,
		    subString: "iCab",
		    identity: "iCab"
		},
		{
		    string: navigator.vendor,
		    subString: "KDE",
		    identity: "Konqueror"
		},
		{
		    string: navigator.userAgent,
		    subString: "Firefox",
		    identity: "Firefox"
		},
		{
		    string: navigator.vendor,
		    subString: "Camino",
		    identity: "Camino"
		},
		{		// for newer Netscapes (6+)
		    string: navigator.userAgent,
		    subString: "Netscape",
		    identity: "Netscape"
		},
		{
		    string: navigator.userAgent,
		    subString: "MSIE",
		    identity: "Explorer",
		    versionSearch: "MSIE"
		},
		{
		    string: navigator.userAgent,
		    subString: "Gecko",
		    identity: "Mozilla",
		    versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
		    string: navigator.userAgent,
		    subString: "Mozilla",
		    identity: "Netscape",
		    versionSearch: "Mozilla"
		}
	],
    dataOS: [
		{
		    string: navigator.platform,
		    subString: "Win",
		    identity: "Windows"
		},
		{
		    string: navigator.platform,
		    subString: "Mac",
		    identity: "Mac"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};
BrowserDetect.init();

/* END : Browser Detect Library */
