preloadflag = true;

// opacity syntax
// filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); -moz-opacity:0.00; opacity:0.00;
//  - - uncomment for changing opacity
//	var CHANGE_SPEED = 40;
//	var CHANGE_STEP = 1;
	
// Browser Detection
var V = navigator.appVersion.substring(0,1);
var brsr = 0;
var pngOk = true;

if (V < 4) {
	top.alert("This site uses java to support its major navigation.\n You may have trouble viewing the site");
} else if (navigator.appName.indexOf("Netscape") > -1) {

} else if (navigator.appName.indexOf("Explorer") > -1) {
	pngOk = false;
	var T = navigator.appVersion.indexOf("MSIE");
	T += 5;
	V = navigator.appVersion.substring(T,eval(T+1));
	if (V >= 7) pngOk = true;
}

if (navigator.appName.indexOf("Netscape") > -1) {
	brsr = 1;
} else if (navigator.appName.indexOf("Explorer") > -1) {
	if (V < 5) {

	} else {
		brsr = 2;
	}
}


// Shared popup windows

function showContactUs() {
	contactUsWin = window.open('/include/popup_contactForm.php','contactUsWin','width=550,height=475,top=150,left=150,resizable=0,menubar=0,location=0,scrollbars=1,status=1,toolbar=0'); 
	contactUsWin.focus();
}

function showExtraInfo(textKey) {
	extraInfoWin = window.open('/include/popup_extraInfo.php?id='+ textKey,'extraInfoWin','width=550,height=350,top=150,left=150,resizable=0,menubar=0,location=0,scrollbars=1,status=1,toolbar=0'); 
	extraInfoWin.focus();
}

function showFabricInfo(fabricId) {
	fabricInfoWin = window.open('/include/popup_fabricInfo.php?id='+ fabricId,'fabricInfoWin','width=550,height=350,top=150,left=150,resizable=0,menubar=0,location=0,scrollbars=1,status=1,toolbar=0'); 
	fabricInfoWin.focus();
}


function showProduct(productId) {
	if (window.opener) {
		self.opener.location.href = "/product/"+ productId +"/";
		self.close();
	} else {
		self.location.href = "/product/"+ productId +"/";
	}
}


function getElementById(id){ 
	var el = null; 

	if (document.getElementById) {
		// isMozilla || isIE5
		el = document.getElementById(id) 
	} else if (document.layers) {
		// isNetscape4
		el = document.layers[id] 
	} else if (document.all) {
		// isIE4
		el = document.all[id]; 
	}

	return el; 
} 



// Email Spam hiding.
function popMail(host,user) {
	var acct = user +'@'+ host;
	self.location.href = 'mailto:'+ acct;
}
function linkMail(host,user,cls) {
	document.write('<a href="javascript:popMail(\''+ host +'\',\''+ user +'\');"');
	if (cls) {
		document.write(' class="'+ cls +'"');
	}
	document.write('>');
	showMail(host,user);
	document.write('</a>');
}
function showMail(host,user) {
	var acct = user +'@'+ host;
	document.write(acct);
}
	

function centerPop(page,w,h,args){
	if (w > 0) {
	} else {
		w = 650
	}
	if (h > 0) {
	} else {
		h = 550
	}
	var width
	var height
	var leftdist
	var topdist
	width = screen.width;
	height = screen.height;
	leftdist = Math.round((width - w) / 2);
	topdist = Math.round((height - h) / 2);
	if (args = '') {
		args = 'resizable=1,menubar=0,location=0,scrollbars=1,status=1,toolbar=0';
	}
	cpw = window.open(page,'cpw','width='+ w +',height='+ h +',top='+topdist+',left='+leftdist+','+ args);
	cpw.focus();
}


