var VERSION = parseInt(navigator.appVersion);
var SOLD_BY;


// PDF editing section

var CURRENT_PAGE = 1;
var SELECTED_OBJECT;
var COPIED_VALUES;
var TIMEOUT;
var RESET;
var CUT;
var MESSAGE;

function setProjectTypes()
{
	var projectTypes = new Array();
	var queryString = '';
	var i = 0;

	$('#tracking div.quoteType').each
	(
		function()
		{
			$(this).remove();
		}
	);
	
	if($('#groups').val())
	{
		var Params = {};
		Params.type = 'GET';
		Params.url = '/members/setProjectTypes.php?groupids=' + $('#groups').val();
		Params.dataType = 'json';

		Params.success = function(JSONObj)
		{
			$.each
			(
				JSONObj,

				function(ky, val)
				{
					$('#tracking').append('<div class="move quoteType"><input type="checkbox" name="option[]" value="quoteTypeID_' + val.quoteTypeID + '"' + (val.checked == 'true' ? ' checked' : '') + ' /> ' + val.name + '</div>');
				}
			);
		}
		
		$.ajax(Params);
	}
}

function addFile(fileID, file, size)
{
	$('#noDownloads').remove();
	$('#productDownloads').append('<tr><td><input type="hidden" name="fileIDs[]" value="' + fileID + '" /><a style="float:right;" href="javascript:void(0);" onClick="if(confirmSubmit(\'Remove this file from this product?\')) $(this).parent().parent().remove();"><img src="/store/images/icon_remove.png" /></a><a href="/members/downloadFile.php?file=' + fileID + '" target="_blank">' + file + '</a></td><td>' + size + ' KB</td></tr>');
	
	alert('File added successfully!');
}

function getQueryString(queryString)
{
	if(!queryString)
		queryString = location.search;
		
	if(queryString.substr(0, 1) == '?')
		queryString = queryString.substr(1);
		
	var assoc = new Array();
	var keyValues = queryString.split('&');
	var newVal;
	var values;
	var key;
	var value;
	
	for(var i in keyValues)
	{ 
		values = keyValues[i].split('=');
		key = values[0];
		value = values[1];
        
		if(key.substr(key.length - 2, 2) == '[]')
		{
			newVal = key.substr(0, key.length - 2);
     	
			if(!assoc[newVal])
				assoc[newVal] = new Array();
        	
			assoc[newVal][assoc[newVal].length] = unescape(value);
		}
		else
			assoc[key] = unescape(value); 
	} 

	return assoc; 
}


// PDF editing section

function swapNodes(a, b)
{ 
	var aparent = a.parentNode; 
	var asibling = (a.nextSibling === b ? a : a.nextSibling); 

	b.parentNode.insertBefore(a, b); 
	aparent.insertBefore(b, asibling);
}

function showHideGrid()
{
	$('#gridContainer').css('display', ($('#showGrid').attr('checked') ? '' : 'none'));
}

function setGrid(x_y)
{
	$('#gridContainer div.grid_' + x_y).each
	(
		function()
		{
			$(this).remove();
		}
	);

	var value = parseInt($('#grid_' + x_y).val()) - 1;
	var c = (x_y == 'x' ? $('#gridContainer').innerWidth() : $('#gridContainer').innerHeight()) / (value + 1) / 2;

	for(i = 0, v = 0; i < c; i++, v += (value * 2) + 2)
	{
		if(x_y == 'x')
		{
			if(c - i < 1)
				value = $('#gridContainer').innerWidth() - v;
		
			$('#gridContainer').append('<div class="grid_x" style="position:absolute; left:' + v + 'px; top:1px; border-left:1px solid #eee; border-right:1px solid #eee; width:' + value + 'px; height:' + $('#gridContainer').innerHeight() + 'px;"></div>');
		}
		else
		{
			if(c - i < 1)
				value = $('#gridContainer').innerHeight() - v;		
		
			$('#gridContainer').append('<div class="grid_y" style="position:absolute; left:1px; top:' + v + 'px; border-top:1px solid #eee; border-bottom:1px solid #eee; width:' + $('#gridContainer').innerWidth() + 'px; height:' + value + 'px;"></div>');
		}
	}
}

function loadPDF()
{
	var queryString = getQueryString();
	var Params = {};
	Params.type = 'GET';
	Params.url = '/members/restoreFile.php?file=' + queryString['file'];
	Params.dataType = 'text';

	Params.success = function(data)
	{
		if(data == 'true')
			history.go(0);

		else
		{
			if(data)
				alert(data);

			else
				alert('There was an unknown probem loading the file!');
		}
	}

	$.ajax(Params);
}

function saveRedirect()
{
	alert('File successfully saved!');

	history.go(0);
}

