var LOGON                       = 1;
var LOGOUT                      = 2;
var VALID_USER                  = 3;
var GET_ROLEID                  = 4;
var GET_REPORTSURL              = 5;
var LOAD_DATAGRID               = 6;
var LOAD_OBJECT                 = 7;
var LOAD_DROPDOWN               = 8;
var SAVE_OBJECT                 = 9;
var DELETE_OBJECT               = 10;


var LEADERBOARD_OBJECT = 10;
var LEADERBOARD_DETAIL_OBJECT = 11;
var ROUNDS_OBJECT = 16;
var COURSES_OBJECT = 23;
var EVENTS_OBJECT = 30;

var YES_NO_OBJECT = 240;
var EVENT_DROPDOWN_OBJECT = 241;
var COURSE_DROPDOWN_OBJECT = 242;
var PLAYER_DROPDOWN_OBJECT = 243;

var CARRIER_OBJECT              = 52;
var SUPPLIER_OBJECT             = 53;
var SUPPLIER_ALLOC_OBJECT       = 153;
var CUSTOMER_OBJECT             = 54;
var CUSTOMER_ALLOC_OBJECT       = 154;
var ACCOUNT_OBJECT              = 55;
var ACCOUNT_ALLOC_OBJECT        = 155;
var PRODUCT_OBJECT              = 56;

var BOL_OBJECT                  = 60;
var BOL_DETAIL_OBJECT           = 61;

var STOCK_OBJECT                = 62;
 
var SUPPLIER_DROPDOWN_OBJECT    = 101;

var TERMINAL_DROPDOWN_OBJECT    = 102;

var USER_OBJECT                 = 250;
var USER_AUTH_SUPPLIER_OBJECT   = 251;
var TERMINAL_OBJECT             = 252;



var reportsURL = "";



function Is() 
{
	agent = navigator.userAgent.toLowerCase();
	this.major = parseInt(navigator.appVersion);
	this.minor = parseFloat(navigator.appVersion);
	this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)));
	this.ns4 = (this.ns && (this.major == 4));
	this.ns6 = (this.ns && (this.major >= 5));
	this.ie = (agent.indexOf("msie") != -1);
	this.ie3 = (this.ie && (this.major < 4));
	this.ie4 = (this.ie && (this.major == 4) && (agent.indexOf("msie 5.0") == -1));
	this.ie5 = (this.ie && (this.major == 4) && (agent.indexOf("msie 5.0") != -1));
	this.ie55 = (this.ie && (this.major == 4) && (agent.indexOf("msie 5.5") != -1));
	this.ie6 = (this.ie && (agent.indexOf("msie 6.0")!=-1) );
}

//Query string parsing.  Used to figure out where the request is coming from

function PageQuery(q) 
{
    if (q.length > 1) 
    {
        this.q = q.substring(1, q.length);
    }
    else 
        this.q = null;
    
    this.keyValuePairs = new Array();
    
    if (q) 
    {
        for(var i=0; i < this.q.split("&").length; i++) 
        {
           this.keyValuePairs[i] = this.q.split("&")[i];
        }
    }
     
    this.getKeyValuePairs = function() 
    { 
       return this.keyValuePairs; 
    }
     
    this.getValue = function(s) 
    {
        for(var j=0; j < this.keyValuePairs.length; j++) 
        {
            if (this.keyValuePairs[j].split("=")[0] == s) 
            {
                return this.keyValuePairs[j].split("=")[1];
            }
        }
        return false;
    }
      
    this.getParameters = function() 
    {
        var a = new Array(this.getLength());
        for(var j=0; j < this.keyValuePairs.length; j++) 
        {
            a[j] = this.keyValuePairs[j].split("=")[0];
        }
        return a;
    }
      
    this.getLength = function() 
    { 
        return this.keyValuePairs.length;         
    }
}

function queryString(key)
{
     var page = new PageQuery(window.location.search);
     return unescape(page.getValue(key));
}

function displayItem(key)
{
     return(queryString(key)); 
}

function newWindow(url, windowName) 
{
	var left = window.screenLeft - 75;
	var top = window.screenTop - 175;
	try 
	{
	    window.open(url, windowName, "left="+left+", top="+top+", status=yes, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, height=400, width=825").focus();		
	}
	catch(error) 
	{
	    alert(error.description);
	}
}

