function GetQueryStr(formbutn)
{
	var currentform;
	if(formbutn==null ||formbutn==undefined){
		currentform = document.cbotBuildingForm;}
	else
		{
		currentform = formbutn.form;
		}
	var querystr;
	for(i=0; i<currentform.elements.length; i++)
	{
		if(i==0)
		{
			querystr = "?"+ currentform.elements[i].name + "="+ currentform.elements[i].value;
		}
		else
		{
			if(currentform.elements[i].type=="checkbox")
			{
				querystr = querystr + "&" +currentform.elements[i].name + "="+ currentform.elements[i].checked;
			}
			else if(currentform.elements[i].type=="radio")
			{
				if(currentform.elements[i].checked)
				querystr = querystr + "&" +currentform.elements[i].name + "="+ currentform.elements[i].value;
			}
			else if(currentform.elements[i].type=="select-multiple")
                     {
                            var multiselectItem;
                            for (var itemIndex = 0; itemIndex  < currentform.elements[i].options.length; itemIndex++){
                                 if (currentform.elements[i].options[itemIndex].selected){
                                    if(multiselectItem==null){
                                     multiselectItem=currentform.elements[i].options[itemIndex].value;
                                    }
                                    else
                                    {
                                     multiselectItem=multiselectItem+","+currentform.elements[i].options[itemIndex].value;
                                    }
                                 }
                          }
                          if(multiselectItem!=null){
                             querystr = querystr + "&" +currentform.elements[i].name + "="+ multiselectItem;
                          }
                     }
			else{
				querystr = querystr + "&" +currentform.elements[i].name + "="+ currentform.elements[i].value;
			}
		}
	}
	return querystr + "&timestamp="+new Date().getMilliseconds();
}



function createRequestObject() {
    var tmpXmlHttpObject;
    //depending on what the browser supports, use the right way to create the XMLHttpRequest object
    if (window.XMLHttpRequest) {
        // Mozilla, Safari would use this method ...
        tmpXmlHttpObject = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        // IE would use this method ...
         tmpXmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
   }

    return tmpXmlHttpObject;
}

//call the above function to create the XMLHttpRequest object
var http = createRequestObject();
function submitAjaxRequest(form) {

	if(checkfields())
	{
		//alert('valid');
		submitAjaxRequest2Controller('tenantAccess.ctl',form);
		return true;
	}
	else
	{
		return false;
	}
}

function submitAjaxRequest2Controller(target,form) {
    //make a connection to the server ... specifying that you intend to make a GET request
    //to the server. Specifiy the page name and the URL parameters to send
    //assign a handler for the response

    http.open('post', '/CBT_TA/'+target + GetQueryStr(form),true);

    http.onreadystatechange = processResponse;

    //actually send the request to the server
    http.send(null);
}

function processResponse() {
    //check if the response has been received from the server
	if (http.readyState != 4) return;
        //read and assign the response from the server
        var response = http.responseText;

        //in this case simply assign the response to the contents of the <div> on the page.
        document.getElementById("dataContainer").innerHTML = response;

}


function submitMyForm(form)
{
  if (checkfields()){
      //alert('valid');
	  document.cbotBuildingForm.submit();
    return true;
 }
   else
  {
   return false;
  }
}
function mayapprove()
 {
   alert("May Approve Visitors: This person has the authorization to approve guests and vistors to enter the building.  They will be notified when a vistor under them enters the building.");
   return false;
 }

function access()
 {
  alert("Access: Access for visitors, guests, and conrtactors is restricted to normal building hours (7:00 am until 6:00 pm)");
  return false;
 }

var echeck = function(str) {
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail Address")
		    return false
		 }

		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail ID")
		    return false
		 }

 		 return true
	}

 var checkfields = function(){
	var errors = -1;
	messagesObj = {
		fname: 'Requestor First Name',
		lname: 'Requestor Last Name',
		phone: 'Requestor Phone',
		email: 'Requestor Email Address',
		modify_: 'Add, Delete, or Edit values',
		name_: 'Change Detail Name values',
		status_: 'Status values',
		access_hours_: 'Access Hours values',
		approve_visitors_: 'Approve Visitors values',
		suite_: 'Suite # values',
		disability_: 'Disability information',
		access_start_: 'Access start date',
		access_end_: 'Access end date'
	};
	//var g = null;
	var checkVal = function(jqObj, i){
			//$j(this).removeClass('missingField');
		var tag = jqObj.get(0).tagName.toLowerCase();

		var elName = jqObj.attr('name');
		var elValueTest = jqObj.val();
		if (tag == 'input' && jqObj.attr('type') == 'radio') {
			elValueTest = $j('input[name="'+elName+'"]:checked').val();
		} else if (tag == 'select') {
			elValueTest = $j('select[name="'+elName+'"] option:selected').val();
		}
		if (jqObj.attr('name') == 'email' && (errors < 0) ) {
			if(jqObj.val() == '') {
				elValueTest = '';
			} else {
				if (echeck( jqObj.val() ) ) {
					elValueTest = jqObj.val();
				} else {
					errors++;
					elValueTest = '';
				}
			}
		}
		if ( (jqObj.attr('type') != 'button' ) && (jqObj.attr('type') != 'hidden' ) && ( elValueTest == "" || typeof elValueTest == "undefined")
		&& (errors < 0) ) {
			errors++;
			var messageKey = elName.split(/[\d]/);
			var message = eval( 'messagesObj.'+messageKey[0]);
			alert("Please enter "+message+".");
			//$j(this).addClass('missingField');
		}
		return true;
	}
	$j('input').each(function(i){
		checkVal($j(this), i);
	});
	$j('select').each(function(i){
		checkVal($j(this), i);
	});

	if (errors == -1) {
		return true;
	}
	else{
		return false;
	}
}


