var street1 = '';
var street2 = '';
var street3 = '';
var street4 = '';
var city_line = new Array();
var xmlHttpAddress = GetXmlHttpObject();

function GetXmlHttpObject()
{
	var xmlObj;

  	try
    {    // Firefox, Opera 8.0+, Safari
		xmlObj = new XMLHttpRequest();
	}
	catch (e)
	{    // Internet Explorer
		try
	    {
			xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
		}
	    catch (e)
	    {
			try
	       	{
	     		xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
			}
	    	catch (e)
	      	{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlObj;
}

function doNothing()
{
}

/*function processPhoneNumber()
{
	var elementList = document.elements;
	var phoneNumber = "";
	for(m = 0; m < 8; m++)
	{
		//look for textboxes which exist.
		if(document.getElementById("textBox" + m) != null)
		{
			//if the textbox exists, it should contain a value which matches in length the the maxLength of the current textbox. If it doesn't,
			//then we're submitting an incomplete phone number and it should be rejected. This can be accomplished by setting the phone
			//number to "" and submitting that to the next page.
			tempHTMLObject = document.getElementById("textBox" + m);
			tempHTMLMinObject = document.getElementById("minSize" + m);
			if(tempHTMLObject.value.length != tempHTMLObject.maxLength && tempHTMLObject.value.length < tempHTMLMinObject.value)
			{
				phoneNumber = "";
				break;
			}
                        
                        if(phoneNumber != "")
                        {
                                phoneNumber += ("-" + tempHTMLObject.value);
                        }
                        else
                        {
                                phoneNumber += tempHTMLObject.value;
                        }
		}
	}
	if(document.getElementById("maxCount") != null)
	{
		if(phoneNumber.length > document.getElementById("maxCount").value)
		{
			phoneNumber = "";
		}
	}
	document.getElementById("phone").value = phoneNumber;
}*/

function emptyProvinceList()
{
	document.catalogueForm.prov.options.length = 0;
}

function populateProvinceList(country)
{
    document.catalogueForm.prov.options[0] = new Option("Select One...", 0);
    var count = 1;
    for(i = 0; i < provinceArray.length; i++){
        var tempArray = provinceArray[i];
        if(tempArray[0] == country)
        {
              document.catalogueForm.prov.options[count++] = new Option(tempArray[1], tempArray[2]);
            }
    }
}

function processCountry(index, populate_dynamic_content)
{
    var country_with_province = new Array();
    var tempArray = countryArray[index];
    getAddress(tempArray[0], populate_dynamic_content);
    //xmlHttp.open('GET', 'getCountry.php?id=' + tempArray[0] + '&browser=' + BrowserDetect.browser + '&sid=' + Math.random(), true);
    //xmlHttp.onreadystatechange = stateChanged;
    //xmlHttp.send(null);
}

function getAddress(country_id, populate_dynamic_content)
{
    if(populate_dynamic_content)
    {
        xmlHttpAddress.open('GET', "DYNREC_get_address_layout.php?country_id=" + (isDefined(country_id) ? country_id : "0") + "&street1=" + (street1 != "" ? urlencode(street1) : "") + "&street2=" + (street2 != "" ? urlencode(street2) : "") + "&street3=" + (street3 != "" ? urlencode(street3) : "") + "&street4=" + (street4 != "" ? urlencode(street4) : "") + "&city_line=" + urlencode(city_line.join("~!~")), true);        
    }
    else
    {
        xmlHttpAddress.open('GET', "DYNREC_get_address_layout.php?country_id=" + (isDefined(country_id) ? country_id : "0"), true);
    }        
    xmlHttpAddress.onreadystatechange = function() { addressStateChanged(); };
    xmlHttpAddress.send(null);
}

function urlencode(str) {
    return encodeURIComponent(str.replace('+', '%2B')).replace('%20', '+').replace('*', '%2A').replace('/', '%2F').replace('@', '%40');
//return escape(str).replace('+', '%2B').replace('%20', '+').replace('*', '%2A').replace('/', '%2F').replace('@', '%40');
}

function update_preview()
{
    var query_string = "";
    var message = "";
    
    var elements = document.getElementsByName("city[]");
    var city_line = new Array();
    var use_extended_font = 0;
    for(var i = 0; i < elements.length; i++)
    {
        city_line[i] = elements[i].value;
    }    

    var submitted_text = document.getElementById("fName").value + document.getElementById("lName").value + document.getElementById("org").value + (document.getElementById("street1") != null ? urlencode(document.getElementById("street1").value) : "") + (document.getElementById("street2") != null ? urlencode(document.getElementById("street2").value) : "") + (document.getElementById("street3") != null ? urlencode(document.getElementById("street3").value) : "") + (document.getElementById("street4") != null ? urlencode(document.getElementById("street4").value) : "") + city_line.join("~!~");
    query_string = "f_name=" + urlencode(document.getElementById("fName").value) + "&l_name=" + urlencode(document.getElementById("lName").value) + "&org=" + urlencode(document.getElementById("org").value) + "&street1=" + (document.getElementById("street1") != null ? urlencode(document.getElementById("street1").value) : "") + "&street2=" + (document.getElementById("street2") != null ? urlencode(document.getElementById("street2").value) : "") + "&street3=" + (document.getElementById("street3") != null ? urlencode(document.getElementById("street3").value) : "") + "&street4=" + (document.getElementById("street4") != null ? urlencode(document.getElementById("street4").value) : "") + "&city_line=" + urlencode(city_line.join("~!~")) + "&country=" + (document.getElementById("cntry").selectedIndex != 0 ? document.getElementById("cntry").options[document.getElementById("cntry").selectedIndex].text : "") + "&fromjs=true";
    
    for(var j = 0; j < submitted_text.length; j++)
    {
        if(submitted_text.charCodeAt(j) > 382)
        {
            //alert(submitted_text.charCodeAt(j));
            use_extended_font = 1;
            break;
        }
    }
    query_string += "&use_extended_font=" + use_extended_font;
    document.getElementById("label_preview_img").src = "DYNREC_get_label_preview.php?" + query_string;
}

function addressStateChanged()
{
    if (xmlHttpAddress.readyState == 4 && xmlHttpAddress.status == 200)
    {
        var data = xmlHttpAddress.responseText;
        if(isDefined(data))
        {
            document.getElementById("address_container").innerHTML = data;
            update_preview();
        }
    }
}

function isDefined(variable)
{
    return (typeof(variable) == "undefined")?  false: true;
}

function in_array(value, list)
{
	for(var i = 0; i < list.length; i++)
	{
		if(list[i] == value)
		{
			return i;
		}
	}
return -1;
}

function keyDown(element, id)
{
	if(id == -1)
	{
		return;
	}
}

function keyUp(element, id, maxLength)
{
	if(id == -1)
	{
		return;
	}
	if(element.value.length == maxLength)
	{
		document.getElementById("textBox" + (id + 1)).focus();
	}
}
