// JavaScript Document
// Author Christophe Iaïchouchen AKA saturnino pour TLI
// Copyright : Le Studio.nc

// prévention des frames
if (top.frames.length!=0) top.location=self.document.location; 

jQuery.noConflict();

function popupCredit(theURL,winName,largeur,features)
{ 
	if(! window.focus){  return; }
	var left = 'left='+(screen.width-largeur-100);
	var p = window.open(theURL,winName,left+','+features);
	p.focus();
	theURL.target = winName;		
}

function addDate(form, champs, value)
{
	jQuery('#'+champs).val(value);
}

function sortSelect(s)
{
	var liste	= new Array();
	 
	for(i=0; i<s.options.length; i++)
	{
		liste[i]	=	new Array();
		liste[i][0]	=	s.options[i].text;
		liste[i][1]	=	s.options[i].value;
	}
	
	liste	=	liste.sort();
	 
	for(i=0; i<s.options.length; i++)
	{
		s.options[i].text	=	liste[i][0];
		s.options[i].value	=	liste[i][1];
	}
}

function sortSelectAndAddOptions(name, first, last)
{
	var s 	= 	document.getElementById(name);
	var temp		=	Array();
	
	sortSelect(s);
	
	if(first != null)
		temp.push({text:first.text,value:first.value});	
		
	for (i = 0; i < s.options.length; i++)
	{
		temp.push({text:s.options[i].text,value:s.options[i].value});
	}
	
	if(last != null)
		temp.push({text:last.text,value:last.value});

	jQuery("#"+name).empty();

	for (i = 0; i < temp.length; i++)
	{
		s.options[s.options.length] = new Option( temp[i].text, temp[i].value );	
	}
}

//  ajout d'un article
var currentArticlePhare = -1;
function doAddArticlePhare(cb, index)
{
	currentArticlePhare = index;
	
	jQuery('fieldset.contenu div.article').find("input[type='checkbox']").each(function() {
		if(jQuery(this).attr('id') != cb.attr('id') )
		{
			jQuery(this).removeAttr('checked','checked');
		}
	});		
}

