﻿var YUD = YAHOO.util.Dom;
var YUE = YAHOO.util.Event;
var inwin;

function Promobox() {
	var container,
		frame,
		text;
	
	this.init = function(wrapper) {
		container = wrapper;
		frame = YUD.getElementsByClassName('frame','a',container)[0];
		text  = YUD.getElementsByClassName('text','a',container)[0];
		
		YUE.addListener([frame,text],'mouseover',highlight);
		YUE.addListener([frame,text,container],'mouseout',function(event){
			lowlight(event);
		});
	}
	
	var highlight = function() {
		YUD.addClass(container,'highlight');
	}
	
	var lowlight = function(event) {
		var relatedTarget = YUE.getRelatedTarget(event);

		var c1 = YUD.isAncestor(container, relatedTarget);
		
		if (!c1 ) {
			YUD.removeClass(container,'highlight');
		}
	}
}

var dynamicModalBox = new Object();
dynamicModalBox.set = function (w,h,d) {
    dynamicModalBox.width = w;
    dynamicModalBox.height = h;
    dynamicModalBox.div = d;
    dynamicModalBox.init(); 
}

dynamicModalBox.init = function()
{
	p = new YAHOO.widget.Panel(dynamicModalBox.div, 
	{ 	
		fixedcenter:true, 
		close:true, 
		draggable:false, 
		zindex:4,
		iframe:true,
		monitorresize:false,
		modal:true,
		visible:false,
		width:dynamicModalBox.width,
		height: dynamicModalBox.height,
		underlay:"none"
	} );
	p.setHeader('');
	p.setBody('');
	p.setFooter('');
	p.render(document.body);

}

dynamicModalBox.render = function() {
	contentContainer = YUD.get(dynamicModalBox.outputDiv);
	htmlContent = contentContainer.innerHTML;
	contentContainer.innerHTML = '';			
	p.setBody(htmlContent);			
	p.show();    
} 

function Inwin() {
	var self = this,
		panel,
		topOffset = 80,
		contentContainer,
		htmlContent;
	
	panel = new YAHOO.widget.Panel('dynamicInwin', 
	{ 	
		fixedcenter:true, 
		close:true, 
		draggable:false, 
		zindex:4,
		iframe:true,
		monitorresize:false,
		modal:true,
		visible:false,
		width:'750px',
		height: '550px',
		underlay:"none"
	} );
	panel.setHeader('');
	panel.setBody('');
	panel.setFooter('');
	panel.render(document.body);
		
	this.showInwin = function() {
		panel.show();
	}
	
	this.hideInwin = function(){
		panel.hide();
		//self.resetInwin();
	}
	
	this.resetInwin = function(){
		contentContainer.innerHTML = htmlContent;
		panel.setBody('');
		panel.hide();
	}
	
	this.renderInwin = function(cfg){
		contentContainer = YUD.get(cfg.inwinContentId);
		if (contentContainer) {
			htmlContent = contentContainer.innerHTML;
			contentContainer.innerHTML = '';
			
			panel.setBody(htmlContent);
			
			//run custom JS function on inwin content
			if (typeof cfg.jsFunction != 'undefined') {
				cfg.jsFunction.call();
			}
			
			self.showInwin();
		}
	}
	
	this.reposition = function() {	
		//y
		var scrollTop = YUD.getDocumentScrollTop();		
		var newY = (scrollTop + topOffset);
		YUD.setStyle(YUD.get('dynamicInwin_c'),'top',newY+'px');
	}
	
	this.iFrame = function(url) {
	    var iframeContent = '<iframe src=\"'+url+'\" SCROLLING="NO" FRAMEBORDER="0"></iframe>';
	    panel.setBody(iframeContent);
	    
	    self.showInwin();
	}
	
	this.hideInwinIFrame = function(){
		panel.hide();
	}
	
}

function ShowSignOut(username)
{
   parent.inwin.hideInwinIFrame();

   displaySignOut(username);
   
   var currentPath = parent.window.location.href;
   if(currentPath.indexOf('RegistrationPage.aspx')!=-1)
   {
        validateLogin();
   }
}

function validateLogin()
{
    el = document.getElementById(btnGrabCodeId);
    el.click();
}

function displaySignOut(username)
{
   YAHOO.util.Dom.get('divSingIn').style.display = 'none'; 
   YAHOO.util.Dom.get('divSingOut').style.display = 'block';
   YAHOO.util.Dom.get('divUsername').innerHTML = username;
}

  //GetSignInURL
function SignIn(returnURL)
{
     AjaxMethods.GetSignInURL(returnURL,SignIn_callback);  
}

function SignIn_callback(res)
{
     if(res.value !=null)
     {
         if(!inwin) {
            inwin = new Inwin(); 
         }
         inwin.iFrame(res.value);
         var t = setTimeout('inwin.showInwin',100);
     }
}

