Type.registerNamespace("Insp");
Type.registerNamespace("Insp.UI");

Insp.UI.MailComm = function(element)
{
    Insp.UI.MailComm.initializeBase(this,[element]);
    this._urlFacebook="";
    this._urlHotmail="";
    this._urlMail = "";
    this._moduleClientID="";
}

Insp.UI.MailComm.prototype = {
    get_urlFacebook: function(){return this._urlFacebook;},
    set_urlFacebook: function(value){this._urlFacebook = value;this.raisePropertyChanged('urlFacebook');},
    
    get_urlHotmail: function(){return this._urlHotmail;},
    set_urlHotmail: function(value){this._urlHotmail = value;this.raisePropertyChanged('urlHotmail');},
    
    get_urlMail: function(){return this._urlMail;},
    set_urlMail: function(value){this._urlMail = value;this.raisePropertyChanged('urlMail');},
        
    get_moduleClientID: function(){return this._moduleClientID;},
    set_moduleClientID: function(value){this._moduleClientID = value;this.raisePropertyChanged('moduleClientID');},

    dispose: function()
    {
		Insp.UI.MailComm.callBaseMethod(this,'dispose');
    },
    initialize: function()
    {
        Insp.UI.MailComm.callBaseMethod(this,'initialize');
		this.addCssClass("ptModMailComm");
    },
    updated: function()
    {
        this._createComponents();
        Insp.UI.MailComm.callBaseMethod(this,'updated');
    },
    _createComponents: function()
    {
        this.get_element().innerHTML = '<DIV class="tabbutton"><DIV class="tabbutton_on" style="color:#666666; !important" id="tabtelus0"><DIV class="tabbutton_left"></DIV><SPAN>'+                                       '<A onclick="this.blur();ShowTab(0,\''+this.get_urlMail()+'\',\''+this.get_moduleClientID()+'\'); return false;" href="">TELUS</A></SPAN>'+                                       '<DIV class="tabbutton_right"></DIV></DIV>'+
                                       '<DIV class="tabbutton_off" style="color:#49166D; !important" id="tabtelus1"><DIV class="tabbutton_left"></DIV><SPAN>'+                                       '<A onclick="this.blur();ShowTab(1,\''+this.get_urlHotmail()+'\',\''+this.get_moduleClientID()+'\'); return false;" href="">Hotmail</A></SPAN>'+                                       '<DIV class="tabbutton_right"></DIV></DIV>'+
                                       '<DIV class="tabbutton_off" style="color:#49166D; !important" id="tabtelus2"><DIV class="tabbutton_left"></DIV><SPAN>'+                                       '<A onclick="this.blur();ShowTab(2,\''+this.get_urlFacebook()+'\',\''+this.get_moduleClientID()+'\'); return false;" href="">Facebook</A></SPAN>'+                                       '<DIV class="tabbutton_right"></DIV></DIV>'+
                                       '</DIV><DIV id="icontent"></DIV>';
                                       
        $create(Insp.UI.MailCommContent,{url:this.get_urlMail(),tabID:'0'},null,null,$get('icontent',$get(this.get_moduleClientID())));
    }
    
}
Insp.UI.MailComm.registerClass('Insp.UI.MailComm',Insp.UI.ModuleContentCtl);

Insp.UI.MailCommContent = function(element)
{
    Insp.UI.MailCommContent.initializeBase(this,[element]);
    this._tabName="";
    this._urlHotmail="";
    this._urlFacebook="";
    this._urlHotmail="";
    this._SmsHtm = "";
    
    this._CallbackDelegate = null;
    this._mailDelegate = null;
}

