/**
 * Copyright Notice
 * This file contains proprietary information of Valspar Corporation
 * Copying or reproduction without prior written approval is prohibited.
 * Copyright (c) 2007
 *
 */


var sizeValues = new Array();
sizeValues[1] = new Array('gallon','gallons',1);
sizeValues[8] = new Array('pint','pints',8);
sizeValues[128] = new Array('fl oz','fl oz',128);
sizeValues[4] = new Array('quart','quarts',4);

var sizeText = new Array();
sizeText['gallon'] = new Array('gallon','gallons',1);
sizeText['pint'] = new Array('pint','pints',8);
sizeText['fl oz'] = new Array('fl oz','fl oz',128);
sizeText['quart'] = new Array('quart','quarts',4);

/** valspar functions **/

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

// initialize all the functions
//addLoadEvent();
addLoadEvent(function() {
/* more code to run on page load */
initButtonRollovers('input');
initButtonRollovers('img');
});



// set and preload the button 'on' state images
function initButtonRollovers(el) {
	if (!document.getElementsByTagName) return;

	var oPreLoad = new Array();
	var oTempSrc;
	var obj = document.getElementsByTagName(el);

	for (var i = 0; i < obj.length; i++) {
		// only look for elements with class of 'rollover'
		if (obj[i].className == 'rollover') {
			// get the image source
			var src = obj[i].getAttribute('src');
			// get the over state by replacing 'off' with 'on'
			var osrc = src.replace(/_off(\.[a-z0-9]+)$/i,'_on$1');

			obj[i].setAttribute('osrc', osrc);

			// preload 'on' state images
			oPreLoad[i] = new Image();
			oPreLoad[i].src = osrc;

			// set image to on state
			obj[i].onmouseover = function() {
				oTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('osrc'));
			}

			// set image to off state
			obj[i].onmouseout = function() {
				if (!oTempSrc) oTempSrc = this.getAttribute('src').replace(/-on(\.[a-z0-9]+)$/i,'_off$1');
				this.setAttribute('src', oTempSrc);
			}
		}
	}
}

	function clickHandler() {
				var language = document.getElementById("selectlang").options[document.getElementById("selectlang").selectedIndex].value;

				if(language!="#"){
					window.open("/corp/pdf/policies/" + language + "/coe.pdf");
					//alert("chosen language " + language );
				}
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval("window.open('"+selObj.options[selObj.selectedIndex].value+"')");
if (restore) selObj.selectedIndex=0;
}


// MSDS BELOW

function checkSize(what) {
	var theName = parseInt(what.name.substring(what.name.length - 1)) + 1;
	var frmObject = eval('document.mfrmmsds.item_no' + theName);
    if (what.maxLength == what.value.length && frmObject) {
        frmObject.focus();
    }
}

function validateForm() {
	if(document.mfrmmsds.item_no1.value.length != 1)
	{
		alert('Please enter a valid 1 digit number.  Thank you!');
		document.mfrmmsds.item_no1.select();
		document.mfrmmsds.item_no1.focus();
		return;
	}
	if(document.mfrmmsds.item_no2.value.length != 5)
	{
		alert('Please enter a valid 5 digit number.  Thank you!');
		document.mfrmmsds.item_no2.select();
		document.mfrmmsds.item_no2.focus();
		return;
	}
	if(document.mfrmmsds.item_no3.value.length != 5)
	{
		alert('Please enter a valid 5 digit number.  Thank you!');
		document.mfrmmsds.item_no3.select();
		document.mfrmmsds.item_no3.focus();
		return;
	}
	if(document.mfrmmsds.item_no4.value.length != 1)
	{
		alert('Please enter a valid 1 digit number.  Thank you!');
		document.mfrmmsds.item_no4.select();
		document.mfrmmsds.item_no4.focus();
		return;
	}
	var upc = document.mfrmmsds.item_no1.value +
			  document.mfrmmsds.item_no2.value +
			  document.mfrmmsds.item_no3.value +
			  document.mfrmmsds.item_no4.value;
	if (upc.length > 0) {
		document.mfrmmsds.upc.value = upc;
		document.mfrmmsds.submit();

	}
	else {
		alert("An error has ocurred trying to read the UPC entered!");
	}
}
// MSDS ABOVE

/**
*****************************************************************
 * Author Justin Trevorrow
 *
 * PAGE IS REFERENCED by Thomson - script updates their left nav
 *
****************************************************************/

