var distributionArray = new Array();
var relationArray = new Array();
var force = null;
var relationDropDown, distributionDropDown, nodeDropDown;
var distributomeEditor = new Object ();
distributomeEditor.nodes = new Array ();
distributomeEditor.edges = new Array ();
distributomeEditor.references = new Array ();
var distributomeEditorNodes = new Array();
var referenceEditorNodes = new Array();
function addDialog(dialog, title, onClickClose){
if(!dialog)
return;
var x = '
';
x += '
';
x += '
';
x += '
';
x += '
';
x += '
';
x += '
';
var e = document.getElementById(dialog);
if(!document.getElementById(dialog+'.titlebar'))
e.innerHTML = x + e.innerHTML;
e.style.background='#ffffff';
e.style.borderStyle='solid';
e.style.borderWidth='1px';
e.style.borderColor='#929292';
}
/******* Show the dialog Div *******/
function showDialog(dialog, zIndex, topDiff){
if(zIndex){
document.getElementById(dialog).style.zIndex=parseInt(zIndex);
}else{
document.getElementById(dialog).style.zIndex=5;
}
document.getElementById(dialog).style.visibility = "visible";
distributomeEditor.on = true;
}
/******* Hide the Dialog Div *******/
function hideDialog(dialog){
document.getElementById(dialog).style.visibility = "hidden";
distributomeEditor.on = false;
}
function editXML(){
addDialog('distributome.editXML','XML Editor');
showDialog('distributome.editXML');
}
function reflectResourceType(){
var type = getDropDownSelectedValue('distributome.resourceType');
if(type == 1){
document.getElementById('distributome.distributionXml').style.display = '';
document.getElementById('distributome.relationXml').style.display = 'none';
setDropDownSelectedValue('distributome.distributionXmlTable.dropDown0', 'name');
setDropDownSelectedValue('distributome.distributionXmlTable.dropDown1', 'pdf');
}else if(type ==2){
document.getElementById('distributome.relationXml').style.display = '';
document.getElementById('distributome.distributionXml').style.display = 'none';
setDropDownSelectedValue('distributome.relationXmlTable.dropDown0', 'to');
setDropDownSelectedValue('distributome.relationXmlTable.dropDown1', 'from');
setDropDownSelectedValue('distributome.relationXmlTable.dropDown2', 'statement');
}
}
function saveXML(){
var XML = new XMLWriter(true);
XML.BeginNode("distributome");
XML.Attrib("version","2.0");
var e = document.getElementById('distributome.distributionXmlTable');
if(e.hasChildNodes()){
if(e.childNodes[0].childNodes.length>1){
var name = false; var pdf = false;
var trs = e.childNodes[0].childNodes;
XML.BeginNode("distributions",1);
XML.BeginNode("distribution",2);
var tempXML = new XMLWriter();
for(var i=0; i<(trs.length-1);i++){
var dropDownValue = getDropDownSelectedValue('distributome.distributionXmlTable.dropDown'+i);
var value = document.getElementById('distributome.distributionXmlTable.text'+i).value;
if(dropDownValue == 'name'){
if(!name){
XML.Attrib("id",value+'');
name = true;
}
value = value + ' distribution';
}else if(dropDownValue == 'pdf') pdf = true;
tempXML.BeginNode(dropDownValue,3);
tempXML.WriteString(value);
tempXML.EndNode();
}
if(name && pdf)
XML.AppendXML(tempXML.ToString());
else{
alert('A distribution has to be associated with atleast a name and a pdf');
return;
}
XML.EndNode();
XML.EndNode();
}
}
e = document.getElementById('distributome.relationXmlTable');
if(e.hasChildNodes()){
if(e.childNodes[0].childNodes.length>1){
var from = false; var to = false; var statement = false;
var trs = e.childNodes[0].childNodes;
XML.BeginNode("relations",1);
XML.BeginNode("relation",2);
var tempXML = new XMLWriter();
for(var i=0; i<(trs.length-1);i++){
var dropDownValue = getDropDownSelectedValue('distributome.relationXmlTable.dropDown'+i);
var tdValue = trs[i].childNodes[1].childNodes[0];
if(tdValue.tagName == 'SELECT'){
var value = getDropDownSelectedValue('distributome.relationXmlTable.nodeDropDown'+i);
}else var value = document.getElementById('distributome.relationXmlTable.text'+i).value;
if(dropDownValue == 'from'){
from = value;
value = value + ' distribution';
}else if(dropDownValue == 'to'){
to = value;
value = value + ' distribution';
}else if(dropDownValue == 'statement'){
statement = true;
}
tempXML.BeginNode(dropDownValue,3);
tempXML.WriteString(value);
tempXML.EndNode();
}
if(from && to && statement){
XML.Attrib("id",from+'/'+to);
XML.AppendXML(tempXML.ToString());
}else{
alert('A relation has to be associated with atleast a "from", a "to" and a "statement"');
return;
}
XML.EndNode();
XML.EndNode();
}
}
XML.EndNode();
var distributomeXML = XML.ToString();
var win = window.open("", "Save_XML", "");
if (!win){
return;
}
var doc = win.document;
doc.write("Save XML by copying<\br>");
doc.close();
alert("To proceed further, Save this XML displayed and email it for review and publishing to info@sistributome.org");
}
/********* Create a drop down **********/
function createDropDown(fillArray, codeSnippet){
var dropDownOutput = '