﻿// JScript File


window.onresize = onResize;
window.onscroll = onScroll;
document.onkeydown = onKey;
var scrollDrag;
var scrollDragX;
var scrollDragW;
var scrollDragL;
var scrollW;
var scrollTId	= -1;
var supList = new Array();
var buyList = new Array();

queue_onload(
	function()
	{
		//buildFilters();
		
		//changeDate("txtStartDate", "txtEndDate");
		
		onResize();
		//onResize();
		
	}
);

function diskey(evento)
{
    var keyCode = evento.keyCode ? evento.keyCode : evento.which ? evento.which : evento.charCode;

    if(keyCode == 13)
        return false;
    else
        return true;
}

function onResize()
{	var o, r, q, p, t = 0;
	var range;

	o = document.getElementById("smallbody");
	if(o != null)
	{
	
		o.style.width = 0;
		o.style.width = o.parentElement.parentElement.offsetWidth;

		r = document.getElementById("scrScroll");
		r.style.left = document.body.scrollLeft;
		r.style.top = document.body.clientHeight - 16 + document.body.scrollTop;
		r.style.width = document.body.clientWidth;

		p = document.getElementById("scrBar");
		q = document.getElementById("scrBarCont");
		if(o.scrollWidth != o.offsetWidth && p != null && q != null)
		{
			p.style.width = 100 / o.scrollWidth * o.offsetWidth + "%";
			scrollDragW = p.offsetWidth;
			scrollW = q.offsetWidth;

			range = q.offsetWidth - p.offsetWidth;

			newPos = range / (o.scrollWidth - o.offsetWidth) * o.scrollLeft;
			
			if(newPos < 0) newPos = 0;
			if(newPos > range) newPos = range;
			p.style.left = newPos;

			if(r.style.display == "none")
				r.style.display = "";
		}
		else
		if(r.style.display == "")
			r.style.display = "none";

	}

}

function onScroll()
{	var o;

	o = document.getElementById("scrScroll");
	if(o != null)
	{
	
		o.style.left = document.body.scrollLeft;
		o.style.top = document.body.clientHeight - 16 + document.body.scrollTop;
		
	}

}

function onKey()
{

	if(event.keyCode == 37)
		onScrollBarDrag(-20);
	else
	if(event.keyCode == 39)
		onScrollBarDrag( 20);

}

function onScrollBarMouse(button)
{	var o = document.getElementById("scrBar");
	var p;

	if(button == 1)
	{

		for(p = event.srcElement;
			p != null
		 &&	p.id != "scrBar"
		 &&	p.id != "scrBarCont"
		 &&	p.id != "scrLft"
		 &&	p.id != "scrRgt";
			p = p.parentElement
		);

		if(p == null)
			return;
			
		if(p.id == "scrBar")
		{

			scrollDragX = event.screenX;
			scrollDragL = o.offsetLeft;
			scrollDrag = true;
			o.setCapture();

		}
		else
		if(p.id == "scrBarCont")
		{
			if(event.x < o.offsetLeft)
				onScrollBarDrag(-o.offsetWidth);
			else
				onScrollBarDrag( o.offsetWidth);
		}
		else
		if(p.id == "scrLft")
		{	p.getElementsByTagName("IMG")[0].src = "inc/img/opt_scroll_leftdn.png";
			onScrollBarDrag(-20);
			if(scrollTId == -1)
				scrollTId = window.setInterval("onScrollBarDrag(-20);", 50, "javascript");
		}
		else
		{	p.getElementsByTagName("IMG")[0].src = "inc/img/opt_scroll_rightdn.png";
			onScrollBarDrag( 20);
			if(scrollTId == -1)
				scrollTId = window.setInterval("onScrollBarDrag( 20);", 50, "javascript");
		}

	}
	else
	if(button == 0)
	{

		scrollDrag = false;
		document.releaseCapture();
		if(scrollTId != -1)
		{	clearInterval(scrollTId)
			scrollTId = -1;
		}
		document.getElementById("scrLft").getElementsByTagName("IMG")[0].src = "inc/img/opt_scroll_leftup.png";
		document.getElementById("scrRgt").getElementsByTagName("IMG")[0].src = "inc/img/opt_scroll_rightup.png";
			
	}

	event.cancelBubble = true;
	event.returnValue = false;
	return false;

}

