///////////////////////////////////////////////////////////////////

function OpenWin(url, width, height, scroll) {
	var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,marginwidth=0,marginheight=0,resizable=yes,scrollbars=' + scroll + ',width=' + width + ',height=' + height;
	popup_win(url, '', features);
}
	
function dept_band_popup_link(url, popupFeatures) {
	popup_link(url, popupFeatures);
}

function popup_link(url, popupFeatures) {
	var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,marginwidth=0,marginheight=0,resizable=yes,' + popupFeatures;
	popup_win(url, '', features);
}

function popup_win(url, name, popupFeatures) {
	var winId = window.open(url, name, 'screenX=0,screenY=0,left=0,top=0,' + popupFeatures);
	if (winId.opener == null) winId.opener = self;
}

// browser compatibility check
if (!(document.getElementById || document.all || document.layers)) {
	// redirect to browser incompatibility page
	alert('temporary error message: redirect to browser error page goes here');
}
var ie = (document.all) ? 1 : 0;
var ns4 = (document.layers) ? 1 : 0;
var ns6 = (document.getElementById) ? 1 : 0;

// Variables used for the Layette menu
var cMenuDelay=25;
var cOptionDelay=25;
var menuOn=false;
var whichTimer;
var whichInterval;
var hideit=-1;

// function to start scripts onload
function pageInit(color,level){
	loadImgs(color,level);
}

// function to reload NS4 on resize event
 if (ns4) {
    origWidth = innerWidth;
    origHeight = innerHeight;
 }
function reDo() {
   if (innerWidth != origWidth || innerHeight != origHeight) 
      location.reload();
}
if (ns4) onresize = reDo;

// function to load standard rollover images
var loaded = 0;
function loadImgs(color,level){
	// for home pages
	if (!level){
		var nav2Imgs = new Array();
			nav2Imgs[0] = 'girl';
			nav2Imgs[1] = 'boy';
			nav2Imgs[2] = 'layet';
			nav2Imgs[3] = 'nurse';
			
		var loadedImgs = new Array();
		// declare nav images
		for (i=0; i < nav2Imgs.length; i++ ) {
		  	loadedImgs[i] = new Image();
		  	loadedImgs[i].src = '/images/nav2_'+nav2Imgs[i]+'_'+color+'_on.gif';
		}
	
	// for 2nd level pages
	} else {
		var nav3Imgs = new Array();
			nav3Imgs[0] = 'girl';
			nav3Imgs[1] = 'boy';
			nav3Imgs[2] = 'layet';
			nav3Imgs[3] = 'nurse';
			
		var loadedImgs = new Array();
		// declare nav images
		for (i=0; i < nav3Imgs.length; i++ ) {
		  	loadedImgs[i] = new Image();
		  	loadedImgs[i].src = '/images/nav3_'+nav3Imgs[i]+'_'+color+'_on.gif';
		}
	}
	
	// other images
	giftFinderOn = new Image();
	giftFinderOn.src = '/images/btn_uni_giftfinder_on.gif'
	searchBtnOn = new Image();
	searchBtnOn.src = '/images/btn1_search_'+color+'_on.gif'
	submitBtnOn = new Image();
	submitBtnOn.src = '/images/btn1_submit_'+color+'_on.gif'
	accountBtnOn = new Image();
	accountBtnOn.src = '/images/nav1_accnt_'+color+'_on.gif'
	helpBtnOn = new Image();
	helpBtnOn.src = '/images/nav1_help_'+color+'_on.gif'
	shopBtnOn = new Image();
	shopBtnOn.src = '/images/nav1_shop_'+color+'_on.gif'
	loaded = 1;
}

// function to go to URL
function goUrl(url){
	location.href = url;
}

// function to do main rollovers
function swapImgs(id, img, theLayer){
		if (!document.layers || !theLayer){
			document.images[id].src = img;
		} else {
			var theImg = eval('document.layers["'+theLayer+'"].document.images[id]');
			theImg.src = img;
		}
}

// function to do util rollovers
function swapUtil(img,state){
	document.images[img].src = state ? '/images/' + img + '_on.gif' : '/images/' + img + '_off.gif';
}

// function to open size chart window
function openSizeChart(){
	var params = 'height=540,width=520,directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,screenX=100,screenY=50,left=100,top=50';
	var sizeWin = window.open('/common/size_chart.html','sizeWindow',params);
	if (sizeWin){
		sizeWin.focus();
	}
}

// function to open zoom window
function openZoom(prodId){
	var params = 'height=540,width=520,directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,screenX=100,screenY=50,left=100,top=50';
	var imgWin = window.open('/common/prod_popup.html?'+prodId,'imgWindow',params);
	if (imgWin){
		imgWin.focus();
	}
}

