var customised=new Array();
var custDetailFixField=4;
var havRes=4;
var priceBreak = new Array();
var textTags = new Array();
var priceBreaksFashionTable =false;
var priceListDesc=new Array();

function ShowMainImage(filename,mheight,mwidth,lfilename,lwidth,lheight) {
  var flashObject = document.getElementById('imagezoom');
  var refObject = document.getElementById('reflarge');
  var stdObject = document.getElementById('fashimgshow');
  var paramid = document.getElementById('flashmoveid');
  var embed = document.getElementById('embedid');
  var who=0;
  var height = mheight;
  var width = mwidth;
  var zoomfile =filename;
  
  if(navigator.appName.indexOf("Microsoft") != -1) {
    who = 0;
  }else {
    who = 1;
  }

  var html='';

 if(stdObject) {
   stdObject.src = filename;
  }

 if(flashObject) { 

    if(paramid) {
       if(lfilename !='') zoomfile=lfilename;
       html = 'swf/imagezoom.swf?image='+filename+'&imagebig='+zoomfile+'&imgW='+width+'&imgH='+height;
       paramid.value= html; 
    }
   
   if(flashObject.object) {
     if(flashObject.object.movie) flashObject.object.movie = html;
   }
   
   if(embed) {
     embed.src  = html;
     html=flashObject.innerHTML;
     flashObject.innerHTML= html;
     
   }  
   

  } //flashObject

}


function Dim1Change(style,nodim,rrpdesc,inetdsc,reset) {
 var dim1 = document.getElementById('dim1');
 priceListDesc[0]=rrpdesc;
 priceListDesc[1]=inetdsc;
 priceListDesc[2]=reset;
 prm00000_showPriceBreak02();
 turnoff();
 if(dim1) {
   var dimcode = dim1.options[dim1.selectedIndex].value;
   if(nodim==1) {
   	getStock(style,1,dimcode);
   	var wishbtn = document.getElementById('elm0wishbtn');
   	if(wishbtn) wishbtn.style.display='inline';
   }
   else getDim2(style,dimcode);
 }
}

function getDim2(style,code) {
  var dim2 = document.getElementById('dim2');
  var frm = document.getElementById('style');
  prm00000_showPriceBreak02();
  dim2.disabled=true;
  dim2.selectedIndex=0;
  if(code !='') {
  	var request = new clientRequest('/cmsPath.php','UpdateDim2'); 
  	var p = new Array();
  	p['action']='prm00000~getDim2';
  	p['elm00000_style']=style;
  	p['elm00000_value']=code;
        p['end']=true;
  	request.param = p;   //store the parameters
  	request.invoke();  
  }
}

function UpdateDim2(handle) {
  var dim2  = document.getElementById('dim2');
  var recd = String.fromCharCode(92);
  var field = String.fromCharCode(18);
  var cnt=1;
  var data=httpRequestId[handle].data;
  turnoff();
  
  if(dim2) {
    
    var arry = data.split(recd);
    dim2.length=1;
    for(var idx in arry) {
      var record = arry[idx];
      if(!record.split) continue;
      var fields = record.split(field);
      var value=fields[0];
      var text=value;
      if(fields[1]) text=fields[1];
      dim2.options[cnt]=new Option(text,value);
      cnt++;
    }
    dim2.disabled=false;
  }
}

function Dim2Change(style) {
 var dim2  = document.getElementById('dim2');
 var wishbtn = document.getElementById('elm0wishbtn');
 if(dim2) {
  var dimcode = dim2.options[dim2.selectedIndex].value;
  getStock(style,2,dimcode); 
  if(wishbtn) wishbtn.style.display='inline';
  
 }
}

function getStock(style,dimno,code) {
  prm00000_showPriceBreak02();
  turnoff();
  var dim1='';
  
  if(code !='') {
    var request = new clientRequest('/cmsPath.php','showStock'); 
    var p = new Array();
    if(dimno==1) dim1=code;
    else {
     var dimone = document.getElementById('dim1');
     var dim1 = dimone.options[dimone.selectedIndex].value;
    }
    
    p['action']='prm00000~Dim2Select';
    p['elm00000_style']=style;
    p['elm00000_dim1']=dim1;
    p['elm00000_dim2']=code;
    p['end']=true;
    request.param = p;   //store the parameters
    request.invoke();  
    
  }
  
}

