
//This function is used to select and highlight all the patent list 
function SetChecked(formName, chkName, type)
{
	var form = formName;
	var i = 0;
	var y = 0;
	dml = document.forms[form];
	len = dml.elements.length;
	
	for (i = 1; i < len; i++)
	{
		if (dml.elements[i].name == chkName)
		{
			y++;
			dml.elements[i].checked = dml.master.checked;
			
			if (type == 'select_row')
			{
				if (dml.elements[i].checked == true )
				{
					if (chkName == 'items[]')
					{
						document.getElementsByTagName('tr')[y+2].className = 'selected_row';
					}
					else
					{
						document.getElementsByTagName('tr')[y+1].className = 'selected_row';
					}

				}
				else
				{
					if (y % 2 == 0 && chkName == 'items[]')
					{
						document.getElementsByTagName('tr')[y+2].className = 'dataRowalt_for_cart';
					}
					else 
					{
						if (chkName == 'items[]')
						{
							document.getElementsByTagName('tr')[y+2].className = '';
						}
						else
						{
							document.getElementsByTagName('tr')[y+1].className = '';
						}
					}
				}
			}
		}
	}
}

function SetCheckedCustom(formName, masterCheck, chkName)
{
	var form = formName;
	masterChkbox = document.getElementsByName(masterCheck)[0];
	dml=document.forms[form];
	len = dml.elements.length;
	var i=0;
	for( i=1 ; i<len ; i++)
	{
		if (dml.elements[i].name==chkName)
		{
			dml.elements[i].checked =  masterChkbox.checked;
		}
	}
}

function isChecked(formName, chkName)
{
	var form = formName;
	var i=0;

	dml=document.forms[form];
	len = dml.elements.length;

	for( i=1 ; i<len ; i++)
	{
		if (dml.elements[i].name==chkName)
		{
			if(dml.elements[i].checked == true)
			{
				return true;
			}
		}
	}

	return false;
}

function openpopup(popurl)
{
	var winpops=window.open(popurl,"","top=100,left=150,width=570,height=450")
}

function populateBillingInformation(frmName)
{
   var frm = document.forms[frmName];

    if (frm.same.checked == true)
    {
        frm.name.value = frm.r_name.value;
        frm.address1.value = frm.r_address1.value;
        frm.address2.value = frm.r_address2.value;
        frm.city.value = frm.r_city.value;
        frm.state.value = frm.r_state.value;
        frm.zip.value = frm.r_zip.value;

        for ( var i = 0; i < frm.country.length; i++)
        {
            if (frm.country.options[i].value == frm.r_country.value)
            {
                frm.country.options[i].selected = true;

                break;
            }
        }
    }
    else
    {
        frm.name.value = '';
        frm.address1.value = '';
        frm.address2.value = '';
        frm.city.value = '';
        frm.state.value = '';
        frm.zip.value = '';
        frm.country.options[226].selected = true;
    }
}

function populateBillingInformationForRegistration(frmName)
{
   var frm = document.forms[frmName];

    if (frm.same.checked == true)
    {
        frm.billing_name.value = frm.name.value;
        frm.billing_address1.value = frm.address_1.value;
        frm.billing_address2.value = frm.address_2.value;
        frm.billing_city.value = frm.city.value;
        frm.billing_state.value = frm.state.value;
        frm.billing_zip.value = frm.zip_code.value;

        for ( var i = 0; i < frm.country.length; i++)
        {
            if (frm.billing_country.options[i].value == frm.country.value)
            {
                frm.billing_country.options[i].selected = true;

                break;
            }
        }
    }
    else
    {
        frm.billing_name.value = '';
        frm.billing_address1.value = '';
        frm.billing_address2.value = '';
        frm.billing_city.value = '';
        frm.billing_state.value = '';
        frm.billing_zip.value = '';
        frm.billing_country.options[226].selected = true;
    }
}

function setState(state)
{
    frm.name.disabled = state;
    frm.address1.disabled = state;
    frm.address2.disabled = state;
    frm.city.disabled = state;
    frm.state.disabled = state;
    frm.zip.disabled = state;
    frm.country.disabled = state;
}

function populateCardInformation(frmName)
{
    var frm = document.forms[frmName];

    var today_date = new Date();
    var current_month = today_date.getMonth();
    var current_year = today_date.getFullYear();

    if ( (frm.r_cc_type.value != frm.cc_type.value) && (frm.r_cc_type.value != ''))
    {
        frm.cc_number.value = '';
        frm.cc_expiry_month.options[current_month].selected = true;
        frm.cvv.value = '';
        frm.name_on_card.value = '';

        for ( var i = 0; i < frm.cc_expiry_year.length; i++)
        {
            if (frm.cc_expiry_year.options[i].value == current_year)
            {
                frm.cc_expiry_year.options[i].selected = true;

                break;
            }
        }
    }
}

function popUpWindow(url, height, width, left, top)
{
    if (url.indexOf("print_view") == -1)
    {
         var menu = 'no';
    }
    else
    {
        var menu = 'yes';
    }

    var load_win = window.open(url, 'FPU', 'resizable=yes, copyhistory=no, scrollbars=yes, menubar='+menu+', height='+height+', width='+width+', left='+left+', top='+top+', toolbar=no, location=no, status=no');

    return false;
}

function getPeriod(frmName)
{
    var frm = document.forms[frmName];
    var period = frm.period.value;

    return period;
}

