/* 
JavaScript Library.
by the Edge Design Web Team

Commented code is for multiple stays, if needed.
*/

var last_image;
var last_name;
var subnav_stay = subnav_stay;
var nav_stay = new Array();
var counter = 0;


// Image roll-over
// Use: roll('image_name','roll_over_path'); 
function roll(img_name, roll_to) {
	if (document.images) {
		for (var i=0; i<nav_stay.length; i++) {
			if (img_name == nav_stay[i]) {
				return;
			}
		}

		var obj = eval('document.' + img_name);
		last_image = obj.src;
		last_name = img_name;
		obj.src = roll_to;
	}
}

// Always use with roll()
// Use: roll_restore();
function roll_restore() {
	if (last_image) {
			var flip_back = eval('document.' + last_name);
			flip_back.src = last_image;
	}
}
		
// Forces an image to stay rolled-over
// Use: stay('image_name','roll_over_path);
function stay(img_name, stay_url) {
	if (document.images) {
		nav_stay[counter++] = img_name;
		var tmp = eval('document.' + img_name);
		tmp.src = stay_url;
	}
}

// Preloads images
// Use: preload('path_to_image','path_to_image',...etc);
function preload() {
	if (document.images) {
		var img = preload.arguments;
		var tmp = new Array(img.length);
		for (var i=0; i<tmp.length; i++) {
			tmp[i] = new Image;
			tmp[i].src = img[i];
		}
	}
}
// Automatic redirect from a pull-down
// Use: launch(this)
function launch(current) {
	var index = current.selectedIndex;
	var select_name = current.name;
	var form_name = current.form.name;
	var pull = eval('document.'+form_name+'.'+select_name);
	if (pull.options[index].value != '#') {
		window.location = pull.options[index].value;
		return;
	}
	return;
}

function getValue(elm) {
 var url = window.location + '&';
 var regex = new RegExp ( elm + "=([^&]+)","i" );
 var theValue = regex.exec(url);
 if ( theValue ) {
  var temp = theValue[1].replace( /\+/g, " " );
  theValue[1] = unescape(temp);
  return(theValue[1]);
 }
 else { return(' '); }
}

function openWin(url,width,height,name) {
 if (!width) { width = 425; }
 if (!height) { height = 400; }
 if (!name) { name = 'help'; }
 open(url,name,'screenX=50,screenY=50,width='+width+',height='+height+',scrollbars,resizable').focus();
}

/* Given an array of field names and a form name, it makes sure that
 * those fields are filled at submit time.
 * Use: check_fields(new Array('field1', 'field2'), 'form_name');
 */
function check_fields(arr, form) {
    // don't bother if the array doesn't exist or it's 0-length
    if (!arr || arr.length == 0)
        return true;

    for (var i = 0; i < arr.length; ++i) {
        var elem = eval('document.' + form + '.' + arr[i]);

        //        alert(arr[i]);

        if (!elem.value) {
            alert("Please fill the " + pretty_up(arr[i]) + " field and try again.");
            return false;
        }
    }
    return true;
}

/* Pretties up form field names. Turns "field_like_this" into "Field Like This"
 * Use: str = pretty_up('field_name');
 */
function pretty_up(str) {
    var a = str.split("_");
    var re = /(\w)(\w+)/;

    for (var i = 0; i < a.length; ++i) {
        var parts = a[i].match(re);
        a[i] = parts[1].toUpperCase() + parts[2];
    }

    return a.join(' ');
}


// Dynamic Menu Scripts //

var clock='';

function startTimer(divID) {
	clock = setTimeout( 'toggle("' + divID + '", "hide")', 350 );
}

// Still in beta - pH
function divVisCheck(divID) {
	visTarget = document.getElementById( divID );
	if ( visTarget.style.display = "none" ) { return(false); }
	else { return(true); }
}

var menuDivs = new Array('services_dd','software_solutions_dd','expertise_dd','employment_dd','about_us_dd','contact_us_dd');

var debug;

function toggleMenus(dd) {

	toggle(dd,'show');
	toggleAll('hide',dd);

}

function toggleAll(showhide,exclude) {

	for ( var c = 0; c < menuDivs.length; c++ ) {
		if ( menuDivs[c] != exclude ) { toggle(menuDivs[c],showhide); }
	}

}

function toggle(targetId, how) {

  if (document.getElementById ) {
    target = document.getElementById( targetId );

/*      alert('Toggle heard this: ' + targetId + '; ' + target + '; ' + how + '>end'); */

	  switch ( how ) {
	  	case 'show' :	target.style.display = "";
	  					break;
	  					
 		case 'hide' :	target.style.display = "none";
 						break;
     }
  }
}

// End Dynamic Menu Scripts //
