
window.onload = function() {
	if(document.getElementById('serviceFrame')) {
		service_init();
	}
	
	if(document.getElementById('giftSlider1')) {
		gift_init();
	}
	
	if(document.getElementById('bannerImage1')) {
	    banner_init();
	}
}

function SendToFriend(url) {
     var newWin = window.open(url, 'SendToFriend', 'toolbar=0,sizeable=0,width=630,height=575');
     newWin.focus();
}

// Methods
function findElementPos(elemFind)
{
	var elemX = 0;
	var elemY = 0;
	do {
		elemX += elemFind.offsetLeft;
		elemY += elemFind.offsetTop;
	} while ( elemFind = elemFind.offsetParent )

	//console.log("Found element "+elemFind+" at "+elemY+"/"+elemX);

	return Array(elemX, elemY);
}

function sineInOut(t, b, c, d)
{
	return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}


var banner_current = 1;
var banner_total;
var banner_time;
function banner_init() {
    banner_total = document.getElementById('banner').getElementsByTagName('img').length;
    if(banner_total > 1) {
        banner_time = setTimeout('banner_next()', 8000);
    }
}
function banner_next() {
    var next = banner_current + 1;
    if(next > banner_total) {
        next = 1;
    }
    banner_show(next);
}
function banner_show(num) {
    clearTimeout(banner_time);
	document.getElementById('bannerThumb'+banner_current).className = "thumb";
	document.getElementById('bannerThumb'+num).className = "thumbSel";
	
	document.getElementById('bannerImage'+banner_current).className = "hide";
	document.getElementById('bannerImage'+num).className = "";
	
	if(document.getElementById('bannerText'+banner_current)) {
		document.getElementById('bannerText'+banner_current).className = "hide";
	}
	if(document.getElementById('bannerText'+num)) {
		document.getElementById('bannerText'+num).className = "";
	}
	
	banner_current = num;
    banner_time = setTimeout('banner_next()', 8000);
}

function onInput(input) {
	input.style.textAlign = "left";
	if(input.value == "Search") {
		input.value = "";
	}
}