function getQueryVar(txtArg)
{
	var txtQ = document.location.search.substring(1);
	var valArray = txtQ.split('&');
	var valReturn = false;
	for(var x=0;x <valArray.length; x++)
	{

		var intTemp = valArray[x].indexOf(txtArg + '=');

		if(intTemp != -1)
		{
		   valReturn = valArray[x].substr(txtArg.length + 1);
		}
	}

	return valReturn;
}



	var varID = getQueryVar('p');
	//manually highlight left nav links not listed
	varID = (varID == "irol-govboard"?"irol-govmanage":varID);
	varID = (varID == "irol-govbio"?"irol-govmanage":varID);
	varID = (varID == "irol-newsarticle"?"irol-news":varID);
	varID = (varID == "irol-sectoc"?"irol-sec":varID);
	varID = (varID == "irol-calendarpast"?"irol-calendar":varID);
	varID = (varID == "irol-eventdetails"?"irol-calendar":varID);
	varID = (varID == "irol-guestbook"?"irol-audioArchives":varID);


var valLink = (document.getElementById)?document.getElementById(varID):false;

if (valLink) {

alert("select left nav");


	if ( valLink.parentNode.parentNode.parentNode.className == 'valSubNav' ) {
		//sublinks highlight
		valLink.parentNode.parentNode.parentNode.className = 'valSubNavOn';
		valLink.className = "onlink";
		//alert(valLink.parentNode.parentNode.parentNode.parentNode.nodeName);
		var xx = valLink.parentNode.parentNode.parentNode.parentNode.getElementsByTagName("a");  //li
		xx[0].className = "textNavOn";




	} else if ( (valLink.className == 'textNav') || (valLink.className == 'textNavOn') ) {
		//mainlinks highlight
		valLink.className = "textNavOn";

		var xx = valLink.parentNode;

		var xxx = xx.getElementsByTagName("div");
		//alert(xxx.length);
			if (xxx.length > 0)
			{
				//display sub links
				//xxx[0].style.display = 'block';
				xxx[0].className = 'valSubNavOn'
			}

	}




}

if (document.getElementById("leftnav")) {

	alert("close left nav");
	//compress sub navigation in left nav
	var divLeftNav = document.getElementById("leftnav").getElementsByTagName("div");
	for (var z=0;z < divLeftNav.length;z++) {
		if(divLeftNav[z].className == "valSubNav")
			divLeftNav[z].style.display = "none";
	}
}

// This function is used to verify form data fields
function hasValue(obj, obj_type)
{
  if (obj_type == "text" || obj_type == "password")
  {
    if (obj.value.length == 0)
      return false;
    else
      return true;
  }
  else if (obj_type == "select")
  {
    for (i=0; i < obj.length; i++)
    {
      if (obj.options[i].selected && obj.options[i].value != "")
        return true;
		}
    return false;
	}
  else if (obj_type == "SINGLE_VALUE_RADIO" || obj_type == "SINGLE_VALUE_CHECKBOX")
  {
    if (obj.checked)
      return true;
    else
      return false;
	}
  else if (obj_type == "file")
  {
    if (obj.value.length > 0)
      return true;
    else
      return false;
	}
  else if (obj_type == "radio" || obj_type == "checkbox")
  {
    for (i=0; i < obj.length; i++)
    {
      if (obj[i].checked) return true;
		}
    return false;
  }
}


function changeReducer(elem,imageLoc) {

	var selectedValue = elem[elem.selectedIndex].value;
	var reducerImgObj = document.getElementById('reducerImage');
	var reducerTextObj = document.getElementById('reducerText');
	var reducerValueObj = document.getElementById('reducerValue');
	var blankCell = "<td></td>";

	if(selectedValue==0) {
		reducerImgObj.innerHTML = "";
		reducerTextObj.innerHTML = "";
		reducerValueObj.innerHTML = "";
		reducerImgObj.className = "";
		reducerTextObj.className = "";
		reducerValueObj.className = "";
	} else {
		var imgHtml = "<img src='"+imageLoc+"' width='216' height='30' />";
		var reducerText = "RU Reducer";

		reducerImgObj.innerHTML = imgHtml;
		reducerTextObj.innerHTML = reducerText;
		reducerValueObj.innerHTML = selectedValue;
		reducerImgObj.className = "tableBorder";
		reducerTextObj.className = "tableBorder cellPadding";
		reducerValueObj.className = "tableBorder cellPadding";
	}
}

