<?xml version="1.0" encoding="UTF-8"?>

<Module>

		<ModulePrefs

			title = "منتديات نادي السيارات"

			author="Hatem Mahmoud, Mostafa Ragab, Wael Shaban and Waleed Saed from eSpace"

			author_email="googlegadgets@espace.com.eg"

			author_affiliation="eSpace"

			description="منتدى نادي السيارات : منتدى يختص بـ صور و فيديو السيارات و آخر اخبار السيارات . صور و فيديو سيارات"

			category="news"

			category2="lifestyle"

			thumbnail="http://vbulletin-gadget.appspot.com/general_images/carsclub_thumbnail.jpg"

			screenshot="http://vbulletin-gadget.appspot.com/general_images/carsclub_preview.jpg">

		<Require feature = "dynamic-height"></Require>

		<locale lang="ALL" language_direction="rtl"/>

    </ModulePrefs>

		

	<UserPref name="contentProvider" default_value="cars-club.maktoob.com" datatype="hidden"/>

	<UserPref name="gadgetTitle" default_value="منتديات نادي السيارات" datatype="hidden"/>

	<UserPref name="rssUrl" default_value="http://cars-club.maktoob.com/vb/external.php" datatype="hidden"/>

	<UserPref name="itemsPerPage" display_name="عدد المواضيع بالصفحة" default_value="10" datatype="enum">

		<EnumValue value="3" />

		<EnumValue value="4" />

		<EnumValue value="5" />

		<EnumValue value="6" />

		<EnumValue value="7" />

		<EnumValue value="8" />

		<EnumValue value="9" />

		<EnumValue value="10" />

	</UserPref>

	

    <Content type = "html">

        <![CDATA[

          <script src="http://www.google.com/js/nxsl.1.js" type="text/javascript"></script>

          <style>

			@import url(http://vbulletin-gadget.appspot.com/style_sheets/General_css.css);

          </style>

          <div class="contentBody" style="font-family:arial;font-size:10pt;">

          <div class="contentBody" style="font-family:arial;font-size:10pt;">

              <!-- content provider -->

              <div class="head">

                  <div class="gadget_logo">

                  </div>

                  <h1>__UP_gadgetTitle__</h1>

              </div>

              <div id="outputArea__MODULE_ID__">

              </div>

          </div>

			<script type="text/javascript">

			  var content_div = _gel('outputArea' + __MODULE_ID__);

			  var offset_width = content_div.offsetWidth;

			  var truncation_length = offset_width / 6.8;

			  truncation_length -= 4;

			  

			  var arabicWeekDays = ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"];

			  var gregMonths = ["يناير" ,"فبراير" ,"مارس" ,"ابريل" ,"مايو" ,"يونيو","يوليو","اغسطس","سبتمبر" ,"اكتوبر","نوفمبر","ديسمبر"];

              function loadContent(){              

                  fetchContent(1);                  

              }

			  

              function generateError()

				{

					var prefs = new _IG_Prefs();

					var div = content_div;

					div.innerHTML = '<div style="padding:10px;">تعذر تحميل البيانات من ' + prefs.getString('contentProvider') + '</div>';					

				}	

				

              function fetchContent(attemptNumber){

                  // fetch the content and update the gadget

                  var div = content_div;

                  

                  var maxAttempts = 5;

                  var attemptText = '';

                  if (attemptNumber > 1) 

                      attemptText = ' (attempt #' + attemptNumber + ')';

                  

                  var prefs = new _IG_Prefs();

                  div.innerHTML = '<div class="loading" style="padding:10px;">تحميل البيانات من ' + prefs.getString('contentProvider') + "<br/>" + attemptText + '...</div>';

                  _IG_FetchXmlContent(prefs.getString('rssUrl'), function(responseXML){

                      if (responseXML) {

                          displayContent(responseXML);

                      }

                      else {

                          if (attemptNumber < maxAttempts) {

                              fetchContent(attemptNumber + 1);

                          }

                          else {

                              generateError(); 

                          }

                      }

                  });

              }

				

				function displayContent(responseXML){                                                                       

                  var div = content_div;

				  div.innerHTML = '';				  

                  

				  if (responseXML == null || typeof(responseXML) != "object" ||

					responseXML.firstChild == null) {

						generateError();

						return ;

					}				 

				  

                  var desiredFields = {};

                  desiredFields['title'] = 'title';

                  desiredFields['link'] = 'link';

                  desiredFields['pubDate'] = 'pubDate';

                  desiredFields['category'] = 'category';                  

				  desiredFields['dc:creator'] = 'dc:creator';

                  

                  displayNextThumb(responseXML, div, desiredFields);                 

              }

              



			  function displayNextThumb(responseXML, outputArea, desiredFields){                  

                  var groups = [];				  

                  var groupNodes = responseXML.getElementsByTagName("item");

                  for (var g = 0; g < groupNodes.length; g++) {

                      var group = [];					  

                      var fieldNodes = groupNodes.item(g).childNodes;

                      for (var f = 0; f < fieldNodes.length; f++) {

                          if (desiredFields[fieldNodes.item(f).nodeName]) {

                              group.push({

                                  fieldName: desiredFields[fieldNodes.item(f).nodeName],

                                  fieldNode: fieldNodes.item(f)

                              });

                          }

                      }

                      

                      groups.push(group);

                  } 

                                    

                  // construct the output

                  output = '';

                  var itemsPerPage = __UP_itemsPerPage__;

                  var currentItemPerPage = 0;

                  var pages = -1;

                  for (var g = 0; g < groups.length; g++) {

                      var group = groups[g];

                      currentItemPerPage += 1;

                      

                      if (currentItemPerPage == 1) {

                          pages += 1;

                          output += '<div dir="rtl" class="main" id="divNextThumb' + pages + '-__MODULE_ID__" ' + (g > 0 ? 'style="display:none;"' : '') + '>';

                      }

                      

                      var groupId = 'dataCell_' + __MODULE_ID__ + '_' + g;

                      

                      output += '<div class="item" id="' + groupId + '">';

                      

                      output += formatGroupContent(group, g);

                      

                      output += '</div>';

                      

                      if (currentItemPerPage < itemsPerPage && g + 1 < groups.length) 

                          continue;

                      else 

                          currentItemPerPage = 0;

                      

                      if ((groups.length / itemsPerPage) > 1) {

                          output += '<div class="footer">';

                          

                          // show a "prev" link

                          output += '<span>';

                          if (pages > 0) {

                              output += '<a href="#" onclick="setGroupNum_nextThumb(' + (pages - 1) + ', ' + pages + '); return false;" class="previous">السابق</a>';

                          }

                          output += '</span>';

                          

                          // show a next link

                          output += '<span>';

                          if (g < groups.length - 1) {

                              output += '<a href="#" onclick="setGroupNum_nextThumb(' + (pages + 1) + ', ' + pages + '); return false;" class="next">التالي</a>';

                          }

                          output += '</span>';

                          

                          output += '</div>';

                      }

                      

                      output += '</div>';

                      

                  }

                  outputArea.innerHTML = output;

                  _IG_AdjustIFrameHeight();

                  

              }  





				function arabicTimeString (date){

					curr_hour = date.getUTCHours();	

					curr_minute = date.getUTCMinutes() ;

					

					if (curr_hour == 0) {

						curr_hour = 12;

					}

					else if (curr_hour > 12){

						curr_hour = date.getUTCHours() - 12;

					}	

					

					if (curr_hour < 10)

						curr_hour = "0" + curr_hour ;



					if (curr_minute < 10)

						curr_minute = "0" + curr_minute ;

						

					if (date.getUTCHours() < 12){

					 a_p = "ص";

					}

					else{

					 a_p = "م";

					}		

										

							

					curr_hour += ":" + curr_minute ;

					

					curr_hour += " " + a_p  + " جرينتش ";

						

					return curr_hour	

				}



			  

              function getArabicDateString(date)

			  {

				var pubDate = new Date(date);

				var stringDate = "";				

				

				wd = arabicWeekDays[pubDate.getUTCDay()];

				d = pubDate.getUTCDate() ;

				m = gregMonths[pubDate.getUTCMonth()];

				y = pubDate.getUTCFullYear() ;

				curr_hour = arabicTimeString(pubDate)

				stringDate = wd + " " + d + " " + m + " " + y + " " + curr_hour				

				return stringDate;

			  }

			  

                function formatGroupContent(group, groupIndex){

			  	  var titleNode = getFieldNode(group, 'title');

				  var forumNode = getFieldNode(group, 'category');				  

				  

                  var title = formatField(titleNode);

                  var forum = formatField(forumNode);

                  var author = getFieldValue(group, 'dc:creator');

				  var date = getFieldValue(group, 'pubDate');

                  var time = "";

				  				  				  

				  truncated_title = title.substring(0,truncation_length);

				  if(truncated_title.length < title.length - 1)

					truncated_title += " ..." ;



				  var linkTitle = "'" + title.replace('"','\"') + "' ";

				  

				  if (getFieldValue(group, 'link')) {

                      title = '<a href="' + getFieldValue(group, 'link') + '" target="_blank" title=' + linkTitle + ' >' + truncated_title + '</a>';

                  }



                  

                  if (title == null) 

                      return '';

                  

                  

                  var groupOutput = '';

                  var groupDetailsId = 'dataCell_' + __MODULE_ID__ + '_' + groupIndex + '_details';

                  groupOutput += '<h2><span><a class="selector" href="#" onclick="toggleShow(' + groupIndex + '); return false;">+</a></span>' + title + '<small class="date">' + getArabicDateString(date) + '</small></h2>' +

                  '<div id="' +

                  groupDetailsId +

                  '" class="item_details" style="display:none">' +

                  '<ul>' +

                  '<li class="forum">المنتدى : ' + '<a target="_blank" href="' + forumNode.getAttribute('domain') + '">' + 

                  forum +

                  '</a></li>' +

                  '<li class="author">الكاتب : ' +

                  author +

                  '</li>' +

                  '</ul></div>';

                  

                  return groupOutput;

              }

              

              function toggleShow(groupIndex){

                  var groupId = 'dataCell_' + __MODULE_ID__ + '_' + groupIndex;

                  var groupDetailsId = 'dataCell_' + __MODULE_ID__ + '_' + groupIndex + '_details';

                  if (_gel(groupDetailsId).style.display == 'none') {

                      _gel(groupDetailsId).style.display = 'block';

                      _gel(groupId).className = 'item selected';

                  }

                  else {

                      _gel(groupDetailsId).style.display = 'none';

                      _gel(groupId).className = 'item';

                  }

                  

                  _IG_AdjustIFrameHeight();

                  

              }

              

              function getFieldValue(group, requiredFieldName){

				  fieldNode = getFieldNode(group, requiredFieldName);

				

	              if (fieldNode != null) {

				  	return formatField(fieldNode);

				  }

				  

	              return null;

              }

			  

			  function getFieldNode(group, requiredFieldName){

                  for (var fieldInstanceNum = 0; fieldInstanceNum < group.length; fieldInstanceNum++) {

                      if (group[fieldInstanceNum] == null) 

                          continue;

                      var fieldName = group[fieldInstanceNum].fieldName;

                      if (fieldName == requiredFieldName) {

                          return group[fieldInstanceNum].fieldNode;

                      }

                  }

                  return null;

			  }

              

              

              function setGroupNum_nextThumb(groupNum, currentGroupNum){

                  // we want to maintain height of the groups as we navigate, so that the

                  // navigation doesn't bounce around, so we set the height of the next group

                  // to whatever the height of this group is.

                  if (groupNum > 0) {

                      //_gel('dataCell_'+__MODULE_ID__+'_'+groupNum).style.height = _gel('dataCell_'+__MODULE_ID__+'_'+currentGroupNum).clientHeight + 'px';

                  }

                  

                  _gel('divNextThumb' + groupNum + '-__MODULE_ID__').style.display = '';

                  _gel('divNextThumb' + currentGroupNum + '-__MODULE_ID__').style.display = 'none';

                  _IG_AdjustIFrameHeight();

              }

              

              

              // takes the name of a field and the field node itself and formats it for displaycontent

              function formatField(fieldNode){

                  var fieldValue = '';

                  if (fieldNode.childNodes[0]) 

                      fieldValue = fieldNode.childNodes[0].nodeValue;

                  

                  if (fieldValue) {

                      return fieldValue;

                  }

                  

                  return '';

              }              

              

              loadContent();

          </script>

        ]]>

    </Content>
    
    
    
    
    
    
    
    <Content type = "html" view="canvas">

        <![CDATA[

          <script src="http://www.google.com/js/nxsl.1.js" type="text/javascript"></script>

          <style>

			@import url(http://vbulletin-gadget.appspot.com/style_sheets/General_css.css);

          </style>

          <div class="contentBody" style="font-family:arial;font-size:10pt;">

          <div class="contentBody" style="font-family:arial;font-size:10pt;">

              <!-- content provider -->

              <div class="head">

                  <div class="gadget_logo">

                  </div>

                  <h1>__UP_gadgetTitle__</h1>

              </div>

              <div id="outputArea__MODULE_ID__">

              </div>

          </div>

			<script type="text/javascript">

			  var content_div = _gel('outputArea' + __MODULE_ID__);

			  var offset_width = content_div.offsetWidth;

			  var truncation_length = offset_width / 6.8;

			  truncation_length -= 4;

			  

			  var arabicWeekDays = ["الأحد", "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت"];

			  var gregMonths = ["يناير" ,"فبراير" ,"مارس" ,"ابريل" ,"مايو" ,"يونيو","يوليو","اغسطس","سبتمبر" ,"اكتوبر","نوفمبر","ديسمبر"];

              function loadContent(){              

                  fetchContent(1);                  

              }

			  

              function generateError()

				{

					var prefs = new _IG_Prefs();

					var div = content_div;

					div.innerHTML = '<div style="padding:10px;">تعذر تحميل البيانات من ' + prefs.getString('contentProvider') + '</div>';					

				}	

				

              function fetchContent(attemptNumber){

                  // fetch the content and update the gadget

                  var div = content_div;

                  

                  var maxAttempts = 5;

                  var attemptText = '';

                  if (attemptNumber > 1) 

                      attemptText = ' (attempt #' + attemptNumber + ')';

                  

                  var prefs = new _IG_Prefs();

                  div.innerHTML = '<div class="loading" style="padding:10px;">تحميل البيانات من ' + prefs.getString('contentProvider') + "<br/>" + attemptText + '...</div>';

                  _IG_FetchXmlContent(prefs.getString('rssUrl'), function(responseXML){

                      if (responseXML) {

                          displayContent(responseXML);

                      }

                      else {

                          if (attemptNumber < maxAttempts) {

                              fetchContent(attemptNumber + 1);

                          }

                          else {

                              generateError(); 

                          }

                      }

                  });

              }

				

				function displayContent(responseXML){                                                                       

                  var div = content_div;

				  div.innerHTML = '';				  

                  

				  if (responseXML == null || typeof(responseXML) != "object" ||

					responseXML.firstChild == null) {

						generateError();

						return ;

					}				 

				  

                  var desiredFields = {};

                  desiredFields['title'] = 'title';

                  desiredFields['link'] = 'link';

                  desiredFields['pubDate'] = 'pubDate';

                  desiredFields['category'] = 'category';                  

				  desiredFields['dc:creator'] = 'dc:creator';

                  

                  displayNextThumb(responseXML, div, desiredFields);                 

              }

              



			  function displayNextThumb(responseXML, outputArea, desiredFields){                  

                  var groups = [];				  

                  var groupNodes = responseXML.getElementsByTagName("item");

                  for (var g = 0; g < groupNodes.length; g++) {

                      var group = [];					  

                      var fieldNodes = groupNodes.item(g).childNodes;

                      for (var f = 0; f < fieldNodes.length; f++) {

                          if (desiredFields[fieldNodes.item(f).nodeName]) {

                              group.push({

                                  fieldName: desiredFields[fieldNodes.item(f).nodeName],

                                  fieldNode: fieldNodes.item(f)

                              });

                          }

                      }

                      

                      groups.push(group);

                  } 

                                    

                  // construct the output

                  output = '';

                  var itemsPerPage = __UP_itemsPerPage__;

                  var currentItemPerPage = 0;

                  var pages = -1;

                  for (var g = 0; g < groups.length; g++) {

                      var group = groups[g];

                      currentItemPerPage += 1;

                      

                      if (currentItemPerPage == 1) {

                          pages += 1;

                          output += '<div dir="rtl" class="main" id="divNextThumb' + pages + '-__MODULE_ID__" ' + (g > 0 ? 'style="display:none;"' : '') + '>';

                      }

                      

                      var groupId = 'dataCell_' + __MODULE_ID__ + '_' + g;

                      

                      output += '<div class="item" id="' + groupId + '">';

                      

                      output += formatGroupContent(group, g);

                      

                      output += '</div>';

                      

                      if (currentItemPerPage < itemsPerPage && g + 1 < groups.length) 

                          continue;

                      else 

                          currentItemPerPage = 0;

                      

                      if ((groups.length / itemsPerPage) > 1) {

                          output += '<div class="footer">';

                          

                          // show a "prev" link

                          output += '<span>';

                          if (pages > 0) {

                              output += '<a href="#" onclick="setGroupNum_nextThumb(' + (pages - 1) + ', ' + pages + '); return false;" class="previous">السابق</a>';

                          }

                          output += '</span>';

                          

                          // show a next link

                          output += '<span>';

                          if (g < groups.length - 1) {

                              output += '<a href="#" onclick="setGroupNum_nextThumb(' + (pages + 1) + ', ' + pages + '); return false;" class="next">التالي</a>';

                          }

                          output += '</span>';

                          

                          output += '</div>';

                      }

                      

                      output += '</div>';

                      

                  }

                  outputArea.innerHTML = output;

                  _IG_AdjustIFrameHeight();

                  

              }  





				function arabicTimeString (date){

					curr_hour = date.getUTCHours();	

					curr_minute = date.getUTCMinutes() ;

					

					if (curr_hour == 0) {

						curr_hour = 12;

					}

					else if (curr_hour > 12){

						curr_hour = date.getUTCHours() - 12;

					}	

					

					if (curr_hour < 10)

						curr_hour = "0" + curr_hour ;



					if (curr_minute < 10)

						curr_minute = "0" + curr_minute ;

						

					if (date.getUTCHours() < 12){

					 a_p = "ص";

					}

					else{

					 a_p = "م";

					}		

										

							

					curr_hour += ":" + curr_minute ;

					

					curr_hour += " " + a_p  + " جرينتش ";

						

					return curr_hour	

				}



			  

              function getArabicDateString(date)

			  {

				var pubDate = new Date(date);

				var stringDate = "";				

				

				wd = arabicWeekDays[pubDate.getUTCDay()];

				d = pubDate.getUTCDate() ;

				m = gregMonths[pubDate.getUTCMonth()];

				y = pubDate.getUTCFullYear() ;

				curr_hour = arabicTimeString(pubDate)

				stringDate = wd + " " + d + " " + m + " " + y + " " + curr_hour				

				return stringDate;

			  }

			  

                function formatGroupContent(group, groupIndex){

			  	  var titleNode = getFieldNode(group, 'title');

				  var forumNode = getFieldNode(group, 'category');				  

				  

                  var title = formatField(titleNode);

                  var forum = formatField(forumNode);

                  var author = getFieldValue(group, 'dc:creator');

				  var date = getFieldValue(group, 'pubDate');

                  var time = "";

				  				  				  

				  truncated_title = title.substring(0,truncation_length);

				  if(truncated_title.length < title.length - 1)

					truncated_title += " ..." ;



				  var linkTitle = "'" + title.replace('"','\"') + "' ";

				  

				  if (getFieldValue(group, 'link')) {

                      title = '<a href="' + getFieldValue(group, 'link') + '" target="_blank" title=' + linkTitle + ' >' + truncated_title + '</a>';

                  }



                  

                  if (title == null) 

                      return '';

                  

                  

                  var groupOutput = '';

                  var groupDetailsId = 'dataCell_' + __MODULE_ID__ + '_' + groupIndex + '_details';

                  groupOutput += '<h2><span><a class="selector" href="#" onclick="toggleShow(' + groupIndex + '); return false;">+</a></span>' + title + '<small class="date">' + getArabicDateString(date) + '</small></h2>' +

                  '<div id="' +

                  groupDetailsId +

                  '" class="item_details" style="display:none">' +

                  '<ul>' +

                  '<li class="forum">المنتدى : ' + '<a target="_blank" href="' + forumNode.getAttribute('domain') + '">' + 

                  forum +

                  '</a></li>' +

                  '<li class="author">الكاتب : ' +

                  author +

                  '</li>' +

                  '</ul></div>';

                  

                  return groupOutput;

              }

              

              function toggleShow(groupIndex){

                  var groupId = 'dataCell_' + __MODULE_ID__ + '_' + groupIndex;

                  var groupDetailsId = 'dataCell_' + __MODULE_ID__ + '_' + groupIndex + '_details';

                  if (_gel(groupDetailsId).style.display == 'none') {

                      _gel(groupDetailsId).style.display = 'block';

                      _gel(groupId).className = 'item selected';

                  }

                  else {

                      _gel(groupDetailsId).style.display = 'none';

                      _gel(groupId).className = 'item';

                  }

                  

                  _IG_AdjustIFrameHeight();

                  

              }

              

              function getFieldValue(group, requiredFieldName){

				  fieldNode = getFieldNode(group, requiredFieldName);

				

	              if (fieldNode != null) {

				  	return formatField(fieldNode);

				  }

				  

	              return null;

              }

			  

			  function getFieldNode(group, requiredFieldName){

                  for (var fieldInstanceNum = 0; fieldInstanceNum < group.length; fieldInstanceNum++) {

                      if (group[fieldInstanceNum] == null) 

                          continue;

                      var fieldName = group[fieldInstanceNum].fieldName;

                      if (fieldName == requiredFieldName) {

                          return group[fieldInstanceNum].fieldNode;

                      }

                  }

                  return null;

			  }

              

              

              function setGroupNum_nextThumb(groupNum, currentGroupNum){

                  // we want to maintain height of the groups as we navigate, so that the

                  // navigation doesn't bounce around, so we set the height of the next group

                  // to whatever the height of this group is.

                  if (groupNum > 0) {

                      //_gel('dataCell_'+__MODULE_ID__+'_'+groupNum).style.height = _gel('dataCell_'+__MODULE_ID__+'_'+currentGroupNum).clientHeight + 'px';

                  }

                  

                  _gel('divNextThumb' + groupNum + '-__MODULE_ID__').style.display = '';

                  _gel('divNextThumb' + currentGroupNum + '-__MODULE_ID__').style.display = 'none';

                  _IG_AdjustIFrameHeight();

              }

              

              

              // takes the name of a field and the field node itself and formats it for displaycontent

              function formatField(fieldNode){

                  var fieldValue = '';

                  if (fieldNode.childNodes[0]) 

                      fieldValue = fieldNode.childNodes[0].nodeValue;

                  

                  if (fieldValue) {

                      return fieldValue;

                  }

                  

                  return '';

              }              

              

              loadContent();

          </script>

        ]]>

    </Content>
    

</Module>
