//-------------------------------------------------------------------------------------
// The JavaScript code for the Store. Valid for all versions
// Julian Perez, 2009
//-------------------------------------------------------------------------------------

//-------------------------------------------------------------------------------------
// Returns the object that AJAX communicates client and server 
//-------------------------------------------------------------------------------------

function GetAjaxObject()
{
   if (window.ActiveXObject)
   { 
       return new ActiveXObject("Microsoft.XMLHTTP");
   }
   if (window.XMLHttpRequest)
   {  
       return new XMLHttpRequest();
   }
   alert("Your browser does not support AJAX.");
   return null;
}

var ajaxObject;

//-------------------------------------------------------------------------------------
// Rubik's cube Ajax functions 
//-------------------------------------------------------------------------------------

var rubikFile;

function Rubik(parameter) 
{
	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		ajaxObject.open("GET", "RubikAjax.php?"+parameter, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = UpdateGif;
	}
}

function OnRubikSize() 
{
	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		var rsize = document.rubikform.Size.options[document.rubikform.Size.selectedIndex].value;
		ajaxObject.open("GET", "RubikAjax.php?Size="+rsize, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = UpdateGif;
	}
}

function UpdateGif()
{
	if(ajaxObject.readyState == 4  && ajaxObject.status==200)
	{
		str = ajaxObject.responseText;
		idx = str.indexOf(",");
		bitmap1 = str.substring(0,idx);
		bitmap2 = str.substring(idx+1);

		var img = new Image();
		img.src = bitmap1.substring(0,bitmap1.indexOf("?"));
		var img2 = new Image();
		img2.src = bitmap2.substring(0,bitmap2.indexOf("?"));

		document.getElementById("RubikImg").src = bitmap1;
		document.getElementById("RubikImg2").src = bitmap2;
//		setTimeout(NewImage,100);
	}
}

function NewImage()
{
	var img = new Image();
	rubikFile = ajaxObject.responseText;
	img.src = rubikFile;
	document.getElementById("RubikImg").src = img.src;
}

//-------------------------------------------------------------------------------------
// Put zeroes to the right 
//-------------------------------------------------------------------------------------

    function HeadZeroes(number, digits) 
    { 
        s = number.toString(); 
        while (digits > s.length) 
        { 
            s = '0' + s; 
        } 
        return s; 
    } 
 
//-------------------------------------------------------------------------------------
// Show a time counter 
//-------------------------------------------------------------------------------------

var startTime = 0;
var unsorted = 1;
var milisecs = 0;
var timeoutId = 0; 

function TimeCounter()
{
	if(unsorted == 0)
	{
	 	clearTimeout(timeoutId); 
		return;
	}
	var ctrl = document.getElementById('timeCounter');
	var ctrl2 = document.getElementById('time0');

	if(ctrl && ctrl2)
	{
 		if(!document.all)
		{
  			document.captureEvents(Event.MOUSEMOVE);
		}

    		document.onmousemove = MouseMove;
		document.onmousedown = MouseDown;

	      var now = new Date();
		startTime = ctrl2.value;
		if(startTime == 0)
		{
			startTime = now.getTime();
                  ctrl2.value = startTime; 
		}	
		elapsed = now.getTime() - startTime;
		elapsed = Math.floor(elapsed / 1000);
		if(elapsed < 18000) // Stop counting after five hours to avoid overflow in the database
            { 
                milisecs = elapsed;
            }
		seconds = elapsed % 60;
		minutes = (elapsed - seconds) / 60;
		SetContents("timeCounter","Elapsed time: "+ minutes + ":" + HeadZeroes(seconds,2)); 
 		timeoutId = setTimeout('TimeCounter()',1000);
	}
}

//-------------------------------------------------------------------------------------
// Puzzle selection 
//-------------------------------------------------------------------------------------