function LoadSearch(){

    var searchtxt = document.getElementById("ctl00_txtMasterSearch");
    var searchValue = searchtxt.value.replace(/[^A-Za-z0-9_ "'\.,+-]/gi,"");
alert(searchValue);
    if (searchValue != '')
    {
        location.href = "http://beta.noch.org/search.aspx?searchtext=" + searchValue;
    }
    else 
    {
        alert('Please enter a search criteria.');
    }
}


function offInput(input) {
	if(input.value == "") {
		input.value = "Search";
		input.style.textAlign = "center";
	}
}


var dropDown_a = "primaryAnchor";
var dropDown_ul = "dropDown";

var dropDown_current = 0;
var dropDown_time;

function dropDown_open(num) {
	clearTimeout(dropDown_time);
	if(dropDown_current != 0 && dropDown_current != num) {
		dropDown_closeNow();
	}
	var anchor = document.getElementById(dropDown_a+num);
	anchor.className = "on";
	if(document.getElementById(dropDown_ul+num)) {
		
		var subNav = document.getElementById(dropDown_ul+num);
		var position = findElementPos(anchor);
		var page = findElementPos(document.getElementById('primaryMenu'));
		//subNav.style.top = position[1] - page[1] + 44 + "px";
		subNav.style.left = position[0] - page[0] + "px";
		subNav.className = "on";
		
	}
	dropDown_current = num;
}

function dropDown_close() {
	dropDown_time = setTimeout('dropDown_closeNow()', 150);
}

function dropDown_closeNow() {
	document.getElementById(dropDown_a+dropDown_current).className = "";
	if(document.getElementById(dropDown_ul+dropDown_current)) {
		document.getElementById(dropDown_ul+dropDown_current).className = "";
	}
}

function dropDown_save() {
	clearTimeout(dropDown_time);
}



var heartwoodMenu_time;

function heartwoodMenu_open() {
	clearTimeout(heartwoodMenu_time);
	heartwoodMenu_closeNow();
	document.getElementById('heartwoodMenu').className = "";
}

function heartwoodMenu_close() {
	heartwoodMenu_time = setTimeout('heartwoodMenu_closeNow()', 50);
}

function heartwoodMenu_closeNow() {
	document.getElementById('heartwoodMenu').className = "hide";
}

function heartwoodMenu_save() {
	clearTimeout(heartwoodMenu_time);
}


// Gift Shop
var ieSwitch = 1;
function vTab_toggle(id) {
	var object = document.getElementById(id);
	if(object.className == "vTab") {
		object.className = "vTabSel";
		setTimeout('fixIE()', 10);
	}
	else {
		object.className = "vTab";
		fixIE();
	}
}

function fixIE() {
	if(ieSwitch == 1) {
		document.getElementById('body').className = "new";
		ieSwitch = 0;
	}
	else {
		document.getElementById('body').className = "new2";
		ieSwitch = 1;
	}
}


var gift_num = new Array();
var gift_max = new Array();
//var gift_anim = {time:0, begin:0, change:0.0, duration:0.0, element:null, timer:null};
var gift_time = new Array();
var gift_begin = new Array();
var gift_change = new Array();
var gift_duration = new Array();
var gift_element = new Array();
var gift_timer = new Array();

function gift_init() {
	var limit = document.getElementById('container').getElementsByTagName('dl').length;
	for(var x = 0; x < limit; x++) {
		gift_num[x] = 1;
		gift_max[x] = document.getElementById('giftSlider'+(x+1)).getElementsByTagName('dd').length - 3;
		gift_time[x] = 0;
		gift_begin[x] = 0;
		gift_change[x] = 0.0;
		gift_duration[x] = 0.0;
		gift_element[x] = null;
		gift_timer[x] = null;
		document.getElementById('giftFrame'+(x+1)).scrollLeft = 0;
		if(gift_max[x] > 1) {
            document.getElementById('slideLeft'+(x+1)).style.visibility = "visible";
            document.getElementById('slideRight'+(x+1)).style.visibility = "visible";
		}
	}
}


function gift_slide(section, direction)
{
	if(direction == "left") {
		gift_num[section-1] = gift_num[section-1] - 1;
		if(gift_num[section-1] < 1) {
			gift_num[section-1] = gift_max[section-1];
		}
	}
	if(direction == "right") {
		gift_num[section-1] = gift_num[section-1] + 1;
		if(gift_num[section-1] > gift_max[section-1]) {
			gift_num[section-1] = 1;
		}
	}
	
	if(document.getElementById('gift' + section + '_' + gift_num[section-1])) {
		var theScroll = document.getElementById('giftFrame' + section);
		var position = findElementPos(document.getElementById('gift' + section + '_' + gift_num[section-1]));
		var offsetPos = findElementPos(document.getElementById('gift' + section + '_1'));
		position[0] = position[0] - offsetPos[0];
		gift_start(theScroll, theScroll.scrollLeft, position[0], section);
	}
}


function gift_start(elem, start, end, section)
{
	if (gift_timer[section-1] != null) {
		clearInterval(gift_timer[section-1]);
		gift_timer[section-1] = null;
	}
	gift_time[section-1] = 0;
	gift_begin[section-1] = start;
	gift_change[section-1] = end - start;
	gift_duration[section-1] = 50;
	gift_element[section-1] = elem;
	gift_timer[section-1] = setInterval(function() { gift_scroll(section) }, 15);
}
function gift_scroll(section)
{
	if (gift_time[section-1] > gift_duration[section-1]) {
		clearInterval(gift_timer[section-1]);
		gift_timer[section-1] = null;
	}
	else {
		move = sineInOut(gift_time[section-1], gift_begin[section-1], gift_change[section-1], gift_duration[section-1]);
		gift_element[section-1].scrollLeft = move;
		gift_time[section-1]++;
	}
}


// Service Selector

var servicePos = 0;
var serviceTime;
var serviceMouse;
var maxHeight = 0;
function service_init() {
	maxHeight = document.getElementById('serviceSlider').clientHeight - 420;
	
	var object = document.getElementById('serviceFrame');
	if (object.addEventListener) {
        /** DOMMouseScroll is for mozilla. */
        object.addEventListener('DOMMouseScroll', service_wheel, false);
	}
	/** IE/Opera. */
	object.onmousewheel = service_wheel;
	service_updateButtons();
}

function service_updateButtons() {
    if(servicePos < 1) {
        document.getElementById('servicesUp').style.visibility = "hidden";
    }
    else {
        document.getElementById('servicesUp').style.visibility = "visible";
    }
    if(servicePos > maxHeight) {
        document.getElementById('servicesDown').style.visibility = "hidden";
    }
    else {
        document.getElementById('servicesDown').style.visibility = "visible";
    }
}

function service_slide(letter)
{
	if(document.getElementById("service" + letter)) {
		var theScroll = document.getElementById('serviceSlider');
		var position = findElementPos(document.getElementById("service" + letter));
		var offsetPos = findElementPos(document.getElementById('serviceA'));
		position[1] = position[1] - offsetPos[1];
		service_start(theScroll, servicePos, position[1]);
	}
}

var service_anim = {time:0, begin:0, change:0.0, duration:0.0, element:null, timer:null};

function service_start(elem, start, end)
{
	if (service_anim.timer != null) {
		clearInterval(service_anim.timer);
		service_anim.timer = null;
	}
	service_anim.time = 0;
	service_anim.begin = start;
	service_anim.change = end - start;
	service_anim.duration = 30;
	service_anim.element = elem;
	service_anim.timer = setInterval("service_scroll()", 25);
}
function service_scroll()
{
	if (service_anim.time > service_anim.duration) {
		clearInterval(service_anim.timer);
		service_anim.timer = null;
	    service_updateButtons();
	}
	else {
		servicePos = sineInOut(service_anim.time, service_anim.begin, service_anim.change, service_anim.duration);
		service_anim.element.style.top = servicePos * -1 + "px";
		service_anim.time++;
	}
}

function service_moveUp() {
	clearInterval(service_anim.timer);
	service_anim.timer = null;
	clearInterval(serviceTime);
	serviceTime = setInterval("service_up()", 20);
}
function service_up() {
	servicePos = servicePos - 8;
	if(servicePos < 0) {
		servicePos = 0;
	}
	document.getElementById('serviceSlider').style.top = servicePos * -1 + "px";
}

function service_moveDown() {
	clearInterval(service_anim.timer);
	service_anim.timer = null;
	clearInterval(serviceTime);
	serviceTime = setInterval("service_down()", 20);
}
function service_down() {
	if(servicePos < maxHeight) {
		servicePos = servicePos + 8;
	}
	document.getElementById('serviceSlider').style.top = servicePos * -1 + "px";
}

function service_done() {
	clearInterval(serviceTime);
	service_updateButtons();
}

function service_wheelUp() {
	clearInterval(service_anim.timer);
	service_anim.timer = null;
	clearInterval(serviceTime);
	servicePos = servicePos - 35;
	if(servicePos < 0) {
		servicePos = 0;
	}
	document.getElementById('serviceSlider').style.top = servicePos * -1 + "px";
	service_updateButtons();
}

function service_wheelDown() {
	clearInterval(service_anim.timer);
	service_anim.timer = null;
	clearInterval(serviceTime);
	if(servicePos < maxHeight) {
		servicePos = servicePos + 35;
	}
	document.getElementById('serviceSlider').style.top = servicePos * -1 + "px";
	service_updateButtons();
}

function service_wheel(event){
        var delta = 0;
        if (!event) /* For IE. */
                event = window.event;
        if (event.wheelDelta) { /* IE/Opera. */
                delta = event.wheelDelta/120;
        } else if (event.detail) { /** Mozilla case. */
                delta = -event.detail/3;
        }
        if (delta) {
			if(delta < 0) {
				service_wheelDown();
			}
			else {
				service_wheelUp();
			}
		}
        if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}


function customValidationStyle(oElem, isValid) {
    if ("INPUT" == oElem.tagName || "SELECT" == oElem.tagName || "TEXTAREA" == oElem.tagName) {
        if (isValid) {
            oElem.style.background = "none";
        }
        else {
            oElem.style.background = "#EACCBA";
        }
    }
    else {
        design_validationStyle(oElem, isValid);
    }
}

/*var min=12;
var max=18;
function increaseFontSize() {
   var div = document.getElementById('page');
   for(i=0; i < div.length; i++) {
      if(div[i].style.fontSize) {
         var s = parseInt(div[i].style.fontSize.replace("px",""));
      } else {
         var s = 12;
      }
      if(s < max) {
         s += 2;
         }else{
         s = 12;
      }
      p[i].style.fontSize = s+"px"
   }
}*/

var fontNum = 0;
var fontSizes = new Array();
fontSizes[0] = "";
fontSizes[1] = "large";
fontSizes[2] = "extraLarge";
function increaseFontSize() {
    fontNum++;
    if(fontNum >= fontSizes.length) {
        fontNum = 0;
    }
    document.getElementById('page').className = fontSizes[fontNum];
}
