
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); };

messageObj = new DHTML_modalMessage();	// We only create one object of this class
var http_request = false;
var responseStatus = "";
var hex = 255;
passedAnswer = "";
var globalSubmitted = "false";

function showDiv(layerName)
{
	var layerObject = document.getElementById(layerName);
	
	if (layerObject != null)
	{	
		/* Show Proper Div */
		layerObject.style.display = "block";
	}
}

function hideDiv(layerName)
{
	var layerObject = document.getElementById(layerName);

	if (layerObject != null)
	{
		/* Hide Div */
		layerObject.style.display = "none";
	}
}

/*
function checkPost(posted, file)
{
	alert(posted, file);
	if (posted == 'true') showModal('/meetskinny/'+file);
}
*/

function showModal(url) 
{
	messageObj.setSource(url);
	messageObj.setCssClassMessageBox(false);
	messageObj.setSize(476,400);
	messageObj.setShadowDivVisible(false);	// Enable shadow for these boxes
	messageObj.display();	
	//document.getElementById("submitted").value = "false";
	globalSubmitted = "true";
	
}

function closeModal()
{
	messageObj.close();	
}

function CountLeft(field, count, max) {
	if (field.value.length > max) 
		field.value = field.value.substring(0, max); 
	else
		count.value = max - field.value.length;
		document.getElementById("remaining").innerHTML = count.value;
		document.getElementById("talktomeform").charsleft.value = count.value;
}

function validateFields(page, table)
{
	var talktomeform = document.getElementById("talktomeform");
	var message = talktomeform.message.value.trim();
	var name = talktomeform.field9.value.trim();
	var email = talktomeform.field6.value.trim();	
	var optin = talktomeform.optin.checked;
	var over18 = talktomeform.over18.value;
	var errorFlag = false;	
	var validatedFlag = false;
	
	if (over18 == "under")
	{
		closeModal();
		showModal('/meetskinny/underage.php');
		
	} else {
	
		if (message.length ==0)
		{
			errorFlag = true;			
			if(table == "blog")
				alert("Please enter an idea for a blog.");
			else if(table == "question")
				alert("Please enter your question.");
			else
				alert("Please enter an idea for a blog.");
		}
				
		if (optin && email.length==0)
		{
			errorFlag = true;
			alert("Please enter an email address.");			
		}
		
		//THIS SECTION IS FOR MAKING SURE THE DATA ENTERED IS VALID FOR EMAIL/NAME
		
		if (name.length != 0)	
		{		
			var NameValid = checkName(name);
			if (!NameValid)
			{
				errorFlag = true;
				alert("Please enter a valid name.");
			}								
		}
		
		if (email.length != 0)
		{
			var EmailValid = checkMail(email);
			if (!EmailValid)
			{
				errorFlag = true;
				alert("Please enter a valid email address.");
			}		
		}
				
		//checks all the fields for errors	
		if(errorFlag) {
			validatedFlag = false;  //this means there was an error, so return false to halt processing
		}  
		else {
			var urlString = "/meetskinny/sendToDB.php"
			var param = "table="+table+"&message="+message+"&name="+name+"&email="+email+"&optin="+optin;
			var responseText = sendToDatabase(urlString, param);							
			
			//talktomeform.submitted.value = "true";
			globalSubmitted = "true";
			
			//if (responseText == "") {   //I will leave out for now, not sure what the return code is supposed to be
				validatedFlag = true;
			//} else {
			//	validatedFlag = false;
			//	showModal('/meetskinny/error.php');
			//}							
		}
	}
	
	return validatedFlag;	 
}

function checkMail(email)
{		
	var emailFlag = true;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(email)) emailFlag = false;
	
	return emailFlag;
}

function checkName(name)
{	
	//@"^[-.a-zA-Z''-'\s]{1,40}$";
	var nameFlag = true;
	var filter  = /^[-.a-zA-Z-\s]{1,40}$/;
	if (!filter.test(name)) nameFlag = false;
	
	return nameFlag;
}

function showAnswer(answer, imageToHide, imageToShow) 
{
	
	showDiv(answer);
	fadeTextIn(answer);
	hideDiv(imageToHide);
	showDiv(imageToShow);
}

function closeAnswer(answer, imageToHide, imageToShow)
{
	//fadeTextOut(answer);
	hideDiv(answer);
	hideDiv(imageToHide);
	showDiv(imageToShow);
}

function fadeTextIn(answer){ 
	passedAnswer = answer;
	if(hex>0) { //If color is not black yet
		hex-=8; // increase color darkness
		document.getElementById(answer).style.color="rgb("+hex+","+hex+","+hex+")";
		setTimeout("fadeTextIn(passedAnswer)",10); 
	}
	else
		hex=255 //reset hex value
}

function fadeTextOut(answer){ 
	passedAnswer = answer;
	if(hex<0) { //If color is not black yet
		hex+=8; // decrease color darkness
		document.getElementById(answer).style.color="rgb("+hex+","+hex+","+hex+")";
		setTimeout("fadeTextOut(passedAnswer)",10); 
	}
	else
		hex=0 //reset hex value
}


// Get the HTTP Object
function getHTTPObject()
{   
	if (window.ActiveXObject)        
		return new ActiveXObject("Microsoft.XMLHTTP");   
	else if (window.XMLHttpRequest)        
		return new XMLHttpRequest();   
	else {	     
		return null;  
	}
}

// Implement business logic    
function sendToDatabase(url, param){        
	httpObject = getHTTPObject();    
	if (httpObject != null) {  
		httpObject.onreadystatechange = getStatus;      
		httpObject.open("POST", url, true); 
		httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpObject.setRequestHeader("Content-length", param.length);
		httpObject.send(param);		
		//httpObject.onreadystatechange = setPage(page);           //The post will overwrite this call so leave out
	}
	return responseStatus;  //global variable
}

function getStatus() {
	if(httpObject.readyState == 4 || httpObject.readyState == "complete"){ 		     
		responseStatus = httpObject.responseText;   //global variable
	}
}


// Change the value of the outputText field
/*function setPage(page){    
	if(httpObject.readyState == 4){ 		     
		var response = httpObject.responseText; 
		if (response == "") {
			showModal('/meetskinny/'+page);
		} else {
			showModal('/meetskinny/error.php');
		}
	} 
}*/








/*
var http_request = false;
   function makePOSTRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
         }
      } 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('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = alertContents;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {
            //alert(http_request.responseText);
            result = http_request.responseText;
            alert(result);            
         } else {
            alert('There was a problem with the request.');
         }
      }
   }
   
   function get(obj) {
   	var optin2 = obj.optin.checked;
   	var name = obj.field9.value.trim();
	var email = obj.field6.value.trim();

	if (optin2) {	
      var poststr = "name=" + encodeURI( name ) +
                    "&email=" + encodeURI( email );
      makePOSTRequest('http://tk.publicaster.com/DC/OptinFormAction.aspx?OptinFormID=114', poststr);
   	}
   }

*/