/**
* @author Asvin
*/

/**
 * Custom inital load handler. Called when the carousel loads the initial
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadInitHandler
 **/
var loadInitialItems = function(type, args) {
    var start = args[0];
    var last = args[1]; 
    load(this, start, last);    
};


/**
 * Custom load next handler. Called when the carousel loads the next
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadNextHandler
 **/
var loadNextItems = function(type, args) {
    var start = args[0];
    var last = args[1]; 
    var alreadyCached = args[2];
    if(!alreadyCached) {
        load(this, start, last);
    }
};

/**
 * Custom load previous handler. Called when the carousel loads the previous
 * set of data items. Specified to the carousel as the configuration
 * parameter: loadPrevHandler
 **/
var loadPrevItems = function(type, args) {
    var start = args[0];
    var last = args[1]; 
    var alreadyCached = args[2];
    if(!alreadyCached) {
        load(this, start, last);
    }
};

var load = function(carousel, start, last) {
    var tabScreenPlayer = YAHOO.util.Dom.getElementsByClassName('screenplayer', 'div');
    var parent = YAHOO.util.Dom.get('manchette');
	carousel.setProperty("size", tabScreenPlayer.length,true);
	carousel.setProperty('autoplay', 10000);
	carousel.setProperty('wrap', true);
	for(var i=0;i<tabScreenPlayer.length;i++){
		carousel.addItem(i+1, tabScreenPlayer[i].innerHTML);
		// remove element from dom
		//parent.removeChild(tabScreenPlayer[i]);
	}
	
};

var changePage = function(e, args) {
    var carousel = args[0];
    var pageNum = args[1];
    carousel.scrollTo(pageNum);
};

/**
 * You must create the carousel after the page is loaded since it is
 * dependent on an HTML element (in this case 'dhtml-carousel'.) See the
 * HTML code below.
 **/
 // for ease of debugging; globals generally not a good idea
var pageLoad = function() {
	YAHOO.util.Dom.get('dhtml-carousel').innerHTML = '<div class="carousel-clip-region"><ul class="carousel-list"></ul></div>';
	carousel = new YAHOO.extension.Carousel("dhtml-carousel", {
									numVisible: 1,
									animationSpeed: 0.5,
									//autoplay: 1000,
									//size: 2,
									scrollInc: 1,
									navMargin: 0,
									//animationMethod: YAHOO.util.Easing.backBoth,
									loadInitHandler:   loadInitialItems,
									//loadNextHandler:   loadNextItems,
									//loadPrevHandler:   loadPrevItems,
									nextElement: 'manchette-next'
									//prevElement: 'manchette-prev'
									//wrap: true
								}
	);

    YAHOO.util.Event.addListener("manchette-prev", "click", changePage, [carousel, 100]);
    YAHOO.util.Event.addListener("manchette-pause", "click", function(){carousel.stopAutoPlay();});
};

var changeBackground = function(o, params){
	try{
		YAHOO.util.Dom.setStyle(params.id, 'background', 'url(' + params.sprite + ') no-repeat ' + params.positionX + 'px '+ params.positionY + 'px'); 
	}
	catch(e){}
};

var changeTabForeground = function(o, params){
	try{
		YAHOO.util.Dom.setStyle(params.id, 'color', '#ff6600');
		if(params.id == 'search-web'){
			YAHOO.util.Dom.setStyle('search-images', 'color', '#fff');
			YAHOO.util.Dom.setStyle('search-video', 'color', '#fff');
			YAHOO.util.Dom.get('module').value = 'web';
		}
		else if(params.id == 'search-images'){
			YAHOO.util.Dom.setStyle('search-web', 'color', '#fff');
			YAHOO.util.Dom.setStyle('search-video', 'color', '#fff');
			YAHOO.util.Dom.get('module').value = 'image';
		}
		else{
			YAHOO.util.Dom.setStyle('search-web', 'color', '#fff');
			YAHOO.util.Dom.setStyle('search-images', 'color', '#fff');
			YAHOO.util.Dom.get('module').value = 'video';
		}
	}
	catch(e){}
};

var showElement = function(o, params){
	YAHOO.util.Dom.setStyle(params.id, 'display', 'block');
};