function centerPopMenu(page,w,h){

if (w > 0) {
} else {
 w = 650
}
if (h > 0) {
} else {
 h = 550
}

var width
var height
var leftdist
var topdist
width = screen.width;
height = screen.height;
leftdist = Math.round((width - w) / 2);
topdist = Math.round((height - h) / 2);

gwin = window.open(page,'gwin','width='+ w +',height='+ h +',top='+topdist+',left='+leftdist+',resizable=1,menubar=1,location=0,scrollbars=1,status=1,toolbar=0');
gwin.focus();

}


	function PopWin(HEIGHT,WIDTH,URL) {
		var PopWin = window.open(URL,'PopWin',"width="+ WIDTH +",height="+ HEIGHT +",scrollbars=0,toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=0");
		PopWin.focus()
	}

	function newImage(arg) {
		if (document.images) {
			rslt = new Image();
			rslt.src = arg;
			return rslt;
		}

		//img_on	= newImage("/pics/index_nav/index_con.gif");
		//img_off	= newImage("/pics/index_nav/index_con.gif");
	}

	function resWin(page) {
		var resWin = window.open(page,'resWIn',"width=499,height=333,scrollbars=0,toolbar=1,location=0,directories=0,status=1,menubar=0,resizable=1");
		resWin.open
	}
	
	function changeImages() {
	//	if (document.images && (preloadFlag == true)) {
			for (var i=0; i<changeImages.arguments.length; i+=3) {
			//  top.alert (document.layers[i].document[changeImages.arguments[i+1]].name)
			//document.layers[changeImages.arguments[i]].document[changeImages.arguments[i+1]].src = eval(changeImages.arguments[i+2]+".src");
				if (brsr == 1) {
			//		if (changeImages.arguments[i] != '') {
			//			document[changeImages.arguments[i+1]].src = eval(changeImages.arguments[i+2]+".src")
			//		} else {
						if (document[changeImages.arguments[i+1]]) document[changeImages.arguments[i+1]].src = eval(changeImages.arguments[i+2]+".src")
			//		}
				}
				if (brsr == 2) {
					if (document[changeImages.arguments[i+1]]) document[changeImages.arguments[i+1]].src = eval(changeImages.arguments[i+2]+".src")
				}
			}
	//	}
	}
	function changeImagesStr() {
			for (var i=0; i<changeImagesStr.arguments.length; i+=3) {
				if (brsr == 1) {
						document[changeImagesStr.arguments[i+1]].src = changeImagesStr.arguments[i+2]
				}
				if (brsr == 2) {
					document[changeImagesStr.arguments[i+1]].src = changeImagesStr.arguments[i+2]
				}
			}
	}

	function rollOver (item,state) {
		if (state) {
			changeImages('','i'+item,'i'+item+'_on');
		} else {
			changeImages('','i'+item,'i'+item+'_off');
		}
	}
	
	function setClass() { 
		var args=setClass.arguments;	
		var ston = 0;
		
		if (brsr != 0) {
			for (i = ston; i<(args.length-1); i+=2) {
				var obj = args[i];
				var cls = args[i+1];
				if (brsr == 1 && V >= 5) {
					document.getElementById(obj).className = cls;
				}
				if (brsr == 2) {
					if (document.all[obj]) {
						document.all[obj].className = cls;
					}
				}
			}
		}
	}

	function showHideLayers() { 
		var args=showHideLayers.arguments;	
		var ston = 1;
		var baser = args[0];
		
		if (brsr != 0) {
			for (i = ston; i<(args.length-1); i+=2) {
				var obj = args[i];
				var vis = args[i+1];	
				if (brsr == 1 && V < 5) {
						if (document.layers[obj]) document.layers[obj].visibility = vis;
				}
				if (brsr == 1 && V >= 5) {
					if (document.getElementById(obj)) {
						document.getElementById(obj).style.visibility = vis;
					}
				}
				if (brsr == 2) {
					if (document.all[obj]) {
						document.all[obj].style.visibility = vis;
					}
				}
			}
		}
	}



	function delayHide() {
			if (t==0) {
					removeall();
					lCount = 0;
			}
			if (t==2) {
					lCount = 0;
			}
			if (t==1) {
					lCount = lCount + 1;
					if (lDelay <= lCount) {
							t = 0;
					}
					if (lDelay >= lCount) {
							setTimeout('delayHide(' + t + ')',pause);
					}
			}
			return false;
	}


	function changeOpacity(divId, x) {
	
		divObj = document.getElementById(divId);
		x += CHANGE_STEP;
		
		if(document.all) {
			//vrp.style.left=newX
			divObj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity="+ parseInt(x) +");";
			
		} else {
			//vrp.style.left=(newX+"px")
			if(x >= 100) {
				divObj.style.opacity = "0.99";
			} else if(x >= 10) {
				divObj.style.opacity = eval("0."+ parseInt(x));
			} else {
				divObj.style.opacity = eval("0.0"+ parseInt(x));
			}
		}
		
		if(x < 100) {
			setTimeout("changeOpacity('"+ divId +"', "+ x +");",CHANGE_SPEED);
		} else {
			// done
		}
	}