//OpenWinIn
function OpenInWinFrame(url)
{
    if(!inwin) {
        inwin = new Inwin(); 
    }
    inwin.iFrame(url);
    var t = setTimeout('inwin.showInwin',100);
}

//OpenWinIn

function openDynamicModalBox(controlToLoad,w,h,div,outputDiv)
{
    dynamicModalBox.set(w,h,div);
    dynamicModalBox.outputDiv = outputDiv;       
    Netcraft.Yadda.UserControls.PartnersAdmin.InWinControl.GetLoadedControl(controlToLoad,openDynamicModalBox_callback);
    
}

function openDynamicModalBox_callback(res)
{
  YAHOO.util.Dom.get(dynamicModalBox.outputDiv).innerHTML = res.value;  
  dynamicModalBox.render();
}

function OpenInWin(controlToLoad)
{
    Netcraft.Yadda.UserControls.PartnersAdmin.InWinControl.GetLoadedControl(controlToLoad,OpenInWin_callback);
    
}

function OpenInWin_callback(res)
{
   if(res.value !=null)
   {
     YAHOO.util.Dom.get('divInWin').innerHTML = res.value;
    // alert(document.getElementById('divInWin').style.height);
     //document.getElementById('divInWin').height = '300px';
     inwin.renderInwin({inwinContentId:'divInWin'});
     //document.getElementById('dynamicInwin').getElementsByTagName("div")[1].height = '100%';
     
   }
}

function swapTab(tabClass,clickedTab) {
   var tabWrapper = clickedTab.parentNode.parentNode.parentNode;
   
   if(!YUD.hasClass(tabWrapper,tabClass)) {
       YUD.removeClass(tabWrapper,'show_tab_1');
       YUD.removeClass(tabWrapper,'show_tab_2'); 
      
      YUD.addClass(tabWrapper,tabClass); 
   } 
}

function designLayoutOptions(){
    initARC('layout', 'on', 'off', 'on', 'off');
     
    var wrapLayout = YUD.get('Wizard');
    var LIs = wrapLayout.getElementsByTagName('li');
    
    YUD.addClass(LIs[0],'horizontal');
    YUD.addClass(LIs[1],'vertical');
   
   if(YAHOO.env.ua.ie == 6) {
    YUD.setStyle('layout','zoom','1');
   } 
}

function designThemeOptions() {
    initARC('theme', 'on', 'off', 'on', 'off');
   
   var wrapLayout = YUD.get('Wizard');
   var LIs = wrapLayout.getElementsByTagName('li');
   
   for (var i=0; i<LIs.length; i++) {
        YUD.addClass(LIs[i],'theme_'+parseInt(i+1));
        
   }
   
   var labels = wrapLayout.getElementsByTagName('label');
   for (var i=0; i<labels.length; i++) {
        YUE.addListener(labels[i],'mouseover',function(){
               if(!YUD.hasClass(this,'on')) { YUD.addClass(this,'hover'); }
        });
        YUE.addListener(labels[i],'mouseout',function(){
               YUD.removeClass(this,'hover');
        });
        labels[i].setAttribute('title','Select theme '+parseInt(i+1,10));
   }
}

// this functions styles the sidebar of the wizard
function designSidebarSteps() {
    YUD.addClass('Wizard','clearfix');
    
    var wrapper = YUD.getElementsByClassName('wizard','div','Wizard') [0];
    YUD.addClass(wrapper,'clearfix');
    
    var sidebar = YUD.getElementsByClassName('sidebar','div','Wizard') [0];
   
   //get an array of the sidebar step-links elements ("a" tags)
    var sidebarSteps = sidebar.getElementsByTagName('a');
    
    var activeStep;
    var progressStep;
    
   //the wizard marks the active step with class "active"
   //we will find and keep the active step as a variable 
    for (var i=0; i<sidebarSteps.length; i++) {
        if(YUD.hasClass(sidebarSteps[i],'active')) {
           activeStep = i+1;
           break; 
        }
    }
    
   //the progressStepField keeps the value of the highest step the user got to.
   //eg: if the user got to step 3 and returned to step 1, the progressStepField will be still 3
    var progressStepField = YUD.get('progressStepWrap').getElementsByTagName('input')[0]; 
    
    if (progressStepField.value!=""){
          var progressStepValue = parseInt(progressStepField.value)+1;
    }
   else {
        progressStepValue=1;
   }  
   
   //the steps lower than the progressStepField will be marked as "done"
    for (var i=0; i<progressStepValue; i++) {
        YUD.addClass(sidebarSteps[i],'done');
    }
    
   //the first step needs an extra class name as it's design is different from the other steps
    if( !YUD.hasClass(sidebarSteps[0],'active') && !YUD.hasClass(sidebarSteps[0],'done') ) {
        YUD.addClass(sidebarSteps[0],'first');
    }
   //the first step will get class "active_first" instead of "active", or "done_first" instead of "done"
    else {
        if( YUD.hasClass(sidebarSteps[0],'active') ) { YUD.replaceClass(sidebarSteps[0],'active','active_first'); }
        if( YUD.hasClass(sidebarSteps[0],'done') ) { YUD.replaceClass(sidebarSteps[0],'done','done_first'); }
    }
    
   //the last step needs an extra class name as it's design is different from the other steps 
    if(!YUD.hasClass(sidebarSteps[sidebarSteps.length-1],'active')) {
        YUD.addClass(sidebarSteps[sidebarSteps.length-1],'last');
    }
   //the last step will get class "active_last" instead of "active"
   //there is no need for a "done_last" class
    else {
        YUD.replaceClass(sidebarSteps[sidebarSteps.length-1],'active','active_last')
    }
} 

