

/************************************************
Note, this is a modified version of AnyLink Drop Down Menu- ©
This was modified for use by JRLanguage.com by Chris Indovina in August 2010

This file, for HTTP Request Reduction purposes, contains 3 'classes' of JS, the first of which is the AnyLink Drop Down Menu- ©
*************************************************/

function menuobject(width){
this.width = width
this.menu = new Array()
}

//Declare menus and set their width
var languages = new menuobject('118px')
var services = new menuobject('180px')
var industries = new menuobject('180px')
var about = new menuobject('120px')

//Populate the menus' menus

//Contents for Services

services.menu[0]='<a href="http://www.jrlanguage.com/certified-translations.html">Certified Translations</a>'
services.menu[1]='<a href="http://www.jrlanguage.com/translation-services/document-translation-services.html">Document Translations</a>'
services.menu[2]='<a href="http://www.jrlanguage.com/marketing-translation.html">Marketing Translations</a>'
services.menu[3]='<a href="http://www.jrlanguage.com/website-translation.html">Website Translations</a>'
services.menu[4]='<a href="http://www.jrlanguage.com/translation-services/dtp-translation-localization.html">Desktop Publishing</a>'
services.menu[5]='<a href="http://www.jrlanguage.com/translation-services/language-localization.html">Language Localization</a>'

//Contents for languages

languages.menu[0]='<a href="http://www.jrlanguage.com/language/spanish-translation-services.html">Spanish</a>'
languages.menu[1]='<a href="http://www.jrlanguage.com/language/german-translation-services.html">German</a>'
languages.menu[2]='<a href="http://www.jrlanguage.com/language/french-translation-services.html">French</a>'

//Contents for industries

industries.menu[0]='<a href="http://www.jrlanguage.com/marketing-translation.html">Marketing and Advertising</a>'
industries.menu[1]='<a href="http://www.jrlanguage.com/industries/legal-translation-services.html">Legal Services</a>'
industries.menu[2]='<a href="http://www.jrlanguage.com/industries/medical-translation-services.html">Medical Services</a>'
industries.menu[3]='<a href="http://www.jrlanguage.com/industries/financial-translation-services.html">Financial Services</a>'
industries.menu[4]='<a href="http://www.jrlanguage.com/industries/energy-oil-gas-translation-services.html">Energy, Oil and Gas</a>'
industries.menu[5]='<a href="http://www.jrlanguage.com/industries/game-translation-services.html">Games</a>'
industries.menu[6]='<a href="http://www.jrlanguage.com/industries/hr-translation-services.html">Human Resources</a>'
industries.menu[7]='<a href="http://www.jrlanguage.com/industries/index.html">All Industries</a>'

//Contents for aboutMenu

about.menu[0]='<a href="http://www.jrlanguage.com/about/index.html">Our Company</a>'
about.menu[1]='<a href="http://www.jrlanguage.com/about/translation-methodology.html">Methodology</a>'
about.menu[2]='<a href="http://www.jrlanguage.com/about/our-clients.html">Our Clients</a>'
about.menu[3]='<a href="http://www.jrlanguage.com/about/testimonials.html">Testimonials</a>'
about.menu[4]='<a href="http://www.jrlanguage.com/about/job-translation-services.html">Work with Us</a>'
about.menu[5]='<a href="http://www.jrlanguage.com/about/language-translators.html">Our Translators</a>'