// function to open promo window
function openPromo(promoId){
	var params = 'height=540,width=520,directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,screenX=100,screenY=50,left=100,top=50';
	var promoWin = window.open('/common/promo_popup.html?'+promoId,'promoWindow',params);
	if (promoWin){
		promoWin.focus();
	}
}

// declare layer array
var menuLayer = new Array( );
	menuLayer[0] = "menuLayette";

function forcedHide(){
	//alert (checkmousepos(0));
	if (checkmousepos(0)!=0) hideall(true);
}


// function for displaying menu
function showMenu(theLayer) {
		showLayer(theLayer);
		menuOn=true;
		if (whichTimer) clearTimeout(whichTimer);
		whichTimer=setTimeout('forcedHide()',cMenuDelay);
}

// function to show menu layers
function showLayer(theLayer) {
	if(ie){
    	eval(menuLayer[theLayer]+'.style.visibility="visible"');
	} else if (ns4){
		eval('document.'+menuLayer[theLayer]+'.visibility="show"');
	} else if (ns6){
		eval('document.getElementById(\"'+menuLayer[theLayer]+'\").style.visibility="visible"');
	}
}

// function to initiate menu hiding
// timeout prevents mouse flickering
function hideMenu() {
	menuOn=false;
 	whichInterval=setInterval('hideall(false)',cOptionDelay);
}

// function to hide menu layers
function hideall(isForced) {
    i=0;
	if (!menuOn || isForced){
		if (ie) { 
				eval(menuLayer[i]+'.style.visibility="hidden"');
	 } else if (ns4){ 
				eval('document.'+menuLayer[i]+'.visibility="hide"');
	   } else if (ns6 ){ 
				eval('document.getElementById(\"'+menuLayer[i]+'\").style.visibility="hidden"');
		} // end conditional
	if (whichInterval) clearInterval(whichInterval);
	} // menuOn check
} // end function


// code to capture mouse events
document.onmousemove = getmousepos;
if (ns4) {
  	document.captureEvents(Event.MOUSEMOVE);
}

// function to find mouse position
function getmousepos(e) {
	if (window.Event) {
		mousex = e.pageX;
		mousey = e.pageY;
	} else {
		mousex = window.event.clientX;
		mousey = window.event.clientY;
	}
}

// function to compare mouse position with layer boundary
function checkmousepos(i) {
	hideit=-1;
	if (ie) {     
		x_min = eval(menuLayer[i]+'.style.pixelLeft');
		x_max = x_min + eval(menuLayer[i]+'.scrollWidth');
		y_min = eval(menuLayer[i]+'.style.pixelTop');
		y_max = y_min + eval(menuLayer[i]+'.scrollHeight');
		      
	} else if(ns4) {     
		x_min = eval('document.'+menuLayer[i]+'.left');
		x_max = x_min + eval('document.'+menuLayer[i]+'.clip.width');
		y_min = eval('document.'+menuLayer[i]+'.top');
		y_max = y_min + eval('document.'+menuLayer[i]+'.clip.height');
	
	} else if (ns6) {
		x_min = parseInt(eval('document.getElementById(\"'+menuLayer[i]+'\").style.left'));
		x_width = eval('document.getElementById(\"'+menuLayer[i]+'\").style.width');
		x_max = x_min + parseInt(x_width);
		y_min = parseInt(eval('document.getElementById(\"'+menuLayer[i]+'\").style.top'));
		y_height = eval('document.getElementById(\"'+menuLayer[i]+'\").style.height');
		y_max = y_min + parseInt(y_height);
	}

	// subtract text rollover from layer height
	y_min = y_min + 12;
	//alert('xMin='+x_min+', xMax='+x_max+', yMin='+y_min+', yMax='+y_max);
	
  	// if mouse is outside layer boundaries, hide layer
	if (mousex >= x_min && mousex <= x_max && mousey >= y_min && mousey <= y_max ) {
		hideit = 0;
  	} else {
    	hideit = 1;
	}
  	return hideit;
}

// function to submit form
function subForm(theForm){
	// do error checking
	var emVal = eval('document.forms["'+theForm+'"].txt_email.value');
	if (emVal == ''){
		alert('Please enter an email address. Thank you.');
	} else {
		alert('You submitted the following address: ' + emVal);
	}
}


// utility function to set style properties
function setIdProperty(id, property, value ){
	if (document.all){
		document.all[id].style[property] = value;
   	} else if (document.layers){
        document[id][property] = value;
	} else if (document.getElementById){
        var styleObject = document.getElementById(id);
        if (styleObject != null){
            styleObject = styleObject.style;
            styleObject[property] = value;
		}
	}
}