function focusInput() {
    var firstInput, inputWrapper;
    
    inputWrapper = YUD.getElementsByClassName('wrap_input','div','Wizard')[0];
   
    if(inputWrapper) {
        firstInput = inputWrapper.getElementsByTagName('input')[0];
        firstInput.focus();
    }
}

function initThemeTabs() {
    var tabsWrapper = YUD.get('tabs');
    var tabs = YUD.getElementsByClassName('tab','a',tabsWrapper,function(){
           YUE.addListener(this,'click',function() {
                tabsWrapper.className = this.parentNode.className;
           });
    });
}

function toggleClass(elementID,className) {
   var element = YUD.get(elementID);
   if(YUD.hasClass(element,className)) {
        YUD.removeClass(element,className) ;
   } 
   else {
        YUD.addClass(element,className) ;
   }
}

function ColorpickerInwin() {
    var self = this,
		ppanel,
		relatedTextbox,
		pickButton,
		hexField,
		hexValue;
	
	ppanel = new YAHOO.widget.Panel('colorpickerInwin', {
	    fixedcenter:true,
		constraintoviewport : true,
		close:true, 
		draggable:false, 
		zindex:40,
		iframe:true,
		monitorresize:true,
		modal:true,
		visible:false,
		width:'370px',
		underlay:"none"
	} );

	ppanel.setBody('<div class="wrappicker"><div id="pickercontainer"></div><a href="javascript://" id="button_pick" class="button_ok">OK</a>');
	ppanel.render(document.body);
	
	//build picker object
    var picker = new YAHOO.widget.ColorPicker('pickercontainer', {
        showhsvcontrols: false,
        showhexcontrols: true,
        showrgbcontrols: false,
        images: {
              PICKER_THUMB: "../../Images/PartnersAdmin/picker_thumb.png",
              HUE_THUMB: "../../Images/PartnersAdmin/hue_thumb.png"
        }
    });
    
    //activate picker buttons
    var colorpickerButtons = YUD.getElementsByClassName('button_colorpicker','a','tabs',function(){
        YUE.addListener(this,'click',function(){
               self.showColorpickerInwin(this.rel);
        });
    });
   
   //activate ok button
   YUE.addListener('button_pick','click',function(){
       self.selectColor()
   });
   
   var pickedColorInputs = YUD.getElementsByClassName('picked_color_input','input','tabs',function(){
        YUE.addListener(this,'change',function(){
            updatePickedColor(this);
        });
   });

	//activate hex field
	hexField = YUD.get('yui-picker-hex');
	
	this.selectColor = function(){
	    hexValue = hexField.value;
	    relatedTextbox.value = "#"+hexValue;
	    updatePickedColor(relatedTextbox);
	    self.hideColorpickerInwin();
	}
	
	var updatePickedColor = function(inputElement) {
	    var pickedValue = inputElement.value;
	    if(pickedValue!='') {
	        if(pickedValue.indexOf("#") > -1) {
	            var pickedColorBox = YUD.getNextSibling(inputElement.parentNode.parentNode);
	            YUD.setStyle(pickedColorBox,'background-color',pickedValue); 
	        } 
	    }
	}
	
	this.updateAllPickedColors = function() {
	    for (var i=0; i<pickedColorInputs.length; i++) {
	        updatePickedColor(pickedColorInputs[i]);
	    }
	}
	
	this.showColorpickerInwin = function(relatedTextboxID) {
        relatedTextbox = YUD.get(relatedTextboxID);
        
        ppanel.show();
	    
	    var currentHexColor = relatedTextbox.value;
	   	    
	    if(currentHexColor!='') {
	        if(currentHexColor.indexOf("#") > -1) {
	            currentHexColor = currentHexColor.split('#')[1];
	        } 
	         
		    var currentRGBColor = YAHOO.util.Color.hex2rgb(currentHexColor);
		    picker.setValue(currentRGBColor);
	    }
    	    	    	
        
    }
	
	this.hideColorpickerInwin = function(){
		ppanel.hide();
	}

}
function copyAll(txtCodeId) {
   var element = document.getElementById(txtCodeId);
   var inElement = element.value;
   copyToClipboard(inElement);
   element.focus();
   element.select();
}