//  doInitializeArticle
function doInitializeArticle(article, index)
{
		if( index != 0 )
		{
			//div article
			jQuery(article).attr('id','article_'+index);	
			
			//labels
			jQuery(article).find("label").each(function() {																	
				if( jQuery(this).attr('for').match(/edtArticle/) && !jQuery(this).attr('for').match(/edtArticle_phare/) )
				{
					jQuery(this).text('Article '+(index+1));
					jQuery(this).attr('for','edtArticle_'+index+'_Req');
				}else if ( jQuery(this).attr('for').match(/edtArticle_phare/) ){
					jQuery(this).attr('for','edtArticle_phare_'+index);
				}else if ( jQuery(this).attr('for').match(/edtPhotoArticle/) ){
					jQuery(this).attr('for','edtPhotoArticle_'+index);
				}
				
			});	
			
			//textarea (Nom, description + prix)	
			jQuery(article).find("textarea").each(function() {				
				if( jQuery(this).attr('id').match(/edtArticle/) )
				{
					jQuery(this).attr('id','edtArticle_'+index+'_Req');
					jQuery(this).attr('name','article_'+index);
				}
			});	
			
			// article phare
			jQuery(article).find("input").each(function() {	
				if( jQuery(this).attr('id').match(/edtArticle_phare/) )
				{													
					jQuery(this).attr('id','edtArticle_phare_'+index);
					jQuery(this).attr('name','article_'+index+'_phare');
					
					if(jQuery(this).attr('checked') && currentArticlePhare != index)
						jQuery(this).removeAttr('checked');
					
					jQuery(this).bind('click', function(){
						doAddArticlePhare(jQuery(this),index);									 
					});	
				}else if( jQuery(this).attr('id').match(/edtPhotoArticle/) ){
					jQuery(this).attr('id','edtPhotoArticle_'+index);
					jQuery(this).attr('name','article_'+index+'_photo');				
				}
			});	
			
			//close button
			jQuery(article).find("a.close").each(function() {	
				jQuery(this).css('display','block');
				jQuery(this).bind('click', function(e){
					e.preventDefault();
					doRemoveArticle(jQuery(article));									 
				});	
			});	
		}
		
}
//  suppression d'un article
function doRemoveArticle(article)
{
	var total;	
	
	if(article)
	{
		jQuery(article).find("input").each(function() {	
			if( jQuery(this).attr('id').match(/edtArticle_phare/) && jQuery(this).attr('checked')  )
			{											
				currentArticlePhare = -1;
			}
		});			
		jQuery(article).remove();
		
		
		var total					=	jQuery('fieldset.contenu .article').length;

		if( total != 1 ){
			jQuery('fieldset.contenu .article').each(function(index) {						
				doInitializeArticle(jQuery(this), index);
				jQuery("#edtArticlesCount").val((index+1));	
			});			
		}
		
		jQuery("#edtArticlesCount").val(total);	
		
	}else
	{
		jQuery('fieldset.contenu div.article').last().each(function() {	
			if( jQuery(this).attr('id').match(/edtArticle_phare/) && jQuery(this).attr('checked')  )
			{											
				currentArticlePhare = -1;
			}
		});	
		jQuery('fieldset.contenu div.article').last().remove();
	}
	
}
//  ajout d'un article
function doAddArticle()
{
	var total					=	jQuery('fieldset.contenu .article').length;
	var index					=	total;
	var article;	
	
	if(total<9)
	{
		article	=	jQuery('#article_0').clone();
		
		doInitializeArticle(article, index);		
		
		//jQuery('#article_0').parent().append(article);		
		jQuery("#addArticle").before(article);
		jQuery("#edtArticlesCount").val((index+1));	
		
	}
}
//  gestion des articles
function doPopulateArticles(n)
{	
	var total					=	jQuery('fieldset.contenu .article').length;

	if( n < total && total != 1 ){
		
		for( i = 0 ; i < (total - n) ; i++)
		{			
			doRemoveArticle();
		}
	}else if( n > total ){				
		
		for( i = 0 ; i < (n - total) ; i++)
		{			
			doAddArticle();			
		}
	}	
}


function checkRequiredRadioButton(radio) {
  for (var i=0; i<radio.length; i++) {
	 if (radio[i].checked) {
		return true;
	 }
  }
  return false;
}
function orderFormBeforeSubmitFunction()
{
	if(orderType == 1)
		return true;
		
	alert(orderType);
	
	var mode_couleur_ok	=	checkRequiredRadioButton(document.forms['orderForm'].elements['mode_couleur']);
	if(!mode_couleur_ok)
		alert('Veuillez choisir un mode couleur');	
	
	return mode_couleur_ok;	
}

