var OrderEntryMode=false;
var BasketVisible=true;
var intervalID;
var b;
var pollInterval = 500;
var checkoutLoaded;


//b=new Basket(null,null,null,null,'basketscrlayer');
b=new Basket(null,3,null,null,'basketcontent');


function Pick(Id, Action, Code, Description, Event){
    cancelPropagation(Event)

    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;
    }
    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,action){    
    
	try{
			b.setMessage(t);
	}catch(e){
		nothing=0;
	}	
		
	neotekscript('../basket/action.aspx' + action + '&version=3' + '&'+ b.VersionParameter);
	
}

function basketCheckout(){
    top.b.checkout();
}
function basketSecureCheckout(){

	    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/checkout2.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;
	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(text, i){
	div = top.toolbar.document.getElementById("BasketDesc");
	try{
		top.setText(div,text);
	}catch(e){
		if(typeof(i)!='undefined' && i!=null){
			i=1;
		}
		if(i<5){
			setTimeout('top.BasketDesc(\''+ text + '\', '+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, target){
	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){
		target.focus();
		target.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);  
}
