/* 
	As a way to further the separation of layer abstractions, it is good practice to 
	never use inline functions (i.e. onmouseover="someFunction();") within html tags.
	Instead, get used to using the DOM to modify identified elements.  The fuction, 
	getElementsByClassName, facilitates the objective of selecting multiple elements
	with the same function purpose to modify or add dynamic behavior.  Adding a queue
	data structure adds a first-in-first-out organizing priciple for executing function
	calls for a given event

bodyOnloadTaskQueue = new Queue();
window.onload = runTasks();

function getElementsByClassName(className, tag, elm)
{
	var testClass = new RegExp('\\b'+className+'\\b');
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function Queue()
{
  var queue=new Array();
  var queueSpace=0;
  this.enqueue=function(element)
  {
    queue.push(element);
  }
  this.dequeue=function()
  {
    if (queue.length)
    {
      var element=queue[queueSpace];
      if (++queueSpace*2 >= queue.length)
      {
        for (var i=queueSpace;i<queue.length;i++) queue[i-queueSpace]=queue[i];
        queue.length-=queueSpace;
        queueSpace=0;
      }
      return element;
    }
    else
    {
      return undefined;
    }
  }
}
function runTasks()
{			
	var task;
	do
	{
	
		task = bodyOnloadTaskQueue.dequeue();		
		
		if(task)
		{
			task();
		}		
	}while(task);
}
function activateTabbedMenus()
{
	tabs = getElementsByClassName("tabbed-menu");	
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab; 
	}
	tabs = getElementsByClassName("tabbed-menu2");	
	for(i = 0; i < tabs.length; i++)
	{   						
		tabs[i].onclick = tab2; 
		tabs[i].style.cursor = "pointer"; 
	}
}*/

function InsertFlashMovie(src, height, width)
{
  document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+ width +'" height="'+ height +'"><param name="movie" value="'+src+'"><param name="quality" value="high"><EMBED SRC="'+src+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"  WIDTH="'+width+'" HEIGHT="'+height+'" WMODE="TRANSPARENT" MENU="FALSE" BGCOLOR="BLACK"></EMBED></object>');
}


function insertMovie(src, width, height)
{
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'"  >');
	document.write('<param name="allowScriptAccess" value="sameDomain" />');
	document.write('<param name="movie" value="'+src+'" />');
	document.write('<param name="quality" value="high" />');
	document.write('<param name="bgcolor" value="#ffffff" />');
	document.write('<param name="wmode" value="transparent" />');
	document.write('<embed src="'+src+'" wmode="transparent" quality="high" bgcolor="#ffffff" width="'+width+'" height="'+height+'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.write('</object>');
}

function expand(id){
	if(document.getElementById(id).style.display == "none"){
		document.getElementById(id).style.display = "block";
	}else{
		document.getElementById(id).style.display == "block";
		document.getElementById(id).style.display = "none";
	}
}

function expand_inquery(){
	if(document.getElementById('inquiry_form').style.display == "none"){
		document.getElementById('button_left').style.backgroundPosition = "left bottom";
		document.getElementById('inquiry_form').style.display = "block";
		
		
	}else{
		document.getElementById('button_left').style.backgroundPosition = "left top";
		document.getElementById('inquiry_form').style.display = "none";
		
	}
}

function validate_form() {
	
	errors = 0;
	name = document.getElementById("inquery_name").value;
	title = document.getElementById("inquery_title").value;
	company = document.getElementById("inquery_company").value;
	email = document.getElementById("inquery_email").value;
	
	hideAllErrors();
	
	
    if ((email == "") || (email == "Required") || (email == "Invalid")) {    	
        document.getElementById("inquery_email").value = "Required"
        document.getElementById("inquery_email").focus();
        document.getElementById("inquery_email").style.color = "#ff0000";
        errors = 1;
    }
    
	if((email != "") && (email != "Required") && (email != "Invalid") && (!IsEmail(email))){					
	  	document.getElementById("inquery_email").value = "Invalid";
	  	document.getElementById("inquery_email").focus();	  	
	  	document.getElementById("inquery_email").style.color = "#ff0000"; 	
	  	errors = 1;				  	  		  	
	}
	
	if ((company == "") || (company == "Required")) {
        document.getElementById("inquery_company").value = "Required";
        document.getElementById("inquery_company").focus();
        document.getElementById("inquery_company").style.color = "#ff0000";
        errors = 1;
    }
    
    if ((title == "") || (title == "Required")) {
        document.getElementById("inquery_title").value = "Required";
        document.getElementById("inquery_title").focus();
        document.getElementById("inquery_title").style.color = "#ff0000";
        errors = 1;
    }
	
    
    if ((name == "") || (name == "Required")) {
        document.getElementById("inquery_name").value = "Required";
        document.getElementById("inquery_name").focus();
        document.getElementById("inquery_name").style.color = "#ff0000";
        errors = 1;
    }
    
	if(errors == 0){
		document.webinquiry.submit();
	}
}