var orderType 	=	0;
function initOrderForm()
{	
	var myForm 		= 	jQuery("#orderForm");  
	var first		=	new Object ();
	var last		=	new Object ();
	
	document.forms['orderForm'].reset();
	
	//  classement alphabétique des select
	first			=	new Object ({text:'Veuillez sélectionner un support presse',value:''});
	last			=	{text:'Autre',value:'autre'};
	//sortSelectAndAddOptions('edtPresse_Req', first, last);
	sortSelectAndAddOptions('edtPresse_Req', first, null);
	
	first			=	new Object ({text:'Veuillez sélectionner un support papier',value:''});
	last			=	{text:'Autre',value:'autre'};		
	//sortSelectAndAddOptions('edtSupport_Req', first, last);
	sortSelectAndAddOptions('edtSupport_Req', first, null);
	
	first			=	new Object ({text:'Veuillez sélectionner un thème',value:''});	
	sortSelectAndAddOptions('edtTheme_Req', first, null);
	
	
	//  gestion du type de commande
	jQuery("#orderType_0").bind('click', function(){												  
												  
			orderType = 0;								  
			myForm.find(":input[type!='submit'],:input[type!='image'], textarea, select, label ").each(function() {
			
				var id 		= 	jQuery(this).attr("id");				
				var lfor	=	jQuery(this).attr("for");
				
				if(id)
				{
					if(id.match(/_NoReq/) && id!='edtOrderNumber_NoReq' && id!='edtOrderNumber_NoReq')
					{					
						var new_id = id.replace(/_NoReq/g, '_Req')
						jQuery(this).attr("id", new_id);		
					} 
				}
				
				if(lfor)
				{
					if(lfor.match(/_NoReq/) && lfor!='edtOrderNumber_NoReq' && lfor!='edtOrderNumber_NoReq')
					{					
						var new_for = lfor.replace(/_NoReq/g, '_Req')
						jQuery(this).attr("for", new_for);		
					}
				}
	
			});			
			
			jQuery('#edtOrderNumber_Req').attr('readonly','readonly');	
			jQuery('#edtOrderNumber_Req').val('');	
			jQuery('#edtOrderNumber_Req').prev().attr('for','edtOrderNumber');
			jQuery('#edtOrderNumber_Req').attr('id','edtOrderNumber');	
			

			jQuery('#edtTheme_Req').removeAttr('disabled');	
			jQuery('#edtEnseigne_Req').removeAttr('disabled');	
			jQuery('#edtCouleurDominante_Req').removeAttr('disabled');	
			
					
		});
	
	jQuery("#orderType_1").bind('click', function(){
												  
			orderType = 1;						
			myForm.find(":input[type!='submit'],:input[type!='image'], textarea, select, label ").each(function() {
			
				var id 		= 	jQuery(this).attr("id");				
				var lfor	=	jQuery(this).attr("for");				
				
				if(id)
				{
					if(id.match(/_Req/) && id!='edtOrderNumber_Req' && id!='edtOrderNumber_Req')
					{					
						var new_id = id.replace(/_Req/g, '_NoReq')
						jQuery(this).attr("id", new_id);		
					} 	
				}
				
				if(lfor)
				{
					if(lfor.match(/_Req/) && lfor!='edtOrderNumber_NoReq' && lfor!='edtOrderNumber_NoReq')
					{					
						var new_for = lfor.replace(/_Req/g, '_NoReq')
						jQuery(this).attr("for", new_for);		
					}
				}
			});
			
			jQuery('#edtOrderNumber').removeAttr('readonly');
			jQuery('#edtOrderNumber').val('');	
			jQuery('#edtOrderNumber').prev().attr('for','edtOrderNumber_Req');	
			jQuery('#edtOrderNumber').attr('id','edtOrderNumber_Req');	
			
			jQuery('#edtTheme_NoReq').attr('disabled','disabled');	
			jQuery('#edtEnseigne_NoReq').attr('disabled','disabled');
			jQuery('#edtCouleurDominante_NoReq').attr('disabled','disabled');
			
			// cas même commande mais support et/ou  formats différents
			//alert(jQuery("#edtSupport_NoReq"));
			jQuery("#edtSupport_NoReq").bind('change', function(){
					if(orderType == 1)
					{
						jQuery('#edtSupport_NoReq').prev().attr('for','edtSupport_Req');	
						jQuery('#edtSupport_NoReq').attr('id','edtSupport_Req');	
						jQuery('#edtPresse_NoReq').prev().attr('for','edtPresse_Req');	
						jQuery('#edtPresse_NoReq').attr('id','edtPresse_Req');
					}
					//alert(jQuery('#edtPresse_Req').val());
			});
			jQuery("#edtPresse_NoReq").bind('change', function(){
					if(orderType == 1)
					{
						jQuery('#edtSupport_NoReq').prev().attr('for','edtSupport_Req');	
						jQuery('#edtSupport_NoReq').attr('id','edtSupport_Req');	
						jQuery('#edtPresse_NoReq').prev().attr('for','edtPresse_Req');	
						jQuery('#edtPresse_NoReq').attr('id','edtPresse_Req');
					}
					//alert(jQuery('#edtSupport_Req').val());
			});
				
		});
	
	//  gestion des supports
	jQuery("#edtSupport_Req").bind('change', function(){
			
			var s = document.getElementById('edtPresse_Req');
			
			if (s)
			{
				s.selectedIndex = 0;
				for (i = 0; i < s.options.length; i++)
				{
					if('Aucun' == s.options[i].text)
					{
						 s.selectedIndex = i;
					}
				}
			}
			
			
			jQuery('#edtAutrePresse_Req').prev().attr('for','edtAutrePresse');	
			jQuery('#edtAutrePresse_Req').attr('id','edtAutrePresse');	
			jQuery('#edtAutrePresse_Req').attr('readonly','readonly');			
			jQuery('#edtAutrePresse_Req').val('');
			jQuery('#edtAutrePresse').attr('readonly','readonly');	
			jQuery('#edtAutrePresse').val('');
			
			
			if( 'autre' == jQuery(this).val() )
			{
				jQuery('#edtAutreSupport').removeAttr('readonly');
				jQuery('#edtAutreSupport').val('');
				
				jQuery('#edtAutreSupport').prev().attr('for','edtAutreSupport_Req');	
				jQuery('#edtAutreSupport').attr('id','edtAutreSupport_Req');				
			}else if('Aucun' == jQuery(this).val() && 'Aucun' == jQuery("#edtPresse_Req").val() ){				
				
				if (s)
				   s.selectedIndex = 0;
			}else{				
				jQuery('#edtAutreSupport_Req').prev().attr('for','edtAutreSupport');	
				jQuery('#edtAutreSupport_Req').attr('id','edtAutreSupport');				
			}				
	});
	jQuery("#edtPresse_Req").bind('change', function(){
													 
			var s = document.getElementById('edtSupport_Req');
			
			if (s)
			{
				s.selectedIndex = 0;
				for (i = 0; i < s.options.length; i++)
				{
					if('Aucun' == s.options[i].text)
					{
						 s.selectedIndex = i;
					}
				}
			}
			
			jQuery('#edtAutreSupport_Req').prev().attr('for','edtAutreSupport');	
			jQuery('#edtAutreSupport_Req').attr('id','edtAutreSupport');	
			jQuery('#edtAutreSupport_Req').attr('readonly','readonly');			
			jQuery('#edtAutreSupport_Req').val('');
			jQuery('#edtAutreSupport').attr('readonly','readonly');	
			jQuery('#edtAutreSupport').val('');
			
			
			if( 'autre' == jQuery(this).val() )
			{
				jQuery('#edtAutrePresse').removeAttr('readonly');
				jQuery('#edtAutrePresse').val('');
				
				jQuery('#edtAutrePresse').prev().attr('for','edtAutrePresse_Req');	
				jQuery('#edtAutrePresse').attr('id','edtAutrePresse_Req');				
			}else if('Aucun' == jQuery(this).val() && 'Aucun' == jQuery("#edtSupport_Req").val() ){				
				var s = document.getElementById('edtSupport_Req');
				if (s)
				   s.selectedIndex = 0;
			}else{				
				jQuery('#edtAutrePresse_Req').prev().attr('for','edtAutrePresse');	
				jQuery('#edtAutrePresse_Req').attr('id','edtAutrePresse');	
				
				jQuery('#edtAutrePresse').attr('readonly','readonly');	
				jQuery('#edtAutrePresse').val('');				   
			}				
	});
	jQuery("#edtFormat_Req").bind('change', function(){
			if( 'autre' == jQuery(this).val() )
			{
				/*jQuery('#edtAutreFormatLargeur_Int').removeAttr('readonly');
				jQuery('#edtAutreFormatLargeur_Int').val('');
				jQuery('#edtAutreFormatHauteur_Int').removeAttr('readonly');
				jQuery('#edtAutreFormatHauteur_Int').val('');
				*/
				jQuery('#edtAutreFormatLargeur_Int').prev().attr('for','edtAutreFormatLargeur_Req_Int');	
				jQuery('#edtAutreFormatLargeur_Int').attr('id','edtAutreFormatLargeur_Req_Int');	
				jQuery('#edtAutreFormatHauteur_Int').prev().attr('for','edtAutreFormatHauteur_Req_Int');	
				jQuery('#edtAutreFormatHauteur_Int').attr('id','edtAutreFormatHauteur_Req_Int');					
			
			}else{				
				jQuery('#edtAutreFormatLargeur_Req_Int').prev().attr('for','edtAutreFormatLargeur_Int');	
				jQuery('#edtAutreFormatLargeur_Req_Int').attr('id','edtAutreFormatLargeur_Int');		
				jQuery('#edtAutreFormatHauteur_Req_Int').prev().attr('for','edtAutreFormatHauteur_Int');	
				jQuery('#edtAutreFormatHauteur_Req_Int').attr('id','edtAutreFormatHauteur_Int');					
				/*
				jQuery('#edtAutreFormatLargeur_Int').attr('readonly','readonly');	
				jQuery('#edtAutreFormatLargeur_Int').val('');	
				jQuery('#edtAutreFormatHauteur_Int').attr('readonly','readonly');	
				jQuery('#edtAutreFormatHauteur_Int').val('');	
				*/
			}				
	});
	
	
	
	// forfait photo
	jQuery("#edtForfaitPhoto").bind('click', function(){
		
		if( jQuery(this).attr('checked') )
		{
			jQuery('#edtNbPhotoSup_Int').removeAttr('readonly');
			jQuery('#edtNbPhotoSup_Int').val('');
			
		}else{						
			jQuery('#edtNbPhotoSup_Int').attr('readonly','readonly');	
			jQuery('#edtNbPhotoSup_Int').val('');	
		}	
			
	});
	
	//  gestion des articles
	jQuery("#edtArticlesCount").bind('change', function(){
		doPopulateArticles(jQuery(this).val());										 
	});		
	jQuery("#addArticle").bind('click', function(){
		doAddArticle();									 
	});	
	jQuery("#edtArticle_phare_0").bind('click', function(){
		doAddArticlePhare(jQuery(this),0);									 
	});	
	
	
	// affichage des coins arrondis sur les fieldset
	jQuery('fieldset').corner({
	  tl: { radius: 10 },
	  tr: { radius: 10 },
	  bl: { radius: 10 },
	  br: { radius: 10 },
	  antiAlias: true,
	  autoPad: true,
	  validTags: ["div"] });
	
	jQuery('form').css('margin-top','10px');
	
	// affichage des coins arrondis sur les articles
	jQuery('.article').corner({
	  tl: { radius: 10 },
	  tr: { radius: 10 },
	  bl: { radius: 10 },
	  br: { radius: 10 },
	  antiAlias: true,
	  autoPad: true,
	  validTags: ["div"] });  
  
	jQuery('.article').css('margin-bottom','30px');
	
	// gestion du colorpicker
	jQuery('#edtCouleurDominante_Req').ColorPicker({
		onSubmit: function(hsb, hex, rgb, el) {
			jQuery(el).val(hex);
			jQuery(el).ColorPickerHide();
		},
		onBeforeShow: function () {
			jQuery(this).ColorPickerSetColor(this.value);
		},
		onChange: function (hsb, hex, rgb) {
			jQuery('#edtCouleurDominante_Req').val(hex);
			jQuery('#edtCouleurDominante_Req').css('backgroundColor', '#' + hex);
			jQuery('#edtCouleurDominante_NoReq').val(hex);
			jQuery('#edtCouleurDominante_NoReq').css('backgroundColor', '#' + hex);
		}

	})
	.bind('keyup', function(){
		jQuery(this).ColorPickerSetColor(this.value);
	});	
	
	// champs date
	jQuery("input.calendar").bind('click', function(){
												   
		var date	= '';
		
		if(!window.focus)
			return;
		
		/*if(jQuery(this).val() != '') 
		{
			var tab 	= jQuery(this).val().split('-');
			date 	= '&mois='+tab[1]+'&an='+tab[2];
		}
		*/
		var calendar = window.open('calendar.php?form=orderForm&champs='+jQuery(this).attr('id')+date,'calendar','height=250,width=400,top=100,left=100,scrollbars=no,status=yes,menubar=no,resizable=no');
		calendar.focus();
		//theURL.target = 'calendar';											 
	});
	
	//  gestion des champs requis et soumission 
	myForm.validation();
}