function onScrollBarDrag(move)
{	var o = document.getElementById("smallbody");
	var p = document.getElementById("scrBar");
	var q = document.getElementById("scrBarCont");
	var newPos, range;
	
	if(typeof move == "undefined")
		move = 0;
     if (o!=null && p!=null && q!=null)
     {
			if(scrollDrag == true || move != 0)
			{

				range = q.offsetWidth - p.offsetWidth;

				if(move == 0)
					newPos = scrollDragL + (event.screenX - scrollDragX) - 16;
				else
					newPos = p.offsetLeft + move - 16;
				if(newPos < 0) newPos = 0;
				if(newPos > range) newPos = range;
				p.style.left = newPos;

				o.scrollLeft = (o.scrollWidth - o.offsetWidth) / range * newPos;

			}
       }
	if(move == 0)
	{
		event.cancelBubble = true;
		event.returnValue = false;
		return false;
	}

}

function switchView()
{

	if(isShadowNinja("master") == true)
	{
		document.getElementsByName("ut")[0].value = "1";
		cmdSwitchView.children[1].innerText = "Originator/Destination View";
		doNinjaStrike("master");
		doNinjaShadow("user");
	}
	else
	{
		document.getElementsByName("ut")[0].value = "";
		cmdSwitchView.children[1].innerText = "Master Account View";
		doNinjaShadow("master");
		doNinjaStrike("user");
	}

}

function doReset()
{
	document.getElementById("SenList").selectedIndex = 0;
	document.getElementById("RecList").selectedIndex = 0;
	resetDate("Start");
	resetDate("End");	
	if (document.getElementsByName("li").length>0)
	document.getElementsByName("li")[0].value = "500";
}

function buildFilters()
{

	var list = document.getElementsByName("su")[0];
	for(i = 1; i < list.options.length; i++)
		supList.push(list.options[i].text);
	if(document.getElementsByName("fs")[0].value != "")
		doFilter("fs", "su");
		
	var list = document.getElementsByName("by")[0];
	for(i = 1; i < list.options.length; i++)
		buyList.push(list.options[i].text);
	if(document.getElementsByName("fb")[0].value != "")
		doFilter("fb", "by");

}

function doFilter(fname, lname)
{

	var filter = document.getElementsByName(fname)[0].value;
	var list = document.getElementsByName(lname)[0];
	var regex;
	var selection = list.options[list.selectedIndex].value;
	var arr;
	var opt;
	var ean;
	
	try
	{
		regex = new RegExp(filter, "i");
	}
	catch(e)
	{
		regex = null;
	}
	
	if(fname == "fs")
		arr = supList;
	else
	if(fname == "fb")
		arr = buyList

	while(list.options.length != 1)
		list.options.remove(1);

	for(i = 0; i < arr.length; i++)
		if(filter == ""
		|| regex != null && arr[i].search(regex) != -1
		|| arr[i].indexOf(filter) != -1)
		{

			opt = document.createElement("OPTION");
			opt.text = arr[i];
			ean = arr[i].lastIndexOf("(") + 1;
			opt.value = arr[i].substring(ean, arr[i].length - 1);
			if(selection == opt.value)
				opt.selected = true;
			list.add(opt);

		}

}

function doKeyApply()
{
	//if(event.keyCode == 13)
	//	doApply();
}

function doApply()
{	
    var o, d, i;

	o = document.getElementsByName("sd")[0];
	o.value = "";
	d = parseDate(document.getElementById("txtStartDate").value, "Start");
	for(i = 0; i < d.length; i++)
		o.value += d[i];

	o = document.getElementsByName("ed")[0];
	o.value = "";
	d = parseDate(document.getElementById("txtEndDate").value, "End");
	for(i = 0; i < d.length; i++)
	o.value += d[i];

	//document.getElementsByName('exp')[0].value = "";
	document.getElementById('form1').submit();
}