var emailRequest = function(o){
	var server = '';
	var email = YAHOO.util.Dom.get('Username').value;
	var valid = false;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(email)) 
		valid = true;
	else 
		valid = false;
		
	if(valid){
		domain = email.split('@')[1];
		if(domain == 'bow.intnet.mu' || domain == 'intnet.mu' || domain == 'orange.mu' || domain == 'myt.mu' || domain == 'servihoo.com' || domain == 'wanadoo.mu'){
			valid = true;
		}
		else{
			valid = false;
		}
	}
	
	if(valid){
		if(domain == 'bow.intnet.mu' || domain == 'intnet.mu' || domain == 'orange.mu' || domain == 'myt.mu'){
			server = 'http://webmail.intnet.mu';
		}
		else if(domain == 'servihoo.com'){
			server = 'http://mail.servihoo.com';
		}
		else if(domain == 'wanadoo.mu'){
			server = 'http://webmail.wanadoo.mu/webmail/connexion_submit.html';
			YAHOO.util.Dom.get('Username').name = 'LOGIN';
			YAHOO.util.Dom.get('Password').name = 'PASSWORD';
		}
		
		YAHOO.util.Dom.get('email-form').action = server;
		YAHOO.util.Dom.get('email-form').submit();
	}
	else{
		YAHOO.util.Dom.get('email-container').style.display = 'none';
		YAHOO.util.Dom.get('email-error').style.display = 'block';
	}
};

var popup = function(o, params){
	aWindow = window.open(params.url,"Orange","toolbar=no,width="+params.width+",height="+params.height+", status=no,scrollbars="+params.scrollbars+",resize=no,menubars=no");
};

var handleSuccessRates = function(o){
	YAHOO.util.Dom.get('exchange-rates-content').innerHTML = o.responseText;
};

var handleFailureRates = function(o){
	//console.log(o);
}	

var callbackRates = {success:handleSuccessRates, failure:handleFailureRates};
			
var sendRequestRates = function(){
	var request = YAHOO.util.Connect.asyncRequest('GET', '/exchange-rates/?referrer=homepage', callbackRates);
}

var handleSuccessStock = function(o){
	YAHOO.util.Dom.get('stock-exchange-content').innerHTML = o.responseText;
};

var handleFailureRates = function(o){
	//console.log(o);
}	

var callbackStock = {success:handleSuccessStock, failure:handleFailureRates};
			
var sendRequestStock = function(){
	var request = YAHOO.util.Connect.asyncRequest('GET', '/finance/?referrer=homepage', callbackStock);
}


var showEmailHelp = function(){
	params = Array();
	params['size'] = 400;
	params['header'] = 'help signing in';
	params['content'] = 'Enter your email address in the form: username@orange.mu, username@intnet.mu, username@wanadoo.mu, username@servihoo.com,...';
	modalPopup(params);
};

var modalPopup = function(params){
	var panelHelp = new YAHOO.widget.Panel("panel", { width:params.size+"px", visible:false, draggable:true, close:true, modal:true, fixedcenter: true, constraintviewport: true, zIndex: 2000} );
	panelHelp.setHeader('Orange');
	panelHelp.setBody('<p class="emphasis-title-23">' + params.header + '</p><p style="text-align:left;font-family:Arial;font-size:11px;">' + params.content + '</p>');
	panelHelp.setFooter("&copy; 2008");
	panelHelp.render(document.body);
	panelHelp.show();
};

YAHOO.util.Event.addListener('email-help', 'click', showEmailHelp);
YAHOO.util.Event.onAvailable('dhtml-carousel', pageLoad);
YAHOO.util.Event.onAvailable('exchange-rates-content', sendRequestRates);
YAHOO.util.Event.onAvailable('stock-exchange-content', sendRequestStock);
YAHOO.util.Event.addListener('email-back', 'click', function(){
	YAHOO.util.Dom.get('email-container').style.display = 'block';
	YAHOO.util.Dom.get('email-error').style.display = 'none';
	}
);
YAHOO.util.Event.addListener('search-web', 'click', changeBackground, {id : 'search', sprite : 'images/searchtab1v2.jpg', positionX : 0, positionY : 0});
YAHOO.util.Event.addListener('search-web', 'click', changeTabForeground, {id : 'search-web'});
YAHOO.util.Event.addListener('search-images', 'click', changeBackground, {id : 'search', sprite : 'images/searchtab2v2.jpg', positionX : 0, positionY : 0});
YAHOO.util.Event.addListener('search-images', 'click', changeTabForeground, {id : 'search-images'});
YAHOO.util.Event.addListener('search-video', 'click', changeBackground, {id : 'search', sprite : 'images/searchtab3v2.jpg', positionX : 0, positionY : 0});
YAHOO.util.Event.addListener('search-video', 'click', changeTabForeground, {id : 'search-video'});
YAHOO.util.Event.addListener('email-button', 'click', emailRequest);
//YAHOO.util.Event.addListener('poll-resultats', 'click', popup, {url : '/sondage/', width : 350, height: 300, scrollbars : 'yes'});
YAHOO.util.Event.addListener('poll-archives', 'click', popup, {url : '/sondage/sondage.php?action=prev', width : 350, height: 300, scrollbars : 'yes'});
