/*
 * Script: 		functions.js
 * Description:	General JS Functions
 * Author: 		Mark Coley
 * Version:		1.0
 *
 *
 * Revision History:
 * Ver	Modifier	Date		Change	
 * 1.0	M Coley		2007/08/01	Creation
 *
*/

	/* openWindow - opens a custom sized and position document window with scroll bar
	 *
	 *  @param	string  url     url of page
	 *	@param	int		w		width of window
	 *	@param	int		h		height of window
	 *	@param	int		t		top position of window
	 *	@param	int		l		left position of window
	 *	@returns	void
	 *	@usage		openWindow( 'http://hoofing-around.co.uk',465,320,20,20 )
	*/
	function openWindow( url, w, h , t, l )
	{
		var urlRegxp =  /^(http:\/\/www.|https:\/\/www.|www.|http:\/\/.){1}([\w]+)(.[\w]+){1,2}[A-Za-z0-9-_%&\?\/.=]+$/; 
		var numRegxp = /^\d+$/;
	
		if (  ! urlRegxp.test( url ) )
		{
			alert( 'not a url ' + url );
			var window_handle=window.open("", "Error", "toolbar=0,location=0,status=1,menubar=0,scrollbars=0,height=500,width=500");
                        window_handle.document.write("<HTML>");
                        window_handle.document.write("<TITLE>Error</TITLE>");
                        window_handle.document.write("<BODY>");
                        window_handle.document.write("<H1>");
                        window_handle.document.write("An error occured whilst loading the content for this window!");
                        window_handle.document.write("</H1>");
                        window_handle.document.write("</HTML>");
		}
		else
		{
			// check that we have width, height, top, and left values
			if ( ! numRegxp.test( w ) ) { w = 465 }
			if ( ! numRegxp.test( h ) ) { h = 320 }
			if ( ! numRegxp.test( t ) ) { t = 20 }
			if ( ! numRegxp.test( l ) ) { l = 20 }
		
			var window_handle=window.open( url,"win",'toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=' + w + ',height=' + h + ',top=' + t + ',left=' + l );
		}
		
		window_handle.focus();
		
	} // end function: openWindow


	/* addtoBookmarks - add url to bookmarks/favorites list
	 *   
	 *	@param		string		url		url of page
	 *	@param		string		title	title page
	 *	@returns		void
	 *	@usage		addtoBookmarks( 'http://www.hoofing-around.co.uk', 'site title' )
	*/
	function addtoBookmarks( url, title ) 
	{
		var urlRegxp = /^(http:\/\/www.|https:\/\/www.|www.|http:\/\/.){1}([\w]+)(.[\w]+){1,3}[A-Za-z0-9-_%&\?\/.=]+$/;
		var msg = '';
		msg = msg + '\n url is ' + url;
		msg = msg + '\n title is ' + title;
		//alert (msg );
		
		// check we have both url and title
		if ( url == '' || ! urlRegxp.test( url ) || title == '' )
		{
			url = "http://www.hoofing-around.co.uk";
			title = "The online equestrian centre, saddlery & tack shop for horse and rider from Hoofing Around";
		}
	
		// check for browser type
		if ( ( navigator.appName == "Microsoft Internet Explorer" ) && ( parseInt( navigator.appVersion ) >= 4 ) )
		{
			window.external.AddFavorite( url, title );
		}
		else if (navigator.appName == "Netscape")
		{
			window.sidebar.addPanel( title, url, "" );
		} 
		else
		{
			alert("Press CTRL-D (Netscape) or CTRL-T (Opera) to bookmark");
		}
	
	} // end of function: addtoBookmarks
	
	
	/*
	 *	y2k - year compliant number
	 *	@param		int		number		number to convert	 	
	 *	@returns	int		number
	 *	@usage		y2k( 1997 )
	*/
	function y2k( number ) 
	{ 
		return ( number < 1000 ) ? number + 1900 : number; 
	}
	
	
	/*
	 *	empty - clear value of given from control
	 *	@param		object	obj		document form control
 	 *	@returns	void
	 *	@usage		empty( document.form.element )	
	*/
	function empty( obj )
	{
		obj.value="";
		
	} // end function: empty

	/*
	 *	isEmail - checks if email is properly formed
	 *	@param		object	frmCtl	document from control
	 *	@returns	boolean
	 *	@usage		isEmail( document.form.element )
	 */
	function isEmail( frmCtl )
	{
		var submittable= true;
		var emailRegxp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		text = frmCtl.value;
		result = emailRegxp.test(text);
				
		if(result==false)
		{
			alert( "Please enter a valid email address" );
			submittable=false;
		}
		
		if( submittable == false )
		{
			return false;
		}
	} // end function: isEmail