function onSubmit(){
	var obj, obj1,obj2,obj3;
	obj = document.getElementsByName("reasontext")[0];
	obj1 = document.getElementsByName("reasonid")[0];
	obj2 = document.getElementsByName("reasontext2")[0];
	obj3 = document.getElementsByName("reasonid2")[0];
	//obj2 = document.getElementsByName("reasoninit")[0];

	if(obj.value == "" && obj1.value == "0" && obj2.value == "" && obj3.value == "0")
	{
	   	    alert("Please enter a reason.");
		    return;
		
	}
    document.getElementsByName("reasontext")[0].value = obj.value;
    document.getElementsByName("reasonid")[0].value = obj1.value;
    document.getElementsByName("reasontext2")[0].value = obj2.value;
    document.getElementsByName("reasonid2")[0].value = obj3.value;
    //document.getElementsByName("reasoninit")[0].value = obj2.value;
	//doApplyBasic();
	document.getElementsByName('noteform')[0].submit();
}

function doSubmit()
{
    if(form.fireEvent("onsubmit") == true)
	    form.submit();
}

function cbSubmit(boxnum)
{
    if (boxnum == 1){
   
       if (document.getElementById("Cb1").checked == true)
       {
            document.getElementById("Cb2").checked = false
       }
    }
      if (boxnum == 2){
 
       if (document.getElementById("Cb2").checked == true)
       {
            document.getElementById("Cb1").checked = false
       }
    }
       if (boxnum == 3){
   
       if (document.getElementById("Cb3").checked == true)
       {
            document.getElementById("Cb4").checked = false
       }
    }
       if (boxnum == 4){
       if (document.getElementById("Cb4").checked == true)
       {
            document.getElementById("Cb3").checked = false
       }
    }
    document.getElementById("vitable").submit();
}

function doApplyBasic()
{
	document.getElementsByName('form')[0].submit();
}

function doExport()
{	var o, d, i;

	o = document.getElementsByName("sd")[0];
	o.value = "";
	d = parseDate(document.getElementById("txtStartDate").value);
	for(i = 0; i < d.length; i++)
		o.value += d[i];

	o = document.getElementsByName("ed")[0];
	o.value = "";
	d = parseDate(document.getElementById("txtEndDate").value);
	for(i = 0; i < d.length; i++)
		o.value += d[i];

	document.getElementsByName('exp')[0].value = "1";
	document.getElementsByName('form')[0].submit();
}

function resetSearchForIn()
{

	document.getElementsByName("sid")[0].value = "";
	document.getElementsByName("dte")[0].value = "";
	document.getElementsByName("icr")[0].value = "";
	document.getElementsByName("sts")[0].value = "";
	document.getElementsByName("org")[0].value = "";
	document.getElementsByName("dst")[0].value = "";
	document.getElementsByName("mst")[0].value = "";
	document.getElementsByName("orf")[0].value = "";
	document.getElementsByName("cic")[0].value = "";
	document.getElementsByName("flt")[0].value = "";
	document.getElementsByName("uid")[0].value = "";
	document.getElementsByName("mno")[0].value = "";
	document.getElementsByName("pro")[0].value = "";
	document.getElementsByName("nts")[0].value = "";

}

function searchForIn(For, In)
{

	resetSearchForIn();

	document.getElementsByName(In)[0].value = For;
	
	doApply();

}

function switchDateMethod()
{	var o, p;

	o = document.getElementById("cmdDate");
	p = document.getElementsByName("dm")[0];
	
	if(p.value == "")
	{
		o.children[1].innerText = "Single";
		o.children[0].src = "inc/img/opt_date.png";
		p.value = "1";
		changeDate("txtStartDate", "txtEndDate");
	}
	else
	{
		o.children[1].innerText = "Range";
		o.children[0].src = "inc/img/opt_dater.png";
		p.value = "";
	}

}

function select_deselectAll(chkVal, idVal)
{
  var frm = document.forms[0];
  
  for (i=0; i<frm.length; i++)
  {
       if (idVal.indexOf('box') != -1)
       {
        if (frm.elements[i].disabled == false)
        {
            if(chkVal == true)
            {
                 if (frm.elements[i].checked == true)
                    frm.elements[i].checked = false;
                 else
                    frm.elements[i].checked = true;
            }
            else
            {
                 frm.elements[i].checked = false;
            }
        }
       }
       else if (idVal.indexOf('del') != -1)
       {
            if(frm.elements[i].checked == false)
            {
                 frm.elements[1].checked = false; 
            }
       }
  }
}

