/*******************************************************************************
Postlink
Javascript function to make a normal anchor post a form

	Author: Fred Snyder
	Company: Castwide Technologies
	URL: http://castwide.com
	Date Created: Jan 24, 2007
	Date Modified: Jan 30, 2010

	Required files:
	* jquery.js (http://prototypejs.org)

	USAGE:
		PostLink(id, url, confirmText)

	EXAMPLE:
		<a href="/somewhere.php" id="mylink">Click to Post</a>
		<script type="text/javascript">PostLink(id, '/somewhere.php', 'Are you sure?');</script>

	1-26-2007	Fixed variable scope for referencing window.confirm()
	2-11-2007	Use Event.observe from Prototype
	2-11-2007	onclick function moves up from the Event.element() node to
				find the anchor element as necessary
	11-21-2007	Case-insensitive tagName checking to resolve discrepancies
				between HTML and XHTML
	1-30-2010	Modified to use jQuery instead of Prototype

*******************************************************************************/

var MapQuery = function(query) {
  var uri = query || document.location.href;
  if (!uri) return null;
  
  var args = uri.substring(uri.indexOf('?') + 1, uri.length).split('&');
  var i = args.length, qvars = {};
  if (i < 1) return null;
  
  while(i--) {
    qvars[args[i].substring(0, args[i].indexOf('='))] =
      args[i].substring(args[i].indexOf('=') + 1, args[i].length);
  }
  
  return qvars;
}

var PostLink = function(lnk, url, confirmText) {
	$(lnk).attr('confirmText', confirmText);
	$(lnk).click(function(evt) {
		evt.preventDefault();
		if ($(this).attr('confirmText')) {
			if (!confirm($(this).attr('confirmText'))) {
				return;
			}
		}
		var postParams = {};
		if (url.indexOf('?') != -1 ) {
			var arr = url.substr(url.indexOf('?') + 1).split('&');
			for (var i = 0; i < arr.length; i++) {
				var parts = arr[i].split('=');
				postParams[parts[0]] = parts[1];
			}
			url = url.substr(0, url.indexOf('?'));
		}
		var frm = $('<form/>');
		frm.css('display', 'none');
		frm.attr('action', url);
		frm.attr('method', 'post');
		for (var k in postParams) {
			frm.append($('<input type="hidden" name="' + k + '" value="' + postParams[k] + '" />'));
		}
		$('body').append(frm);
		frm.submit();
	});
}