function determineReducerWeight() {
	var applicationMethod = document.getElementById('applicationSelect');
	var reducerRow = document.getElementById('reducerWeightRow');

	if(applicationMethod.value==1) {
		reducerRow.style.display = 'none';
		reducerRow.getElementsByTagName('td')[1].innerHTML = "";
		reducerRow.getElementsByTagName('td')[2].innerHTML = "";
		reducerRow.getElementsByTagName('td')[3].innerHTML = "";
	} else {
		var reducer = document.getElementById('reducerSelect');
		var reducerWeightInGallons = parseFloat(reducers[reducer.value][applicationMethod.value]);
		var kdaWeightRow;

		for(var i=0;true;i++) {
			if(document.getElementById("fullWeight"+i)==null) {
				break;
			}
			kdaWeightRow = document.getElementById("fullWeight"+i);
		}

		if(kdaWeightRow!=null) {
			var kdaWeight = parseFloat(kdaWeightRow.getElementsByTagName("TD")[3].innerHTML);

			reducerRow.style.display = '';
			reducerRow.getElementsByTagName('td')[1].innerHTML = reducer.value;

			var gallonRatio = document.getElementById("volumeSelect").value;
			var convertedReducerWeight = convertForVolume(reducerWeightInGallons,gallonRatio,1);

			reducerRow.getElementsByTagName('td')[2].innerHTML = formatDecimal(convertedReducerWeight);
			reducerRow.getElementsByTagName('td')[3].innerHTML = formatDecimal(round(parseFloat(kdaWeight+convertedReducerWeight),1));
		}
	}
}

function applicationMethodChange(id,rowSet) {
	var acc = 0.0;

	for(var i=0;true;i++) {
		if(document.getElementById(rowSet+i)==null) {
			break;
		}
		var cells = document.getElementById(rowSet+i).getElementsByTagName("TD");
		var formula = cells[1].innerHTML;
		var weight = parseFloat(weightList[formula][id]);
		var gallonRatio = document.getElementById("volumeSelect").value;
		var convertedWeight = convertForVolume(weight,gallonRatio,1);

		acc = round((convertedWeight + acc),1);

		cells[2].innerHTML = formatDecimal(convertedWeight);
		cells[3].innerHTML = formatDecimal(acc);
	}

	if(rowSet = "fullWeight" && id!=1) {
		determineReducerWeight();
	}
}

function volumeChange(gallonRatio,rowSet) {
	var acc = 0.0;
	var isShimrin = (rowSet.indexOf('shimrin')>=0);

	for(var i=0;true;i++) {
		if(document.getElementById(rowSet+i)==null) {
			break;
		}
		var cells = document.getElementById(rowSet+i).getElementsByTagName("TD");
		var dataCell = (isShimrin)?0:1;
		var formula = cells[dataCell].innerHTML;

		var applicationId;
		var weight;

		if(!isShimrin) {
			if(rowSet=="fullWeight") {
				applicationId = document.getElementById("applicationSelect").value;
			} else {
				applicationId = 5;
			}
			weight = parseFloat(weightList[formula][applicationId]);
		} else {
			weight = parseFloat(weightList[formula]);
		}

		var convertedWeight = convertForVolume(weight,gallonRatio,1);
		if(rowSet=="shimrinPrimer") {
			type = document.getElementById('displayAsideSelector').value;
		} else if(rowSet=="shimrinRTS") {
			type = document.getElementById('displayBsideSelector').value;
			
			//alert(formula+":"+convertedWeight);

			if(!(formula.indexOf('R')==0)) {
				var nonReducerWeight = formulaWeight * (2/3);
				convertedWeight = convertForVolume((partsList[formula]/formula_totalParts)*nonReducerWeight,gallonRatio,1);
			} else {
				convertedWeight = round(convertedWeight * (1/3),1);
			}
		}

		acc = round((convertedWeight + acc),1);

		if(!isShimrin) {
			cells[dataCell+1].innerHTML = formatDecimal(convertedWeight);
			cells[3].innerHTML = formatDecimal(acc);
		} else {
			var type;

			if(type.indexOf('actual')>=0) {
				cells[dataCell+1].innerHTML = formatDecimal(convertedWeight);
			} else {
				cells[dataCell+1].innerHTML = formatDecimal(acc);
			}
		}
	}

	if(!isShimrin) {
		determineReducerWeight();
	} else {
		if(rowSet=='shimrinPrimer') {
			document.getElementById('primerPrice').innerHTML = '$'+formatToTwoDecimalPoints(convertForVolume(formulaPrice,gallonRatio,2));
		} else if(rowSet=='shimrinRTS') {
			var reducer = document.getElementById('reducerWeightSelector').value;

			document.getElementById('rts_PRICE').innerHTML = '$'+formatToTwoDecimalPoints(convertForVolume(reducerValues[reducer]['PRICE'],gallonRatio,2));
			document.getElementById('rts_MVOC_LB').innerHTML = reducerValues[reducer]['MVOC_LB'];
			document.getElementById('rts_MVOC_G').innerHTML = reducerValues[reducer]['MVOC_G'];
			document.getElementById('rts_CVOC_LB').innerHTML = reducerValues[reducer]['CVOC_LB'];
			document.getElementById('rts_CVOC_G').innerHTML = reducerValues[reducer]['CVOC_G'];

			//document.getElementById('rtsPrice').innerHTML = convertForVolume(formulaPrice,gallonRatio,2);
		}
	}
}