function savePDF(create)
{
	var count = $('.backgroundDiv').size();
	var queryString = getQueryString();
	var options = "";
	
	if($('.borderContainer').size() == 0)
		alert('No changes have been made!');
		
	else
	{
		for(i = 1; i <= count; i++)
		{
			setSelectedImage(i);

			$('#bodyDiv_' + CURRENT_PAGE + ' div.borderContainer').each
			(
				function()
				{
					options += '&' + $(this).save(i);
				}
			);
		}

		options = 'file=' + queryString['file'] + options;
		
		//alert(options);
		
		var Params = {};
		
		if(create)
		{
			Params.type = "POST";
			Params.url = "/members/textimage.php";
			Params.data = options;
			Params.dataType = 'text';

			Params.success = function(data)
			{
				$.unblockUI();

				if(data == 'true')
					setTimeout("saveRedirect()", 500);

				else
				{
					alert(data);

					return false;
				}
			}

			$.blockUI
			(
				{
					message: '<img src="/members/images/busy.gif" /> Saving...',
					css: { padding:10 }
				}
			);
		}
		else
		{
			Params.type = "GET";
			Params.url = "/members/saveCurrent.php?webuser=" + queryString['webUser'] + "&project=" + queryString['bidid'] + "&group=" + queryString['biddept'] + "&" + options;
		}

		$.ajax(Params);
	}
}

function loadSavedObjects(query, restoreCoords)
{
	if(query)
	{
		var queryString = getQueryString(query);

		for(i = 0; i < queryString['page'].length; i++)
		{
			if(queryString['page'][i] > 0)
				setSelectedImage(queryString['page'][i]);
				
			var width = queryString['width'][i] - queryString['borderWidth'][i] - 2;
			var height = queryString['height'][i] - queryString['borderWidth'][i] - 2;
			
			if(!restoreCoords)
			{
				queryString['left'][i] = 0;
				queryString['top'][i] = 0;
			}
			
			if(queryString['type'][i] == 'textbox')
				width = width + (queryString['borderWidth'][i] * 2);

			addObject(queryString['type'][i], '', width, height, queryString['left'][i], queryString['top'][i], queryString['text'][i]);
			
			if(queryString['type'][i] == 'textbox')
			{
				setFontAlign(queryString['align'][i]);
				setFontFamily(queryString['family'][i]);
				setFontSize(queryString['size'][i]);
				SELECTED_OBJECT.css('font-style', queryString['italic'][i]);
				SELECTED_OBJECT.css('font-weight', queryString['bold'][i]);
				SELECTED_OBJECT.css('text-decoration', queryString['underline'][i]);
				SELECTED_OBJECT.css('color', queryString['color'][i]);
			}
			
			setBorderWidth(queryString['borderWidth'][i]);			
			
			SELECTED_OBJECT.css('border-color', queryString['border'][i]);
			SELECTED_OBJECT.css('background-color', queryString['background'][i]);
			
			if(queryString['opacity'][i] < 1)
				SELECTED_OBJECT.css('opacity', queryString['opacity'][i]);
		}
	}
}

function ajaxFileUpload()
{
	var queryString = getQueryString();
	
	$("#loading")
	.ajaxStart(function(){
		$(this).show();
	})
	.ajaxComplete(function(){
		$(this).hide();
	});

	if($('#newLink').val())
	{
		var Params = {};
		Params.type = "POST";
		Params.url = '/members/doajaxfileupload.php?file=' + queryString['file'];
		Params.data = 'newLink=' + escape($('#newLink').val());
		Params.dataType = 'json';

		Params.success = function(data, status)
		{
			if(typeof(data.error) != 'undefined')
			{
				if(data.error != '')
					alert(data.error);

				else
					addObject('image', data.file, data.width, data.height);
			}
		};

		Params.error = function(data, status, e)
		{
			alert(e);
		};

		$.ajax(Params);
	}
	else
	{
		$.ajaxFileUpload
		(
			{
				url:'/members/doajaxfileupload.php?file=' + queryString['file'],
				secureuri:false,
				fileElementId:'fileToUpload',
				dataType: 'json',

				success: function(data, status)
				{
					if(typeof(data.error) != 'undefined')
					{
						if(data.error != '')
							alert(data.error);

						else
							addObject('image', data.file, data.width, data.height);
					}
				},

				error: function(data, status, e)
				{
					alert(e);
				}
			}
		);
	}

	return false;
}

function setBoldIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('font-weight') == '700' || SELECTED_OBJECT.css('font-weight') == 'bold');
		
		setClass('bold', selected);
	}
}

function setBoldFont()
{
	if(SELECTED_OBJECT)
	{
		var value = (SELECTED_OBJECT.css('font-weight') == '700' || SELECTED_OBJECT.css('font-weight') == 'bold' ? 'normal' : 'bold');
	
		SELECTED_OBJECT.css('font-weight', value);
		
		adjustObject();
	}
}

function setItalicIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('font-style') == 'italic');
		
		setClass('italic', selected);
	}
}

function setItalicFont()
{
	if(SELECTED_OBJECT)
	{
		var value = (SELECTED_OBJECT.css('font-style') == 'italic' ? 'normal' : 'italic');
	
		SELECTED_OBJECT.css('font-style', value);
	}
}

function setUnderlineIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('text-decoration') == 'underline');
		
		setClass('underline', selected);
	}
}

function setUnderlineFont()
{
	if(SELECTED_OBJECT)
	{
		var value = (SELECTED_OBJECT.css('text-decoration') == 'underline' ? 'none' : 'underline');
	
		SELECTED_OBJECT.css('text-decoration', value);
	}
}

