// ===================================================================
// Copyright (c) 2007 Prodigy Web Services. All Rights Reserved.
//
// This software is the proprietary information of Prodigy Web Services.
// Use is subject to license terms.
// ===================================================================


var newwindow;
function dragonPopup(url, height, width, showMenu)
{
    var arguments = 'height=' + height + ',width=' + width + ',menubar=' + showMenu + ',toolbar=no,resizable=yes,scrollbars=yes,hotkeys=0';
    newwindow = window.open(url, 'name', arguments);
    if (window.focus)
    {
        newwindow.focus()
    }
}

function validateEmailFromTextFieldById(fieldId)
{
    var stringForValidation = document.getElementById(fieldId).value;
    var valid = validateEmail(stringForValidation);
    if(!valid)
    {
        alert('You entered ['+stringForValidation+'] which is not a valid email address. Please try again.');
    }
    return valid;
}

function validateEmail(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 toggleDisplay(elementName)
{
    var elementObject = document.getElementById(elementName);
    var displayStyle = elementObject.style.display;
    if( displayStyle == 'none' || displayStyle == '')
    {
        displayStyle = 'block';
    }
    else
    {
        displayStyle = 'none';
    }
    elementObject.style.display = displayStyle;
}

function setOpacityById(elementName, opacityLevel)
{
    var elementObject = document.getElementById(elementName);
    if( elementObject != null )
    {
        elementObject.style.opacity = opacityLevel;
        elementObject.style.filter = 'alpha(opacity='+(opacityLevel*100)+')'; // ie hack
    }
}

function restoreOpacityById(elementName)
{
    setOpacityById(elementName, '1');
}

function restoreOpacityByTag(elementTagName)
{
    setOpacityByTag(elementTagName, '1');
}

function setOpacityByTag(elementTagName, opacityLevel)
{
    var arrayOfElements = document.getElementsByTagName(elementTagName);
    if(arrayOfElements != null )
    {
        for( var i=0; i<arrayOfElements.length; i++)
        {
            arrayOfElements[i].style.opacity = opacityLevel;
            arrayOfElements[i].style.filter = 'alpha(opacity='+(opacityLevel*100)+')'; // ie hack
        }
    }
}

function toggleDisplayOn(elementId)
{
    var elementObject = document.getElementById(elementId);
    if(elementObject != null)
    {
        var displayStyle = elementObject.style.display;
        elementObject.style.display = 'inline';
    }
}

function toggleVisibilityOn(elementId)
{
    var elementObject = document.getElementById(elementId);
    if(elementObject != null)
    {
        var displayStyle = elementObject.style.display;
        elementObject.style.visibility = 'visible';
    }
}

function toggleVisibilityOff(elementId)
{
    var elementObject = document.getElementById(elementId);
    if(elementObject != null)
    {
        var displayStyle = elementObject.style.display;
        elementObject.style.visibility = 'hidden';
    }
}

function toggleDisplayOff(elementId)
{
    var elementObject = document.getElementById(elementId);
    if(elementObject != null)
    {
        var displayStyle = elementObject.style.display;
        elementObject.style.display = 'none';
    }
}

function clearTextField(elementId)
{
    setTextField(elementId, '');
}

function setTextField(elementId, elementValue)
{
    var elementObject = document.getElementById(elementId);
    elementObject.value = elementValue;
}

function clearLayer(layersElementId)
{
    var element = document.getElementById(layersElementId);
    if(element != null)
    {
        element.innerHTML = '';
    }
}

function generateRandomUpperCaseCharacter()
{
    return String.fromCharCode( 65 + Math.round(Math.random() * 25) );
}

function generateRandomNumber()
{
    return Math.floor( Math.random() * 9 );
}

function generateRandomWebCode(elementId)
{
    var elementObject = document.getElementById(elementId);
    var randomString = '';
    for(i=0; i<4; i++)
    {
        randomString = randomString + generateRandomUpperCaseCharacter();
    }
    for(i=0; i<4; i++)
    {
        randomString = randomString + generateRandomNumber();
    }
    elementObject.value = randomString;
}

/* 	Return the value of the radio button that is checked
  	return an empty string if none are checked, or
	there are no radio buttons

	Usage: 
		var paymentOptionRadios = document.forms['SendOrderForm'].elements['paymentOption'];
		var optionSelected = getSelectedRadioValue(paymentOptionRadios);
*/
function getSelectedRadioValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}




/**
	This hideElement() showElement() methods will correctly
	hide elements such as <tbody>, as used in contact us form for Outdoors.
*/
function hideElement(id) {
	var obj = document.getElementById(id); 
	obj.style.display = "none";
}


function showElement(id) {
	var obj = document.getElementById(id); 
	obj.style.display = "";
}