//Validations
function validateEmail(e)
{
  var filter=/^(([a-zA-Z0-9\-\._]+)@(([a-zA-Z0-9\-_]+\.)+)([a-z]{2,3})([,;]\W?(?!$))?)+$/;
  if (filter.test(e))
  {
    return true;
  }
  else
  {
    alert("Please enter a valid email.");
    return false;
  }
}

function validateBothEmail(fe, e)
{
    
  //var filter=/^.+@.+\..{2,3}$/
  var filter=/^(([a-zA-Z0-9\-\._]+)@(([a-zA-Z0-9\-_]+\.)+)([a-z]{2,3})([,;]\W?(?!$))?)+$/;
  if (filter.test(e) && filter.test(fe))
  {
    return true;
  }
  else
  {
    alert("Please enter a valid email.");
    return false;
  }
}
 
 //Vote stuff
 function vote(ideaId)
 {     
	var url = '/lab/vote';
	var currentCount = document.getElementById("voteCountBox"+ideaId).innerHTML
	var pars = 'idea_id='+ideaId+'&current_count='+currentCount;
	var target = 'voteCountBox'+ideaId;
	var myAjax = new Ajax.Updater(target, url, {method: 'post', asynchronous:true, evalScripts:true, insertion:Insertion.Top, parameters: pars});    
 }
 
 function voteSuccess(count, voteCountBox)
 {      
    document.getElementById(voteCountBox).innerHTML = count; 		
 }
 
 function voteFailure()
 {  	
    
 } 

 //Widget configuration-----------------------------------------------------------

 var toggleArray = new Array('closed','closed','closed');
 
 function setColor(hex, colorType, widgetType)
 {
    var newHex = hex.substring(1, 7).toLowerCase();
    Element.setStyle(colorType+'ColorSwatch', {background:hex} );       
    document.getElementById(widgetType+'_'+colorType+'_color').value = newHex;    
    document.widget.SetVariable(colorType.substring(0, 1)+"C", newHex);
    document.widget.TPlay("_level0/SetColors_mc");   
 }
 
 function setColorFromField(hex, colorType, widgetType)
 { 
    var newHex = '#'+hex;
    Element.setStyle(colorType+'ColorSwatch', {background:newHex} );       
    document.getElementById(widgetType+'_'+colorType+'_color').value = hex;    
    document.widget.SetVariable(colorType.substring(0, 1)+"C", hex);
    document.widget.TPlay("_level0/SetColors_mc");   
 }
 
 function setDelay(delay)
 {     
    document.widget.SetVariable("delay", delay);     
 }
 
 function toggleColorPicker(colorType, toggleIndex)
 {    
 	if(toggleArray[toggleIndex]=='closed')
 	{ 
 	    toggleArray[toggleIndex]='open';		
    	Element.show(colorType+'ColorPicker'); 					 
 	}  
 	else
 	{
 	    toggleArray[toggleIndex]='closed';	
 		Element.hide(colorType+'ColorPicker'); 	
 	}
 }
 
 function writeFlashHome()
 {
       
    document.write('<embed src="http://goodwidgets.com/widgets/stack.swf" name="gw463" FlashVars="gW=463&bC=000000&aC=ffa0a0&v=1.2" quality="best" wmode="transparent" allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="440" height="264"></embed></div>');
    
 }
 
 function writeFlash(name, gW, bC, aC, t)
 {
    t = (t == "1") ? "wmode=transparent" : "";   
    document.write('<embed src="/widgets/'+name+'.swf" id="widget" name="widget" swLiveConnect="true" ' + t + '  FlashVars="gW='+gW+'&bC='+bC+'&aC='+aC+'&local=1&v=1.2" quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%"></embed>');
    
 }
 
 function writeFlashTry(name, bC, aC, tryId)
 {  
    document.write('<embed id="widget" name="widget" swLiveConnect="true" src="/widgets/'+name+'.swf" FlashVars="tryId='+tryId+'&local=1" quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="100%" height="100%"></embed>');
 }
 
 function writeFlashView(name, bC, aC, gW, w, h, t)
 { 
    t = (t == "1") ? "wmode=transparent" : "";      
    document.write('<embed id="widget" name="widget" swLiveConnect="true" ' + t + ' src="/widgets/'+name+'.swf" FlashVars="gW='+gW+'&bC='+bC+'&aC='+aC+'&local=1&v=1.2"  quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed>');
   
 }
 
 function writeFlashViewBranded(name, bC, aC, gW, w, h, t)
 { 
    t = (t == "1") ? "wmode=transparent" : "";      
    document.write('<embed id="widget" name="widget" swLiveConnect="true" ' + t + ' src="/widgets/'+name+'.swf" FlashVars="gW='+gW+'&bC='+bC+'&aC='+aC+'&local=1&v=1.2"  quality="best" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+w+'" height="'+h+'"></embed><br/><a style="color:#'+aC+'; text-decoration:none; font-family:arial,sans-serif; font-size:9px;" href="http://goodwidgets.com" target="_blank">Powered by Goodwidgets.com</a>');
   
 }
 
 function writeColorPicker(cT, wT)
 {
    document.write('<embed src="/flash/color_picker.swf" FlashVars="colorType='+cT+'&widgetType='+wT+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="150" height="120"></embed>');
 }
 
 function showPhotoFormBox(p)
 { 
    Element.hide("WSFormBox");   
    Element.hide("flickrFormBox");
    Element.hide("uploadFormBox");
    Element.hide("twentythreeFormBox");
    Element.hide("photobucketFormBox");         
    Element.show(p+"FormBox");      
 }
 


function showCodeBox(b)
{
    var buttons = document.getElementById('codeButtonHolder').childNodes;    
    var codeBoxes = document.getElementById('codeBoxHolder').childNodes;
    
    for(i in buttons)
    {  
        if(buttons[i].tagName == 'A')
        {              
            buttons[i].className="codeButtonInactive"; 
        }       
    }    
    b.className="codeButtonActive";     
    
    for(i in codeBoxes)
    {        
        if(codeBoxes[i].tagName == 'DIV')
        {
            Element.hide(codeBoxes[i].id);             
        }        
    }        
    Element.show(document.getElementById(b.id + 'CodeBox'));
}







function showCodeBox2(buttonId,c)
{
    
    codeBoxArray=document.getElementsByName("codeBox");
    codeBoxButtonArray=document.getElementsByName("myCodeButton");
    alert(codeBoxArray.length);
    for(i=0;i<codeBoxButtonArray.length;i++)
    {        
        codeBoxButtonArray[i].className="codeButtonInactive";
    }    
    document.getElementById(buttonId).className="codeButtonActive";    
    
    for(i=0;i<codeBoxArray.length;i++)
    {
        Element.hide(codeBoxArray[i].id);          
    }    
    Element.show(c);
}
 
 function createSortableThumbs(maxPhotos)
 {     
     Sortable.create("photoBox", {tag:'div',overlap:'horizontal',constraint: false,
         onUpdate:function()
         {
            updateThumbs(maxPhotos);
         },
         onStart:function()
         {
            alert("this.name");
         }
         });     
         updateThumbs(maxPhotos);
 }
 
 function updateThumbs(maxPhotos)
 {  
        document.getElementById('photoStatus').innerHTML = "";      
        var thumbs = Sortable.sequence('photoBox');
        var thumbCount = thumbs.length;
        var maxPhotos = maxPhotos;
        var newThumbs = new Array();
        if(thumbCount > maxPhotos)
        {
            for(var i=0; i < thumbCount; i++)
            {
                Element.setStyle('thumb_'+thumbs[i], {background: '#eaebdd'});                
            } 
        
            for(var i=0; i < maxPhotos; i++)
            {
               Element.setStyle('thumb_'+thumbs[i], {background: '#ffeeaa'});
               newThumbs.push(thumbs[i]);
            } 
        }
        else
        {
            for(var i=0; i < thumbCount; i++)
            {
               Element.setStyle('thumb_'+thumbs[i], {background: '#ffeeaa'});
               newThumbs.push(thumbs[i]);
            } 
        }        
        document.getElementById('thumbOrder').value = thumbs;
       
 }
 
 function removeThumb(i, maxPhotos)
 {
    Element.remove('thumb_'+i);
    Sortable.destroy("photoBox");
    createSortableThumbs(maxPhotos);
 }
 
 function showCaption(i)
 {
    Element.setStyle('captionBox_'+i, {display: 'block'});
    document.getElementById('captionText_'+i).focus();
 }
 
  function hideCaption(i)
 {
    Element.setStyle('captionBox_'+i, {display: 'none'});
 }
 
 function setCaptionValue(i)
 {
    document.getElementById('photoStatus').innerHTML = ""; 
    var photoData = document.getElementById('photoData_'+i).value;
    var newCaption = document.getElementById('captionText_'+i).value;
    var a = photoData.split('|*|');
    a[a.length-1] = newCaption;
    document.getElementById('photoData_'+i).value = a.join('|*|');    
 }
 
 function setTransparent(checked)
 {    
    if(checked)
    {
        document.widget.SetVariable("backgroundTrans", "1"); 
        Element.hide('bColorBox');             
    }
    else
    {
        document.widget.SetVariable("backgroundTrans", "0");
        Element.show('bColorBox');  
    }
    document.widget.TPlay("_level0/SetTrans_mc");   
 }
 
 function thisMovie(movieName)
 {
    if (navigator.appName.indexOf("Microsoft") != -1)
    {
        return window[movieName]
    }
    else
    {
        return document[movieName]
    }
 }

//Delete widgets
 function deleteWidget(buyId)
 {     
	var url = '/widgets/ajax_delete';	
	var pars = 'buy_id='+buyId;
	var target = 'deleteMsg'+buyId;
	document.getElementById('deleteMsg'+buyId).innerHTML = "deleting..."
	var myAjax = new Ajax.Updater(target, url, {method: 'post', asynchronous:true, evalScripts:true, parameters: pars});    
 }
 
 function deleteWidgetSuccess(buyId)
 {      
    Element.remove('widget'+buyId);
 } 
 