var mapcheck_form_html = '';
var highlighted_product = null;


$(document).ready(function(){

    //Verify if map_filter is loaded, else utoload navigators
    try{
        if(map_filter){
            waitNavigators();
        }else{
            //Autoload
            autoloadNavigators();
        }
    }catch(e){
        //Autoload
        autoloadNavigators();
    }

});

function validateNavigator(){

	if($('#navcode').val()==''){
		//Enable code selection
		$('#verifyBtn').attr('disabled',true);
		$('#mapcode').attr('disabled',true);
	}else{
		//Disable code selection
		$('#verifyBtn').attr('disabled',false);
		$('#mapcode').attr('disabled',false);
	}

}

function checkMapStatus(){
    checkcode = {
        MapCode : $('#mapcode').attr('value') ,
        NavCode : $('#navcode').val()
        };

    send_data = JSON.stringify(checkcode);

    if( $('#navcode').val() == '')
        return;
    else
        $.post('ajax/shop/map_check.php',{
            data : send_data
        },checkedMapStatus,'json');
}

function checkedMapStatus(data){
    rstatus = data['UpdateStatus'];

    title = MapCheckerStatusTitle;
    body  = '';

    if(rstatus == 0){
        //Updated
        body = MapCheckerUpdated;
        body+='<a href="" onclick="newSearch();return false;">'+MapCheckerNewSearch+'</a>';

        $('#checkmap_form').html(body);
    }else if(rstatus == -1){
        //Error
        //$('#mapcheck_messages').html(MapCheckerError);
        $('#mapcode').attr('value',MapCheckerError);
        $('#mapcode').addClass('mapcode_error');
        $('#mapcode').click(function(){
          if($(this).hasClass('mapcode_error')){
              $(this).removeClass('mapcode_error');
              $('#mapcode').attr('value','');
          }
              
        });
    }else{

        //Not updated
        body = MapCheckerNotUpdated;

        //If in maps page highlights that, else go to the map page
        body+='<a href="index.php?swt=0505&mid='+data['ProductId']+'&mc='+data['MapCode']+'&mnc='+data['NavId']+'">'+ShowMeMyMap+'</a>';

        body+='<a href="" onclick="newSearch();return false;">'+MapCheckerNewSearch+'</a>';
        $('#checkmap_form').html(body);
    }
}

function highlightMap(pid){
    try{
        hl_class = 'product_highlighted';
        if(highlighted_product!=null){
            if($('#product_'+highlighted_product).hasClass(hl_class))
                $('#product_'+highlighted_product).removeClass(hl_class);
        }

        $.scrollTo($('#product_'+pid));
        $('#product_'+pid).addClass(hl_class);
        $('#product_'+pid).effect("pulsate", {}, 100);

        highlighted_product = pid;
    }catch(e){

    }

}

function newSearch(){
    $('#checkmap_form').fadeOut('slow',function(){
        $(this).html(mapcheck_form_html).fadeIn();
    });
}

function autoloadNavigators(){
    $.post('ajax/shop/maps.php?retrieve=navigators', {}, readNavigators, "json");
}


function waitNavigators(){

    if(navigators == null)
        setTimeout(waitNavigators,500);
    else
        readNavigators(null);
}

function readNavigators(data){

    var navdata;
    if(data==null){
        navdata = navigators;
    }else{
        navdata = new Array();

        for(n in data)
            navdata[ data[n]['Id'] ] = data[n];
    }

    for(i in navdata){
        nav = navdata[i];
        option = $('<option></option>').attr('value',nav['Id']+'::'+nav['MapType']).html(nav['Name']);
        $('#navcode').append(option);
    }

    //Store form HTML for replacement
    mapcheck_form_html = $('#checkmap_form').html();

}

function findNavigatorModel(data){

    title = FindModel;
    t_html = '<p>'+$('#findmodeltext').html()+'</p>';
    t_html+= '<input type="text" id="SearchProductCode"><button onclick="getNavigatorModel()"></button>';


    if(data){
        //Received data
        try{
            navname = data['Name'];
			navcode = data['Code'];
            id = data['Id'];
            image = data['Image'];
            status = data['Status'];

            if(status==true){
                recv = '<p>'+FindModelYours+' <span>'+navname+'</span></p>';
                recv+= '<p><img src="'+image+'"></p><br>';
				recv+= '<p>'+navcode+'</p>';
                t_html += recv;               
            }else{
				recv = '<p>'+FindModelNotfound+'</p><br>';
				recv+= '<p>'+navcode+'</p>';
                t_html += recv;
            }

        }catch(e){
            
        }
        
    }

    showInfoDialog(title,t_html,'help');
}

function  getNavigatorModel(){
    url = 'ajax/shop/products.php';
    $.post(url+'?retrieve=navbycode&pcode='+$('#SearchProductCode').attr('value'),{},findNavigatorModel,'json');
}


function findCodeInstructions(){

    artCode = {code: 'ShopFindMapCode'};

    $.post(
        'ajax/common/getArticle.php',
        {data: JSON.stringify(artCode)},
        function(data){
            showInfoDialog(data['Title'],data['Text'],'info');
        },
        'json'
    );

    
}