function setAlignIcons()
{
	setLeftIcon();
	setRightIcon();
	setCenterIcon();
	setJustifyIcon();
}

function setLeftIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('text-align') == 'left');
		
		setClass('leftAlign', selected);
	}
}

function setRightIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('text-align') == 'right');
		
		setClass('rightAlign', selected);
	}
}

function setCenterIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('text-align') == 'center');
		
		setClass('centerAlign', selected);
	}
}

function setJustifyIcon()
{
	if(SELECTED_OBJECT)
	{
		var selected = (SELECTED_OBJECT.css('text-align') == 'justify');
		
		setClass('justifyAlign', selected);
	}
}

function setFontFamily(value)
{
	if(SELECTED_OBJECT)
	{
		SELECTED_OBJECT.css('font-family', value);
		
		if(SELECTED_OBJECT.hasClass('textbox'))
			adjustObject();
	}
}

function setFontSize(value)
{
	if(SELECTED_OBJECT)
	{
		SELECTED_OBJECT.css('font-size', value);
		
		if(SELECTED_OBJECT.hasClass('textbox'))
			adjustObject();
	}
}

function setFontAlign(value)
{
	if(SELECTED_OBJECT)
		SELECTED_OBJECT.css('text-align', value);
}

function setButtonFamily()
{
	if(SELECTED_OBJECT)
		$('#family').val(SELECTED_OBJECT.css('font-family'));
}

function setButtonSize()
{
	if(SELECTED_OBJECT)
		$('#size').val(SELECTED_OBJECT.css('font-size'));
}

function setButtonColor()
{
	if(SELECTED_OBJECT)
	{
		$('#fontColor').css('backgroundColor', SELECTED_OBJECT.css('color'));
		$('#backgroundColor').css('background-color', SELECTED_OBJECT.css('background-color'));
		$('#backgroundColor').css('background-image', $('#backgroundColor').css('background-color') == 'transparent' ? 'url("/members/images/colorpicker_transparent.png")' : 'none');
		$('#borderColor').css('background-color', SELECTED_OBJECT.css('border-color'));
	}
}

function setOpacityField()
{
	if(SELECTED_OBJECT)
		$('#opacity').val(SELECTED_OBJECT.css('opacity') * 100);
}

function setGuides(left, top)
{
	if(SELECTED_OBJECT)
	{
		var selectedObjectParent = SELECTED_OBJECT.parent();
		
		if(left == null)
			left = selectedObjectParent.css('left');
			
		if(parseInt(left) >= 0)
		{
			$('#horizontal_guide').css('left', left);
			$('#horizontal_guide').css('width', selectedObjectParent.width());
			$('#horizontal_guide').css('display', '');
		}
		
		if(top == null)
			top = selectedObjectParent.css('top');
			
		if(parseInt(top) >= 0)
		{
			$('#vertical_guide').css('top', top);
			$('#vertical_guide').css('height', selectedObjectParent.height());
			$('#vertical_guide').css('display', '');
		}		
	}
}

function setBWidth()
{
	if(SELECTED_OBJECT)
		$('#borderWidth').val(SELECTED_OBJECT.css('border-width'));
}

function alignBox(align)
{
	if(SELECTED_OBJECT)
	{
		SELECTED_OBJECT.parent().alignBox(align);
		
		setGuides();
	}
}

function bringToFront(front)
{
	if(SELECTED_OBJECT)
	{
		var index = $('.borderContainer').index(SELECTED_OBJECT.parent());
		var domNodes = $('.borderContainer').get();
		
		if(index < domNodes.length - 1)
		{
			var max = (front ? domNodes.length - 1 : index + 1);
			
			for(var i = index; i < max; i++)
			{
				swapNodes(domNodes[i], domNodes[i + 1]);
				
				domNodes = $('.borderContainer').get();
			}
		}
	}
}

function sendToBack(back)
{
	if(SELECTED_OBJECT)
	{
		var index = $('.borderContainer').index(SELECTED_OBJECT.parent());
		var domNodes = $('.borderContainer').get();
		
		if(index > 0)
		{
			var max = (back ? 0 : index - 1);
			
			for(var i = index; i > max; i--)
			{
				swapNodes(domNodes[i], domNodes[i - 1]);
				
				domNodes = $('.borderContainer').get();
			}
		}
	}
}

function setButtonDisabled(textbox)
{
	var status = (textbox === undefined);
	var t = (status || !textbox);

	$('#family').attr('disabled', t);
	$('#size').attr('disabled', t);
	
	$('#opacity').attr('disabled', status);
	$('#upArrow').attr('disabled', status);
	$('#downArrow').attr('disabled', status);
	$('#borderWidth').attr('disabled', status);
	$('#borderStyle').attr('disabled', status);
	
	$('.formatButtons').css('opacity', (t ? 0.5 : 1));
	$('.formatAllButtons').css('opacity', (!status ? 1 : 0.5));
	
	$('#paste').css('opacity', (COPIED_VALUES ? 1 : 0.5));
	
	if(status == true)
		setDefaults();
}

