/// <reference path="jQuery/jquery-1.4.1-vsdoc.js" />
/// <reference path="jQuery/jquery.validate-vsdoc.js" />

var heightsReset = false;
var originaladTimeout = 7;
var adTimeout = 7;
var ads = "/Content/images/slideshow/home1.gif;/Content/images/slideshow/home2.gif;/Content/images/slideshow/home3.gif;/Content/images/slideshow/home4.gif;/Content/images/slideshow/home5.gif;/Content/images/slideshow/home6.gif;/Content/images/slideshow/home7.gif;";
var currentAd = 0;
var prevVal = "";
var bCanHideModal = true;
var globalTimeout;

function isiPhone() {
    if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
        return true;
    } else {
        return false;
    }
}

function wait(millis) {
	var date = new Date();
	var curDate = null;

	do { curDate = new Date(); }
	while (curDate - date < millis);
}

function initAds() {
    //return;

	if ($(".ads").height() == null)
		return;

	for (var i = 0; i < ads.split(";").length; i++) {
		$("#adbtn" + i).click(function () {
			var myID = $(this).attr("id").replace("adbtn", "");

			//$(".ads").css("background-image", "url(" + ads.split(";")[myID] + ")");

			deactivateAdButtons();
			$("#adbtn" + myID).addClass("active");
			adTimeout = originaladTimeout;
			currentAd = myID-1;

			adTimeout = 1;
			//doAdRotation();
		})
	}

	//wait(5000);
	$(".adslider1").css("left", "496px");
	$(".adslider2").css("left", "496px");

	//alert("Ad Slider 1 " + $(".adslider1").css("left"));
	//alert("Ad Slider 2 " + $(".adslider2").css("left"));

	//$(".ads").css("background-image", "url(" + ads.split(";")[currentAd] + ")");
	var img = new Image();
	//alert("About to load ad slider 1");
	$(img).load(function () {

		//alert("Ad Slider 1 loaded");
		$(".adslider1").css("background-image", "url(" + ads.split(";")[currentAd] + ")");
		$(".adslider2").css("background-image", "url(" + ads.split(";")[currentAd + 1] + ")");

		$(".adslider1").css("left", "0px");

		doAdRotation();


	}).attr("src", ads.split(";")[currentAd]);
};

function doAdRotation() {
	if ($(".ads").height() == null)
		return;

	adTimeout--;

	//alert(adTimeout);

	if (adTimeout == 0) {
		adTimeout = originaladTimeout;
		currentAd++;

		if ((currentAd + 1) > ads.split(";").length)
			currentAd = 0;

		var img = new Image();

		//alert("adSlider1 " + $(".adslider1").css("left"));
		//alert("adSlider2 " + $(".adslider2").css("left"));

		//var img = new Image();
		if ($(".adslider1").css("left").replace("px", "") == "0") {


			//alert("about to load " + ads.split(";")[currentAd]);
			$(img).load(function () {

				//alert(ads.split(";")[currentAd] + " loaded");

				$(".adslider2").css("background-image", "url(" + ads.split(";")[currentAd] + ")");

				$(".adslider2").animate({
					left: '0'
				}, 2000, function () {
					$(".adslider1").css("left", "496px");
					$(".adslider1").css("z-index", "1");
					$(".adslider2").css("z-index", "0");
					if ((currentAd + 1) != ads.split(";").length)
						$(".adslider1").css("background-image", "url(" + ads.split(";")[currentAd + 1] + ")");
					else
						$(".adslider1").css("background-image", "url(" + ads.split(";")[0] + ")");
				});

				$(".adslider1").animate({
					left: '-496px'
				}, 2000, function () {
					$(".adslider1").css("left", "496px");
				});

			}).attr("src", ads.split(";")[currentAd]);


		} else {

			$(img).load(function () {

				$(".adslider1").css("background-image", "url(" + ads.split(";")[currentAd] + ")");

				$(".adslider1").animate({
					left: '0'
				}, 2000, function () {
					$(".adslider2").css("left", "496px");
					$(".adslider2").css("z-index", "1");
					$(".adslider1").css("z-index", "0");
					if ((currentAd + 1) != ads.split(";").length)
						$(".adslider2").css("background-image", "url(" + ads.split(";")[currentAd + 1] + ")");
					else
						$(".adslider2").css("background-image", "url(" + ads.split(";")[0] + ")");
				});

				$(".adslider2").animate({
					left: '-496px'
				}, 2000, function () {
					$(".adslider2").css("left", "496px");
				});

			}).attr("src", ads.split(";")[currentAd]);

		}



		//$(".adslider1").animate({
		//    left: '0'
		//}, 2000); 

		//$(".ads").css("background-image", "url(" + ads.split(";")[currentAd] + ")");

		deactivateAdButtons();
		$("#adbtn" + currentAd).addClass("active");
	}

	setTimeout("doAdRotation()", 1000);
};