function initAuthForm()
{
	var myForm 		= 	jQuery("#authForm");  
	myForm.validation();			
			
	jQuery('fieldset').corner({
	  tl: { radius: 10 },
	  tr: { radius: 10 },
	  bl: { radius: 10 },
	  br: { radius: 10 },
	  antiAlias: true,
	  autoPad: true,
	  validTags: ["div"] });
	
	jQuery('form').css('margin-top','10px');
		
	//  gestion du type de commande
	jQuery("#edtTypeClient_0").bind('click', function(){	
			jQuery('#edtPwd_Req').next().attr('for','edtPwd');	
			jQuery('#edtPwd_Req').attr('id','edtPwd');	
		});
	
	jQuery("#edtTypeClient_1").bind('click', function(){
			jQuery('#edtPwd').next().attr('for','edtPwd_Req');	
			jQuery('#edtPwd').attr('id','edtPwd_Req');		
		});
	
	jQuery("#edtPwd").bind('change', function(){
			jQuery('#edtTypeClient_1').attr('checked','checked');	
			jQuery('#edtTypeClient_0').removeAttr('checked');		
		});	
	
	jQuery("#edtPwd_Req").bind('change', function(){
		jQuery('#edtTypeClient_1').attr('checked','checked');	
		jQuery('#edtTypeClient_0').removeAttr('checked');		
	});	
	
}

