﻿// Copyright Zerone Consulting Pvt. Ltd. 2009
//
// All rights are reserved. Reproduction or transmission in whole or in part,in
// any form or by any means, electronic, mechanical or otherwise, is prohibited
// without the prior written consent of the copyright owner.
//
// Filename      :	peddl.js
// Purpose       :  peddl.js
// Creation Date :	23/December/2009
// Author        :	Naveenkumar C N
// 
// Change History
// Changed By :
// Date :
// Purpose :

function AttachPEDDL( textBox, hidden, requestKeyWord, requestPage )
{
    $('#' + textBox).keydown
    (
        function ()
        {
            $('#' + hidden).val("0");
        }
    );
        $('#' + textBox).autocomplete
    (
        requestPage,
        {
            delay: 5,
            minChars: 2,
            matchSubset: 1,
            matchContains: 1,
            cacheLength: 1,
            autoFill: false,
            formatItem: formatItem,
            extraParams:
            {
                SearchType: requestKeyWord
            }
        }
    )
    .result
    (
        function(event, item) {
           
            $('#' + textBox).val(item[0].split('║')[1]);
            $('#' + hidden).val(item[0].split('║')[0]);
        }
    );

    function formatItem(row) 
    {
        var result = "";
        
        try
        {
            $('#' + hidden).val(0);
            result = row[0].split('║')[1];
        }
        catch ( exc )
        {
        }

        return result;
    }
}


function AttachLookupPEDDL( textBox, requestKeyWord, requestPage )
{
    $('#' + textBox).autocomplete
    (
        requestPage,
        {
            delay: 5,
            minChars: 2,
            matchSubset: 1,
            matchContains: 1,
            cacheLength: 1,
            autoFill: false,
            extraParams:
            {
               SearchType: requestKeyWord
            }
        }
    )
    ;
}

function AttachMultiplePEDDL( textBox, requestKeyWord, requestPage )
{
   $('#' + textBox).autocomplete
    (
        requestPage,
        {
            delay: 5,
            minChars: 2,
            matchSubset: 1,
            matchContains: 1,
            cacheLength: 1,
            autoFill: false,
            multiple: true,
	        multipleSeparator: ', ',
            extraParams:
            {
               SearchType: requestKeyWord
            }
        }
    );
}


function AttachRelationalPEDDL( textBox, hidden, requestKeyWord,  parentControl, requestPage )
{
     $('#' + textBox).keydown
    (
        function ()
        {
            $('#' + hidden).val("0");
        }
    );
     var locAutocomplete = $('#' + textBox).autocomplete
    (
        requestPage,
        {
            delay: 5,
            minChars: 2,
            matchSubset: 1,
            matchContains: 1,
            cacheLength: 1,
            autoFill: false,
            formatItem :formatItem,
            extraParams:
            {
               SearchType: requestKeyWord,
               AdditionalParams : $('#'+ parentControl).val()
            }
        }
    ).result
    (
        function(event, item) 
        {
            $('#' + textBox).val(item[0].split('║')[1]);
            $('#' + hidden).val(item[0].split('║')[0]);
        }
    );
    
     $('#' + parentControl).change
    (
        function() 
        {
            $('#' + textBox).val("");
             $('#' + hidden).val("0");
            locAutocomplete.flushCache();
            locAutocomplete.setOptions
            (
                {
                    extraParams:
                    {
                       SearchType: requestKeyWord,
                       AdditionalParams : $('#'+ parentControl).val()
                    }
                }
            );
        }
    );

    function formatItem(row) 
    {
        var result = "";
        
        try
        {
            $('#' + hidden).val(0);
            result = row[0].split('║')[1];
        }
        catch ( exc )
        {
        }

        return result;
    }
}


function getresult()
{
    alert( $('#txtPassportCountry').val() + "-" + $('#hdnPassportCountry').val() );
}


function AttachMultipleRelationalPEDDL( parentControl, textBox, requestKeyWord, requestPage )
{
    var locAutocomplete = $('#' + textBox).autocomplete
    (
        requestPage,
        {
            delay: 0,
            minChars: 2,
            matchSubset: 1,
            matchContains: 1,
            cacheLength: 1,
            autoFill: false,
            multiple: true,
            multipleSeparator: ', ',
            extraParams:
            {
               SearchType: requestKeyWord,
               AdditionalParams : $('#'+ parentControl).val()
            }
        }
    );
    
    $('#' + parentControl).change
    (
        function() 
        {
            $('#' + textBox).val("");
            locAutocomplete.flushCache();
            locAutocomplete.setOptions
            (
                {
                    extraParams:
                    {
                       SearchType: requestKeyWord,
                       AdditionalParams : $('#'+ parentControl).val()
                    }
                }
            );
        }
    );
    
}

function AttachRelationalPEDDLForTextBox(textBox, hidden, requestKeyWord, parentHdnControl, parentTxtControl, requestPage) 
{
   
    $('#' + textBox).keydown
    (
        function() 
        {
            $('#' + hidden).val("0");
        }
    );


    var locAutocomplete = $('#' + textBox).autocomplete
    (
        requestPage,
        {
            delay: 5,
            minChars: 2,
            matchSubset: 1,
            matchContains: 1,
            cacheLength: 1,
            autoFill: false,
            formatItem: formatItem,
            extraParams:
            {
                SearchType: requestKeyWord,
                AdditionalParams: $('#' + parentHdnControl).val()

            }
        }
    ).result
    (
        function(event, item) 
        {
            $('#' + textBox).val(item[0].split('║')[1]);
            $('#' + hidden).val(item[0].split('║')[0]);
        }
    );

    $('#' + parentTxtControl).blur
    (
        function() 
        {
            $('#' + textBox).val("");
            $('#' + hidden).val("0");
            locAutocomplete.flushCache();
            locAutocomplete.setOptions
            (
                {
                    extraParams:
                    {
                        SearchType: requestKeyWord,
                        AdditionalParams: $('#' + parentHdnControl).val()
                    }
                }
            );
        }
    );

    function formatItem(row) 
    {
        var result = "";

        try {
            $('#' + hidden).val(0);
            result = row[0].split('║')[1];
        }
        catch (exc) {
        }

        return result;
    }
}
