//GLOBAL INFORMATION FOR COMMUNICATION
var action='';
//sample dataset
var sampleData  = '<?xml version="1.0" encoding="utf-8" ?>'
sampleData  += '<projects userId="1" userEmail="dmccory@fl-2.com" userFirstname="Dustin" userLastname="Mccory">'
sampleData  += 	'<project id="5" categoryId="1" active="1">'
sampleData  += 		'<name>The magic Shoe box</name>'
sampleData  += 		'<userCompany>FL2</userCompany>'
sampleData  += 		'<products>'
sampleData  += 			'<product id="1" quantity="1" />'
sampleData  += 			'<product id="2" quantity="2" />'
sampleData  += 			'<product id="3" quantity="4" />'
sampleData  += 		'</products>'
sampleData  += 	'</project>'
sampleData  += '</projects>'



//new test
sampleData  = '<projects userId=\"1\" userEmail=\"dmccory@fl-2.com\" userFirstname=\"Dustin\" userLastname=\"Mccory\">  <project id=\"\" categoryId=\"2\" active=\"1\">  <name>good</name><userCompany>FL2</userCompany><products/>  </project> </projects>'

//MAIN FUNCTIONS
function getSWF(swfName)
{
	var isIE = navigator.appName.indexOf("Microsoft") != -1;
	return (isIE) ? window[swfName] : document[swfName];
}

function loginRequest(userId)
{
	action="login";
	//now create Connection -- response will happen on AJAX return
	var url = "builder_interface.aspx";
	var poststr = "action=login&email="+userId;
	makePOSTRequest(url, poststr)
	
}

function printProject(XML){
	saveProject(XML);
	//prepare to Print
	setTimeout('DoPrint()',2000);
}
function DoPrint(){
	window.open('print/print.aspx?pid='+_projectId);
}
var _projectId = '';
function saveProject(XML){
	//alert(XML)
	//XML = sampleData;
	xmlDoc = parseDoc(XML);
	action="save";
	//obtain inforamtion for project
	var projects = xmlDoc.getElementsByTagName("project");
	var _name;
	var _userCompany;
	for (var i = 0; i <= projects.length-1; i++) { //not zero based
		//find project name. different call depending on browser
		
		if (navigator.appName=="Microsoft Internet Explorer"){
			_name=projects[i].childNodes[0].text;
			_userCompany=projects[i].childNodes[1].text;
		}else{
			_name=projects[i].childNodes[0].textContent;
			_userCompany=projects[i].childNodes[1].textContent;
		}
	}
	var _categoryId = projects[0].getAttribute('categoryId');
	_projectId = projects[0].getAttribute('id');
	
	//obtian the information for the main project
	var _userId = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userId'); 
	var _userEmail = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userEmail');
	var _userFirstname = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userFirstname');
	var _userLastname = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userLastname');
	
	//obtain product information for project
	var products = xmlDoc.getElementsByTagName("product");
	var _productStr='';
	for (var i = 0; i <= products.length-1; i++) { //not zero based
		var _productId = products[i].getAttribute('id');
		var _productQuantity = products[i].getAttribute('quantity');
		if(products[i].getAttribute('id')=='' || products[i].getAttribute('quantity')==''){ //make sure I have all product info
		}else{
			_productStr+=_productId+","+_productQuantity+"|"
		}
	}
	_productStr = "&productAmount="+(products.length-1)+"&_productStr="+_productStr
	
	//now create Connection
	var url = "builder_interface.aspx";
	var poststr = "action=update&_userId="+_userId+"&_userEmail="+_userEmail+"&_userFirstname="+_userFirstname+"&_userLastname="+_userLastname+"&_userCompany="+_userCompany+"&_categoryId="+_categoryId+"&_name="+_name+_productStr+"&_userProject="+_projectId;
	//alert(poststr)
	makePOSTRequest(url, poststr)

}

function createProject(XML){
	
	//alert("------ Create Project ------");
	//XML = sampleData;
	xmlDoc = parseDoc(XML);
	action="create";
	//parse document values
	var projects = xmlDoc.getElementsByTagName("project");
	var _name;
	var _userCompany;
		
	if (navigator.appName=="Microsoft Internet Explorer"){
		_name=projects[0].childNodes[0].text;
		_userCompany=projects[0].childNodes[1].text;
	}else{
		_name=projects[0].childNodes[0].textContent;
		_userCompany=projects[0].childNodes[1].textContent;
	}
		
	var _userId = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userId'); 
	var _userEmail = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userEmail');
	var _userFirstname = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userFirstname');
	var _userLastname = xmlDoc.getElementsByTagName("projects")[0].getAttribute('userLastname');
	var _categoryId = projects[0].getAttribute('categoryId');
	
	//now create Connection
	var url = "builder_interface.aspx";
	var poststr = "action=create&_userId="+_userId+"&_userEmail="+_userEmail+"&_userFirstname="+_userFirstname+"&_userLastname="+_userLastname+"&_userCompany="+_userCompany+"&_categoryId="+_categoryId+"&_name="+_name;
	
	makePOSTRequest(url, poststr)
	projectCreated();
	
}
function projectCreated(){
	getSWF("catalog").projectCreated("<response type=\"success\"><message/></response>");
}
function deleteProject(XML){
	action="delete";
//	XML = sampleData;
	xmlDoc = parseDoc(XML);
	var _userProject = xmlDoc.getElementsByTagName("project")[0].getAttribute('id');
	//now create Delete Connection
	var url = "builder_interface.aspx";
	var poststr = "action=delete&_userProject="+_userProject;
	makePOSTRequest(url, poststr)
	
	
}

//----------reused functions
function parseDoc(XML){
	try{ //IE
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(XML);
	}catch(e){//Firefox, Mozilla, Opera, etc.
		parser=new DOMParser();
		xmlDoc=parser.parseFromString(XML,"text/xml");
	}
	return xmlDoc
}

function makePOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) { //Firefox, Mozilla, Opera, etc.
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		// set type accordingly to anticipated content type
		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.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);
  
  // Get data from the server's response
	http_request.onreadystatechange=function(){
	if(http_request.readyState==4){
		if (action=="login"){
			getSWF("catalog").onLoginRequest(http_request.responseText);
		}else{
			//save, create, delete
			getSWF("catalog").projectUpdate("<response type=\"success\"><message/></response>");
		}
		
	  // returnedInfo = "here" + http_request.responseText;
	  }
	};
 
}
