﻿//====================================
if (!window.GJHdigital_Silverlight)
	GJHdigital_Silverlight = {};

GJHdigital_Silverlight.Page = function() 
{
}

GJHdigital_Silverlight.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		this.logoAni        = control.content.findName("logoAni");
		this.Page           = control.content.findName("Page");
		this.headerBkgd     = control.content.findName("headerBkgd");
		this.btnMail           = control.content.findName("mail");
		this.btnNext           = control.content.findName("btnNext");
		this.btnPrev           = control.content.findName("btnPrev");
		this.txtLink           = control.content.findName("txtLink");
		this.btnCart           = control.content.findName("btnCart");
		this.img                = control.content.findName("img");
		this.btnSoftware          = control.content.findName("software");
		this.ItemCanvas          = control.content.findName("ItemCanvas");
		this.txtLoading         = control.content.findName("txtLoading");
		this.ItemCanvasVis = true;
		this.Price;
		this.Link = "";
		this.logoAni.Begin();
		host = rootElement;
		this.Row = 0;
		this.rows = 0;
		this.Items = "";
		this.page = "data.aspx";
		this.txtLoading = "LOADING...";
		this.txtLoading.visibility = "visible";
		this.ItemCanvas.visibility = "collapsed"; 
		this.GetData();
		resize();
		this.Form();
		// Sample event hookup:	
		this.btnMail.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.btnMailhandleMouseDown));
		this.btnNext.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.btnNextDown));
		this.btnPrev.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.btnPrevDown));
		this.txtLink.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.txtLinkDown));
		this.btnCart.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.btnCartDown));
		this.btnSoftware.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.btnSoftwareDown));
	},
	btnSoftwareDown: function(sender, eventArgs) 
	{
	    if(this.ItemCanvasVis == true)
	    {
		    this.ItemCanvas.visibility = "collapsed";
		    this.ItemCanvasVis = false;
		    sender.findName("MoveItemCnvs").Stop();
		}
		else{
		    this.ItemCanvas.visibility = "visible";
		    this.ItemCanvasVis = true;
		    sender.findName("MoveItemCnvs").Begin();
		}
	},
	btnCartDown: function(sender, eventArgs) 
	{
		this.AddToCartpp(sender, eventArgs);
	},
	txtLinkDown: function(sender, eventArgs) 
	{
		window.open(this.Link, 'popup');
	},
	btnNextDown: function(sender, eventArgs) 
	{
	    if(this.Row >= (this.rows - 1))
        {
            this.btnNext.visibility = "collapsed";
            return;
        }
        this.btnNext.visibility = "visible";
        this.btnPrev.visibility = "visible";
		this.Row += 1;
		this.GetDataCompleted(sender);
	},
	btnPrevDown: function(sender, eventArgs) 
	{
	    if(this.Row < 1)
        {
            this.Row = 0;
            this.btnPrev.visibility = "collapsed";
            return;
        }
        this.btnNext.visibility = "visible";
        this.btnPrev.visibility = "visible";
		this.Row -= 1;
		this.GetDataCompleted(sender);
	},
	btnMailhandleMouseDown: function(sender, eventArgs) 
	{
		window.location="mailto:greg@gjhdigital.com";
	},
	GetData: function(sender, eventArgs)
	{
	    var downloader = this.control.createObject("downloader");
	    downloader.addEventListener("completed", Silverlight.createDelegate(this, this.Completed));	    
	    var url = this.page + "?id=0&q=SelectAll&Unique="+Math.random();
	    downloader.open("GET", url);
	    downloader.send();	    
	},
	Completed: function(sender, eventArgs)
	{
	    this.Items = eval( "(" + sender.getResponseText("") + ")" );
	    //document.getElementById('gjh').innerHTML = sender.getResponseText("");
	    
	    this.GetDataCompleted(sender);
	},
	GetDataCompleted: function(sender)
	{
	    this.txtLoading.visibility = "collapsed";
	    this.rows = this.Items.row.length; // - 1;
	    
	    //alert("# of rows:"+ this.rows + "\n this row:"+ this.Row);
	    
	    var x = "";
        var r = this.Row; // the row number. 

        try
        {
            // assign JSON response to silverlight textblocks
            sender.findName("txtTitle").Text = "Item: " + this.Items.row[r].title;
            sender.findName("txtType").Text = "For: " + this.Items.row[r].type;
	        sender.findName("txtPrice").Text = "Price: " + this.Items.row[r].price;
	        this.Price = this.Items.row[r].price;
	        sender.findName("txtDesc").Text = "Desc: " + this.Items.row[r].desc;
	        sender.findName("txtFile").Text = "Desc: " + this.Items.row[r].file;
	        sender.findName("MoveItemCnvs").Begin();
	        this.ItemCanvas.visibility = "visible"; 
	        
	        try{
	           this.img.Source = this.Items.row[r].image; 
	        }
	        catch(err)
	        {
	        }
	        
	        this.Link = this.Items.row[r].link;
	        if(this.Items.row[r].price == "free")
	        {
	            this.txtLink["Text"] = "Download";
	            this.btnCart.visibility = "collapsed";
	        }
	        else
	        {
	            this.txtLink["Text"] = "View Demo";
	            this.btnCart.visibility = "visible";
	        }
	    }
	    catch(er)
	    {
	       // alert(er.Message);
	    }
	},
	Form: function(sender, eventArgs) 
	{
	    var frm = "";
	    frm += "<form id='GJHSLAddToCart'>";
		frm += "<input type='hidden' value='_cart' name='cmd'>";
		frm += "<input type='hidden' value='1' name='add'>";
		frm += "<input type='hidden' value='GJHDigital' name='bn'>";
	    frm += "<input type='hidden' id='busEmail' value='' name='business'>";
	    frm += "<input type='hidden' id='qty' value='1' name='quantity'>";
	    frm += "<input type='hidden' id='item_name' value='' name='item_name'>";
	    frm += "<input type='hidden' id='item_number' value='' name='item_number'>";
	    frm += "<input type='hidden' id='amount' value='' name='amount'>";
	    frm += "<input type='hidden' id='currency_code' value='USD' name='currency_code'>";
	    frm += "<input type='hidden' id='return' value='' name='return' >";
	    frm += "<input type='hidden' id='cancel' value='' name='cancel_return'>";
	    frm += "<input type='hidden' id='on0' value='Optional 1' name='on0'>";
	    frm += "<input type='hidden' id='os0' value='' name='os0'>";
	    frm += "<input type='hidden' id='on1' value='Optional 2' name='on1'>";
	    frm += "<input type='hidden' id='os1' value='' name='os1'>";
	    frm += "<input type='hidden' id='no_shipping' value='0' name='no_shipping'>";
	    frm += "<input type='hidden' id='shipping' value='' name='shipping'>";
	    frm += "<input type='hidden' id='no_note' value='1' name='no_note'>";
	    frm += "<input type='hidden' id='cn' value='' name='cn'>";
		frm += "</form>";
		document.getElementById("frm").innerHTML = frm;
	},
	AddToCartpp: function(sender, eventArgs) 
	{
	    var x = document.getElementById("GJHSLAddToCart")
	    x.action = "https://www.paypal.com/cgi-bin/webscr"
	    x.method = "Post"
	    x.target = "paypal"
	    document.getElementById("busEmail").value       = "gjhdigital@hotmail.com";
	    document.getElementById("amount").value         = this.Price;//"0.01";
	    document.getElementById("item_name").value      = sender.findName("txtTitle")["Text"];
	    document.getElementById("item_number").value    = sender.findName("txtFile")["Text"];
	    document.getElementById("return").value         = "http://www.gjhdigital.com/thanks.html";
	    document.getElementById("cancel").value         = "http://www.gjhdigital.com/Cancel.html";
    	
	    x.submit()
	}
}