function deactivateAdButtons() {

	for (var i = 0; i < ads.split(";").length; i++) {
		$("#adbtn" + i).removeClass("active");
	}

};

function loadDemo() {

    if (isiPhone()) {
        window.open("/content/movie/blink-movie.mp4", "_blank");
        return false;
    }
    $(".modalBGDemo").css("display", "block");
    $(".modalBGDemo .modalDemo .loader").css("display","block");
	hideModal();

	$(".modalBGDemo .modalDemo .loader").css("display", "block");

    if ( $.browser.mozilla )
        setTimeout("$('.modalBGDemo .modalDemo .loader').css('display','none');", 1000);
    else
        setTimeout("$('.modalBGDemo .modalDemo .loader').css('display','none');", 1000);
    //setTimeout("alert('Hello');", 4000);

	rejigComponents();

	return false;

};

function loadTemplate(sPage, sHeader) {

	//alert("sHeader = " + sHeader);

	$(".modalBG").css("display", "block");
	$(".modalBody").css("height", "460px");
	//$(".modalCover").css("display", "block");
	rejigComponents();

	//$(".modalBody h1").css("display", "block");
	if ($(".jScrollPaneContainer").css("height") != null) {
		$(".jScrollPaneContainer").css("display", "none");
	}
	$(".scrollableContent").css("display", "none");
	$("iframe").css("display", "block");

	//$(".modalBody h1").text(sHeader);
	$("iframe").attr("src", sPage);

	rejigComponents();

	return false;

};

function loadContent(sPage) {

    if (isiPhone()) {
        window.open(sPage, "_self");
        return;
    }

	$(".modalBG").css("display", "block");
	$(".modalBody").css("height", "360px");
	//$(".modalCover").css("display", "block");
	rejigComponents();

	//$(".modalBody h1").css("display", "block");
	if ($(".jScrollPaneContainer").css("height") != null) {
		$(".jScrollPaneContainer").css("display", "block");
	}
	$(".scrollableContent").css("display", "block");
	$("iframe").css("display", "none");

	//$(".modalBody h1").text("Loading content...");
	$(".scrollableContent").empty();

	//wait(2000);

	$(".scrollableContent").load(sPage, "", function () {

	    $('.scrollableContent').jScrollPane();
	    $('.scrollableContent')[0].scrollTo(0);
	    //		var titleText = $(".scrollableContent h1").text();
	    //		$(".modalBody h1").text(titleText);
	    //		$(".scrollableContent h1").remove();
	    $(".modalLink").unbind('click');
	    $(".modalLink").click(function () {
	        loadContent($(this).attr("href"));
	        return false;
	    });

	    $(".demo-mov").unbind('click');
	    $(".demo-mov").click(function () {
	        loadDemo();
	        return false;
	    });

	});



	return false;

};