function setDefaults()
{
	$('#family').val('Arial');
	$('#size').val('16px');
	$('#fontColor').css('background-color', '#000000');
	$('#backgroundColor').css('background-color', 'transparent');
	$('#backgroundColor').css('background-image', 'url("/members/images/colorpicker_transparent.png")');
	$('#borderColor').css('background-color', '#000000');
	$('#borderWidth').val('0');
	$('#opacity').val('100');
	
	setClass('bold', false);
	setClass('italic', false);
	setClass('underline', false);
	setClass('leftAlign', false);
	setClass('rightAlign', false);
	setClass('centerAlign', false);
	setClass('justifyAlign', false);
}

function setClass(id, selected)
{
	$('#' + id).removeClass();
	$('#' + id).addClass((selected ? 'selectedButton' : 'normalButton'));	
}

function cloneObject()
{
	if(SELECTED_OBJECT)
	{
		copyObject();
		pasteObject();
	}
}

function cutObject()
{
	if(SELECTED_OBJECT)
	{
		copyObject();
		deleteObject();
	}
}

function deleteObject()
{
	if(SELECTED_OBJECT)
	{
		RESET = true;

		SELECTED_OBJECT.parent().remove();
		SELECTED_OBJECT.delayDisable();
		SELECTED_OBJECT = null;
	}
}


function copyObject()
{
	if(SELECTED_OBJECT)
	{
		COPIED_VALUES = SELECTED_OBJECT.parent().save();
		
		$('#paste').css('opacity', 1);
	}
}

function pasteObject()
{
	if(COPIED_VALUES)
		loadSavedObjects(COPIED_VALUES, false);
}

function setBorderWidth(value)
{
	if(SELECTED_OBJECT)
	{
		SELECTED_OBJECT.css('border-width', value);
		SELECTED_OBJECT.css('width', SELECTED_OBJECT.width() + 'px');
		SELECTED_OBJECT.css('height', SELECTED_OBJECT.height() + 'px');
		SELECTED_OBJECT.parent().css('width', (SELECTED_OBJECT.outerWidth()) + 'px');
		SELECTED_OBJECT.parent().css('height', (SELECTED_OBJECT.outerHeight()) + 'px');
		
		if(SELECTED_OBJECT.hasClass('textbox'))
		{
			setTempText();
			setMinimumDimensions();
		}
		
		setGuides();
	}
}

function setAllSettings()
{
	if(SELECTED_OBJECT)
	{
		var selectedObjectParent = SELECTED_OBJECT.parent();
		
		$('#location_x').val(parseInt(selectedObjectParent.css('left')));
		$('#location_y').val(parseInt(selectedObjectParent.css('top')));

		selectedObjectParent.css('border', '1px solid red');

		if(!SELECTED_OBJECT.hasClass('textbox'))
			setButtonDisabled(false);

		else
		{
			setButtonDisabled(true);
			setButtonSize();
			setButtonFamily();
			setBoldIcon();
			setItalicIcon();
			setUnderlineIcon();
			setAlignIcons();
		}

		setButtonColor();				
		setOpacityField();
		setBWidth();
		setGuides();
		
		SELECTED_OBJECT.focus();
	}
	else
	{
		setButtonDisabled();
		setDefaults();
		
		$('#location_x').val('0');
		$('#location_y').val('0');
		$('#horizontal_guide').css('display', 'none');
		$('#vertical_guide').css('display', 'none');		
	}
}

function setBorderSize()
{
	if(SELECTED_OBJECT)
	{
		var parent = SELECTED_OBJECT.parent();
		var borderWidth = parseInt(SELECTED_OBJECT.css('border-width'));
		
		if(!borderWidth)
			borderWidth = 0;

		SELECTED_OBJECT.css('width', ((parent.width() - borderWidth * 2 - parseInt(SELECTED_OBJECT.css('padding-left')) * 2)) + 'px');
		SELECTED_OBJECT.css('height', ((parent.height() - borderWidth * 2 - parseInt(SELECTED_OBJECT.css('padding-top')) * 2)) + 'px');
	}
}

function setMinimumDimensions()
{
	if(SELECTED_OBJECT)
	{
		SELECTED_OBJECT.parent().css('min-width', $('#tempText').outerWidth() + 10);
		SELECTED_OBJECT.parent().css('min-height', $('#tempText').outerHeight());
	}
}

function setTempText()
{
	if(SELECTED_OBJECT)
	{
		$('#tempText').html(SELECTED_OBJECT.html().replace("<br>", "\n"));
		$('#tempText').css('font-family', SELECTED_OBJECT.css('font-family'));
		$('#tempText').css('font-size', SELECTED_OBJECT.css('font-size'));
		$('#tempText').css('font-weight', SELECTED_OBJECT.css('font-weight'));
		$('#tempText').css('border-width', SELECTED_OBJECT.css('border-width'));
	}
}

function adjustObject()
{
	setTempText();
	setMinimumDimensions();				
	setGuides();
	setBorderSize();
}

function addIcon(value, family)
{
	addObject('icon', '', '', '', '', '', value);
	
	setFontFamily(family);
}

