var OrderEntryMode=false;
var BasketVisible=true;
var intervalID;
var b;
var pollInterval = 500;
var checkoutLoaded;


b=new Basket(null,3,null,null,'basketcontent');


function Pick(Id, Action, Code, Description, evnt){
    cancelPropagation(evnt);

    if (Action.toLowerCase()=='add'){
		b.addItemDB(Id,1,Code,Description);
	}else{
		basketAction('Adding Items...','../Basket/','?Action=' + Action + '&ID=' + Id);
	}
}
function Drop(Id){
		b.deleteItemDB(Id);
}
function EmptyBasket(){
		b.emptyDB();
}

function quickAdd(code, qty){
    if(code==null){
        code = document.getElementById('productCode').value;
        //Added to ASL so the test box will have this value and get cleared on focus
       // document.getElementById('productCode').value = 'item code';
        
    }
    if(qty==null){
        qty=document.getElementById('quantity').value;
    }
	if(b.checkedOut){
		b.cancelCheckout();
	}

	basketAction('Adding Item...','','?Action=qAdd&Code='+escape(code)+'&Qty='+qty);
}
function SetQty(Id, qty){
	var q=Number(qty);
	if(!isNaN(q)){
		b.pendingUpdate(Id);
		basketAction('Updating Item...','','?Action=Update&Id='+Id+'&Qty='+parseInt(q,10));
		return true;
	}else{
		return false;
	}
}
function basketAction(t,path,actn){

	try{
			b.setMessage(t);
	}catch(e){
		nothing=0;
	}

	neotekscript('../basket/action.aspx' + actn + '&version=3' + '&'+ b.VersionParameter);

}

function basketCheckout(){
    top.b.checkout();
}
function basketSecureCheckout() {
    //alert('Secure Checkout Called');
    top.b.secureCheckout();

//	    var Mainurl = top.InfoFrame.location.pathname.toLowerCase();

//		if(
//			(Mainurl == '/basket/checkout2.aspx')
//			||
//			(Mainurl == '/basket/checkout.htm')
//			)
//		{
//		    // Disable the onunload event for the current page in the results frame
//		    // so that the basket does not get refilled while at the checkout page.
//			top.InfoFrame.document.body.onunload = null;
//		}

//		checkoutLoaded = false;
//		var newUrl = "https://" + top.InfoFrame.location.host + "/basket/Checkout3.aspx";
//		top.InfoFrame.location.replace(newUrl);
//        if( intervalID != null ){
//            clearInterval( intervalID );
//        }

//		intervalID = setInterval( "checkCheckoutFinished()", pollInterval );

}
function basketQuote(){
	top.InfoFrame.location.replace('Quote.aspx');
}
function setOrderRef(obj){

    basketAction('setting reference' ,'','?action=setref&ref=' + escape(obj.value));
}

function toggleMode(obj){
    var w = screen.availWidth;
    alert("the width is " + w);
	var l = 0;
	if (!OrderEntryMode){
		OrderEntryMode=true;
		l = screen.availWidth-210;
		w = 210;
		obj.title='Maximise window';
	}else{
		OrderEntryMode=false;
		obj.title='Shrink window for Order entry';
	}
	var h = screen.availHeight;
	var t = 0;
	window.moveTo(l, t);
	window.resizeTo(w,h);
	return true;
}

function BasketDesc(txt, i){
	div = top.toolbar.document.getElementById("BasketDesc");
	try{
		top.setText(div,txt);
	}catch(e){
		if(typeof(i)!='undefined' && i!=null){
			i=1;
		}
		if(i<5){
			setTimeout('top.BasketDesc(\''+ txt + '\', '+i+')',1000);
		}
	}
}


function ReqInfoPopUp(RecordID){
	if(RecordID > 0){
		var w = 500;
		var h = 330;
		var sw = window.screen.width;
		var sh = window.screen.height;
		var l = (sw-w)/2;
		var t = (sh-h)/2;
		wItem = window.open("BasketInfoPopUp.aspx?Id=" + RecordID, "_item", 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,height=" + h + ",width=" + w + "');
		wItem.blur();
		wItem.resizeTo(w,h);
		wItem.moveTo(l, t);
		wItem.focus();
	}
}

function FocusOn(e, trgt){
	var iKeyCode, strKey, objInput;
	var strUserA = navigator.userAgent.toLowerCase();
	if (strUserA.indexOf("msie") > -1) {
		iKeyCode = e.keyCode;
		objInput = e.srcElement;
	} else {
		iKeyCode = e.which;
		objInput = e.target;
	}
	if (iKeyCode == 43){
		trgt.focus();
		trgt.select();
		return false;
	}
}

function checkCheckoutFinished()
{
    var mainUrl;

    try{
        mainUrl = top.InfoFrame.location.pathname.toLowerCase();

        if( checkoutLoaded && mainUrl != '/basket/checkoutcancel.aspx' ){
            clearInterval( intervalID );
            checkoutLoaded = false;

            b.cancelCheckout(1);
	        //basketAction('', '../basket/', 'ajax=1&refresh' );
	        basketAction('', '../basket/', 'refresh' );

        }
    }
    catch( e ){
        if( !checkoutLoaded ){
            checkoutLoaded = true;
        }
    }
}

function basketvisible(visible){
    var b = document.getElementById('basket');
    if(visible==true){
        b.style['display']='block';
    }else{
        b.style['display']='none';
    }
      var b = document.getElementById('basketsummary');
    b.style['display']='none';
    try{
	    basketscroller.move(0);
	}catch(e){}

}

function insufficientStockNotification( suppliedQuantity, requestedQuantity )
{
    var settings;

    if( suppliedQuantity == null && requestedQuantity == null ){
        settings = {
            URL: '/Alert.aspx?AlertId=1',
            Message: '',
            CloseOnLoseFocus: false,
            Width : 350,
            Title : 'Insufficient Stock',
            ShowClose: true,
            AutoResize: false
        };
    }
    else{
        settings = {
            URL: '/Alert.aspx?AlertId=1&supplied=' + suppliedQuantity + '&requested=' +
                 requestedQuantity,
            Message: '',
            CloseOnLoseFocus : false,
            Width : 350,
            Title : 'Insufficient Stock',
            ShowClose: true,
            AutoResize: false
         };
    }

    top.NeotekPopup.Show(settings);
}

function showBasketPopup(message) {
    /*var settings;

    settings = {
        URL: '/Alert.aspx?AlertId=1?msg=' + message,
        Message: '',
        CloseOnLoseFocus: false,
        Width: 350,
        Title: 'Insufficient Stock',
        ShowClose: true,
        AutoResize: false
    };

    top.NeotekPopup.Show(settings);*/
    return;
}

// When Click add clicked, Calls this on return of ajax.
function QuickAddCallback() {
    //b.getElement('basketmsg').innerHTML = 'Item added';

};

function quickAddAlert(message) {

    b.getElement('basketmsg').innerHTML = message;
    
}


function quickAddReset() {

    b.getElement('productCode').value = 'item code';
    b.getElement('productCode').blur();
    b.getElement('quantity').value = '1';

}
