var Wfdis = Wfdis || {};  

Wfdis.Purchase = function ()
{   
     $('.choice').mouseover(function(){$('#infoBox').html($('#p_'+$(this).attr('for')+'').html());}).mouseout(function(){$('#infoBox').html('');}); 
     $('.checkbox').click(function()
     {
        var b = $(this).attr('rel');
        var c = (b==1)?2:1;
        
        if(c==2)
        {
            $('.product_type3').attr('checked',false);
        }
        
        $('.product_type'+c+'').attr('checked',false);
                          
     });
     
     $('.checkbox').click(function()
     {
        $('#form_error').html('').hide();
        var b = $('.checkbox:checked').WfdisSerCheck() || false;
        if(b.length<=1)
        $('#form_error').html('').hide();
        
        if(b.length>0)
        {
            $.getJSON(''+Wfdis.BasePath+'/register/Conflict/',{ids:b.join(',')},function(data)
            {
                if(data.result.length<=0)return;
                var X = data.result.split(',');
                var E = [];
                var L = 0;
                for($i=0;$i<X.length;$i++)
                {
                    E[L] = $('#Label_'+X[$i]+'').html();
                    L++;
                }
                $('#form_error').html('Note: packages selected contain overlapping databases <br />'+E.join('<br />')).show();
            });
        }
     });
}
Wfdis.DisablePurchased = function(t)
{
     if('string' == typeof Wfdis.Current_Products)
     {
        var A = Wfdis.Current_Products.split(',') || [];
        $(A).each(function()
        {
            $('#Field0_'+this+'').attr('checked',true).attr('disabled',true);
            $('#Label_'+this+'').css('color','#C0C0C0');
        });
     }        
}
Wfdis.SaveSelected = function(t)
{ 
    var v=$.map($("input:checked").get(),function(a){return a.value;}).unique(); 
    $('#no_export').attr('value','1');
    $("#"+Wfdis.form_id+"").attr('action',t)
    if(!parseInt(v.length))
    { 
        //$('#con_form').attr('method','get'); 
        $('#HiddenSubmit').trigger('click');      
        //return document.location = t;
        return true;
    }
    $('#Storage').attr('value',v.join(','));
    $("#"+Wfdis.form_id+"").attr('action',t);
    $('#HiddenSubmit').trigger('click');  
    return false;
} 
Wfdis.FetchSelected = function ()
{     
    var v =  $('#Storage').attr('value') || false;         
    if(v==false)return;
    if(v.split(',').length);   
    return jQuery.makeArray(v.split(',').unique());
}
Wfdis.ClearSelected = function ()
{         
    $('#Cookie').remove(); 
    $("#"+Wfdis.form_id+"").MyToggleCheck(0);  
    $('#SelectedNotice').html(''); 
    $('#Storage').attr('value','');  
    $('#export_all').attr('value','');
    $("#"+Wfdis.form_id+"").MyDisableCheck(0); 
    Wfdis.checkall = false;
    return true;
}
Wfdis.Pager=function(url,i)
{
    var b = $('#PagerSelect').attr('value');
    var c = (parseInt(i)==1)?(parseInt(b)+1):(parseInt(b)-1);
    $('#no_export').attr('value','1');
    //document.location=url+'/page/'+c;
    var t = url+'/page/'+c;                                
    Wfdis.SaveSelected(t);
}
Wfdis.CheckUncheckAll = function()
{
    var c = (Wfdis.checkall)?false:true;
    var a = $("#"+Wfdis.form_id+"").MyToggleCheck(c);
    Wfdis.checkall = (c)?true:false;
}
Wfdis.SelectedCount = function()
{               
    var v = $.map($("input:checked").get(), function(a) {return a.value;});
    if(!parseInt(v.length))return $('#SelectedNotice').html('');
    $('#SelectedNotice').html(' Selected '+v.length+' contacts <a href="#" onclick="Wfdis.ClearCookie();">Clear</a>');
    $('#form_error').html('').hide();
}
Wfdis.ClearCookie = function ()
{         
    if(!Wfdis.action){Wfdis.ParseUrl();}  
    $('#Cookie').remove(); 
    $("#"+Wfdis.form_id+"").MyToggleCheck(0); 
    $('#SelectedNotice').html(''); 
  
    $('#export_all').attr('value','');
    //$.cookie(''+Wfdis.action+'_search_results_selected','',{path: '/'});  
    Wfdis.checkall = 0;
}
Wfdis.ParseUrl = function()
{
    var p = ['path','class','action','id']; 
    var r = document.location.pathname.replace(/^\//,'');
    var b = r.split("/");
    if(!b.length)return; 
    for(var i in p){Wfdis[p[i]] = b[i] || false;}
    return (Wfdis)?Wfdis:false; 
}
$.fn.MyToggleCheck = function(i)
{
    var B = [];
    var X = $("input[type=checkbox]",this).not('.CookieSelect');
    var C = 0;
    for(a=0;a<X.length;a++){X[a].checked=(i)?true:false;}  
}
$.fn.MyDisableCheck = function(i)
{
    var B = [];
    var X = $("input[type=checkbox]",this).not('.CookieSelect');
    var C = 0;
    for(a=0;a<X.length;a++){X[a].disabled=(i)?true:false;}  
}
Array.prototype.unique =
  function() {
    var a = [];
    var l = this.length;
    for(var i=0; i<l; i++) {
      for(var j=i+1; j<l; j++) {
        // If this[i] is found later in the array
        if (this[i] === this[j])
          j = ++i;
      }
      a.push(this[i]);
    }
    return a;
}
$.fn.WfdisSerCheck = function()
{
    var B = [];
    var X = $("input",this);
    var C = 0;
    $(this).each(function(){
        if(this.disabled==false)
        {
            B[C] = this.value; C++;
        }
    });
    if(parseInt(B.length))
    return B;
}

$.fn.clearForm = function() {
  // iterate each matching form
  return this.each(function() {
$('.HasSelected').html('');
 // iterate the elements within the form
 $(':input', this).each(function() {
          
   var type = this.type, tag = this.tagName.toLowerCase();
   if (type == 'text' || type == 'password' || tag == 'textarea')
  this.value = '';
   else if (type == 'checkbox' || type == 'radio')
  this.checked = false;
   else if (tag == 'select')
  this.selectedIndex = -1;
 });
  });
};