function addObject(type, file, width, height, left, top, text)
{
	setDefaults();
	
	if(type == 'rectangle' && (!width || !height))
	{
		width = 150;
		height = 100;
	}
	
	if(!left)
		left = 0;
		
	if(!top)
		top = 0;

	if(!text)
	{
		text = '';
	
		if(type == 'textbox')
			text = 'Double-click to Edit...';

		else if(type == 'image')
			text += '<img src="' + file + '" />';
	}
		
	$('#bodyDiv_' + CURRENT_PAGE).append('<div class="borderContainer"><div class="draggable ' + type + '" tabindex="-1">' + text + '</div></div>');
	
	var newObject = $('#bodyDiv_' + CURRENT_PAGE + ' div:last');
	var newObjectParent = newObject.parent();
	
	if(type != 'textbox')
		newObject.attr('contentEditable', 'false');

	else
	{
		setBoldIcon();
		setItalicIcon();
		setClass('leftAlign', true);

		newObject.attr('contentEditable', 'true');
	}

	if(width && height)
	{
		newObjectParent.css('width', width + 'px');
		newObjectParent.css('height', height + 'px');
	}


	// Remove current SELECTED_OBJECT

	if(SELECTED_OBJECT)
		SELECTED_OBJECT.delayDisable();

	newObjectParent.resizable
	(
		{
			containment: 'parent',
			aspectRatio : (type == 'image' ? 1 : (type == 'icon' ? true : false)),
			handles: 'n, e, s, w, ne, se, sw, nw',

			start: function()
			{
				if(TIMEOUT)
					clearTimeout(TIMEOUT);			
			
				var object = jQuery('.draggable', $(this));

				if(object.hasClass('textbox'))
				{
					setTempText();
					setMinimumDimensions();
				}
			},

			resize: function()
			{
				if(TIMEOUT)
					clearTimeout(TIMEOUT);
					
				var object = jQuery('.draggable', $(this));					
					
				setGuides();
				setBorderSize();
				
				if(object.hasClass('icon'))
					setFontSize($(this).height());
			}
		}
	);

	newObjectParent.draggable
	(
		{
			containment: 'parent',
			addClasses: false,
			snap: '.grid_x, .grid_y',
			disabled: (type == 'textbox'),

			start: function()
			{
				$(this).draggable('option', 'snap', ($('#snapGrid').attr('checked') ? '.grid_x, .grid_y' : false));
			},

			drag: function(e, ui)
			{
				$('#location_x').val(ui.position.left);
				$('#location_y').val(ui.position.top);

				setGuides(ui.position.left, ui.position.top);
			}
		}
	);
	
	newObjectParent.contextMenu
	(
		{ menu: 'myMenu' },

		function(action)
		{
			if(TIMEOUT)
				clearTimeout(TIMEOUT);		
		
			switch(action)
			{
				case 'delete':
				
					deleteObject();
				break;
				
				case 'cut':
				
					cutObject();
				break;
				
				case 'copy':
				
					copyObject();
				break;
				
				case 'bringToFront':
				
					bringToFront(true);
				break;
				
				case 'sendToBack':
				
					sendToBack(true);
				break;
				
				case 'bringForward':
				
					bringToFront();
				break;
				
				case 'sendBackward':
				
					sendToBack();
				break;
			}
			
			SELECTED_OBJECT.focus();			
		}
	);	


	// Set location coordinates for new object

	newObjectParent.css('left', left + 'px');
	newObjectParent.css('top', top + 'px');


	// Bind events to the new object

	newObject.bind
	(
		'mousedown click',

		function()
		{
			RESET = false;	// Override reset flag if clicked on object

			if(!SELECTED_OBJECT || !SELECTED_OBJECT.equals($(this)))
			{
				if(SELECTED_OBJECT)
					SELECTED_OBJECT.delayDisable();

				SELECTED_OBJECT = $(this);

				setAllSettings();
			}
		}
	);
	
	newObject.mouseover
	(
		function()
		{
			$(this).css('cursor', ($(this).attr('contentEditable') == 'true' || $(this).attr('contentEditable') == true ? 'text' : 'move'));
		}
	);

	if(type == 'textbox')
	{
		newObject.mousedown
		(
			function()
			{
				setTempText();
			}
		);

		newObject.dblclick
		(
			function()
			{
				if($(this).attr('contentEditable') == 'false')
				{
					$(this).parent().draggable('disable');
					$(this).attr('contentEditable', 'true');
					$(this).css('cursor', 'text');
				}
			}
		);
	}

	newObject.blur
	(
		function()
		{
			RESET = true;

			objCopy = $(this);

			TIMEOUT = setTimeout('objCopy.delayDisable()', 175);
		}
	);

	SELECTED_OBJECT = newObject;

	setAllSettings();
}

function setSelectedImage(index)
{
	if(index != CURRENT_PAGE)
	{
		$('#thumb_' + CURRENT_PAGE).removeClass();
		$('#thumb_' + CURRENT_PAGE).addClass('normalImage');
		$('#bodyTag_' + CURRENT_PAGE).toggle();
		$('#bodyDiv_' + CURRENT_PAGE).toggle();

		CURRENT_PAGE = index;

		$('#thumb_' + CURRENT_PAGE).removeClass();
		$('#thumb_' + CURRENT_PAGE).addClass('selectedImage');
		$('#bodyTag_' + CURRENT_PAGE).toggle();
		$('#bodyDiv_' + CURRENT_PAGE).toggle();
	}
}