function setOrderQty() {
 var buybutton01 =  document.getElementById('buybutton01');
 var ordqty = document.getElementById('orderqty01');
 var orderqty = document.getElementById('orderqty');
 var cnt=0;
 var max=customised[1]*1;
 ordqty.innerHTML='';
 ordqty.length=0;

 if(max>0) {
      for(var i=1;i<=max;i++) {
         ordqty.options[cnt]=new Option(i,i);        
         cnt++;     
       }
       buybutton01.style.display='inline';
       ordqty.style.display='inline';
       orderqty.style.display = 'inline';
  }
  else {
     alert("You have the Maximum allowed Quantity for this product in your basket");
   }
}

  function showTagLines() { 
	  if($('pers2Tag')){
		 $('pers2Tag').show();
	  }
  }

function initTagLines(tagData){
	if($('perbox4')){ 
		$('tagLines').innerHTML = tagData;
		var ins = $$('#perbox4','#perbox1');
		ins.invoke('enable');
		ins.invoke('show');
		//$('perbox4').enable();			
		//$('perbox1').enable();
	}
}

function showStock(handle) {
  var recd = String.fromCharCode(92);
  var field = String.fromCharCode(18);
  var res   =  httpRequestId[handle].data;
  var data  = '';
  var hasTag  = false;
  var ims = $$('input[id^=per]');
  
  if(res.isJSON()){
		var result  = res.evalJSON(true);
		var tagData = result.tag;
		var data    = result.customised;	
		ims.invoke('disable');
	    initTagLines(tagData);
		hasTag      = true;
  }else{
	  data       = res;	
	  ims.invoke('enable');
	  $('perbox4').disable();
  }
  
  customised = data.split(recd);
  var temp=customised[2].split(field);
  temp[0] *=1;
  temp[1] *=1;
  temp[2] *=1;
  var CanCustomise=((temp[0]>0) || hasTag) ? true : false;
  var numPresets = 0;
  var custMess = false;
  var resDiv    = document.getElementById('elm00resources');
  var totalRes =  customised[havRes];
  totalRes     = totalRes*1;
  if(totalRes>0){
        var start     = (havRes*1) + 1;
        var stop      = start  + totalRes;
	var resources = getResources(customised,start,stop,field);	
	resDiv.style.display='inline';
	resDiv.innerHTML = resources;
  }else {
	resDiv.style.display='none';
  }
  
  if(CanCustomise) custDetailFixField= temp[0];
  if((customised[1]*1)==0) CanCustomise=false;
  if(customised[custDetailFixField] &&  customised[custDetailFixField]==1) custMess=true;
  showOutOffStockMsg();
  if(customised[custDetailFixField+3]) numPresets = customised[custDetailFixField+3]*1;
  if(CanCustomise) showSelectCustomise(custMess,numPresets, hasTag);
  else {
    var pricedisp =  document.getElementById('pricedisp');
    var rrpprice=document.getElementById('rrpprice');
    var priceDet=customised[temp[2]].split(field);
    priceDet[0] *=1;
    var data = customised[0];
    if(priceDet[0]==1) { 
      data='<span>'+priceListDesc[1]+' </span>'+ data;
      if(rrpprice) {
       rrpprice.innerHTML ='<span>'+ priceListDesc[0]+ ' </span>' + priceDet[1];
       rrpprice.style.visibility='';
      }
    } 
    else {
     if(rrpprice) rrpprice.style.visibility='hidden';
    }
    pricedisp.innerHTML = data;
    setOrderQty();
  }
  if(temp[1]>0) prm00000_showPriceBreak(temp[1]);
 }
 
 function getResources(arry,start,stop,field){
	var output = '<dl class="elm00resources"><dt>' +textTags['TITLE6']+ '</dt>';
	for(var i=start; i < stop; i++){
		var res   = arry[i];
		var items = res.split(field);
		output    = output + "<dd class='elm00resource'><img src='images/icons/"  + items[0]  + ".gif' alt='' /><a href='" + items[3] + "'>" + items[2] + "</a></dd>";	
		//output  = arry[5] + 'start=' + start + 'stop=' + stop	;	
	}
	output = output + '</dl>';
	return output;
 }

 function turnoff() {
  var drawImage = document.getElementById('drawImage');
  var pertitle =  document.getElementById('pertitle');
  var pre0 =  document.getElementById('per0');
  var pre1 =  document.getElementById('per1');
  var pre2 =  document.getElementById('per2');
  var preset = document.getElementById('preset');
  var perbox1 =  document.getElementById('perbox1');
  var perbox2 =  document.getElementById('perbox2');
  var perbox3 =  document.getElementById('perbox3');
  var letterstyle = document.getElementById('letterstyle');
  var custommsg = document.getElementById('custommsg');
  var additem = document.getElementById('additem');
  var buybutton01 =  document.getElementById('buybutton01');
  var previewimg = document.getElementById('previewimg');
  var perchg =  document.getElementById('percharge01');
  var orderqty = document.getElementById('orderqty');
  var msg = document.getElementById('msgid');
  var pricedisp=document.getElementById('pricedisp');;
  var rrpprice=document.getElementById('rrpprice');
  msg.style.display = 'none';
  var temp=priceListDesc[2].split(String.fromCharCode(2));  
  temp[3] *=1;
  if(pricedisp) {
   if(temp[3]==1) pricedisp.innerHTML = '<span>'+priceListDesc[1] + '</span> ' + temp[2] + ' '+temp[0];
   else pricedisp.innerHTML  = temp[2] + ' ' + temp[0];
  }
  if(rrpprice) {
    if(temp[3]==0) rrpprice.style.visibility='hidden';
    else {
     rrpprice.style.visibility='';
     rrpprice.innerHTML='<span>'+ priceListDesc[0]+'</span>' + ' ' + temp[1];
    }
  }
 
  drawImage.style.display='none';
  if(pertitle) pertitle.style.display='none';
  if(pre0) pre0.style.display='none';
  if(pre1) pre1.style.display='none';
  if(pre2) pre2.style.display='none';
  if(preset) preset.style.display='none';
  if(letterstyle) letterstyle.style.display= 'none';
  if(custommsg) custommsg.style.display='none';
  buybutton01.style.display='none';
  if(previewimg) previewimg.style.display='none';
  if(perchg) perchg.style.display='none';
  if(orderqty) orderqty.style.display='none';
  if(additem) additem.style.display='none';
  
  if(perbox1) perbox1.checked=true;
  if(perbox2) perbox2.checked=false;
  if(perbox3) perbox3.checked=false;
  //=========== Pers 2 tas =========
	hidePers2Tag();
 }
 function hidePers2Tag(){
  if($('per4')){
  	$('per4').hide();
  	$('pers2Tag').hide();
  }	 
 }
 
 function turnOffAdditems() {
  var idno='';
  var idparts;
  var tables = document.getElementsByTagName("div");
    
  for(var tbl in tables) {
     
     idno='';
     
     if(tables[tbl].id) {
      
      idno=tables[tbl].id;
      idparts = idno.split('~');
     
      if(idparts.length && idno !='' && idparts.length ==2) {
        if(idparts[0]=='table') {
          var j=0;
          tables[tbl].style.display='none';
         }
      }
      
     }
  }
  
  
 }
 

 
 function showSelectCustomise(custMess,npreset, hasTags) {
  var pertitle = document.getElementById('pertitle');
  var pre0 =  document.getElementById('per0');
  var pre1 =  document.getElementById('per1');
  var pre2 =  document.getElementById('per2');

  
  var buybutton01 =  document.getElementById('buybutton01');
  var ordqty = document.getElementById('orderqty01');
  var pricedisp =  document.getElementById('pricedisp');
  var field = String.fromCharCode(18);
  

  pertitle.style.display='block';
  pre0.style.display='block';
  if(npreset==0) custMess = true;
  if(npreset>0 && !hasTags)  pre1.style.display='block';
  if(custMess && !hasTags)  pre2.style.display='block';
  
  //=========== pers with tag lines
  if( hasTags){
  	$('per4').show();
  }
  
  setOrderQty(); 
  ordqty.style.display='inline'; 
  ordqty.value=1;
  var data = customised[0];
  pricedisp.innerHTML =  data;
 }  
 
 function customisationType(tag) {
  var drawImage = document.getElementById('drawImage');
  var perbox1 =  document.getElementById('perbox1');
  var perbox2 =  document.getElementById('perbox2');
  var perbox3 =  document.getElementById('perbox3');
  var preset = document.getElementById('preset');
  var presetlist = document.getElementById('presetlist');
  var custommsg = document.getElementById('custommsg');
  var additem = document.getElementById('additem');
  var letterstyle = document.getElementById('letterstyle');
  var lettering =  document.getElementById('lettering');
  var previewimg = document.getElementById('previewimg');
  var buybutton01 =  document.getElementById('buybutton01');
  var ordqty = document.getElementById('orderqty01');
  var oqty = document.getElementById('orderqty');
  var idx=custDetailFixField+4;
  var field = String.fromCharCode(18);
  var cnt=0;
  var numadditem=0;
  
  var msg = document.getElementById('msgid');
  msg.style.display = 'none';
  
  ordqty.style.display='none';
  if(additem) additem.style.display='none';
  preset.style.display='none';
  custommsg.style.display='none';
  letterstyle.style.display='none';
  if(oqty) oqty.style.display='none';
  
  showOutOffStockMsg();
  
  if(perbox1.checked) {
   $('pers2Tag').hide(); // pers2 taglines
   previewimg.style.display='none';
   ordqty.style.display='inline';
   ordqty.value=1;
   buybutton01.style.display='inline';
   var perchg =  document.getElementById('percharge01');
   perchg.style.display='none';
   setOrderQty();
  }
  
  if(perbox3.checked) {
    setMessageSize();
    custommsg.style.display='block';
  }
  
  if($('perbox4').checked){
	showTagLines(); 
	setOrderQty();
  }
  
  if(! perbox1.checked && !tag) {
     drawImage.style.display='block';
     var numpresets = customised[custDetailFixField+3]*1;
     previewimg.style.display='inline';
     buybutton01.style.display='none';
     presetlist.length=0;
     var tot=(idx+numpresets);
     for(var i=idx;i<tot;i++) {
      var data = customised[i]; 
      var fld = data.split(field);
      var text=fld[1];
      var value=fld[0];
      presetlist.options[cnt]=new Option(text,value);
      cnt++;
      idx++;
     }
     
     if(perbox2.checked)  preset.style.display='block';
     var numStyles=customised[idx]*1;
     idx++;
     if(numStyles>0) {
        var tot=(idx+numStyles);
        cnt=0;
        lettering.length=0;
        for(var i=idx;i<tot;i++) {
        	var data = customised[i]; 
		var fld = data.split(field);
		var text=fld[1];
		var value=fld[0];
		lettering.options[cnt]=new Option(text,value);
	        cnt++;
      		idx++;
        }
         letterstyle.style.display='block'; 
      } //we have lettering
     
     
  	numadditem = customised[idx]*1;
  	idx++;
  	if(numadditem>0) {
  	  var tot=(idx+numadditem);
  	  turnOffAdditems();
  	  for(var i=idx;i<tot;i++) {
  	    var txt='';
  	    var data=customised[i];
  	    var idno="table~"+data;
  	    var addpno = document.getElementById(idno);
  	    if(addpno) {
  	      idno="radio~"+data;
  	      TurnTheRadioOn(addpno,idno,numadditem);   
  	    } 
  	  }
  	  
  	  if(additem) additem.style.display='block';
  	  
  	} //we have addtional products
  
  } //we want to customise.
  
 }
 
 function TurnTheRadioOn(addpno,idno,numadditem) {
 
   var radio=document.getElementById(idno);
   var who=0;
     
   if(navigator.appName.indexOf("Microsoft") != -1) {
         who = 0;
    }else {
         who = 1;
    }
   
   if(numadditem==1) {
     if(who>0) radio.type='checkbox';
     else {
      var temp=radio.outerHTML;
      var piece=temp.split("type=radio");
      if(piece[1]) radio.outerHTML=piece[0]+'type=checkbox'+piece[1];
      
     }
   }
   addpno.style.display='block';
   if(numadditem>1) {
     	idno="table~";
     	var taddpno = document.getElementById(idno);
   	if(taddpno) taddpno.style.display='block';
   }
 }
 
 function setMessageSize() {
   var customtxt = document.getElementById('customtxt');
   var customnum = document.getElementById('customnum');
   var maxtxt = customised[custDetailFixField+2]*1;
   var maxnum = customised[custDetailFixField+1]*1;
   var size = 20;
   var cnt=0;
   if(maxtxt<size) size=customised[custDetailFixField+1];
   else size="20";
   customnum.length=0;
   var max=1;
   for(var i=1;i<=maxnum;i++) max=max*10; 
   max -=1;
   for(var i=0;i<max;i++) {
    var text=""+(i+1);
    customnum.options[cnt]=new Option(text,text);
    cnt++;
   }
   
   customtxt.size=size;
   customtxt.maxLength=customised[custDetailFixField+2];
   
 }
 
 function getAddPno() {
    var tables = document.getElementsByTagName("div");
    var idno='';
    var idparts='';
    var result='';
    
     for(var tbl in tables) {
         
         idno='';
         if(tables[tbl].id) {
          
          idno=tables[tbl].id;
          idparts = idno.split('~');
         
          if(idparts.length && idno !='' && idparts.length ==2) {
            if(idparts[0]=='table') {
             idno="radio~"+idparts[1];
  	     var radio=document.getElementById(idno);
  	     if(radio && radio.checked) {
  	       result=radio.value;
  	       return result;
  	     }
            }
          }
          
         }
   }
   return result;
 }
 
 function getChoice() {
   var perbox1 =  document.getElementById('perbox1');
   var perbox2 =  document.getElementById('perbox2');
   var perbox3 =  document.getElementById('perbox3');
   var result=0;
   
   if(perbox2.checked) return 1;
   if(perbox3.checked) return 2;
   
   return 0;
 }
 
 function noBuyButton() {
    var buybutton01 =  document.getElementById('buybutton01'); 
    var perchg =  document.getElementById('percharge01');
    var msg = document.getElementById('msgid');
    if(buybutton01.style.display=='inline') buybutton01.style.display='none';
    if(perchg) perchg.style.display='none';
    if(msg) msg.style.display.none;
 }
 
 function showOutOffStockMsg() {
  msg=customised[3];
  var msgid = document.getElementById('msgid');
  
  if(msgid) {
   msgid.style.display= 'none';
   if(msg !='') {
     msgid.innerHTML=msg;
     msgid.style.display = 'inline';
   }
  }
  
 }
 
 function preview(style) {
   var additionalItem= getAddPno();
   var customtxt = document.getElementById('customtxt');
   var customnum = document.getElementById('customnum');
   var lettering =  document.getElementById('lettering');
   var txt='';
   var numb=''
   var preset =0;
   var choice=getChoice();
   var dimone = document.getElementById('dim1');
   var dimtwo = document.getElementById('dim2');
   var dim1='';
   var dim2='';
   var lstyle='';
   
   
   if (choice==1) {
    var presetlist = document.getElementById('presetlist');
    if(presetlist && presetlist.length>0) {
      preset = presetlist.options[presetlist.selectedIndex].value;
    }
   }
   
   if(choice ==2) {
     txt=customtxt.value;
     numb=customnum.options[customnum.selectedIndex].value;
   }
   
   if(dimone && dimone.length>0) {
     dim1=dimone.options[dimone.selectedIndex].value;
   }
   
   if(dimtwo && dimtwo.length>0) {
      dim2=dimtwo.options[dimtwo.selectedIndex].value;
   }
   
   if(lettering && lettering.length>0) {
    lstyle=lettering.options[lettering.selectedIndex].value;
   }
   
   var p=new Array();
   p['action']='prm00000~Preview';
   p['elm00000_style']=style;
   p['elm00000_dim1']=dim1;
   p['elm00000_dim2']=dim2;
   p['elm00000_choice'] = "" + choice;
   p['elm00000_preset']=preset;
   p['elm00000_txt']=txt;
   p['elm00000_number']=numb;
   p['elm00000_lstyle']=lstyle;
   p['elm00000_addpno']= additionalItem;
   p['end']=true;
   getCharge(p);
   
 }
 
 function getCharge(p) {
  var request = new clientRequest('/cmsPath.php','showCharge');
  request.param = p;   //store the parameters
  request.invoke(); 
 }
 
 function showCharge(handle) {
  var field = String.fromCharCode(18);
  var recd = String.fromCharCode(92);
  var data =httpRequestId[handle].data;
  var records=data.split(recd);
  var fld=records[0].split(field);
  //records[1] - font Detail
  //records[2] - shirt text
  //records[3] - shirt number
  if(records[1] !='') FashionShirtText(records[1],records[2],records[3]);
  if(fld[0]==1) alert(fld[1]);
  else {
   var perchg =  document.getElementById('percharge01');
   var percost = document.getElementById('percharge02');
   var buybutton01 =  document.getElementById('buybutton01'); 
   percost.innerHTML = fld[1];
   perchg.style.display='block';
   buybutton01.style.display='inline';
  }
  
 }
 
 function FashionShirtText(fontinfo,text,number) {
   var fontDetail = fontinfo.split("~");
   var backimage=document.getElementById('backimage');
   if(backimage) {
     var src=backimage.src;
     var param=src.split("filename=");
     var temp=param[1].split("&");
     var file=temp[0];
     param=src.split("?");
     var url=param[0];
     param=undefined;
     temp=undefined;
     url += '?filename='+escape(file)+'&text='+escape(text)+'&numb='+number+'&fontname='+escape(fontDetail[0]);
     url +='&colour='+escape(fontDetail[1])+'&size='+fontDetail[2];
     backimage.src=url;
   }
 }
 
 function popupMyImage(url, name, features) 
 { 
 //Launch a new window 
 win = window.open(url,name,features);
 win.moveTo(50,50);  
 } 


