﻿var objectArrayIndex = 0;
var myDataCart = new Array();
var cartContent = '<br />';
var itemCount;
var activePage;
var siteCd;

function AddSiteToCart(siteCode, siteid){
//alert(siteCode +"-"+siteid);
siteCd = siteCode;
   if (isSubTerm==true) {
   Stations.StationsService.GetStationCatalogConceptIDFiltered(siteid, searchWord, selectedTerm, bdate, edate, onCatalogToCartFilteredComplete); 
   //document.getElementById(siteid + "_" + map.GUID).onmouseout();
   }else{   
   Stations.StationsService.GetStationCatalogFiltered(siteid, searchWord, bdate, edate, onCatalogToCartFilteredComplete); 
   //document.getElementById(siteid + "_" + map.GUID).onmouseout();
   }
}

function onCatalogToCartFilteredComplete (catalog){
var catContent;
for(var i=0; i < catalog.length; i++) {
   itemCount = myDataCart.length;
   if (catalog[i].SourceID==3){
   catalog[i].VariableName= catalog[i].VariableName+ ' - Real-Time';
   }	
   if (catalog[i].SourceID==1){
    catalog[i].VariableName=catalog[i].VariableName + ' - Daily' ;
   }	
   if (catalog[i].SourceID==2){
    catalog[i].VariableName=catalog[i].VariableName + ' - Irregular Timeseries';
   }
   
   if (itemCount<30){
   var req = catalog[i].SourceID+'$'+catalog[i].VariableCode+ '$'+ siteCd + '$' + bdate + '$' + edate;
   AddToCart(req,siteCd,catalog[i].VariableName);
   }else{
       alert('Your data cart is full');
       break;
   }
   
   }
var isv = document.getElementById("cartContainer").style.visibility;
if (isv=='visible'){
DisplayCart();
}
}

function AddToCartNoFilter(){
var s = document.getElementById("allVar");
var v = s.options[s.selectedIndex].value;
var n = s.options[s.selectedIndex].text;
var st = document.getElementById("siteId");
var req = v + '$'+ st.value + '$' + bdate + '$' + edate;
AddToCart(req,st.value,n);
var isv = document.getElementById("cartContainer").style.visibility;
if (isv=='visible'){
DisplayCart();
}
//alert ('added to cart '+myDataCart[0].reqString+ ' '+myDataCart[0].siteCd+ ' '+myDataCart[0].varName);

// progress and show item successfully added to data cart
//document.getElementById("ProgressLoading").style.visibility="visible";
//document.getElementById("maskLoading").style.visibility="visible";

}

function AddToCartFiltered(){

var s = document.getElementById("filteredVar");
var v = s.options[s.selectedIndex].value;
var n = s.options[s.selectedIndex].text;
var st = document.getElementById("siteId");
var req = v + '$'+ st.value + '$' + bdate + '$' + edate;
AddToCart(req,st.value,n);
var isv = document.getElementById("cartContainer").style.visibility;
if (isv=='visible'){
DisplayCart();
}


}

function CartItem(requestString,siteCode,variableName) {
    this.reqString = requestString;
    this.siteCd = siteCode;
    this.varName = variableName;
}

function AddToCart(requestString,siteCode,variableName) {
if (objectArrayIndex<30){
    myDataCart[objectArrayIndex++] = new CartItem(requestString,siteCode,variableName);
    }else{
    
    alert('Your data cart is full');
    }
}


function DisplayCart(){
itemCount = myDataCart.length;
if (myDataCart.length==0){
cartContent = '<br/>Data cart is empty';
document.getElementById("cartContent").innerHTML = cartContent;
}

if (myDataCart.length<11 && myDataCart.length>0){
DisplayFirstPage();
}

if (myDataCart.length<21 && myDataCart.length>10){
DisplaySecondPage();
}

if (myDataCart.length>20){
DisplayThirdPage();
}


document.getElementById("divScroll").style.visibility="hidden";
document.getElementById("cartContainer").style.visibility="visible";


}