// End PDF editing section


function appendRow(table, row, element)
{
	if(!element)
		element = 'tr';
		
	if(!row)
		row = 0;	// Specify which row will be cloned
		
	$(table).append($(table + ' ' + element + ':eq(' + row + ')').clone());
	$(table + ' ' + element + ':last').css('display', '');
}

function indexAt(what, a)
{
	var foundIndex = -1;
	var i = 0;

	while(i < a.length && foundIndex < 0)
	{
		if(a[i].value == what)
			foundIndex = i;

		i++;
	}

	return foundIndex;
}

function calculateSub()
{
	var total = 0;
	var subTotal = 0;

	$("input[name='qty[]']").each
	(
		function(index)
		{
			subTotal = $(this).val() * $("input[name='ppi[]']")[index].value
			$("input[name='subTotal[]']")[index].value = subTotal;

			total += subTotal;

		}
	);

	$("#total").val(total);
}

function bindElements()
{
	$("select").each
	(
		function(index)
		{
			$(this).bind
			(
				'change',
				{ index: index },
				
				function(e)
				{
					if(!$(this).val())
					{
						$("input[name='ppi[]']")[e.data.index].value = 0;
						calculateSub();
					}
					else
					{
						var Params = {};
						Params.type = "GET";
						Params.url = "/members/getCost.php?rewardid=" + $(this).val();
						Params.dataType = "json";

						Params.success = function(data)
						{
							if(data)
							{
								$.each
								(
									data,

									function(ky, val)
									{
										$("input[name='ppi[]']")[e.data.index].value = val;
										
										calculateSub();										
									}
								);
							}		
						};

						//Params.error = function(x, y, z) { alert(x.responseText); };

						$.ajax(Params);
					}
				}
			);
		}
	);
}

function populatePolicyInfo(JSONObj)
{
	var permissionIDs = document.form.elements['permissionIDs[]'];

	/*
	
	$("input[name='permissionIDs[]']").each
	(
		function(index)
		{
			$(this).removeAttr('disabled');
			$(this).removeAttr('checked');
			$('#companyAccess_' + $(this).val()).removeAttr('disabled');
			$('#companyAccessAdd_' + $(this).val()).removeAttr('disabled');
			$('#companyAccessRemove_' + $(this).val()).removeAttr('disabled');
			$('#groupAccess_' + $(this).val()).removeAttr('disabled');
			$('#groupAccessAdd_' + $(this).val()).removeAttr('disabled');
			$('#groupAccessRemove_' + $(this).val()).removeAttr('disabled');
			$('#companyAccess_' + $(this).val()).length = 0;
			$('#groupAccess_' + $(this).val()).length = 0;
			
			$('#companyAccess_' + $(this).val() + '_div input').each
			(
				function()
				{
					$(this).remove();
				}
			);
			
			$('#groupAccess_' + $(this).val() + '_div input').each
			(
				function()
				{
					$(this).remove();
				}
			);
			
			showHideLayer('box' + $(this).val(), '', index);			
		}
	);
	
	*/
	
	var test;
	
	// Repopulate form based on policy JSON object
	
	if(JSONObj)
	{
		$.each
		(
			JSONObj,

			function(ky, val)
			{
				for(i = 0; i < val.companyIDs.length; i++)
				{
					values = val.companyIDs[i].split('_');
					
					test = document.getElementById('companyAccess_' + ky);

					if(optionValueIndexOf(test, values[0]) == -1)
						addOption('companyAccess_' + ky, values[1], values[0]);
				}

				for(i = 0; i < val.groupIDs.length; i++)
				{
					values = val.groupIDs[i].split('_');

					test = document.getElementById('groupAccess_' + ky);

					if(optionValueIndexOf(test, values[0]) == -1)
						addOption('groupAccess_' + ky, values[1], values[0]);
				}
				
				//$('#companyAccess_' + ky).attr('disabled', (val.lockPermissions == 1));
				$('#companyAccessAdd_' + ky).attr('disabled', (val.lockPermissions == 1));
				$('#companyAccessRemove_' + ky).attr('disabled', (val.lockPermissions == 1));
				//$('#groupAccess_' + ky).attr('disabled', (val.lockPermissions == 1));
				$('#groupAccessAdd_' + ky).attr('disabled', (val.lockPermissions == 1));
				$('#groupAccessRemove_' + ky).attr('disabled', (val.lockPermissions == 1));
				
				index = indexAt(ky, permissionIDs);
				
				if(index >= 0)
				{
					permissionIDs[index].disabled = (val.lockPermissions == 1);
					permissionIDs[index].checked = (val.checked == 1);
					
					showHideLayer('box' + ky, '', index);
				}
			}
		);
	}
}

function printit()
{
	if(window.print)
		window.print();

	else
	{
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(6, 2);
	}
}