// macro media functions

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
/* Functions that swaps images. */
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

/* Functions that handle preload. */
function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function swapCollection(elm)
{
	var children = $(elm).childElements();
	var img = children[0];
	var src = img.src;
	
	if(src.indexOf('_off.') > 0) {
		img.src = img.src.replace('_off.','_on.');
	} else {
		img.src = img.src.replace('_on.','_off.');
	}
}

function toggleCollectionItem(elm)
{
	var inner = $$('#' + $(elm).identify() + ' .inner');
	inner[0].toggle();
	
	if(inner[0].visible()) {
		var container = inner[0].descendants();
		if(container[0].style.marginTop) {
			return;
		}
		var container_height = container[0].getHeight();
		var inner_height = inner[0].getHeight();
		if(container_height < inner_height) {
			var margin = ((inner_height - container_height) / 2) - 10;
			if(margin > 0 && (margin + container_height) < inner_height) {
				container[0].setStyle({marginTop: (((inner_height - container_height) / 2) - 10) + 'px'});
			}
		}
	}
}


/*
 * Modal Variables
 */
var viewport = null;
var waitImage = newImage('/images/gen/spinner_large.gif');

function pageModal (url) {
	
	_loadModal();
	
	new Ajax.Request(url, {
		method:'get',
		onSuccess: function (transport) {
			$('ModalContent').update(transport.responseText);
			_resizeModal($('ModalContent').getWidth(),$('ModalContent').getHeight());
			},
		onFailure: function (transport) {
			$('ModalContent').update('We are sorry but there was an error with the reqeust.');
			_resizeModal($('ModalContent').getWidth(),$('ModalContent').getHeight());
			}
		});
	
	//_resizeModal($('ModalContent').getWidth(),$('ModalContent').getHeight());
	
}


/*
 * Front End Modal Functions
 */
function videoModal(videoUrl) {

	_loadModal();
	
	//	$('ModalContent').update('hey you');
	if (flashOk(8,0,0)) {
		var FO_1 = {
				movie:"/media/singleVideo.swf",width:"480",height:"295",majorversion:"8",build:"0",allowfullscreen:'true',bgcolor:"#FFFFFF",
				flashvars:'videoUrl='+ encodeURI(videoUrl) +'&startVideo=true&fullExpand=true&' //trackingId='+ lastProductId
			 };
			UFO.create(	FO_1, "ModalContent");
	} else {
		$('ModalContent').update("<div align=center style='padding:50px;'><i>This video player requires <a href='http://www.adobe.com/go/EN_US-H-GET-FLASH' target=_new>flash 8</a> or higher</div>")
	}
		_resizeModal(480,295);
	
}

function imageModal (imageUrl)  {
	
	_loadModal();
	
	imgElm = new Image();
	$(imgElm).observe('load', function (event) {
		// elm = Event.element(event);
		$('ModalContent').update('<img src="'+ imgElm.src +'">');
		_resizeModal(imgElm.width,imgElm.height);
	})
	imgElm.src = imageUrl;
	
}