function mouseover(div) {div.style.backgroundColor = "#edf1d5"; div.style.cursor="pointer";}
function mouseout(div) {div.style.backgroundColor ="";}



/*
function validateUser() 
{
    ajaxLogin = getRequestObject();//new ActiveXObject("Microsoft.XMLHTTP");
    var address = "Webservices.asmx/SessionValid";
    
    sendRequestPostNoFunction(address, null, ajaxLogin);
   
	if (ajaxLogin.readyState == 4) {   
		if (ajaxLogin.status == 200) { //Successful Request
  			//alert(ajaxLogin.responseText);
  			var xmlDoc = getXmlDoc(ajaxLogin.responseText);
  			
			var error = xmlDoc.getElementsByTagName("error")[0];
			if(error != null) {
				return(false);
			}else {
				if(xmlDoc.getElementsByTagName("valid")[0].childNodes[0].nodeValue > 0) {
					return(true);
				}else {return(false);}
			}
		} else {
			alert("Error AJAX Call to validate user failed.  Could not contact web service: "+ajaxLogin.responseText+":"+ajaxLogin.status);
			return(false);
		}
	}
}

*/











/*

function GetRoleId(source) {
    ajaxLogin = getRequestObject();
    var address = "Webservices.asmx/GetRoleId";
    sendRequestPostNoFunction(address, null, ajaxLogin);
    ajaxLogin.onreadystatechange = function() {
        if (ajaxLogin.readyState == 4) {
            if (ajaxLogin.status == 200) { //Successful Request
                //alert(ajaxLogin.responseText);
                var xmlDoc = getXmlDoc(ajaxLogin.responseText);
                var error = xmlDoc.getElementsByTagName("error")[0];
                if (error != null) {
                    return (false);
                } else {
                    var x = xmlDoc.getElementsByTagName("roleid")[1].childNodes[0].nodeValue;
                    if (x == 3) {
                        if (source == "datagrid") {
                            document.getElementById("new").onclick = function() { }
                            document.getElementById("new").onmouseover = function() { }
                            document.getElementById("new").childNodes[0].nodeValue = "";
                            document.getElementById("delete").onclick = function() { }
                            document.getElementById("delete").onmouseover = function() { }
                            document.getElementById("delete").childNodes[0].nodeValue = "";
                        } else if (source == "object") {
                            var parent = document.getElementById("save").parentNode;
                            for (var y = 0; y < parent.childNodes.length; y++) {
                                var child = parent.childNodes[y];
                                child.onclick = function() { }
                                child.onmouseover = function() { }
                                child.title = "";
                                while (child.childNodes.length > 0) {
                                    child.removeChild(child.childNodes[0]);
                                }
                            }
                        }
                    }
                    if (x == 1) {
                        if (source == "home") {
                        
                            var element = document.getElementById("adminHeader");
                            element.style.display = "block";
                            
//                            if (document.all)  // FireFox returns type as nodes
 //                           {
  //                              element.nextSibling.style.display = "block";
   //                         }
    //                        else 
     //                       {
      //                          element.nextSibling.nextSibling.style.display = "block";
       //                     }

                            //   				        element.nextSibling.style.cssText = "display:block";
                        }
                    }
                }
            } else {
                alert("Error AJAX Call to Retreive RoleId failed.  Could not contact web service: " + ajaxLogin.responseText + ":" + ajaxLogin.status);
                return (-1);
            }
        }
    }
}



*/