Insp.UI.MailCommContent.prototype = {
    get_tabID: function(){return this._tabID;},
    set_tabID: function(value){this._tabID = value;this.raisePropertyChanged('tabID');},
    
    get_url: function(){return this._url;},
    set_url: function(value){this._url = value;this.raisePropertyChanged('url');},
    
    dispose: function()
    {
        if (this._CallbackDelegate)delete this._CallbackDelegate;
        if (this._mailDelegate)delete this._mailDelegate;
        
		Insp.UI.MailCommContent.callBaseMethod(this,'dispose');
    },
    initialize: function()
    {
        Insp.UI.MailCommContent.callBaseMethod(this,'initialize');
	
    	if (this._CallbackDelegate === null) {
            this._CallbackDelegate = Function.createDelegate(this, this._CallbackHandler);
        }
        if (this._mailDelegate === null) {
            this._mailDelegate = Function.createDelegate(this, this._mailHandler);
        }
    },
    updated: function()
    {
        //*******Keeping Webmail Code just incase we get future reqt for iframe******
        this.addCssClass("moduleloading");
        if(this.get_tabID() == "0")
        {
            //Portal.WidgetSvc.a(this.get_url(),this._mailDelegate);
            this.get_element().innerHTML = "";
            this._SmsHtm = "<iframe width='287px' style='margin-left:-5px' scrolling='no' height='330px' src=" + "'" +webMailUrl+"'"+ " frameborder='0'>";
            var mDiv = document.createElement('div');
	        mDiv.id = "mailDiv";
	        this.get_element().appendChild(mDiv);
	        mDiv.style.display = 'block';
	        mDiv.className = 'ptTelusLinks';
            mDiv.innerHTML = "<span id='lnkMail' style='cursor:pointer' class='selectLink' onclick=\"ChangeTelusWebMailUrl(this,'S',webMailUrl)\">"+webMailText+"</span>|" + 
                             "<span id='lnkSMS' style='cursor:pointer' class='unSelectLink' onclick=\"ChangeTelusUrl(this,'S')\" >SMS</span>|" +
//                             "<a id='lnkMail' target='_blank' class='unSelectLink' href='"+ webMailUrl +"'>"+webMailText+"</a>|"
	                         "<a id='lnkPhotos' class='unSelectLink' href='"+ photosUrl +"'>Photos</a>"
	                         +"<hr size='1' width='280px'/><div id='custContent'>"+this._SmsHtm+"</div>";
	                         
	                         //code change for new request
        }
        else
        {
            Portal.WidgetSvc.a(this.get_url(),this._CallbackDelegate);
            this.get_element().innerHTML = "";
            this.addCssClass("moduleloading");
        }
        Insp.UI.MailCommContent.callBaseMethod(this,'updated');
    },
    _mailHandler: function(res)
    {
        if(res != null)
        {
            this.removeCssClass("moduleloading");
            //this.get_element().innerHTML = "";
            this._mailHtm = res;
            var mDiv = document.createElement('div');
	        mDiv.id = "mailDiv";
	        this.get_element().appendChild(mDiv);
	        mDiv.style.display = 'block';
	        mDiv.className = 'ptTelusLinks';
            mDiv.innerHTML = "<span id='lnkMail' style='cursor:pointer' class='selectLink' onclick=\"ChangeTelusWebMailUrl(this,'S',webMailUrl)\">"+webMailText+"</span>|" + 
                             "<span id='lnkSMS' class='unSelectLink' onclick=\"ChangeTelusUrl(this,'S')\" >SMS</span>|" +
//                             "<a id='lnkMail' class='selectLink' href='"+ webMailUrl +"'>Webmail</a>|" +
	                         "<a id='lnkPhotos' class='unSelectLink' href='#'>Photos</a>"
	                         +"<div id='custContent'>"+res+"</div>";
	    }
    },
    _CallbackHandler: function(results)
    {
        this.removeCssClass("moduleloading");
		this.get_element().innerHTML = results;
    }
   }

Insp.UI.MailCommContent.registerClass('Insp.UI.MailCommContent',Sys.UI.Control);

if (typeof(Sys) !== 'undefined') Sys.Application.notifyScriptLoaded();

function ShowTab(tabId,Url,moduleID)
{
    for(ik=0;ik<3;ik++)
      $get('tabtelus'+ik).className = 'tabbutton_off';
      
    $get('tabtelus'+tabId).className ='tabbutton_on';
    $create(Insp.UI.MailCommContent,{url:Url,tabID:tabId},null,null,$get('icontent',moduleID));
}
function ChangeTelusUrl(obj,type)
{
    var topObj = GetModuleTop(obj);
    var linkMail = GetObjectInModule(topObj,'span','lnkMail');
    var linkSMS = GetObjectInModule(topObj,'span','lnkSMS');
    var linkPhotos = GetObjectInModule(topObj,'a','lnkPhotos');
    var mContent = GetObjectInModule(topObj,'div','custContent');
    switch(type)
    {
        case 'M':
                 linkMail.className='selectLink';
                 linkSMS.className='unSelectLink';
                 linkPhotos.className='unSelectLink';
                 mContent.innerHTML = this._mailHtm;
                 break;    
        case 'S':
                 linkMail.className='unSelectLink';
                 linkSMS.className='selectLink';
                 linkPhotos.className='unSelectLink';
                 mContent.innerHTML = "";
                 mContent.innerHTML = "<iframe width='287px' style='padding-left: 3px' scrolling='no' height='425px' src='SMS.aspx' frameborder='0'>";
                 break;    
                 
    }
}

function ChangeTelusWebMailUrl(obj,type, url)
{
  
    var topObj = GetModuleTop(obj);
    var linkMail = GetObjectInModule(topObj,'span','lnkMail');
    var linkSMS = GetObjectInModule(topObj,'span','lnkSMS');
    var linkPhotos = GetObjectInModule(topObj,'a','lnkPhotos');
    var mContent = GetObjectInModule(topObj,'div','custContent');
    switch(type)
    {
        case 'M':
                 linkMail.className='selectLink';
                 linkSMS.className='unSelectLink';
                 linkPhotos.className='unSelectLink';
                 mContent.innerHTML = this._mailHtm;
                 break;    
        case 'S':
                 linkMail.className='selectLink';
                 linkSMS.className='unSelectLink';
                 linkPhotos.className='unSelectLink';
                 mContent.innerHTML = "";
                 mContent.innerHTML = "<iframe width='287px' style='margin-left:-5px' scrolling='no' height='330px' src=" + "'" +url+ "'" + " frameborder='0'>";
                 break;    
                 
    }
}