function prm00000_showPriceBreak(offset) {
  var count=customised[offset]*1;
  var prm00000_pbrkt=document.getElementById('prm00000_pbrkt');
  var prm00000_pbrk=document.getElementById('prm00000_pbrk');
  var child;
  var tr;
  var td;
  var txt;
  var data;
  var field = String.fromCharCode(18);
  if(prm00000_pbrk) { 
	 while(prm00000_pbrkt.childNodes[1]) {
	  child=prm00000_pbrkt.childNodes[1];
	  prm00000_showPriceBreak01(child);
	  prm00000_pbrkt.removeChild(child);
	 }
	 for(var i=1;i<=count;i++) {
	  data=customised[offset+i];
	  var value=data.split(field);
	  tr=document.createElement("TR");
	  td=document.createElement("TD");
	  td.className='elm45tableText';
	  td.innerHTML=value[0];
	  tr.appendChild(td);
	  td=document.createElement("TD");
	  td.className='elm45tableText';
	  td.innerHTML=value[1];
	  tr.appendChild(td);
	  prm00000_pbrkt.appendChild(tr);
	 }
	 if(count>0) {
	  prm00000_pbrk.style.display='block';
	  priceBreaksFashionTable=true;
	 }
	 else 
	 {
	   prm00000_showPriceBreak02()
	 }
 }	 
}

function prm00000_showPriceBreak02() {
 var prm00000_pbrk=document.getElementById('prm00000_pbrk');
 if(prm00000_pbrk && priceBreaksFashionTable) {
  prm00000_pbrk.style.display='none';
  priceBreaksFashionTable=false;
 }
}

function prm00000_showPriceBreak01(obj) {
 var child;
 while(obj.lastChild) {
   child = obj.lastChild;
   prm00000_showPriceBreak01(child);
   obj.removeChild(child);
 }
}