$(document).ready(function () {

    if (isiPhone()) {
        $(".footer a.blinkFooterInfo").css("margin-left", "0");
    }

    $(".question-answer .answer").css("display", "none");
    $(".question-answer .question").css("cursor", "pointer");
    $(".question-answer .question").click(function (evt) {
        evt.preventDefault();

        var myHeight = $(this).next().height();

        //alert(myHeight);
        $(this).next().children("p").each(function (index) {
            //We need to grab the margin for each p tag otherwise we end up missing bits of info.
            myHeight += 12; // parseInt($(this).css("margin-top").replace("px", ""));
            //alert($(this).css("margin-top").replace("px", ""));
        });


        if ($(this).next().css("display") == "none") {
            $(this).next().css("display", "block");
            $(this).next().css("height", "0px");
            globalTimeout = setTimeout("rejigComponents()", 10);
            $(this).next().animate({ height: myHeight }, 500, function () {
                clearTimeout(globalTimeout);
                rejigComponents();
            });
        } else {
            globalTimeout = setTimeout("rejigComponents()", 10);
            $(this).next().animate({ height: 1 }, 500, function () {
                $(this).css("height", myHeight + "px");
                $(this).css("display", "none");
                clearTimeout(globalTimeout);
                rejigComponents();
            });
        }

    });

    $(".modalDemo").mousedown(function () {
        bCanHideModal = false;
    });

    $(".modalDemo").mouseup(function () {
        bCanHideModal = true;
    });

    $(".modalBody").mousedown(function () {
        bCanHideModal = false;
    });

    $(".modalBody").mouseup(function () {
        bCanHideModal = true;
    });

    $(".modalBG").mousedown(function () {
        hideModal();
    });

    $(".modalBodyDemo").mousedown(function () {
        bCanHideModal = false;
    });

    $(".modalBodyDemo").mouseup(function () {
        bCanHideModal = true;
    });

    $(".modalBGDemo").mousedown(function () {
        hideDemoModal();
    });

    $(document).keyup(function (e) {
        if (e.keyCode == 27) { hideModal(); }   // esc
    });

    /*
    $("input").focus(function () {
    if ($(this).attr("value") == $(this).val()) {
    prevVal = $(this).attr("value");
    $(this).val("");
    }
    });

    $("input").blur(function () {
    if ($(this).val() == "")
    $(this).val(prevVal);
    });
    */
    $(".modalLink").click(function () {
        loadContent($(this).attr("href"));
        return false;
    });

    $(".modalTemplateLink").click(function () {
        loadTemplate($(this).attr("href"), $(this).children().attr("title"));
        return false;
    });


    $(".demo-mov").click(function () {
        loadDemo();
        return false;
    });

    $('a[href^="http://"]')
	  .attr({
	      target: "_blank",
	      title: "Opens in a new window"
	  });

    rejigComponents();

    initAds();
    sortImages();

    var $hintsForm = $(".hints-form");
    if ($hintsForm.length > 0) {
        $hintsForm.validate({
            errorClass: "field-validation-error",
            errorElement: "span",
            messages: {
                h_email: {
                    email: "Email address is invalid"
                }
            }
        });
    }
});

function sortImages() {
	return;
	$("img").each(function (index) {
		if ($(this).parent().attr("class") != "imageWrapper")
			$(this).wrap('<div class="imageWrapper" />');
	});

};

$(window).resize(function () {
	rejigComponents();
});


