

        function NotLoggedIn(o,s){
            //alert('You must be logged in to ' + s + '.');
            o.innerHTML = "You must login to " + s + ".  <a href='login.aspx?returnurl=clip.aspx?key=" + key + "'>Click here</a> to login.";
        }

                    
            
      function multiEmail(email_field) {
            var email = email_field.split(',');
            for (var i = 0; i < email.length; i++) {
                if (!isValidEmail(email[i])) {                 
                    return false;
                }
            }
        return true;
       }
       
        function isValidEmail(str) {

          return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
          //var emailReg = "/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i";
           // var regex = new RegExp(emailReg);
            //return regex.test(str);

        }
           
    function isValidEmail1(addr) {
        
        if (addr == '') {    
           return false;
        }
        var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
        for (i=0; i<invalidChars.length; i++) {
           if (addr.indexOf(invalidChars.charAt(i),0) > -1) {          
              return false;
           }
        }
        for (i=0; i<addr.length; i++) {
           if (addr.charCodeAt(i)>127) {          
              return false;
           }
        }

        var atPos = addr.indexOf('@',0);
        if (atPos == -1) {       
           return false;
        }
        if (atPos == 0) {
           return false;
        }
        if (addr.indexOf('@', atPos + 1) > - 1) {
           return false;
        }
        if (addr.indexOf('.', atPos) == -1) {
           return false;
        }
        if (addr.indexOf('@.',0) != -1) {
           return false;
        }
        if (addr.indexOf('.@',0) != -1){
           return false;
        }
        if (addr.indexOf('..',0) != -1) {
           return false;
        }
        var suffix = addr.substring(addr.lastIndexOf('.')+1);
        if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
           return false;
        }
        return true;
    }
    
    function FormatFileSize (size)
	{

		var s;

		if (size < 1024){
			s = size.toFixed(2) + " B";			
		}else{
		        if (size < 10240){
		        	s = (size / 1024).toFixed(2) + " KB";
		        }else{
		                if (size < 102400){
			                s = (size / 1024).toFixed(2) + " KB";
                		}else{
                		        if (size < 1048576){
			                       s = (size / 1024).toFixed(2) + " KB";
			                    }else{
			                            if (size < 10485760){
			                                s = (size / 1048576).toFixed(2) + " MB";
                                		}else{
                                		        if (size < 104857600){
			                                       s = (size / 1048576).toFixed(2) + " MB";
                                			    }else{
                                			        if (size < 1073741824){
			                                            s = (size / 1048576).toFixed(2) + " MB";
		                                            }else{
			                                            s = (size / 1073741824).toFixed(2) + " GB";
		                                            }
                                			    }		                                
                                		}		                                
			                    }                 		
		                
                		}		                
		        }		
		
		}	
			
			

		return s;
		
	}
    
    
    function onABCommComplete() {
    }
    
    function addLoadEvent(func) {
      var oldonload = window.onload;
      if (typeof window.onload != 'function') {
            window.onload = func;
      } else {
            window.onload = function() {
              if (oldonload) {
                oldonload();
              }
              func();
            }
      }
    }
    
    function getText(e){        
        
        //if (navigator.appName.toUpperCase().match(/MICROSOFT INTERNET EXPLORER/) != null){            
        if (navigator.appName == 'Microsoft Internet Explorer'){            
            return e.text;
        }else{           
            //alert(e.textContent);
            return e.textContent;
        }        
    }
    
    function setText(e,val){
        return Try.these(
           function() {e.innerText = val},
           function() {e.textContent = val}
        );
    }
    
    function getValue(e){
        if (navigator.appName.toUpperCase().match(/MICROSOFT INTERNET EXPLORER/) != null){
            return e.getAttribute('value');
        }else{
            return e.value;
        }
    }
    
    function setValue(e,value){
        if (navigator.appName.toUpperCase().match(/MICROSOFT INTERNET EXPLORER/) != null){
             e.setAttribute('value',value);
        }else{
            e.value = value;
        }
    }
    
     function addEvent(obj, evType, fn, useCapture) {
        if (obj.addEventListener) {
            obj.addEventListener(evType, fn, useCapture);
            return true;
        } else if (obj.attachEvent) {
            var r = obj.attachEvent("on" + evType, fn);
            return r;
        } 
    }
    
    function killReturn(evt) {
        var target = evt.target || evt.srcElement,
        keyCode = evt.keyCode || evt.which;
        var targtype = target.type;
        if ((keyCode != 13) ) { return true;}
        switch (targtype)
        {
            case 'submit':
                return true;
            case 'button':
                return true;
            case 'textarea':
                return true;
            case 'text':
                if (keyCode == 13) {                
                    if (evt.preventDefault) {
                        evt.preventDefault();
                        evt.stopPropagation();
                    }
                    return false;
                }
                return true;
            default:        
                if (evt.preventDefault) {
                    evt.preventDefault();
                    evt.stopPropagation();
                }
                return false;
            }
    }
 
function removeClip(){
        
    new Ajax.Request('ajaxhandler.aspx',
      {
        method:'get', parameters: {method: 'deleteclip', key: key},
        onSuccess: function(transport){                   
          if(transport.responseText=='1'){
            this.location.href="default.aspx";
          }else{                    
              if(document.all){                    
                  $('deleteErrorLabel').innerText = 'There was an error during the delete';
              }else{
                  $('deleteErrorLabel').textContent = 'There was an error during the delete';                      
              } 
          }
          
        },
        onFailure: function(){ 
            if(document.all){                    
                  $('deleteErrorLabel').innerText = 'There was an error during the delete';
              }else{
                  $('deleteErrorLabel').textContent = 'There was an error during the delete';                      
              }
        }
      });        
}