function DisplayFirstPage(){
var k;
var upperBoundary;
activePage = 1;
if (itemCount>10){
upperBoundary = 10;
cartContent='<div id="CartPageSwitch1"><img alt="You\'re viewing first page" src="images/1active.gif"/></div><div id="CartPageSwitch2"><a href="javascript:DisplaySecondPage()"><img alt="Flip to second page" src="images/2.gif"/></a></div><br/>';
}
if(itemCount>20){
cartContent='<div id="CartPageSwitch1"><img alt="You\'re viewing first page" src="images/1active.gif"/></div><div id="CartPageSwitch2"><a href="javascript:DisplaySecondPage()"><img alt="Flip to second page" src="images/2.gif"/></a></div><div id="CartPageSwitch3"><a href="javascript:DisplayThirdPage()"><img alt="Flip to third page" src="images/3.gif"/></a></div><br/>';
}
if(itemCount<11){
upperBoundary = itemCount;
cartContent='<br/>';
}

for(var i=0; i < upperBoundary; i++)
   {
   if (myDataCart[i].varName.length>25){
   myDataCart[i].varName=myDataCart[i].varName.substring(0,22)+'...';
   }
   if (myDataCart[i].siteCd.length>25){
   myDataCart[i].siteCd=myDataCart[i].siteCd.substring(0,22)+'...';
   }
   k = i + 1;
  cartContent = cartContent + '<b>'+k + '. </b>'+ myDataCart[i].siteCd + '<br/>'+ myDataCart[i].varName+ '&nbsp;<a href="javascript:DropElement('+i+',1)"><img src="images/remove.jpg" width="11" height="11" alt="Remove from data cart"/></a><br/><br/>';

}
document.getElementById("cartContent").innerHTML = cartContent;
}
function DisplaySecondPage(){
var k;
var upperBoundary;
activePage = 2;
if (itemCount>20){
upperBoundary = 20;
cartContent='<div id="CartPageSwitch1"><a href="javascript:DisplayFirstPage()"><img alt="Flip to first page" src="images/1.gif"/></a></div><div id="CartPageSwitch2"><img alt="You\'re viewing second page" src="images/2active.gif"/></div><div id="CartPageSwitch3"><a href="javascript:DisplayThirdPage()"><img alt="Flip to third page" src="images/3.gif"/></a></div><br/>';
}else{
cartContent='<div id="CartPageSwitch1"><a href="javascript:DisplayFirstPage()"><img alt="Flip to first page" src="images/1.gif"/></a></div><div id="CartPageSwitch2"><img alt="You\'re viewing second page" src="images/2active.gif"/></div><br/>';
upperBoundary = itemCount;
}

for(var i=10; i < upperBoundary; i++)
   {
   if (myDataCart[i].varName.length>25){
   myDataCart[i].varName=myDataCart[i].varName.substring(0,22)+'...';
   }
   if (myDataCart[i].siteCd.length>25){
   myDataCart[i].siteCd=myDataCart[i].siteCd.substring(0,22)+'...';
   }
   k = i + 1;
  cartContent = cartContent + '<b>'+k + '. </b>'+ myDataCart[i].siteCd + '<br/>'+ myDataCart[i].varName+ '&nbsp;<a href="javascript:DropElement('+i+',1)"><img src="images/remove.jpg" width="11" height="11" alt="Remove from data cart"/></a><br/><br/>';

}

document.getElementById("cartContent").innerHTML = cartContent;
}
function DisplayThirdPage(){
var k;
activePage = 3;
cartContent='<div id="CartPageSwitch1"><a href="javascript:DisplayFirstPage()"><img alt="Flip to first page" src="images/1.gif"/></a></div><div id="CartPageSwitch2"><a href="javascript:DisplaySecondPage()"><img alt="Flip to second page" src="images/2.gif"/></a></div><div id="CartPageSwitch3"><img alt="You\'re viewing third page" src="images/3active.gif"/></div><br/>';
for(var i=20; i < itemCount; i++)
   {
   if (myDataCart[i].varName.length>25){
   myDataCart[i].varName=myDataCart[i].varName.substring(0,22)+'...';
   }
   if (myDataCart[i].siteCd.length>25){
   myDataCart[i].siteCd=myDataCart[i].siteCd.substring(0,22)+'...';
   }
   k = i + 1;
  cartContent = cartContent + '<b>'+k + '. </b>'+ myDataCart[i].siteCd + '<br/>'+ myDataCart[i].varName+ '&nbsp;<a href="javascript:DropElement('+i+',1)"><img src="images/remove.jpg" width="11" height="11" alt="Remove from data cart"/></a><br/><br/>';
}
document.getElementById("cartContent").innerHTML = cartContent;
}

function HideCart(){
document.getElementById('cartContainer').style.visibility='hidden';
if (searchWord!=null){
//document.getElementById('divScroll').style.visibility='visible';
}
}

function ToggleCart(){
var visble = document.getElementById('cartContainer').style.visibility;
if(visble == 'visible'){
HideCart();
}else{
DisplayCart();
}
}

function FlushCart(){
myDataCart.splice(0,myDataCart.length);
objectArrayIndex = 0;
var isv = document.getElementById("cartContainer").style.visibility;
if (isv=='visible'){
DisplayCart();
}
}

function DropElement(ele,coun){
myDataCart.splice(ele,coun);
objectArrayIndex = objectArrayIndex-coun;
itemCount = myDataCart.length;
var isv = document.getElementById("cartContainer").style.visibility;
if (isv=='visible'){

if (itemCount==0){
DisplayCart();
}else{
if (activePage==1){
DisplayFirstPage();
}
if (activePage==2 && itemCount>10){
DisplaySecondPage();
}
if (activePage==2 && itemCount<11){
DisplayFirstPage();
}
if (activePage==3 && itemCount>20){
DisplayThirdPage();
}
if (activePage==3 && itemCount<21){
DisplaySecondPage();
}

}
}
}

function CheckOut(){

document.getElementById("maskLoading").style.visibility="visible";
document.getElementById("emailBox").style.left=mWidth*0.5-163+'px'; 
document.getElementById("emailBox").style.visibility="visible";
document.getElementById("emailCloseIcon").style.visibility="visible";
}

function SubmitDataCart(){
var concatREQstring='';
for(var i=0; i < myDataCart.length-1; i++){

  concatREQstring = concatREQstring + myDataCart[i].reqString+'^';
}
var emadress = document.getElementById("emailfield").value;
if (emadress!=null && emadress!="" && emadress!=" "){
concatREQstring = concatREQstring + myDataCart[myDataCart.length-1].reqString;
concatREQstring  = concatREQstring  + '\t'+ document.getElementById("emailfield").value;
alert(concatREQstring);
DatacartService.SubmitDataRequest(concatREQstring);
document.getElementById("maskLoading").style.visibility="hidden";
document.getElementById("emailBox").style.visibility="hidden";
document.getElementById("emailCloseIcon").style.visibility="hidden";
FlushCart();
}else{
alert('Please provide a valid e-mail address');
}
}


function CloseDownloadBox(){
document.getElementById("maskLoading").style.visibility="hidden";
document.getElementById("emailBox").style.visibility="hidden";
document.getElementById("emailCloseIcon").style.visibility="hidden";

}