function rejigComponents() {


	if ($(".modalBG").css("display") != "none") {
		//alert("Rejiggin modal");
		$(".modalBG").css("height", $(window).height() + "px");
		$(".modal").css("top", ($(window).height() / 2) - ($(".modal").height() / 2) + "px");
		$(".modal").css("left", ($(window).width() / 2) - ($(".modal").width() / 2) + "px");

		$(".modalCover").css("top", ($(window).height() / 2) - ($(".modalCover").height() / 2) + "px");
		$(".modalCover").css("left", ($(window).width() / 2) - ($(".modalCover").width() / 2) + "px");
	}

	if ($(".modalBGDemo").css("display") != "none") {
		//alert("Rejiggin modal");
		$(".modalBGDemo").css("height", $(window).height() + "px");
		$(".modalDemo").css("top", ($(window).height() / 2) - ($(".modalDemo").height() / 2) + "px");
		$(".modalDemo").css("left", ($(window).width() / 2) - ($(".modalDemo").width() / 2) + "px");

		//$(".modalCover").css("top", ($(window).height() / 2) - ($(".modalCover").height() / 2) + "px");
		//$(".modalCover").css("left", ($(window).width() / 2) - ($(".modalCover").width() / 2) + "px");
	}


	if ($(window).width() < 1043) {
		$(".middlecolumn").css("width", "1006px");
		$(".middlecolumn").css("margin-left", "0");
		$(".leftIndent").css("display", "none");
	} else {
		$(".middlecolumn").css("width", "1043px");
		$(".middlecolumn").css("margin-left", "auto");
		$(".leftIndent").css("display", "block");
	}

	var heightAddition = 0;

	if ($.browser.msie && !heightsReset)
		heightAddition = -5; //heightsReset = true;

	$(".middlecolumn").css("height", $(".mainContent").height() + "px");
	$(".footer").css("top", ($(".mainContent").height() - 75) + "px");
	$(".leftIndent").css("height", $(".mainContent").height() + "px");

	if ($.browser.msie)
		setTimeout("resetGrass()", 1000);
	else
		resetGrass();

};

function hideModal() {
	if (bCanHideModal) {
		$(".scrollableContent").unload();
		$('.modalBG').css('display', 'none');
		$(".modalCover").css("display", "none");
	}
};

function hideDemoModal() {
	if (bCanHideModal) {
		$('.modalBGDemo').css('display', 'none');
	}
};

function genMailLink(account, domain) {
	//window.open(account + "@" + 
};

function resetGrass() {

	var myTempVal = 0;

	$(".grassLeft").css("display", "block");
	$(".grassRight").css("display", "block");

	$(".grassLeft").css("top", $(".masterContainer").height() - $(".grassLeft").height() + "px");
	if ((421 - 30 - ($(".mainContent").offset().left)) > 0) {
		myTempVal = (421 - 30 - ($(".mainContent").offset().left));
		$(".grassLeft").css("background-position", "-" + myTempVal + "px 0px");
	}
	else {
		$(".grassLeft").css("background-position", (421 - 30 - ($(".mainContent").offset().left)) + "px 0px");
	}


	$(".grassLeft").css("width", $(".mainContent").offset().left + 30 + "px");
	if ($(".mainContent").offset().left > 421) {
		$(".grassLeft").css("left", ($(".mainContent").offset().left - 421) + 30 + "px");
		$(".grassLeft").css("background-position", "0px 0px");
	} else {
		$(".grassLeft").css("left", "0px");
	}

	$(".grassRight").css("width", "1px");
	$(".grassRight").css("left", "0");


	$(".grassRight").css("top", $(".masterContainer").height() - $(".grassRight").height() + "px");


	if (($(document).width() + 70 - ($(".mainContent").offset().left + $(".mainContent").width())) > 427) {
		$(".grassRight").css("width", "427px");
	}
	else {
		$(".grassRight").css("width", $(document).width() + 70 - ($(".mainContent").offset().left + $(".mainContent").width()) + "px");
		if ($.browser.msie && parseInt($.browser.version) == 8)
			$(".grassRight").css("width", $(document).width() + 65 - ($(".mainContent").offset().left + $(".mainContent").width()) + "px");
	}
	$(".grassRight").css("left", ($(".mainContent").offset().left + ($(".mainContent").width() - 70)) + "px");
	if ($.browser.msie && parseInt($.browser.version) == 8)
		$(".grassRight").css("left", ($(".mainContent").offset().left + ($(".mainContent").width() - 87)) + "px");

};

function doClearField(originalText, field) {

	if ($(field).val() == originalText)
		$(field).val("");

};

function doResetField(originalText, field) {

	if ($(field).val() == "")
		$(field).val(originalText);

};