function initAccountForm()
{
	var myForm 		= 	jQuery("#accountForm");  
	myForm.validation();	
	
	jQuery('fieldset').corner({
		  tl: { radius: 10 },
		  tr: { radius: 10 },
		  bl: { radius: 10 },
		  br: { radius: 10 },
		  antiAlias: true,
		  autoPad: true,
		  validTags: ["div"] });
		
	jQuery('form').css('margin-top','10px');	
}




var articles	=	Array();
jQuery(document).ready(function(){		
	
	//initialisation du formulaire
	if(document.getElementById('orderForm') )
	{
		initOrderForm();		
	}	
	
	//initialisation du formulaire
	if(document.getElementById('authForm') )
	{
		initAuthForm();		
	}
	
	//initialisation du formulaire
	if(document.getElementById('accountForm') )
	{
		initAccountForm();				
	}
	
	// affichage des coins arrondis sur les box
	jQuery('div.rounded_box').corner({
	  tl: { radius: 10 },
	  tr: { radius: 10 },
	  bl: { radius: 10 },
	  br: { radius: 10 },
	  antiAlias: true,
	  autoPad: true,
	  validTags: ["div"] });
  
	jQuery('div.submitWrap').corner({
		  tl: { radius: 5 },
		  tr: { radius: 5 },
		  bl: { radius: 5 },
		  br: { radius: 5 },
		  antiAlias: true/*,
		  autoPad: true,
		  validTags: ["div"]*/ });	
	
	jQuery("#cgv").bind('click', function(e){
		e.preventDefault();					
			
		var link = jQuery(this).attr('href');	
		popupCredit(link,'cgv','970','height=650,width=970,top=10,scrollbars=yes,status=no,menubar=no,resizable=no');
	});	
});