function FinaliseAll()
{
    var mconfirm = confirm ('You are about to finalise this batch, all invoices will be processed with their current status. Do you wish to continue?');
    e = document.getElementsByName("event")[0];
    e.value = "finaliseall";
    if (mconfirm == true)
        doApplyBasic();
}

function cFinalise()
{
    var oChk, index;
	var aPrn = Array(), i = 0;
	var Warn
    var c
    
	oChk = document.getElementsByTagName("input");

	for(index = 0; index < oChk.length; index++)
	if(oChk[index].type.toLowerCase() == "checkbox")
	if(oChk[index].checked == true)
		aPrn[i++] = oChk[index].value;

	if(i == 0)
		alert("No batch(es) selected to be finalised");
	else
	{
		document.all.oval.value = "";
		for(index = 0; index < i; index++)
			document.all.oval.value += aPrn[index].replace(/\s+/, '') + ",";

		c = confirm ('You are about to finalise the selected invoices');

        if (c == true)
        {
            document.getElementsByName("event")[0].value = "finalise";
            doApply();
        }
	}
}

function Finalise()
{
    var e,form = document.forms[0];
    
    for (i=0; i<form.length; i++)
    {
        if (form.elements[i].id.indexOf('del') !=-1)
        {
            // If any are checked then confirm alert, otherwise nothing happens
            if(form.elements[i].checked)
            {
                var mconfirm = confirm ('You are about to finalise the batch(es) selected!');
                e = document.getElementsByName("event")[0];
                e.value = "finalise";
                if (mconfirm == true)
                    doApply();
            }
        }
    }
    alert('No batch(es) selected to be finalised.')
    return false
}

function Back()
{
    history.go(-1)
}

function Apply()
{
   //var act;
   //act = document.getElementsByName("event")[0];
   //act.value = "apply";
   
   doApply();
}

function AcceptSelected(){
    //var mconfirm = confirm ('You are about to mark all selected messages as ACCEPTED. Do you wish to continue?');
    //e = document.getElementsByName("event")[0];
    //e.value = "acceptinvsel";
    //if (mconfirm == true)
    //  doApplyBasic();
        
    var oChk, index;
	var aPrn = Array(), i = 0;
	var Warn
    var c
    
	oChk = document.getElementsByTagName("input");

	for(index = 0; index < oChk.length; index++)
	if(oChk[index].type.toLowerCase() == "checkbox")
	if(oChk[index].checked == true)
		aPrn[i++] = oChk[index].value;

	if(i == 0)
		alert("No messages selected.");
	else
	{
		document.all.oval.value = "";
		for(index = 0; index < i; index++)
			document.all.oval.value += aPrn[index].replace(/\s+/, '') + ",";
		//c = confirm ('You are about to accept the selected messages');
        c = confirm ('You are about to mark all selected messages as ACCEPTED. Do you wish to continue?');

        if (c == true)
        {
            document.getElementsByName("event")[0].value = "acceptinvsel";
            doApplyBasic();
        }
	}
}

function RejectSelected(){
//    var mconfirm = confirm ('You are about to mark all selected invoices as REJECTED. Do you wish to continue?');
//    e = document.getElementsByName("event")[0];
//    e.value = "rejectinvsel";
//    if (mconfirm == true)
//        doApplyBasic();
    
    var oChk, index;
	var aPrn = Array(), i = 0;
	var Warn
    var c
    
	oChk = document.getElementsByTagName("input");

	for(index = 0; index < oChk.length; index++)
	if(oChk[index].type.toLowerCase() == "checkbox")
	if(oChk[index].checked == true)
		aPrn[i++] = oChk[index].value;

	if(i == 0)
		alert("No messages selected.");
	else
	{
		document.all.oval.value = "";
		for(index = 0; index < i; index++)
			document.all.oval.value += aPrn[index].replace(/\s+/, '') + ",";

		//c = confirm ('You are about to accept the selected messages');
        c = confirm ('You are about to mark all selected messages as REJECTED. Do you wish to continue?');

        if (c == true)
        {
            document.getElementsByName("event")[0].value = "rejectinvsel";
            doApplyBasic();
        }
	}
}

