function doLookUp(gedcom){
    var srcbox=document.getElementById("search-box");
    if(srcbox.value.length>2){
		
		var rooturl="http://"+window.location.hostname;
        var targeturl=rooturl+"/universal-ajax-tree-handler.php";
        var senddata=srcbox.value;
        doAsyncRequestEx2('POST',targeturl,'&section=persons&lookup='+escape(senddata)+'&gedcom='+gedcom); 
	}
}

function dolookupex(page,mem_id,tree,primaryid) {
    if (page == 0) {
        page = 1;
    }
    var lendata = document.getElementById("timeline-src").value;
    lendata = lendata.length;
    if (lendata > 2) {
        var data = document.getElementById("timeline-src").value;
        var rooturl = "http://" + window.location.hostname;
        var url = rooturl + "/universal-ajax-tree-handler.php";
        var newdata = "section=people&lookup=" + escape(data) + "&page=" + page+"&mem_id="+mem_id+"&tree="+tree+"&primaryid="+primaryid;
        doAsyncRequestEx("POST", url, newdata, "timeline-result");
    }
}

function dolookuprelation(mem_id,tree,target_box,objsrc) {

    var lendata = objsrc.value;
    lendata = lendata.length;
    if (lendata > 2) {
        var data = objsrc.value;
        var rooturl = "http://" + window.location.hostname;
        var url = rooturl + "/universal-ajax-tree-handler.php";
        var newdata = "section=relate&lookup=" + escape(data)+"&mem_id="+mem_id+"&tree="+tree+"&box="+target_box;
        doAsyncRequestEx("POST", url, newdata, "relate-result");
    }
}


function doAsyncRequestEx2(method, url, data) {
    var httpObj;
    var browser = navigator.appName;
    if(browser.indexOf("Microsoft") > -1)
        httpObj = new ActiveXObject("Microsoft.XMLHTTP");
    else
        httpObj = new XMLHttpRequest();
        httpObj.open(method, url, true);
        httpObj.onreadystatechange = function() {
        if(httpObj.readyState == 4){
            if (httpObj.status == 200 || httpObj.status == 0){
                var contenttype = httpObj.getResponseHeader('Content-Type');
                if (contenttype.indexOf('xml') > -1) {
                 //func(httpObj.responseXML);
                } else {
					ensureVisible(true,'result-holder');
					document.getElementById("result-names").innerHTML=httpObj.responseText;
                }
            }else{
				ensureVisible(false,'result-names');
			}
		
        }else if(httpObj.readyState == 1 || httpObj.readyState == 2 || httpObj.readyState == 3){
            ensureVisible(true,'result-names');
            document.getElementById("result-names").innerHTML="<img src=images/indicator_tiny_red.gif border=0/>";
        }
        };
    
        if (data.length > 0) {
            httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        }
        httpObj.send(data);
}


/*function ensureVisible(blnVisible){
    
    if(blnVisible){
        document.getElementById("result-names").style.visibility="visible";
    }else{
        document.getElementById("result-names").style.visibility="hidden";
    }
}*/


var doAddTimeline = function(){
    var params = arguments[0]
    var mForm = document.createElement("form")
    mForm.name = params.formNAME
    mForm.action = params.formACTION
    mForm.method = "post"

    var mFormHtml = "\
<form name='"+params.formNAME+"' method='POST' action='"+params.formACTION+"'>\
<input type='hidden' name='"+params.nextpersonID+"' value='"+params.nextpersonVAL+"' />\
<input type='hidden' name='tree' value='"+params.tree+"' />\
<input type='hidden' name='primaryID' value='"+params.primaryID+"' />\
</form>\
";
    new Insertion.Bottom(document.body,mFormHtml)
    document.forms[params.formNAME].submit()
    
}


function setrelatedata(fullname,trg_stat,trg_box,personID,tree){
	document.getElementById(trg_stat).innerHTML=fullname;
	document.getElementById(trg_box).value=personID;
	document.getElementById('relate-result').style.visibility="hidden";
}