/*
var AUTOTASK_ACCOUNT_OBJECT = 1;
var ITW_ACCOUNT_OBJECT = 2;
var TICKET_OBJECT = 3;
var TICKET_AUTOTASK_OBJECT = 3.1;
var TICKET_IELEMENT_OBJECT = 3.2;
var TICKET_ACCOUNT_OBJECT = 3.7;
var LANDING_PAGE = 4;
var TICKET_DETAIL_OBJECT = 5;
var ADDRESS_OBJECT = 6;
var ACCOUNT_OBJECT = 7;
var ACCOUNT_CHILDREN = 8;



var CLIENT_OBJECT = 10;


var DEAL_STATUS_OBJECT = 211;
var DEAL_NOBLE_STATUS_OBJECT = 12;
var PUBLIC_PRIVATE_OBJECT = 14;
var FORECAST_OBJECT = 15;
var SELLER_OBJECT = 16;
var SILO_STATUS_OBJECT = 17;
var SELLER_STATUS_OBJECT = 18;
var TYPE_OF_INTEREST_OBJECT = 19;
var OFFICES_OBJECT = 20;
var DEAL_SOURCE_OBJECT = 21;
var DEAL_SIZE_OBJECT = 22;
var BDD_ACTIVITY_OBJECT = 23;
var YES_NO_OBJECT = 24;
var TYPE_OF_REP_OBJECT = 25;
var TYPE_OF_PROPERTY_OBJECT = 26;
var RI_ORRI_OBJECT = 27;
var JOB_STATUS_OBJECT = 28;

var USER_AUTH_SUPPLIER_OBJECT = 29;
var SUPPLIER_OBJECT = 100;

var BROKER_OBJECT_DAD = 101;
var NOBLE_CONTACT_OBJECT_ENG = 102;
var NOBLE_CONTACT_OBJECT_ADM = 103;

var PARENT_ID;


function newWindow(url, windowName) {
	var left = window.screenLeft - 75;
	var top = window.screenTop - 175;
	try {
	    window.open(url, windowName, "left="+left+", top="+top+", status=yes, toolbar=no, menubar=no, scrollbars=yes, resizable=yes, height=400, width=680").focus();		
	}catch(error) {alert(error.description);}
}

function round(num) {
    var dec = 2;
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}
function ClearForm() {

    var inputs      = document.getElementsByTagName("input");
    var selects     = document.getElementsByTagName("select");
    var textareas   = document.getElementsByTagName("textarea");
    
    for(var x = 0; x<inputs.length; x++) {
        var input = inputs[x];
        if(input.type != "button") {
            input.value = "";
        }
    }
    for(var x = 0; x<selects.length; x++) {
        var select = selects[x];
        select.selectedIndex = -1;
    }
    
    for(var x = 0; x<textareas.length; x++) {
        var textarea = textareas[x];
        textarea.value = "";
    }
}
var ajaxLogin;


function deleteObject(tr) {
    if(confirm("Please confirm delete request")) {
        //Find guid - list.js
        customerID = getSelectedRows();
        request = getRequestObject();
	    var address = "WebService.asmx/DeleteCustomer";
        var data = "customerID="+customerID;
        sendRequestWithData(address, data, deleteResponse, request);    
   	}
}
function deleteResponse() {
    if(request.readyState == 4) {
		if(request.status == 200) {
			// ajax.js
		    var xmlDoc = getXmlDoc(request.responseText);
			var error = xmlDoc.getElementsByTagName("error")[0];
			if(error != null) {
			    alert("executeQuery AJAX call failed 3: "+error.text);
			}else {
			    loadDataGrid();
			    alert(xmlDoc.getElementsByTagName("success")[0].text);
			}
		}else {alert("Error AJAX Call to Delete Customer failed.  Could not contact web service: "+request.status);}
	}	
}



function loadColumns(dropdown, objectTypeCode) {
    var dropdownAJAX = getRequestObject();
    var address = "GetColumns";
    var data = "objectTypeCode="+objectTypeCode;
    sendRequestPostNoFunction(address, data, dropdownAJAX);
    //clean out dropdown
    while(dropdown.options.length > 0) {
        dropdown.options[0] = null;
    } 
    
    dropdownAJAX.onreadystatechange = function () {
	    if (dropdownAJAX.readyState == 4) {   
			if (dropdownAJAX.status == 200) { //Successful Request
				var xmlDoc = getXmlDoc(dropdownAJAX.responseText);
	            var error = xmlDoc.getElementsByTagName("error")[0];
	            if(error != null) {
	                 alert("Get Columns AJAX call failed: "+error.text);
	            }else {
	            	dropdown.options[dropdown.options.length] = new Option("", -1);
	                var options = xmlDoc.getElementsByTagName("row");
	                for(var x = 0; x<options.length; x++) {
	                    var option  = options[x];
	                    var value   = option.getElementsByTagName("value")[0].text;
	                    var text    = option.getElementsByTagName("text")[0].text;
	                    dropdown.options[dropdown.options.length] = new Option(text, value);
	                }
	            }
			} else {alert("Error AJAX Call to GetColumns failed.  Could not contact web service: "+dropdownAJAX.status);}
		}
	}
}

function overDiv(div) {div.style.backgroundColor = "#edf1d5"; div.style.cursor="pointer";}
function outDiv(div) {div.style.backgroundColor ="";}


function validateForm() {
	
	var inputs = document.getElementsByTagName("input");
	for(var x = 0; x<inputs.length; x++) {
		var input = inputs[x];
		if(input.req == 2 && (input.value == ""  ) ) {//Field is required
			alert("You must provide a value for "+input.parentNode.previousSibling.innerText);
			input.focus();
			return(false);
		}
	}
}

function openRegardingLookup(textId, objectId, parentObjectTypeCode) {
	var url = "";
	//alert(parentObjectTypeCode);
	var left = window.screenLeft;
	var top = window.screenTop;
	if(parentObjectTypeCode != "false" && parentObjectTypeCode != -1 ) {
		url = "regardingLookup.htm?textId="+textId+"&objectId="+objectId+"&parentObjectTypeCode="+parentObjectTypeCode;
	} else {
		url = "regardingLookup.htm?textId="+textId+"&objectId="+objectId;
	}
	window.open(url, "regardingLookup", "left="+left+", top="+top+", status=yes, toobar=no, menubar=no, scrollbars=yes, resizable=yes, height=250, width=350").focus();
}

// NAVIGATION 
function navigation(location, parentObjectTypeCode, objectTypeCode, parentId) {
			
            //Hide all tables that are siblings to the content table
            var contentTable = document.getElementById("content");
			var table = contentTable;
			while( table != null ) {
				table.style.display = "none";
				table = table.nextSibling;
			}            
			//Display node
			var navTo = location.id.substring(0, location.id.length-3);
			table = document.getElementById(navTo);
			if(table == null) {
				//Create table
				
				var tr = document.createElement("tr");
				tr.height = "100%"
				tr.id = navTo;
				var td = document.createElement("td");
				td.valign = "top";
				tr.appendChild(td);
				var iFrame = document.createElement("iframe");
				
				iFrame.frameborder = "0";
				iFrame.width = "100%";
				iFrame.height = "100%";
				iFrame.scrolling = "no";
				td.appendChild(iFrame);
				if(navTo.toUpperCase() == "TICKETDETAILS") {
				    iFrame.src = "datagrid.htm?parentId="+parentId+"&objectTypeCode="+objectTypeCode;
				}
				
				var parent = contentTable.parentNode;
				parent.appendChild(tr);
				
			}
			document.getElementById(navTo).style.display = "block";
		}
		
		//OBJECTTYPECODE IS WHAT WE'RE INTERESTED IN LOOKING UP
		function addToList(objectTypeCode, parentObjectTypeCode, objectId) {
			var list = objectId;
			if(!parentObjectTypeCode) {
				parentObjectTypeCode = LIST_OBJECT;
			}
			if(!objectId) {
				list = getSelectedRows();
			}
			var url = "addChildren.htm?objectTypeCode="+objectTypeCode+"&parentObjectTypeCode="+parentObjectTypeCode+"&objectIds="+list;
			
			newWindow(url, 'addChildren');
		}
		
function loadTime(name, layer, textField, objectId) {
	var div = document.getElementById(layer);
    var dropdownAJAX = getRequestObject();
    var address = "Dropdown";
    var data = "name="+name+"&objectId="+objectId;
    //sendRequestPost(address, data, dropdownAJAX); 
    sendRequestPostNoFunction(address, data, dropdownAJAX);
    
    dropdownAJAX.onreadystatechange = function () {
	    if (dropdownAJAX.readyState == 4) {   
			if (dropdownAJAX.status == 200) { //Successful Request
				//alert(dropdownAJAX.responseText);
				var xmlDoc      = getXmlDoc(dropdownAJAX.responseText);
	            var error = xmlDoc.getElementsByTagName("error")[0];
	            if(error != null) {
	                 alert("GetDropdown AJAX call failed: "+error.text);
	            }else {
	                var options = xmlDoc.getElementsByTagName("row");
	                for(var x = 0; x<options.length; x++) {
	                    var row = document.createElement("div");
				        row.style.cursor = "pointer";
                        row.appendChild(document.createTextNode(options[x].getElementsByTagName("text")[0].text));
                       row.onclick = function() {
                            this.parentNode.style.display = "none";
                            document.getElementById(textField).value = this.childNodes[0].nodeValue;
                        }
                        div.appendChild(row);
	                }
	               
	            }
			} else {alert("Error AJAX Call to GetDropdown failed.  Could not contact web service: "+dropdownAJAX.status);}
		}
	}
}

function openTimeLayer(layer) {
	document.getElementById(layer).style.display = "block";
}      
	
function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}
	
//------------------ HORIZONAL DROPDOWN-----------------------------
function show(element) {
		
	var e = element.getElementsByTagName("table")[0];
	if(e == null) {
		e = element; 
	}
	
 	e.style.display = "block";
}
function hide(element) {
		
	var e = element.getElementsByTagName("table")[0];
	if(e == null) {
		e = element; 
	}
	e.style.display = "none";
}
//---------------------END------------------------------------------
function findPos(obj) {
	var curleft = 0;
	var curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}


var n;
var p;
var p1;

function ValidatePhone(m){
p1 = m;
p=p1.value;
if(p.length==3){
	//d10=p.indexOf('(')
	pp=p;
	d4=p.indexOf('(')
	d5=p.indexOf(')')
	if(d4==-1){
		pp="("+pp;
	}
	if(d5==-1){
		pp=pp+")";
	}
	//pp="("+pp+")";
	
//	document.frmPhone.txtphone.value="";
//	document.frmPhone.txtphone.value=pp;
  m = pp;
}
if(p.length>3){
	d1=p.indexOf('(')
	d2=p.indexOf(')')
	if (d2==-1){
		l30=p.length;
		p30=p.substring(0,4);
		//alert(p30);
		p30=p30+")"
		p31=p.substring(4,l30);
		pp=p30+p31;
		//alert(p31);
//		document.frmPhone.txtphone.value="";
//		document.frmPhone.txtphone.value=pp;
		
		m = pp;
	}
	}
if(p.length>5){
	p11=p.substring(d1+1,d2);
	if(p11.length>3){
	p12=p11;
	l12=p12.length;
	l15=p.length
	//l12=l12-3
	p13=p11.substring(0,3);
	p14=p11.substring(3,l12);
	p15=p.substring(d2+1,l15);
//	document.frmPhone.txtphone.value="";
	pp="("+p13+")"+p14+p15;
//	document.frmPhone.txtphone.value=pp;

m = pp;

	//obj1.value="";
	//obj1.value=pp;
	}
	l16=p.length;
	p16=p.substring(d2+1,l16);
	l17=p16.length;
	if(l17>3&&p16.indexOf('-')==-1){
		p17=p.substring(d2+1,d2+4);
		p18=p.substring(d2+4,l16);
		p19=p.substring(0,d2+1);
		//alert(p19);
	pp=p19+p17+"-"+p18;


//	document.frmPhone.txtphone.value="";
//	document.frmPhone.txtphone.value=pp;

m = pp;
	//obj1.value="";
	//obj1.value=pp;
	}
}
//}
setTimeout(ValidatePhone,100)
}
function getIt(m){
//n=m.name;
//p1=document.forms[0].elements[n]
//p1=m
ValidatePhone(m)
}

function testphone(obj1){
p=obj1.value
//alert(p)
p=p.replace("(","")
p=p.replace(")","")
p=p.replace("-","")
p=p.replace("-","")
//alert(isNaN(p))
if (isNaN(p)==true){
alert("Check phone");
return false;
}
}


function formatCurrency(num) 
{
    num = num.toString().replace(/\$|\,/g,'');
    if (isNaN(num))
        num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
        cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function formatPhone(num) 
{
    num = num.toString();
    num = num.replace(/\(|/g,'');
    num = num.replace(/\)|/g,'');
    num = num.replace(/\.|/g,'');
    num = num.replace(/\-|/g,'');
        
    return(num.substring(0,3) + "." + num.substring(3,6) + "." + num.substring(6,10) );
}

function formatInteger(num) 
{
    num = num.toString();
    num = num.replace(/[^0-9]+/g,'');
         
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
        num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
                  
    return(num);
}

*/