// JavaScript Document
// Ajax JavaScript functions

var baxtage_http = baxtage_getHTTPObject();

function baxtage_getHTTPObject() {
	var xmlhttp; 

	if (window.XMLHttpRequest){
	  xmlhttp=new XMLHttpRequest();
	}
	// code for IE
	else if (window.ActiveXObject){
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}

	return xmlhttp; 
} 

/*
* goes through dom and gets input fields
* returns the data in a querystring
*/
function submit_form_ajax() {
  var getstr = "q=test=1&";

  var els = document.getElementsByTagName('input');
	var elsLen = els.length;

	for (i = 0; i < elsLen; i++) {
		if (els[i].type == "text") {
		   getstr += els[i].name + "=" + els[i].value + "&";
		}
		if (els[i].type == "hidden") {
		   getstr += els[i].name + "=" + els[i].value + "&";
		}
		if (els[i].type == "checkbox") {
		   if (els[i].checked) {
			  getstr += els[i].name + "=" + els[i].value + "&";
		   } else {
			  //getstr += els[i].name + "=&";
		   }
		}
		if (els[i].type == "radio") {
		   if (els[i].checked) {
			  getstr += els[i].name + "=" + els[i].value + "&";
		   }
		}
		
	}
	var selects = document.getElementsByTagName('select');

	if(isArray(selects)){
		//alert('select len'+selects.length);
		var selectLen = selects.length;
	
		for (i = 0; i < selectLen; i++) {
			var sel = selects[i];
			if(sel.selectedIndex>=0){
					getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
			}
		}
	}
	var textareas = document.getElementsByTagName('textarea');
	if(isArray(textareas)){
		//alert('textareas len'+textareas.length);
		var areaLen = textareas.length;
			
		for (i = 0; i < areaLen; i++) {
					getstr += textareas[i].name + "=" + textareas[i].value + "&";
		}
	}
  return getstr;
}
function isArray(obj){

	return(typeof(obj.length)=="undefined")?false:true;

}
function add_comment(){
	
	
	if(document.getElementById("name").value == ""){
		alert("Name is required.");
		return false;
	}
		
	if(document.getElementById("comments").value == ""){
		alert("Comment is required.");
		return false;
	}
		

	
	var theQuery =submit_form_ajax();	
	//alert(theQuery);
	var url = "action/addComment_action.php?"+ theQuery;
		
	baxtage_http.open("GET", url, true);
	
	baxtage_http.onreadystatechange = function (){	

		if(baxtage_http.readyState != 4) { return; }
	
		refresh_div("CommentsDiv", "client_comments.php", theQuery);
		// this is for testing
		//document.getElementById("CommentsDiv").innerHTML = baxtage_http.responseText + ' ';
	};
	

	baxtage_http.send(null);
}

function delete_tag(id){
	
	var theQuery =submit_form_ajax();	
	
	//alert(theQuery);
	var url = "action/deleteTag_action.php?id="+ id + "&"+ theQuery;
	
	baxtage_http.open("GET", url, true);
	
	baxtage_http.onreadystatechange = function (){	

		if(baxtage_http.readyState != 4) { return; }
	
		refresh_div("EmailAlertsDiv", "client_email_alerts.php", theQuery);
		// this is for testing
		//document.getElementById("EmailAlertsDiv").innerHTML = baxtage_http.responseText + ' ';
	};
	
	baxtage_http.send(null);
}
function update_file_status(){
	
	var theQuery =submit_form_ajax();	
	//alert(theQuery);
	var url = "action/updateFileStatus_action.php?"+ theQuery;
		
	baxtage_http.open("GET", url, true);
	
	baxtage_http.onreadystatechange = function (){	

		if(baxtage_http.readyState != 4) { return; }
			// this is for testing		
			//alert (baxtage_http.responseText);
			document.getElementById("FileStatusIcon").innerHTML = baxtage_http.responseText + ' ';
	};
	

	baxtage_http.send(null);
}

function refresh_div(div, url, theQuery){
	
	url = url +"?"+ theQuery;
	
	baxtage_http.open("GET", url, true);
	
	baxtage_http.onreadystatechange = function (){	

		if(baxtage_http.readyState != 4) { return; }
	
		document.getElementById(div).innerHTML = baxtage_http.responseText + ' ';
	};

	baxtage_http.send(null);
}

function set_active_tab(this_tab){
	
	//first set them all off then set this one to active
	if(document.getElementById("blog_tab")){
		document.getElementById("blog_tab").className="";
		document.getElementById("blog").style.display="none";
	}
	if(document.getElementById("links_tab")){
		document.getElementById("links_tab").className="";
		document.getElementById("links").style.display="none";
	}
	if(document.getElementById("awards_tab")){
		document.getElementById("awards_tab").className="";
		document.getElementById("awards").style.display="none";
	}
		
	document.getElementById(this_tab+"_tab").className="active";
	document.getElementById(this_tab).style.display="block";
	
}
function hide_div(divName){
	document.getElementById(divName).style.display="none"
}
function show_div(divName){
	document.getElementById(divName).style.display="block"
}

function show_home_div(divName){
	document.getElementById('talent').className="";
	document.getElementById('talentDiv').style.display="none"	
	
	document.getElementById('contact').className="";
	document.getElementById('contactDiv').style.display="none"
	
	document.getElementById('login').className="";
	document.getElementById('loginDiv').style.display="none"
	
	document.getElementById(divName).className="active";
	document.getElementById(divName+"Div").style.display="block"
}

function show_detail(id){
	if(document.getElementById(id).style.display=='none'){
	
		document.getElementById(id).style.display='block';
	}else{
		document.getElementById(id).style.display='none';
	}

}

function open_email_window(file_id, folder_id, profile_name, base_dir){
	var url = base_dir+'spotlite_email.php?file_id='+file_id+'&folder_id='+folder_id+'&profile_name='+profile_name+'&base_dir='+base_dir;
	email = window.open(url,'popup','height=620,width=780,scrollbars=1, toolbar=0');
	
}

function submitEmailForm(myobject) {
	var valid = true;

	if (myobject.to_email.value == "") {
		alert("To Email is required.");
		valid = false;
	}
	if(!isEmail(myobject.to_email.value)){
		alert("Recipient email address you entered is not valid.");
		valid = false;		   
	}
	if (myobject.from_email.value == "") {
		alert("Your Email is required.");
		valid = false;
	}
	if(!isEmail(myobject.from_email.value)){
		alert("The email address you entered for you is not valid.");
		valid = false;		   
	}
	if(valid){	
	    myobject.submit();
	}

}


var whitespace = " \t\n\r";

/****************************************************************/

// Check whether string s is empty.

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

/****************************************************************/

// Returns true if string s is empty or 
// whitespace characters only.

function isWhitespace (s)

{   var i;

    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
	// Check that current character isn't whitespace.
	var c = s.charAt(i);

	if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}

/****************************************************************/

// isEmail (STRING s [, BOOLEAN emptyOK])
// 
// Email address must be of form a@b.c ... in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the .
// * the characters @ and . are both required
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.

function isEmail (s)
{   if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
   
    // is s whitespace?
    if (isWhitespace(s)) return false;
    
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}