$(document).ready(function() { 
 var src_xml='/Promotion/banner.xml';
 var state=new Array();
 var count=0;
 $.ajax({
 type: "GET",
 url:src_xml,
 dataType:($.browser.msie) ? "text": "xml",
 error:function(xhr,status,errorThrown) {
 alert(errorThrown+'\n'+status+'\n'+xhr.statusText);
 },
 success:function(xml) {
 var xml_var;
 if(typeof xml== "string") {
 xml_var=new ActiveXObject("Microsoft.XMLDOM");
 xml_var.async=false;
 xml_var.loadXML(xml);
 }else{
 xml_var=xml;
 }
 $(xml_var).find('banner').each(function(){
 var banner_type=$(this).attr('type'); 
 var banner_data=$(this).attr('data'); 
 var banner_to=$(this).attr('add-to-write');
 var banner_id=$(this).attr('add_id');
 var banner_tag=$(this).attr('tag');
 var banner_effect=$(this).attr('effect');
 var banner_close_btn=$(this).attr('btn-close');
 var banner_position=$(this).attr('position');
 var banner_display=$(this).attr('display');
 var banner_align=$(this).attr('align');
 var banner_code=$(this).text();
 var curr_date=new Date();
 var day_num=curr_date.getDay();
 var days=new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
 var curr_day=days[day_num];
 var curr_dat=curr_date.getDate();
 var curr_month=curr_date.getMonth() + 1;
 switch(banner_type){
 case'single-day':
 if(banner_data==curr_day){
 $('body').append(banner_code);
 $('#'+banner_tag+', #'+banner_close_btn).css('cursor', 'pointer');
 $('#'+banner_tag).show();
 var Ban_pos= $('#'+banner_tag).getPosition(banner_id,banner_position,banner_align);
 $('#'+banner_tag).setEffect(banner_id,banner_effect,banner_close_btn,banner_display,Ban_pos[0],Ban_pos[1],count);
 }
 break;
 case'multi-day':
 var data_arr=banner_data.split('|');
 for(i=0;i<data_arr.length;i++){
 if(data_arr[i] ==curr_day){
 $('body').append(banner_code);
 $('#'+banner_tag+', #'+banner_close_btn).css('cursor', 'pointer');
 $('#'+banner_tag).show();
 var Ban_pos= $('#'+banner_tag).getPosition(banner_id,banner_position,banner_align);
 $('#'+banner_tag).setEffect(banner_id,banner_effect,banner_close_btn,banner_display,Ban_pos[0],Ban_pos[1],count);
 }
 }
 break;
 case'single-date':
 var data_arr=banner_data.split('-');
 if(data_arr[0]==curr_dat&&data_arr[1]==curr_month){
 $('body').append(banner_code);
 $('#'+banner_tag+', #'+banner_close_btn).css('cursor', 'pointer');
 $('#'+banner_tag).show();
 var Ban_pos= $('#'+banner_tag).getPosition(banner_id,banner_position,banner_align);
 $('#'+banner_tag).setEffect(banner_id,banner_effect,banner_close_btn,banner_display,Ban_pos[0],Ban_pos[1],count);
 } 
 break;
 case'multi-date':
 var data_arr=banner_data.split('|');
 for(i=0;i<data_arr.length;i++){
 var data_sub_arr=data_arr[i].split('-');
 if(data_sub_arr[0]==curr_dat && data_sub_arr[1]==curr_month){
 $('body').append(banner_code);
 $('#'+banner_tag+', #'+banner_close_btn).css('cursor', 'pointer');
 $('#'+banner_tag).show();
 var Ban_pos= $('#'+banner_tag).getPosition(banner_id,banner_position,banner_align);
 $('#'+banner_tag).setEffect(banner_id,banner_effect,banner_close_btn,banner_display,Ban_pos[0],Ban_pos[1],count);
 }
 }
 break;
 case'all':
 $('body').append(banner_code);
 $('#'+banner_tag+', #'+banner_close_btn).css('cursor', 'pointer');
 $('#'+banner_tag).show();
 var Ban_pos= $('#'+banner_tag).getPosition(banner_id,banner_position,banner_align);
 $('#'+banner_tag).setEffect(banner_id,banner_effect,banner_close_btn,banner_display,Ban_pos[0],Ban_pos[1],count);
 break;
 }
 count++;
 });
 }
 });
});
jQuery.fn.extend({
 getPosition:function(ban_id,pos_type,align){
 var tag_H= $(this).height();
 var tag_W= $(this).width();
 var ban_H= $('#'+ban_id).height();
 var ban_W= $('#'+ban_id).width();
 var tag_pos= $(this).offset();
 var tag_T=tag_pos.top;
 var tag_L=tag_pos.left;
 var tag_R=tag_L+tag_W;
 switch(pos_type){
 case'top':
 var ban_T=tag_T-ban_H;
 break;
 case'bottom':
 var ban_T=tag_T+tag_H;
 break;
 }
 switch(align){
 case'center':
 if(ban_W>tag_W){
 var diff=ban_W-tag_W;
 var ban_L=tag_L- (diff/2);
 }else if(ban_W<tag_W){
 var diff=tag_W-ban_W;
 var ban_L=tag_L+ (diff/2);
 }else{
 var ban_L=tag_L;
 }
 break;
 case'left':
 var ban_L=tag_L; 
 break;
 case'right':
 var ban_L=tag_R-ban_W;
 break;
 }
 return Array(ban_T,ban_L);
},
 setEffect:function(ban_id,ban_effect,ban_C_btn,ban_disp,ban_T,ban_L,count){
 state=new Array();
 switch(ban_disp){
 case'dynamic':
 $('#'+ban_id).css({
 'position':'absolute',
 'top':ban_T,
 'left':ban_L,
 'z-index':999,
 'overflow':'hidden'
 })
 switch(ban_effect){
 case'fade':
 state[count]=1;
 $('#'+ban_id).fadeIn();
 $(this).click(function(){
 if(state[count]==1){
 $('#'+ban_id).fadeOut();
 state[count]=0;
 }else{
 $('#'+ban_id).fadeIn();
 state[count]=1;
 }
 })
 $('#'+ban_C_btn).click(function(){
 $('#'+ban_id).fadeOut();
 state[count]=0; 
 })
 break;
 case'slide':
 state[count]=1;
 $('#'+ban_id).slideDown();
 $(this).click(function(){
 $('#'+ban_id).slideToggle();
 })
 $('#'+ban_C_btn).click(function(){
 $('#'+ban_id).slideUp(); 
 })
 break;
 }
 break;
 case'static':
 $(this).hide();
 $('#'+ban_id).css({
 'position':'absolute',
 'top':ban_T,
 'left':ban_L,
 'z-index':999,
 'overflow':'hidden',
 'display':'block'
 })
 break;
 }
}
})
