var xmlDoc;
var browser=navigator.appName;

if (browser!="Microsoft Internet Explorer"){
	xmlDoc=new window.XMLHttpRequest();
	xmlDoc.open("GET","/visaperks/merchants.xml",false);
	xmlDoc.send("");
	xmlDoc=xmlDoc.responseXML;
}else{
	xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.async=false;
	xmlDoc.load("/visaperks/merchants.xml");
}


var x=xmlDoc.getElementsByTagName("merchant");
var related_merchants = new Array();

for (b=1;b<x.length;b++)
{
	var name=x[b].getElementsByTagName("option")[0].childNodes[0].nodeValue;
	if(name == cur_merchant){
		var theCategory=x[b].getElementsByTagName("category")[0].childNodes[0].nodeValue;
	}
}



for (i=1;i<x.length;i++)
{ 
	var name=x[i].getElementsByTagName("option")[0].childNodes[0].nodeValue;
	var path=x[i].getElementsByTagName("option")[0].getAttribute("path");
	var expiry_date=x[i].getElementsByTagName("expires")[0].childNodes[0].nodeValue;
	var long_offer=x[i].getElementsByTagName("long_offer")[0].childNodes[0].nodeValue;
	var categoryLength=x[i].getElementsByTagName("category").length;
	var thisCategory = "false";
	
	for (j=0;j<categoryLength;j++)
	{
		var category=x[i].getElementsByTagName("category")[j].childNodes[0].nodeValue;
		
		if(category == theCategory && name != cur_merchant){
			thisCategory = "true";
		}
	}
	expiry_date = expiry_date.split("/")
	
	var the_date = new Date(expiry_date[2],expiry_date[1]-1,expiry_date[0],23,59,59);
	var current_date = new Date();
	
	if(the_date >= current_date){
		if(thisCategory == "true"){
			var related_merchantArray = new Array();
			related_merchantArray[0] = path;
			related_merchantArray[1] = name;
			related_merchantArray[2] = long_offer;
			related_merchants.push(related_merchantArray)
		}
	}
	
}

var rmLength = related_merchants.length;
if (rmLength < 3){
	var rcount = rmLength;
}else{
	var rcount = 3;
}


var rmArray = create_unique_random_array(rcount,0,rmLength);

//alert(rmArray);
var the_merch = '';

if(rmArray.length>0){
	//var pos = Number(rmArray[d]);
	//alert(pos);
	var path = related_merchants[0][0];
	var name = related_merchants[0][1];
	var long_offer = related_merchants[0][2];

	the_merch += "<div style=\"border-bottom: 1px #f0f0f0 solid; padding: 0px 0px 5px 10px; margin-bottom: 5px;\">";
	the_merch += "<span class=\"relatedoffer\">"+long_offer+"</span><br />";
	the_merch += "<span class=\"relatedoffermerch\">";
	the_merch += "&gt;</span> <a href=/visaperks/shopping/"+path+" class=\"relatedoffermerch\">"+name+"</a>";
	the_merch += "</div>";
}

if(rmArray.length>1){
	//var pos = Number(rmArray[d]);
	//alert(pos);
	var path = related_merchants[1][0];
	var name = related_merchants[1][1];
	var long_offer = related_merchants[1][2];

	the_merch += "<div style=\"border-bottom: 1px #f0f0f0 solid; padding: 0px 0px 5px 10px; margin-bottom: 5px;\">";
	the_merch += "<span class=\"relatedoffer\">"+long_offer+"</span><br />";
	the_merch += "<span class=\"relatedoffermerch\">";
	the_merch += "&gt;</span> <a href=/visaperks/shopping/"+path+" class=\"relatedoffermerch\">"+name+"</a>";
	the_merch += "</div>";
}

if(rmArray.length>2){
	//var pos = Number(rmArray[d]);
	//alert(pos);
	var path = related_merchants[2][0];
	var name = related_merchants[2][1];
	var long_offer = related_merchants[2][2];

	the_merch += "<div style=\"border-bottom: 1px #f0f0f0 solid; padding: 0px 0px 5px 10px; margin-bottom: 5px;\">";
	the_merch += "<span class=\"relatedoffer\">"+long_offer+"</span><br />";
	the_merch += "<span class=\"relatedoffermerch\">";
	the_merch += "&gt;</span> <a href=/visaperks/shopping/"+path+" class=\"relatedoffermerch\">"+name+"</a>";
	the_merch += "</div>";
}

$('#related-offers').html(the_merch);

function random_number(min,max) {
   	return (Math.round((max-min) * Math.random() + min));
}

function create_unique_random_array(num_elements,min,max) {

    var temp, nums = new Array;
	for (var element=0; element<num_elements; element++) {
 		while((temp=number_found(random_number(min,max),nums))==-1);
        nums[element] = temp;
    }

    return (nums);
}

function number_found (random_number,number_array) {

    for (var element=0; element<number_array.length; element++) {
		if (random_number==number_array[element]) {
            return (-1);
		}
   }

    return (random_number);
}
