
/* Global Variables */
var submit_count = 0;
var image_open = '../img/content/open.gif';
var image_close = '../img/content/closed.gif';


/* Functions */
function toggleDiv(divid){ 

    if(document.getElementById(divid).style.display == 'none'){ 
        document.getElementById(divid).style.display = 'block'; 
        document.getElementById('Img'+divid).src = image_open;
    }else{ 
        document.getElementById(divid).style.display = 'none'; 
        document.getElementById('Img'+divid).src = image_close;
    } 
} 

function toggleRow(id)
{ 
    if(document.getElementById(id).style.display == 'none')
    { document.getElementById(id).style.display = 'block'; }
    else
    { document.getElementById(id).style.display = 'none'; }
}

function getDetails(id, url)
{
    var divid = "div_" + id;
    if ($("#row_"+id).is(":hidden")) {
        if (document.getElementById(divid).innerHTML == "")
        {
            $('#div_'+id).append('<div style="padding:20px;"><img src="../img/content/wait2.gif" alt="Please wait..." /></div>');
            $("#row_"+id).show();

            $.ajax({
                type: "GET",
                url: "getDetails.asp?id=" + id,
                data: url,
                dataType: "html",
                success: function(response)
                {
	                $('#div_'+id).empty();
	                $('#div_'+id).append(response);
                }
            });
        }
        else
        {
            $("#row_"+id).show();
        }
        $("#row_"+id).css({'background-color':'#F5F8FA'});
        $("#data_"+id).css({'background-color':'#F5F8FA'});
    }
    else
    {
        $("#row_"+id).hide();
        $("#row_"+id).css({'background-color':'#FFF'});
        $("#data_"+id).css({'background-color':'#FFF'});
    }
}

function URLEncode(str) 
{ 
    str = escape(str); 

    // JScript doesn't think '/' needs to be escaped... 
    // I'm not sure it does either, but take it out to be 
    // consistent with VBScript's built-in URLEncode() 

    while (str.indexOf("/")!=-1) 
    { 
        str = str.replace("/","%2F"); 
    } 
    return str; 
} 

/* 
    Function : getDocumentDetails(id, pktNum, docNum)
        Async call to get document details
*/
function getDocumentDetails(id, documentData, entityData)
{
    
    var url = "i=" + id + "&" + entityData + "&" + documentData;
    var divid = "div_" + id;
    if ($("#row_"+id).is(":hidden")) {
        if (document.getElementById(divid).innerHTML == "")
        {
            $('#div_'+id).append('<div style="padding:20;"><img src="../img/content/wait2.gif" alt="Please wait..." /></div>');
            $("#row_"+id).show();
            
            $.ajax({
                type: "GET",
                url: "getDetailsDOC.asp",		                
                data: url,
                dataType: "html",
                success: function(response)
                {
	                $('#div_'+id).empty();
	                $('#div_'+id).append(response);
                }
            });
        }
        else
        {
            $("#row_"+id).show();
        }
    }
    else
    {
        $("#row_"+id).hide();
    }
}

function URLDecode(psEncodeString)
{
  return unescape(psEncodeString);
}

function updateCart_Click()
{
    var removeItemsCSV = buildCSV(document.getElementsByName("remove")); 
    document.formCart.elements['removeItemsCSV'].value = removeItemsCSV;
    
    var productUpgradeCSV = buildCSV(document.getElementsByName("upgrade"));  
    document.formCart.elements['productUpgradeCSV'].value = productUpgradeCSV;
    
    var productAddCSV = buildCSV(document.getElementsByName("add"));
    document.formCart.elements['productAddCSV'].value = productAddCSV;
}

function buildCSV(itemCollection)
{
    var items = "";
    
    for (var i = 0; i < itemCollection.length; i ++) 
    {
        if (itemCollection[i].checked) 
        {
            items = items + itemCollection[i].value + ",";
        }
    }   
    
    return items;
}


function continueShopping_Click()
{
    document.formCart.action = "../default.asp";
    document.formCart.submit();
}

function checkout_Click()
{
    document.formCart.action = "checkout.asp";
    document.formCart.submit();
}

function checkIsAFF(rowId)
{
    var AFFMsg = document.getElementById("AFFMsg_" + rowId);
    
    //if (!isAFF)
    {
        AFFMsg.style.display = "block";
    }
} 

function putZeroes(fld)
{
    var digit = fld.value.length;
    if (digit == 0)
    {   alert("You must enter a value for this entry");
        fld.focus();
    }      
    if (digit == 1)
    {
        fld.value = "0" + fld.value;
    }
}

function checkYear(fld)
{
    var digit = fld.value.length;

    if (digit == 0)
    {   alert("You must enter a value for this entry");
        fld.focus();
    }
    if ( digit <4 )
    {   alert("Please enter a valid year");
        fld.focus();
    }
}