function toggleDivInvoice(frmName)
{
    var frm = document.forms[frmName];
    var period = frm.period.value;
    var divName;

    for (i = 2; i <= 3; i++)
    {
        divName = "period" + i;
        thisDiv = document.getElementById(divName);

        if (i == period)
        {
            thisDiv.style.display = "block";
        }
        else
        {
            thisDiv.style.display = "none";
        }
    }

    if (period > 3)
    {
        divName = "period" + 4;
        thisDiv = document.getElementById(divName);
        thisDiv.style.display = "none";
    }
}

function checkIfDivToDisplay(div_to_display)
{

	if (document.getElementById(div_to_display).style.display == 'none')
	{
		if(isChecked('Cart','items[]') != true)
		{
			var form = 'Cart';
			dml=document.forms[form];
			if (confirm ('Select all documents in this page by default?') == true)
			{
			    dml.master.checked = true;
			     SetChecked('Cart','items[]');
			     return true;
			}
			else
			{
			 return false;
			}
		}
	}

	return true;
}

function checkCartItemsToActions(div_to_display)
{	
	if (div_to_display == 'pdf_delete')
	{
		if (document.getElementById(div_to_display).style.display == 'none')
		{
			if(isChecked('Cart','items[]') != true)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
	
	if (div_to_display == 'assign')
	{
		if((isChecked('Cart','items[]') != true) && (document.getElementById('pdf_type_selected').checked == true))
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	if (div_to_display == 'memo')
	{
		if((isChecked('Cart','items[]') != true) && (document.getElementById('reference_selected').checked == true))
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	
	return true;
}

function toggleMessage(div_to_display, message_to_display)
{	
	hideElement('error_div');
	
	if(div_to_display == "delete" || div_to_display == "memo" || div_to_display == "delete_all")
	{
		document.getElementById('div_delete_selected').innerHTML='';
		document.getElementById('div_delete_check').innerHTML='';
		document.getElementById('reference_checked').innerHTML=''
		document.getElementById('div_memo_type_selected').innerHTML='';
		
	}
	
	if(div_to_display == "delete")
	{
		hideElement('div_delete_check');
		
		if (checkCartItemsToActions('pdf_delete') == true)
		{
			document.getElementById('div_delete_selected').innerHTML='';
			
			toggleElement('pdf_delete');
		}
		else
		{
			document.getElementById('div_delete_selected').innerHTML='Select document(s) to delete.';
		}
	}
	else
	{
		hideElement('pdf_delete');
	}
	
	if(div_to_display == "delete_all")
	{
		hideElement('div_delete_check_all');
			
		toggleElement('pdf_delete_all');
	}
	else
	{
		hideElement('pdf_delete_all');
	}
	
	if(div_to_display == "memo")
	{
		hideElement('reference_checked');
		
		toggleElement('memo');
		
	}
	else
	{
		hideElement('memo');
	}

	if(div_to_display == "add_to_cart")
	{
		hideElement('div_add_check');
		
		toggleElement('add_to_cart');
	}
	else
	{
		hideElement('add_to_cart');
	}
}

function toggleErrorMessage(div_to_display)
{	
	hideElement('error_div');
	
	if(div_to_display == "delete" || div_to_display == "delete_all" || div_to_display == "memo" )
	{	
		document.getElementById('div_delete_selected').innerHTML='';
		document.getElementById('div_delete_check').innerHTML='';
		document.getElementById('reference_checked').innerHTML=''
		document.getElementById('div_memo_type_selected').innerHTML='';
	}
	
	if(div_to_display == "memo")
	{	
		if (checkCartItemsToActions('memo') == true)
		{	
			document.getElementById('reference_checked').innerHTML='';			
		}
		else
		{	document.getElementById('reference_checked').style.display = 'block';
			document.getElementById('reference_checked').innerHTML='Select document(s) to add/edit client reference.';
			
			return false;
		}
	}
	
	if(div_to_display == "delete")
	{	
		if (checkCartItemsToActions('delete') == true)
		{	
			document.getElementById('div_delete_check').innerHTML='';			
		}
		else
		{	document.getElementById('div_delete_check').style.display = 'block';
			document.getElementById('div_delete_check').innerHTML='Select document(s) to delete.';
			
			return false;
		}
	}
}

function hideElement(element_id)
{	
	new Effect.BlindUp(element_id, {duration:0.3});
}

function displayElement(element_id)
{
	new Effect.BlindDown(element_id, {duration:0.3});
}

function toggleElement(element_id)
{
	new Effect.toggle(element_id, 'blind', {duration:0.3});
}

function URLEncode(value)
{

	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" +					// Numeric
					"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
					"abcdefghijklmnopqrstuvwxyz" +
					"-_.!~*'()";					// RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";

	var plaintext = value;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
		if (ch == "+")
		{
			encoded += "%2B";
		}
	    else if (ch == " ") {
		    encoded += "%20";				// x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
		    encoded += ch;
		} else {
		    var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
			    alert( "Unicode Character '"
                        + ch
                        + "' cannot be encoded using standard URL encoding.\n" +
				          "(URL encoding only supports 8-bit characters.)\n" +
						  "A space (+) will be substituted." );
				encoded += "%20";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} // for

	return encoded;
}

function enable_combo(checkboxName, comboboxName)
{
	if(document.getElementById(checkboxName).checked==true)
	{
		document.getElementById(comboboxName).disabled=false;
	}
	else
	{
		document.getElementById(comboboxName).disabled=true;
	}
}

function toggleMenuSection(unique)
{
	action = "toggleType = toggleDiv('div_" + unique + "', '" + unique + "_div');";
	eval(action);
	action = "thisImage = document.getElementById('img_" + unique + "');";
	eval(action);
	if (document.getElementById('div_' + unique).offsetHeight > 0)
	{
        thisImage.src = "/images/menu_tree_open.gif";
        thisImage.title = "Click to fold";
    }
    else
	{
       	thisImage.src = "/images/menu_tree_closed.gif";
       	thisImage.title = "Click to expand";
    }
}

function toggleDiv(divName, hiddenBoxName)
{
    thisDiv = document.getElementById(divName);
    if (thisDiv)
    {
       	if (thisDiv.style.display == "none")
		{
        	thisDiv.style.display = "block";

        }
        else
		{
    		thisDiv.style.display = "none";

        }
    }
    else
	{
    	errorString = "Error: Could not locate div with id: " + divName;
    	alert(errorString);
    }
}

function clearSearchForm()
{
	var formInputs = document.getElementsByTagName('input');
	for (var i = 0; i < formInputs.length; i++)
	{
		var theInput = formInputs[i];
		if (theInput.type == 'text')
		{
			theInput.value = '';
		}

		if (theInput.type == 'checkbox')
		{
			if (theInput.name == "uspat")
			{
				theInput.checked = true;
			}
			else
			{
				theInput.checked = false;
			}
		}

		if (theInput.type == 'radio')
		{
			if (theInput.id == "exdate_all" || theInput.id == "exstemmingon" || theInput.id =="exsortchrono" || theInput.id =="ezdate_all" || theInput.id =="ezstemmingon" || theInput.id =="ezsortchrono"|| theInput.id =="exuspat")
			{
				theInput.checked = true;
			}
			else
			{
				theInput.checked = false;
			}
		}
	}

	formInputs = document.getElementsByTagName('textArea');
	var theTextArea = formInputs[0];
	theTextArea.value = '';
}

function clearContactUsForm(flag)
{
	var formInputs = document.getElementsByTagName('input');
	
	for (var i = 0; i < formInputs.length; i++)
	{
		var theInput = formInputs[i];
		
		if(flag == true)
		{
			if (theInput.type == 'text' && theInput.name != 'name' && theInput.name != 'email')
			{
				theInput.value = '';
			}
		}
		else
		{
			if (theInput.type == 'text')
			{
				theInput.value = '';
			}
		}
	}
	formInputs = document.getElementsByTagName('textArea');
	var theTextArea = formInputs[0];
	theTextArea.value = '';
	formInputs = document.getElementsByTagName('select');
	var theSelect = formInputs[0];
	theSelect.value= 'Select';
	theSelect = formInputs[1];
	theSelect.value= 'Select';
}

function clearContactUsErrorForm(errorString)
{
	var errorFields = errorString.split(" ");
	
	for (var i = 0; i < errorFields.length; i++)
	{
		if (errorFields[i] == 'name')
		{
			document.getElementById('name').value='';
		}
		if (errorFields[i] == 'company')
		{
			document.getElementById('company').value='';
		}
		if (errorFields[i] == 'address')
		{
			document.getElementById('address').value='';
		}
		if (errorFields[i] == 'occupation')
		{
			document.getElementById('occupation').value='Select';
		}
		if (errorFields[i] == 'other_occupation')
		{
			document.getElementById('other_occupation').value='';
		}
		if (errorFields[i] == 'email')
		{
			document.getElementById('email').value='';
		}
		if (errorFields[i] == 'phone')
		{
			document.getElementById('phone').value='';
		}
		if (errorFields[i] == 'topic')
		{
			document.getElementById('topic').value='Select';
		}
		if (errorFields[i] == 'message')
		{
			document.getElementById('message').value='';
		}
	}
}

function clearBugReportForm()
{
	var formInputs = document.getElementsByTagName('input');
	
	for (var i = 0; i < formInputs.length; i++)
	{
		var theInput = formInputs[i];
		
		if (theInput.type == 'text' && theInput.name != 'name' && theInput.name != 'email')
		{
			theInput.value = '';
		}
		
	}
	formInputs = document.getElementsByTagName('textArea');
	
	for( var i =0 ; i < formInputs.length ;i++)
	{
		var theTextArea = formInputs[i];
		
		if(theTextArea.name != 'browser')
		{
			theTextArea.value = '';
		}
		
	}
	formInputs = document.getElementsByTagName('select');
	var theSelect = formInputs[0];
	theSelect.value= 'Select';
}

/*help*/
function rePopulate(c, form_id, append_flag)
{
	if (form_id=="apn")
	{
	    opener.document.getElementById(form_id).value=c+"/";
	}
	else if (append_flag=="append")
	{
        opener.document.getElementById(form_id).focus();
		val = opener.document.getElementById(form_id).value;
        c = c.replace(/ /,"");
	    opener.document.getElementById(form_id).value=val+c;
	}
	else
	{   	    
	    opener.document.getElementById(form_id).value=c;	
	}

	window.close();
	opener.document.getElementById(form_id).focus();
}

function ietruebody()
{
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thecolor, thewidth)
{
	document.onmousemove=positiontip
	var ns6=document.getElementById && !document.all
	if (ns6||ie)
	{
		if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
		if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
		tipobj.innerHTML=thetext
		enabletip=true
		return false
	}
}

function positiontip(e)
{
	  var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
	if (enabletip)
	{
		var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
		var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
		//Find out how close the mouse is to the corner of the window
		var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
		var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20

		var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

		//if the horizontal distance isn't enough to accomodate the width of the context menu
		if (rightedge<tipobj.offsetWidth)
			//move the horizontal position of the menu to the left by it's width
			tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
		else if (curX<leftedge)
			tipobj.style.left="5px"
		else
			//position the horizontal position of the menu where the mouse is positioned
			tipobj.style.left=curX+offsetxpoint+"px"

			//same concept with the vertical position
		if (bottomedge<tipobj.offsetHeight)
		{
			tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px";
		}
		else
			tipobj.style.top=curY+offsetypoint+"px"
			tipobj.style.visibility="visible"
	}
}

function hideddrivetip()
{
	if (ns6||ie)
	{
		enabletip=false
		tipobj.style.visibility="hidden"
		tipobj.style.left="-1000px"
		tipobj.style.backgroundColor=''
		tipobj.style.width=''
	}
}

function showDiv(divToShow, divToHide)
{
	document.getElementById(divToShow).style.display = "block";
	if (divToHide)
	{
		document.getElementById(divToHide).style.display = "none";
	}
}


/**HelpTree**/

function tmenudata0()
{
	this.imgage_gap = 3
	this.plus_image = "/images/plus.gif"
	this.minus_image = "/images/minus.gif"
	this.pm_width_height = "9,9"
	this.folder_image = "/images/folder.gif"
	this.icon_width_height = "16,14"
	this.indent = 20;
	this.use_hand_cursor = true;
	this.main_item_styles =           "text-decoration:none;		\
                                           font-weight:normal;			\
                                           font-family:Arial;			\
                                           font-size:12px;			\
                                           color:#333333;			\
                                           padding:2px;				"


    this.sub_item_styles =            "text-decoration:none;		\
                                           font-weight:normal;			\
                                           font-family:Arial;			\
                                           font-size:12px;			\
                                           color:#333333;			"

	this.main_container_styles = "padding:0px;"
	this.sub_container_styles = "padding-top:7px; padding-bottom:7px;"

	this.main_link_styles = "color:#0000ff; text-decoration:none;"
	this.main_link_hover_styles = "color:#0000ff; text-decoration:underline;"

	this.sub_link_styles = ""
	this.sub_link_hover_styles = ""

	this.main_expander_hover_styles = "text-decoration:underline;";
	this.sub_expander_hover_styles = "";
}

function validateExportDocuments()
{
	document.getElementById('div_export_error').style.display = "block";
	
	if (document.getElementById('export_documents').value == 1)
	{
		for(i=0;i<document.getElementsByName('checked_documents[]').length;i++)
		{
			if (document.getElementsByName('checked_documents[]')[i].checked == true)
			{
				document.getElementById('div_export_error').style.display = "none";
				return true;
			}
		}
		
		document.getElementById("div_copy").style.display="none";
		document.getElementById("div_move").style.display="none";
		document.getElementById("div_add").style.display="none";
		document.getElementById('div_delete_error').style.display = "none";
		document.getElementById('label_export_error').innerHTML = "Select atleast one document";
	
		return false;
	}
	else
	{
		document.getElementById('div_export_error').style.display = "none";
		
		return true;
	}

}

function validateAddToCart(number_of_documents_in_portfolio,limit_to_add_cart)
{
	number_of_docs_selected = 0;
	
	for(i=0;i<document.getElementsByName('checked_documents[]').length;i++)
	{
		if (document.getElementsByName('checked_documents[]')[i].checked == true)
		{
			document.getElementById('div_cart_error').style.display = "none";
			
			number_of_docs_selected = number_of_docs_selected + 1;
		}
	}	
	
	if (document.getElementById('selected_cart_doc_flag').value == 0)
	{
		document.getElementById('div_cart_error').style.display = "block";
 
		if (number_of_docs_selected == 0)
		{
			document.getElementById('label_cart_error').innerHTML = "Select atleast one document";
			
			return false;
		}
		else if (number_of_docs_selected > limit_to_add_cart)
		{
			
			document.getElementById('div_cart_error').style.display = "block";
			document.getElementById('label_cart_error').innerHTML = "You have exceeded the cart limit. You cannot add more than "+limit_to_add_cart +" documents.";
			
			return false;
		}
		
		return true;		
	}
}

function validateAddToCartFromSearch(number_of_documents_in_search,limit_to_add_cart)
{
	number_of_docs_selected = 0;
	
	for(i=0;i<document.getElementsByName('checked_documents[]').length;i++)
	{
		if (document.getElementsByName('checked_documents[]')[i].checked == true)
		{
			document.getElementById('div_cart_error').style.display = "none";
			
			number_of_docs_selected = number_of_docs_selected + 1;
		}
	}
		
	for(i=0;i<document.getElementsByName('checked_pdfs[]').length;i++)
	{
		if (document.getElementsByName('checked_pdfs[]')[i].checked == true)
		{
			document.getElementById('div_cart_error').style.display = "none";
			
			number_of_docs_selected = number_of_docs_selected + 1;
		}
	}
		
	if (document.getElementById('selected_cart_doc_flag').value == 0)
	{
		document.getElementById('div_cart_error').style.display = "block";
 
		if (number_of_docs_selected == 0)
		{
			document.getElementById('label_cart_error').innerHTML = "Select atleast one document";
			
			return false;
		}
		else if (number_of_docs_selected > limit_to_add_cart)
		{
			
			document.getElementById('div_cart_error').style.display = "block";
			document.getElementById('label_cart_error').innerHTML = "You have exceeded the cart limit. You cannot add more than "+limit_to_add_cart +" documents.";
			
			return false;
		}
		
		return true;		
	}
}

function clearNotification()
{
	document.getElementById('div_notification').innerHTML='';
}

function updateClientReference(documentId)
{
	new Ajax.Updater('show_client' + documentId,
					'/Ecom/ShowCart/commit/memo/id/' + documentId + '.html',
					{
						asynchronous:true,
						evalScripts:false,
						onComplete:function(request, json)
						{
							hideElement('indicator' + documentId);
							displayElement('show_client' + documentId);

							if (document.getElementById('error_show_client' + documentId).title)
							{
								alert(document.getElementById('error_show_client' + documentId).title);
							}
						},
						onLoading:function(request, json)
						{
							Element.show('indicator' + documentId);
							Element.hide('edit_client' + documentId)
						},
						parameters:'value=' + URLEncode($('client' + documentId).value)
					}
					);
	return false;
}


function handleClientReferenceEnter(e, documentId)
{
	var keynum
	if(window.event) // IE
	{
		keynum = e.keyCode;
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which;
	}
	if(keynum == 13)
	{
		updateClientReference(documentId);

		return false;
	}
	return true;
}

function toggleCommengDiv()
{
	if (document.getElementById('comments_div').value == 'true')
	{
		document.getElementById('comments_div').value = 'false';
	}
	else
	{
		document.getElementById('comments_div').value = 'true';
	}
}

function makeBlank(field,text)
{
	document.getElementById(field).value = text;
}

function getPortfolioIds()
{
	var portfolio_ids = '';
	
	for(i=0;i<document.getElementsByName('checked_portfolio[]').length;i++)
	{
		if (document.getElementsByName('checked_portfolio[]')[i].checked == true)
		{
			port_id = document.getElementsByName('checked_portfolio[]')[i].value;
			portfolio_ids = portfolio_ids +'+'+port_id;
		}
	}
	return portfolio_ids; 	
}

function getPortfolioDocumentIds()
{
	var portfolioDocumentIds = '';
	
	for(i=0;i<document.getElementsByName('checked_documents[]').length;i++)
	{
		if (document.getElementsByName('checked_documents[]')[i].checked == true)
		{
			doc_id = document.getElementsByName('checked_documents[]')[i].value;
			portfolioDocumentIds = portfolioDocumentIds +'+'+doc_id;
		}
	}
	return portfolioDocumentIds; 	
}

function validate()
{
	document.getElementById('div_export_error').style.display = "block";
	
	for(i=0;i<document.getElementsByName('checked_portfolio[]').length;i++)
	{
		if (document.getElementsByName('checked_portfolio[]')[i].checked == true)
		{
			document.getElementById('div_export_error').style.display = "none";
			document.portfolio_template.commit.value='Export';
			document.portfolio_template.submit();
			
			return true;
		}
	}
	document.getElementById("div_copy").style.display="none";
	document.getElementById("div_merge").style.display="none";
	document.getElementById("div_create").style.display="none";
	document.getElementById('div_delete_error').style.display = "none";
	document.getElementById("error_for_export_error").style.display="block";
	document.getElementById('label_export_error').innerHTML = "Select atleast one portfolio";
	
	return false;
}

function footer_position()
{
	var divh = document.getElementById('body').offsetHeight;
	var myHeight = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.body.offsetHeight);
	
	if(divh > (myHeight+20))
	{
		document.getElementById('footer').style.position="relative";
	}
	else
	{
		document.getElementById('footer').style.position="absolute";
	}
}

function getSearchIds()
{
	var search_ids = '';
	
	for(i=0;i<document.getElementsByName('searches[]').length;i++)
	{
		if (document.getElementsByName('searches[]')[i].checked == true)
		{
			srch_id = document.getElementsByName('searches[]')[i].value;
			search_ids = search_ids +'+'+srch_id;
		}
	}
	
	return search_ids;
}

function getAlertSearchIds()
{
	var search_ids = '';
	
	for(i=0;i<document.getElementsByName('alerts[]').length;i++)
	{
		if (document.getElementsByName('alerts[]')[i].checked == true)
		{
			srch_id = document.getElementsByName('alerts[]')[i].value;
			search_ids = search_ids +'+'+srch_id;
		}
	}
	
	return search_ids;
}

function getFileType()
{

	if (document.getElementById('kind_of_problem').value == 'PDF problem' || document.getElementById('kind_of_problem').value =='Portfolio export' || document.getElementById('kind_of_problem').value =='File downloads')
	{
		if(document.getElementById('kind_of_problem').value == 'PDF problem')
		{
			document.getElementById('div_file_type').innerHTML = '';
			document.getElementById('div_file_type').innerHTML = '<div class="dataEntryDiv_left2">File Type:</div><div class="dataEntryDiv_right"><select name="file_type" onChange="displayVerType()"><option selected value=PDF>PDF</option></select></div><br clear="all"/>';
			document.getElementById('div_file_versions').style.display = 'block';
			document.getElementById('file_version_label').innerHTML = 'Acrobat Version:';
			document.getElementById('div_file_type').style.display = 'block';
			document.getElementById('Add_Ins').disabled = false;	
			document.getElementById('file_version').disabled = false;
			document.getElementById('file_version').value ='';
			document.getElementById('div_file_addins').style.display = 'block';
			document.getElementById('file_type').disabled = false;
		}
		else if(document.getElementById('kind_of_problem').value == 'Portfolio export')
		{
			document.getElementById('div_file_type').innerHTML = '';
			document.getElementById('div_file_type').innerHTML = '<div class="dataEntryDiv_left2">File Type:</div><div class="dataEntryDiv_right"><select name="file_type" onChange="displayVerType()"><option selected value=Excel>Excel</option></select></div><br clear="all"/>';
			document.getElementById('div_file_type').style.display = 'block';
			document.getElementById('div_file_versions').style.display = 'block';
			document.getElementById('div_file_addins').style.display = 'none';
			document.getElementById('file_version').disabled = false;
			document.getElementById('file_version').value ='';
			document.getElementById('file_version_label').innerHTML = 'Excel Version:';
			document.getElementById('Add_Ins').disabled = true;			
		}
		else
		{
			document.getElementById('div_file_type').innerHTML = '';
			document.getElementById('div_file_type').innerHTML = '<div class="dataEntryDiv_left2">File Type:</div><div class="dataEntryDiv_right"><select name="file_type" id="file_type" onChange="displayVerType()"><option selected value=PDF>PDF</option><option selected value=Excel selected>Excel</option><option  value=Word>Word</option></select></div><br clear="all"/>';
			document.getElementById('div_file_type').style.display = 'block';
			document.getElementById('div_file_versions').style.display = 'block';
			document.getElementById('file_type').disabled = false;
			document.getElementById('file_version').disabled = false;
			document.getElementById('file_version').value ='';
			document.getElementById('file_version_label').innerHTML = 'Excel Version:';
			document.getElementById('Add_Ins').disabled = false;	
			document.getElementById('div_file_addins').style.display = 'none';
		}			
	}
	else
	{
		document.getElementById('div_file_type').style.display = 'none';
		document.getElementById('div_file_versions').style.display = 'none';
		document.getElementById('div_file_addins').style.display = 'none';
	}
}
function displayVerType()
{
	
	if(document.getElementById('file_type').value == 'PDF')
		{
			document.getElementById('file_version_label').innerHTML = 'Acrobat Version:';
			document.getElementById('file_version').value ='';
			document.getElementById('div_file_addins').style.display = 'block';
		}
	else if(document.getElementById('file_type').value == 'Word')
		{
			document.getElementById('file_version_label').innerHTML = 'Word Version:';
			document.getElementById('file_version').value ='';
			document.getElementById('div_file_addins').style.display = 'none';
		}
	if(document.getElementById('file_type').value == 'Excel')
		{
			document.getElementById('file_version_label').innerHTML = 'Excel Version:';
			document.getElementById('file_version').value ='';
			document.getElementById('div_file_addins').style.display = 'none';
		}
}

function validateOrderDocumentsForm()
{
	if (document.getElementById('document_numbers').value =="")
	{	 		
		document.getElementById('error_div').style.display="block";
		
		document.getElementById('errors').innerHTML = "<li>Enter document number.</li>";
		
		return false;		
	}
}

//validate Bug Reports form
function validateBugReportForm()
{
	var error = false;
	var errors = "";
	
	if(document.getElementById('name').value =="")
	{
		errors = errors + "<li>Please fill in the name";
		error = true;
	}
	
	if(document.getElementById('company').value !="")
	{
		val = doValidate(document.getElementById('company').value);		
		if (val == 0)
		{
			errors =  errors + "<li>Special characters like \\ ' \" < > ? & / are not allowed in the company name.</li>";
			error = true;
		}
	}
	
	if(document.getElementById('address').value !="")
	{
		val = doValidate(document.getElementById('address').value);		
		if (val == 0)
		{
			errors =  errors + "<li>Special characters like \\ ' \" < > ? & / are not allowed in the address.</li>";
			error = true;
		}
	}
	
	if(document.getElementById('email').value =="")
	{
		errors = errors + "<li>Please fill in the Email:";
		error = true;
	}
	else
	{
	
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('email').value))
		{
		var results =0;
		}
		else
		{
		errors = errors + "<li>Invalid E-mail Address! Please re-enter.";
		error = true;
		}
	}
		
	if(document.getElementById('phone').value !="")
	{
		string = document.getElementById('phone').value;

		for (i = 0; i < string.length; i++)
			    {   
			        // Check that current character is number.
			        var c = string.charAt(i);

			        if (((c >= 0) || (c <= 9) || (c == "+") || (c =="(") || (c == ")") || (c == "-"))) 
			        {	
			        	error = false;
			        }
			        else
			        {
			        	errors =  errors + "<li>Invalid Phone Number. You can use numbers, +, -, and brackets only.</li>";
			        	error = true;
			        	break;
			        }
				}
	}
	
	if (document.getElementById('kind_of_problem').value ==0)
	{
		errors = errors + '<li>Please fill in "What/Where is the problem?".';
		error = true;
	}
	
	if (document.getElementById('kind_of_problem').value == 'PDF problem' || document.getElementById('kind_of_problem').value =='Portfolio export' || document.getElementById('kind_of_problem').value =='File downloads')
	{
		
		if (document.getElementById('file_version').value =="")
		{
			if (document.getElementById('kind_of_problem').value == 'PDF problem')
			{
				errors = errors + "<li>Please fill in the PDF version";
			}
			else if (document.getElementById('kind_of_problem').value == 'Portfolio export')
			{
				errors = errors + "<li>Please fill in the excel version";
			}
			else
			{
				errors = errors + "<li>Please fill in the " + document.getElementById('file_type').value + " version";
			}
			
			error = true;
		}
	}
		if (document.getElementById('summary').value =="")
	{
		errors = errors + "<li>Please fill in the Brief summary:";
		error = true;
	}
	
	if (error)
	{
		window.scrollTo(0, 0);
		document.getElementById('error_div').style.display="block";
		document.getElementById('errors').innerHTML = errors;
		
		return false;
	}
		
}

function triggerButtonOnReturn(button_id,event)
{
	if(event.keyCode==13)
	{
		document.getElementById(button_id).focus();
	}
}

function setFocus(control_id)
{	
	document.getElementById(control_id).focus();
}

function show_div1()
{
	document.getElementById('coming_up_div').style.display="block";
	document.getElementById('preference_div').style.border="1px dashed #d83705";
}

function hide_div1()
{
	document.getElementById('coming_up_div').style.display="none";
	document.getElementById('preference_div').style.border="1px dashed #FFF";
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function checkAllCollection(formName, masterCheck, subChkNameString)
{
	var subCheckArray = subChkNameString.split(';');
	var masterChkbox = document.getElementById(masterCheck);
	
	if (masterChkbox.checked == true)
	{
		for (i = 0; i < subCheckArray.length; i++)
		{
			document.getElementById(subCheckArray[i]).checked = true;
		}
	}
	else if (masterChkbox.checked == false)
	{
		for (i = 1; i < subCheckArray.length; i++) // index 0 indicates US Patents, which is always in checked status.
		{
			document.getElementById(subCheckArray[i]).checked = false; 
		}
	}
	
}

function uncheckMaster(formName, masterCheck, subChkNameString)
{
	var flag = 0;
	var subCheckArray = subChkNameString.split(';');
	var masterChkbox = document.getElementById(masterCheck);

	for (i = 0; i < subCheckArray.length; i++)
	{
		if (document.getElementById(subCheckArray[i]).checked == false)
		{
			flag = 1;
		}
	}
	
	if ( flag == 1)
	{
		masterChkbox.checked = false;
	}
	else
	{
		masterChkbox.checked = true;
	}
}

function setSearchFormMethodToPost()
{
    document.results.method = 'post';
}

function setSearchFormMethodToGet()
{
    document.results.method = 'get';
}


function displayOtherOccupation()
{
	if (document.getElementById('occupation').value =='Others')
	{
		document.getElementById('div_other_occupation').style.display = 'block';
	}
	else
	{
		document.getElementById('div_other_occupation').style.display = 'none';
	}
}
//
// global variables
//
var isMozilla;
var objDiv = null;
var originalDivHTML = "";
var DivID = "";
var over = false;

function displayWindow()
{
    var w, h, l, t;
    w = 720;
    h = 90;
    l = screen.width/8;
    t = screen.height/4;
    
    // no title		        
    // displayFloatingDiv('windowcontent', '', w, h, l, t);

    // with title		        
    displayFloatingDiv('windowcontent', 'Download Confirmation', w, h, l, t);
}

function displayFloatingDiv(divId, title, width, height, left, top) 
{	
	var theDiv = document.getElementById("cart_table");
	
	var table_height = theDiv.offsetHeight;
	
	if (table_height < 241)
	{
		table_height = 150;
	}
	
	DivID = divId;	
	
	closeActionDivs();	
	
	document.getElementById('dimmer').style.visibility = "visible";
	document.getElementById('dimmer').style.width = '100%';
	document.getElementById('dimmer').style.height=table_height + 300 + 'px' ;
	
    document.getElementById(divId).style.width = width + 'px';
    document.getElementById(divId).style.height = height + 'px';
    document.getElementById(divId).style.left = left + 'px';
    document.getElementById(divId).style.top = top + 'px';
	
	var addHeader;
	
	if (originalDivHTML == "")
	    originalDivHTML = document.getElementById(divId).innerHTML;
	
	addHeader = '<table style="width:' + width + 'px" class="floatingHeader">' +
	            '<tr><td ondblclick="void(0);" onmouseover="over=true;" onmouseout="over=false;" style="cursor:move;height:18px">' + title + '</td>' + 
	            '<td style="width:18px" align="right"><a href="javascript:hiddenFloatingDiv(\'' + divId + '\');void(0);">' + 
	            '<img alt="Close..." title="Close..." src="/images/delete_ico.png" border="0"></a></td></tr></table>';
	

    // add to your div an header	
	document.getElementById(divId).innerHTML = addHeader + originalDivHTML;
	
	
	document.getElementById(divId).className = 'dimming';
	document.getElementById(divId).style.visibility = "visible";


}

function hiddenFloatingDiv(divId) 
{
	document.getElementById(divId).innerHTML = originalDivHTML;
	document.getElementById(divId).style.visibility='hidden';
	document.getElementById('dimmer').style.visibility = 'hidden';
	
	DivID = "";
}

function closeActionDivs()
{	
	document.getElementById('error_div').style.display = 'none';	  
	document.getElementById('add_to_cart').style.display = 'none';
	document.getElementById('div_refernce_check').style.display = 'none';	       
	document.getElementById('div_pdf_type_selected').style.display = 'none';
	document.getElementById('pdf_type_block').style.display = 'none';	
	document.getElementById('div_memo_type_selected').style.display = 'none';
	document.getElementById('memo').style.display = 'none';	
	document.getElementById('div_delete_selected').style.display = 'none';
	document.getElementById('pdf_delete').style.display = 'none';
	document.getElementById('pdf_delete_all').style.display = 'none';
}

function validateAddCart()
{
	if (document.getElementById('document_numbers').value == "")
	{
		document.getElementById('div_add_check').style.display = 'block';
		document.getElementById('div_add_check').innerHTML = 'Enter document number.';
		document.getElementById('document_numbers').focus();
		
		return false;
	}
	else
	{
		document.getElementById('div_add_check').style.display = 'none';
		
		return true;
	}
}

function autojump(fieldName,nextFieldName,fakeMaxLength)
{
	var myForm=document.forms[document.forms.length - 1];
	var myField=myForm.elements[fieldName];
	myField.nextField=myForm.elements[nextFieldName];
	
	if (myField.maxLength == null)
	   myField.maxLength=fakeMaxLength;
	
	myField.onkeydown=autojump_keyDown;
	myField.onkeyup=autojump_keyUp;
}

function autojump_keyDown()
{
	this.beforeLength=this.value.length;
	downStrokeField=this;
}

function autojump_keyUp()
{
	if ((this == downStrokeField) && (this.value.length > this.beforeLength) && (this.value.length >= this.maxLength))
	{
	   this.nextField.focus();
	}
	downStrokeField=null;
}

function hideDialogBox()
{
	document.getElementById('windowcontent').style.display = 'none';
	document.getElementById('dimmer').style.display = 'none';
	
	document.getElementById('cart_items_count').style.display = 'none';
	document.getElementById('bulk_change').style.display = 'none';
	document.getElementById('cart_buttons').style.display = 'none';
	document.getElementById('no_item_cart_button').style.display = 'block';
	document.getElementById('list_cart_items').style.display = 'none';	 
	document.getElementById('list_no_item').style.display = 'block';	
	
}

function doValidate(checkVal)
{
	var mikExp = /[\?\\\<\>\&\/\'\"]/;
	
		if (checkVal.search(mikExp) == -1) 
		{
			return 1;
		}
		else
		 {
		 	return 0;	
		 }
}


function getCopyName()
{
	var CopyName = document.getElementById('copy_name').value;
	
	CopyName = CopyName.replace(/\?/g,'%3F');
	CopyName = CopyName.replace(/\&/g,'%26');
	
	return CopyName;
}

function populateFields(search_id, search_name, search_desc)
{		
	document.getElementById("search_name"+search_id).value = search_name;
	document.getElementById("search_desc"+search_id).value = search_desc;
}

/*This function is used to set the address fields 'read only' if a user who already has an account (Trial/PayAsYouGo)
  tries to upgrade his account.
*/
function blockAddressFields()
{
	document.getElementById('name').readOnly = true;
	document.getElementById('other_occupation').readOnly = true;
	document.getElementById('company_name').readOnly = true;
	document.getElementById('address_1').readOnly = true;
	document.getElementById('address_2').readOnly = true;
	document.getElementById('city').readOnly = true;
	document.getElementById('state').readOnly = true;
	document.getElementById('zip_code').readOnly = true;
	document.getElementById('phone_num').readOnly = true;
	document.getElementById('fax_num').readOnly = true;
	document.getElementById('occupation').disabled = true;
	document.getElementById('country').disabled = true;
	
	return true;
}

/* Enables the combo boxes just before posting the page.
*/
function enableCountryAndOccupation()
{
	document.getElementById('occupation').disabled = false;
	document.getElementById('country').disabled = false;
	
	return true;
}

// This function is used to populate the portfolio name and description
function populatePortfolio(portfolio_name, portfolio_desc)
{
	document.getElementById("portfolio_name").value = portfolio_name;
	document.getElementById("portfolio_description").value = portfolio_desc;
}

// This function is used to populate the portpofolio comments
function populatePortfolioComments(comment_field, comment)
{	
	document.getElementById(comment_field).value = comment;
}

//THis functon is used to highlight the checked row
function rowHighlight(formName, chkName)
{
	var form = formName;
	var i = 0; 
	var y = 0;
	dml = document.forms[form];
	len = dml.elements.length;
	
	for (i = 1; i < len; i++)
	{
		if (dml.elements[i].name == chkName)
		{
			y++;
			
			if (dml.elements[i].checked == true)
			{
				if (chkName == 'items[]')
				{
					document.getElementsByTagName('tr')[y+2].className = 'selected_row';
				}
				else
				{
					document.getElementsByTagName('tr')[y+1].className = 'selected_row';
				}
				
			}
			else 
			{
				if (y % 2 == 0 && chkName == 'items[]')
				{
					document.getElementsByTagName('tr')[y+2].className = 'dataRowalt_for_cart';
				}
				else
				{
					if (chkName == 'items[]')
					{
						document.getElementsByTagName('tr')[y+2].className = '';
					}
					else
					{
						document.getElementsByTagName('tr')[y+1].className = '';
					}
				}
			}
		}
	}
}

function showExampleTextById(id, text)
{
	elem = document.getElementById(id);
	if (elem.value == '')
	{
		elem.value = text;
	}
	elem.onfocus = function ()
	{
		if (elem.value == text)
		{
			elem.value = '';
		}
	};
	elem.onblur = function ()
	{
		if (elem.value == '')
		{
			elem.value = text;
		}
	};
}