	var http_request = false;
	function createHttpRequest() 
	{
		try {
			netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
		} catch (e) {
			//alert("Permission UniversalBrowserRead denied.");
		}

		if (window.XMLHttpRequest) { // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
				// See note below about this line
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}

		if (!http_request) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
	}

	function trim(str)
	{
	   return str.replace(/^\s*|\s*$/g,"");
	}
	
	//For Selecting/ deselecting check boxed
	function selectDeselect(field, isCheck) {
		var boxes = document.getElementsByName(field);
		var boxes_checked = anyChecked();
	
		if(isCheck){
			if(document.getElementsByName(isCheck)[0].checked) setChecks(true);
			else setChecks(false);			
		}else{
			if(!boxes_checked) setChecks(true);
			else setChecks(false);
		}
	
		function setChecks( setting ) {
			for( var i=0; i < boxes.length; i++ ) {
				boxes[ i ].checked = setting;
			}
		}
		function anyChecked() {
			for( var i=0; i < boxes.length; i++ ) {
				if( boxes[i].checked == true) {
					return (true);
				} 
			}
			return (false);
		}
	}

	//To check wheather user have selected box or not
	function anyChecked() {
		for( var i=0; i < boxes.length; i++ ) {
			if( boxes[i].checked == true) {
				return (true);
			} 
		}
		return (false);
	}


	//For checking Null values
	function isNull(aStr)
	{
		var index;		
		for (index=0; index < aStr.length; index++)
			if (aStr.charAt(index) != ' ')
				return false;
		return true;
	}
	
	//For checking invalid E-Mail address

	function isEmail(aStr){
		var reEmail=/^[0-9a-zA-Z_\.-]+\@[0-9a-zA-Z_\.-]+\.[0-9a-zA-Z_\.-]+$/;
		if(!reEmail.test(aStr))
		{
			return false;
		}
		return true;
	}
	
	//Removing the newline character
	function countChars(str){
		var reg = new RegExp("[\f\n\r\v]*","g");
		str = str.replace(reg,"");
		return str.length;   
	}


	function isValidType( oInput, oType ) {
	switch( oType.toLowerCase() ) {
		case 'select':
			return oInput.selectedIndex;
		case 'number':
			if( !oInput.value ) { return false; }
			for( var mXi = 0; mXi < oInput.value.length; mXi++ ) {
				if( oInput.value.charAt( mXi ) != '' + parseInt( oInput.value.charAt( mXi ) ) + '' ) { return false; }
			} return true;
		case 'name':
			return ( oInput.value && !oInput.value.replace( /[a-z??????]+( ?[-']?[a-z??????]+)*/i, "" ) );
		case 'email':
			return ( oInput.value && !oInput.value.replace( /[\w\-\+]+(\.[\w\-\+]+)*@([\w\-??????]+\.)+[a-z]+/i, "" ) );
	}
}

function validateInvalidSymbols(str)
	{
		var pattern = /^[a-zA-Z0-9_\.-]*$/;
		if( pattern.test(str) == false )
			  {
		//	   alert("Invalid "+title);
		//	   str.focus();
			   return false;
			  }
	}

/* To validate comment form */
function validatecomment()
{
	if(isNull(document.getElementById('txtname').value))
	{
		alert("Please enter your name.");
		document.getElementById('txtname').focus();
		return false;
	}
	else if(isNull(document.getElementById('txtemail').value))
	{
		alert("Please enter your email address.");
		document.getElementById('txtemail').focus();
		return false;
	}
	else if(!isEmail(document.getElementById('txtemail').value))
	{
		alert("Please enter a valid email address.");
		document.getElementById('txtemail').focus();
		return false;
	}
	else if(isNull(document.getElementById('txtcomment').value))
	{
		alert("Please enter the comment.");
		document.getElementById('txtcomment').focus();
		return false;
	}
	else if(document.getElementById('txtcomment').value.length > 500)
	{
		alert("Please enter the comment within 500 characters.");
		document.getElementById('txtcomment').focus();
		return false;
	}
	else if(document.getElementById('txtcomment').value.length > 500)
	{
		alert("Please enter the comment within 500 characters.");
		document.getElementById('txtcomment').focus();
		return false;
	}
	return true;
}

// Function to get X pos. 
function xstooltip_findPosX(obj) 
{
	var curleft = 0;
	if (obj.offsetParent) 
	{
		while (obj.offsetParent) 
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

// Function to get Y pos.
function xstooltip_findPosY(obj) 
{
    var curtop = 0;
    if (obj.offsetParent) 
    {
        while (obj.offsetParent) 
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}
 
//Function to show thumbnail div
function xstooltip_show(tooltipId, parentId, posX, posY, imagesrc, stitle)
{
	//xstooltip_hide(tooltipId);
	
	set_tooltip(tooltipId, imagesrc, stitle);

	it = document.getElementById(tooltipId);

	it.style.width = it.offsetWidth + 'px';
	it.style.height = it.offsetHeight + 'px';
	
	img = document.getElementById(parentId); 

	// if tooltip is too wide, shift left to be within parent 
	if (posX + it.offsetWidth > img.offsetWidth) 
		posX = img.offsetWidth - it.offsetWidth;
	
	if (posX < 0 ) 
		posX = 0; 

	x = xstooltip_findPosX(img) + posX;
	y = xstooltip_findPosY(img) + posY;

	it.style.top = (y+42) + 'px';
	it.style.left = (x-250) + 'px';
	it.style.display = 'block'; 
}
 
//Function to hide thumbnail div
function xstooltip_hide(id)
{
    it = document.getElementById(id); 
	document.getElementById(id).innerHTML = ''
    it.style.display = 'none'; 
}

function set_tooltip(id, imgsrc, stitle)
{	
	artitle = stitle.split('-');	
	var shtml = '<div style="width:270px;background-color:#E8E8E8;border: 2px solid #CFCCB5;float:left;">';
	shtml += '<div style="width:251px;color:#0C3D5B;background-color:#e3c640;float:left;padding:2px 0px 2px 4px;font-weight:bold;text-align:center;">Great Lakes Boat Top Marine Canvas Color Swatch</div>';
	shtml += '<div style="width:15px;text-align:center;background-color:#e3c640;float:left;cursor:pointer;padding-bottom:4px;padding-bottom:20px;" title="Close" onclick="xstooltip_hide(\''+id+'\');">x</div>';
	shtml += '<div style="width:270px;text-align:center;float:left;font-weight:bold;padding-bottom:2px;">'+artitle[0]+'<br />'+artitle[1]+'</div>';
	shtml += '<div style="width:270px;float:left;text-align:center;"><img src="'+imgsrc+'" alt="" title="" /></div>';
	shtml += '</div>';	
	document.getElementById(id).innerHTML = shtml;	
}
function show(id)
{	
	document.getElementById(id).style.display = 'block';	
}

function check_sweepstake_email(url)
{
	email = document.getElementById('txt_sweepstake_email').value;
	if(email == 'Enter E-mail' || isNull(email))
	{
		alert('Please enter an email address.');
		document.getElementById('txt_sweepstake_email').focus();
		return false;
	}
	else if(!isEmail(email))
	{
		alert('Please enter a valid email address.');
		document.getElementById('txt_sweepstake_email').focus();
		return false;
	}
	url += "misc/index.php?action=submitsweepstakes"
	make_Http_Request(url, email);
	document.getElementById('txt_sweepstake_email').value = '';
	return false;
}

function make_Http_Request(url, email)
{
	createHttpRequest();
	http_request.open('POST', url, true);
	http_request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    http_request.send('txt_sweepstake_email='+email);
	http_request.onreadystatechange = function() { 
		if (http_request.readyState == 4) 
		{
			if (http_request.status == 200) 
			{
				if (http_request.responseText.indexOf('invalid') == -1) 
				{
					document.getElementById('msg_sweepstake_email').style.display = 'block';
					document.getElementById('msg_sweepstake_email1').innerHTML = http_request.responseText;
				}
			}
		}
	};
}