// Author Tristan Wogan (Majorbet / Stilgar)
// Contact tristanwogan@gmail.com
// Copyright JAN 2008

// INDEX

// show(object) 							Shows hidden layer where object is layer ID
// hide(object) 							Hides visible layer where object is layer ID


<!--

// Shows Layers
function show(object) 
{ 
	if (document.getElementById) 
{ 	// DOM3 = IE5, NS6 
	document.getElementById(object).style.visibility = 'visible'; 
} 	
	else 
{ 
	if (document.layers) 
{	// Netscape 4 
	document.object.visibility = 'visible'; 
} 
	else 
{	// IE 4 
	document.all.object.style.visibility = 'visible'; 
} 
} 
} 
// Hides layers
function hide(object) 
{ 
	if (document.getElementById) 
{ 	// DOM3 = IE5, NS6 
	document.getElementById(object).style.visibility = 'hidden'; 
} 
	else 
{ 
	if (document.layers) 
{ 	// Netscape 4 
	document.object.visibility = 'hidden'; 
} 
	else 
{ 	// IE 4 
	document.all.object.style.visibility = 'hidden'; 
} 
} 
} 

// Validate Email Address and form from here on

function checkValidation ( addressField ) {
    if ( stringEmpty ( addressField.value ) )
        alert ( "Error! There is no E-Mail address entered" );
    else if ( noAtSign ( addressField.value ) )
        alert ( "Error! The E-Mail address does not contain an '@' character" );
    else if ( nothingBeforeAt ( addressField.value ) )
        alert ( "Error! An E-Mail address must contain at least one character before the '@' character" );
    else if ( noLeftBracket ( addressField.value ) )
        alert ( "Error! The E-Mail address contains a right square bracket ']',\nbut no corresponding left square bracket '['" );
    else if ( noRightBracket ( addressField.value ) )
        alert ( "Error! The E-Mail address contains a left square bracket '[',\nbut no corresponding right square bracket ']'" );
    else if ( noValidPeriod ( addressField.value ) )
        alert ( "Error! An E-Mail address must contain a period ('.') character" );
    else if ( noValidSuffix ( addressField.value ) )
        alert ( "Error! An E-Mail address must contain a two or three character suffix" );
    
    else if ( restEmpty ( document.basket.name.value ) )
        alert ( "Error! There is no Name entered" );
    
    else if ( restEmpty ( document.basket.address1.value ) )
        alert ( "Error! Address Line 1 not entered" ); 
    
    else if ( restEmpty ( document.basket.town.value ) )
        alert ( "Error! Town not entered" );    

    else if ( restEmpty ( document.basket.county.value ) )
        alert ( "Error! County not entered" );
        
    else if ( restEmpty ( document.basket.post.value ) )
        alert ( "Error! Post Code not entered" );    
     else
        return (true);

    return ( false );
}

function linkCheckValidation ( formField ) {
    if ( checkValidation ( formField ) == true ) {
        alert ( 'E-Mail Address Validates OK' );
    }

    return ( false );
}

function restEmpty ( address ) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( address.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function stringEmpty ( address ) {
    // CHECK THAT THE STRING IS NOT EMPTY
    if ( address.length < 1 ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noAtSign ( address ) {
    // CHECK THAT THERE IS AN '@' CHARACTER IN THE STRING
    if ( address.indexOf ( '@', 0 ) == -1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function nothingBeforeAt ( address ) {
    // CHECK THERE IS AT LEAST ONE CHARACTER BEFORE THE '@' CHARACTER
    if ( address.indexOf ( '@', 0 ) < 1 ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noLeftBracket ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR LEFT BRACKET
    if ( address.indexOf ( '[', 0 ) == -1 && address.charAt ( address.length - 1 ) == ']' ) {
        return ( true )
    } else {
        return ( false );
    }
}

function noRightBracket ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN CHECK FOR RIGHT BRACKET
    if ( address.indexOf ( '[', 0 ) > -1 && address.charAt ( address.length - 1 ) != ']' ) {
        return ( true );
    } else {
        return ( false );
    }
}

function noValidPeriod ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if ( address.indexOf ( '@', 0 ) > 1 && address.charAt ( address.length - 1 ) == ']' )
        return ( false );

    // CHECK THAT THERE IS AT LEAST ONE PERIOD IN THE STRING
    if ( address.indexOf ( '.', 0 ) == -1 )
        return ( true );

    return ( false );
}

function noValidSuffix ( address ) {
    // IF EMAIL ADDRESS IN FORM 'user@[255,255,255,0]', THEN WE ARE NOT INTERESTED
    if ( address.indexOf ( '@', 0 ) > 1 && address.charAt ( address.length - 1 ) == ']' )
        return ( false );

    // CHECK THAT THERE IS A TWO OR THREE CHARACTER SUFFIX AFTER THE LAST PERIOD
    var len = address.length;
    var pos = address.lastIndexOf ( '.', len - 1 ) + 1;
    if ( ( len - pos ) < 2 || ( len - pos ) > 3 ) {
        return ( true );
    } else {
        return ( false );
    }
}

//  End Validate Email  Address and form 










//-->