function closeModal()
{
	$('blackOut').hide();
	$('InnerContainer').hide();
	$('ModalContent').update('');
	$('ModalNav').update('');
	
	var group = $$('select');
	
	for (i = 0; i < group.length; i++) {
		$(group[i]).style.visibility = 'visible';
	}
	
	// may need to add some re-sizing back to standard size for wait.
}

/*
 * Modal Utility Functions
 * These should be called by front end functions
 */
function _resizeModal (w,h) {
	
	var bodyTag = $$('body');
	var bodyElm = bodyTag[0];

	var offset = bodyElm.cumulativeScrollOffset();
	//var top = offset.top + 175;
	//$('OuterContainer').setStyle({top: (offset.top + 175) + 'px'});

	if (w) {
		$('InnerContainer').style.width = w +'px';
		$('ModalBack').style.width = w +'px';
		$('ModalShadow').style.width = w +'px';
	}
	if (h) {
		h = h + 37;
		$('InnerContainer').style.height = h +'px';
		$('ModalBack').style.height = h +'px';
		$('ModalShadow').style.height = h +'px';
	}

//	code to recenter, currently just offsetting 175 from top of scroll position
	
	// viewport = bodyElm.getDimensions();
	
	// modal size
	var page_pos = getPagePosition();
	
	var mw = $('InnerContainer').getWidth();
	var mh = $('InnerContainer').getHeight();
	
	var win_size = getInnerWindowSize();
	var uw = win_size[0];
	var uh = win_size[1];
		
	leftPos = Math.round((uw - mw)/2);
	topPos = Math.round((uh - mh)/2);
//	top.alert((uw) +" - "+ mh +" = "+ (uh - mh) + " ("+ topPos +")");
	leftPos = leftPos + page_pos[0];
	topPos = topPos + page_pos[1];
		
	if (topPos < 0) {
		topPos = 0;
	}
		
	//	top.alert(win_size.width +':'+ win_size.height);

	//$('OuterContainer').setStyle({top: (topPos) + 'px'});
	$('InnerContainer').style.left = leftPos +'px';
	$('InnerContainer').style.top = topPos +'px';
}

function _loadModal()
{
	var bodyTag = $$('body');
	var bodyElm = bodyTag[0];
	
	// if blackout does not exist, then create it
	if (!document.getElementById('blackOut')) {
		blackOutDiv = new Element('div',{ id:'blackOut',style:'display:none;height:100%'});
		$(bodyElm).appendChild(blackOutDiv);
		// add click event to blackout
		$('blackOut').observe('click',function (event) {
			closeModal();
		});
	}
	// if outer container does not exist then create it
	if (!document.getElementById('InnerContainer')) {
		InnerContainerDiv = new Element('div',{ id:'InnerContainer',style:'display:none;'});
		$(bodyElm).appendChild(InnerContainerDiv);
		// add basic modal interface
		$('InnerContainer').update("<div id='ModalShadow' class='shadow'></div><div id='ModalBack' class='content'><div id='ModalContent'></div><div id='ModalControls'><div id='ModalNav'></div><div id='ModalClose'><a href='javascript:closeModal()'>CLOSE X</a></div></div></div>");
	}
	
	// add wating spinner to modal
	$('ModalContent').update("<div align=center><img src='"+ waitImage.src +"' hspace=50 vspace=50></div>");
	// resize blackout
	viewport = bodyElm.getDimensions();
	$('blackOut').setStyle({width: viewport.width + 'px',height: viewport.height + 'px'});
	// starting position for modal
	var offset = bodyElm.cumulativeScrollOffset();
	
	_resizeModal(480,270);
	
	var group = $$('select');
	
	for (i = 0; i < group.length; i++) {
		$(group[i]).style.visibility = 'hidden';
	}
	
	// show blackout and modal
	$('blackOut').show();
	$('InnerContainer').show();

}