function submitWithEnterKey(myfield,e)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;
if (keycode == 13)
   {
     if (myfield.name=="idnumber" )
       {
         myfield.form.sDiv.click();
       }

   return false;
   }
else
   return true;
}

var addRemove = function(oper, triggerObj) {
	var triggerIndex = $j('#changeDetailsTable tr.elementRow').index(triggerObj);
	var maxrows = 2000;
	var rowlength = $j('#changeDetailsTable tr.elementRow').length;
	var plusAnchor =  '<a class="addrow" onclick="addRemove($j(this).html(), $j(this).parents(\'tr\') );">+</a>';
	var minusAnchor = '<a class="addrow" onclick="addRemove($j(this).html(), $j(this).parents(\'tr\') );">-</a>';
	if (oper=='+' && rowlength < maxrows ) {
		var rowlength = $j('#changeDetailsTable tr.elementRow').length;
		var newrow = $j('#changeDetailsTable tr.elementRow').eq(rowlength-1).html();
		newrow = newrow.replace(/\_[\d]+/g,'_'+(rowlength) );
		newrow = $j('#changeDetailsTable tbody').append('<tr class="elementRow">'+newrow+'</tr>');
		triggerObj.next().find('input[type="text"]').val('');
		triggerObj.next().find('input[name="modify_'+rowlength+'"]').eq(0).click();
		rowlength++;
		if ( triggerIndex == 0) {
			triggerObj.next().find('td:last').prepend(minusAnchor + '&nbsp;&nbsp;');
			triggerObj.find('td:last a').html('-');
		} else {
			triggerObj.find('td:last a:last').remove();
		}
		if (rowlength == maxrows) {
			$j('#changeDetailsTable tr.elementRow').eq(maxrows-1).find('td:last a:last').remove();
		}
		//alert(countTD());
	} else {
		//remove row
		triggerObj.remove();
		rowlength--;

		//renumber elements in row
		$j('#changeDetailsTable tr.elementRow').each(function(i){

			$j('#changeDetailsTable tr.elementRow').eq(i).find('input, select').each(function() {
				var newname = $j(this).attr('name').replace(/\_[\d]+/g,'_'+i);
				$j(this).attr('name',  newname );
			});
		});
		if(rowlength ==1) {//If only one row, only show +
			$j('#changeDetailsTable tr.elementRow').eq(0).find('td:last').html(plusAnchor );
		} else if (rowlength >= maxrows-1) {//If maxrows, only show -
			$j('#changeDetailsTable tr.elementRow').eq(18).find('td:last').html(minusAnchor);
		} else {//otherwise show both
			$j('#changeDetailsTable tr.elementRow').eq(rowlength-1).find('td:last').html(minusAnchor+'&nbsp;&nbsp;'+plusAnchor);
		}
	}
	$j('#showRow').html(rowlength);
}

var countTD = function(){
	var i = 0;
	$j('input, select').each(function(){
		i++;
	});
	return i;
}

var writeToday = function writeToday() {
	var now = new Date();
	/*var days = new Array(
	  'Sunday','Monday','Tuesday',
	  'Wednesday','Thursday','Friday','Saturday');*/
	var months = new Array(
	  'January','February','March','April','May',
	  'June','July','August','September','October',
	  'November','December');
	var date = ((now.getDate()<10) ? "0" : "")+ now.getDate();
	function fourdigits(number)	{
	  return (number < 1000) ? number + 1900 : number;}
	var today =  months[now.getMonth()] + " " +date + ", " + (fourdigits(now.getYear())); /*days[now.getDay()] + ", " +*/
	return today;
}

var loadValuesIntoVerifyWindow = function(){
	var vCN = vw.document.getElementById('companyNameVerify');
	$j(vCN).html($j('#companyName').html() );
	$j('input[type="text"]').each(function(i){
		if (i<4) {
			var v_requestorfields = vw.document.getElementsByTagName('body');
			$j(v_requestorfields).find('td[name="'+$j(this).attr('name')+'"]').html($j(this).val() );
		} else {
			return true;
		}
	});
	var rowlength = $j('.elementRow').length;
	var vTable = vw.document.getElementById('valuesTable');
	$j('.elementRow').each(function(i){
		var newrow = '<tr class="elementRow"></td>'+
					 '<td>'+(1+i)+'</td>'+
					 '<td>'+ $j('input[name="'+('modify_' +i)+'"]:checked').val()+'</td>'+
					 '<td>'+ $j('input[name="'+('name_' +i)+'"]').val()+'</td>'+
					 '<td>'+ $j('select[name="'+('status_' +i)+'"] option:selected').val()+'</td>'+
					 '<td>'+ $j('input[name="'+('access_hours_' +i)+'"]').val()+'</td>'+
					 '<td>'+ $j('select[name="'+('approve_visitors_' +i)+'"] option:selected').val()+'</td>'+
					 '<td>'+ $j('input[name="'+('suite_' +i)+'"]').val()+'</td>'+
					 '<td>'+ $j('input[name="'+('disability_' +i)+'"]').val()+'</td>'+
					 '<td>'+ $j('input[name="'+('access_start_' +i)+'"]').val()+'</td>'+
					 '<td>'+ $j('input[name="'+('access_end_' +i)+'"]').val()+'</td>'+
				'</tr>';
		$j(vTable).append(newrow);
	});

}

var popupVerify = function(){
	if(typeof vw != 'undefined') vw.close();
	vw = window.open('PreviewForm.html','vwin', 'location=yes, toolbar=yes, status=yes, height=300, scrollbars=yes, width=925;' );
	//vw.formelements = document.cbotBuildingForm.elements;
}