var menubgcolor='#ffffff'  //menu bgcolor
var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?
var menuwidth = 200
/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

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

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menuObj){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()

dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv

populatemenu(menuObj.menu)


if (ie4||ns6){
	
showhide(dropmenuobj.style, e, "visible", "hidden", menuObj.width)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu


/*****************
End AnyLink
*****************/

/* OnLoad Functions */
function swapImgRestore_MM() { //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 findObj_MM(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=findObj_MM(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function swapImage_MM() { //v3.0
  var i,j=0,x,a=swapImage_MM.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj_MM(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function preloadImages_MM() { //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=preloadImages_MM.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 validateForm_MM() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=validateForm_MM.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }



/* End OnLoad */


//////////////////////////////////////////////////////////////////////////////////////////////
//						BEGIN SOCIAL MEDIA JAVA SCRIPT
//////////////////////////////////////////////////////////////////////////////////////////////

//Create a new button row for each row of buttons, each button row needs a title


/******************************************/
/*************Define Button Rows***********/
/******************************************/

var followUsRow = new ButtonRow("Follow us!");//Title is Follow us!
var addUsRow    = new ButtonRow("Add us!");

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


//Each button in a row needs to have its iconHTML and linkHTML provided for it to render correctly.
/******************************************/
/************* Define Buttons *************/
/******************************************/

var facebookBtn = new Button();
facebookBtn.iconHTML = "<img src = 'http://www.jrlanguage.com/images/icon_facebook32.png' alt='See Our Facebook' />";
facebookBtn.linkHTML = "<a href ='http://www.facebook.com/JRLanguage' target='_blank'>";

var linkedInBtn = new Button();
linkedInBtn.linkHTML = '<a href="http://www.linkedin.com/companies/jr-language-translation-services-inc." target="_blank" >';
linkedInBtn.iconHTML = '<img src="http://www.jrlanguage.com/images/icon_linkedin_32.png" alt="Get LinkedIn" width="32" height="32"/>';

var coffeeBlogBtn = new Button();
coffeeBlogBtn.linkHTML = '<a href="http://www.jrlanguage.com/coffee-break-blog/" target="_blank" >';
coffeeBlogBtn.iconHTML = '<img src="http://www.jrlanguage.com/images/icon_wordpress32.png" alt="JR Language Blog" width="32" height="32"/>';

var twitterBtn = new Button();
twitterBtn.linkHTML = '<a href="http://twitter.com/jr_language" target="_blank" >';
twitterBtn.iconHTML ='<img src="http://www.jrlanguage.com/images/icon_twitter32.png" alt="Follow us on Twitter" width="32" height="32"/>';

var diggBtn = new Button();
diggBtn.linkHTML = '<a href="http://digg.com/submit?url=jrlanguage.com" target="_blank" >';
diggBtn.iconHTML = '<img src = "http://www.jrlanguage.com/images/icon_digg32.png" alt="Digg us!" width="32" height="32" />';

var stumbleUponBtn = new Button();
stumbleUponBtn.linkHTML = '<a href="http://www.stumbleupon.com/submit?url=http://www.jrlanguage.com" target="_blank" >';
stumbleUponBtn.iconHTML = '<img src = "http://www.jrlanguage.com/images/icon_stumbleupon32.png" alt="Stumble Upon us" width="32" height="32" />';

var deliciousBtn = new Button();
deliciousBtn.linkHTML="<a href='http://delicious.com/save' onclick=\"window.open('http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title), 'delicious','toolbar=no,width=1000,height=550'); return false;\">";
deliciousBtn.iconHTML = '<img src = "http://www.jrlanguage.com/images/icon_delicious32.png" alt="Delicious" width="32" height="32" />';

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//Add buttons to the rows

/******************************************/
/*************Put Buttons in Row***********/
/******************************************/

add(followUsRow, facebookBtn);//Add the facebook button to the follow us row
add(followUsRow,linkedInBtn);
add(followUsRow, coffeeBlogBtn);
add(followUsRow, twitterBtn);

add(addUsRow, stumbleUponBtn);
add(addUsRow, diggBtn);
add(addUsRow, deliciousBtn);



/******************************************
****	PLEASE DO NOT EDIT THIS AREA, THIS WAS
****		WRITTEN TO SIMPLIFY THE METHOD
****		OF ADDING ADDITIONAL BUTTONS
****		AND LINKS TO THE SOCIAL MEDIA
********************************************/

//Classes

//Button
//Allows the user to enter the actual html code for the icon and for the link, allowing greater customization
//than would be easy otherwise
function Button(){

	this.iconHTML ="";//This should be a full <img src ... />
	this.linkHTML ="";//This should be a full <a href ... >, should NOT contain </a> if we want the
	//Button to link to the image

}

//Create a new row for buttons to go in
//The row can have a title
//The row can have buttons added by using the add method defined below
function ButtonRow(title){

	this.buttons = new Array();
	this.title = title;
	
}

function add(buttonRow, button){
	buttonRow.buttons[buttonRow.buttons.length] = button; //Add the button to the end of the array
	//arrays initialize to length 0 and each item added to an array goes from 0 to array.length.
	//Index array.length is actually unused, the next sequential unused index.
	
}

//Formats the HTML of the passed button
function formatBtn(button){

	return ""+button.linkHTML + button.iconHTML +"</a>";//Order the two HTML statements for the button and ensure we close the </a>
}

function formatButtonRow(buttonRow){
	rStr = "";
	for(i = 0; i < buttonRow.buttons.length; i++){
	btn = buttonRow.buttons[i];
		rStr +=formatBtn(btn);
	}
	
	return '<p>'+buttonRow.title+"</p>"+'<p align = center>'+rStr+'</p>';
}


function writeSocialMedia(row){
	document.write(formatButtonRow(row));
}

/******************************************
****	PLEASE DO NOT EDIT THIS AREA, THIS WAS
****		WRITTEN TO SIMPLIFY THE METHOD
****		OF ADDING ADDITIONAL BUTTONS
****		AND LINKS TO THE SOCIAL MEDIA
********************************************/