function hideAllErrors() {
    document.getElementById("inquery_email").style.color = "#666666";
    document.getElementById("inquery_company").style.color = "#666666";
    document.getElementById("inquery_title").style.color = "#666666";
    document.getElementById("inquery_name").style.color = "#666666";
}

function validate_contact_form() {
	
	errors = 0;
	name = document.getElementById("contact_name").value;
	title = document.getElementById("contact_title").value;
	company = document.getElementById("contact_company").value;
	email = document.getElementById("contact_email").value;
	
	hideAllErrorsContacts();
	
	
    if ((email == "") || (email == "Required") || (email == "Invalid")) {    	
        document.getElementById("contact_email").value = "Required"
        document.getElementById("contact_email").focus();
        document.getElementById("contact_email").style.color = "#ff0000";
        errors = 1;
    }
    
	if((email != "") && (email != "Required") && (email != "Invalid") && (!IsEmail(email))){					
	  	document.getElementById("contact_email").value = "Invalid";
	  	document.getElementById("contact_email").focus();	  	
	  	document.getElementById("contact_email").style.color = "#ff0000"; 	
	  	errors = 1;				  	  		  	
	}
	
	if ((company == "") || (company == "Required")) {
        document.getElementById("contact_company").value = "Required";
        document.getElementById("contact_company").focus();
        document.getElementById("contact_company").style.color = "#ff0000";
        errors = 1;
    }
    
    if ((title == "") || (title == "Required")) {
        document.getElementById("contact_title").value = "Required";
        document.getElementById("contact_title").focus();
        document.getElementById("contact_title").style.color = "#ff0000";
        errors = 1;
    }
	
    
    if ((name == "") || (name == "Required")) {
        document.getElementById("contact_name").value = "Required";
        document.getElementById("contact_name").focus();
        document.getElementById("contact_name").style.color = "#ff0000";
        errors = 1;
    }
    
	if(errors == 0){
		document.webinquiry.submit();
	}
}

function hideAllErrorsContacts() {
    document.getElementById("contact_email").style.color = "#666666";
    document.getElementById("contact_company").style.color = "#666666";
    document.getElementById("contact_title").style.color = "#666666";
    document.getElementById("contact_name").style.color = "#666666";
}

function validate_left_contact_form() {
	
	errors = 0;
	name = document.getElementById("left_name").value;
	company = document.getElementById("left_company").value;
	email = document.getElementById("left_email").value;
	
	hideAllErrorsleftContacts();
	
	
    if ((email == "") || (email == "Required") || (email == "Invalid")) {    	
        document.getElementById("left_email").value = "Required"
        document.getElementById("left_email").focus();
        document.getElementById("left_email").style.color = "#ff0000";
        errors = 1;
    }
    
	if((email != "") && (email != "Required") && (email != "Invalid") && (!IsEmail(email))){					
	  	document.getElementById("left_email").value = "Invalid";
	  	document.getElementById("left_email").focus();	  	
	  	document.getElementById("left_email").style.color = "#ff0000"; 	
	  	errors = 1;				  	  		  	
	}
	
	if ((company == "") || (company == "Required")) {
        document.getElementById("left_company").value = "Required";
        document.getElementById("left_company").focus();
        document.getElementById("left_company").style.color = "#ff0000";
        errors = 1;
    }
    
    if ((name == "") || (name == "Required")) {
        document.getElementById("left_name").value = "Required";
        document.getElementById("left_name").focus();
        document.getElementById("left_name").style.color = "#ff0000";
        errors = 1;
    }
    
	if(errors == 0){
		document.left_col_contact.submit();
	}
}

