// COMMON FUNCTIONS FOR EYEMED VISION CARE WEB SITE(S)

function popup( url, windowname ) {
    newwindow = window.open(url, windowname, 'height=200,width=500');
    if ( window.focus ) {
        newwindow.focus()
    }
}

//Checks all fields in a list
function setChecked( form, state ) {
    var f = document.forms[form];
    var i;
    for ( i = 0; i < f.elements.length; i++ ) {
        //if the element is a checkbox, assign the state
        if ( f.elements[i].type == 'checkbox' && f.elements[i].id != 'separateWorksheets1') {
            f.elements[i].checked = state;
        }
    }
}

function clearAllFields(oForm) {
    var frm_elements = oForm.elements;
    for( i=0; i<frm_elements.length; i++ ) {
        if ( frm_elements[i].type.toLowerCase() == 'text' && frm_elements[i].disabled == false) {
            frm_elements[i].value = "";
        } else if ( frm_elements[i].type.toLowerCase() == 'password' && frm_elements[i].disabled == false) {
            frm_elements[i].value = "";
        } else if ( frm_elements[i].type.toLowerCase() == 'select-one' ) {
            frm_elements[i].selectedIndex = 0;
        }
    } 
}

/* To focus on a specific field, assign it to this variable */
var focusField = null;

/* Focus on the first non-disabled text or selection element in the page, outside of the masthead */
function formFocus() {
	if (focusField != null) {
		focusField.focus();
		return;
	}

    FORMSLOOP:
    for ( var f=0; f<document.forms.length; f++ ) {
		var form = document.forms[f];
		if (form.id == "mastheadForm") {
			continue;
		}
        for (var el=0; el < form.elements.length; el++) {
			var element = form.elements[el];
			try {
	            if ( !element.disabled && (element.type.match(/^text/) || element.type.match(/^select/) || element.type == 'password' ) ) {
	                element.focus();
	                break FORMSLOOP;
	            }
			}
			catch(ex){
			}
        }
    }
}


function emGetElementById( s ) {
    var o = (document.getElementById ? document.getElementById(s) : document.all[s]);
    return ((o == null) ? false : o);
}

function playCaptcha() {
    //var embedCode = '<EMBED SRC="captcha.sound" HIDDEN="true" AUTOSTART="true" pluginspace="http://plugindoc.mozdev.org/windows.html#QuickTime" pluginurl="http://plugindoc.mozdev.org/windows.html#QuickTime" />';

    var objectCode =
            '<object classid="CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"> ' +
            ' <param name="pluginspage" value="http://www.apple.com/quicktime/download"/> ' +
            ' <param name="controller" value="true"/> ' +
            ' <param name="autostart" value="true"/> ' +
            ' <param name="autoplay" value="true"/> ' +
            ' <PARAM NAME="url" value="captcha.sound"> ' +
            ' <PARAM NAME="src" value="captcha.sound"> ' +
            ' <!--[if !IE]>--> ' +
            '     <object type="audio/x-wav" data="captcha.sound"> ' +
            '     <param name="hidden" value="true"> ' +
            '     <param name="src" value="captcha.sound"> ' +
            '     <param name="autoplay" value="true"> ' +
            '     <param name="autoStart" value="true"> ' +
            '     alt : <a href="captcha.sound">Listen and type the numbers you hear</a> ' +
            ' </object>'
    ' <!--<![endif]--> ' +
    '</object>';
    var accessibilityDiv = emGetElementById("accessibilityDiv");
    accessibilityDiv.innerHTML = "";
    accessibilityDiv.innerHTML = objectCode;

    var response = emGetElementById("response");
    response.value = "";
    response.focus();
}

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.
{
   var arVersion = navigator.appVersion.split("MSIE")
   var version = parseFloat(arVersion[1])
   if ((version >= 5.5) && (document.body.filters))
   {
      for(var i=0; i<document.images.length; i++)
      {
         var img = document.images[i]
         var imgName = img.src.toUpperCase()
         if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
         {
            var imgID = (img.id) ? "id='" + img.id + "' " : ""
            var imgClass = (img.className) ? "class='" + img.className + "' " : ""
            var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
            var imgStyle = "display:inline-block;" + img.style.cssText
            if (img.align == "left") imgStyle = "float:left;" + imgStyle
            if (img.align == "right") imgStyle = "float:right;" + imgStyle
            if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
            var strNewHTML = "<span " + imgID + imgClass + imgTitle
            + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
            + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
            + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
            img.outerHTML = strNewHTML
            i = i-1
         }
      }
   }
}

// use as onkeypress event handler for fields to submit form on Enter for that field
function submitFormOnEnter( evt ) {
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    var form = target.form;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
		// click the first submit button in the form
        for (var el=0; el < form.elements.length; el++) {
			var element = form.elements[el];
			if ( !element.disabled && (element.type == 'submit' || element.type == 'button' ) ) {
				element.click();
				return false;
			}
        }
		// no buttons found; do form submit
		form.submit();
		return false;
    }
    return true;
}