function checkCompanySearch (form)
{
	if (submit_count > 1)
	{
		alert("Your search is in progress");
		return false;
	}
	else
	{
		// Null Validation		
		if(form.search_criteria.value.length == 0)
		{
			alert("Please enter your search criteria");
			return false;
		}
		
		//ACN Validation
		if (form.search_option.value == "A|DNB")
		{
			var i=0;
  			var iErr=0;
		 
  			if(form.search_criteria.value.length > 9)
    		{
    			iErr = 1;
			}
  			else
  			{
    			for(; i < form.search_criteria.value.length; i++)
    			{
        			var ch = form.search_criteria.value.charAt(i);
        			if(ch < "0" || ch > "9")
        			{
           				iErr = 1; 
           				break;
        			}
     			}
     		}
		 
			if(iErr)
			{
				alert("ACN search must be a 9-digit number");
				return false;
			}
			
			// prepend zeros
			var newStr="";
			
			for(i = form.search_criteria.value.length; i < 9; ++i)
					newStr += "0";
			
			newStr += form.search_criteria.value;
			form.search_criteria.value = newStr;
			
			// mod check on ACN
			var iSum = 0;
			for(i = 0; i < 8; ++i)
	   				iSum += ((8 - i) * parseInt(form.search_criteria.value.substring(i, i+1), 10));
			
			var iRemainder = 10 - (iSum % 10);
			if(iRemainder == 10)
	   				iRemainder = 0;
			
			if((form.search_criteria.value.substring(8, 9) != iRemainder)||form.search_criteria.value == "000000000")
			{
					alert("Sorry, invalid ACN entered");
					return false;
			}
					  
			return true;
		}
		
		// ABN Validation
		if (form.search_option.value == "B|DNB")
		{			
			var i=0;
  			var iErr=0;

  			if(form.search_criteria.value.length != 11)
    		{
    			iErr = 1;
			}
  			else
  			{
    			for(; i < form.search_criteria.value.length; i++)
    			{
        			var ch = form.search_criteria.value.charAt(i);
        			if(ch < "0" || ch > "9")
        			{
           				iErr = 1;
           				break;
        			}
     			}
			}
			
			if(iErr)
			{
					alert("ABN search must be a 11-digit number");
					return false;
			}

			var iSum= 0;
			var weight = 1;
			for (i = 1; i < 11; i++)
			{		
					iSum = iSum + parseInt(form.search_criteria.value.substring(i, i+1), 10) * weight;
					weight = weight + 2;
			}

			iSum = iSum + (parseInt(form.search_criteria.value.substring(0, 1), 10) - 1) * 10;
			var iRemainder = iSum % 89;

			if (iRemainder != 0)
			{ 
				alert("Sorry, invalid ABN entered");
					return false;
			}

		}
		
		// DUNS Validation
		if (form.search_option.value == "D|DNB")
		{
			var i=0;

			if(form.search_criteria.value.length != 10)
			{
				for(; i < 10; i++)
	   			{
	    			var ch = form.search_criteria.value.charAt(i);
	    			if(ch < "0" || ch > "9")
	    			break;
	   			}
			}
			
			if(i != 9)
			{
				alert("DUNS search must be a 9-digit number");
				return false;
			}
			else
			{
				return true;
			}
		}
	
		// DocImage Validation
		if (form.search_option.value == "1|ASC|2")
		{
			if(form.search_criteria.value.length < 9 || form.search_criteria.value.length > 9)
			{
				alert("Document Image Identifier is 9 Characters Long");
				return false;
			}
		}
		
		submit_count++;
		return true;
	}

}


function checkOrder(form)
{
    extract = "";
    shareholdings = "";

	if (submit_count > 1)
	{
		alert("Your request is being processed. Please press OK and wait.");
		return false;
	}
	else
	{
			if(form.last_name.value.length == 0 || form.first_name.value.length == 0)
			{
				alert("Please enter both first name and surname for Director search to proceed");
				return false;
			}

			form.search_name.value =    form.last_name.value + "/" + form.first_name.value
											+ "/" + form.other_name1.value + "/" + form.other_name2.value;
			form.search_type.value = "0005";
	        
			if (form.extract[0].checked)
			{
				extract = form.extract[0].value;
			}
			else
			{
				extract = form.extract[1].value; 
			} 
	        
			if (form.shareholdings[0].checked)
			{
				shareholdings = form.shareholdings[0].value;
			}    
			else
			{
				shareholdings = form.shareholdings[1].value; 
			}

			start_date = form.search_after_day.value + form.search_after_month.value + form.search_after_year.value;
			end_date = form.search_before_day.value + form.search_before_month.value + form.search_before_year.value;
	        
			form.businessid.value = extract + shareholdings + start_date + end_date;

		submit_count++;
		return true;
	}
}