function addTime()
{
	var date = document.getElementById('startDate').value;
	var startHour = document.getElementById('startHour').value;
	var startMinute = document.getElementById('startMinute').value;
	var startAmPm = document.getElementById('startAmPm').value;
	var endHour = document.getElementById('endHour').value;
	var endMinute = document.getElementById('endMinute').value;
	var endAmPm = document.getElementById('endAmPm').value;

	var value = date + " @ " + startHour + ":" + startMinute + " " + startAmPm + " - " + endHour + ":" + endMinute + " " + endAmPm;
	
	if(opener.addOption('times', value, value))
		alert('Time successfully added!');
}

function setAllChecked(elements)
{
	for(i = 0; i < elements.length; i++)
	{
		$('#' + elements[i] + ' option').each
		(
			function()
			{
				$(this).attr('selected', 'selected');
			}
		);
	}
}

function optionValueIndexOf(options, value)
{
	var index = -1;
	
	for(var i = 0; i < options.length && index == -1; i++)
	{
		if(options[i].value == value)
			index = i;
	}

	return index;
}

/*

function selectOptions(element, field)
{
	var checks = document.getElementsByName(element);
	var values;
	var objOption;
	var sortedArray = new Array();
	var added = false;
	
	for(i = 0; i < checks.length; i++)
	{
		if(checks[i].checked)
		{
			values = checks[i].value.split('_');

			if(opener.addOption(field, values[1], values[0]))
				added = true;

			checks[i].checked = false;
		}
	}

	if(added)
		alert('Selections add successfuully!');

	//window.close();
}

*/

function selectOptions(element, field)
{
	var values;
	var added = false;
	
	$('input[name="' + element + '"]:checked').each
	(
		function()
		{
			values = $(this).val().split('_');

			if(opener.addOption(field, values[1], values[0]))
				added = true;
				
			$(this).attr('checked', false);
		}
	);

	if(added)
		alert('Selections add successfuully!');

	//window.close();
}

function populateForm(companyID)
{
	$.getJSON
	(
		"/members/getCompanyInfo.php?company=" + companyID,
		
		function(data)
		{
			populateCompanyInfo(data);
			
			$.unblockUI();
		}
	);
	
	$.blockUI
	(
		{
			message: '<img src="/members/images/busy.gif" /> Please wait...',
			css: { padding:10 }
		}
	);
	
	document.form.email.value = "";
	

	// Assign phone & fax info to constants as default values

	PHONE = document.form.phone.value;
	FAX = document.form.fax.value;
}

function populateCompanyInfo(JSONObj)
{
	var users = document.getElementById('users');
	
	
	// Remove all options except for "Select User"
	
	users.length = 1;
	
	$.each
	(
		JSONObj,
		
		function(ky, val)
		{
			users.options[users.options.length] = new Option(val, ky);
		}
	);
}

function populateUserInfo(JSONObj)
{
	var phone = (JSONObj.phone ? JSONObj.phone : PHONE);
	var fax = (JSONObj.fax ? JSONObj.fax : FAX);
	
	$("#email").val(JSONObj.email);
	$("#phone").val(phone);
	$("#fax").val(fax);
}

function loadUserInfo(webUserID)
{
	if(webUserID > 0)
	{
		$.getJSON
		(
			"/members/getUserInfo.php?userid=" + webUserID,
			
			function(data)
			{
				populateUserInfo(data);
			}
		);
	}	
	else
	{
		$('#phone').val(PHONE);
		$('#fax').val(FAX);
		$('#email').val('');
	}
}

function addOption(element, textValue, valueValue)
{
	var documentOptions = document.getElementById(element);
	var div = document.getElementById(element + "_div");
	var hiddenElement;
	var added = false;

	if(documentOptions)
	{
		if(optionValueIndexOf(documentOptions, valueValue) == -1)
		{
			documentOptions.options[documentOptions.options.length] = new Option(textValue, valueValue);

			hiddenElement = document.createElement("input");

			hiddenElement.setAttribute("type", "hidden");
			hiddenElement.setAttribute("name", element + "[]");
			hiddenElement.setAttribute("value", valueValue);
			hiddenElement.setAttribute("id", element + "_" + length);

			if(div.appendChild(hiddenElement))
				added = true;
		}
	}
	
	return added;
}

function removeOptions2(option)
{
	$('#' + option + ' input:checked').each
	(
		function(index)
		{
			$(this).parent().remove();
		}
	);
}

function removeOptions(option)
{

/*
	$('#' + option).each
	(
		function(index)
		{
			//alert('Yes ' + index);
			
			//if($(this).attr('selected'))
			//{
				$(this).remove();
				$('#' + option + '_' + index).remove();
			//}
		}
	);
	
*/
	
	var documentOptions = document.getElementById(option);
	var hiddenElement;
	var optionValue;
	
	var x = 0;
	
	for(i = 0, x = 0; i < documentOptions.options.length; i++, x++)
	{
		if(documentOptions.options[i].selected)
		{
			optionValue = documentOptions.value;
			documentOptions.remove(i);
			
			hiddenElement = document.getElementById(option + "_" + x);
			
			if(hiddenElement)
				hiddenElement.parentNode.removeChild(hiddenElement);
			
			i--;
		}
	}
}


// Event scheduling section

function setTimeSection()
{
	var eventType = document.getElementById('eventType');
	var value = eventType.value;
	
	var timeSection = document.getElementById('timeSection');
	var durationSection = document.getElementById('durationSection');

	timeSection.style.display = (value > 0 ? '' : 'none');
	durationSection.style.display = (value > 0 ? '' : 'none');
}