function swapTab(elm)
{
	var tab = $(elm);
	if(tab.hasClassName('on')) {
		return;
	}
	var tabs = elm.siblings();
	_deactivateTab(tab);
	tabs.each(function(elm){
		_deactivateTab(elm)
	});
	
	var parents = tab.ancestors();
	var contents = $$('#' + parents[1].identify() + ' .bottom .content');
	contents.each(function(elm){
		elm.hide();
	});
	
	tab.addClassName('on');
	tab.removeClassName('off');
	var classes = String(tab.classNames());
	classes = classes.split(' ');
	
	$(classes[1]).show();
}

function _deactivateTab(elm)
{
	elm.addClassName('off');
	elm.removeClassName('on');
}

function formClear(elm,text)
{
	if(elm.value == text) {
		elm.value = '';
	}
}

function formReset(elm,text)
{
	if(elm.value == '') {
		elm.value = text;
	}
}

function swapImage(elm)
{
	var img = $(elm).descendants()
	var extention = img[0].src.substring(img[0].src.length - 4);
	var filename = img[0].src.substring(0,img[0].src.length - 4);
	
	if('over' == filename.substring(filename.length - 4)) {
		img[0].src = filename.substring(0,filename.length - 5) + extention;
	} else {
		img[0].src = filename + '_over' + extention;
	}
}

function showBannerHtml(id_prefix)
{
	$(id_prefix + '_out').hide();
	$(id_prefix + '_over').show();
}

function hideBannerHtml(id_prefix)
{
	$(id_prefix + '_over').hide();
	$(id_prefix + '_out').show();
}

function switchVidLink(staticPath, elm)
{
	var thisId = $(elm).identify();
	var classes = $(elm).classNames();
	var thisClass = $A(classes).last();
	var imgs = $$('#' + thisId + ' img');
	var thisImg = imgs.first();
	var thisSrc = thisImg.src;
	var thisSrcArr = thisSrc.split('/');
	var thisFilename = thisSrc.split('/').last();
	var thisExt = thisFilename.split('.').last();
	var baseImgSrc = staticPath+'/images/banners/';
	var overFilename = thisId + '_over.' + thisExt;
	var overSrc = baseImgSrc + overFilename;
	var outSrc = baseImgSrc + thisId + '.' + thisExt;
	
	var firstDiv = $$('#rightBanner_over .rightBanner_btn.btn1');
	var firstId = firstDiv.first().identify();
	var firstImg = $$('#' + firstId + ' img');
	firstImg = $A(firstImg).last();
	
	if(thisFilename.search("_over") < 0) {
		thisImg.src = overSrc;
		$('rightBanner_img').setStyle({backgroundImage: 'url(' + baseImgSrc + thisId + '_vid.jpg)'});
		if('btn1' != thisClass) {
			firstImg.src = baseImgSrc + firstId + '.' + thisExt;
		}
	} else {
		$('rightBanner_img').setStyle({backgroundImage: 'url(' + baseImgSrc + firstId + '_vid.jpg)'});
		if('btn1' != thisClass) {
			thisImg.src = outSrc;
			firstImg.src = baseImgSrc + firstId + '_over.' + thisExt;
		}
	}
}


/// These functions should get rewritten with prototype, but they work for now.

function getPageSizeWithScroll()
{
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY;
		xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;
		xWithScroll = document.body.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;
		xWithScroll = document.body.offsetWidth;
  	}
	arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
	return arrayPageSizeWithScroll;
}

function getPagePosition ()
{
  var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}


	
function getInnerWindowSize () 
{

	var windowWidth = 0, windowHeight = 0;

	if (self.innerHeight) {  // all except Explorer
	//	alert('innerUse');
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
      } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
     // 	alert('win 6 strict');
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
      } else if (document.body) { // other Explorers
      //	alert('ie..');
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
      }
	 
	 var rtn = new Array( windowWidth, windowHeight );
  //	 top.alert(rtn[0] +":"+ rtn[1]);
	 
	 return rtn;
}

function getWindowSize ()
{

  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
	return [ myWidth, myHeight ];
}