function hideAllErrorsleftContacts() {
    document.getElementById("left_email").style.color = "#666666";
    document.getElementById("left_company").style.color = "#666666";
    document.getElementById("left_name").style.color = "#666666";
}

//Email Validator
function IsEmail(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	
	if (str.indexOf(at)==-1){
	   return false
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false
	}
	if (str.indexOf(at,(lat+1))!=-1){
	    return false
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    return false
	}
	if (str.indexOf(dot,(lat+2))==-1){
	    return false
	}
	if (str.indexOf(" ")!=-1){
	    return false
	}
	return true
}

function validate_document_registration_form() {
	
	errors = 0;
	first_name = document.getElementById("first_name").value;
	last_name = document.getElementById("last_name").value;
	title = document.getElementById("contact_title").value;
	company = document.getElementById("contact_company").value;
	email = document.getElementById("contact_email").value;
	
	hideAllErrors_Doc_Registration();
	
	
    if ((email == "") || (email == "Required") || (email == "Invalid")) {    	
        document.getElementById("contact_email").value = "Required"
        document.getElementById("contact_email").focus();
        document.getElementById("contact_email").style.color = "#ff0000";
        errors = 1;
    }
    
	if((email != "") && (email != "Required") && (email != "Invalid") && (!IsEmail(email))){					
	  	document.getElementById("contact_email").value = "Invalid";
	  	document.getElementById("contact_email").focus();	  	
	  	document.getElementById("contact_email").style.color = "#ff0000"; 	
	  	errors = 1;				  	  		  	
	}
	
	if ((company == "") || (company == "Required")) {
        document.getElementById("contact_company").value = "Required";
        document.getElementById("contact_company").focus();
        document.getElementById("contact_company").style.color = "#ff0000";
        errors = 1;
    }
    
    if ((title == "") || (title == "Required")) {
        document.getElementById("contact_title").value = "Required";
        document.getElementById("contact_title").focus();
        document.getElementById("contact_title").style.color = "#ff0000";
        errors = 1;
    }
	
    
    if ((first_name == "") || (first_name == "Required")) {
        document.getElementById("first_name").value = "Required";
        document.getElementById("first_name").focus();
        document.getElementById("first_name").style.color = "#ff0000";
        errors = 1;
    }
    
    if ((last_name == "") || (last_name == "Required")) {
        document.getElementById("last_name").value = "Required";
        document.getElementById("last_name").focus();
        document.getElementById("last_name").style.color = "#ff0000";
        errors = 1;
    }    
    
	if(errors == 0){
		document.document_registration_form.submit();
	}
}

function hideAllErrorsContacts() {
    document.getElementById("contact_email").style.color = "#666666";
    document.getElementById("contact_company").style.color = "#666666";
    document.getElementById("contact_title").style.color = "#666666";
    document.getElementById("contact_name").style.color = "#666666";
}

function hideAllErrors_Doc_Registration() {
    document.getElementById("contact_email").style.color = "#666666";
    document.getElementById("contact_company").style.color = "#666666";
    document.getElementById("contact_title").style.color = "#666666";
    document.getElementById("first_name").style.color = "#666666";
    document.getElementById("last_name").style.color = "#666666";
}

function hideAllErrors_Doc_Login() {
    document.getElementById("contact_email").style.color = "#666666";
}

function validate_document_login_form() {
	
	errors = 0;
	email = document.getElementById("contact_email").value;
	
	hideAllErrors_Doc_Login();
	
	
    if ((email == "") || (email == "Required") || (email == "Invalid")) {    	
        document.getElementById("contact_email").value = "Required"
        document.getElementById("contact_email").focus();
        document.getElementById("contact_email").style.color = "#ff0000";
        errors = 1;
    }
    
	if((email != "") && (email != "Required") && (email != "Invalid") && (!IsEmail(email))){					
	  	document.getElementById("contact_email").value = "Invalid";
	  	document.getElementById("contact_email").focus();	  	
	  	document.getElementById("contact_email").style.color = "#ff0000"; 	
	  	errors = 1;				  	  		  	
	}  
    
	if(errors == 0){
		document.document_login_form.submit();
	}
}