function AcceptInvoice()
{
    var mconfirm = confirm ('Mark Invoice as ACCEPTED?');
    e = document.getElementsByName("event")[0];
    e.value = "acceptinv";
    if (mconfirm == true)
        doApplyBasic();
}

function RejectInvoice()
{
    var mconfirm = confirm ('Mark Invoice as REJECTED?');
    e = document.getElementsByName("event")[0];
    e.value = "rejectinv";
    if (mconfirm == true)
        doApplyBasic();
}

function doPrint()
{	
    var oChk, index;
	var aPrn = Array(), i = 0;
	var Warn

	oChk = document.getElementsByTagName("input");

	for(index = 0; index < oChk.length; index++)
	if(oChk[index].type.toLowerCase() == "checkbox")
	if(oChk[index].checked == true)
		aPrn[i++] = oChk[index].value;

	if(i == 0)
		alert("You must select the batch(es) you want to print by ticking their related checkbox");
	else
	{

		document.all.txtPrint.value = ";";
		for(index = 0; index < i; index++)
			document.all.txtPrint.value += aPrn[index].replace(/\s+/, '') + ";";


		document.all.frmPrint.submit();
        //alert("values = " + document.all.txtPrint.value);
	}

}



/*
function changeDateCB(why, from)
{

	if(why == "date")
		if(from == document.getElementById("txtStartDate"))
			changeDate("txtStartDate", "txtEndDate");
		else
		if(from == document.getElementById("txtEndDate"))
			changeDate("txtEndDate", "txtStartDate");

}

function changeDate(s, t)
{	var o, p, a, b;

	o = document.getElementById(s);
	p = document.getElementById(t);

	if(document.getElementsByName("dm")[0].value == "1")
	{

		if(s == "txtEndDate")
			if(confirm("Do you want to switch to ranged mode?") == true)
			{
				switchDateMethod();
				return;
			}

		a = parseDate(o.value);
		b = parseDate(p.value);

		if(a[0] != b[0]
		|| a[1] != b[1]
		|| a[2] != b[2])
			p.value = a[2] + "/" + a[1] + "/" + a[0] + " " + b[3] + ":" + b[4];

	}

}

setCallback(changeDateCB);*/

function doKeydown()
{	var login, index;
	var oInput;
	var next;

	text_focus.focus();
	
	if(event.srcElement.innerText == "/")
	{
	
		login = document.getElementsByName("login");
		for(index = 0; index < login.length; index++)
			if(login[index].tagName == "FORM")
				login[index].submit();
				
	}
	else
	if(event.srcElement.innerText == "Tab")
	{
	
		next = false;
		oInput = document.getElementsByTagName("input");
		for(index = 0; index < oInput.length; index++)
			if(oInput[index].type == "text"
			|| oInput[index].type == "password")
				if(next == false)
				{
					if(oInput[index] == text_focus)
						next = true;
				}
				else
				{	
					text_focus = oInput[index]
					next = false;
				}

		if(next == true)
			text_focus = oInput[0];

		text_focus.focus();
	
	}
	else
	if(event.srcElement.innerText == "Caps")
	{
	
		if(text_caps == 1)
			text_caps = 2;
		else
		{
			if(text_caps == 0)
				text_caps = 2;
			else
				text_caps = 0;
			swapCase();
		}
	
	}
	else
	if(event.srcElement.innerText == "Shift")
	{
	
		if(text_caps == 2)
			text_caps = 1;
		else
		{
			if(text_caps == 0)
				text_caps = 1;
			else
				text_caps = 0;
			swapCase();
		}
	
	}
	else
	{
	
		if(event.srcElement.innerText == "<-")
			text_focus.value = text_focus.value.substring(0, text_focus.value.length - 1);
		else
		if(event.srcElement.innerText == "Del")
		{
			text_focus.value = "";
		}
		else
		if(event.srcElement.innerText == "")
			text_focus.value += " ";
		else
			text_focus.value += event.srcElement.innerText;

		if(text_caps == 1)
		{
			text_caps = 0;
			swapCase();
		}
		
	}

}