function doJumptoTree(gedcom){
	var retContent=document.getElementById("result-ul").firstChild;
	var isValid=false;
	if(retContent){
		var anchorlink=retContent.innerHTML;
		var contentArray=anchorlink.split('"');
		if(contentArray[1]){
			var newurl=new String(contentArray[1]);
			newurl=newurl.replace(/&amp;/g,"&");
			isValid=true;
		}
	}
	if(isValid){
		window.location.href=newurl;
	}
	
	return false;
}





function handleSelectChange(src,role,id,tree){
        if(src.value=="marriage"){
                document.getElementById("txt-event-desc").style.width="200px";
                document.getElementById("txt-wife-name").style.display="inline";
                
doAsyncRequestEx('POST',url,newdata,result);
        }else{
                document.getElementById("txt-event-desc").style.width="300px";
                document.getElementById("txt-wife-name").style.display="none";
        }
}

function Addspouse(src,role,id,tree){
    var stag="";
    if(role=="husband"){
        stag="Add Wife";
    }else{
        stag="Add Husband";
    }
    if(src.value=="marriage"){
        var divholder=document.getElementById("eventformholder");
        makeDialogEx('page=tree&tree_page=admin/addmother_father','&id='+id+'&tree='+tree+'&fm='+stag+'&famc=Another');
    }
}


function UpdateButtons(objstat,objtarget){
	document.getElementById(objtarget).disabled=objstat;
}

function doReqEx(method, url, data, holder,expectation,objupdates,trgstat) {
	var oldHTML=document.getElementById(holder).innerHTML;
	
    var httpObj;
    var browser = navigator.appName;
    if (browser.indexOf("Microsoft") > -1) {
        httpObj = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        httpObj = new XMLHttpRequest;
    }
    httpObj.open(method, url, true);
	
	var objarray=Array();
	objarray=objupdates.split('|');
	
    httpObj.onreadystatechange = function (){
		if (httpObj.readyState == 4) {
			if (httpObj.status == 200 || httpObj.status == 0){
				var contenttype = httpObj.getResponseHeader("Content-Type");
				if (contenttype.indexOf("xml") > -1){
				}else{					
					var responsetxt=httpObj.responseText;
					document.getElementById(holder).innerHTML = responsetxt+oldHTML;
					document.getElementById(trgstat).innerHTML="";
					
					for (var j = 0; j < objarray.length; j++) {
						document.getElementById(objarray[j]).disabled=false;
							if(document.getElementById(objarray[j]).type=="text" || document.getElementById(objarray[j]).type=="textarea"){
								document.getElementById(objarray[j]).value="";
							}
					}
					
				}
			}
		}else if(httpObj.readyState == 1 || httpObj.readyState == 2 || httpObj.readyState == 3){
			document.getElementById(trgstat).innerHTML = "<img src=images/indicator_tiny_red.gif border=0/> Please Wait...";
			for (var j = 0; j < objarray.length; j++) {
				document.getElementById(objarray[j]).disabled=true;
			}
		}
	};
    if (data.length > 0) {
        httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    }
    httpObj.send(data);
}
				


