﻿//--------------------------------------------------------------------------------------------------
// Form Help without popups - slightly adapted from an article at
// http://juicystudio.com/article/form-help-without-popups.html
//--------------------------------------------------------------------------------------------------
window.onload = addHelp;

function addHelp()
{
    var checkDigit = "z"; //Required for FireFox (js enabled) to stop scrolling - added to # named anchor
	
	var strID, objHelp;
		
	if (document.getElementById && document.appendChild && document.removeChild)
	{
		var objHelpform = document.getElementById('aspnetForm');
		
		var objAnchors = objHelpform.getElementsByTagName('a');
		for (var iCounter=0; iCounter<objAnchors.length; iCounter++)
		{
		    if (objAnchors[iCounter].className == 'helpLink')
			{
				strID = getIDFromHref(objAnchors[iCounter].href, 0);
				objHelp = document.getElementById(strID);
				if(objHelp)
				{
  			        objHelp.style.display = 'none';
    			
				    objAnchors[iCounter].onclick = function(event){return expandHelp(this, event);}
				    objAnchors[iCounter].onkeypress = function(event){return expandHelp(this, event);}
    		
				    objAnchors[iCounter].parentNode.parentNode.appendChild(objHelp);
				}
	    	   
               //Add check digit to named anchor so FireFox can't find div to scroll to when js enabled (LM)
	    	   //Stop it getting added twice by Ajax
	    	   var last = objAnchors[iCounter].href.toString().substring(objAnchors[iCounter].href.toString().length - 1,objAnchors[iCounter].href.toString().length);
	    	   if(last != 'z')
	    	   {
                 objAnchors[iCounter].href = objAnchors[iCounter].href + checkDigit;
               }
			}
		}
			
		var objContainerDivs = objHelpform.getElementsByTagName('div');
		for (var iCounter=0; iCounter<objContainerDivs.length; iCounter++)
		{
		    if (objContainerDivs[iCounter].className == 'helpContainer')
			{
			    objContainerDivs[iCounter].parentNode.removeChild(objContainerDivs[iCounter]);
			}
		}
		
		
		// Release memory to prevent IE memory leak
		// Thanks to Mark Wubben <http://novemberborn.net/>
		// for highlightint the issue</span>
		
		objHelpform = null;
		objHelp = null;
		objAnchors = null;
	}
}

function getIDFromHref(strHref, charsToRemoveFromEnd)
{
	var iOffset = strHref.indexOf('#') + 1;
	var iEnd = strHref.length;

	return strHref.substring(iOffset, iEnd - charsToRemoveFromEnd);
}

function expandHelp(objAnchor, objEvent)
{
	var iKeyCode;

	if (objEvent && objEvent.type == 'keypress')
	{
		if (objEvent.keyCode)
			iKeyCode = objEvent.keyCode;
		else if (objEvent.which)
			iKeyCode = objEvent.which;
		
		if (iKeyCode != 13 && iKeyCode != 32)
			return true;
	}

    //Remove check digit from the end of the named anchor to get the id of the div
	strID = getIDFromHref(objAnchor.href, 1);
	
	objHelp = document.getElementById(strID);

	if (objHelp.style.display == 'none')
		objHelp.style.display = 'block';
	else
		objHelp.style.display = 'none';

	return false;
}
// Form Help Ends----------------------------------------------------------------------------------

// Quote Starts -----------------------------------------------------------------------------------

function supplierChanged(pSupplierId, ddlHowYouPay, ddlCurrentProduct){
	objPaymentMethod = document.getElementById( ddlHowYouPay );
	objCurrentProduct = document.getElementById( ddlCurrentProduct );

	objPaymentMethod.selectedIndex = 0;	
	objPaymentMethod.disabled = (pSupplierId == '0' || pSupplierId == '-1' || pSupplierId == '-2' )

	objCurrentProduct.selectedIndex = 0;
	
	for(var i = objCurrentProduct.options.length-1; i >= 0 ; i--){
		objCurrentProduct.options.remove(i);
	}
	
	objCurrentProduct.disabled = true;
}

// Quote Ends--------------------------------------------------------------------------------------

// General Dropdown box please select validation
function ValidateDropdown(sender, args)
{
    
    if((new number(args.Value)) == -1 )
    {
        args.isValid = false;
    }
    else
    {
        args.isValid = true;
    }
    

}
