$(document).ready(function() {
    $('#result').hide();
    $('#blankRow').hide();
    loadCart();
    
	$('#btnWhois').click(function() {
        $('#result').show();
        whoisSearch();
    });
    $('#AddMultipleLink').click(function() {
        addMultipleToCart();
    });
    
    $('#SelectAvailable').click(function(){
    	$('.checkbox').each(function() {
    		if($(this).hasClass('CheckboxAvailable')){
    			$(this).attr('checked','checked');
   			}
   		});
    })
    
});
function whoisSearch()
{
    $('#result-table tr').not('#blankRow,#headRow,#emptyRow').remove();
    
    var toCheck = [];
    
    var fetchAll = $('#fetchAll:checked').val() == 1 ? true : false;
    var domainList = $.trim(($('#domainList').val()+'').toLowerCase().replace("www.","")).split("\n");
    var k = 0;
    var oldDomain = '';
    for(var i = 0; i < domainList.length; i+=1)
    {
		
        var p = strpos($.trim(domainList[i]), ".");

        if(p == false){
            domainList[i] = {'sld': $.trim(domainList[i]), 'tld': 'nl'};
           	var fetchTld = fetchAll == true ? tldList : tldListCommon; 
        }else{
            domainList[i] = {'sld': $.trim(domainList[i]).substr(0, p), 'tld': $.trim(domainList[i]).substr(p + 1)};
        	var fetchTld = fetchAll == true ? tldList : [domainList[i]['tld']];
		}
		
		if(i == 0){
			oldDomain = domainList[i]['sld'];
		}else if(oldDomain != domainList[i]['sld']){
			$('#result-table').append('<tr><td colspan="4">&nbsp;</td></tr>');
			$('#headRow').clone().appendTo('#result-table').attr('id', 'tr2'+ domainList[i]['sld']);
			k = 0;
		}

        for(var j = 0; j < fetchTld.length; j++)
        {
            k++;
			tld = fetchTld[j].replace('.','_');
            $('#blankRow').clone().appendTo('#result-table').attr('class', ((k%2) == 0) ? 'even' : 'oneven').attr('id', 'tr'+ domainList[i]['sld'] +'-'+ tld);
            $('#tr'+ domainList[i]['sld'] +'-'+ tld +' > td:first').html('<input type="checkbox" class="checkbox" value="'+ domainList[i]['sld'] +'.'+ fetchTld[j] +'" />'+ domainList[i]['sld'] +'.'+ fetchTld[j]);
            $('#tr'+ domainList[i]['sld'] +'-'+ tld).show();
            
            toCheck[toCheck.length] = domainList[i]['sld'] + '|' + fetchTld[j];
        }       
    }

    checkDomain(toCheck);
}

function checkDomain(DomainArray, i){
	if(i == undefined)
		i = 0;
		
	if(DomainArray[i]){
		Domain = DomainArray[i].split('|');
	
		
		$.post('/inc/ajax.whois.php', {sld: Domain[0], tld: Domain[1], domainNumber: (i == 0) ? 0 : 1}, function(data) {
	        $('#tr'+ data.sld +'-'+ data.tld.replace('.','_') +' > td:first').next().html(data.status == 'active' ? '<b class="bezet">Bezet</b>' : (data.status == 'free' ? '<b class="vrij">Vrij</b>' : '<b class="error">Fout</b>')).next().html(data.price).next().html((data.status == 'active') ? '<a href="#" class="verhuizen">Verhuizen</a>' : (data.status == 'free' ? '<a href="#" class="selecteren">Selecteren</a>' : '&nbsp;')).bind('click', function() { if(data.status == 'active' || data.status == 'free') { addToCart(data.sld, data.tld); $(this).unbind().html('Geselecteerd');} });
	        
			if(data.status == 'free'){
				$('#tr'+ data.sld +'-'+ data.tld.replace('.','_') +' > td:first > .checkbox').addClass('CheckboxAvailable');
			}
			
	        checkDomain(DomainArray, i+1);
	        
	    }, 'json');
    }
}

function addToCart(sld, tld)
{
    $.post('/inc/ajax.cart.php', {mode: 'add', sld: sld, tld: tld}, function() { loadCart(); });
}
function addMultipleToCart()
{
    $('.checkbox:checked').each(function() {
        var p = strrpos($.trim($(this).val()), ".");
        addToCart($.trim($(this).val()).substr(0, p), $.trim($(this).val()).substr(p + 1));
    });
}
function removeFromCart(sld, tld)
{
    $.post('/inc/ajax.cart.php', {mode: 'remove', sld: sld, tld: tld}, function() { loadCart(); });
}
function loadCart()
{
    $.post('/inc/ajax.cart.php', {mode: 'show'}, function(data) {
    	
        if(data != null && data.domains.length > 0)
        {
            var res = '<ul>';
            for(var i = 0; i < data.domains.length; i++)
            {
                res += '<li><a href="#"><span class="aantal">1x</span>'+ data.domains[i].sld +'.'+ data.domains[i].tld +' <span onclick="removeFromCart(\''+ data.domains[i].sld +'\', \''+ data.domains[i].tld +'\');">[X]</span><span class="prijs">&euro; '+ data.domains[i].price +'</span></a></li>';
            }
            res += '</ul>';
            $('#cartResult').html(res);
            $('#priceTotal').html('Totaalprijs: &euro; '+ data.price);
        }
        else
        {
            $('#cartResult').html('<p>Uw winkelwagen is leeg</p>');
            $('#priceTotal').html('Totaalprijs: &euro; 0,00');
        }
    }, 'json');
}