function AddEvent(personID,famID,treeID){
        //Elements
	var personID=document.getElementById("personID");
	var famID=document.getElementById("famID");
	var treeID=document.getElementById("treeID");
	var event_desc=document.getElementById("txt-event-desc");
	var event_location=document.getElementById("event-location");
	var event_date=document.getElementById("event-date");
	var event_button=document.getElementById("event-button");
	var event_type=document.getElementById("event-type");
	
	//Local Variables
	var eventdate=event_date.value;
	var eventplace=event_location.value;
	var born=document.getElementById("born");
	var eventagency="";
	var eventcause="";
	var eventaddressID="";
	var eventparenttag="";
	var eventinfo=event_desc.value;
	var eventtyppe=event_type.value;
	
	if(eventinfo.length<1){
			alert("Please Enter a Description for this event!");
			event-desc.focus();
	}else if(eventdate.length<1){
			alert("Please Enter a date for this Event");
			event-date.focus();
	}else if(eventplace.length<1){
			alert("Please Enter an event location for this Event!");
			event-location.focus();
	}else{
	
	// do the request
	
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-tree-handler.php";
	var newdata="section=event&personid="+personID.value+"&gedcom="+treeID.value+"&famid="+famID.value+"&born="+escape(born.value)+"&eventdate="+escape(eventdate)+"&eventplace="+escape(eventplace)+"&eventinfo="+escape(eventinfo)+"&eventtype="+eventtyppe;
	//doAsyncRequestEx('POST',url,newdata,'spouse-holder');
	doReqEx('POST',url,newdata,'events-holder',"Success",'txt-event-desc|event-location|event-date','event-stat');
	
	}
}


function editnotes(objtrg,objstat){
	
	var src=document.getElementById(objtrg);
	
	if(objstat=="new"){
		var oldHTML=src.innerHTML;	 //"height:'+src.clientHeight+'px !important;width:'+src.clientWidth+'px !important;
		var rmove = oldHTML;
		rmove = rmove.replace(/<([^>]+)>/g,'');		
		rmove = rmove.replace(/<([^>]+)>/g,'');	

		if(document.getElementById("notes-text")!=null){
			alert('herealready');
		}
		var newcontent='<textarea id="notes-text" rows="4" style=padding:3px;display:block;width:100%;">'
							+rmove+'</textarea><br/>';
		newcontent+='<div style="float:left;padding-top:5px;"><input type="submit" value="Save">&nbsp;<input type="button" value="Cancel" onclick="editnotes(\''+objtrg+'\',\'rev\')"></div>'; //notes-holder
		newcontent+='<div style="clear:both;margin-bottom:10px;"></div>';
		
		var editlink = "editlink-note_"+objtrg;
		document.getElementById(editlink).style.display="none";
		src.innerHTML=newcontent;
		//document.getElementById("notes-text").clientWidth=src.clientWidth;
		//document.getElementById("notes-text").style.clientHeight=src.clientHeight;
		
		//alert(document.getElementById("notes-text").style.clientHeight);
		//alert(document.getElementById("notes-text").clientWidth);
		
	}else{
		src.innerHTML=document.getElementById("notes-text").value;
		//document.getElementById("link-notes").style.display="inline";
	}
}

function doEditEvent(tree,personID,result){
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-handler.php";
	var newdata="section=editevent&tree="+tree+"&personID="+personID;
	doAsyncRequestEx('POST',url,newdata,result);
}
function doDeletetimeline(eventtype,eventID,personID,tree){
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-handler.php";
	var newdata="section=deletetimeline&eventtype="+eventtype+"&eventID="+eventID+"&personID="+personID+"&tree="+tree;
	doAsyncRequestEx('POST',url,newdata,'event-body');
}
function doEditStories(tree,personID,result){
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-handler.php";
	var newdata="section=editstory&tree="+tree+"&personID="+personID;
	doAsyncRequestEx('POST',url,newdata,result);
}
function doDeleteStory(personID,tree,mediaID){
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-handler.php";
	var newdata="section=deletestory&mediaID="+mediaID+"&personID="+personID+"&tree="+tree;
	doAsyncRequestEx('POST',url,newdata,'story-body');
}
function doEditSources(tree,personID,result){
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-handler.php";
	var newdata="section=editsources&tree="+tree+"&personID="+personID;
	doAsyncRequestEx('POST',url,newdata,result);
}
function doDeleteSource(personID,tree,sourceID){
	var rooturl="http://"+window.location.hostname;
	var url=rooturl+"/universal-ajax-handler.php";
	var newdata="section=deletesource&sourceID="+sourceID+"&personID="+personID+"&tree="+tree;
	doAsyncRequestEx('POST',url,newdata,'sources-body');
}