function OnPuzzleFile() 
{
	ajaxObject = GetAjaxObject();
	var form = document.getElementById('userdata');
	if (ajaxObject != null && form != null) 
	{
		var file = form.puzzlefile.value;
		var s = form.puzzlesize.value;
		ajaxObject.open("GET", "PuzzleAjax.php?puzzlefile="+file+"&puzzlesize="+s+"&time0="+startTime,true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = PuzzleFile;
	}
}

function OnShuffle() 
{
	ajaxObject = GetAjaxObject();
	var form = document.getElementById('userdata');
	if (ajaxObject != null && form != null) 
	{
		var file = form.puzzlefile.value;
		var s = form.puzzlesize.value;
		ajaxObject.open("GET", "PuzzleAjax.php?shuffle=1",true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = PuzzleFile;
	}
}

function SetContents(id,contents)
{
	var elem = document.getElementById(id);
	if(elem)
	{
		var newdiv = document.createElement("div");
		newdiv.innerHTML = contents;
		while (elem.firstChild) 
		{
  			elem.removeChild(elem.firstChild);
		}
		elem.appendChild(newdiv);
	}
}

function PuzzleFile()
{
	var form = document.getElementById('userdata');
	if(ajaxObject.readyState == 4 && ajaxObject.status==200)
	{
		var bitmap = "/images/"+form.puzzlefile.value;
		document.getElementById("puzzleicon").src = bitmap;
		str =ajaxObject.responseText;
                var parts = str.split('&');
    		SetContents("champion",parts[0]);
		SetContents("puzzle",parts[1]);

		var ctrl2 = document.getElementById('time0');
            ctrl2.value = 0;
            startTime = 0;
            unsorted = 1; 
    		SetContents("messages","");
		TimeCounter();
	}
}

//-------------------------------------------------------------------------------------
// Puzzle motion 
//-------------------------------------------------------------------------------------

var x0=0;
var y0=0;
var piece=-1;

function MouseDown(e) 
{
    var x=0;
    var y=0;	
    if (document.all) 
    {
      x = event.clientX + document.body.scrollLeft;
      y = event.clientY + document.body.scrollTop;
    }
    else 
    {
      x = e.pageX;
      y = e.pageY;
    }
    if(piece<0 && (x<280 || y<160) )
    {
	return;		
    }	
    ajaxObject = GetAjaxObject();
    if (ajaxObject != null) 
    {
	  ajaxObject.open("GET", "PuzzleAjax.php?x="+x+"&y="+y+"&moving="+piece+"&time0="+startTime,true);
	  ajaxObject.send(null);
	  ajaxObject.onreadystatechange = PuzzleClick;
    }
}

function PuzzleClick() 
{
    if(ajaxObject.readyState != 4 || ajaxObject.status!=200)
    {
	return;
    }
    q=document.getElementById("Q");
    str =ajaxObject.responseText;
    var parts = str.split(',');
    unsorted = parseInt(parts[0]);  

     if(unsorted == 0)
    {	
	  clearTimeout ( timeoutId );
        PostMe('solved',milisecs);
    }
    else
    {
	 SetContents("messages", "Unsorted pieces: "+unsorted);
    }	

    if(piece>=0)
    {	
       var piece1 = parseInt(parts[1]);
       var piece2 = parseInt(parts[3]);
       if(piece1 >=0 && piece2 >= 0 && piece1 != piece2)
       {    
          document.getElementById("P"+piece1).src = parts[2];
          document.getElementById("P"+piece2).src = parts[4];
       }
     	 p.style.visibility = "visible";
	 q.style.visibility = "hidden";
       piece=-1;
 	 return;
    }

    piece = parseInt(parts[1]);
    var x = parseInt(parts[2]);
    var y = parseInt(parts[3]);
    x0= x-parseInt(parts[4]);
    y0= y-parseInt(parts[5]);  

    if(piece>=0)
    {
      p=document.getElementById("P"+piece);
      x-=x0; 
      y-=y0;
      q=document.getElementById("Q");
      q.style.visibility = "visible";
      p.style.visibility = "hidden";
	q.src = p.src;
	q.style.left = x + 'px';
	q.style.top = y + 'px';
    }		  	
}

function MouseMove(e) 
{
    if(piece<0)
    {		
	return;
    }	
    var x=0;
    var y=0;	
    if (document.all) 
    {
      x = e.clientX + document.body.scrollLeft;
      y = e.clientY + document.body.scrollTop;
    }
    else 
    {
      x = e.pageX;
      y = e.pageY;
    }  
    x-=x0; 
    y-=y0; 
    if(x>=250 && y>=120 && x<750 && y<500)
    {		
	q=document.getElementById("Q");
	q.style.left = x+"px";
	q.style.top = y+"px";
    }  
}    

//-------------------------------------------------------------------------------------
// Dynamically create a parameter
//-------------------------------------------------------------------------------------

function NewRequest(name, value)
{
  var myInput = document.createElement("input");
  myInput.type="hidden";
  myInput.setAttribute("name", name);
  myInput.setAttribute("value", value);
  return myInput;
}

//-------------------------------------------------------------------------------------
// Updates the shoping cart when an amount has changed
//-------------------------------------------------------------------------------------

function updateCart(controlId)
{
	var control = document.getElementById(controlId);
      var amount = control.selectedIndex  + 1;
	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		var query = "StoreAjax.php?item="+controlId+"&amount="+amount;
		ajaxObject.open("GET", query, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = NewTotal;
	}
	else
	{
		PostMe("Update", 1, controlId, amount);
	}	
}

function NewTotal()
{
	if(ajaxObject.readyState == 4  && ajaxObject.status==200)
	{
		SetContents("topay",ajaxObject.responseText);
	}
}

//-------------------------------------------------------------------------------------
// Updates the shoping cart when an amount has changed
//-------------------------------------------------------------------------------------

function addToCart(controlId)
{
	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		ajaxObject.open("GET", "StoreAjax.php?add="+controlId, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = AddedItem;
	}
	else
	{
		PostMe("Add", controlId);
	}	
}

function AddedItem()
{
	if(ajaxObject.readyState == 4  && ajaxObject.status==200)
	{
		str = ajaxObject.responseText;
		idx = str.indexOf(",");
		str1= str.substring(0,idx);
		str2= str.substring(idx+1);
		SetContents(str1,str2);
	}
}

//-------------------------------------------------------------------------------------
// Generates a random zipcode (and city if selected city is not valid) for a state
//-------------------------------------------------------------------------------------

function randomZip()
{
	var city = document.getElementById("City").value;
	var state = document.getElementById("State").value;

	ajaxObject = GetAjaxObject();
	if (ajaxObject != null) 
	{
		ajaxObject.open("GET", "StoreAjax.php?pick="+state+"&city="+city, true);
		ajaxObject.send(null);
		ajaxObject.onreadystatechange = GeneratedZip;
	}
	else
	{
		PostMe("pick", 1, "state", state, "city", city);
	}	
}

function GeneratedZip()
{
	if(ajaxObject.readyState == 4  && ajaxObject.status==200)
	{
		str = ajaxObject.responseText;
		idx = str.indexOf(",");
		document.getElementById("Zipcode").value = str.substring(0,idx);
		document.getElementById("City").value = str.substring(idx+1);
	}
}

//-------------------------------------------------------------------------------------
// In the graphics screen, post a new graphic description
//-------------------------------------------------------------------------------------

function changeChart()
{
	var where = document.getElementById('ChartTable').value;
	var how = document.getElementById('ChartType').value;
	var what = document.getElementById('ChartAmount').value;
	var who= document.getElementById('ChartWho').value;
	PostMe("ChartTable", where, "ChartType", how, "ChartAmount", what, "ChartWho", who);
}


//-------------------------------------------------------------------------------------
// Remove the parameters, if any, from the end of the current URL
//-------------------------------------------------------------------------------------

function MyUrl()
{
      var q = location.pathname.indexOf('?');
      if(q < 0)
	{
		return location.pathname;	
	}
	return location.pathname.substring(0, q);
}

//-------------------------------------------------------------------------------------
// Makes a post with several parameters
//-------------------------------------------------------------------------------------

function PostData()
{
  var myForm = document.createElement("form");
  myForm.method="post" ;
  myForm.action = arguments[0]; // First parameter in command tail is destination
  for(var i=1; i<arguments.length; i+=2)
  {
    myForm.appendChild(NewRequest(arguments[i],arguments[i+1]));
  }
  document.body.appendChild(myForm) ;
  myForm.submit() ;
  document.body.removeChild(myForm) ;
}

//-------------------------------------------------------------------------------------
// Post to current form with scroll
//-------------------------------------------------------------------------------------

function PostMe()
{
  var myForm = document.createElement("form");
  myForm.method="post" ;
  myForm.action = MyUrl();

  myForm.appendChild(NewRequest("scrollx", (document.all)? document.body.scrollLeft:window.pageXOffset));
  myForm.appendChild(NewRequest("scrolly", (document.all)? document.body.scrollTop:window.pageYOffset));

  for(var i=0; i<arguments.length; i+=2)
  {
    myForm.appendChild(NewRequest(arguments[i],arguments[i+1]));
  }
  document.body.appendChild(myForm) ;
  myForm.submit() ;
  document.body.removeChild(myForm) ;
}

//-------------------------------------------------------------------------------------
// Add parameters to the current form and submit it
//-------------------------------------------------------------------------------------

function AppendData()
{
   var form = document.getElementById('userdata');
   form.appendChild(NewRequest("scrollx", (document.all)? document.body.scrollLeft:window.pageXOffset));
   form.appendChild(NewRequest("scrolly", (document.all)? document.body.scrollTop:window.pageYOffset));

  for(var i=0; i<arguments.length; i+=2)
  {
    	form.appendChild(NewRequest(arguments[i],arguments[i+1]));
  }
  form.submit() ;
}

//-------------------------------------------------------------------------------------
// In main, post a new size when any of the size selections (columns, rows) change
//-------------------------------------------------------------------------------------

function changeSize() 
{
   	var size = document.getElementById('pagesize');
	var cols = size.Cols.options[size.Cols.selectedIndex].value;
	var rows = size.Rows.options[size.Rows.selectedIndex].value;
	PostMe("Cols", cols, "Rows", rows);
}

//-------------------------------------------------------------------------------------
// In main, post a new search when any of the search selections change
//-------------------------------------------------------------------------------------

function changeSearch()
{
   	var sel = document.getElementById('selection');
	var dept = sel.Dept.options[sel.Dept.selectedIndex].value;
	var sortby = sel.SortedBy.options[sel.SortedBy.selectedIndex].value;
	var ascdesc = sel.SortOrder.options[sel.SortOrder.selectedIndex].value;
	PostMe("Dept", dept, "SortedBy", sortby, "SortOrder", ascdesc);
}

//-------------------------------------------------------------------------------------
// Generates a phony, but valid, credit card number
//-------------------------------------------------------------------------------------

function generateCardNumber(type) 
{
	var len = 16;
      var root = "";

      switch (type)
      {
		case '1': //Visa
                root = "4";
                break;

            case '2': // MasterCard 
                root ="51";
                break;

            case '3': //AmericanExpress
                root ="34";
                len = 15;
                break;

            case '4':  // JBC
                root ="35";
                break;

            case '5': //Discover 
                root = "6011";
                break;

            case '6': //DinersClub
                root ="36";
                len = 14;
                break;
		default:
		    return "xxxx";		
        }

        var first = root.length;
        var sum = 0;

        var parity = len % 2;

        for (i = 0; i < len - 1; ++i)
        {
            var bDouble = (i % 2 == parity);
            if (i >= first)
            {
                var digit = Math.floor(Math.random()*5);
                var num = bDouble? digit : digit * 2;
                root = root +  num;
            }
            var n = parseInt(root.substring(i,i+1));
            sum += n;
            if (bDouble)
            {
                sum += n;
            }
        }

        // Round the sum following the Lehn parity criterium
        var iLast = 10 - (sum % 10);
	  if(iLast == 10)
	  {
		iLast = 0;
	  }		
        if(root.length % 2 == parity)
        {
            iLast /= 2;
        }
        root = root + iLast;
	  return root;
}

function generateCard() 
{
	var form = document.getElementById('userdata');
	var type = form.cardtype.options[form.cardtype.selectedIndex].value;
	form.creditCardNumber.value = generateCardNumber(type);
}

//-------------------------------------------------------------------------------------
// Shows the gif that corresponds to the selected credit card brand
//-------------------------------------------------------------------------------------

function changeCardType() 
{
	var form = document.getElementById('userdata');
	var name = form.cardtype.options[form.cardtype.selectedIndex].text;
   	document.cardicon.src = "/images/" + name + ".gif";
}

//-------------------------------------------------------------------------------------
// Add the credit card information to the post
//-------------------------------------------------------------------------------------

function expandedSubmit() 
{
	var form = document.getElementById('userdata');
	var number = form.creditCardNumber.value;
	var type = form.cardtype.options[form.cardtype.selectedIndex].value;
	var month = form.cardmonth.options[form.cardmonth.selectedIndex].value;
	var year = form.cardyear.options[form.cardyear.selectedIndex].value;

	AppendData("showntype", type, "cardNumber", number, "shownmonth", month, "shownyear", year);
}

//-------------------------------------------------------------------------------------
// Ask for a random zipcode 
//-------------------------------------------------------------------------------------

function pickZipcode()
{
	customSubmit(MyUrl(), "pick");
}

function pickZipcodeShort()
{
	var form = document.getElementById('userdata');
	var state = form.State.options[document.userdata.State.selectedIndex].value;
	var city = form.City.value;
	var zipcode = form.Zipcode.value;
	var cardnumber =  form.creditCardNumber.value;
	var cardtype = form.cardtype.options[form.cardtype.selectedIndex].value;
	PostMe("Request", "pick","State",state,"City", city, "Zipcode", zipcode,
		"showntype", cardtype, "cardnumber", cardnumber);
}

//-------------------------------------------------------------------------------------
// Submit the user screen form data for special requests 
//-------------------------------------------------------------------------------------

function customSubmit(destination, request) 
{
	var form = document.getElementById('userdata');
	var state = form.State.options[form.State.selectedIndex].value;
	var city = form.City.value;
	var zipcode = form.Zipcode.value;
	var fullname = form.Fullname.value;
	var address = form.Address.value;
	var email = form.email.value;
	var cardnumber =  form.creditCardNumber.value;
	var cardtype = form.cardtype.options[form.cardtype.selectedIndex].value;
	var cardmonth = form.cardmonth.options[form.cardmonth.selectedIndex].value;
	var cardyear = form.cardyear.options[form.cardyear.selectedIndex].value;
	PostData(destination,"Request", request,"State",state,"City", city, "Fullname", fullname, "Zipcode", zipcode,
		"Address", address, "email", email, "cardtype", cardtype, 
		"cardnumber", cardnumber, "shownmonth", cardmonth, "shownyear", cardyear);
}

function changeStateFlag() 
{
	var state = document.getElementById('State');
	var name = state.options[state.selectedIndex].value;
	document.getElementById("stateflag").src = "/images/states/s_" + name + ".gif";;
}

//-------------------------------------------------------------------------------------
// Figures out the element who triggered the event 
//-------------------------------------------------------------------------------------

function CallerId(e) 
{
   if(e.srcElement)
   {
     return e.srcElement;
   }	
   if(e.target)
   {
     return e.target;  
   }
   return NULL;
}

//-------------------------------------------------------------------------------------
// Absolute position of an element 
//-------------------------------------------------------------------------------------

function PosX(p) 
{
	var x = p.offsetLeft;
	while (p.offsetParent) 
      {
	   p = p.offsetParent
	   x += p.offsetLeft;
      }
	return x;
}

function PosY(p) 
{
	var y = p.offsetTop;
	while (p.offsetParent) 
      {
	   p = p.offsetParent
	   y += p.offsetTop;
      }
	return y;
}

//-------------------------------------------------------------------------------------
// Mouse events 
//-------------------------------------------------------------------------------------

var  movingImgId="";

function MouseIn(e) 
{
   p = CallerId(e);
   if(p)
   {
      movingImgId = p.id;
   	p.style.background = "url(/Images/"+ movingImgId +".jpg)";
   }
}

function MouseClick(e)
{
   p = CallerId(e);
   if(p)
   {
	window.location = "ShowPhoto.php?photo="+p.id+".jpg";
   }
}

function MouseMove(e) 
{
   p = document.getElementById(movingImgId);
   if(p)
   {
      PlaceImage(e, p);
   }
}

function MouseOut() 
{
   var p = document.getElementById(movingImgId);
   if(p)
   {
      p.style.backgroundPosition = "0px 0px";
      p.style.background = "url(/Images/"+ movingImgId + "_small.jpg)";
   }
}

//-------------------------------------------------------------------------------------
// Places the background big image considering the mouse position 
//-------------------------------------------------------------------------------------

function PlaceImage(e, p)
{
    // x, y will be the absolute position of the mouse
    var x = e.clientX;
    var y = e.clientY;	
    if( document.body ) 
    {
        x +=  document.body.scrollLeft;
        y +=  document.body.scrollTop;
    } 
    else // IE
    {
       x += document.documentElement.scrollLeft;
       y += document.documentElement.scrollTop;
    }

    // Now relative to the upper left corner of the image 
    x -= PosX(p);
    y -= PosY(p);
   
    // The cursor movement over the box is equal to the part of the image out of the box
    var dx = 84;
    var dy = 60;
    if(p.offsetWidth)  
    {	
    	dx = p.offsetWidth;
    	dy = p.offsetHeight;
    }

    var myImg = new Image();
    myImg.src = "/Images/"+ p.id + ".jpg";
    x = Math.floor( (x * (myImg.width - dx))/ dx );
    y = Math.floor( (y * (myImg.height - dy))/ dy );
    
    p.style.backgroundPosition = '-'+ x + 'px -' + y + 'px';
}

//-------------------------------------------------------------------------------------
// Shows the gif that corresponds to the selected credit card brand
//-------------------------------------------------------------------------------------

function initPage() 
{
    var links = document.getElementsByTagName('a');
    for (var i=0;i < links.length;i++) 
    {
      if (links[i].className == 'blanktarget') 
	{
            links[i].onclick = function() 
            {
                window.open(this.href);
                return false;
            };
        }
    }

   var myImgs=['iciodi','eicisoft87','news','praetoriansteam','praetorians_pres','ea_2007','ea_aptteam',
		'tiburoncube','playingbridge','reunion2'];

   for(var i=0,len = myImgs.length; i<len; i++) 
   {
   	e = document.getElementById(myImgs[i]);
	if(e)
	{
      	e.style.background = "url(/images/"+ myImgs[i] + "_small.jpg)";

		if(e.attachEvent) // IE
		{
			e.attachEvent('onmouseover',MouseIn);
			e.attachEvent('onmousedown',MouseOut);
			e.attachEvent('onmouseup',MouseClick);
			e.attachEvent('onnmouseout',MouseOut);
			e.attachEvent('onmousemove',MouseMove);
		}
            else
		{		
			e.onmouseover = MouseIn;
			e.onmousedown = MouseOut;
			e.onmouseup = MouseClick;
			e.onmouseout = MouseOut;
			e.onmousemove = MouseMove;
		}
	}
   }

   	e = document.getElementById('randomzip');
      if(e)	e.onclick = randomZip;

   	e = document.getElementById('generate');
      if(e)	e.onclick = generateCard;

   	e = document.getElementById('cardtype');
      if(e)	e.onchange = changeCardType;

   	e = document.getElementById('State');
      if(e)	e.onchange = changeStateFlag;

      var myCols=['ip','country','region','city','date','visits'];
      for(var i=0,len = myCols.length; i<len; i++) 
      {
   		e = document.getElementById('v_'+myCols[i]);
      	if(e)	
		{
			if(e.attachEvent) // IE
			{
				e.attachEvent('onclick',PostOrder);
			}
            	else
			{		
				e.onclick = PostOrder;
			}
		}
	}	
/*
   	e = document.getElementById('v_ip');
      if(e)	e.onclick = function() {PostMe('order','ip'); };

   	e = document.getElementById('v_country');
      if(e)	e.onclick = function() {PostMe('order','country'); };

   	e = document.getElementById('v_region');
      if(e)	e.onclick = function() {PostMe('order','region'); };

   	e = document.getElementById('v_city');
      if(e)	e.onclick = function() {PostMe('order','city'); };

   	e = document.getElementById('v_date');
      if(e)	e.onclick = function() {PostMe('order','date'); };

   	e = document.getElementById('v_visits');
      if(e)	e.onclick = function() {PostMe('order','visits'); };
*/
    ScrollIt();	
}

//-------------------------------------------------------------------------------------
// Post to current form with scroll
//-------------------------------------------------------------------------------------

function PostOrder(e)
{
	t = CallerId(e); 
	PostMe('order',t.id.substring(2)); 
}