var mobilelist = new Hash();
var urlToDownload;
//var brandList = new Array('Apple','HTC','Motorola', 'Nokia','Sony-Ericsson','SPV (Orange)');
var brandList = new Array('Apple','HTC','Motorola', 'Nokia','Sony-Ericsson','SPV (Orange)');
function generateName(array){
	return array[0].replace(" ","").toUpperCase()+array[1].replace(" ","").toUpperCase();
}

function initMobileList(){
	//0->brand,1->model,2->1=2d,2=1d2d,3=2dQRcode,4=1d2dqrcode,3->1=DP_PUSH,2=DP_SMS,3=store,4->store_url
	var x;
	x = new Array('Apple','iPhone 1st generation',2,4,'http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=317994657&mt=8');
mobilelist.set(generateName(x),x);
x = new Array('Apple','iPhone 3G',2,4,'http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=317994657&mt=8');
mobilelist.set(generateName(x),x);
x = new Array('Apple','iPhone 3Gs',2,5,'http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=317994657&mt=8');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Advantage X7501',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Diamond 2',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Diamond',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Dream G1',2,3,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','HD',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Hero',2,3,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Magic',2,3,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Mteor',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P3300 (Artemis)',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P3470',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P3600',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P3702',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P4350',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P4500 (TyTN)',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P4550 (TyTN II, Kaiser)',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P6300',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P6500 (Sedna)',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','P6550 (Sirius)',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','S310',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','S620 (MDA Mail)',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','S710',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','S730',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Touch (P3450)',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Touch Cruise (P3650, Polaris)',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Touch Dual',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','Touch Pro',2,2,'');
mobilelist.set(generateName(x),x);
x = new Array('HTC','TyTN (8525)',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('Motorola','Q9 (Moto)',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','3110 Classic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','3250 Classic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5300',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5310 XpressMusic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5320 XpressMusic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5500',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5530 XpressMusic',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5610 XpressMusic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5630 XpressMusic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5700',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5730 XpressMusic',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','5800 XpressMusic',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6086',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6110 (Navigator)',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6120',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6121',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6131',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6151',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6210 (Navigator)',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6220 (Classic)',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6233',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6267',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6288',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6290',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6300',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6301',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6500 classic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6555',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6710(Navigator)',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6720(Classic)',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6760 slide',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6790 slide',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','6790 Surge',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','7373',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','7390',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','7500 (Prism)',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','8600 Luna',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','8800 Arte',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N81',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E50',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E51',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E55',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E60',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E63',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E65',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E66',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E70',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E71',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E72',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E75',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','E90',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N71',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N73',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N73',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N75',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N76',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N77',1,1,'');   
mobilelist.set(generateName(x),x);

x = new Array('Nokia','N78',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N79',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N80',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N82',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N82',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N83',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N85',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N86',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N91',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N93',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N93i',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N95',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','N97',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','Nokia 6124 classic',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','Nokia 6650',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','Nokia 6730(classic)',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Nokia','Nokia E52',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Samsung','BlackJack',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Samsung','SGH-i300',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Samsung','SGH-i320',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Samsung','SGH-i600',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','C702',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','C902',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K510i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K530i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K550i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K600i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K610i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K660i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K770i',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K800i',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K810i',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','K850i',2,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','V640i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W200i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W580i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W610i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W660i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W800i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W810i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W850i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W880i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W890i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W910i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','W910i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('Sony-Ericsson','Z520i',1,1,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','C100',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','C600',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','C700',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','M3000',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','M3100',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','M600',1,2,'');
mobilelist.set(generateName(x),x);
x = new Array('SPV (Orange)','M700',1,2,'');
mobilelist.set(generateName(x),x);

	


}
function displayMobileByBrand(){
	var brandname = $('brand_list').value;
	$('model_list').options.length = 0;
	var y = document.createElement('option');
	y.text = "";
	y.value = "-1";
	
	
	if (brandname == "-1")
	{
		
		return;
	}
	
	
		
	try{
		$('model_list').add(y,null); // standards compliant
	}catch(ex){
		$('model_list').add(y); // IE only
	}
	
	var dv;
	var dvA;
	var keys = mobilelist.keys();
	//$('label_decoder_capacity').style.display = 'none';
	//$('model_list').innerHTML = '';
	//$('store_link_label').style.display = 'none';
	//$('form_signup').style.display = 'none';
	//$('model_list_block').style.display = '';
	
	for(var i=0;i<keys.length;i++)
	{
		var currentMobile = mobilelist.get(keys[i]);
		if (currentMobile[0] == brandList[brandname]){
			
			var y = document.createElement('option');
			y.text = currentMobile[1];
			y.value = keys[i];
		
			try{
				$('model_list').add(y,null); // standards compliant
			}catch(ex){
				$('model_list').add(y); // IE only
			}
		}
	}
	
}

function autoSelectMobile(brand, model){
	var brands = $('brand_list');
	for (var i = 0;i<brands.length;i++){
		if (brand == brands[i].value){
			brands[i].selected = true;
		}
	}
	displayMobileByBrand();
	var models = $('model_list');
	for (var i = 0;i<models.length;i++){
		if (model == models[i].value){
			models[i].selected = true;
		}
	}	
	
	
}
function loadMobileList(url,brand,mobile){
	urlToDownload = url;
	initMobileList();
	
	var keys = mobilelist.keys();
	var dv;
	var dvA;
	
	for(var i=0;i<brandList.length;i++){
	
		
		var y = document.createElement('option');
		y.text = brandList[i];
		y.value = i;
	
		try{
  			$('brand_list').add(y,null); // standards compliant
  		}catch(ex){
  			$('brand_list').add(y); // IE only
  		}
		
		
	}
	
	autoSelectMobile(brand,mobile);

	
	
}
function displayDownloadPage(){
	var key = $('model_list').value;
	var currentMobile = mobilelist.get(key);
	document.location = urlToDownload+"?decoder="+currentMobile[2]+"&store="+currentMobile[3]+"&storeurl="+encodeURI(currentMobile[4])+"&brand="+$("brand_list").value+"&model="+key;
}
function checkfieldsRegistration()
	{
	
	var flagError = false;
	$('txtPasswordReq').hide();
	if ($('password').value == '')
	{
		$('txtPasswordReq').style.display = 'block';
		flagError = true;
	}
	$('txtPasswordConfirmationReq').hide();
	$('txtPasswordConfirmationNoMatch').hide();
	if ($('password_confirmation').value == '')
	{
		$('txtPasswordConfirmationReq').style.display = 'block';
		flagError = true;
	}else{
		if ($('password_confirmation').value != $('password').value)
		{
			$('txtPasswordConfirmationNoMatch').style.display = 'block';
			flagError = true;
		}
	}
	

	
	
	
	if ($('phone').value == '')
	{
		// cache le span d'erreur de format incorrect
		$('txtNoMobileBadFormat').hide();
		
		$('txtNoMobileReq').style.display = 'block';
		$('phone').focus();
		flagError = true;
	}
	else
	{
		// cache le span d'erreur de champ vide
		$('txtNoMobileReq').hide();
		
		/*
		Soit commencer par + ou 00
		Si oui, alors
		Si commence par 33 alors doit commencer par 336 et avoir une longueur de 11 digits (avec le 33)
		Si commence par 41 alors doit commencer par 417 et avoir une longueur de 11 digits (avec le 41)
		*/
		var header ;
		var stringLength ;
		
		var header ;
		var stringLength ;
		
		if ($('phone').value.substr(0,1) == "+") // +33 6 123456789
		{
			header = $('phone').value.substr(1,3) ; //336
			number = $('phone').value.substr(4) ;
			stringLength = $('phone').value.length-3 ;
		}
			
		if ($('phone').value.substr(0,2) == "00") //0033 6 123456798
		{
			header = $('phone').value.substr(2,3) ; //336
			number = $('phone').value.substr(5) ;
			stringLength = $('phone').value.length-4 ;
		}
		
		$isFrance = header.substr(0, 2) == "33" ;
		$isSuisse = header.substr(0, 2) == "41" ;
		$isEngland = header.substr(0, 2) == "44" ;
		
		$isFranceMobile = header == "336" ;
		$isSuisseMobile = header == "417" ;
		$isEnglandMobile = header == "447" ;
		
		$isOkFrance = $isFranceMobile && stringLength == 9 ;
		$isOkSuisse = $isSuisseMobile && (number.substr(0, 1) == "6" || number.substr(0, 1) == "7" || number.substr(0, 1) == "8" || number.substr(0, 1) == "9") && stringLength == 9 ;
		$isOkEngland = $isEnglandMobile && stringLength == 10 ;
		$isOkOthers = !$isFrance && !$isSuisse && !$isEngland && stringLength >= 6 && stringLength <= 13 ;

		if (typeof(header) != 'undefined' && ($isOkFrance || $isOkSuisse || $isOkEngland || $isOkOthers))
		{
			//numéro valide
			$('txtNoMobileBadFormat').hide();	
		}
		else
		{
			$('txtNoMobileBadFormat').style.display = 'block';
			$('phone').focus();
			flagError = true;
		}
	}
		
	if ($('email').value == '')
	{
		$('txtEmailReq').style.display = 'block';
		$('email').focus();
		flagError = true;
	}
	else
		$('txtEmailReq').hide();
	if (!flagError) {
	 $('form').submit();
	}
	return !flagError;
}