function copyToClipboard(inElement) {
   var flashcopier = 'flashcopier';
   if(!document.getElementById(flashcopier)) {
           var divholder = document.createElement('div');
           divholder.id = flashcopier;
           document.body.appendChild(divholder);
   }
   document.getElementById(flashcopier).innerHTML = '';
   
   // get content
   if (typeof(inElement) == "string")
           var content = inElement;
   else
           var content = inElement.innerHTML;
     

   var divinfo = '<embed src="http://www.hyplet.com/Scripts/_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(content)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
   document.getElementById(flashcopier).innerHTML = divinfo;

}

// Check if user is sign in
function isUserSignedIn()
{
     AjaxMethods.IsUserSignedIn(isUserSignedIn_callback);
}
function isUserSignedIn_callback(res)
{
    if(res.value != "")
    {
       displaySignOut(res.value);
       isPartnerUser();
       
    }
}

//check if user is partner user
function isPartnerUser()
{
     AjaxMethods.IsPartnerUser(isPartnerUser_callback);
}
function isPartnerUser_callback(res)
{
    setDisplayByResult(res, 'settings');
    setDisplayByResult(res, 'accountDestails');
}

function setDisplayByResult(res, name) {
    var a = YUD.get(name).getElementsByTagName('a')[0];
    var em = YUD.get(name).getElementsByTagName('em')[0];

    if (res.value == "false") {
        YUD.setStyle(a, 'display', 'none');
        YUD.setStyle(em, 'display', 'inline');
    }
    else {
        YUD.setStyle(a, 'display', 'inline');
        YUD.setStyle(em, 'display', 'none');
    }
}

function hideWhy(){
    YUD.setStyle('why','display','none');
}
function showWhy(){
    YUD.setStyle('why','display','block');
}

function intOnly(i) 
{
   if(i.value.length>0) 
   {
        i.value = i.value.replace(/[^0-9.]/g, ''); 
        
   }
 }

var YeddaUtils = new Object();
YeddaUtils.extendYourReach = new Object();
YeddaUtils.extendYourReach.loading = false;
YeddaUtils.extendYourReach.changePic = function (picNum,ee) {

    //if ( document.getElementById('Img').src.indexOf("/images/partnersadmin/promo/pic"+picNum+".jpg") > 0) 
      //  return true;
    var s = '';
    for (i=0;i<=3;i++) {        
        eval("var el"+i+" = document.getElementById('Img"+i+"');el"+i+".style.display = 'none';"); 
       // if (i>0)
         //YeddaFader.changeOpac(30,"a"+i);
    }
   // if (picNum > 0)
     //   YeddaFader.changeOpac(100,"a"+picNum);
    document.getElementById('Img'+picNum).style.display='';
    
    
}


var YeddaFader = YeddaFader ? YeddaFader : new Object();
YeddaFader.opacity = function(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("YeddaFader.changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("YeddaFader.changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
YeddaFader.changeOpac = function (opacity, id) {
        var object = document.getElementById(id).style;
        object.display = 'block';
        object.opacity = (opacity / 100);
        object.MozOpacity = (opacity / 100);
        object.KhtmlOpacity = (opacity / 100);
        object.filter = "alpha(opacity=" + opacity + ")";    
}      

var YeddaRotator = new Object();
YeddaRotator.counter = 1;
YeddaRotator.total = 6;
YeddaRotator.min = 1;
      
YeddaRotator.rotate = function (dir)
{  
   //this.disableButtons();
   switch (dir) {
    case 'prev':
       this.counter--; break;
    case 'next':
        this.counter++; break;
   }
   
   /* rotate pics */
   if (this.counter < this.min)
    this.counter = this.total;
   else if (this.counter > this.total) 
    this.counter = 1;   

   document.getElementById('Img').src = "/images/partnersadmin/promo/partner-"+this.counter+".jpg";
   
   //YeddaFader.opacity("Img", 0, 100, 1000,false); 
 //  setTimeout("YeddaRotator.enableButtons();",1000);


}

function kenshoo_conv(id, type, value, orderId, promoCode, valueCurrency, href) {
    var url = "http://www.xg4ken.com/media/redir.php?track=1&id=" + id + "&type=" + type + "&val=" + value + "&orderId=" + orderId + "&valueCurrency=" + valueCurrency + "&promoCode=" + promoCode + "&ref=" + document.referrer;
    var a = new Image(1, 1);
    a.src = url;
    a.onload = function() {
        _uVoid();
    }
    window.location = href;
}