function addFav(aid,uid){
    var url = 'userservice.asmx/SetFavorite?assetid=' + aid + '&userid=' + uid + '&isFavorite=true';
    new Ajax.Request(url,
      {
        method:'get',
        onSuccess: function(transport){                   
          if(transport.responseText==''){
            favPopup.open();
          }else{                    
              if(document.all){                    
                  $('favErrorLabel').innerText = 'There was an error adding your favorite';
              }else{
                  $('favErrorLabel').textContent = 'There was an error adding your favorite';                      
              } 
          }
          
        },
        onFailure: function(){ 
            if(document.all){                    
                  $('favErrorLabel').innerText = 'There was an error adding your favorite';
              }else{
                  $('favErrorLabel').textContent = 'There was an error adding your favorite';                      
              }
        }
      });        
}

function Show(id){
    Effect.Appear(id,{ duration: 0 });    
}
function Hide(id){
    Effect.Fade(id,{ duration: 0 });    
}

function addContent(elementid,content){
    if (document.getElementById && !document.all){
        rng = document.createRange();
        el = document.getElementById(elementid);
        rng.setStartBefore(el);
        htmlFrag = rng.createContextualFragment(content);
        while (el.hasChildNodes())
        el.removeChild(el.lastChild);
        el.appendChild(htmlFrag);
    }
}

function addAddr(addrList){
    if(addrList.selectedIndex>0){
        var curval = $F('shareTo');        
        if(curval.length<1){
            setValue($('shareTo'), addrList.options[addrList.selectedIndex].value);
        }else{
            setValue($('shareTo'),curval + ',' + addrList.options[addrList.selectedIndex].value);
        }    
    }
}

var VISIBLE_POPUP;

function hideVisiblePopup ()
{
	if (!VISIBLE_POPUP) {
		return;
	}
	var anchorID = VISIBLE_POPUP[0];
	var layerID = VISIBLE_POPUP[1];
	toggleElement (anchorID, layerID);
}

function getObjXPos (obj)
{
	var curleft = 0;
	while (obj.offsetParent)
	{
		curleft += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	curleft += obj.offsetLeft;
	return curleft;
}

function getObjYPos (obj)
{
	var curtop = 0;
	while (obj.offsetParent)
	{
		curtop += obj.offsetTop;
		obj = obj.offsetParent;
	}
	curtop += obj.offsetTop;
	return curtop;
}

function toggleElement (anchorID, layerID, xOffset, yOffset)
{
	var layerObj = document.getElementById (layerID);
	var anchorObj = document.getElementById (anchorID);
	var dynaSpan = anchorObj.getElementsByTagName ('span')[0];

	if (!layerObj) { return; }

	if (layerObj.style.visibility == 'visible')
	{
		hideElement (layerID);
		anchorObj.style.backgroundPosition = "0 0";
		if (dynaSpan)
		{
			dynaSpan.style.backgroundPosition = "right 0";
		}
		VISIBLE_POPUP = undefined;
	}
	else
	{
		hideVisiblePopup ();
		if (!anchorObj) { return; }
		if (dynaSpan)
		{
			dynaSpan.style.backgroundPosition = "right -36px";
			anchorObj.style.backgroundPosition = "0 -36px";
		} else {
			anchorObj.style.backgroundPosition = "0 -40px";
		}

		var anchorX = getObjXPos (anchorObj);
		var anchorY = getObjYPos (anchorObj);
		var new_left = anchorX + xOffset;
		var new_top = anchorY + yOffset;
		if((anchorID == 'signIn' || anchorID =="AssetDetails") && browser_mac()) {
			new_left = anchorX + xOffset - 16;	
		}

		showElement (layerID, new_left, new_top);
		VISIBLE_POPUP = [anchorID, layerID];


	}
}

function browser_mac()
{
    return (navigator.appVersion.indexOf("Macintosh") != -1);
}

// Show div id at given x,y
function showElement (id, x, y)
{
	var element = document.getElementById (id);
	if (!element) { return; }

	if (x)
	{
		element.style.left = x + 'px';
	}
	if (y)
	{
		element.style.top = y + 'px';
	}

	element.style.visibility = 'visible';
	element.style.display = 'block';
}

// Hide div id
function hideElement (id)
{
	var element = document.getElementById (id);
	if (!element) { return; }
	element.style.visibility = 'hidden';
	element.style.display = 'none';
}

// Function to handle submission of various sign-in forms.
// login - username or email address
// password - user password
// errorDiv - ID for the div to be shown when there's an error
function signInSubmit( login, password, errorDiv, source )
{           
    var url = 'LoginAjax.aspx';
    //alert(url);
        new Ajax.Request(url,
              {
                method:'get', parameters: 'login='+ login + '&password=' + password,
                onSuccess: function(transport){                                   
                    var results = eval( '(' + transport.responseText + ')' );
                    var success = ( results.status == 'ok');                    
                    if ( !success )
                    {
                        var errorMessageE = document.getElementById ( errorDiv );

                        if (!errorMessageE)
                        {
                            return;
                        }

                        errorMessageE.style.display = 'block';
                    }
                    else
                    {
                            // otherwise, reload the page to show the new, signed-in, state.
                            location.reload();
                    }
                    
                },
                onFailure: function(){
                     var errorMessageE = document.getElementById ( errorDiv );

                        if (!errorMessageE)
                        {
                            return;
                        }

                        errorMessageE.style.display = 'block';
                 }
              });
}



function enterPressed( e )
{
	var characterCode;

	if (e && e.which) // NN4
	{
		characterCode = e.which;
	}
	else if (typeof(event) != 'undefined') // IE
	{
		e = event;
		characterCode = e.keyCode;
	}

	return (characterCode == 13);
}