function setRecurringTimesSection(repeatOption)
{
	var value = $('#recurres').val();
	
	$('#weeklyOptions').css('display', (value == 2 ? '' : 'none'));
	$('#monthlyOptions').css('display', (value == 3 ? '' : 'none'));
	$('#specifiedOptions').css('display', (value == 5 ? '' : 'none'));
	$('#recurringEndsSection').css('display', (value > 0 && value < 5 ? '' : 'none'));
	$('#recurringTimesSection').css('display', (value == 2 || value == 3 || value == 5 ? '' : 'none'));
	$('#exceptionSection').css('display', (value > 0 ? '' : 'none'));

	printValidOptions(repeatOption);
	setRecurringEndsSection();
}

function setRecurringEndsSection()
{
	var recurringEnds = document.getElementById('recurringEnds');
	var recurringEndsSection = document.getElementById('recurringEndsSection');
	var endDateSection = document.getElementById('endDateSection');
	var repeatNumberSection = document.getElementById('repeatNumberSection');

	var value = recurringEnds.value;

	endDateSection.style.display = (recurringEndsSection.style.display == '' && value == 1 ? '' : 'none');
	repeatNumberSection.style.display = (recurringEndsSection.style.display == '' && value == 2 ? '' : 'none');
}

function printValidOptions(repeatOption)
{
	var possibleOptions = new Array('None', 'Days', 'Weeks', 'Months', 'Years');

	var recurres = document.getElementById('recurres');
	var repeatOptions = document.getElementById('repeatOptions');

	repeatOptions.length = 0;

	for(i = recurres.value; i <= 4; i++)
	{
		repeatOptions.options[repeatOptions.length] = new Option(possibleOptions[i], i);
		
		if(i == repeatOption)
			repeatOptions.options[repeatOptions.length - 1].selected = true;
	}
}

// End event scheduling


function showHideLayer(boxID, btnID, id)
{
	var box = document.getElementById(boxID);
	var checkid = document.getElementsByName('permissionIDs[]');
	
	if(checkid[id])
		var isChecked = checkid[id].checked;
		
	if(box)
	{
		if(btnID)
			var boxbtn = document.getElementById(btnID);

		if(!isChecked)
		{
			box.style.display = 'none';

			if(btnID)
			{
				boxbtn.src = '/members/images/expand.gif';
				boxbtn.setAttribute('alt', 'Expand');
			}
		}
		else
		{
			box.style.display = '';

			if(btnID)
			{
				boxbtn.src = '/members/images/collapse.gif';
				boxbtn.setAttribute('alt', 'Collapse');
			}
		}
	}
}

function openForm($link, $width, $height, $window)
{
	var x = window.open($link,  $window, 'width=' + $width + ', height=' + $height + ', scrollbars=1, resizable=1');

	if(x.opener == null)
		x.opener = self;
}

function confirmSubmit(message)
{
	if(!message)
		message = "This action can not be undone! Continue?";

	var agree = confirm(message);

	return(agree ? true : false);
}

function setRepresentative(name, id)
{
	var formInfo = self.opener.window.document.form;

	formInfo.rep.value = name;
	formInfo.representative.value = id;

	window.close();
}

function setSpecifier(id, business, name)
{
	var formInfo = self.opener.window.document.form;

	if(id)
	{
		eval("formInfo.businessList" + id + ".value = business");
		eval("formInfo.businessID" + id + ".value = name");
	}
	else
	{
		formInfo.soldBy.value = business;
		formInfo.company.value = name;
		formInfo.calculate.disabled = true;
		formInfo.soldAmount.disabled = false;
	}

	window.close();
}

function movePDF(subOf, parentName)
{
	if(subOf)
		$('#subOf', window.parent.document).val(subOf);

	if(parentName)
		$('#parentName', window.parent.document).val(parentName);

	window.parent.jQuery.modal.close(true);
}

function moveValues(fields, values)
{
	var formInfo = self.opener.window.document;
	var element;
	
	for(i = 0; i < fields.length; i++)
	{
		element = formInfo.getElementById(fields[i]);
		
		if(element)
			element.value = values[i];
	}
}

function validateReportForm()
{
	if($('input[name="option[]"]:checked').size() == 0)
	{
		alert('You must select at least 1 element to display!');
	
		return false;
	}
}

function test(jqueryObj)
{
	SOLD_BY = jqueryObj;
}

function test2(company, companyID)
{
	var soldBy = jQuery("input[name='soldBy[]']", SOLD_BY);
	var soldByName = jQuery("input[name='soldByName[]']", SOLD_BY);
	
	soldBy.val(companyID);
	soldByName.val(company);
	
	alert('Selections added successfully!');
}

function setContact(name, id, company)
{
	var queryString = getQueryString();
	var formInfo = self.opener.window.document.form;

	formInfo.contact.value = name;
	formInfo.webUserID.value = id;
	formInfo.company.value = company;
	formInfo.mailTo.value = queryString['company'];

	window.close();
}

function alertMessage()
{
	alert(MESSAGE);
}