function volumeChangeForLabels(gallonRatio) {
		var priceText = document.getElementById('price1').innerHTML;
		var price = priceText.substring(priceText.indexOf("$")+1,priceText.indexOf("("));
		labelRowSetChange("actRow",gallonRatio,false);
		labelRowSetChange("accRow",gallonRatio,true);
		var convertedPrice = formatToTwoDecimalPoints(convertForVolume(price,gallonRatio,2));
		document.getElementById('price1').innerHTML = document.getElementById('price1').innerHTML.substring(0,priceText.indexOf("$")+1,priceText.length)+convertedPrice+document.getElementById('price1').innerHTML.substring(priceText.indexOf("("));
}

function volumeChangeForKDLabels(gallonRatio) {
		labelRowSetChange("actRow",gallonRatio,false);
		labelRowSetChange("accRow",gallonRatio,true);
}


function labelRowSetChange(rowset,gallonRatio,isAcc) {
	var acc = 0.0;
	for(var i=0;true;i++) {
		if(document.getElementById(rowset+i)==null) {
			break;
		}
		
		var weight = document.getElementById(rowset+i).innerHTML;
		weight = convertForVolume(weight,gallonRatio,1);
		if(isAcc) {
			acc = round((weight + acc),1);
			document.getElementById(rowset+i).innerHTML = formatDecimal(acc);
		} else {
			document.getElementById(rowset+i).innerHTML = formatDecimal(weight);
		}
	}
}

function reducerWeightChange() {
	var applicationId = document.getElementById('applicationSelect').value;
	applicationMethodChange(applicationId,"fullWeight");
}

function displayTypeChange(rowSet) {
	var volumeLoc = determineGallonRatio(rowSet);
	volumeChange(volumeLoc,rowSet);
}

function determineGallonRatio(rowSet) {
	if(rowSet.indexOf('Primer')>=0) {
		return document.getElementById("volumeSelectLeft").value;
	} else {
		return document.getElementById("volumeSelectRight").value;
	}
}

function convertForVolume(gallonValue, newVolume, precision) {
	return round((parseFloat(gallonValue) / parseFloat(newVolume)),precision);
}

function round(value,precision) {
	return Math.round(Math.pow(10,precision)*(value))/Math.pow(10,precision);
}

function formatDecimal(param) {
	var num = param + "";
	if(num.indexOf('.')==-1) {
		return num + '.0';
	}
	return num;
}

function formatToTwoDecimalPoints(param) {
	var num = param + "";

	if(num.indexOf('.')==-1) {
		return num + '.00';
	}
	if(num.substring(num.indexOf('.')).length==2) {
		return num + '0';
	}
	return num;
}

function mixtureChange(context,name) {
	window.location = context+name;
}

function changeDisplayUsingSelectedValue(elem,id) {
	var reducer = elem.options[elem.selectedIndex].value;
	document.getElementById(id).innerHTML = reducer;
}

function removeContext(str) {
	var newStr = "";
	if(str) {
		newStr = str.indexOf('hok')>=0?str.substring(str.indexOf('hok')+3):str;
	}
	return newStr;
}

function printLabelClick() {
	var elem = document.getElementById("volumeSelectLeft");
	
	if(!elem || elem.value.length < 1) {
		elem = document.getElementById("leftVolumeInput");
	}
	var urltext = window.location.pathname;
	var formula = urltext.match(/\/mixture\/(.*)/)[1];
	var volume = sizeValues[elem.options[elem.selectedIndex].value][0];
	window.open(urltext.substring(0,urltext.indexOf('mixture'))+volume+'/'+'instructions'+'/'+formula);
}

function setSelect(select,value) {
	for(var i=0;i<select.options.length;i++) {
		//alert(select.options[i].value+":"+value+":"+(select.options[i].value==value));
		if(select.options[i].value==value){
			select.selectedIndex = i;
		}
	}
}

function readyForPrint() {
	var urltext = window.location.pathname;
	var urlChunks = urltext.split('/');


var volume;
	
	if(urltext.indexOf('hok')>0) {
		volume = urlChunks[3];
	} else {
		volume = urlChunks[2];
	}
	

	for(var i=0;i<urlChunks.length;i++) {
		if(urlChunks[i].indexOf('.html')>0){
			window.location = urltext.substring(0,urltext.indexOf(volume))+'print'+'/'+volume+'/label/'+urlChunks[i];
		}
	}


}