function checkEmailFormat(strEmail)
{
    var boolValid = false;
    var intAtIndex = -1;
    var intDotIndex = -1;
       
    if(strEmail != null && strEmail !=  "")
    {
       if((intAtIndex = strEmail.indexOf("@")) > -1)
       {
         //BM-PRO NOT VALID if((intDotIndex = strEmail.indexOf(".")) > intAtIndex)
         if((intDotIndex = strEmail.indexOf(".")) > -1)
         {
            //strEmail = strEmail.substr((intDotIndex + 1));
            //if(strEmail != null && strEmail.length >= 1)
            //{
               boolValid = true;
            //}
         }
       }
    }       
    return boolValid;
}            

function checkDate(inDay, inMon, inYr)
{
	var toDate = new Date();
	var isDayEntered = false;
	var checkDate;
	
	if(inDay == 0)
	{
		checkDate = new Date(inYr, inMon, toDate.getDate());
	}
	else
	{
		checkDate = new Date(inYr, inMon, inDay);
		isDayEntered = true;
	}
	
	if(isDayEntered)
	{
		var diff = (toDate - checkDate);
		if(diff>=0)
		{
			alert("please enter valid date" + checkDate);
			return false;
		}
	}
	else
	{
		var chYear = checkDate.getUTCFullYear();
		var toYear = toDate.getUTCFullYear();
		var sameYear = false;
		
		if(chYear-toYear < 0)
		{
			alert("please enter valid date" + checkDate);
			return false;
		}
		else if(chYear-toYear == 0)
			sameYear = true;
			
		var chMon = checkDate.getUTCMonth();
		var toMon = toDate.getUTCMonth();
	
		if(sameYear && (chMon-toMon<0))
		{
			alert("please enter valid date " + checkDate);
			return false;
		}
	}

	return true;
}


function trim(inString) {
	var i=0;
	var len=inString.length;
	for(i=0;i<len;i++) {
		if(inString.charAt(i)==" ")	{
			inString=inString.substring(1,(len-i));
		} else {
			break;
		}
	}
	return inString;
}

function checkName(theName){
	var badChar ="0";
    for (var i = 0; i < theName.length; i++) {
		ch = theName.substring(i, i + 1)
		if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z") || (ch >= "0" && ch <= "9") || (ch == "'") || (ch == ".") || (ch == " ") || (ch == "-")){
			badChar = badChar;
		}
		else{
			badChar ="1";
		}
    }
    if (badChar == "1"){
        return false;
    } else {
        return true;
    }
}

function checkAddr(theAddr){
	var badAddr ="0";
    for (var i = 0; i < theAddr.length; i++) {
	ch = theAddr.substring(i, i + 1)
	if ((ch == "<") || (ch == "&")){
		badAddr ="1";
		break;
	}
	//defect # 1262 -START
	if(theAddr.charCodeAt(i)<32 || theAddr.charCodeAt(i)>122 ){
		badAddr = "1";
		break;
        }
	//defect # 1262 -END

    }
    if (badAddr == "1"){
        return false;
    } else{
        return true;
    }
}

function CheckForNumber(beg,end,string){
    for (var i = beg; i < end; i++){
        var c = string.charAt(i)
        c = parseInt(c);
        if (isNaN(c)){
            return false;
        }
    }
    return true;
}

/**
 * Tokenizes the string based on delimiter specified.
 * Returns array of strings
 */ 
function tokenizeString(str, delim) {
	strArr = new Array();
	var n = 0;
	var startIndex = 0;

	while( (endIndex=str.indexOf(delim, startIndex) ) > 0 ) {
		subStr = str.substring(startIndex, endIndex);
		startIndex = endIndex + 1;
		strArr.push(subStr);
		n++;
	}
	subStr = str.substring(startIndex);
	strArr.push(subStr);
	return strArr;
}

function isAlpha(ch) {
	if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) return true;
	return false;
}

function isDigit(ch) {
	if (ch >= '0' && ch <= '9') return true;
	return false;
}

function checkForSymbol(val){
    for (var i = 0; i < val.length; i++) {
		var c = val.charAt(i);
		if (c == "|" || c == "!" || c == "&"){
			return false;	
		}
	}
	return true;
}

function checkMaxLength(obj, maxLen) {
	if (obj.value.length > maxLen) {
		alert('Please limit your characters to ' + maxLen + ' characters.');
		obj.focus();
		return false;
	}
	return true;
}

// this is a generic function thats used to replace the given character in the form field
// with another character

function removeChar(field, char1, char2) {
	var fieldVal = eval("document."+field).value;
	var fieldNewVal = fieldVal.replace(char1, char2);
	eval("document."+field).value=fieldNewVal;
	return true;
}